Have not tested this, but this should work hopefully. I probably messed it up but something along the lines of this should work, heh.
PlayerCorpse.cpp
Code:
void Corpse::MoveItemToCorpse(Client *client, ItemInst *item, sint16 equipslot)
{
int bagindex;
sint16 interior_slot;
ItemInst *interior_item;
AddItem(item->GetItem()->ID, item->GetCharges(), equipslot, item->GetAugmentItemID(0), item->GetAugmentItemID(1), item->GetAugmentItemID(2), item->GetAugmentItemID(3), item->GetAugmentItemID(4));
if(item->IsType(ItemClassContainer))
{
for(bagindex = 0; bagindex <= 10; bagindex++)
{
interior_slot = Inventory::CalcSlotId(equipslot, bagindex);
interior_item = client->GetInv().GetItem(interior_slot);
if(interior_item->IsInstNoDrop)
{
interior_item->SetInstNoDrop(true);
}
if(interior_item)
{
AddItem(interior_item->GetItem()->ID, interior_item->GetCharges(), interior_slot, interior_item->GetAugmentItemID(0), interior_item->GetAugmentItemID(1), interior_item->GetAugmentItemID(2), interior_item->GetAugmentItemID(3), interior_item->GetAugmentItemID(4));
client->DeleteItemInInventory(interior_slot);
}
}
}
client->DeleteItemInInventory(equipslot);
}