//:://///////////////////////////////////////////// //:: NPC event wrapper include //:: inc_prc_npc //::////////////////////////////////////////////// /** @file Wrapper functions for getters used in module events. Used to make the PRC evaluations happening in events to work for NPCs, too. Event currently supported: OnEquip OnUnequip OnDeath OnRest */ //::////////////////////////////////////////////// //::////////////////////////////////////////////// ////////////////////////////////////////////////// /* Function prototypes */ ////////////////////////////////////////////////// /** * A heartbeat function for NPCs. Checks if their equipped items have changed. * Simulates OnEquip / OnUnEquip firing * Since this should be fired from an NPCs hearbeat, OBJECT_SELF is assumed to * be the NPC. */ void DoEquipTest(); /* On(Un)Equip wrappers */ /** * Wrapper for GetPCItemLastEquipped */ object GetItemLastEquipped(); /** * Wrapper for GetPCItemLastEquippedBy */ object GetItemLastEquippedBy(); /** * Wrapper for GetItemLastUnequipped */ object GetItemLastUnequipped(); /** * Wrapper for GetPCItemLastUnequippedBy */ object GetItemLastUnequippedBy(); /* OnDeath wrappers */ /** * Wrapper for GetLastHostileActor and GetLastKiller */ object MyGetLastKiller(); /** * Wrapper for GetLastPlayerDied */ object GetLastBeingDied(); /* OnRest wrapper */ /** * Wrapper for GetLastPCRested */ object GetLastBeingRested(); /** * Wrapper for GetLastRestEventType */ int MyGetLastRestEventType(); ////////////////////////////////////////////////// /* Function defintions */ ////////////////////////////////////////////////// object GetItemLastEquippedBy() { if(GetModule() == OBJECT_SELF || GetIsPC(OBJECT_SELF)) // prc_inc_function runs the class scripts on the PC instead of the module return GetPCItemLastEquippedBy(); else return OBJECT_SELF; } object GetItemLastUnequippedBy() { if(GetModule() == OBJECT_SELF || GetIsPC(OBJECT_SELF)) return GetPCItemLastUnequippedBy(); else return OBJECT_SELF; } object GetItemLastEquipped() { if(GetModule() == OBJECT_SELF || GetIsPC(OBJECT_SELF)) return GetPCItemLastEquipped(); else return GetLocalObject(OBJECT_SELF, "oLastEquipped"); } object GetItemLastUnequipped() { if(GetModule() == OBJECT_SELF || GetIsPC(OBJECT_SELF)) return GetPCItemLastUnequipped(); else return GetLocalObject(OBJECT_SELF, "oLastUnequipped"); } void DoEquipTest() { int i; object oTest; object oItem; for(i=1; i