From 08706fcacb4ada0bdb22ef200b9552274b93bc13 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Wed, 22 Jun 2022 15:25:08 -0700 Subject: [PATCH] BotLib: Basic respect for bot_skill cvar. --- src/botlib/bot.qc | 15 ++++++++++++++- src/botlib/bot_combat.qc | 18 ++++++++++++++++-- src/botlib/cvar.h | 9 +++++++++ 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/botlib/bot.qc b/src/botlib/bot.qc index 918a5049..39f66cce 100644 --- a/src/botlib/bot.qc +++ b/src/botlib/bot.qc @@ -139,7 +139,20 @@ bot::SeeThink(void) if (autocvar_bot_pacifist) return; - m_flSeeTime = time + 0.25f; + /* reaction time, in a way */ + switch (cvar("bot_skill")) { + case 1: + m_flSeeTime = time + 0.5f; + break; + case 2: + m_flSeeTime = time + 0.25f; + break; + case 3: + m_flSeeTime = time + 0.15f; + break; + default: + m_flSeeTime = time + 1.0f; + } for (entity w = world; (w = findfloat(w, ::takedamage, DAMAGE_YES));) { float flDot; diff --git a/src/botlib/bot_combat.qc b/src/botlib/bot_combat.qc index 6f859560..95817274 100644 --- a/src/botlib/bot_combat.qc +++ b/src/botlib/bot_combat.qc @@ -93,8 +93,22 @@ bot::WeaponAttack(void) input_buttons |= INPUT_BUTTON0; } - if (m_wtWeaponType != WPNTYPE_FULLAUTO) - m_flAttackTime = time + 0.1f; + /* this might not affect much */ + if (m_wtWeaponType != WPNTYPE_FULLAUTO) { + switch (cvar("bot_skill")) { + case 1: + m_flAttackTime = time + 0.25f; + break; + case 2: + m_flAttackTime = time + 0.10f; + break; + case 3: + m_flAttackTime = time + 0.05f; + break; + default: + m_flAttackTime = time + 1.0; + } + } } else { input_buttons &= ~INPUT_BUTTON0; input_buttons &= ~INPUT_BUTTON4; diff --git a/src/botlib/cvar.h b/src/botlib/cvar.h index 84967707..641f4a87 100644 --- a/src/botlib/cvar.h +++ b/src/botlib/cvar.h @@ -21,4 +21,13 @@ var int autocvar_bot_aimless = FALSE; var int autocvar_nav_linksize = 256; var int autocvar_nav_radius = 8; +typedef enum +{ + BOTSKILL_EASY = 1, + BOTSKILL_MEDIUM, + BOTSKILL_HARD +} botskill_e; + +var botskill_e autocvar_bot_skill = 2; + var string autocvar_bot_prefix = "";