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.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 1abcaa19e..d06e02f6c 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -4669,7 +4669,8 @@ int battle_damage_area( struct block_list *bl, va_list ap) {
else
status_fix_damage(src,bl,damage,0);
clif->damage(bl,bl,tick,amotion,dmotion,damage,1,ATK_BLOCK,0);
- skill->additional_effect(src, bl, CR_REFLECTSHIELD, 1, BF_WEAPON|BF_SHORT|BF_NORMAL,ATK_DEF,tick);
+ if( !(src && src->type == BL_PC && ((TBL_PC*)src)->state.autocast) )
+ skill->additional_effect(src, bl, CR_REFLECTSHIELD, 1, BF_WEAPON|BF_SHORT|BF_NORMAL,ATK_DEF,tick);
map_freeblock_unlock();
}
@@ -4880,8 +4881,9 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
rdamage = battle->calc_return_damage(target,src, &damage, wd.flag, 0);
if( rdamage > 0 ) {
if( tsc && tsc->data[SC_REFLECTDAMAGE] ) {
- if( src != target )// Don't reflect your own damage (Grand Cross)
- map_foreachinshootrange(battle->damage_area,target,skill->get_splash(LG_REFLECTDAMAGE,1),BL_CHAR,tick,target,wd.amotion,wd.dmotion,rdamage,tstatus->race,0);
+ if( src != target ) {// Don't reflect your own damage (Grand Cross)
+ map_foreachinshootrange(battle->damage_area,target,skill->get_splash(LG_REFLECTDAMAGE,1),BL_CHAR,tick,target,wd.amotion,wd.dmotion,rdamage,tstatus->race);
+ }
} else {
rdelay = clif->damage(src, src, tick, wd.amotion, sstatus->dmotion, rdamage, 1, 4, 0);
//Use Reflect Shield to signal this kind of skill trigger. [Skotlex]