From 2c13a2a2dab83b3471bf5ce24371259012036e19 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Fri, 15 Feb 2013 14:10:50 -0200 Subject: 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 --- src/map/battle.c | 13 ++++++------- 1 file 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) -- cgit v1.2.3-60-g2f50