From c62973347b286bb2c1744611def30e3f4a76d4fa Mon Sep 17 00:00:00 2001 From: shennetsind Date: Tue, 20 Dec 2011 12:39:34 +0000 Subject: 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 --- src/map/battle.c | 7 +++++++ src/map/skill.c | 5 +++++ 2 files changed, 12 insertions(+) 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: -- cgit v1.2.3-70-g09d2