PoA_PRC8/_module/nss/jimijimi.nss
Jaysyn904 8d97886c3f Changed folder name.
Changed folder name.
2022-10-07 21:08:37 -04:00

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);
}
}
}
}