Bring back K_JustBumpedException again
This commit is contained in:
parent
3f2006590b
commit
aa39635f31
2 changed files with 18 additions and 3 deletions
20
src/k_kart.c
20
src/k_kart.c
|
|
@ -1988,6 +1988,22 @@ static boolean K_CheckMobjFlippedOver(mobj_t* mobj1, mobj_t* mobj2)
|
||||||
(mobj2->player && (mobj2->player->pflags & PF_JUSTFLIPPED)));
|
(mobj2->player && (mobj2->player->pflags & PF_JUSTFLIPPED)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static boolean K_JustBumpedException(mobj_t *mobj)
|
||||||
|
{
|
||||||
|
switch (mobj->type)
|
||||||
|
{
|
||||||
|
case MT_WALLSPIKE:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mobj->flags & MF_PUSHABLE)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean solid)
|
boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean solid)
|
||||||
{
|
{
|
||||||
mobj_t *fx;
|
mobj_t *fx;
|
||||||
|
|
@ -2034,13 +2050,13 @@ boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean sol
|
||||||
|
|
||||||
|
|
||||||
// Don't bump if you've recently bumped
|
// Don't bump if you've recently bumped
|
||||||
if (mobj1->player && mobj1->player->justbumped)
|
if (mobj1->player && mobj1->player->justbumped && !K_JustBumpedException(mobj2))
|
||||||
{
|
{
|
||||||
mobj1->player->justbumped = bumptime;
|
mobj1->player->justbumped = bumptime;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mobj2->player && mobj2->player->justbumped)
|
if (mobj2->player && mobj2->player->justbumped && !K_JustBumpedException(mobj1))
|
||||||
{
|
{
|
||||||
mobj2->player->justbumped = bumptime;
|
mobj2->player->justbumped = bumptime;
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -2361,7 +2361,6 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
K_KartPainEnergyFling(player);
|
K_KartPainEnergyFling(player);
|
||||||
break;
|
break;
|
||||||
case DMG_VOLTAGE:
|
case DMG_VOLTAGE:
|
||||||
painsound = false;
|
|
||||||
case DMG_NORMAL:
|
case DMG_NORMAL:
|
||||||
default:
|
default:
|
||||||
K_SpinPlayer(player, inflictor, source, KSPIN_SPINOUT);
|
K_SpinPlayer(player, inflictor, source, KSPIN_SPINOUT);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue