the thing that jumps out at me right away are some Upgrade plans, like this:
[Plan20]
planType = "Upgrade"
planPriority = 390
unitType = "ibsbay"
targetType = "ivturr"
buildings are unable to upgrade units, *but* i like the idea of them being able to
the only unit that can upgrade buildings -
and craft - are construction rigs (ivcons/fvcons).
also, the AI base could use some extra power being built to prevent them from quickly being reduced to being powerless.
they cover pools quickly, but sometimes the scavs get near to their target pool and are pulled off by a recently-built scav stealing its target, so i might build a group of scavs, then use CollectPool plans without buildifnoidle statements.
they attack very well with a nice variety and number of units.
i like how you *don't* mix the hovercraft attackers with the treaded and air attackers; mixing different types of craft tends to break up attacker plans because the hovercraft get to the target first and get killed, leaving the treaded ones in limbo.
if you would like to use different weapons on units, you can tell the AIP to build a weapons crate before building a unit.
quick example:
[Plan40]
planType = "BuildMinimums"
planPriority = 500
planCondition = "NotExists"
planConditionClass = "fvsent"
planCompare = ">=" <<<<====== also, notice the addition of this statement
planConditionCount = 2
buildType1 = "apgaus"
buildCount1 = 2
buildType2 = "fvsent"
buildCount2 = 2
there are other plan entries available to use that would help.
Example:
[Plan80]
//ATTACK POOLS
CheckProvides = true
planPriority = 930
//ForceStagePoint = 2
planType = "Attacker"
attackMode = -1 // -1 = auto, 0 = combat, 1 = assault
pickTargetType = 0 // pickTargetType = 1 // 0 = first match (usually oldest?), 1 = closest, 2 = random
planCondition = "NotExists"
planConditionClass = "Bunker"
planCompare = ">="
planConditionCount = 1
planConditionClassProvided = true
planCondition2 = "HisExists"
planConditionClass2 = "Pool"
planCompare2 = ">="
planConditionCount2 = 2
planConditionClassProvided2 = true
targetType = "Pool"
targetType1 = "Scav"
targetType2 = "DefendUnit"
targetType3 = "Defense"
targetType4 = "MainBase"
attackType1 = "ivscout66c"
attackType2 = "ivscout66c"
AttackAnything = true
maxAttacks = 0
buildIfNoIdle = 1
ContinueEvenIfFail = true
planConditionClass = "Bunker" and targetType = "Pool" uses a provideName entry which can be added to an ODF:
i.e., provideName1 = "Pool"
you use those so you don't have to name each target name, just the type.
if you don't already use it, the AIP Debugger is available. you can turn it on by toggling the console open (using Ctrl ~) and entering game.debugaip, then toggling the console closed. you can position the debugger by adjusting the settings in gameprefs.ini. i copy the settings to LocalPrefs_bzone.ini and stick that in a folder inside addon so my settings don't get overridden by patch updates.
if you don't already, you can also use a cheat ship with uber weapons and radar to help you test AIP's (saves a lot of time).
very nice job for your first AIP's. i'll add some more observations after i finish checking out the AIP's.
If given the truth, the people can be depended upon to meet any national crisis. The great point is to bring them the real facts - and beer.
Abraham Lincoln
Battlestrat, FE, G66, In The Shadows, Starfleet, Uler, & ZTV
Lifetime member of JBS and NRA