- Reverted the previous SG freeze counter method. Now the counter is reset on status_change_clear.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9351 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
228979981d
commit
e3615a4cb5
@ -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;
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user