diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-20 12:39:34 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-20 12:39:34 +0000 |
commit | c62973347b286bb2c1744611def30e3f4a76d4fa (patch) | |
tree | 14d03389fd2a09a250d3022bbd9d12470aa7c801 | |
parent | 32b0d0dcacdbe83822606013cfe2b7f6d9a41411 (diff) | |
download | hercules-c62973347b286bb2c1744611def30e3f4a76d4fa.tar.gz hercules-c62973347b286bb2c1744611def30e3f4a76d4fa.tar.bz2 hercules-c62973347b286bb2c1744611def30e3f4a76d4fa.tar.xz hercules-c62973347b286bb2c1744611def30e3f4a76d4fa.zip |
Storm Gust bug fix for bugreport:1813, also fixed a casual overflow in sg_counter
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15186 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/battle.c | 7 | ||||
-rw-r--r-- | src/map/skill.c | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 96456c6ea..2b79561f5 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -576,6 +576,13 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag status_heal(src, damage*sce->val4/100, 0, 3); } + /** + * Storm Gust doubles it's damage every 3 hits against' boss monsters + * bugreport:1813 + **/ + if ( sc && skill_num == WZ_STORMGUST && sc->sg_counter % 3 == 0 && (status_get_mode(bl)&MD_BOSS) ) { + damage += damage; + } //SC effects from caster side. sc = status_get_sc(src); diff --git a/src/map/skill.c b/src/map/skill.c index 2305df1a7..d675c12df 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -788,6 +788,11 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int if(tsc->sg_counter >= 3 && sc_start(bl,SC_FREEZE,300,skilllv,skill_get_time2(skillid,skilllv))) tsc->sg_counter = 0; + /** + * being it only resets on success it'd keep stacking and eventually overflowing on mvps, so we reset at a high value + **/ + else if( tsc->sg_counter > 250 ) + tsc->sg_counter = 0; break; case WZ_METEOR: |