diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 5606eb7ae..cbee0b000 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5245,6 +5245,18 @@ int pc_skillheal_bonus(struct map_session_data *sd, int skill_num) { int i, bonus = sd->add_heal_rate; + if( bonus ) + { + switch( skill_num ) + { + case AL_HEAL: if( !(battle_config.skill_add_heal_rate&1) ) bonus = 0; break; + case PR_SANCTUARY: if( !(battle_config.skill_add_heal_rate&2) ) bonus = 0; break; + case AM_POTIONPITCHER: if( !(battle_config.skill_add_heal_rate&4) ) bonus = 0; break; + case CR_SLIMPITCHER: if( !(battle_config.skill_add_heal_rate&8) ) bonus = 0; break; + case BA_APPLEIDUN: if( !(battle_config.skill_add_heal_rate&16) ) bonus = 0; break; + } + } + ARR_FIND(0, ARRAYLENGTH(sd->skillheal), i, sd->skillheal[i].id == skill_num); if( i < ARRAYLENGTH(sd->skillheal) ) bonus += sd->skillheal[i].val; |