ES_PRC8/_module/nss/itemloss.nss
Jaysyn904 08e84b4e71 Initial upload
Initial upload.
2023-11-14 12:09:02 -05:00

77 lines
2.8 KiB
Plaintext

/**********************************
ItemLossUponDeath()
By: Panduh
Date: 6/29/2002
**********************************/
void ItemLossUponDeath(object oPlayer)
{
// Find PC's current location
location loc_Current = GetLocation(oPlayer);
// Create a loot bag to hold PC's stuff.
object oBagLoot = CreateObject(OBJECT_TYPE_PLACEABLE, "pclootbag", loc_Current);
//Pick off the equipped items(I would love a stack/array to work with)
object oChest = GetItemInSlot( INVENTORY_SLOT_CHEST, oPlayer);
object oBelt = GetItemInSlot( INVENTORY_SLOT_BELT, oPlayer);
object oCloak = GetItemInSlot( INVENTORY_SLOT_CLOAK, oPlayer);
object oHead = GetItemInSlot( INVENTORY_SLOT_HEAD, oPlayer);
object oLeftRing = GetItemInSlot( INVENTORY_SLOT_LEFTRING, oPlayer);
object oRightRing = GetItemInSlot( INVENTORY_SLOT_RIGHTRING, oPlayer);
object oAmulet = GetItemInSlot( INVENTORY_SLOT_NECK, oPlayer);
object oBoots = GetItemInSlot( INVENTORY_SLOT_BOOTS, oPlayer);
object oGloves = GetItemInSlot( INVENTORY_SLOT_ARMS, oPlayer);
object oWeapon = GetItemInSlot( INVENTORY_SLOT_RIGHTHAND, oPlayer);
object oOffhand = GetItemInSlot( INVENTORY_SLOT_LEFTHAND, oPlayer);
// Pop all the valid equipment into the loot bag
if (GetIsObjectValid(oChest))
{
AssignCommand(oBagLoot, ActionTakeItem(oChest, oPlayer));
}
if (GetIsObjectValid(oBelt))
{
AssignCommand(oBagLoot, ActionTakeItem(oBelt, oPlayer));
}
if (GetIsObjectValid(oCloak))
{
AssignCommand(oBagLoot, ActionTakeItem(oCloak, oPlayer));
}
if (GetIsObjectValid(oHead))
{
AssignCommand(oBagLoot, ActionTakeItem(oHead, oPlayer));
}
if (GetIsObjectValid(oLeftRing))
{
AssignCommand(oBagLoot, ActionTakeItem(oLeftRing, oPlayer));
}
if (GetIsObjectValid(oRightRing))
{
AssignCommand(oBagLoot, ActionTakeItem(oRightRing, oPlayer));
}
if (GetIsObjectValid(oAmulet))
{
AssignCommand(oBagLoot, ActionTakeItem(oAmulet, oPlayer));
}
if (GetIsObjectValid(oBoots))
{
AssignCommand(oBagLoot, ActionTakeItem(oBoots, oPlayer));
}
if (GetIsObjectValid(oGloves))
{
AssignCommand(oBagLoot, ActionTakeItem(oGloves, oPlayer));
}
if (GetIsObjectValid(oWeapon))
{
AssignCommand(oBagLoot, ActionTakeItem(oWeapon, oPlayer));
}
if (GetIsObjectValid(oOffhand))
{
AssignCommand(oBagLoot, ActionTakeItem(oOffhand, oPlayer));
}
// Loop thru the backpack and have loot bag "take" all the items
object oItem = GetFirstItemInInventory(oPlayer);
while ( GetIsObjectValid(oItem) == TRUE )
{
AssignCommand(oBagLoot, ActionTakeItem(oItem, oPlayer));
oItem = GetNextItemInInventory(oPlayer);
}
}