diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-07-04 23:22:12 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-07-04 23:22:12 +0800 |
commit | 83e3b8d22acc73aeaafbf2a95e1fb9e6b228a63a (patch) | |
tree | 08c8dc134b36176461531e29c4a5f247937f38e5 /src/map/battle.c | |
parent | 38ad0593dd7d6c3357c2a2219fe59122969c84b9 (diff) | |
download | hercules-83e3b8d22acc73aeaafbf2a95e1fb9e6b228a63a.tar.gz hercules-83e3b8d22acc73aeaafbf2a95e1fb9e6b228a63a.tar.bz2 hercules-83e3b8d22acc73aeaafbf2a95e1fb9e6b228a63a.tar.xz hercules-83e3b8d22acc73aeaafbf2a95e1fb9e6b228a63a.zip |
Fixed Bug#7459
-where 'working in progress' state is not cancel in change map/teleport.
Fixed Bug#7265
-where casting AL_INCAGI into chars force them to stand where it now suppose to be.
Fixed Bug#7337
-fixed some skills that deals 'work in progress' state.
Fixed Bug#7467
-fixed compiling warning message.
Renewal Updates
-Temporary fix for skills final damage reduction.
-Updated NJ_KUNAI to its renewal formula.
-Updated/Fixed some interface messages.
-Implemented additional new 3rd job skills(GN_ILLUSIONDOPING,RK_LUXANIMA,SO_ELEMENTAL_SHIELD,SC_ESCAPE)
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 1d14c1828..a1c0a01d3 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -443,9 +443,8 @@ int battle_calc_weapon_damage(struct block_list *src, struct block_list *bl, uin eatk += 200; #ifdef RENEWAL_EDP if( sc->data[SC_EDP] && skill_id != AS_GRIMTOOTH && skill_id != AS_VENOMKNIFE && skill_id != ASC_BREAKER ){ - eatk = eatk * sc->data[SC_EDP]->val3 / 100; // 400% - damage = damage * sc->data[SC_EDP]->val4 / 100; // 500% - damage--; // temporary until we find the correct formula [malufett] + eatk = eatk * sc->data[SC_EDP]->val4 / 100; + damage += damage * sc->data[SC_EDP]->val3 / 100; } #endif } @@ -4401,11 +4400,13 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list ATK_ADD(-totaldef); if( is_boss(target) ) ATK_RATE(50); + RE_SKILL_REDUCTION(); } break; case NJ_SYURIKEN: // [malufett] GET_NORMAL_ATTACK( (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0) ); wd.damage += battle->calc_masteryfix(src, target, skill_id, skill_lv, 4 * skill_lv + (sd ? sd->bonus.arrow_atk : 0), wd.div_, 0, flag.weapon) - status_get_total_def(target); + RE_SKILL_REDUCTION(); break; case MO_EXTREMITYFIST: // [malufett] { @@ -4415,6 +4416,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list wd.damage = (250 + 150 * skill_lv) + (10 * (status_get_sp(src)+1) * wd.damage / 100) + (8 * wd.damage); ATK_ADD(-totaldef); } + RE_SKILL_REDUCTION(); } #endif break; @@ -4708,7 +4710,11 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list if( (i = battle->adjust_skill_damage(src->m,skill_id)) ) ATK_RATE(i); - + + if( skill_id && (wd.damage+wd.damage2) ){ + RE_SKILL_REDUCTION(); + } + if( sd ) { if (skill_id && (i = pc->skillatk_bonus(sd, skill_id))) ATK_ADDRATE(i); @@ -4813,7 +4819,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list #ifndef RENEWAL wd.damage = battle->calc_masteryfix(src, target, skill_id, skill_lv, wd.damage, wd.div_, 0, flag.weapon); - if( flag.lh) + if( flag.lh ) wd.damage2 = battle->calc_masteryfix(src, target, skill_id, skill_lv, wd.damage2, wd.div_, 1, flag.weapon); #else if( sd && flag.cri ) |