2025/07/18 Update
Added PEPS. Full compile.
This commit is contained in:
41
_module/nss/0e_ch_7_ondeath.nss
Normal file
41
_module/nss/0e_ch_7_ondeath.nss
Normal file
@@ -0,0 +1,41 @@
|
||||
/*//////////////////////////////////////////////////////////////////////////////
|
||||
Script: 0e_ch_7_ondeath
|
||||
Programmer: Philos
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
Associate OnSpawn script;
|
||||
This fires when an associate dies.
|
||||
*///////////////////////////////////////////////////////////////////////////////
|
||||
#include "0i_module"
|
||||
void main()
|
||||
{
|
||||
object oCreature = OBJECT_SELF;
|
||||
// Added code to allow for permanent associates in the battle!
|
||||
if(AI_DEBUG) ai_Debug("0e_ch_7_ondeath", "13", GetName(oCreature) + " has died!" +
|
||||
" AI_RULE_PERM_ASSOC: " + IntToString(GetLocalInt(GetModule(), AI_RULE_PERM_ASSOC)));
|
||||
object oModule = GetModule();
|
||||
if(GetLocalInt(oModule, AI_RULE_PERM_ASSOC))
|
||||
{
|
||||
object oAssociate;
|
||||
int nIndex;
|
||||
for(nIndex = 2; nIndex < 5; nIndex++)
|
||||
{
|
||||
oAssociate = GetAssociate(nIndex, oCreature);
|
||||
if(oAssociate != OBJECT_INVALID)
|
||||
{
|
||||
SetIsDestroyable(FALSE, FALSE, FALSE);
|
||||
ChangeFaction(oAssociate, oCreature);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Remove the widget!
|
||||
object oPC = GetMaster(oCreature);
|
||||
if(oPC != OBJECT_INVALID)
|
||||
{
|
||||
NuiDestroy(oPC, NuiFindWindow(oPC, ai_GetAssociateType(oPC, oCreature) + AI_WIDGET_NUI));
|
||||
DelayCommand(0.5, ai_CheckXPPartyScale(oCreature));
|
||||
DelayCommand(2.0, ai_ClearCreatureActions(TRUE));
|
||||
}
|
||||
DelayCommand(2.0, ai_ClearCombatState(oCreature));
|
||||
ExecuteScript(GetLocalString(oCreature, "AI_ON_DEATH"));
|
||||
}
|
||||
|
Reference in New Issue
Block a user