Declare checkbase for both sides of the if statement

This commit is contained in:
fickleheart 2020-01-12 09:11:57 -06:00
parent e60ba92a92
commit 8a6173a3f2
1 changed files with 37 additions and 42 deletions

View File

@ -1451,9 +1451,11 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
if (player->starpostnum >= special->health)
return; // Already hit this post
if (cv_coopstarposts.value && G_GametypeUsesCoopStarposts() && (netgame || multiplayer))
{
mobj_t *checkbase = (special->spawnpoint && (special->spawnpoint->options & MTF_AMBUSH)) ? special : toucher;
if (cv_coopstarposts.value && G_GametypeUsesCoopStarposts() && (netgame || multiplayer))
{
for (i = 0; i < MAXPLAYERS; i++)
{
if (playeringame[i])
@ -1484,16 +1486,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
{
// Save the player's time and position.
player->starposttime = leveltime;
if (special->spawnpoint && (special->spawnpoint->options & MTF_AMBUSH))
{
player->starpostx = special->x>>FRACBITS;
player->starposty = special->y>>FRACBITS;
}
else
{
player->starpostx = toucher->x>>FRACBITS;
player->starposty = toucher->y>>FRACBITS;
}
player->starpostx = checkbase->x>>FRACBITS;
player->starposty = checkbase->y>>FRACBITS;
player->starpostz = special->z>>FRACBITS;
player->starpostangle = special->angle;
player->starpostscale = player->mo->destscale;
@ -1505,6 +1499,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
player->starpostnum = special->health;
S_StartSound(toucher, special->info->painsound);
}
}
P_ClearStarPost(special->health);