Code: Select all
void CUnit::ExperienceChange()
{
logExperience=log(experience+1);
limExperience=1-(1/(experience+1));
power=unitDef->power*(1+limExperience);
reloadSpeed=(1+limExperience*0.4);
float oldMaxHealth=maxHealth;
maxHealth=unitDef->health*(1+limExperience*0.7);
health+=(maxHealth-oldMaxHealth)*(health/oldMaxHealth);
}

The vertical axes are multipliers. So the power is at best doubled, the reload speed is at best 1.7 times better, and the max health is at best 1.4 times higher.
Note that these are limits when the experience goes to infinity, so you'll never get at those numbers.
The accuracy is also increased, but this varies from weapon to weapon.