Merge branch 'more-fucking-cheating' into 'master'

Bot-aware 2.4 mechanics

See merge request KartKrew/Kart!2445
This commit is contained in:
Oni 2024-09-01 18:20:53 +00:00
commit 398f1cdc9b
5 changed files with 14 additions and 5 deletions

View file

@ -1433,7 +1433,11 @@ static void K_BotItemRings(const player_t *player, ticcmd_t *cmd)
{
ZoneScoped;
INT32 saferingsval = 16 - K_GetKartRingPower(player, false);
INT32 overdrivepreference = player->amps/3;
if (player->position <= 1)
overdrivepreference = 0;
INT32 saferingsval = 16 - K_GetKartRingPower(player, false) - overdrivepreference;
if (leveltime < starttime)
{

View file

@ -4140,6 +4140,12 @@ void K_AwardPlayerRings(player_t *player, UINT16 rings, boolean overload)
}
}
void K_CheckpointCrossAward(player_t *player)
{
player->exp += K_GetExpAdjustment(player);
K_AwardPlayerRings(player, (player->bot ? 20 : 10), true);
}
boolean K_Overdrive(player_t *player)
{
if (player->amps == 0)

View file

@ -139,6 +139,7 @@ angle_t K_MomentumAngleReal(const mobj_t *mo);
boolean K_PvPAmpReward(UINT32 award, player_t *attacker, player_t *defender);
void K_SpawnAmps(player_t *player, UINT8 amps, mobj_t *impact);
void K_AwardPlayerAmps(player_t *player, UINT8 amps);
void K_CheckpointCrossAward(player_t *player);
void K_AwardPlayerRings(player_t *player, UINT16 rings, boolean overload);
boolean K_Overdrive(player_t *player);
boolean K_DefensiveOverdrive(player_t *player);

View file

@ -684,8 +684,7 @@ void __attribute__((optimize("O0"))) Obj_CrossCheckpoints(player_t* player, fixe
}
}
player->exp += K_GetExpAdjustment(player);
K_AwardPlayerRings(player, 10, true);
K_CheckpointCrossAward(player);
player->gradingpointnum++;
K_UpdatePowerLevels(player, player->laps, false);

View file

@ -2118,8 +2118,7 @@ static void K_HandleLapIncrement(player_t *player)
}
}
player->exp += K_GetExpAdjustment(player);
K_AwardPlayerRings(player, 10, true);
K_CheckpointCrossAward(player);
player->gradingpointnum++;
if (player->position == 1 && !(gametyperules & GTR_CHECKPOINTS))