From a5f7d3691d5d435906dc0c68d49cfa5963b3fa59 Mon Sep 17 00:00:00 2001 From: Vaqtincha Date: Sun, 15 Dec 2024 20:00:14 +0500 Subject: [PATCH] add new cvar "bot_excellent_morale" --- README.md | 1 + dist/game.cfg | 9 ++++++++- regamedll/dlls/bot/cs_bot.h | 5 +++++ regamedll/dlls/bot/cs_bot_init.cpp | 2 ++ regamedll/dlls/bot/cs_bot_init.h | 1 + 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bdfc9f81..88c393b12 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ This means that plugins that do binary code analysis (Orpheu for example) probab | mp_ammo_respawn_time | 20 | 0.0 | - | The respawn time for ammunition. | | mp_vote_flags | km | 0 | - | Vote systems enabled in server.
`0` voting disabled
`k` votekick enabled via `vote` command
`m` votemap enabled via `votemap` command | | mp_votemap_min_time | 180 | 0.0 | - | Minimum seconds that must elapse on map before `votemap` command can be used. | +| bot_excellent_morale | 0 | 0 | 1 | Bots always have great morale regardless of defeat or victory. | diff --git a/dist/game.cfg b/dist/game.cfg index c5dad01c9..65ffb07ed 100644 --- a/dist/game.cfg +++ b/dist/game.cfg @@ -521,7 +521,7 @@ mp_give_c4_frags "3" // Default value: "1.0" mp_hostages_rescued_ratio "1.0" -// Legacy func_vehicle behavior when blocked by another entity. +// Legacy func_vehicle behavior when blocked by another entity. // New one is more useful for playing multiplayer. // // 0 - New behavior @@ -620,3 +620,10 @@ mp_vote_flags "km" // // Default value: "180" mp_votemap_min_time "180" + +// Bots always have great morale regardless of defeat or victory. +// 0 - disabled (default behaviour) +// 1 - enabled +// +// Default value: "0" +bot_excellent_morale "0" diff --git a/regamedll/dlls/bot/cs_bot.h b/regamedll/dlls/bot/cs_bot.h index 9670744f9..d6b369cb0 100644 --- a/regamedll/dlls/bot/cs_bot.h +++ b/regamedll/dlls/bot/cs_bot.h @@ -1109,6 +1109,11 @@ inline bool CCSBot::IsAtBombsite() inline CCSBot::MoraleType CCSBot::GetMorale() const { +#ifdef REGAMEDLL_ADD + if (cv_bot_excellent_morale.value != 0.0f) + return EXCELLENT; +#endif + return m_morale; } diff --git a/regamedll/dlls/bot/cs_bot_init.cpp b/regamedll/dlls/bot/cs_bot_init.cpp index 665b3c337..7b8ffb87b 100644 --- a/regamedll/dlls/bot/cs_bot_init.cpp +++ b/regamedll/dlls/bot/cs_bot_init.cpp @@ -65,6 +65,7 @@ cvar_t cv_bot_join_delay = { "bot_join_delay", "0", FCVAR_SERVER, 0. cvar_t cv_bot_freeze = { "bot_freeze", "0", 0, 0.0f, nullptr }; cvar_t cv_bot_mimic = { "bot_mimic", "0", 0, 0.0f, nullptr }; cvar_t cv_bot_mimic_yaw_offset = { "bot_mimic_yaw_offset", "0", 0, 0.0f, nullptr }; +cvar_t cv_bot_excellent_morale = { "bot_excellent_morale", "0", 0, 0.0f, nullptr }; #else // Migrated to bot_quota_mode, use "match" cvar_t cv_bot_quota_match = { "bot_quota_match", "0", FCVAR_SERVER, 0.0f, nullptr }; @@ -136,6 +137,7 @@ void Bot_RegisterCVars() CVAR_REGISTER(&cv_bot_freeze); CVAR_REGISTER(&cv_bot_mimic); CVAR_REGISTER(&cv_bot_mimic_yaw_offset); + CVAR_REGISTER(&cv_bot_excellent_morale); #endif } diff --git a/regamedll/dlls/bot/cs_bot_init.h b/regamedll/dlls/bot/cs_bot_init.h index b50e020c3..691c518f2 100644 --- a/regamedll/dlls/bot/cs_bot_init.h +++ b/regamedll/dlls/bot/cs_bot_init.h @@ -65,6 +65,7 @@ extern cvar_t cv_bot_join_delay; extern cvar_t cv_bot_freeze; extern cvar_t cv_bot_mimic; extern cvar_t cv_bot_mimic_yaw_offset; +extern cvar_t cv_bot_excellent_morale; #else extern cvar_t cv_bot_quota_match; #endif