summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c12
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;