Merge branch 'bots-flame-shield' into 'master'

Fix bot Flame Shield

See merge request KartKrew/Kart!1775
This commit is contained in:
Sal 2024-01-04 11:00:47 +00:00
commit 94b2711e30
3 changed files with 72 additions and 8 deletions

View file

@ -1931,7 +1931,14 @@ void K_UpdateBotGameplayVars(player_t *player)
}
else
{
player->botvars.spindashconfirm += player->cmd.bot.spindashconfirm;
if (player->cmd.bot.spindashconfirm < 0 && abs(player->cmd.bot.spindashconfirm) > player->botvars.spindashconfirm)
{
player->botvars.spindashconfirm = 0;
}
else
{
player->botvars.spindashconfirm += player->cmd.bot.spindashconfirm;
}
}
if (K_TryRingShooter(player) == true)

View file

@ -1812,13 +1812,71 @@ void K_UpdateBotGameplayVarsItemUsage(player_t *player)
return;
}
player->botvars.itemconfirm += player->cmd.bot.itemconfirm;
if (player->itemRoulette.active == true)
if (player->cmd.bot.itemconfirm < 0 && abs(player->cmd.bot.itemconfirm) > player->botvars.itemconfirm)
{
// Mashing behaviors
K_UpdateBotGameplayVarsItemUsageMash(player);
return;
player->botvars.itemconfirm = 0;
}
else
{
player->botvars.itemconfirm += player->cmd.bot.itemconfirm;
}
if (player->itemflags & IF_USERINGS)
{
;
}
else
{
if (player->itemRoulette.active == true)
{
// Mashing behaviors
K_UpdateBotGameplayVarsItemUsageMash(player);
return;
}
if (player->stealingtimer == 0)
{
if (player->eggmanexplode)
{
;
}
else if (player->itemflags & IF_EGGMANOUT)
{
;
}
else if (player->rocketsneakertimer > 0)
{
;
}
else
{
switch (player->itemtype)
{
default:
{
break;
}
case KITEM_FLAMESHIELD:
{
if (player->botvars.itemconfirm == 0
&& (player->itemflags & IF_HOLDREADY) == IF_HOLDREADY)
{
INT32 flamemax = player->flamelength;
if (player->flamemeter < flamemax || flamemax == 0)
{
;
}
else
{
player->botvars.itemconfirm = (3 * flamemax / 4) + (TICRATE / 2);
}
}
break;
}
}
}
}
}
}

View file

@ -12288,7 +12288,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
else
{
player->itemflags |= IF_HOLDREADY;
player->botvars.itemconfirm = 3*flamemax/4;
if (!(gametyperules & GTR_CLOSERPLAYERS) || leveltime % 6 == 0)
{