- also added the 'amount' parameter to DropInventroy and A_DropInventory script functions.

This commit is contained in:
Christoph Oelckers 2017-02-23 20:55:12 +01:00
parent e2d5a708f8
commit 73cceea994
3 changed files with 5 additions and 4 deletions

View file

@ -3663,13 +3663,14 @@ DEFINE_ACTION_FUNCTION(AActor, A_DropInventory)
{ {
PARAM_SELF_PROLOGUE(AActor); PARAM_SELF_PROLOGUE(AActor);
PARAM_CLASS(drop, AInventory); PARAM_CLASS(drop, AInventory);
PARAM_INT_DEF(amount);
if (drop) if (drop)
{ {
AInventory *inv = self->FindInventory(drop); AInventory *inv = self->FindInventory(drop);
if (inv) if (inv)
{ {
self->DropInventory(inv); self->DropInventory(inv, amount);
} }
} }
return 0; return 0;

View file

@ -1059,7 +1059,7 @@ DEFINE_ACTION_FUNCTION(AActor, DropInventory)
{ {
PARAM_SELF_PROLOGUE(AActor); PARAM_SELF_PROLOGUE(AActor);
PARAM_OBJECT_NOT_NULL(item, AInventory); PARAM_OBJECT_NOT_NULL(item, AInventory);
PARAM_INT(amt); PARAM_INT_DEF(amt);
ACTION_RETURN_OBJECT(self->DropInventory(item, amt)); ACTION_RETURN_OBJECT(self->DropInventory(item, amt));
} }

View file

@ -496,7 +496,7 @@ class Actor : Thinker native
native bool TakeInventory(class<Inventory> itemclass, int amount, bool fromdecorate = false, bool notakeinfinite = false); native bool TakeInventory(class<Inventory> itemclass, int amount, bool fromdecorate = false, bool notakeinfinite = false);
native Inventory FindInventory(class<Inventory> itemtype, bool subclass = false); native Inventory FindInventory(class<Inventory> itemtype, bool subclass = false);
native Inventory GiveInventoryType(class<Inventory> itemtype); native Inventory GiveInventoryType(class<Inventory> itemtype);
native Inventory DropInventory (Inventory item); native Inventory DropInventory (Inventory item, int amt = -1);
native bool UseInventory(Inventory item); native bool UseInventory(Inventory item);
native void ObtainInventory(Actor other); native void ObtainInventory(Actor other);
native bool GiveAmmo (Class<Ammo> type, int amount); native bool GiveAmmo (Class<Ammo> type, int amount);
@ -787,7 +787,7 @@ class Actor : Thinker native
native void A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, double mult_h = 1, double mult_v = 1); native void A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, double mult_h = 1, double mult_v = 1);
native void A_SpawnParticle(color color1, int flags = 0, int lifetime = 35, double size = 1, double angle = 0, double xoff = 0, double yoff = 0, double zoff = 0, double velx = 0, double vely = 0, double velz = 0, double accelx = 0, double accely = 0, double accelz = 0, double startalphaf = 1, double fadestepf = -1, double sizestep = 0); native void A_SpawnParticle(color color1, int flags = 0, int lifetime = 35, double size = 1, double angle = 0, double xoff = 0, double yoff = 0, double zoff = 0, double velx = 0, double vely = 0, double velz = 0, double accelx = 0, double accely = 0, double accelz = 0, double startalphaf = 1, double fadestepf = -1, double sizestep = 0);
native void A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false); native void A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false);
native void A_DropInventory(class<Inventory> itemtype); native void A_DropInventory(class<Inventory> itemtype, int amount);
native void A_SetBlend(color color1, double alpha, int tics, color color2 = 0); native void A_SetBlend(color color1, double alpha, int tics, color color2 = 0);
deprecated native void A_ChangeFlag(string flagname, bool value); deprecated native void A_ChangeFlag(string flagname, bool value);
native void A_ChangeCountFlags(int kill = FLAG_NO_CHANGE, int item = FLAG_NO_CHANGE, int secret = FLAG_NO_CHANGE); native void A_ChangeCountFlags(int kill = FLAG_NO_CHANGE, int item = FLAG_NO_CHANGE, int secret = FLAG_NO_CHANGE);