Note: This mod is for the server only, because its a mutator. Please do not subscribe to it on your client-side.
The goal of this mod is to improve the AI to make the coop has better experience and better gameplay.
You will be able to fully customize the configs and settings of this mod. We will see if we can change the AI and improve them like making them peek while they are behind the cover. They will know how to change their position and give themselves a better position to target the player. They will know when to use grenade at the right time and call for support and such.
All configs will go in your game.ini and under the line
You do not have to put all the configs. Only use the config you want to change the default value to something you want. The configs that aren't present in your game.ini file, it will be automatic use the default value below.
The BotSkillCfg is originally part of the game but we weren't able to fully config it to the way we want it to be. With this mod, you will able to modify the config to the way you want without changing it in the theater. If you are not an advanced user then I suggest you look at other mod that changes bot skill config.
This BotSkillCfg will not work with any mod that changes the bot skill config in the theater file like Tactical Bots. If the theater file only changes player slot, class, weapon, or other stuff without changing the bot skill then it will work. This whole BotSkillCfg is made using blueprint nodes.
Regardless if BotSkillCfg gets override by other mod or not, other features like custom bot behavior and custom bot name in this mod will still work.
;Use BotSkillCfg from this mod instead of default from base game
;If you are using a mod that override BotSkillCfg, then this option is useless
;Distance from this sound that we confirm our target is an enemy
;Distance from this sound that we can hear the target
;Speed this AI turns at
;Time before we start attacking at close targets
;Time before we start attacking at distant targets
;Range we consider to be maximum distance for spot checks
;Range we consider to be close range for spot checks
;Multiplier applied to spotting chance
;The higher, the more accurate. 1.0 is easy, 4.0 is hard
;Multiply our spread by this much when fully suppressed
;Change weapon type config for bot like changing the accuracy for that weapon and such
;List of weapon types
;Weapon configs type
;MaxDistance (Distance we can shoot at, otherwise we try to get closer)
;MinAttackDegrees (Start attacking when our aim on the target by this much)
;MaxAttackDegrees (Stop attacking when our aim off the target by this much)
;ProjectileSpreadZeroTimeFar (How fast we zero in on the target when target is far)
;ProjectileSpreadZeroTimeClose (How fast we zero in on the target when target is close)
;BloatBoxMin (Our bloat box after zeroing) (Require X and Y)
;BloatBoxMax (Our bloat box at first sight) (Require X and Y)
WeaponCategoryConfigs=((Launcher, (MinAttackDegrees=1.000000, MaxAttackDegrees=2.000000, ProjectileSpreadZeroTimeFar=0.000000, ProjectileSpreadZeroTimeClose=0.000000, BloatBoxMax=(X=200.000000,Y=100.000000))), (MarksmanRifle, (MinAttackDegreesClose=10.000000, ProjectileSpreadZeroTimeFar=8.000000, BloatBoxMin=(X=50.000000,Y=50.000000), BloatBoxMax=(X=150.000000,Y=100.000000))), (BoltRifle, (MinAttackDegreesClose=10.000000, MaxAttackDegrees=0.500000, BloatBoxMin=(X=25.000000,Y=25.000000), BloatBoxMax=(X=150.000000,Y=80.000000))), (Shotgun, (MinAttackDegrees=1.000000, MaxAttackDegrees=2.000000, ProjectileSpreadZeroTimeFar=5.000000, ProjectileSpreadZeroTimeClose=2.500000, BloatBoxMin=(X=75.000000,Y=75.000000), BloatBoxMax=(X=150.000000,Y=150.000000))), (LightMachineGun, (MinAttackDegrees=2.000000, MaxAttackDegrees=3.000000, ProjectileSpreadZeroTimeFar=8.000000, BloatBoxMin=(X=75.000000,Y=75.000000), BloatBoxMax=(X=150.000000,Y=150.000000))), (HeavyMachineGun, (MinAttackDegrees=2.000000, MaxAttackDegrees=3.000000, BloatBoxMin=(X=75.000000,Y=75.000000), BloatBoxMax=(X=200.000000,Y=150.000000))), (SubmachineGun, (MinAttackDegrees=1.000000, MaxAttackDegrees=2.000000, ProjectileSpreadZeroTimeFar=5.000000, ProjectileSpreadZeroTimeClose=1.500000, BloatBoxMin=(X=25.000000,Y=25.000000), BloatBoxMax=(X=100.000000,Y=75.000000))))
;The default config for all weapons that isn't in WeaponCategoryConfigs
DefaultCategoryConfig=(MaxDistance=30000.000000, MinAttackDegrees=1.000000, MinAttackDegreesClose=20.000000, MaxAttackDegrees=2.000000, ProjectileSpreadZeroTimeFar=4.000000, ProjectileSpreadZeroTimeClose=1.500000, BloatBoxMin=(X=25.000000,Y=25.000000), BloatBoxMax=(X=175.000000,Y=100.000000))
Reactions for specific stance (Standing, Crouched, and Prone)
;Chance of spotting in percentage
;Changing the bot behaviour. Allowing them what kind of behaviour they can be use in game
;Make sure you include the class, the path, and don't miss a single quotation
;List of behaviours
;Distance from our enemy we need to be to door breach
;When throwing a grenade, try to give this much time before it detonates after impact (so bots don't throw aiburst grenades)
;Only throw grenades at unreachable targets (used in Frenzy)
;Grenade Inaccuracy Max Distance
;Only throw grenades once every N seconds per squad
;X and Y location where the grenade will land around that area. If X=1.0 and Y=1.0 then grenade will be really accurate.
;If we are in cover and have > this suppression, get lower (While firing at a target)
;If we are in cover and have > this suppression, get lower
;If we are in cover and have <= this suppression, stand back up
;Minimum time we should stay in cover after cowering to avoid flip flopping
;Apply ambush bonuses when our target is within this distance
;The higher this is, the faster bots react to targets when ambushing
;The higher this is, the more accurate bots are when ambushing
;The higher this is, the faster bots turn when ambushing
;Time fully restore morale when shattered
;Morale lost when a nearby teammate is headshot
;Morale lost when a nearby teammate is killed
;Morale lost when a nearby teammate is killed in a gruesome way (burning, chemicals etc.)
;Morale < than this means the bot will start to retreat
;Morale > than this means the bot can fight again after retreating
Custom Bot Behavior Configs
These are custom bot behavior I made using the blueprints that we have. It can change how bot behaves. It still needs more work and testing. If you do not wish to use these, you can disable them. These bot behaviors will not change BotSkillCfg. It just another behavior on top of it.
Aim at Closest Target
;Amount of second delay before finding another closest target
;Enable bot to aim at the closest target base on the distance
;Line of sight check for bot (Disabling this will just make bot target the closest target without LOS)
;Aim at target base on the priority type
;Example for Sprint, it will only aim at the target if they are sprinting and the rest that are on top of Sprint (Idle, Interesting, LastSeenThreat, and Footsteps)
;List of Priority Type
Note: Aiming at the target doesn't mean they will shoot at them. BotSkillCfg will before the one trigger the weapon fire and the accuracy or you can use the Force Firing behavior I made.
;Enable to force bot to find the closest area to cover
;Amount of X seconds before looking for new cover
;Having least seconds will make bot keep trying to moving from cover to cover instead of shooting their target
;Also find cover right away when bot is taking damage but didn't die yet
;Bot will only stay in cover when bot's morale is less than or equal to this value after getting a new cover
;No morale at all = 0.0 Thats when bot is taking a lot of damage and teammate is dying a lot
;Max morale = 100.0
Note: This cover behavior is just to force the bot to find a new hiding area. The base game cover will still apply to this. BotSkillCfg cover will be the one changing the bot stance like prone. Using this behavior will make the game longer because bot tends to stay in cover more.
;Strafing is from UE4
;It allow the bot to run and slide and shoot at the same time
;This is disabled by default. Enable it will make game pace faster and the bot will run and gun at you more often
;Force bot to fire at player
;Require bLOS and from bForceAimAtClosestTarget from Aim at closest target config
;Chance to trigger when bForceFiring is enabled, every X second base on AimDelay
Note: Force Firing is base on Aim at Closest Target. It will only fire if the closest target is found. If that feature is disabled then this force firing will not work.
Custom Bot Names
This feature will work regardless if you are using another mod that is replacing the BotSkillCfg or not. This is made using blueprints/nodes.
All bot names are randomly picked and you have to set them in
BotNameList. If bot amount exceeds the bot name list then bot name won't be changed.
The bot names will be automatic updates with new bot joins or leaves. If a bot is using a player name and that player left the game. That bot name will be replaced.
Remember if you have a duplicated bot name on the list, it will only appear once.
;Enable the custom bot names feature
;If you don't like custom bot names and you want to use other feature from the mutator then you can disable this
;Enable prefix tag for the bot name
;The prefix tag to display for bot
;Give your own space if you want a space between bot tag and bot name
;Bot also use player name and add it to the bot name list only if the player is present in game
;List of bot names
If something isn't working, please report it so I can fix it. All feedbacks are welcome!
If you like my mod and you want to support me, you can make a donation in my profile.