Buggy netgame! Sorry yalls.

* Fix free play on intermission.
* Fix crash in killing/damaging mobj with null death/pain state.
This commit is contained in:
toaster 2018-07-29 23:07:10 +01:00
parent 74e182237a
commit 0dddf7623a
2 changed files with 17 additions and 31 deletions

View file

@ -3492,22 +3492,25 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
break; break;
} }
target->reactiontime = 0; // we're awake now... if (!P_MobjWasRemoved(target))
if (source && source != target)
{ {
// if not intent on another player, target->reactiontime = 0; // we're awake now...
// chase after this one
P_SetTarget(&target->target, source); if (source && source != target)
if (target->state == &states[target->info->spawnstate] && target->info->seestate != S_NULL)
{ {
if (player) // if not intent on another player,
// chase after this one
P_SetTarget(&target->target, source);
if (target->state == &states[target->info->spawnstate] && target->info->seestate != S_NULL)
{ {
if (!(player->powers[pw_super] && ALL7EMERALDS(player->powers[pw_emeralds]))) if (player)
P_SetPlayerMobjState(target, target->info->seestate); {
if (!(player->powers[pw_super] && ALL7EMERALDS(player->powers[pw_emeralds])))
P_SetPlayerMobjState(target, target->info->seestate);
}
else
P_SetMobjState(target, target->info->seestate);
} }
else
P_SetMobjState(target, target->info->seestate);
} }
} }

View file

@ -493,25 +493,8 @@ void Y_IntermissionDrawer(void)
dotimer: dotimer:
if (netgame) // FREE PLAY? if (netgame && forcefreeplay) // FREE PLAY?
{ K_drawKartFreePlay(intertic);
i = MAXPLAYERS;
if (!forcefreeplay)
{
// check to see if there's anyone else at all
for (i = 0; i < MAXPLAYERS; i++)
{
if (i == consoleplayer)
continue;
if (playeringame[i] && !stplyr->spectator)
break;
}
}
if (i == MAXPLAYERS)
K_drawKartFreePlay(intertic);
}
if (timer) if (timer)
{ {