Here's what the Engineer AI does so far. Should I be adding anything? Note that a Sequence performs one after the other, and Selector performs all regardless of whether the previous is complete.
Because it's an engineer maybe it should plop down walls when it first sees an enemy then engage. It's basically what I do when I engy at least. I don't know how you are dealing with cover in this though, so unless they actually use it walls might just end up clogging things up or become a nuisance for the team. I also don't know if engys will have that ability, or at least if bots will, so this might be a moot post. Actually, what's the limit of these engy bots? Are they basically the same loadout as players to fill in low pop servers or larger battlefields or super basic bots comms can buy?
You missed out one very important thing. For "HasUnbuiltBuildingInRange", YOU DON'T WANT THESE ENGI BOTS TO BUILD EVERY SINGLE PIECE OF WALL THEY SEE. Sorry for caps but that's how important it is. In most of the cases, we drop walls to provide partial cover, we don't want to build the walls. I would personally choke the bot to death if he builds the very piece of wall that I intend to use as a cover. Also, unless you don't want the bots to be too smart, or too effective, you can add a few random move commands (duck,strafe..etc) when they are firing at the enemies.
They'll always crouch when firing if possible, and yeah i'll exclude walls from the UnbuiltBuildings check.
Looks pretty good imo, but how will ai engies react to enemy vehicles? If they won't build walls and turrets, they should probably atleast not walk into them or waste bullets shooting a tank.
I'm a little confused about the HasUnoccupiedOrEnemyRefInRange part, if he sees an enemy ref, will he just shoot at it? or throw nades? there is just no choose weapon box, like for detecting enemy. and what if he runs out of nades? will the engi proceed to finish the ref of with his calculator? or put down an ammo crate to refill? Also, what about just seeing enemy buildings or turrets?
PlaceAmmoBoxNearPlayerIfRequestPlayerInRangeOrSomething when players ask for ammo in bot's range of effect. Make sure to not have 50 engineer bots place 50 ammo boxes. And bots don't stop trying to drop ammo before they actually drop it for the specific player etc. Imagine 50 bots running and dying trying to get an ammo box to security who waits behind a wall in the front lines in canyon. It's ww1 all over again
This reminds me, how are you handling friendly fire? As in is it going to be there at all or what? With the way people drive even if they had the best tank dodging ai ever empire players will hit these engys every time.
Will the AI be able to competently control vehicles? Like knowing how to flank and protect sides of the tank where armor has been depleted, or retreat to repairpad?