Fixed chain launching

In the process, the stasis flags work like you'd expect them to.
You can now set them in Lua or code and they'll actually do something.
This commit is contained in:
Inuyasha 2016-02-14 12:28:03 -08:00
parent 5d1c8d2968
commit 7c5adacc6f
2 changed files with 9 additions and 2 deletions

View File

@ -1339,6 +1339,9 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
}
else
player->pflags |= PF_ITEMHANG;
// Can't jump first frame
player->pflags |= PF_JUMPSTASIS;
return;
case MT_BIGMINE:
case MT_BIGAIRMINE:

View File

@ -6340,8 +6340,7 @@ static void P_MovePlayer(player_t *player)
if (!(player->powers[pw_nocontrol] & (1<<15)))
player->pflags |= PF_JUMPSTASIS;
}
else
player->pflags &= ~PF_FULLSTASIS;
// note: don't unset stasis here
if (!player->spectator && G_TagGametype())
{
@ -8928,6 +8927,11 @@ void P_PlayerThink(player_t *player)
if (!player->mo)
return; // P_MovePlayer removed player->mo.
// Unset statis flags after moving.
// In other words, if you manually set stasis via code,
// it lasts for one tic.
player->pflags &= ~PF_FULLSTASIS;
#ifdef POLYOBJECTS
if (player->onconveyor == 1)
player->cmomy = player->cmomx = 0;