|
@@ -5834,7 +5834,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr data)
|
|
|
if (ud->walktimer != -1 && ud->skillid != TK_RUN)
|
|
|
unit_stop_walking(src,1);
|
|
|
|
|
|
- if( sd->skillitem == ud->skillid && skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
+ if( !sd || sd->skillitem != ud->skillid || skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv); //Tests show wings don't overwrite the delay but skill scrolls do. [Inkfish]
|
|
|
if( battle_config.display_status_timers && sd )
|
|
|
clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, ud->skillid, ud->skilllv));
|
|
@@ -5928,7 +5928,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr data)
|
|
|
}
|
|
|
|
|
|
ud->skillid = ud->skilllv = ud->skilltarget = 0;
|
|
|
- if( sd->skillitem == ud->skillid && skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
+ if( !sd || sd->skillitem != ud->skillid || skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
ud->canact_tick = tick;
|
|
|
//You can't place a skill failed packet here because it would be
|
|
|
//sent in ALL cases, even cases where skill_check_condition fails
|
|
@@ -6046,7 +6046,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr data)
|
|
|
if (ud->walktimer != -1)
|
|
|
unit_stop_walking(src,1);
|
|
|
|
|
|
- if( sd->skillitem == ud->skillid && skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
+ if( !sd || sd->skillitem != ud->skillid || skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv);
|
|
|
if( battle_config.display_status_timers && sd )
|
|
|
clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, ud->skillid, ud->skilllv));
|
|
@@ -6077,7 +6077,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr data)
|
|
|
return 1;
|
|
|
} while(0);
|
|
|
|
|
|
- if( sd->skillitem == ud->skillid && skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
+ if( !sd || sd->skillitem != ud->skillid || skill_get_delay(ud->skillid,ud->skilllv) )
|
|
|
ud->canact_tick = tick;
|
|
|
ud->skillid = ud->skilllv = 0;
|
|
|
if(sd)
|