Need a little help identifying whether or not we are calculating level-ups properly. These calcs have been in code for a long time, and I plan to convert them to Rules, and would like input on what base + ratio values are considered "default".
Here is how skill/attribs are calculated currently:
Code: Select all
GetPlayer()->SetTotalHPBase(new_level*new_level*2+40);
GetPlayer()->SetTotalPowerBase((sint32)(new_level*new_level*2.1+45));
GetPlayer()->CalculateBonuses();
GetPlayer()->SetHP(GetPlayer()->GetTotalHP());
GetPlayer()->SetPower(GetPlayer()->GetTotalPower());
GetPlayer()->GetInfoStruct()->agi_base = new_level*2+15;
GetPlayer()->GetInfoStruct()->intel_base = new_level*2+15;
GetPlayer()->GetInfoStruct()->wis_base = new_level*2+15;
GetPlayer()->GetInfoStruct()->str_base = new_level*2+15;
GetPlayer()->GetInfoStruct()->sta_base = new_level*2+15;
GetPlayer()->GetInfoStruct()->cold_base = (int16)(new_level*1.5+10);
GetPlayer()->GetInfoStruct()->heat_base = (int16)(new_level*1.5+10);
GetPlayer()->GetInfoStruct()->disease_base = (int16)(new_level*1.5+10);
GetPlayer()->GetInfoStruct()->mental_base = (int16)(new_level*1.5+10);
GetPlayer()->GetInfoStruct()->magic_base = (int16)(new_level*1.5+10);
GetPlayer()->GetInfoStruct()->divine_base = (int16)(new_level*1.5+10);
GetPlayer()->GetInfoStruct()->poison_base = (int16)(new_level*1.5+10);
GetPlayer()->SetHPRegen((int)(new_level*.75)+(int)(new_level/10)+3);
GetPlayer()->SetPowerRegen(new_level+(int)(new_level/10)+4);
GetPlayer()->GetInfoStruct()->poison_base = (int16)(new_level*1.5+10);
GetPlayer()->GetSkills()->SetSkillCapsByType(1, 5*new_level);
GetPlayer()->GetSkills()->SetSkillCapsByType(3, 5*new_level);
GetPlayer()->GetSkills()->SetSkillCapsByType(6, 5*new_level);
GetPlayer()->GetSkills()->SetSkillCapsByType(13, 5*new_level);
Consider whether or not allowing customization might "break" functionality, too. Ie., we do not want some admin saying you get new_level * 1000 + 1bil because you know people will do that
Thanks