Players with bubbleblowup aren't guarding

This commit is contained in:
Antonio Martinez 2025-06-25 15:33:45 -04:00
parent dd0b9a97fc
commit 4e23ebe95b

View file

@ -1185,6 +1185,11 @@ boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2)
boolean guard1 = K_PlayerGuard(mobj1->player); boolean guard1 = K_PlayerGuard(mobj1->player);
boolean guard2 = K_PlayerGuard(mobj2->player); boolean guard2 = K_PlayerGuard(mobj2->player);
if (mobj1->player->bubbleblowup)
guard1 = false;
if (mobj2->player->bubbleblowup)
guard2 = false;
if (guard1 && guard2) if (guard1 && guard2)
K_DoPowerClash(mobj1, mobj2); K_DoPowerClash(mobj1, mobj2);
else if (guard1) else if (guard1)
@ -4556,12 +4561,16 @@ void K_DoPowerClash(mobj_t *t1, mobj_t *t2) {
UINT8 lag1 = 5; UINT8 lag1 = 5;
UINT8 lag2 = 5; UINT8 lag2 = 5;
boolean stripbubble = (gametyperules & GTR_BUMPERS);
// short-circuit instashield for vfx visibility // short-circuit instashield for vfx visibility
if (t1->player) if (t1->player)
{ {
t1->player->instashield = 1; t1->player->instashield = 1;
t1->player->speedpunt += 20; t1->player->speedpunt += 20;
lag1 -= min(lag1, t1->player->speedpunt/10); lag1 -= min(lag1, t1->player->speedpunt/10);
if (stripbubble && t1->player->curshield == KSHIELD_BUBBLE)
K_PopBubbleShield(t1->player);
} }
if (t2->player) if (t2->player)
@ -4569,6 +4578,8 @@ void K_DoPowerClash(mobj_t *t1, mobj_t *t2) {
t2->player->instashield = 1; t2->player->instashield = 1;
t2->player->speedpunt += 20; t2->player->speedpunt += 20;
lag2 -= min(lag1, t2->player->speedpunt/10); lag2 -= min(lag1, t2->player->speedpunt/10);
if (stripbubble && t2->player->curshield == KSHIELD_BUBBLE)
K_PopBubbleShield(t2->player);
} }
S_StartSound(t1, sfx_parry); S_StartSound(t1, sfx_parry);