aim: verify camp angles from nav data before using them
aim: tweaked a bit grenade handling, so bots should use them more
aim: reduce time between selecting grenade and throwing it away
aim: removed hacks in look angles code, due to removing yb_whoose_your_daddy cvar
aim: use direct enemy origin from visibility check, and not re-calculate it
aim: update enemy prediction, so it now depends on frame interval for a bot
aim: additional height offset are tweaked, and now used only for difficulty 4
nav: tweaked a bit player avoidance code, and it's not preventing bot from checking terrain
nav: do not check banned nodes, when bucket sizes re too low
nav: cover nodes are now selected depending on total bots on server
nav: let bot enter pause task after long jump
nav: extend velocity by a little for a jump, like it was in first versions of bot
nav: stuck checking is now taken in account lower minimal speed if bot is ducking
fix: navigation reachability timers, so bots will have correct current node index while camping
fix: bots are unable to finish pickup or destroy breakable task, if target is not reachable
fix: cover nodes are now calculated as they should
fix: manual calling bots add_[t/ct] now ignores yb_join_team cvar
bot: tweaked a little difficulty levels, so level 4 is now nightmare level, and 3 is very heard
bot: minor refactoring and moving functions to correct source file
bot: add yb_economics_disrespect_percent, so bots can ignore economics and buy more different guns
bot: add yb_check_darkness that allows to disable darkness checks for bot, thus disallowing usage of flashlight
bot: camp buttons are now lightly depends on bot health
chat: welcome chat message from bots is now sent during first freeze time period
crlib: switch over to stdint.h and remove crlib-own types
crlib: fixed alignment in sse code
2023-04-07 14:46:49 +03:00
|
|
|
//
|
|
|
|
|
// YaPB - Counter-Strike Bot based on PODBot by Markus Klinge.
|
|
|
|
|
// Copyright © 2004-2023 YaPB Project <yapb@jeefo.net>.
|
|
|
|
|
//
|
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
// noise types
|
|
|
|
|
CR_DECLARE_SCOPED_ENUM (Noise,
|
|
|
|
|
NeedHandle = cr::bit (0),
|
|
|
|
|
HitFall = cr::bit (1),
|
|
|
|
|
Pickup = cr::bit (2),
|
|
|
|
|
Zoom = cr::bit (3),
|
|
|
|
|
Ammo = cr::bit (4),
|
|
|
|
|
Hostage = cr::bit (5),
|
|
|
|
|
Broke = cr::bit (6),
|
|
|
|
|
Door = cr::bit (7),
|
|
|
|
|
Defuse = cr::bit (8)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
class BotSounds final : public Singleton <BotSounds> {
|
|
|
|
|
private:
|
|
|
|
|
HashMap <String, int32_t> m_noiseCache {};
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
BotSounds ();
|
|
|
|
|
~BotSounds () = default;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
// attaches sound to client struct
|
|
|
|
|
void listenNoise (edict_t *ent, StringRef sample, float volume);
|
|
|
|
|
|
|
|
|
|
// simulate sound for players
|
|
|
|
|
void simulateNoise (int playerIndex);
|
|
|
|
|
};
|
|
|
|
|
|
2023-05-12 22:12:22 +03:00
|
|
|
// expose global
|
aim: verify camp angles from nav data before using them
aim: tweaked a bit grenade handling, so bots should use them more
aim: reduce time between selecting grenade and throwing it away
aim: removed hacks in look angles code, due to removing yb_whoose_your_daddy cvar
aim: use direct enemy origin from visibility check, and not re-calculate it
aim: update enemy prediction, so it now depends on frame interval for a bot
aim: additional height offset are tweaked, and now used only for difficulty 4
nav: tweaked a bit player avoidance code, and it's not preventing bot from checking terrain
nav: do not check banned nodes, when bucket sizes re too low
nav: cover nodes are now selected depending on total bots on server
nav: let bot enter pause task after long jump
nav: extend velocity by a little for a jump, like it was in first versions of bot
nav: stuck checking is now taken in account lower minimal speed if bot is ducking
fix: navigation reachability timers, so bots will have correct current node index while camping
fix: bots are unable to finish pickup or destroy breakable task, if target is not reachable
fix: cover nodes are now calculated as they should
fix: manual calling bots add_[t/ct] now ignores yb_join_team cvar
bot: tweaked a little difficulty levels, so level 4 is now nightmare level, and 3 is very heard
bot: minor refactoring and moving functions to correct source file
bot: add yb_economics_disrespect_percent, so bots can ignore economics and buy more different guns
bot: add yb_check_darkness that allows to disable darkness checks for bot, thus disallowing usage of flashlight
bot: camp buttons are now lightly depends on bot health
chat: welcome chat message from bots is now sent during first freeze time period
crlib: switch over to stdint.h and remove crlib-own types
crlib: fixed alignment in sse code
2023-04-07 14:46:49 +03:00
|
|
|
CR_EXPOSE_GLOBAL_SINGLETON (BotSounds, sounds);
|