From e45cef44df8b05d823991e513a58eb285f4ed63b Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Mon, 12 Dec 2022 04:35:51 -0500 Subject: [PATCH] Make bots stop roulette instead of waiting it out Done in kind of a lazy way, might revisit later. --- src/k_botitem.c | 18 +++--------------- src/k_roulette.c | 4 ++++ 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/k_botitem.c b/src/k_botitem.c index e3054aa69..fe0837c84 100644 --- a/src/k_botitem.c +++ b/src/k_botitem.c @@ -1394,27 +1394,15 @@ static void K_BotItemRings(player_t *player, ticcmd_t *cmd) --------------------------------------------------*/ static void K_BotItemRouletteMash(player_t *player, ticcmd_t *cmd) { - boolean mash = false; - if (K_ItemButtonWasDown(player) == true) { return; } - if (player->rings < 0 && K_ItemEnabled(KITEM_SUPERRING) == true) - { - // Uh oh, we need a loan! - // It'll be better in the long run for bots to lose an item set for 10 free rings. - mash = true; - } + // TODO: Would be nice to implement smarter behavior + // for selecting items. - // TODO: Mash based on how far behind you are, when items are - // almost garantueed to be in your favor. - - if (mash == true) - { - cmd->buttons |= BT_ATTACK; - } + cmd->buttons |= BT_ATTACK; } /*-------------------------------------------------- diff --git a/src/k_roulette.c b/src/k_roulette.c index 62d8e7fd1..5a0d73ebb 100644 --- a/src/k_roulette.c +++ b/src/k_roulette.c @@ -823,6 +823,10 @@ static void K_CalculateRouletteSpeed(player_t *const player, itemroulette_t *con } roulette->tics = roulette->speed = ROULETTE_SPEED_FASTEST + FixedMul(ROULETTE_SPEED_SLOWEST - ROULETTE_SPEED_FASTEST, total); + + // Make them select their item after a little while. + // One of the few instances of bot RNG, would be nice to remove it. + player->botvars.itemdelay = P_RandomRange(PR_UNDEFINED, TICRATE, TICRATE*3); } void K_StartItemRoulette(player_t *const player, itemroulette_t *const roulette)