DetachFromOwner
Jump to navigation
Jump to search
virtual void DetachFromOwner()
Usage
A virtual function called by Inventory items when they're being removed from their owner's inventory. Normally, this happens when the items amount reaches 0, but items with the INVENTORY.KEEPDEPLETED flag don't do that, so they don't call this function.
In the base Inventory class this function is empty, i.e. no special behavior is executed.
Note: This function is not responsible for actually removing the item; that usually happens in GoAwayAndDie. Trying to call DetachFromOwner on an item directly does not remove it from their owner's inventory.
Examples
This item will kill its owner if it's removed from their inventory:
class DontDropMe : Inventory
{
overide void DetachFromOwner()
{
if (owner)
{
owner.DamageMobj(self, self, owner.health, 'Normal');
}
}
}