AI-Uveso (v112) - AI mod for FAForever

Uveso's AI Mod

for Supreme Commander: Forged Alliance Forever v1.5.3697+
This mod supports Nomads.

AI-Uveso <only for FAF> v112
AI-Uveso-Mod-v112.zip

DownloadSize: 257 KB, Unpacked: 1.93 MB
Downloadable from Vault: Yes.

How to install:

Unpack the archive.

Copy the "AI-Uveso" folder from inside the Mods directory to:

C:\...User...\My Games\Gas Powered games\Supreme Commander Forged Alliance\Mods\

Features:

5 new sub AI's:

  • AI: Adaptive; Balanced AI, builds Land, Air, Naval and Experimental units.
  • AI: Overwhelm; Like AI-Adaptive, but increases cheat+build factor by 0.6 after 35 minutes and again by 0.6 after 60 minutes.
  • AI: Rush; T1, T2 and T3 unit spam with fast tech upgrade and few experimentals.
  • AI: Experimentals; Builds a few units and is focussing on building experimental units.
  • AI: Easy; Builds a few units and does not attack the enemy base. But it will defend its base.

(For Turtle Play use a adaptive cheat AI with a cheat+build factor of 1.4 on a 10x10 map.)

Unless other AIs it works also well with low unitcap like 250 or even 125 units.
( a unitcap of 700+ is still recommended)

New functions:

  • Same functionality on maps with and without AI path markers. (Game is slower without markers.)

  • Option to autocreate AI Map marker incl. printing into the game.log for copy&past (Into map_save.lua)

  • New target function can handle 2 lakes maps like setons clutch, and has the same functionality with or without AI markers.

  • Homeless units (no platoon, stucked etc) will now return to the nearest location for new orders.

  • New eco system does not cancel buildorders if eco is low.

  • AI detects paragon like buildings for more build power.

  • Engineers will set to pause while assisting if eco is too low.

  • New mass extractor upgrade logic. AI spends 40% of its overall income for mass upgrades. (can dynamically change)

  • AI will first upgrade mass extractors near main base, not in order how they where build.

  • AI can/will build support factories.

  • AI supports multifaction build and upgrades. (captured units and All Faction mod)

  • New nuke AI function for new attack modes with strategical missiles like overwhelm or Jericho bombardment.

  • Additional build platoons in case a paragon like structure is build. (Mass nukes, Experimantals spam etc)

  • Reworked AI pathfinding function (Edsger Dijkstra's A Star algorithm) - 400% faster than the original GPG algorithm.

  • New location range manager is adjusting the influence radius of location managers to prevent overlapping areas.

  • New engineer transfer function to move idle engineers from expansions back to main base for better build power.

  • Units will not simply be killed on unitcap, they will be send to the enemy or reclaimed.

  • Special platton form builder for mods. (Hydrocarbon upgrader for Black Ops etc.)

  • New buildconditions for platoon builder and former.

  • New unit category "AMPHIBIOUS" to form amphibious platoons. (All amphibious units get this category injected. Also units from mods.)

  • New unit category "FLOATING", same as amphibious.

  • Debug function to validate maps gives warnings if a map has bad AI path marker, mass points etc.

  • Debug function to visualize AI Pathfinding

  • Debug function for Platoons. Renames a unit with its Platoon name.

  • Debug function for Buildermanger to test/view build priorities and Builder logic errors.

  • Commander AI can upgrade all ACU's incl. Black Ops and Nomad ACU's. (and fight ^^)

Update 23.Aug.2023(v112)

  • Fix: fixed an error in unit upgrade function
  • Fix: added unit templates to upgrade support factories

Update 11.Jul.2023(v111)

  • Fix: fixed some issues with the new FAF game version
    (Thanks to Relentor for providing this fix)

Update 27.Feb.2023(v110)

  • Opt: added ghost map for units that are under the fog of war

For older changes see:
[...]\Mods\AI-Uveso\Changelog.txt

AI Development Discord Server (AI-Swarm / AI-Uveso / RNGAI / NutCracker AI / DilliAI)
https://discord.gg/ChRfhB3

Update 06.Oct.2020(v88)

  • Fix: Scorescreen was not showing data after game update.
  • Fix: Unit Count buildconditions for factories at naval areas now only count idle factories.
  • Fix: Added missing platoon builder for Tech 2 mobile shields and stealth units
  • New: AI is now able to micro-move units inside a platoon.
  • Opt: Ecomanager no longer pauses Tech2 or Tech3 energy buildings when the energy is low.
  • Opt: AI will no longer shoot nukes before game minute 35, even with absurd eco settings or start with paragon.
  • Opt: Unitratio for shield structures increased by 50%
  • Opt: Sub AI Rush will now spam more units
  • Opt: Sub AI Rush has now seperate economy builders.
  • Opt: Sub AI Rush has now its own naval expansion base template
  • Opt: Build chance of T3 artillery slightly increased.
  • Opt: Removed all game pre-patches that are already pathched to the FAF deploy game version.

@Uveso I'm seeing a Uveso-Fix and Uveso v88 on the vault. Both were release by you. Which one should I use? I'm snagging the one of this forum link.

Also, your AI seems to want to send "conga lines" of support commanders. Anyone to tweak the platoons to just send experimental, and high end T3 units?

Please don't install the Uveso-Fix mod!

First, its not from me.
Second, it is still using some gamepatches that are obsolate, and there are still errors left from the V87 version and the scrorescreen at the game end will not work.

Also i checked the mod and i would not call it fix because its not fixing anything.

The mod changes the initial engineer for the Adaptive Sub AI (this breaks the ability of the mod to handle low unit cap)
The mod also changes a builder that is only for Total Mayhem and removed the special platoon for it (don't know why)
Then it changed a builder for Paragon to build a paragon from the 10th minute not at 35 minutes or later (starting a paragon at minute 10 without changing anything else is bad for the AIs eco)
And it removes a check for enemyunits that was delaying the build of experimentals (also bad idea because this is messing up the ecosystem too)
Then the mod has game patch hooks copied tfrom Uveso AI v87 that need to be removed.
And last but not least the user AKarmy01 added his name to the mod-author string

So please don't install it.

Thanks again for providing this mod!

One thing I've noticed since switching over from Sorian-AIx to Uveso-AIx is how easy it is to prevent Uveso-AIx from nuking me. If I have just one SMD or Village shield (from the Nuclear Repulsor Shields mod) I am pretty much guaranteed to not get nuked there. Even if the enemy clearly has enough nuke launchers to overpower me. I've actually found Sorian to be more challenging in turtling games because of the nuke threat.

I tend to play vs AIx with a 1.7x multiplier or so. The only way I'd get nuked vs Uveso-AI is if enemy nukes were inbound before I had time to get defenses up at all. With the new 35 minute timer before nukes start flying, perhaps the AI could be a bit more willing to test my nuke defenses in the late game?

Hello Cyrris,

yes my AI tends to load a missile launcher with 5 missiles before it will shoot one.
But it has also functions to overwhelm nuke defenses.

Maybe there's a bug inside the target search engine or the Ai has just not enough eco for the nuke launchers.
And the AI also fools the player with building nuke launchers but they are paused and not ready to shoot.

In case you are using the adaptive sub AI, use the Overwhelm sub AI.
It has the same functions than the adaptive Sub Ai but it will increase the
Build and eco multiplyer after 35 and 60 minutes.
This will bost the AIs eco for more nukes.

Also install the Quantum Resource Generators mod.
This mod provides paragon like buildings for all factions, so the AI can build even more eco. You can find the mod here:
https://forum.faforever.com/topic/364/updated-mods-for-faf-and-vanilla-steam

You can also debug the nuke function if you like to see whats going on.

Locate the file platoon lua inside my mod:

\Mods\AI-Uveso\hook\lua\platoon.lua

Then search for the NukePlatoonAI function (~line 1669) and change the line

local NUKEDEBUG = false

to

local NUKEDEBUG = true

Then open the moho debug window with [F9] and watch the debuglines.
All lines starting with *** AI-Uveso: * NukePlatoonAI:** are related to the nuke function.

Or you can just read the remarks inside the nuke function to understand how the nuke function is deciding to shoot:
https://github.com/Uveso/AI-Uveso/blob/master/hook/lua/platoon.lua#L1669

Hi, I have a question/comment. How hard would it be to allow the AI to start with a naval factory if its spawn is under water?

I've been playing Uveso AI's on maps like Saskiya with underwater resources and start locations. The AI doesn't have any trouble building on aquatic mass or hydrocarbons, but it has problems if its start location is under water. What it usually does at the start is something like this:

  1. Walk over to the closest land.
  2. Reclaim a few trees (pointlessly -- it hasn't built anything yet so the reclaimed resources are wasted)
  3. Turn around and go back to the start location.
  4. Repeat 2-5 times.
  5. Finally build a land factory and start actually playing, maybe 5 minutes in.
  6. Some time in the next couple of minutes it'll usually go back and make a naval factory.

Uveso may not respond for a while but I can say that his AI has a condition on the naval factory that it requires a land factory before it will build and some other economic requirements. So while it can be done it'd require work on his behalf.

The AI seems to break down very easily if its raided even a little bit, especially by air. If its under attack by a single t1 cybran gunship, it will continue to tech up and spam t1 engineers and move them to their deaths rather than building mobile AA or a single aa turret. This means the AI has a tendency to completely break down if under any early game pressure. This was against 2 adaptive AIs on a 10km map.

My other issue is that it seems if they AI has some kind of advantage it will refuse to try and win the game. It seems to much emphasis is on it trying to eco and tech at all cost. I know the Rush AI will build units at the enemy constantly but it still has issues in that it won't build sufficient air and responds terribly to an air raid and will still rush to tech up even if it makes no sense, and once teched up, will continue to spam T1 that only serves as a streaming donation of mass.

The AI needs to be able to respond to player threats but I know it may be impossible given engine limitations, but it could still do better if it simply incorporated Point defense into its builds to stop early raiding.

Hello Talonus_Reford,

thanks for your report!

There are platoonbuilder for mobile AA in case enemy units are near the base (range 50)
I increased the range, so AA should be build earlier

I am also adding some attack and sniper platoons to the AI.
This will take a bit, because i need to programm some functions to see when it makes sense to attack or snipe.

But its normal that my AI is not strong in the begining.
It's a Turtle AI and meant to Tech up fast.

Have also in mind, the AI is balanced for unit mods.

Mods i always use with my AI:

BlackOpsFAF-ACUs
BlackOpsFAF-Unleashed
Nuclear Repulsor Shields (can stop nuklear missiles)
Quantum Resource Generators (Paragon like structure for all factions)
Total Mayhem

You can find the latest mod version on the vault or here:
https://forum.faforever.com/topic/364/updated-mods-for-faf-and-vanilla-steam

If you want to be more involved in AI development/updates, join us on Discord:

AI Development Discord Server (AI-Swarm / AI-Uveso / RNGAI / DilliAI)
https://discord.gg/ChRfhB3

Oh yeah I should have noted that I use Blackops ACUs and Unleashed. I think the turtle AI should definitely incorporate static PD Into its bases as right now it seems like you can walk right into it.

Also, if its possible they need to push more emphasis on air control, something as simple as their third factory always being air, and constantly pumping interceptors, and eventually ASFs would make a huge difference.

Right now if I rush t2 gunships there's nearly nothing the AI can do and even for the late game using PD, such as the T3 PD added by black Ops, and lower tech PD earlier, in their base would dramatically increase its survivability.

Also if its possible the AI needs to stop throwing engineers into fire bases.

Finally, I just wanted to say I am enjoying this AI and with a few fixes to its AA defense and the ability to snipe and it could be amazing. I tried RNGAI and its ability to respond to attacks is great but it lacks the mod support that this AI has. Honestly a combination of many of the things that AI does and this one would be perfection.

Update 20.Jan.2021(v89)

  • New: Added a compleatly new AI Ecomanager that can now also pause/disable mobile units. Including stealth, cloak and jammer.
  • New: New attack function "AttackHug". Units will move as close as possible to the target and execute suicide.
  • New: Sub AI "Overwhelm" will now increase the build and eco factor by 0.05 every minute. (starts after 20 min)
  • New: Sub AI "Overwhelm" is now using the more developed "Adaptive" attack plan.
  • New: Sub AI "Overwhelm" restriction for nuke launcher builder removed.
  • Fix: Changing the path calculation for c-engine to early was causing desyncs in replays.
  • Fix: Nuke function stopped working while targeting moving experiemtals.
  • Fix: Targeting function no longer accept targets under water for units above water and vice versa.
  • Fix: Tactical Missile defense does no longer try to attack underwater targets
  • Fix: Function GenerateSafePath will no longer return a empty path in case it's very close to start and end point.
  • Fix: Pathing for air units now cut the first and last 3 waypoints to get a better attack angle.
  • Fix: Added Buildcondition for navalexpansions to prevent unwanted naval factories in range of the main base.
  • Fix: Attack function is no longer microing units without a rear weapons (units were driven in a circle)
  • Fix: First Tech2 factory will now be build a bit later.
  • Fix: Removed debug names from attacking platoon units.
  • Fix: Units no longer get stucked after changing target priorities.
  • Opt: AI will now also check for a land path from expansions.
  • Opt: Platoon microing improved (smarter).
  • Opt: Paragon will be build earlier and with more assistees.
  • Opt: SACU teleport platoons now move to the target for better dead explosion damage usage.
  • Opt: GreaterThanEconIncomeFunction only returns true now if eco trend is positive; Even if a paragon is found.
  • Opt: Air experimentals now tend to move inside the base (stopped at defense before).
  • Opt: Changed WeaponTargetCategories fore some LAND experimentals platoons (now also attcking Optics structures).
  • Opt: Added scouts to some bomber and gunship platoons.
  • Opt: Changes some categories to support SCTA mod.
  • For AI devs: Buildcondition changed (LocationType added): { MIBC, 'CanPathToCurrentEnemy', { false, 'LocationType' } },
  • For AI devs: Function changed (new args): AIFindNearestCategoryTargetInCloseRange(platoon, aiBrain, squad, [...])

Uveso can you @ me when you have added scta compatibility for me?

I’m a shitty 1k Global. Any balance or gameplay suggestions should be understood or taken as such.

Project Head and current Owner/Manager of SCTA Project

Update 27.Jan.2021(v90)

  • Fix: Function CheckValidMarkerPosition() optimized to prevent autogenerated markers on land/water cliffs
  • Fix: Platoon microing function was sometimes using a wrong platoon center position.
  • Fix: Platoon microing function could not handle modded units with only missiles or long range weapons.

Update 08.Feb.2021(v91)

  • New: Added strategy for NukeSub defense.
  • Fix: LUA Error at gameend when an AI was defeated (destroying now buildermanager before brainconditionmonitor)
  • Fix: Renamed Function hook for Platoon-, Factory- and Engineerbuilder to prevent a crash with other AIs
  • Fix: Removed forced debug key binding ['Ctrl-q']
  • Fix: Initial basebuild failed in case the cheatfactor was higher than 1.7 (energy/mass builder)
  • Fix: Removed the destination as waypoint from the pathfinding function. (engineers no longer block the build area)
  • Fix: Added NutCracker AI to debug functions menu.
  • Opt: Platoons with experimentals are now switching a bit earlier to the next waypoint to prevent bumping units.
  • Opt: Cybran shields will now upgrade way earlier than before.
  • Opt: Added ACU sniper platoon (13-15 fighterbomber -> directattack ACU)
  • Opt: AI Ecomanager is now optimized for better game speed.
  • Opt: AI can now also recover its base if the ACU is not available (fighting)
  • Opt: Adaptive AI now also working with omniview off (on is still better)

Was really enjoying a match with v91 just then, unfortunately it crashed 53 mins in.

I've uploaded replay and stuff here: https://nextcloud.playsia.pro/s/wRLYecWoRG2CnDP

If there's another log or something that would help let me know.

Was playing on White Fire, AIx Adaptive (1.2x). Only other mod was Supreme Score Board.

Hello plasia,

i viewed the replay and continued the simulation without any errors.
Can't say what happened.

Oh, thanks for looking, it just sim locked for us, we could still chat with eachother. My friend said something similar happened in a game he played by himself, so as it wasn't a one-off I said I'd report it.

Yes, please always post any error you have seen.
(Here in the forum or in our Discord channels)

I run the game on every day in a endless loop to test unusual or rare errors.
Its the way how i code and test my AI.

You can also do some stability test with my AI in case you have changed something or to be sure that all is working.
Create a skirmish game with 2 AIs and set yourself as observer (in FAF you can be an observer in skirmish games)
Then go to options and set Debug Endless game.
Now after starting the game it will run until the end and start the game session automatically again.
It will aso post the restart into the gamelog, so you can view how often the game was restarted and how long a single game lasted.

@Uveso

I can't sear it was Ai-Uveso issue.
I have had game crashes before but not like this "crash".
Crash effect

  • all units on screen stop moving
  • Mouse still active
  • Mouse can hover over any unit and see the info box pop up
  • Units can be selected and orders given, they dont move of course, or build, etc.
  • map scrolling works, map zoom in out works
  • F10 menu works (cant save of course) - Did not try exit to windows but end game did not work
  • I checked the game log - see below

At 28 minutes the following showed up in log
This was the FINAL "debug: Gametime: 00:28:00" message.
I don't know but this message occured somewhat down into the log from gametime:
warning: [platoon.lua, line:2494] *UnitUpgradeAI ERROR: "bab1302":CanBuild( BROBT1PERI ) failed!

I did not post all the remainder of the log.
There were log entries when I tried un/pause game and when I alt-tabbed out and back.

debug: Current gametime: 00:28:00
info:  M: [####################]  E: [#################~~~]  -  BuilderPriority =     1000 - SelectedBuilder = U3p Air Scouts
debug: Gametime: 00:28:00 --- Unit: 3167 --- Platoon: 685 --- FPS: 30 --- Memory: 999.9M / 1.117G --- Speed: +0 / -3 --- SimSpeed: 08% ( 60 Game = 712 System Seconds )
debug:  Entity: 21028 --- Prop: 04042 --- CScriptObject: 70622 --- CTask: 39292 --- CTaskThread: 37306 --- CLuaTask: 03558 --- CDecalHandle: 17731 --- ReconBlip: 03352
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       250 - SelectedBuilder = U2A Air Fighter
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   15400 - SelectedBuilder = U-T3 Gate 3
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =     1500 - SelectedBuilder = U3 AirFactory AA
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =     1500 - SelectedBuilder = U3 AirFactory AA
info:  M: [########~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [####################]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3p Air Scouts
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 SubCommander RAMBO
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 SubCommander SIMPLECOMBAT
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       350 - SelectedBuilder = U3A Air Fighter ratio
info:  M: [####################]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3p Air Scouts
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17830 - SelectedBuilder = U1 Mass 1000 8+
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17810 - SelectedBuilder = U1 Mass 1000 10+
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [#######~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       875 - SelectedBuilder = U2 Ground Defense always
info:  M: [#######~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       875 - SelectedBuilder = U2 Ground Defense always
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       500 - SelectedBuilder = U2 Air Transport
info:  M: [####################]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3 Air Scout
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       500 - SelectedBuilder = U2 Air Transport
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [####################]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3p Air Scouts
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       350 - SelectedBuilder = U3A Mobile Artillery
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19000 - SelectedBuilder = U1 PanicZone Mobile Arty Force
info:  M: [#####~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   16600 - SelectedBuilder = U1 Sea Factory 1st
info:  M: [############~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17878 - SelectedBuilder = U2 Mass Adjacency Engineer
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   16600 - SelectedBuilder = U1 Sea Factory 1st+
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19000 - SelectedBuilder = U1 PanicZone Tank Force
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       500 - SelectedBuilder = U2 Air Transport
info:  M: [############~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 SubCommander CLOAK
debug: * AI-Uveso: BuildSACUEnhancements: no enhancement found for (url0301) = "xxx"
debug: * AI-Uveso: BuildSACUEnhancements: no enhancement found for (url0301) = "xxx"
debug: * AI-Uveso: BuildSACUEnhancements: no enhancement found for (url0301) = "xxx"
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 SubCommander RAS
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19250 - SelectedBuilder = UC CDR Attack Military
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [############~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19250 - SelectedBuilder = UC CDR Attack Military
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [#####~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3 Air Scout
info:  M: [#######~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17880 - SelectedBuilder = U1 Air Factory Cap
info:  M: [#######~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   15000 - SelectedBuilder = U2 Shield Ratio
info:  M: [#######~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   15000 - SelectedBuilder = U2 Shield Ratio
info:  M: [#######~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       160 - SelectedBuilder = UTM1 HEAVY Gunship 1st
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3 Air Scout
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18500 - SelectedBuilder = U1 Engineer noPool land < 1
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18500 - SelectedBuilder = U1 Engineer noPool land < 1
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       350 - SelectedBuilder = U3A TorpedoBomber
info:  M: [#####~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18500 - SelectedBuilder = U1 Engineer noPool land < 1
info:  M: [#####~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18500 - SelectedBuilder = U1 Engineer noPool land < 1
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   16200 - SelectedBuilder = U3 Mass Fab
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19000 - SelectedBuilder = U1 PanicZone Mobile Arty Force
info:  M: [############~~~~~~~~]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U3 Air Scout
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [#########~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19250 - SelectedBuilder = UC CDR Attack Military
info:  M: [#############~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Gunship EXPResponse
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   19250 - SelectedBuilder = UC CDR Attack Military
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 SubCommander ANTIAIR
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17878 - SelectedBuilder = U2 Mass Adjacency Engineer
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       350 - SelectedBuilder = U3A Mobile AA MIN
debug: * AI-Uveso: BuildSACUEnhancements: no enhancement found for (url0301) = "xxx"
debug: * AI-Uveso: BuildSACUEnhancements: no enhancement found for (url0301) = "xxx"
debug: * AI-Uveso: BuildSACUEnhancements: no enhancement found for (url0301) = "xxx"
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [##########~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 SubCommander STEALTH
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [####################]  E: [####################]  -  BuilderPriority =   17500 - SelectedBuilder = U1 Sonar
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [######~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17850 - SelectedBuilder = U1 Mass 1000 6+
info:  M: [######~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   16600 - SelectedBuilder = U1 Sea Factory 1st+
info:  M: [####################]  E: [####################]  -  BuilderPriority =     1000 - SelectedBuilder = U1R Land Scout
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =       500 - SelectedBuilder = U2 Air Transport
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17810 - SelectedBuilder = U1 Mass 1000 10+
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   16200 - SelectedBuilder = U3 Mass Fab
info:  M: [###~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =   17830 - SelectedBuilder = U1 Mass 1000 8+
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Air
info:  M: [##~~~~~~~~~~~~~~~~~~]  E: [####################]  -  BuilderPriority =       345 - SelectedBuilder = U3E Air Fighter EXPResponse
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   15400 - SelectedBuilder = U-T3 Gate 3
info:  M: [###########~~~~~~~~~]  E: [####################]  -  BuilderPriority =   18400 - SelectedBuilder = U3 Engineer noPool Land
info:  M: [###################~]  E: [####################]  -  BuilderPriority =   16600 - SelectedBuilder = U1 Sea Factory 1st+
warning: [platoon.lua, line:2494] *UnitUpgradeAI ERROR: "bab1302":CanBuild( BROBT1PERI ) failed!