Garden Top: track inexplicable changes in mobj pointers to avoid Top entering buggy state

This commit is contained in:
James R. 2023-09-14 02:42:25 -07:00
parent bdc564b989
commit a455822790
2 changed files with 12 additions and 1 deletions

View file

@ -11385,7 +11385,11 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
}
break;
case KITEM_GARDENTOP:
if (ATTACK_IS_DOWN && NO_HYUDORO)
if (player->curshield == KSHIELD_TOP && K_GetGardenTop(player) == NULL)
{
Obj_GardenTopDeploy(player->mo);
}
else if (ATTACK_IS_DOWN && NO_HYUDORO)
{
if (player->curshield != KSHIELD_TOP)
{

View file

@ -411,6 +411,13 @@ anchor_top (mobj_t *top)
return;
}
/* Rider lost track of this object. */
if (rider_top(rider) != top)
{
P_RemoveMobj(top);
return;
}
tilt(top);
anchor(top, rider, rider->angle, 0);