diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/map/status.c b/src/map/status.c index ef7527fe5..d437aea01 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -7367,10 +7367,10 @@ static int status_natural_heal(struct block_list* bl, va_list args) rate = natural_heal_diff_tick*(regen->rate.hp+bonus); if (ud && ud->walktimer != -1) rate/=2; - regen->tick.hp += rate; + // Homun HP regen fix (they should regen as if they were sitting (twice as fast) + if(bl->type==BL_HOM) rate *=2; - // Homun HP regen fix (they should regen as if they were sitting (twice as fast) - if(bl->type==BL_HOM) regen->tick.hp *=2; + regen->tick.hp += rate; if(regen->tick.hp >= (unsigned int)battle_config.natural_healhp_interval) { @@ -7387,10 +7387,11 @@ static int status_natural_heal(struct block_list* bl, va_list args) //Natural SP regen if(flag&RGN_SP) { - regen->tick.sp += natural_heal_diff_tick*(regen->rate.sp+bonus); + rate = natural_heal_diff_tick*(regen->rate.sp+bonus) + // Homun SP regen fix (they should regen as if they were sitting (twice as fast) + if(bl->type==BL_HOM) rate *=2; - // Homun HP regen fix (they should regen as if they were sitting (twice as fast) - if(bl->type==BL_HOM) regen->tick.sp *=2; + regen->tick.sp += rate; if(regen->tick.sp >= (unsigned int)battle_config.natural_healsp_interval) { |