diff options
-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: |