More on this -
If you take the following code in client_process.cpp:
Code:
void Client::DoHPRegen() {
sint32 normal_regen = LevelRegen();
sint32 item_regen = itembonuses.HPRegen;
sint32 spell_regen = spellbonuses.HPRegen;
sint32 total_regen = normal_regen + item_regen + spell_regen;
total_regen = (total_regen * RuleI(Character, HPRegenMultiplier)) / 100;
SetHP(GetHP() + total_regen);
SendHPUpdate();
and change it to:
Code:
void Client::DoHPRegen() {
total_regen = 10;
SetHP(GetHP() + total_regen);
SendHPUpdate();
it works, you regen 10 per tick.
So, something is getting screwed up in that code. I know HPRegenMultiplier isn't it because I tried removing that and testing it. I'll do further testing and report which funtion is causing it. That's about as far as my knowledge will go though.