diff options
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index ce861aa7e..e9e17708c 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5415,11 +5415,12 @@ void battle_reflect_damage(struct block_list *target, struct block_list *src, st if( ssc->data[SC_INSPIRATION] ) { NORMALIZE_RDAMAGE(damage / 100); - rdelay = clif->delay_damage(tick+delay,src, src, status_get_amotion(src), status_get_dmotion(src), rdamage, 1, 4); + rdelay = clif->delay_damage(tick+delay,target, target, status_get_amotion(target), status_get_dmotion(target), rdamage, 1, 4); /* is this right? rdamage as both left and right? */ - battle->drain(tsd, src, rdamage, rdamage, status_get_race(src), 0); - battle->delay_damage(tick, wd->amotion,target,src,0,CR_REFLECTSHIELD,0,rdamage,ATK_DEF,rdelay,true); + if( sd ) + battle->drain(sd, target, rdamage, rdamage, status_get_race(target), 0); + battle->delay_damage(tick, wd->amotion,src,target,0,CR_REFLECTSHIELD,0,rdamage,ATK_DEF,rdelay,true); delay += 100;/* gradual increase so the numbers don't clip in the client */ } |