64 lines
3.1 KiB
Plaintext
64 lines
3.1 KiB
Plaintext
void DestroyDoppelganger(object oDoppelganger)
|
|
{
|
|
// Removing the items in the creatures item slots
|
|
object oSlot = GetItemInSlot(INVENTORY_SLOT_ARMS, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_ARROWS, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_BELT, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_BOLTS, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_BOOTS, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_BULLETS, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_CLOAK, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_NECK, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
object oItem = GetFirstItemInInventory(oDoppelganger);
|
|
while (GetIsObjectValid(oItem) == TRUE)
|
|
{
|
|
DestroyObject(oItem);
|
|
oItem = GetNextItemInInventory(oDoppelganger);
|
|
}
|
|
/* If you want any effects on the doppelganger when it dissepears,
|
|
uncomment the lines below and alter it to suit your liking.*/
|
|
//effect eDeath = EffectVisualEffect(VFX_IMP_RAISE_DEAD);
|
|
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oDoppelganger);
|
|
// Removing the Creature now as we finaly have gotten rid of the items.
|
|
AssignCommand(oDoppelganger, AssignCommand(oDoppelganger, SetIsDestroyable(TRUE, FALSE, FALSE)));
|
|
DestroyObject(oDoppelganger, 0.01f);
|
|
/* I have moved the destroy chest and helmet armor to here so
|
|
the corpse don't dissepear naked */
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_CHEST, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
oSlot = GetItemInSlot(INVENTORY_SLOT_HEAD, oDoppelganger); DestroyObject(oSlot, 0.1f);
|
|
}
|
|
void main()
|
|
{
|
|
object oDoppelganger = GetLocalObject( OBJECT_SELF, "Doppelganger");
|
|
if (oDoppelganger != OBJECT_INVALID)
|
|
{
|
|
if (GetIsDead( oDoppelganger) == TRUE)
|
|
{
|
|
DestroyDoppelganger( oDoppelganger);
|
|
DeleteLocalObject( OBJECT_SELF, "Doppelganger");
|
|
}
|
|
else
|
|
{
|
|
object oPC = GetLocalObject( oDoppelganger, "Cloned From");
|
|
if (GetIsDead( oPC) == TRUE)
|
|
{
|
|
DestroyDoppelganger( oDoppelganger);
|
|
DeleteLocalObject( OBJECT_SELF, "Doppelganger");
|
|
}
|
|
else
|
|
{
|
|
ExecuteScript( "nw_c2_default3", oDoppelganger);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|