Little TakeInventory refactoring.

Introduce AActor::TakeInventory, which unifies DoTakeInv from ACS and DoTakeInventory from Decorate, and AInventory::DepleteOrDestroy, which is extracted from the DoTakeInv core function, and use both where they're needed.
I don't know if the differences between DoTakeInv and DoTakeInventory were intentional, so I kept both behaviors.
This commit is contained in:
Edoardo Prezioso 2015-04-28 15:34:13 +02:00
commit b51fac344d
10 changed files with 92 additions and 107 deletions

View file

@ -804,10 +804,7 @@ static int UseHealthItems(TArray<AInventory *> &Items, int &saveHealth)
saveHealth -= maxhealth;
if (--Items[index]->Amount == 0)
{
if (!(Items[index]->ItemFlags & IF_KEEPDEPLETED))
{
Items[index]->Destroy ();
}
Items[index]->DepleteOrDestroy ();
Items.Delete(index);
break;
}