Rebalance bubble shield

* Removes its ability to damage players
* Removes its ability to be dropped as a trap item
This makes it more of a "pure defense" item that's reliant on player timing
This commit is contained in:
Anonimus 2025-08-25 18:13:45 -04:00
parent 0884ad576c
commit 9eb18ba6d8
2 changed files with 5 additions and 21 deletions

View file

@ -582,18 +582,7 @@ boolean K_BubbleShieldCollide(mobj_t *t1, mobj_t *t2)
{
if (t2->type == MT_PLAYER)
{
if (P_PlayerInPain(t2->player)
|| t2->player->flashing || t2->player->hyudorotimer
|| t2->player->justbumped || t2->scale > t1->scale + (mapobjectscale/8))
return true;
// Player Damage
if (K_KartBouncing(t2, t1->target, false, true))
{
P_DamageMobj(t2, t1, t1->target, 1, DMG_NORMAL);
K_BubbleShieldCollideDrain(t1->target->player, t1);
S_StartSound(t2, sfx_s3k44);
}
// Ignore players.
return true;
}

View file

@ -11581,18 +11581,13 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
if (player->bubbleblowup > bubbletime*2)
{
player->itemamount--;
K_ThrowKartItem(player, (player->throwdir > 0), MT_BUBBLESHIELDTRAP, -1, 0);
K_PlayAttackTaunt(player->mo);
player->bubbleblowup = 0;
player->bubblecool = 0;
player->bubblepop = 0;
player->itemflags &= ~IF_HOLDREADY;
player->botvars.itemconfirm = 0;
}
// Jump straight to deflating the bubble.
goto bubbledeflate;
}z
}
else
{
bubbledeflate:
if (player->bubbleblowup > bubbletime)
player->bubbleblowup = bubbletime;