mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-28 12:10:42 +00:00
Find bestrank for 7 sec limit enforcement
This commit is contained in:
parent
62b9754407
commit
4ad32b23d9
1 changed files with 23 additions and 23 deletions
|
@ -8359,6 +8359,28 @@ void A_SPBChase(mobj_t *actor)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Find the player with the best rank
|
||||||
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
|
{
|
||||||
|
if (!playeringame[i] || players[i].spectator || players[i].exiting)
|
||||||
|
continue; // not in-game
|
||||||
|
|
||||||
|
if (!players[i].mo)
|
||||||
|
continue; // no mobj
|
||||||
|
|
||||||
|
if (players[i].mo->health <= 0)
|
||||||
|
continue; // dead
|
||||||
|
|
||||||
|
/*if (players[i].kartstuff[k_respawn])
|
||||||
|
continue;*/ // respawning
|
||||||
|
|
||||||
|
if (players[i].kartstuff[k_position] < bestrank)
|
||||||
|
{
|
||||||
|
bestrank = players[i].kartstuff[k_position];
|
||||||
|
player = &players[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (actor->extravalue1 == 1) // MODE: TARGETING
|
if (actor->extravalue1 == 1) // MODE: TARGETING
|
||||||
{
|
{
|
||||||
if (actor->tracer && actor->tracer->health)
|
if (actor->tracer && actor->tracer->health)
|
||||||
|
@ -8379,7 +8401,7 @@ void A_SPBChase(mobj_t *actor)
|
||||||
defspeed -= (9*R_PointToDist2(0, 0, actor->tracer->player->cmomx, actor->tracer->player->cmomy))/8; // Be fairer on conveyors
|
defspeed -= (9*R_PointToDist2(0, 0, actor->tracer->player->cmomx, actor->tracer->player->cmomy))/8; // Be fairer on conveyors
|
||||||
|
|
||||||
// Switch targets if you're no longer 1st for long enough
|
// Switch targets if you're no longer 1st for long enough
|
||||||
if (actor->tracer->player->kartstuff[k_position] == 1)
|
if (actor->tracer->player->kartstuff[k_position] <= bestrank)
|
||||||
actor->extravalue2 = 7*TICRATE;
|
actor->extravalue2 = 7*TICRATE;
|
||||||
else if (actor->extravalue2-- <= 0)
|
else if (actor->extravalue2-- <= 0)
|
||||||
actor->extravalue1 = 0; // back to SEEKING
|
actor->extravalue1 = 0; // back to SEEKING
|
||||||
|
@ -8492,28 +8514,6 @@ void A_SPBChase(mobj_t *actor)
|
||||||
{
|
{
|
||||||
actor->lastlook = -1; // Just make sure this is reset
|
actor->lastlook = -1; // Just make sure this is reset
|
||||||
|
|
||||||
// Find the player with the best rank
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
|
||||||
{
|
|
||||||
if (!playeringame[i] || players[i].spectator || players[i].exiting)
|
|
||||||
continue; // not in-game
|
|
||||||
|
|
||||||
if (!players[i].mo)
|
|
||||||
continue; // no mobj
|
|
||||||
|
|
||||||
if (players[i].mo->health <= 0)
|
|
||||||
continue; // dead
|
|
||||||
|
|
||||||
/*if (players[i].kartstuff[k_respawn])
|
|
||||||
continue;*/ // respawning
|
|
||||||
|
|
||||||
if (players[i].kartstuff[k_position] < bestrank)
|
|
||||||
{
|
|
||||||
bestrank = players[i].kartstuff[k_position];
|
|
||||||
player = &players[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// No one there?
|
// No one there?
|
||||||
if (player == NULL || !player->mo)
|
if (player == NULL || !player->mo)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue