diff options
author | csnv <ctt@csnv.es> | 2014-09-14 01:40:53 +0200 |
---|---|---|
committer | csnv <ctt@csnv.es> | 2014-09-14 01:40:53 +0200 |
commit | f78a9692e94fc67553c751f2859702449148e5b1 (patch) | |
tree | 5fdf203fb024b9ecb08d4c0fda91c8c4ece5c028 /src/map/battle.c | |
parent | ad3c8a1ad28c40845125556bc23f0d5f089859cb (diff) | |
download | hercules-f78a9692e94fc67553c751f2859702449148e5b1.tar.gz hercules-f78a9692e94fc67553c751f2859702449148e5b1.tar.bz2 hercules-f78a9692e94fc67553c751f2859702449148e5b1.tar.xz hercules-f78a9692e94fc67553c751f2859702449148e5b1.zip |
Fixes taekwon mild wind skills on renewall. Bug 8234 http://hercules.ws/board/tracker/issue-8234-bug-tk-sevenwind/
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 0120d5e4b..b969f3cc6 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -500,8 +500,13 @@ int64 battle_calc_weapon_damage(struct block_list *src, struct block_list *bl, u int64 battle_calc_base_damage(struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int nk, bool n_ele, short s_ele, short s_ele_, int type, int flag, int flag2) { int64 damage, batk; struct status_data *st = status->get_status_data(src); - - batk = battle->calc_elefix(src, bl, skill_id, skill_lv, status->calc_batk(bl, status->get_sc(src), st->batk, false), nk, n_ele, ELE_NEUTRAL, ELE_NEUTRAL, false, flag); + struct status_change *sc = status->get_sc(src); + + // Property from mild wind bypasses it + if (sc && sc->data[SC_TK_SEVENWIND]) + batk = battle->calc_elefix(src, bl, skill_id, skill_lv, status->calc_batk(bl, sc, st->batk, false), nk, n_ele, s_ele, s_ele_, false, flag); + else + batk = battle->calc_elefix(src, bl, skill_id, skill_lv, status->calc_batk(bl, sc, st->batk, false), nk, n_ele, ELE_NEUTRAL, ELE_NEUTRAL, false, flag); if( type == EQI_HAND_L ) damage = batk + 3 * battle->calc_weapon_damage(src, bl, skill_id, skill_lv, &st->lhw, nk, n_ele, s_ele, s_ele_, status_get_size(bl), type, flag, flag2) / 4; |