mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 07:12:02 +00:00
- Added Blue Shadow's DropInventory ACS function.
This commit is contained in:
parent
33f83cc7f9
commit
16a380f82a
1 changed files with 37 additions and 0 deletions
|
@ -4367,6 +4367,7 @@ enum EACSFunctions
|
|||
ACSF_ChangeActorAngle,
|
||||
ACSF_ChangeActorPitch, // 80
|
||||
ACSF_GetArmorInfo,
|
||||
ACSF_DropInventory,
|
||||
|
||||
/* Zandronum's - these must be skipped when we reach 99!
|
||||
-100:ResetMap(0),
|
||||
|
@ -5491,6 +5492,42 @@ doplaysound: if (funcIndex == ACSF_PlayActorSound)
|
|||
break;
|
||||
}
|
||||
|
||||
case ACSF_DropInventory:
|
||||
{
|
||||
const char *type = FBehavior::StaticLookupString(args[1]);
|
||||
AInventory *inv;
|
||||
|
||||
if (type != NULL)
|
||||
{
|
||||
if (args[0] == 0)
|
||||
{
|
||||
if (activator != NULL)
|
||||
{
|
||||
inv = activator->FindInventory(type);
|
||||
if (inv)
|
||||
{
|
||||
activator->DropInventory(inv);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FActorIterator it(args[0]);
|
||||
AActor *actor;
|
||||
|
||||
while ((actor = it.Next()) != NULL)
|
||||
{
|
||||
inv = actor->FindInventory(type);
|
||||
if (inv)
|
||||
{
|
||||
actor->DropInventory(inv);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case ACSF_CheckFlag:
|
||||
{
|
||||
AActor *actor = SingleActorFromTID(args[0], activator);
|
||||
|
|
Loading…
Reference in a new issue