summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-09-14 09:08:15 +0200
committerMichieru <Michieru@users.noreply.github.com>2014-09-14 09:08:15 +0200
commit5439fc4dbe5e867c59428538ca5cad4adc0e5e1f (patch)
treeee5f627c5b74bc04c96d8235f93c631f48e8ae13
parentb0a3424a2a1cebc7a7c8decb7e0486b95878df1f (diff)
parentf78a9692e94fc67553c751f2859702449148e5b1 (diff)
downloadhercules-5439fc4dbe5e867c59428538ca5cad4adc0e5e1f.tar.gz
hercules-5439fc4dbe5e867c59428538ca5cad4adc0e5e1f.tar.bz2
hercules-5439fc4dbe5e867c59428538ca5cad4adc0e5e1f.tar.xz
hercules-5439fc4dbe5e867c59428538ca5cad4adc0e5e1f.zip
Merge pull request #349 from csnv/somefixes
Fixes taekwon mild wind skill on renewall.
-rw-r--r--src/map/battle.c9
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;