Skip to content

Commit

Permalink
Exports various resurrection-related functions to ZScript.
Browse files Browse the repository at this point in the history
  • Loading branch information
Marisa Kirisame authored and Rachael Alexanderson committed Oct 4, 2018
1 parent 59c8d8f commit c3894ee
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 1 deletion.
25 changes: 24 additions & 1 deletion src/p_actionfunctions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions src/p_enemy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
7 changes: 7 additions & 0 deletions src/p_mobj.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 4 additions & 0 deletions wadsrc/static/zscript/actor.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit c3894ee

Please sign in to comment.