Commit graph

122 commits

Author SHA1 Message Date
jeefo
816e020978
fix: bots re-pickup same weapon multiple times (fiex #523)
fix: ammo pickup isn't working due to mistake between numbers and indexes
2024-02-16 22:01:01 +03:00
jeefo
c662f4a08f
refactor: break some very long conditions 2024-02-16 00:57:41 +03:00
jeefo
375a64b861
nav: reworked bot dropping on pathfinder failure 2024-02-15 23:57:54 +03:00
jeefo
7b7ae7020b
bot: added basic support for zombie plague warmup mode
Controllable via yb_ignore_enemies_after_spawn_time, and automatically set from zp_delay cvar.
2024-02-15 05:42:52 +03:00
commandcobra7
eea78ac031
nav: rusher bots does not care any danger (idea from pbmm) nav: some changes in collision motion 2024-02-04 15:32:13 +03:00
jeefo
d82124e595
bot: return of the cheat cvar yb_whose_your_daddy (resolved #513)
combat: resolve strafe movement issues
combat: resolve bots always standing still with pistols and shotguns
vision: take a look at recent victim for some time before changing view angles
control: allow bots to be killed silently (ref #514) via commands
control: bots that are killed with auto kill timer are now killed silently
2024-01-29 08:08:07 +03:00
jeefo
bf91ef2831
fix: bots at difficulty 0 unable to do anything useful
fix: lang configs unable to parse last translated line (fixes #340)
fix: last enemy isn't  cleared instantly with dead entity anymore
fix: bot weakness in pistol rounds
analyzer: improved optimization of useless nodes
linkage: make inability to call gamedll player( non-fatal
linkage: fixed bot boot  on WON engines pre 2000 builds (support for beta 6.5 restored)
cvars: added suupport to revert all cvars to defaults via 'yb cvars defaults'
cvars: added cv_preferred_personality  to select bot default personality
refactor: use single function to send hud messages over the bot code
bot: added random original podbot welcome message to preserve origins of this bot
conf: shuffle bot names and chatter items on conflig load
conf: simplified a bit chatter.cfg syntax (old syntax  still works
build: added support for building with CMake (thanks @Velaron)
refactor: rall the memory hooks moved into their one cpp file
2024-01-19 00:03:45 +03:00
jeefo
69963f49b4
bot: zero out seeking cover chance on csdm
... thus not seek to cover or hiding when playing csdm
2023-11-26 01:54:47 +03:00
jeefo
948b441541
fix: bad maxspeed after respawn with csdm (ref #482)
fix: free for all mode has no friends or foes
chat: disable dead chat on csdm
2023-09-14 16:48:36 +03:00
commandcobra7
ae9beff151
fix: texts have been corrected. (#477)
task: normal: skip sniper node if no sniper weapon.
task: normal: don't walk if there are no enemies left and they are using knives.
task: attack: get proper function if bots lose close node after attack task.
nav: unnecessary codes cleared.
combat: attack movements reviewed.
bot: enemy hearing is now better. (thanks for the @spodlesniy idea)
desire: increased desire to seek cover by distance. (made for zombie plague mod)
---------
Co-authored-by: jeefo <jeefo@rwsh.ru>
2023-09-10 11:12:15 +03:00
Владислав Сухов
5fcfb3df40
fix: typo in comment 2023-08-22 17:59:23 +06:00
jeefo
5fddfed5ce
refactor: move wave length calculation to util class 2023-08-22 09:45:29 +03:00
jeefo
fb301b7b19
control: add g path_clean to remove all links from node (#475)
refactor: small cosmetic changes
2023-08-08 11:48:37 +03:00
commandcobra7
a06418b3b3
aim: now looks at next node while navigating (#472) 2023-07-27 01:19:19 +03:00
jeefo
18456c2a28
bot: remove repeated, hardcoded prefixes for cvars 2023-07-21 21:43:36 +03:00
jeefo
7a7a9c3146
fix: nav: overlap between occupied node check and player avoid distance
fix: bot: debug overlay flickering in some situations
2023-07-06 14:00:48 +03:00
jeefo
bb6117feb0
nav: do not switch back to primary weapon, if escaping from bomb
revert: some of thread-workers stuff done previous commits due to stability issues
2023-07-02 19:25:18 +03:00
jeefo
93d9187f6d
fix: crash on predicted node index use after wiped
refactor: reworked prediction to calc prediction for all bots at one job, instead of firing it for every bot
2023-06-29 20:17:46 +03:00
jeefo
5ce2032acd
bot: switch look/body angles updates to thread worker
build: msvc projects now again targets msvc by default
2023-06-28 19:48:51 +03:00
jeefo
3d2579c7ea
graph: move light level calculation to thread worker
fix: nodes with light level 0.0 should trigger bots flashlight now
fix: gcc and msvc builds due to mistake in crlib
refactor: add more const-correctness (ongoing)
2023-06-24 03:23:22 +03:00
jeefo
4a35a87b25
refactor: use squared distance if possible
refactor: add some const-correctness to code
2023-06-24 02:36:51 +03:00
jeefo
a49a4000c9
aim: improved ladder handling view direction
aim: improved enemy prediction once again
nav: bots with hostages will try to take all hostages that are near with him instead of going directly to rescue zone
manager: fixed engine errors when removing bots with kickall with instant parameter
graph: strip http:// prefix from graph upload url, it should be always http for now
bot: improve handling of smoke grenades on ground (restored code from old yapb2 branch)
2023-06-23 19:52:46 +03:00
jeefo
214b56f37b
fix: make ammo pickups actually to work
fix: buy: bots never buy enough ammo for secondary weapons
fix: yb_pickup_best disabling all pickups instead of weapons only
add: yb_pickup_ammo_and_kits, that allows to enable ammos medkits and kevlars
refactor: switched to crlib strings where possible
refactor: fix some compiler warnings at high levels
refactor: move constants to separate header (thx @spodlesniy)
2023-06-20 15:18:35 +03:00
jeefo
690d09a5d7
nav: do not avoid anyone in narrow places
nav: increase recent-probe repeat time
bot: allow to camp with secondary weapon if enough friends alive
bot:  think runs now at minimum 50fps, instead of every frame on xash3d
bot: make multilingual system work on xash3d (except menus right now)
engine: mark xash3d engine as modern game version
engine: add xash3d-specific cvars that are not  registered on goldsrc
cfg: do not spam on logs if multilingual or chatter configs not loaded because of game version
2023-06-13 19:55:03 +03:00
jeefo
0b8cd9a01c
bot: benefit from sse4.x intrinsics if cpu capable
bot: speed some string functions if sse 4.x available
build: allow to build with native optimizations by settings -Dnative=true
2023-06-09 06:27:04 +03:00
jeefo
7f07817c52
fix: query hook not working on linux 2023-06-08 16:59:52 +03:00
jeefo
b816cd39aa
aim: fix: ensure pathfinder succeeded when predicting
bot: support for x64 xash fwgs builds
2023-05-25 05:20:30 +03:00
jeefo
fcda101224
aim: fix: check last enemy not current enemy in prediction 2023-05-25 00:07:03 +03:00
jeefo
9ff97c1997
aim: wipe prediction if destination is not index isn't exists
bot: remove copyright year, and provide original author nickname
lang: fix some spelling
2023-05-24 23:41:23 +03:00
commandcobra7
9ae7c38b80
fix: removed unnecessary codes in ladder handling
fix: collision case the bot can jump if it's not on the ladder, so it won't press the jump button when going up the ladder
2023-05-15 11:44:02 +03:00
jeefo
57f5c1f323
nav: pause a little if doing jump sequence 2023-05-12 22:41:53 +03:00
jeefo
7f4d4748fa
fix: center-screen messages not appearing (fix: #446)
fix: crash when creating too much threads
refactor: fix typos in comments in headers
2023-05-12 22:12:22 +03:00
jeefo
7b58d51973
bot: refactor and clean up old code
fix: crash when saving old format pwf on hlds
bot: moved sdk headers to separate submodule
nav: improved unstuck and avoidance (thanks @commandcobra7) code
bot: use correct path slashes depending on platform for all data
cfg: removed simplified chines' translation, as it's too outdated
2023-05-12 20:00:06 +03:00
jeefo
48e157c7b4
nav: allow null-velocity jump links
nav: fix: bots failure to switch weapon back after jump
refactor: re-organize some sources
2023-05-10 09:08:34 +03:00
jeefo
61a4f17263
bot: cosmetic fixes 2023-05-08 23:54:38 +03:00
jeefo
ffffca3fd9
aim: tweaks to fail predict code 2023-05-08 21:48:59 +03:00
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
0072bbb413
aim: fail prediction more correctly 2023-05-07 13:21:49 +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
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
Владислав Сухов
851cb2ab93 fix: some typos in cvar descriptions, etc. 2023-04-19 06:39:18 +00:00
jeefo
048f47e863
fix: clear grenade pointers before checking active grenades (ref #436) 2023-04-17 12:59:26 +03:00
jeefo
2765eed7ac
crlib: switch to new hashmap 2023-04-15 04:10:09 +03:00
jeefo
4a00459c26
bot: minor tweaks to knife mode behaviour 2023-04-13 22:48:48 +03:00
jeefo
5bc4e1c675
fix: do not apply knife mode if we're just have knife in hands
nav: increase search radius in checking node reachability
2023-04-13 21:12:49 +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
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
a088528f46
nav: removed strange behavior for ducking when hunting 2023-04-12 23:41:27 +03:00
jeefo
cb115b1881
nav: reduce a little nav reach time timer
nav: switch back to main weapon only if on the floor
2023-04-12 22:50:26 +03:00