mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-03-26 21:11:51 +00:00
Merge branch 'no-bot-ballhog' into 'master'
Disable bot ballhog See merge request kart-krew-dev/ring-racers-internal!2675
This commit is contained in:
commit
5fff2a9c46
4 changed files with 31 additions and 0 deletions
|
|
@ -2160,3 +2160,10 @@ void K_UpdateBotGameplayVars(player_t *player)
|
|||
|
||||
K_UpdateBotGameplayVarsItemUsage(player);
|
||||
}
|
||||
|
||||
boolean K_BotUnderstandsItem(kartitems_t item)
|
||||
{
|
||||
if (item == KITEM_BALLHOG)
|
||||
return false; // Sorry. MRs welcome!
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -401,6 +401,7 @@ void K_BotItemUsage(const player_t *player, ticcmd_t *cmd, INT16 turnamt);
|
|||
|
||||
void K_BotPickItemPriority(player_t *player);
|
||||
|
||||
boolean K_BotUnderstandsItem(kartitems_t item);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
|
|
|||
|
|
@ -9584,6 +9584,11 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
player->pflags2 &= ~PF2_SUPERTRANSFERVFX;
|
||||
}
|
||||
|
||||
if (K_PlayerUsesBotMovement(player) && !K_BotUnderstandsItem(player->itemtype) && player->itemamount)
|
||||
{
|
||||
K_DropItems(player);
|
||||
}
|
||||
|
||||
if (player->transfer)
|
||||
{
|
||||
if (player->fastfall)
|
||||
|
|
|
|||
|
|
@ -929,6 +929,9 @@ static void K_PushToRouletteItemList(itemroulette_t *const roulette, INT32 item)
|
|||
--------------------------------------------------*/
|
||||
static void K_AddItemToReel(const player_t *player, itemroulette_t *const roulette, kartitems_t item)
|
||||
{
|
||||
if (player && K_PlayerUsesBotMovement(player) && !K_BotUnderstandsItem(item))
|
||||
return;
|
||||
|
||||
K_PushToRouletteItemList(roulette, item);
|
||||
|
||||
if (player == NULL)
|
||||
|
|
@ -1235,6 +1238,17 @@ static boolean K_TimingPermitsItem(kartitems_t item, const itemroulette_t *roule
|
|||
return true;
|
||||
}
|
||||
|
||||
static void K_FixEmptyRoulette(const player_t *player, itemroulette_t *const roulette)
|
||||
{
|
||||
if (roulette->itemListLen > 0)
|
||||
return;
|
||||
|
||||
if (K_PlayerUsesBotMovement(player)) // Bots can't use certain items. Give them _something_.
|
||||
K_PushToRouletteItemList(roulette, KITEM_SUPERRING);
|
||||
else // Players can use all items, so this should never happen.
|
||||
K_PushToRouletteItemList(roulette, KITEM_SAD);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
void K_FillItemRouletteData(const player_t *player, itemroulette_t *const roulette, boolean ringbox, boolean dryrun)
|
||||
|
||||
|
|
@ -1379,6 +1393,7 @@ void K_FillItemRouletteData(const player_t *player, itemroulette_t *const roulet
|
|||
if (K_ForcedSPB(player, roulette) == true)
|
||||
{
|
||||
K_AddItemToReel(player, roulette, KITEM_SPB);
|
||||
K_FixEmptyRoulette(player, roulette);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1403,6 +1418,7 @@ void K_FillItemRouletteData(const player_t *player, itemroulette_t *const roulet
|
|||
// singleItem = KITEM_SAD by default,
|
||||
// so it will be used when all items are turned off.
|
||||
K_AddItemToReel(player, roulette, singleItem);
|
||||
K_FixEmptyRoulette(player, roulette);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1758,6 +1774,8 @@ void K_FillItemRouletteData(const player_t *player, itemroulette_t *const roulet
|
|||
|
||||
totalSpawnChance--;
|
||||
}
|
||||
|
||||
K_FixEmptyRoulette(player, roulette);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue