From 1aabb60a820129e5abc2aa12e7e8e78badf4b83e Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 28 Nov 2006 19:48:24 +0000 Subject: - Reverted the previous SG freeze counter method. Now the counter is reset on status_change_clear. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9351 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 8 +------- src/map/status.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'src/map') diff --git a/src/map/skill.c b/src/map/skill.c index 60153cfb5..413431c5e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1117,13 +1117,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int break; case WZ_STORMGUST: - if (tsc->data[SC_FREEZE].val2 == src->id) - tsc->data[SC_FREEZE].val3++; //Repeated hits from same SG - else { //New SG, reset count - tsc->data[SC_FREEZE].val2 = src->id; - tsc->data[SC_FREEZE].val3 = 1; - } - + tsc->data[SC_FREEZE].val3++; if(tsc->data[SC_FREEZE].val3 >= 3) //Tharis pointed out that this is normal freeze chance with a base of 300% sc_start(bl,SC_FREEZE,300,skilllv,skill_get_time2(skillid,skilllv)); break; diff --git a/src/map/status.c b/src/map/status.c index 0abff57a9..51914dede 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5894,11 +5894,18 @@ int status_change_clear(struct block_list *bl,int type) sc = status_get_sc(bl); - if (!sc || sc->count == 0) + if (!sc) + return 0; + + if (sc->data[SC_FREEZE].val3) + sc->data[SC_FREEZE].val3 = 0; //Reset freeze counter. + + if (!sc->count) return 0; if(sc->data[SC_DANCING].timer != -1) skill_stop_dancing(bl); + for(i = 0; i < SC_MAX; i++) { if(sc->data[i].timer == -1) @@ -6138,7 +6145,7 @@ int status_change_end( struct block_list* bl , int type,int tid ) break; case SC_FREEZE: - sc->data[type].val2 = 0; //Clear ID of SG caster + sc->data[type].val3 = 0; //Clear Storm Gust hit count break; case SC_MARIONETTE: -- cgit v1.2.3-70-g09d2