Commit graph

111 commits

Author SHA1 Message Date
jeefo
3009b4f50a
bot: add basic support to play as zombie bot
aim: check that we're actually hit the target in body checks
2023-05-08 00:44:14 +03:00
jeefo
2b2b82ee13
fix: bot is marked as stale when not needed
bot: port enemy noticeable function from regamedll
2023-05-07 01:04:09 +03:00
jeefo
cf9817ab10
bot: remove detection of official csbot
not sure for what it was used before
2023-05-06 20:32:49 +03:00
jeefo
a616f25b1a
bot: implemented asynchronous pathfinding
nav: floyd-warshall matrices and practice updates are done asynchronously by now
add: yb_threadpool_workers cvar, that controls number of worker threads bot will use
add: cv_autovacate_keep_slots, the amount of slots to keep by auto vacate
aim: enemy prediction is now done asynchronously by now
bot: minor fixes and refactoring, including analyze suspend mistake (ref #441)

note: the master builds are now NOT production ready, please test before installing on real servers!
2023-05-06 20:14:03 +03:00
jeefo
e7712a551a
backport: nodes flooder (analyzer) from cs-ebot
analyze: allow to disable goal marking
analyze: add cvars descriptions and bounds
nav: added optional post path smoothing for astar algorithm
nav: now bots will use Dijkstra algo instead of floyd-warshall if memory usage too high (controlled via yb_path_floyd_memory_limit cvar) (fixes #434)
nav: vistable are now calculated every frame to prevent game-freeze during loading the game (fixes #434)
graph: pracrice reworked to hash table so memory footprint is as low as possible (at cost 5-10% performance loss on practice) (fixes #434)
control: bots commands now is case-insensitive
bot: major refactoring of bot's code
nav: issue warnings about path fail only with debug
practice: check for visibility when updating danger index
analyzer: suspend any analyzing on change level
control: add kickall_ct/kickall_t
nav: increase blocked distance in stuck check
2023-05-02 09:42:43 +03:00
jeefo
bb2e93a539
fix: potential division by zero 2023-04-25 09:12:06 +03:00
Владислав Сухов
851cb2ab93 fix: some typos in cvar descriptions, etc. 2023-04-19 06:39:18 +00:00
jeefo
2765eed7ac
crlib: switch to new hashmap 2023-04-15 04:10:09 +03:00
jeefo
5b7e58d360
nav: tweaked reachability timers
nav: ignore pickup item if stuck
fix: bad loading for graphs since last commit
2023-04-13 14:07:56 +03:00
jeefo
77c39812f8
build: disable control-flow architecture protection
fix: building since last commit
2023-04-13 03:23:59 +03:00
jeefo
9c73a070b7
aim: do not reduce prediction for grenades
refactor: standardize access to bot files
graph: allow to specify graph upload url via cvar
graph. do not spam if extensions files  are not found
2023-04-13 03:05:35 +03:00
jeefo
7c76c57974
mgr: enable balancing bot difficulty on interval instead of on new round (closes #400) 2023-04-12 23:03:36 +03:00
jeefo
6aabe20e95
aim: do not pick enemies wearing FL_NOTARGET flag 2023-04-12 21:36:48 +03:00
jeefo
085c4aab85
bot: remove check for weapon switch time by now 2023-04-12 11:28:57 +03:00
jeefo
1a650c57ce
graph: reworked buckets so they can handle very large number of nodes
graph: reworked buckets so they can handle very large number of nodes
aim: bots should more respect headshot allow option (needs testing)
aim: incorporated never-finished changes from pr #204
nav: increased reachability timers a bit
nav: ensure buckets has enough nodes before use they
conf: introduced max recoil in difficulty config file
bot: overall fixes to jason mode, treat knife in hands and no weapons as jason mode too
bot: changed default difficulty level for bots to level 3
fix: knife attacks not working since last commit (fixes #429)
fix: hostage rescue not working since last commit (fixes #427)
refactor: use range loops for graph outside graph class when possible
2023-04-11 22:32:28 +03:00
jeefo
29c00565dc
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
jeefo
722e4eda93
nav: send terrorists directly guard planted bomp
aim: various fixes and tweaks
bot: removed yb_whose_your_daddy cvar
2023-04-04 16:53:01 +03:00
jeefo
38f2716edb
chatter: do not respect timers while discconnecting bot (ref #424 )
combat: tweaked combat behavior a little (do not use strafe in narrow places)
2023-04-03 11:55:01 +03:00
jeefo
9ddcef2dd4
aim: reducec headshot pct, if bot is too highskilled
aim: new cpu-friendly headshot penetration function (yb_shoots_thru_walls 3). still testing
nav: use more high range for checking occupied point.
nav: if last navigation node is used by someone, assume route ended
2023-04-02 14:13:52 +03:00
jeefo
53df621dfc
build: reworked build and package to simplify process
build: reworked build and package to simplify process
build: windows dll is now compiled by clang, msvc build added to extras package
fix: clear all the implicit conversions in the code (also fixed some bugs)
fix: crash on  never xash3d-fwgs engine
fix: fixed bad bot behaviors on aarch64
fix: crash on some maps due to missing previous node
fix: finally removed memset(this) within bot creatin
2023-04-02 12:17:12 +03:00
jeefo
d6d3af5b02
fix: mingw-w64 compile on windows
added ldscript from metamod-p, so mingw-compiled binaries will load by vanilla hl engine (without metamod) without crashes
2023-03-25 15:59:11 +03:00
jeefo
19c5e6dd4d
fix: do rotation instantly, and not on round start
so it works on infinite round like in csdm
2023-03-25 05:01:58 +03:00
jeefo
40a81e3378
add: bot rotation feature
if yb_rotate_bots is enabled, bot will stay on server between yb_rotate_stay_min and yb_rotate_stay_max cvar, and then will be kicked off the server, another bot will be connected with a different (hopefully) name due to quota balancing.
2023-03-25 04:36:21 +03:00
jeefo
8916dd2b70
nav: allow to get more distant nodes to defend
aim: apply distance restriction for aiming node if not suspecting/hearing enemy
nav: tweaked a little node reachability distances
add: yb_avoid_grenades cvar
ai: bot's will try to cover if blinded and highskilled
2023-03-23 15:22:29 +03:00
jeefo
6d24e1bbd7
fix: fraction check in visibility table
misc: bump vistable version, and erase old-version vistables
2023-03-23 09:57:23 +03:00
jeefo
2718adbb8f
fix: code formatting 2023-03-13 15:39:15 +03:00
Владислав Сухов
4be2448626 add: 5th playerclass for condition zero 2023-02-07 10:19:40 +00:00
jeefo
84c2794aed
fix: crash with menus and commands (resolves #292) 2023-02-02 16:52:28 +03:00
jeefo
9d8318e584
fix: probably fix for duplicate bot names when save names active (ref #403) 2023-02-01 21:19:17 +03:00
jeefo
0b64162c24
yapb: bump version to 4.3 2023-01-28 18:58:00 +03:00
Владислав Сухов
da574c11b3 add: teamkill chatter event 2023-01-24 14:38:08 +00:00
Владислав Сухов
2d2ca5fd22
Some menu tweaks (#397)
* add: debug goal menu and new node flags to the flag selection menu

* translate: russian: translated new lines

* update: bump the year
2023-01-22 19:12:03 +06:00
jeefo
0a45ea6ad7
graph: add adjust_height per request (resolves #388)
this command adjusts height (z-component) of all the graph nodes on map with specified height offset, negative height offset can be passed as parameter as well.
2022-12-22 21:32:45 +03:00
jeefo
e1d64b62ce
fix: revert graph version to 2
add: allow loading of graphs with different versions for future bot versions.
2022-10-03 11:20:06 +03:00
jeefo
fd7b722fd8
add: make graph author read-only if graph file already has author upon load (resolves #369) 2022-09-21 14:47:36 +03:00
dmitry
10db943cdf
fix: unrelated client messages by resetting client command issuer, if not handled by the bot (related #360 ) 2022-09-10 15:47:41 +03:00
jeefo
b606b78cda
improve: use ScoreAttrib message to detect if bot is a VIP or not. (#356)
This should resolve problems with bot behavior, when plugins changes VIP player model to something else.
2022-08-03 23:59:57 +03:00
Владислав Сухов
4a9065bbda
fix: typos 2022-04-26 21:57:36 +06:00
dmitry
af992c374c
fix: wrong data type for flash level (flashbat message) 2022-04-14 12:36:23 +03:00
dmitry
e659495942
fix: increase maximum message length that can me shown on center of screen (resolves #322 ) 2022-04-03 15:29:42 +03:00
dmitry
06774a4282
fix: do not prevent buying on fy_* maps, (fix #325)
If you need to prevent bots buying on specific map use map-cfg with yb_botbuy 0.
2022-04-03 14:43:29 +03:00
dmitry
201626df91
fix: print queue isn't resetted on changelevel (fix #314) 2022-03-01 21:45:52 +03:00
dmitry
ce01e28be3
fix: prevent bots from staying forever trying to destroy breakable (fixes #288) 2022-02-22 13:51:59 +03:00
dmitry
4fe4f30d39
add: implement autosaving graph data (fixes #249) 2022-01-16 01:57:21 +03:00
dmitry
d402f38295
add: add current map and current time to graph editing overlay
fix: send client messages as unreliable to prevent reliable channel overflow (should solve problems when editing large number of waypoints on single location)
2022-01-16 01:14:11 +03:00
dmitry
ae0156ff42
fix: game menus are still executed when yapb menu is showed (fixes #271) 2022-01-15 23:18:58 +03:00
dmitry
e21e9a71c9
update: bump the year 2022-01-04 00:23:19 +03:00
dmitry
80890c25e1
fix: graph urls
update: yapb.cfg with latest cvars
2022-01-04 00:10:36 +03:00
godhand897
f55ac6c5c4
fix: hostage code (#269)
fix: hostage code
add: yb_random_knife_attacks cvar
2022-01-03 09:18:36 +03:00
dmitry
215e1c15d9
add: yb_object_pickup_radius cvar. fixes #256.
refactor: switch from yapb.ru to yapb.jeefo.net as default url.
2021-11-15 12:10:18 +03:00