Pick-me-up Volt fixes

This commit is contained in:
Antonio Martinez 2025-05-16 21:41:28 -04:00
parent cd68b1145a
commit 7a7b0938ac
3 changed files with 18 additions and 3 deletions

View file

@ -403,10 +403,11 @@ bool is_object_tracking_target(const mobj_t* mobj)
case MT_LANDMINE:
case MT_BANANA:
case MT_BANANA_SHIELD:
case MT_GACHABOM:
return (mobj->target && !P_MobjWasRemoved(mobj->target) && (
(mobj->target->player && stplyr == mobj->target->player)
|| (mobj->target->player && G_SameTeam(stplyr, mobj->target->player))
));
) && P_CheckSight(stplyr->mo, const_cast<mobj_t*>(mobj)));
default:
return false;

View file

@ -8352,7 +8352,17 @@ static void K_MoveHeldObjects(player_t *player)
// If we can move our backup item into main slots, do so.
static void K_TryMoveBackupItem(player_t *player)
{
if (player->itemtype == KITEM_NONE && player->backupitemtype)
if (player->itemtype && player->itemtype == player->backupitemtype)
{
player->itemamount += player->backupitemamount;
player->backupitemtype = 0;
player->backupitemamount = 0;
S_StartSound(player->mo, sfx_mbs54);
}
if (player->itemtype == KITEM_NONE && player->backupitemtype && !(player->itemRoulette.active))
{
player->itemtype = player->backupitemtype;
player->itemamount = player->backupitemamount;
@ -15503,6 +15513,9 @@ static void K_PickUp(player_t *player, mobj_t *picked)
case MT_DROPTARGET_SHIELD:
type = KITEM_DROPTARGET;
break;
case MT_GACHABOM:
type = KITEM_GACHABOM;
break;
default:
type = KITEM_SAD;
break;
@ -15573,7 +15586,7 @@ boolean K_TryPickMeUp(mobj_t *m1, mobj_t *m2)
boolean allied = (inflictor->target == victim);
if (!allied)
if (!allied && inflictor->target && !P_MobjWasRemoved(inflictor->target))
if (inflictor->target->player && G_SameTeam(inflictor->target->player, victim->player))
allied = true;

View file

@ -5410,6 +5410,7 @@ static boolean P_IsTrackerType(INT32 type)
case MT_LANDMINE:
case MT_BANANA:
case MT_BANANA_SHIELD:
case MT_GACHABOM:
return true;
default: