mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
99 lines
2.0 KiB
Plaintext
99 lines
2.0 KiB
Plaintext
include library.sui;
|
|
include library.utils;
|
|
include library.buff;
|
|
|
|
trigger OnInitialize()
|
|
{
|
|
detachScript(self, sui.COUNTDOWNTIMER_PLAYER_SCRIPT);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnDetach()
|
|
{
|
|
removeObjVar(self, sui.COUNTDOWNTIMER_SUI_VAR);
|
|
utils.removeScriptVarTree(self, sui.COUNTDOWNTIMER_VAR);
|
|
|
|
//group 2 in buff.tab, this shuts down all channeled buffs
|
|
int channelBuff = buff.getBuffOnTargetFromGroup(self, "channeled");
|
|
if(channelBuff !=0)
|
|
buff.removeBuff(self, channelBuff);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnEnteredCombat()
|
|
{
|
|
if(sui.hasEventFlag(self, sui.CD_EVENT_COMBAT))
|
|
{
|
|
sui.cancelCountdownTimer(self, sui.CD_EVENT_COMBAT);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnLocomotionChanged(int newLocomotion, int oldLocomotion)
|
|
{
|
|
if(newLocomotion != LOCOMOTION_STANDING && newLocomotion != LOCOMOTION_KNEELING && newLocomotion != LOCOMOTION_PRONE)
|
|
{
|
|
if(sui.hasEventFlag(self, sui.CD_EVENT_LOCOMOTION))
|
|
{
|
|
sui.cancelCountdownTimer(self, sui.CD_EVENT_LOCOMOTION);
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnChangedPosture(int before, int after)
|
|
{
|
|
if(sui.hasEventFlag(self, sui.CD_EVENT_POSTURE))
|
|
{
|
|
sui.cancelCountdownTimer(self, sui.CD_EVENT_POSTURE);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnIncapacitated(obj_id killer)
|
|
{
|
|
if(sui.hasEventFlag(self, sui.CD_EVENT_INCAPACITATE))
|
|
{
|
|
sui.cancelCountdownTimer(self, sui.CD_EVENT_INCAPACITATE);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnCreatureDamaged(obj_id attacker, obj_id weapon, int[] damage)
|
|
{
|
|
if(sui.hasEventFlag(self, sui.CD_EVENT_DAMAGED))
|
|
{
|
|
sui.cancelCountdownTimer(self, sui.CD_EVENT_DAMAGED);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler handleCountdownTimerCleanup()
|
|
{
|
|
if(!hasObjVar(self, sui.COUNTDOWNTIMER_SUI_VAR))
|
|
{
|
|
detachScript(self, sui.COUNTDOWNTIMER_PLAYER_SCRIPT);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
int pid = params.getInt("id");
|
|
int test_pid = getIntObjVar(self, sui.COUNTDOWNTIMER_SUI_VAR);
|
|
|
|
if(pid == test_pid)
|
|
{
|
|
detachScript(self, sui.COUNTDOWNTIMER_PLAYER_SCRIPT);
|
|
forceCloseSUIPage(pid);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|