Merge branch 'snifferbot-spectapalooza' into 'master'

Prevent bots from smelling spectators (resolves #238)

Closes #238

See merge request KartKrew/Kart!1801
This commit is contained in:
Sal 2024-01-14 21:05:43 +00:00
commit 5a659d7a6c
2 changed files with 23 additions and 15 deletions

View file

@ -542,21 +542,28 @@ static UINT32 K_BotRubberbandDistance(const player_t *player)
continue;
}
if (playeringame[i] && players[i].bot)
if (!playeringame[i] || players[i].spectator)
{
// First check difficulty levels, then score, then settle it with port priority!
if (player->botvars.difficulty < players[i].botvars.difficulty)
{
pos += 3;
}
else if (player->score < players[i].score)
{
pos += 2;
}
else if (i < portpriority)
{
pos += 1;
}
continue;
}
if (!players[i].bot)
{
continue;
}
// First check difficulty levels, then score, then settle it with port priority!
if (player->botvars.difficulty < players[i].botvars.difficulty)
{
pos += 3;
}
else if (player->score < players[i].score)
{
pos += 2;
}
else if (i < portpriority)
{
pos += 1;
}
}

View file

@ -543,6 +543,7 @@ static BlockItReturn_t K_FindObjectsForNudging(mobj_t *thing)
break;
case MT_PLAYER:
if (thing->player
&& !thing->player->spectator
&& !thing->player->hyudorotimer
&& !g_nudgeSearch.botmo->player->hyudorotimer)
{
@ -902,7 +903,7 @@ static BlockItReturn_t K_FindPlayersToBully(mobj_t *thing)
return BMIT_CONTINUE;
}
if (!thing->player)
if (!thing->player || thing->player->spectator)
{
return BMIT_CONTINUE;
}