Tweaks to the way the force whoosh is handled so it stays centered AND doesn't allow an infinitesimal jump.

This commit is contained in:
toasterbabe 2016-10-30 14:01:56 +00:00
parent 5a798bddbd
commit 08a4fc8382
2 changed files with 2 additions and 5 deletions

View File

@ -6824,6 +6824,7 @@ void P_MobjThinker(mobj_t *mobj)
whoosh->height = 38*whoosh->scale;
whoosh->fuse = 10;
whoosh->flags |= MF_NOCLIPHEIGHT;
whoosh->momz = mobj->target->momz; // Stay reasonably centered for a few frames
mobj->target->player->pflags &= ~PF_SHIELDABILITY; // prevent eternal whoosh
}
case MT_FLAMEAURA_ORB:

View File

@ -6992,11 +6992,7 @@ static void P_MovePlayer(player_t *player)
if ((player->powers[pw_shield] & ~(SH_FORCEHP|SH_STACK)) == SH_FORCE)
{
player->pflags |= PF_THOKKED|PF_SHIELDABILITY;
player->mo->momz = // would intentionally carry to post-endif line as multiple-assignment
#if 1 // almost imperceptible hop for the purposes of aligning with the aura for as long as possible
-4*P_GetMobjGravity(player->mo);
#endif
player->mo->momx = player->mo->momy = 0;
player->mo->momx = player->mo->momy = player->mo->momz = 0;
S_StartSound(player->mo, sfx_ngskid);
}
else