- scriptified RemoveInventory and Inventory.OnDestroy.
This commit is contained in:
parent
eb47fb9adc
commit
023efc7685
10 changed files with 122 additions and 120 deletions
|
|
@ -938,58 +938,6 @@ void APlayerPawn::PostBeginPlay()
|
|||
}
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// APlayerPawn :: RemoveInventory
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
void APlayerPawn::RemoveInventory (AInventory *item)
|
||||
{
|
||||
bool pickWeap = false;
|
||||
|
||||
// Since voodoo dolls aren't supposed to have an inventory, there should be
|
||||
// no need to redirect them to the real player here as there is with AddInventory.
|
||||
|
||||
// If the item removed is the selected one, select something else, either the next
|
||||
// item, if there is one, or the previous item.
|
||||
if (player != NULL)
|
||||
{
|
||||
if (InvSel == item)
|
||||
{
|
||||
InvSel = item->NextInv ();
|
||||
if (InvSel == NULL)
|
||||
{
|
||||
InvSel = item->PrevInv ();
|
||||
}
|
||||
}
|
||||
if (InvFirst == item)
|
||||
{
|
||||
InvFirst = item->NextInv ();
|
||||
if (InvFirst == NULL)
|
||||
{
|
||||
InvFirst = item->PrevInv ();
|
||||
}
|
||||
}
|
||||
if (item == player->PendingWeapon)
|
||||
{
|
||||
player->PendingWeapon = WP_NOCHANGE;
|
||||
}
|
||||
if (item == player->ReadyWeapon)
|
||||
{
|
||||
// If the current weapon is removed, clear the refire counter and pick a new one.
|
||||
pickWeap = true;
|
||||
player->ReadyWeapon = NULL;
|
||||
player->refire = 0;
|
||||
}
|
||||
}
|
||||
Super::RemoveInventory (item);
|
||||
if (pickWeap && player->mo == this && player->PendingWeapon == WP_NOCHANGE)
|
||||
{
|
||||
PickNewWeapon (NULL);
|
||||
}
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// APlayerPawn :: UseInventory
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue