Halt frame-perfect egg crash.

(The code is slightly modified from what I put in bug-reports as a potential fix, but I'm glad I was on the right track.)
This commit is contained in:
toaster 2018-10-05 23:24:26 +01:00
parent 5a80d036e7
commit 2effb6adc3

View file

@ -494,11 +494,19 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
K_StripOther(player); K_StripOther(player);
player->kartstuff[k_itemroulette] = 1; player->kartstuff[k_itemroulette] = 1;
player->kartstuff[k_roulettetype] = 2; player->kartstuff[k_roulettetype] = 2;
if (special->target && special->target->player if (special->target && special->target->player)
&& (G_RaceGametype() || special->target->player->kartstuff[k_bumper] > 0)) {
player->kartstuff[k_eggmanblame] = special->target->player-players; if (G_RaceGametype() || special->target->player->kartstuff[k_bumper] > 0)
else player->kartstuff[k_eggmanblame] = special->target->player-players;
player->kartstuff[k_eggmanblame] = player-players; else
player->kartstuff[k_eggmanblame] = player-players;
if (special->target->hnext == special)
{
P_SetTarget(&special->target->hnext, NULL);
special->target->player->kartstuff[k_eggmanheld] = 0;
}
}
P_RemoveMobj(special); P_RemoveMobj(special);
return; return;