From bfc097da65478acd0fff4414621f705bcc2cd739 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sun, 29 Jul 2012 01:50:09 +0000 Subject: Fixed bugreport:6353 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16526 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/map/battle.c b/src/map/battle.c index a4f5985bd..00b04dc0c 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -351,18 +351,23 @@ int battle_attr_fix(struct block_list *src, struct block_list *target, int damag status_change_end(target, SC_CRYSTALIZE, INVALID_TIMER); } } - if( src->type == BL_PC || target->type == BL_PC ){ + if( src->type == BL_PC ){ struct map_session_data *sd = BL_CAST(BL_PC, src); - struct map_session_data *tsd = BL_CAST(BL_PC, target); - int s, t; + int s; ARR_FIND(1, 6, s, sd->talisman[s] > 0); - ARR_FIND(1, 6, t, tsd->talisman[t] > 0); if( s < 5 && atk_elem == s ) ratio += sd->talisman[s] * 2; // +2% custom value + } + if( target->type == BL_PC ) { + struct map_session_data *tsd = BL_CAST(BL_PC, target); + int t; + + ARR_FIND(1, 6, t, tsd->talisman[t] > 0); + if( t < 5 && atk_elem == t ) - damage -= damage * tsd->talisman[t] * 3 / 100; // -3% custom value + damage -= damage * tsd->talisman[t] * 3 / 100; // -3% custom value } return damage*ratio/100; } -- cgit v1.2.3-70-g09d2