UCRP_UFOATTACKMETHOD: Only check roundconditions the frame the UFO is destroyed, not hit

This commit is contained in:
toaster 2023-10-17 12:49:50 +01:00
parent d11fe78e90
commit 3836cfddcb

View file

@ -855,7 +855,6 @@ static UINT8 GetUFODamage(mobj_t *inflictor, UINT8 damageType)
if (players[g_localplayers[i]].spectator)
continue;
players[i].roundconditions.ufodamaging |= ufodamaging;
players[i].roundconditions.checkthisframe = true;
}
}
@ -929,6 +928,18 @@ boolean Obj_SpecialUFODamage(mobj_t *ufo, mobj_t *inflictor, mobj_t *source, UIN
// Destroy the UFO parts, and make the emerald collectible!
UFOKillPieces(ufo);
{
UINT8 i;
for (i = 0; i <= splitscreen; i++)
{
if (!playeringame[g_localplayers[i]])
continue;
if (players[g_localplayers[i]].spectator)
continue;
players[i].roundconditions.checkthisframe = true;
}
}
ufo->flags = (ufo->flags & ~MF_SHOOTABLE) | (MF_SPECIAL|MF_PICKUPFROMBELOW);
ufo->shadowscale = FRACUNIT/3;