35 lines
1.4 KiB
Plaintext
35 lines
1.4 KiB
Plaintext
/*//////////////////////////////////////////////////////////////////////////////
|
|
Script: 0e_c2_7_ondeath
|
|
Programmer: Philos
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
Monster OnDeath script;
|
|
This fires when the creature dies.
|
|
*////////////////////////////////////////////////////////////////////////////////
|
|
#include "0i_module"
|
|
void main()
|
|
{
|
|
object oCreature = OBJECT_SELF;
|
|
// Added code to allow for permanent associates in the battle!
|
|
object oModule = GetModule();
|
|
if(AI_DEBUG) ai_Debug("0e_c2_7_ondeath", "14", "AI_RULE_PERM_ASSOC: " + IntToString(GetLocalInt(oModule, AI_RULE_PERM_ASSOC)));
|
|
if(GetLocalInt(oModule, AI_RULE_PERM_ASSOC))
|
|
{
|
|
object oAssociate;
|
|
int nIndex;
|
|
for(nIndex = 2; nIndex < 6; nIndex++)
|
|
{
|
|
oAssociate = GetAssociate(nIndex, oCreature);
|
|
if(oAssociate != OBJECT_INVALID)
|
|
{
|
|
SetIsDestroyable(FALSE, FALSE, FALSE, oAssociate);
|
|
DelayCommand(0.1, ChangeToStandardFaction(oAssociate, STANDARD_FACTION_HOSTILE));
|
|
DelayCommand(3.0, SetIsDestroyable(TRUE, FALSE, FALSE, oAssociate));
|
|
}
|
|
}
|
|
}
|
|
if(GetLocalInt(oModule, AI_RULE_CORPSES_STAY)) SetIsDestroyable(FALSE, FALSE, TRUE);
|
|
ai_ClearCombatState(oCreature);
|
|
ExecuteScript(GetLocalString(oCreature, "AI_ON_DEATH"));
|
|
}
|
|
|