Fix pickmeup bubble shield

This commit is contained in:
Antonio Martinez 2025-05-17 16:54:57 -04:00
parent 54b3450768
commit 1009996ba4
4 changed files with 9 additions and 3 deletions

View file

@ -851,9 +851,6 @@ boolean K_BubbleShieldReflect(mobj_t *t1, mobj_t *t2)
boolean K_BubbleShieldCollide(mobj_t *t1, mobj_t *t2)
{
if (K_TryPickMeUp(t1, t2))
return true;
if (t2->type == MT_PLAYER)
{
// Counter desyncs

View file

@ -288,6 +288,7 @@ private:
case MT_BANANA:
case MT_BANANA_SHIELD:
case MT_GACHABOM:
case MT_BUBBLESHIELDTRAP:
return {
{ // Near
{2, TICRATE/2, {kp_pickmeup}, 0}, // 1P
@ -405,6 +406,7 @@ bool is_object_tracking_target(const mobj_t* mobj)
case MT_BANANA:
case MT_BANANA_SHIELD:
case MT_GACHABOM:
case MT_BUBBLESHIELDTRAP:
return (mobj->target && !P_MobjWasRemoved(mobj->target) && (
(mobj->target->player && stplyr == mobj->target->player)
|| (mobj->target->player && G_SameTeam(stplyr, mobj->target->player))
@ -908,6 +910,7 @@ void K_drawTargetHUD(const vector3_t* origin, player_t* player)
case MT_BANANA:
case MT_BANANA_SHIELD:
case MT_GACHABOM:
case MT_BUBBLESHIELDTRAP:
if (stplyr->mo->eflags & MFE_VERTICALFLIP)
{
pos.z -= itemOffset;

View file

@ -15547,6 +15547,9 @@ static void K_PickUp(player_t *player, mobj_t *picked)
case MT_GACHABOM:
type = KITEM_GACHABOM;
break;
case MT_BUBBLESHIELDTRAP:
type = KITEM_BUBBLESHIELD;
break;
default:
type = KITEM_SAD;
break;

View file

@ -667,6 +667,9 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
if (!player->mo || player->spectator)
return;
if (K_TryPickMeUp(special, toucher))
return;
// attach to player!
P_SetTarget(&special->tracer, toucher);
toucher->flags |= MF_NOGRAVITY;