summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 985d2bca4..e73c93bab 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -5939,8 +5939,18 @@ static void battle_reflect_damage(struct block_list *target, struct block_list *
sd->state.autocast = 1;
}
+ enum autocast_type ac_type;
+
+ if (sd != NULL) {
+ ac_type = sd->autocast.type;
+ sd->autocast.type = AUTOCAST_TEMP;
+ }
+
map->foreachinshootrange(battle->damage_area,target,skill->get_splash(LG_REFLECTDAMAGE,1),BL_CHAR,tick,target,delay,wd->dmotion,rdamage,status_get_race(target));
+ if (sd != NULL)
+ sd->autocast.type = ac_type;
+
if( change )
sd->state.autocast = 0;
@@ -6457,8 +6467,10 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_
}
sd->state.autocast = 1;
+ sd->autocast.type = AUTOCAST_TEMP;
skill->consume_requirement(sd,r_skill,r_lv,3);
skill->castend_type(type, src, target, r_skill, r_lv, tick, flag);
+ sd->autocast.type = AUTOCAST_NONE;
sd->state.autocast = 0;
sd->ud.canact_tick = tick + skill->delay_fix(src, r_skill, r_lv);
clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, r_skill, r_lv), 0, 0, 1);