diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-05-03 02:52:32 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-05-03 02:52:32 +0000 |
commit | d83813872d475a96765b2cdf12789eed2865bfab (patch) | |
tree | b454a33952d79cde3f1e056d12e5faa20003377b /src | |
parent | 87a0795f237f4f61418bc761e4b3698ec968fbd0 (diff) | |
download | hercules-d83813872d475a96765b2cdf12789eed2865bfab.tar.gz hercules-d83813872d475a96765b2cdf12789eed2865bfab.tar.bz2 hercules-d83813872d475a96765b2cdf12789eed2865bfab.tar.xz hercules-d83813872d475a96765b2cdf12789eed2865bfab.zip |
Fixed bugreport:5655 Venom Impress boost against poison should now work.
Additionally, Fixed Oratio Throns Trap and Elemental Fire Cloak elemental atrributes
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16061 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 113d82fbf..961bb3244 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -328,13 +328,23 @@ int battle_attr_fix(struct block_list *src, struct block_list *target, int damag sg->limit = DIFF_TICK(gettick(),sg->tick)+300; } } - } - if( atk_elem == ELE_FIRE && tsc && tsc->count && tsc->data[SC_SPIDERWEB] ){ - tsc->data[SC_SPIDERWEB]->val1 = 0; // free to move now - if( tsc->data[SC_SPIDERWEB]->val2-- > 0 ) - damage <<= 1; // double damage - if( tsc->data[SC_SPIDERWEB]->val2 == 0 ) - status_change_end(target, SC_SPIDERWEB, INVALID_TIMER); + } + if( tsc && tsc->count ) { + if( tsc->data[SC_SPIDERWEB] && atk_elem == ELE_FIRE ){ + tsc->data[SC_SPIDERWEB]->val1 = 0; // free to move now + if( tsc->data[SC_SPIDERWEB]->val2-- > 0 ) + damage <<= 1; // double damage + if( tsc->data[SC_SPIDERWEB]->val2 == 0 ) + status_change_end(target, SC_SPIDERWEB, INVALID_TIMER); + } + if( tsc->data[SC_ORATIO] && atk_elem == ELE_HOLY ) + ratio += tsc->data[SC_ORATIO]->val1 * 2; + if( tsc->data[SC_VENOMIMPRESS] && atk_elem == ELE_POISON ) + ratio += tsc->data[SC_VENOMIMPRESS]->val2; + if( tsc->data[SC_THORNSTRAP] && atk_elem == ELE_FIRE ) + status_change_end(target, SC_THORNSTRAP, -1); + if( tsc->data[SC_FIRE_CLOAK_OPTION] && atk_elem == ELE_FIRE ) + damage -= damage * tsc->data[SC_FIRE_CLOAK_OPTION]->val2 / 100; } return damage*ratio/100; } |