diff options
author | shennetsind <ind@henn.et> | 2013-02-15 14:10:50 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-02-15 14:10:50 -0200 |
commit | 2c13a2a2dab83b3471bf5ce24371259012036e19 (patch) | |
tree | 04756c66a730e7f72ae257586a577c951666e349 /src/map/battle.c | |
parent | a244b61804209ec8a836d8d3f1b7220b2bfec990 (diff) | |
download | hercules-2c13a2a2dab83b3471bf5ce24371259012036e19.tar.gz hercules-2c13a2a2dab83b3471bf5ce24371259012036e19.tar.bz2 hercules-2c13a2a2dab83b3471bf5ce24371259012036e19.tar.xz hercules-2c13a2a2dab83b3471bf5ce24371259012036e19.zip |
Adjusted 'adjust_skill_damage' Mapflag
The flag is now respected by all unit types, not only players. This also fixes a previous problem as reported by exneval (Thanks!)
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 460826414..a6605da5e 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3104,13 +3104,12 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo break; } - if( sd ) - { + if( (i = battle_adjust_skill_damage(src->m,skill_id)) ) + ATK_RATE(i); + + if( sd ) { if (skill_id && (i = pc_skillatk_bonus(sd, skill_id))) ATK_ADDRATE(i); - - if( (i = battle_adjust_skill_damage(sd->bl.m,skill_id)) ) - ATK_RATE(i); if( skill_id != PA_SACRIFICE && skill_id != MO_INVESTIGATE && skill_id != CR_GRANDCROSS && skill_id != NPC_GRANDDARKNESS && skill_id != PA_SHIELDCHAIN && !flag.cri ) { //Elemental/Racial adjustments @@ -4094,7 +4093,7 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list if ((i = pc_skillatk_bonus(sd, skill_id))) ad.damage += ad.damage*i/100; - if( (i = battle_adjust_skill_damage(sd->bl.m,skill_id)) ) + if( (i = battle_adjust_skill_damage(src->m,skill_id)) ) MATK_RATE(i); //Ignore Defense? @@ -4477,7 +4476,7 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * if (sd && (i = pc_skillatk_bonus(sd, skill_id))) md.damage += md.damage*i/100; - if( (i = battle_adjust_skill_damage(sd->bl.m,skill_id)) ) + if( (i = battle_adjust_skill_damage(src->m,skill_id)) ) md.damage = md.damage * i / 100; if(md.damage < 0) |