104 lines
3.1 KiB
Plaintext
104 lines
3.1 KiB
Plaintext
#include "clone_lib"
|
|
void main()
|
|
{
|
|
if(GetLocalInt(OBJECT_SELF,"PC_CLONE_SYSTEM"))
|
|
{
|
|
|
|
|
|
if(!GetIsDead(OBJECT_SELF) && GetLocalInt(OBJECT_SELF,"PC_CLONE_SYSTEM_DeathRun"))
|
|
{
|
|
SetLocalInt(OBJECT_SELF,"PC_CLONE_SYSTEM_DeathRun",FALSE);
|
|
}
|
|
|
|
|
|
struct perceivedEvent lastPerceptionEvent = GetLastPerceivedEvent();
|
|
struct perceivedEvent perceptionEvent = PerceivedEvent();
|
|
|
|
if( perceptionEvent.isValid &&
|
|
(!lastPerceptionEvent.isValid || (lastPerceptionEvent != perceptionEvent) ) )
|
|
{
|
|
|
|
SetLastPerceivedEvent(perceptionEvent);
|
|
|
|
|
|
ExecuteScript("custom_percep",OBJECT_SELF);
|
|
|
|
|
|
}
|
|
|
|
|
|
if(GetLastSpell() >= 0)
|
|
{
|
|
|
|
|
|
ExecuteScript("custom_spellcast",OBJECT_SELF);
|
|
|
|
SignalEvent(OBJECT_SELF,EventSpellCastAt(OBJECT_SELF,-1,FALSE));
|
|
}
|
|
|
|
if(GetUserDefinedEventNumber() >= 0)
|
|
{
|
|
|
|
ExecuteScript("custom_userdef",OBJECT_SELF);
|
|
|
|
SignalEvent(OBJECT_SELF,EventUserDefined(-1));
|
|
}
|
|
|
|
struct attackedEvent lastattackedEvent = GetLastAttackedEvent();
|
|
struct attackedEvent attackedEvent = AttackedEvent();
|
|
|
|
if( attackedEvent.isValid &&
|
|
(!lastattackedEvent.isValid || (lastattackedEvent != attackedEvent) ) )
|
|
{
|
|
SetLastAttackedEvent(attackedEvent);
|
|
|
|
ExecuteScript("custom_physicald",OBJECT_SELF);
|
|
}
|
|
|
|
struct disturbedEvent lastDisturbedEvent = GetLastDisturbedEvent();
|
|
struct disturbedEvent disturbedEvent = DisturbedEvent();
|
|
|
|
if( disturbedEvent.isValid &&
|
|
(!lastDisturbedEvent.isValid || (lastDisturbedEvent != disturbedEvent) ) )
|
|
{
|
|
SetLastDisturbedEvent(disturbedEvent);
|
|
|
|
ExecuteScript("custom_disturbed",OBJECT_SELF);
|
|
}
|
|
|
|
struct damagedEvent lastDamagegEvent = GetLastDamagedEvent();
|
|
struct damagedEvent damagegEvent = DamagedEvent();
|
|
|
|
if( damagegEvent.isValid &&
|
|
(!lastDamagegEvent.isValid || (lastDamagegEvent != damagegEvent) ) )
|
|
{
|
|
SetLastDamagedEvent(damagegEvent);
|
|
|
|
ExecuteScript("custom_damage",OBJECT_SELF);
|
|
}
|
|
|
|
struct blockedEvent blockedEvent = BlockedEvent();
|
|
struct blockedEvent lastBlockedEvent = GetLastBlockedEvent();
|
|
|
|
if( blockedEvent.isValid &&
|
|
(!lastBlockedEvent.isValid || (lastBlockedEvent != blockedEvent) ) )
|
|
{
|
|
SetLastBlockedEvent(blockedEvent);
|
|
|
|
|
|
ExecuteScript("custom_blocked",OBJECT_SELF);
|
|
}
|
|
|
|
if(GetIsDead(OBJECT_SELF) && !GetLocalInt(OBJECT_SELF,"PC_CLONE_SYSTEM_DeathRun"))
|
|
{
|
|
SetLocalInt(OBJECT_SELF,"PC_CLONE_SYSTEM_DeathRun",TRUE);
|
|
|
|
|
|
|
|
ExecuteScript("custom_death",OBJECT_SELF);
|
|
|
|
}
|
|
|
|
}
|
|
}
|