Exports various resurrection-related functions to ZScript.

This commit is contained in:
Marisa Kirisame 2018-09-18 01:14:39 +02:00 committed by Rachael Alexanderson
parent 59c8d8ff64
commit c3894ee348
4 changed files with 41 additions and 1 deletions

View file

@ -4551,7 +4551,30 @@ DEFINE_ACTION_FUNCTION(AActor, A_RaiseSiblings)
}
return 0;
}
//===========================================================================
//
// A_RaiseSelf
//
//===========================================================================
DEFINE_ACTION_FUNCTION(AActor, A_RaiseSelf)
{
PARAM_SELF_PROLOGUE(AActor);
PARAM_INT_DEF(flags);
ACTION_RETURN_BOOL(P_Thing_Raise(self, NULL, (flags & RF_NOCHECKPOSITION)));
}
//===========================================================================
//
// CanRaise
//
//===========================================================================
DEFINE_ACTION_FUNCTION(AActor, CanRaise)
{
PARAM_SELF_PROLOGUE(AActor);
ACTION_RETURN_BOOL(P_Thing_CanRaise(self));
}
//===========================================================================
//
// A_MonsterRefire

View file

@ -2971,6 +2971,12 @@ DEFINE_ACTION_FUNCTION(AActor, A_ExtChase)
return 0;
}
DEFINE_ACTION_FUNCTION(AActor, A_CheckForResurrection)
{
PARAM_SELF_PROLOGUE(AActor);
ACTION_RETURN_BOOL(P_CheckForResurrection(self, false));
}
// for internal use
void A_Chase(AActor *self)
{

View file

@ -7785,6 +7785,13 @@ void AActor::Revive()
E_WorldThingRevived(this);
}
DEFINE_ACTION_FUNCTION(AActor, Revive)
{
PARAM_SELF_PROLOGUE(AActor);
self->Revive();
return 0;
}
int AActor::GetGibHealth() const
{
IFVIRTUAL(AActor, GetGibHealth)

View file

@ -1018,6 +1018,7 @@ class Actor : Thinker native
native void A_Chase(statelabel melee = null, statelabel missile = null, int flags = 0);
native void A_Scream();
native void A_VileChase();
native bool A_CheckForResurrection();
native void A_BossDeath();
native void A_Detonate();
bool A_CallSpecial(int special, int arg1=0, int arg2=0, int arg3=0, int arg4=0, int arg5=0)
@ -1075,6 +1076,9 @@ class Actor : Thinker native
native void A_RaiseMaster(int flags = 0);
native void A_RaiseChildren(int flags = 0);
native void A_RaiseSiblings(int flags = 0);
native bool A_RaiseSelf(int flags = 0);
native bool CanRaise();
native void Revive();
action native bool, Actor A_ThrowGrenade(class<Actor> itemtype, double zheight = 0, double xyvel = 0, double zvel = 0, bool useammo = true);
native void A_Weave(int xspeed, int yspeed, double xdist, double ydist);
native bool A_Morph(class<Actor> type, int duration = 0, int flags = 0, class<Actor> enter_flash = null, class<Actor> exit_flash = null);