Hardcoded A_Boss5CheckFalling

This commit is contained in:
Monster Iestyn 2019-05-02 21:32:28 +01:00
parent 953a0c2967
commit 61eb05eab2
3 changed files with 31 additions and 0 deletions

View file

@ -2228,6 +2228,7 @@ static actionpointer_t actionpointers[] =
{{A_DoNPCPain}, "A_DONPCPAIN"},
{{A_Boss5ExtraRepeat}, "A_BOSS5EXTRAREPEAT"},
{{A_Boss5CheckOnGround}, "A_BOSS5CHECKONGROUND"},
{{A_Boss5CheckFalling}, "A_BOSS5CHECKFALLING"},
{{NULL}, "NONE"},

View file

@ -242,6 +242,7 @@ void A_CheckFlags2();
void A_DoNPCPain();
void A_Boss5ExtraRepeat();
void A_Boss5CheckOnGround();
void A_Boss5CheckFalling();
// ratio of states to sprites to mobj types is roughly 6 : 1 : 1
#define NUMMOBJFREESLOTS 256

View file

@ -268,6 +268,7 @@ void A_CryingToMomma(mobj_t *actor);
void A_CheckFlags2(mobj_t *actor);
void A_DoNPCPain(mobj_t *actor);
void A_Boss5CheckOnGround(mobj_t *actor);
void A_Boss5CheckFalling(mobj_t *actor);
//for p_enemy.c
//
@ -11982,3 +11983,31 @@ void A_Boss5CheckOnGround(mobj_t *actor)
actor->momy = (4*actor->momy)/5;
}
}
// Function: A_Boss5CheckFalling
//
// Description: Falling checker.
//
// var1 = state to change to when hitting ground.
// var2 = state to change to when falling.
//
void A_Boss5CheckFalling(mobj_t *actor)
{
INT32 locvar1 = var1;
INT32 locvar2 = var2;
#ifdef HAVE_BLUA
if (LUA_CallAction("A_Boss5CheckFalling", actor))
return;
#endif
if (actor->health && actor->extravalue2 > 1)
{
var1 = locvar1;
var2 = 0;
A_Boss5CheckOnGround(actor);
return;
}
if (P_MobjFlip(actor)*actor->momz <= 0)
P_SetMobjState(actor, locvar2);
}