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
This commit is contained in:
jeefo 2023-04-11 22:32:28 +03:00
commit 1a650c57ce
No known key found for this signature in database
GPG key ID: 927BCA0779BEA8ED
14 changed files with 426 additions and 347 deletions

View file

@ -19,11 +19,12 @@
; headshotProbability - Probability bot should aim at head instead of body if body and head both visible.
; seenThruWallChance - Chance the bot will attack enemy if he believes he's there and just seen him.
; heardThruWallChance - Chance the bot will attack enemy if he believes he's there and just heard him.
; maxWeaponRecoil - Maximum weapon recoil to compensate by pausing fire.
; aimError - (x, y, z) offsets to add aim error to bot aiming
;
Noob = 0.8, 1.0, 5, 0, 0
Easy = 0.6, 0.8, 30, 10, 10
Normal = 0.4, 0.6, 50, 30, 40
Hard = 0.2, 0.4, 75, 60, 70
Expert = 0.1, 0.2, 100, 90, 90
Noob = 0.8, 1.0, 5, 0, 0, 38, 30.0, 30.0, 40.0
Easy = 0.6, 0.8, 10, 0, 10, 32, 15.0, 15.0, 24.0
Normal = 0.4, 0.6, 50, 30, 40, 26, 5.0, 5.0, 10.0
Hard = 0.2, 0.4, 75, 60, 70, 23, 0.0, 0.0, 0.0
Expert = 0.1, 0.2, 100, 90, 90, 21, 0.0, 0.0, 0.0

View file

@ -60,6 +60,13 @@ yb_radio_mode "2"
//
yb_economics_rounds "1"
//
// Allows bots to ignore economics and buy weapons with disrespect of economics.
// ---
// Default: "25", Min: "0", Max: "100"
//
yb_economics_disrespect_percent "25"
//
// Specifies whether bots able to use 'shift' if they thinks that enemy is near.
// ---
@ -81,6 +88,13 @@ yb_camping_allowed "1"
//
yb_avoid_grenades "1"
//
// Allows or disallows bot to check environment for darkness, thus allows or not to use flashlights or NVG.
// ---
// Default: "1", Min: "0", Max: "1"
//
yb_check_darkness "1"
//
// Lower bound of time from which time for camping is calculated
// ---
@ -193,6 +207,13 @@ yb_ignore_objectives "0"
//
yb_random_knife_attacks "1"
//
// Maximum number for path length, to predict the enemy.
// ---
// Default: "30", Min: "15", Max: "256"
//
yb_max_nodes_for_predict "30"
//
// Enables or disables bots chat functionality.
// ---
@ -210,7 +231,7 @@ yb_chat_percent "30"
//
// Specifies whether bots able to fire at enemies behind the wall, if they hearing or suspecting them.
// ---
// Default: "2", Min: "0", Max: "2"
// Default: "2", Min: "0", Max: "3"
//
yb_shoots_thru_walls "2"
@ -407,9 +428,9 @@ yb_name_prefix ""
//
// All bots difficulty level. Changing at runtime will affect already created bots.
// ---
// Default: "4", Min: "0", Max: "4"
// Default: "3", Min: "0", Max: "4"
//
yb_difficulty "4"
yb_difficulty "3"
//
// Lower bound of random difficulty on bot creation. Only affects newly created bots. -1 means yb_difficulty only used.