HackyAI dissolve update rule and yaml updates
This commit is contained in:
@@ -67,7 +67,6 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
|
||||
"BuildingFractions",
|
||||
};
|
||||
|
||||
// Fields that should (for now) only be copied instead of moved, for backwards-compatibility reasons
|
||||
readonly string[] copyBaseBuilderFields =
|
||||
{
|
||||
"MinBaseRadius",
|
||||
@@ -84,6 +83,50 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
|
||||
"CapturableStances",
|
||||
};
|
||||
|
||||
readonly string[] squadManagerFields =
|
||||
{
|
||||
"SquadSize",
|
||||
"SquadSizeRandomBonus",
|
||||
"AssignRolesInterval",
|
||||
"RushInterval",
|
||||
"AttackForceInterval",
|
||||
"MinimumAttackForceDelay",
|
||||
"RushAttackScanRadius",
|
||||
"ProtectUnitScanRadius",
|
||||
"MaxBaseRadius",
|
||||
"MaximumDefenseRadius",
|
||||
"IdleScanRadius",
|
||||
"DangerScanRadius",
|
||||
"AttackScanRadius",
|
||||
"ProtectionScanRadius",
|
||||
"UnitsCommonNames",
|
||||
"BuildingCommonNames",
|
||||
};
|
||||
|
||||
readonly string[] squadManagerCommonNames =
|
||||
{
|
||||
"ConstructionYard",
|
||||
"NavalProduction",
|
||||
};
|
||||
|
||||
readonly string[] unitBuilderFields =
|
||||
{
|
||||
"IdleBaseUnitsMaximum",
|
||||
"UnitQueues",
|
||||
"UnitsToBuild",
|
||||
"UnitLimits",
|
||||
};
|
||||
|
||||
readonly string[] mcvManagerFields =
|
||||
{
|
||||
"AssignRolesInterval",
|
||||
"MinBaseRadius",
|
||||
"MaxBaseRadius",
|
||||
"RestrictMCVDeploymentFallbackToBase",
|
||||
"UnitsCommonNames",
|
||||
"BuildingCommonNames",
|
||||
};
|
||||
|
||||
public override IEnumerable<string> AfterUpdate(ModData modData)
|
||||
{
|
||||
if (!messageShown)
|
||||
@@ -106,6 +149,14 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
|
||||
if (actorNode.Key != "Player")
|
||||
yield break;
|
||||
|
||||
var dummyAIs = actorNode.ChildrenMatching("DummyAI");
|
||||
foreach (var dummyAINode in dummyAIs)
|
||||
dummyAINode.RenameKey("DummyBot");
|
||||
|
||||
var hackyAIRemovals = actorNode.ChildrenMatching("-HackyAI");
|
||||
foreach (var hackyAIRemovalNode in hackyAIRemovals)
|
||||
hackyAIRemovalNode.RenameKey("-ModularBot");
|
||||
|
||||
var hackyAIs = actorNode.ChildrenMatching("HackyAI", includeRemovals: false);
|
||||
if (!hackyAIs.Any())
|
||||
yield break;
|
||||
@@ -270,6 +321,118 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
|
||||
|
||||
addNodes.Add(node);
|
||||
}
|
||||
|
||||
if (squadManagerFields.Any(f => hackyAINode.ChildrenMatching(f).Any()))
|
||||
{
|
||||
var node = new MiniYamlNode("SquadManagerBotModule@" + aiType, "");
|
||||
node.AddNode(new MiniYamlNode("RequiresCondition", conditionString));
|
||||
|
||||
foreach (var field in squadManagerFields)
|
||||
{
|
||||
var fieldNode = hackyAINode.LastChildMatching(field);
|
||||
if (fieldNode != null)
|
||||
{
|
||||
if (fieldNode.KeyMatches("UnitsCommonNames", includeRemovals: false))
|
||||
{
|
||||
var mcvNode = fieldNode.LastChildMatching("Mcv");
|
||||
var excludeNode = fieldNode.LastChildMatching("ExcludeFromSquads");
|
||||
var navalUnitsNode = fieldNode.LastChildMatching("NavalUnits");
|
||||
|
||||
// In the old code, actors listed under Mcv were also excluded from squads.
|
||||
// However, Mcv[Types] is moved to McvManagerBotModule now, so we need to add them under ExcludeFromSquads as well.
|
||||
if (excludeNode == null && mcvNode != null)
|
||||
node.AddNode("ExcludeFromSquadsTypes", mcvNode.Value.Value);
|
||||
else if (excludeNode != null && mcvNode != null)
|
||||
{
|
||||
var mcvValue = mcvNode.NodeValue<string>();
|
||||
var excludeValue = excludeNode.NodeValue<string>();
|
||||
node.AddNode("ExcludeFromSquadsTypes", excludeValue + ", " + mcvValue);
|
||||
}
|
||||
|
||||
if (navalUnitsNode != null)
|
||||
node.AddNode("NavalUnitsTypes", navalUnitsNode.Value.Value);
|
||||
}
|
||||
else if (fieldNode.KeyMatches("BuildingCommonNames", includeRemovals: false))
|
||||
{
|
||||
foreach (var b in fieldNode.Value.Nodes)
|
||||
if (squadManagerCommonNames.Any(f => f == b.Key))
|
||||
node.AddNode(b.Key + "Types", b.Value.Value);
|
||||
}
|
||||
else if (fieldNode.KeyMatches("AssignRolesInterval") || fieldNode.KeyMatches("MaxBaseRadius"))
|
||||
node.AddNode(fieldNode.Key, fieldNode.Value.Value);
|
||||
else
|
||||
fieldNode.MoveNode(hackyAINode, node);
|
||||
}
|
||||
}
|
||||
|
||||
addNodes.Add(node);
|
||||
}
|
||||
|
||||
if (unitBuilderFields.Any(f => hackyAINode.ChildrenMatching(f).Any()))
|
||||
{
|
||||
var node = new MiniYamlNode("UnitBuilderBotModule@" + aiType, "");
|
||||
node.AddNode(new MiniYamlNode("RequiresCondition", conditionString));
|
||||
|
||||
foreach (var field in unitBuilderFields)
|
||||
{
|
||||
var fieldNode = hackyAINode.LastChildMatching(field);
|
||||
if (fieldNode != null)
|
||||
{
|
||||
if (fieldNode.KeyMatches("UnitsToBuild", includeRemovals: false))
|
||||
{
|
||||
var unitNodes = fieldNode.Value.Nodes;
|
||||
foreach (var n in unitNodes)
|
||||
ConvertFractionToInteger(n);
|
||||
}
|
||||
|
||||
fieldNode.MoveNode(hackyAINode, node);
|
||||
}
|
||||
}
|
||||
|
||||
addNodes.Add(node);
|
||||
}
|
||||
|
||||
if (mcvManagerFields.Any(f => hackyAINode.ChildrenMatching(f).Any()))
|
||||
{
|
||||
var node = new MiniYamlNode("McvManagerBotModule@" + aiType, "");
|
||||
node.AddNode(new MiniYamlNode("RequiresCondition", conditionString));
|
||||
|
||||
foreach (var field in mcvManagerFields)
|
||||
{
|
||||
var fieldNode = hackyAINode.LastChildMatching(field);
|
||||
if (fieldNode != null)
|
||||
{
|
||||
if (fieldNode.KeyMatches("UnitsCommonNames", includeRemovals: false))
|
||||
{
|
||||
var mcvNode = fieldNode.LastChildMatching("Mcv");
|
||||
if (mcvNode != null)
|
||||
mcvNode.MoveAndRenameNode(hackyAINode, node, "McvTypes");
|
||||
|
||||
// Nothing left that needs UnitCommonNames, so we can finally remove it
|
||||
hackyAINode.RemoveNode(fieldNode);
|
||||
}
|
||||
else if (fieldNode.KeyMatches("BuildingCommonNames", includeRemovals: false))
|
||||
{
|
||||
foreach (var n in fieldNode.Value.Nodes)
|
||||
{
|
||||
if (n.KeyMatches("VehiclesFactory"))
|
||||
node.AddNode("McvFactoryTypes", n.Value.Value);
|
||||
else if (n.KeyMatches("ConstructionYard"))
|
||||
node.AddNode("ConstructionYardTypes", n.Value.Value);
|
||||
}
|
||||
|
||||
// Nothing left that needs BuildingCommonNames, so we can finally remove it
|
||||
hackyAINode.RemoveNode(fieldNode);
|
||||
}
|
||||
else
|
||||
fieldNode.MoveNode(hackyAINode, node);
|
||||
}
|
||||
}
|
||||
|
||||
addNodes.Add(node);
|
||||
}
|
||||
|
||||
hackyAINode.RenameKey("ModularBot");
|
||||
}
|
||||
|
||||
// Only add module if any bot is using/enabling it.
|
||||
|
||||
@@ -1,117 +1,13 @@
|
||||
Player:
|
||||
HackyAI@Cabal:
|
||||
ModularBot@Cabal:
|
||||
Name: Cabal
|
||||
Type: cabal
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: nuke,nuk2
|
||||
Barracks: pyle,hand
|
||||
VehiclesFactory: weap,afld
|
||||
Production: pyle,hand,weap,afld,hpad
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
UnitQueues: Vehicle.Nod, Vehicle.GDI, Infantry.Nod, Infantry.GDI, Aircraft.Nod, Aircraft.GDI
|
||||
UnitsToBuild:
|
||||
e1: 65%
|
||||
e2: 25%
|
||||
e3: 40%
|
||||
e4: 15%
|
||||
e5: 15%
|
||||
harv: 10%
|
||||
bggy: 5%
|
||||
bike: 40%
|
||||
ltnk: 25%
|
||||
ftnk: 10%
|
||||
arty: 60%
|
||||
stnk: 40%
|
||||
jeep: 5%
|
||||
mtnk: 20%
|
||||
msam: 40%
|
||||
htnk: 50%
|
||||
heli: 5%
|
||||
orca: 5%
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
SquadSize: 15
|
||||
HackyAI@Watson:
|
||||
ModularBot@Watson:
|
||||
Name: Watson
|
||||
Type: watson
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: nuke,nuk2
|
||||
Barracks: pyle,hand
|
||||
VehiclesFactory: weap,afld
|
||||
Production: pyle,hand,weap,afld,hpad
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
UnitQueues: Vehicle.Nod, Vehicle.GDI, Infantry.Nod, Infantry.GDI, Aircraft.Nod, Aircraft.GDI
|
||||
UnitsToBuild:
|
||||
e1: 65%
|
||||
e2: 30%
|
||||
e3: 40%
|
||||
e4: 30%
|
||||
e5: 30%
|
||||
harv: 10%
|
||||
bggy: 10%
|
||||
ftnk: 10%
|
||||
arty: 40%
|
||||
bike: 10%
|
||||
heli: 10%
|
||||
ltnk: 40%
|
||||
stnk: 40%
|
||||
orca: 10%
|
||||
msam: 50%
|
||||
htnk: 50%
|
||||
jeep: 20%
|
||||
mtnk: 50%
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
SquadSize: 15
|
||||
HackyAI@HAL9001:
|
||||
ModularBot@HAL9001:
|
||||
Name: HAL 9001
|
||||
Type: hal9001
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: nuke,nuk2
|
||||
Barracks: pyle,hand
|
||||
VehiclesFactory: weap,afld
|
||||
Production: pyle,hand,weap,afld,hpad
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
UnitQueues: Vehicle.Nod, Vehicle.GDI, Infantry.Nod, Infantry.GDI, Aircraft.Nod, Aircraft.GDI
|
||||
UnitsToBuild:
|
||||
e1: 65%
|
||||
e2: 30%
|
||||
e3: 40%
|
||||
e4: 50%
|
||||
e5: 50%
|
||||
harv: 16%
|
||||
bggy: 10%
|
||||
bike: 10%
|
||||
ltnk: 40%
|
||||
arty: 20%
|
||||
ftnk: 5%
|
||||
stnk: 40%
|
||||
mlrs: 5%
|
||||
heli: 10%
|
||||
jeep: 20%
|
||||
apc: 10%
|
||||
mtnk: 50%
|
||||
msam: 50%
|
||||
htnk: 50%
|
||||
orca: 10%
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
SquadSize: 8
|
||||
SupportPowerBotModule:
|
||||
RequiresCondition: enable-cabal-ai || enable-watson-ai || enable-hal9001-ai
|
||||
Decisions:
|
||||
@@ -315,3 +211,97 @@ Player:
|
||||
fix: 1
|
||||
BuildingRepairBotModule:
|
||||
RequiresCondition: enable-cabal-ai || enable-watson-ai || enable-hal9001-ai
|
||||
SquadManagerBotModule@cabal:
|
||||
RequiresCondition: enable-cabal-ai
|
||||
SquadSize: 15
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
ConstructionYardTypes: fact
|
||||
UnitBuilderBotModule@cabal:
|
||||
RequiresCondition: enable-cabal-ai
|
||||
UnitQueues: Vehicle.Nod, Vehicle.GDI, Infantry.Nod, Infantry.GDI, Aircraft.Nod, Aircraft.GDI
|
||||
UnitsToBuild:
|
||||
e1: 65
|
||||
e2: 25
|
||||
e3: 40
|
||||
e4: 15
|
||||
e5: 15
|
||||
harv: 10
|
||||
bggy: 5
|
||||
bike: 40
|
||||
ltnk: 25
|
||||
ftnk: 10
|
||||
arty: 60
|
||||
stnk: 40
|
||||
jeep: 5
|
||||
mtnk: 20
|
||||
msam: 40
|
||||
htnk: 50
|
||||
heli: 5
|
||||
orca: 5
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
McvManagerBotModule:
|
||||
RequiresCondition: enable-cabal-ai || enable-watson-ai || enable-hal9001-ai
|
||||
McvTypes: mcv
|
||||
ConstructionYardTypes: fact
|
||||
McvFactoryTypes: weap,afld
|
||||
SquadManagerBotModule@watson:
|
||||
RequiresCondition: enable-watson-ai
|
||||
SquadSize: 15
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
ConstructionYardTypes: fact
|
||||
UnitBuilderBotModule@watson:
|
||||
RequiresCondition: enable-watson-ai
|
||||
UnitQueues: Vehicle.Nod, Vehicle.GDI, Infantry.Nod, Infantry.GDI, Aircraft.Nod, Aircraft.GDI
|
||||
UnitsToBuild:
|
||||
e1: 65
|
||||
e2: 30
|
||||
e3: 40
|
||||
e4: 30
|
||||
e5: 30
|
||||
harv: 10
|
||||
bggy: 10
|
||||
ftnk: 10
|
||||
arty: 40
|
||||
bike: 10
|
||||
heli: 10
|
||||
ltnk: 40
|
||||
stnk: 40
|
||||
orca: 10
|
||||
msam: 50
|
||||
htnk: 50
|
||||
jeep: 20
|
||||
mtnk: 50
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
SquadManagerBotModule@hal9001:
|
||||
RequiresCondition: enable-hal9001-ai
|
||||
SquadSize: 8
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
ConstructionYardTypes: fact
|
||||
UnitBuilderBotModule@hal9001:
|
||||
RequiresCondition: enable-hal9001-ai
|
||||
UnitQueues: Vehicle.Nod, Vehicle.GDI, Infantry.Nod, Infantry.GDI, Aircraft.Nod, Aircraft.GDI
|
||||
UnitsToBuild:
|
||||
e1: 65
|
||||
e2: 30
|
||||
e3: 40
|
||||
e4: 50
|
||||
e5: 50
|
||||
harv: 16
|
||||
bggy: 10
|
||||
bike: 10
|
||||
ltnk: 40
|
||||
arty: 20
|
||||
ftnk: 5
|
||||
stnk: 40
|
||||
mlrs: 5
|
||||
heli: 10
|
||||
jeep: 20
|
||||
apc: 10
|
||||
mtnk: 50
|
||||
msam: 50
|
||||
htnk: 50
|
||||
orca: 10
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
|
||||
@@ -1,139 +1,13 @@
|
||||
Player:
|
||||
HackyAI@Omnius:
|
||||
ModularBot@Omnius:
|
||||
Name: Omnius
|
||||
Type: omnius
|
||||
UnitQueues: Infantry, Vehicle, Armor, Starport, Aircraft
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: construction_yard
|
||||
Refinery: refinery
|
||||
Power: wind_trap
|
||||
VehiclesFactory: light_factory, heavy_factory, starport
|
||||
Production: light_factory, heavy_factory, barracks, starport
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harvester
|
||||
UnitsToBuild:
|
||||
carryall: 1%
|
||||
light_inf: 65%
|
||||
trooper: 40%
|
||||
mpsardaukar: 20%
|
||||
grenadier: 20%
|
||||
harvester: 1%
|
||||
trike.starport: 5%
|
||||
quad.starport: 7.5%
|
||||
siege_tank.starport: 5%
|
||||
missile_tank.starport: 7.5%
|
||||
combat_tank_a.starport: 15%
|
||||
combat_tank_h.starport: 15%
|
||||
combat_tank_o.starport: 15%
|
||||
sonic_tank: 10%
|
||||
devastator: 10%
|
||||
deviator: 7.5%
|
||||
trike: 10%
|
||||
raider: 10%
|
||||
quad: 15%
|
||||
siege_tank: 10%
|
||||
missile_tank: 15%
|
||||
stealth_raider: 5%
|
||||
combat_tank_a: 100%
|
||||
combat_tank_h: 100%
|
||||
combat_tank_o: 100%
|
||||
UnitLimits:
|
||||
harvester: 8
|
||||
carryall: 4
|
||||
SquadSize: 8
|
||||
MaxBaseRadius: 40
|
||||
HackyAI@Vidius:
|
||||
ModularBot@Vidius:
|
||||
Name: Vidious
|
||||
Type: vidious
|
||||
UnitQueues: Infantry, Vehicle, Armor, Starport, Aircraft
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: construction_yard
|
||||
Refinery: refinery
|
||||
Power: wind_trap
|
||||
VehiclesFactory: light_factory, heavy_factory, starport
|
||||
Production: light_factory, heavy_factory, barracks, starport
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harvester
|
||||
UnitsToBuild:
|
||||
carryall: 1%
|
||||
light_inf: 65%
|
||||
trooper: 40%
|
||||
mpsardaukar: 20%
|
||||
grenadier: 20%
|
||||
harvester: 1%
|
||||
trike.starport: 7.5%
|
||||
quad.starport: 12.5%
|
||||
siege_tank.starport: 5%
|
||||
missile_tank.starport: 7.5%
|
||||
combat_tank_a.starport: 15%
|
||||
combat_tank_h.starport: 15%
|
||||
combat_tank_o.starport: 15%
|
||||
sonic_tank: 50%
|
||||
devastator: 40%
|
||||
deviator: 5%
|
||||
trike: 15%
|
||||
raider: 15%
|
||||
quad: 25%
|
||||
siege_tank: 10%
|
||||
missile_tank: 15%
|
||||
stealth_raider: 5%
|
||||
combat_tank_a: 100%
|
||||
combat_tank_h: 100%
|
||||
combat_tank_o: 100%
|
||||
UnitLimits:
|
||||
harvester: 8
|
||||
carryall: 4
|
||||
SquadSize: 6
|
||||
MaxBaseRadius: 40
|
||||
HackyAI@Gladius:
|
||||
ModularBot@Gladius:
|
||||
Name: Gladius
|
||||
Type: gladius
|
||||
UnitQueues: Infantry, Vehicle, Armor, Starport, Aircraft
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: construction_yard
|
||||
Refinery: refinery
|
||||
Power: wind_trap
|
||||
VehiclesFactory: light_factory, heavy_factory, starport
|
||||
Production: light_factory, heavy_factory, barracks, starport
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harvester
|
||||
UnitsToBuild:
|
||||
carryall: 1%
|
||||
light_inf: 65%
|
||||
trooper: 40%
|
||||
mpsardaukar: 20%
|
||||
grenadier: 20%
|
||||
harvester: 1%
|
||||
trike.starport: 5%
|
||||
quad.starport: 7.5%
|
||||
siege_tank.starport: 5%
|
||||
missile_tank.starport: 7.5%
|
||||
combat_tank_a.starport: 15%
|
||||
combat_tank_h.starport: 15%
|
||||
combat_tank_o.starport: 15%
|
||||
sonic_tank: 10%
|
||||
devastator: 10%
|
||||
deviator: 7.5%
|
||||
trike: 10%
|
||||
raider: 10%
|
||||
quad: 15%
|
||||
siege_tank: 10%
|
||||
missile_tank: 15%
|
||||
stealth_raider: 7.5%
|
||||
combat_tank_a: 100%
|
||||
combat_tank_h: 100%
|
||||
combat_tank_o: 100%
|
||||
UnitLimits:
|
||||
harvester: 8
|
||||
carryall: 4
|
||||
SquadSize: 10
|
||||
MaxBaseRadius: 40
|
||||
SupportPowerBotModule:
|
||||
RequiresCondition: enable-omnius-ai || enable-vidious-ai || enable-gladius-ai
|
||||
Decisions:
|
||||
@@ -333,3 +207,122 @@ Player:
|
||||
upgrade.hightech: 1
|
||||
BuildingRepairBotModule:
|
||||
RequiresCondition: enable-omnius-ai || enable-vidious-ai || enable-gladius-ai
|
||||
SquadManagerBotModule@omnius:
|
||||
RequiresCondition: enable-omnius-ai
|
||||
SquadSize: 8
|
||||
MaxBaseRadius: 40
|
||||
ExcludeFromSquadsTypes: harvester, mcv
|
||||
ConstructionYardTypes: construction_yard
|
||||
UnitBuilderBotModule@omnius:
|
||||
RequiresCondition: enable-omnius-ai
|
||||
UnitQueues: Infantry, Vehicle, Armor, Starport, Aircraft
|
||||
UnitsToBuild:
|
||||
carryall: 1
|
||||
light_inf: 65
|
||||
trooper: 40
|
||||
mpsardaukar: 20
|
||||
grenadier: 20
|
||||
harvester: 1
|
||||
trike.starport: 5
|
||||
quad.starport: 7
|
||||
siege_tank.starport: 5
|
||||
missile_tank.starport: 7
|
||||
combat_tank_a.starport: 15
|
||||
combat_tank_h.starport: 15
|
||||
combat_tank_o.starport: 15
|
||||
sonic_tank: 10
|
||||
devastator: 10
|
||||
deviator: 7
|
||||
trike: 10
|
||||
raider: 10
|
||||
quad: 15
|
||||
siege_tank: 10
|
||||
missile_tank: 15
|
||||
stealth_raider: 5
|
||||
combat_tank_a: 100
|
||||
combat_tank_h: 100
|
||||
combat_tank_o: 100
|
||||
UnitLimits:
|
||||
harvester: 8
|
||||
carryall: 4
|
||||
McvManagerBotModule:
|
||||
RequiresCondition: enable-omnius-ai || enable-vidious-ai || enable-gladius-ai
|
||||
McvTypes: mcv
|
||||
ConstructionYardTypes: construction_yard
|
||||
McvFactoryTypes: heavy_factory, starport
|
||||
SquadManagerBotModule@vidious:
|
||||
RequiresCondition: enable-vidious-ai
|
||||
SquadSize: 6
|
||||
MaxBaseRadius: 40
|
||||
ExcludeFromSquadsTypes: harvester, mcv
|
||||
ConstructionYardTypes: construction_yard
|
||||
UnitBuilderBotModule@vidious:
|
||||
RequiresCondition: enable-vidious-ai
|
||||
UnitQueues: Infantry, Vehicle, Armor, Starport, Aircraft
|
||||
UnitsToBuild:
|
||||
carryall: 1
|
||||
light_inf: 65
|
||||
trooper: 40
|
||||
mpsardaukar: 20
|
||||
grenadier: 20
|
||||
harvester: 1
|
||||
trike.starport: 7
|
||||
quad.starport: 12
|
||||
siege_tank.starport: 5
|
||||
missile_tank.starport: 7
|
||||
combat_tank_a.starport: 15
|
||||
combat_tank_h.starport: 15
|
||||
combat_tank_o.starport: 15
|
||||
sonic_tank: 50
|
||||
devastator: 40
|
||||
deviator: 5
|
||||
trike: 15
|
||||
raider: 15
|
||||
quad: 25
|
||||
siege_tank: 10
|
||||
missile_tank: 15
|
||||
stealth_raider: 5
|
||||
combat_tank_a: 100
|
||||
combat_tank_h: 100
|
||||
combat_tank_o: 100
|
||||
UnitLimits:
|
||||
harvester: 8
|
||||
carryall: 4
|
||||
SquadManagerBotModule@gladius:
|
||||
RequiresCondition: enable-gladius-ai
|
||||
SquadSize: 10
|
||||
MaxBaseRadius: 40
|
||||
ExcludeFromSquadsTypes: harvester, mcv
|
||||
ConstructionYardTypes: construction_yard
|
||||
UnitBuilderBotModule@gladius:
|
||||
RequiresCondition: enable-gladius-ai
|
||||
UnitQueues: Infantry, Vehicle, Armor, Starport, Aircraft
|
||||
UnitsToBuild:
|
||||
carryall: 1
|
||||
light_inf: 65
|
||||
trooper: 40
|
||||
mpsardaukar: 20
|
||||
grenadier: 20
|
||||
harvester: 1
|
||||
trike.starport: 5
|
||||
quad.starport: 7
|
||||
siege_tank.starport: 5
|
||||
missile_tank.starport: 7
|
||||
combat_tank_a.starport: 15
|
||||
combat_tank_h.starport: 15
|
||||
combat_tank_o.starport: 15
|
||||
sonic_tank: 10
|
||||
devastator: 10
|
||||
deviator: 7
|
||||
trike: 10
|
||||
raider: 10
|
||||
quad: 15
|
||||
siege_tank: 10
|
||||
missile_tank: 15
|
||||
stealth_raider: 7
|
||||
combat_tank_a: 100
|
||||
combat_tank_h: 100
|
||||
combat_tank_o: 100
|
||||
UnitLimits:
|
||||
harvester: 8
|
||||
carryall: 4
|
||||
|
||||
@@ -105,11 +105,11 @@ Player:
|
||||
DefaultCashDropdownLocked: True
|
||||
DefaultCashDropdownVisible: False
|
||||
DefaultCash: 50
|
||||
-HackyAI@RushAI:
|
||||
-HackyAI@NormalAI:
|
||||
-HackyAI@NavalAI:
|
||||
-HackyAI@TurtleAI:
|
||||
DummyAI@LonestarAI:
|
||||
-ModularBot@RushAI:
|
||||
-ModularBot@NormalAI:
|
||||
-ModularBot@NavalAI:
|
||||
-ModularBot@TurtleAI:
|
||||
DummyBot@LonestarAI:
|
||||
Name: Lonestar AI
|
||||
Type: lonestar
|
||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||
|
||||
@@ -1,174 +1,16 @@
|
||||
Player:
|
||||
HackyAI@RushAI:
|
||||
ModularBot@RushAI:
|
||||
Name: Rush AI
|
||||
Type: rush
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: powr,apwr
|
||||
Barracks: barr,tent
|
||||
VehiclesFactory: weap
|
||||
Production: barr,tent,weap
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
NavalUnits: ss,msub,dd,ca,lst,pt
|
||||
UnitsToBuild:
|
||||
e1: 65%
|
||||
e2: 15%
|
||||
e3: 30%
|
||||
e4: 15%
|
||||
dog: 15%
|
||||
shok: 15%
|
||||
harv: 10%
|
||||
apc: 30%
|
||||
jeep: 20%
|
||||
arty: 15%
|
||||
v2rl: 40%
|
||||
ftrk: 30%
|
||||
1tnk: 50%
|
||||
2tnk: 50%
|
||||
3tnk: 50%
|
||||
4tnk: 25%
|
||||
ttnk: 25%
|
||||
stnk: 5%
|
||||
UnitLimits:
|
||||
dog: 4
|
||||
harv: 8
|
||||
jeep: 4
|
||||
ftrk: 4
|
||||
SquadSize: 20
|
||||
HackyAI@NormalAI:
|
||||
ModularBot@NormalAI:
|
||||
Name: Normal AI
|
||||
Type: normal
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: powr,apwr
|
||||
Barracks: barr,tent
|
||||
VehiclesFactory: weap
|
||||
Production: barr,tent,weap,afld,hpad
|
||||
NavalProduction: spen,syrd
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
NavalUnits: ss,msub,dd,ca,lst,pt
|
||||
UnitsToBuild:
|
||||
e1: 65%
|
||||
e2: 15%
|
||||
e3: 30%
|
||||
e4: 15%
|
||||
dog: 15%
|
||||
shok: 15%
|
||||
harv: 15%
|
||||
apc: 30%
|
||||
jeep: 20%
|
||||
arty: 15%
|
||||
v2rl: 40%
|
||||
ftrk: 30%
|
||||
1tnk: 40%
|
||||
2tnk: 50%
|
||||
3tnk: 50%
|
||||
4tnk: 25%
|
||||
ttnk: 25%
|
||||
stnk: 5%
|
||||
heli: 30%
|
||||
hind: 30%
|
||||
mig: 30%
|
||||
yak: 30%
|
||||
ss: 10%
|
||||
msub: 10%
|
||||
dd: 10%
|
||||
ca: 10%
|
||||
pt: 10%
|
||||
UnitLimits:
|
||||
dog: 4
|
||||
harv: 8
|
||||
jeep: 4
|
||||
ftrk: 4
|
||||
SquadSize: 40
|
||||
HackyAI@TurtleAI:
|
||||
ModularBot@TurtleAI:
|
||||
Name: Turtle AI
|
||||
Type: turtle
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: powr,apwr
|
||||
Barracks: barr,tent
|
||||
VehiclesFactory: weap
|
||||
Production: barr,tent,weap,afld,hpad
|
||||
NavalProduction: spen,syrd
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
NavalUnits: ss,msub,dd,ca,lst,pt
|
||||
UnitsToBuild:
|
||||
e1: 65%
|
||||
e2: 15%
|
||||
e3: 30%
|
||||
e4: 15%
|
||||
dog: 15%
|
||||
shok: 15%
|
||||
harv: 15%
|
||||
apc: 30%
|
||||
jeep: 20%
|
||||
arty: 15%
|
||||
v2rl: 40%
|
||||
ftrk: 50%
|
||||
1tnk: 50%
|
||||
2tnk: 50%
|
||||
3tnk: 50%
|
||||
4tnk: 25%
|
||||
ttnk: 25%
|
||||
stnk: 10%
|
||||
heli: 30%
|
||||
hind: 30%
|
||||
mig: 30%
|
||||
yak: 30%
|
||||
ss: 10%
|
||||
msub: 10%
|
||||
dd: 10%
|
||||
ca: 10%
|
||||
pt: 10%
|
||||
UnitLimits:
|
||||
dog: 4
|
||||
harv: 8
|
||||
jeep: 4
|
||||
ftrk: 4
|
||||
SquadSize: 10
|
||||
HackyAI@NavalAI:
|
||||
ModularBot@NavalAI:
|
||||
Name: Naval AI
|
||||
Type: naval
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: fact
|
||||
Refinery: proc
|
||||
Power: powr,apwr
|
||||
Barracks: barr,tent
|
||||
VehiclesFactory: weap
|
||||
Production: barr,tent,weap,afld,hpad
|
||||
NavalProduction: spen,syrd
|
||||
Silo: silo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
NavalUnits: ss,msub,dd,ca,lst,pt
|
||||
UnitsToBuild:
|
||||
harv: 1%
|
||||
heli: 30%
|
||||
hind: 30%
|
||||
mig: 30%
|
||||
yak: 30%
|
||||
ss: 10%
|
||||
msub: 30%
|
||||
dd: 30%
|
||||
ca: 20%
|
||||
pt: 10%
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
SquadSize: 1
|
||||
SupportPowerBotModule:
|
||||
RequiresCondition: enable-rush-ai || enable-normal-ai || enable-turtle-ai || enable-naval-ai
|
||||
Decisions:
|
||||
@@ -427,3 +269,146 @@ Player:
|
||||
mslo: 1
|
||||
BuildingRepairBotModule:
|
||||
RequiresCondition: enable-rush-ai || enable-normal-ai || enable-turtle-ai || enable-naval-ai
|
||||
SquadManagerBotModule@rush:
|
||||
RequiresCondition: enable-rush-ai
|
||||
SquadSize: 20
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
NavalUnitsTypes: ss,msub,dd,ca,lst,pt
|
||||
ConstructionYardTypes: fact
|
||||
McvManagerBotModule:
|
||||
RequiresCondition: enable-rush-ai || enable-normal-ai || enable-turtle-ai || enable-naval-ai
|
||||
McvTypes: mcv
|
||||
ConstructionYardTypes: fact
|
||||
McvFactoryTypes: weap
|
||||
UnitBuilderBotModule@rush:
|
||||
RequiresCondition: enable-rush-ai
|
||||
UnitsToBuild:
|
||||
e1: 65
|
||||
e2: 15
|
||||
e3: 30
|
||||
e4: 15
|
||||
dog: 15
|
||||
shok: 15
|
||||
harv: 10
|
||||
apc: 30
|
||||
jeep: 20
|
||||
arty: 15
|
||||
v2rl: 40
|
||||
ftrk: 30
|
||||
1tnk: 50
|
||||
2tnk: 50
|
||||
3tnk: 50
|
||||
4tnk: 25
|
||||
ttnk: 25
|
||||
stnk: 5
|
||||
UnitLimits:
|
||||
dog: 4
|
||||
harv: 8
|
||||
jeep: 4
|
||||
ftrk: 4
|
||||
SquadManagerBotModule@normal:
|
||||
RequiresCondition: enable-normal-ai
|
||||
SquadSize: 40
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
NavalUnitsTypes: ss,msub,dd,ca,lst,pt
|
||||
ConstructionYardTypes: fact
|
||||
NavalProductionTypes: spen,syrd
|
||||
UnitBuilderBotModule@normal:
|
||||
RequiresCondition: enable-normal-ai
|
||||
UnitsToBuild:
|
||||
e1: 65
|
||||
e2: 15
|
||||
e3: 30
|
||||
e4: 15
|
||||
dog: 15
|
||||
shok: 15
|
||||
harv: 15
|
||||
apc: 30
|
||||
jeep: 20
|
||||
arty: 15
|
||||
v2rl: 40
|
||||
ftrk: 30
|
||||
1tnk: 40
|
||||
2tnk: 50
|
||||
3tnk: 50
|
||||
4tnk: 25
|
||||
ttnk: 25
|
||||
stnk: 5
|
||||
heli: 30
|
||||
hind: 30
|
||||
mig: 30
|
||||
yak: 30
|
||||
ss: 10
|
||||
msub: 10
|
||||
dd: 10
|
||||
ca: 10
|
||||
pt: 10
|
||||
UnitLimits:
|
||||
dog: 4
|
||||
harv: 8
|
||||
jeep: 4
|
||||
ftrk: 4
|
||||
SquadManagerBotModule@turtle:
|
||||
RequiresCondition: enable-turtle-ai
|
||||
SquadSize: 10
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
NavalUnitsTypes: ss,msub,dd,ca,lst,pt
|
||||
ConstructionYardTypes: fact
|
||||
NavalProductionTypes: spen,syrd
|
||||
UnitBuilderBotModule@turtle:
|
||||
RequiresCondition: enable-turtle-ai
|
||||
UnitsToBuild:
|
||||
e1: 65
|
||||
e2: 15
|
||||
e3: 30
|
||||
e4: 15
|
||||
dog: 15
|
||||
shok: 15
|
||||
harv: 15
|
||||
apc: 30
|
||||
jeep: 20
|
||||
arty: 15
|
||||
v2rl: 40
|
||||
ftrk: 50
|
||||
1tnk: 50
|
||||
2tnk: 50
|
||||
3tnk: 50
|
||||
4tnk: 25
|
||||
ttnk: 25
|
||||
stnk: 10
|
||||
heli: 30
|
||||
hind: 30
|
||||
mig: 30
|
||||
yak: 30
|
||||
ss: 10
|
||||
msub: 10
|
||||
dd: 10
|
||||
ca: 10
|
||||
pt: 10
|
||||
UnitLimits:
|
||||
dog: 4
|
||||
harv: 8
|
||||
jeep: 4
|
||||
ftrk: 4
|
||||
SquadManagerBotModule@naval:
|
||||
RequiresCondition: enable-naval-ai
|
||||
SquadSize: 1
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
NavalUnitsTypes: ss,msub,dd,ca,lst,pt
|
||||
ConstructionYardTypes: fact
|
||||
NavalProductionTypes: spen,syrd
|
||||
UnitBuilderBotModule@naval:
|
||||
RequiresCondition: enable-naval-ai
|
||||
UnitsToBuild:
|
||||
harv: 1
|
||||
heli: 30
|
||||
hind: 30
|
||||
mig: 30
|
||||
yak: 30
|
||||
ss: 10
|
||||
msub: 30
|
||||
dd: 30
|
||||
ca: 20
|
||||
pt: 10
|
||||
UnitLimits:
|
||||
harv: 8
|
||||
|
||||
@@ -1,41 +1,7 @@
|
||||
Player:
|
||||
HackyAI@TestAI:
|
||||
ModularBot@TestAI:
|
||||
Name: Test AI
|
||||
Type: test
|
||||
BuildingCommonNames:
|
||||
ConstructionYard: gacnst
|
||||
Refinery: proc
|
||||
Power: gapowr, napowr, naapwr
|
||||
Barracks: gapile, nahand
|
||||
VehiclesFactory: gaweap, naweap
|
||||
Production: gapile, nahand, gaweap, naweap
|
||||
Silo: gasilo
|
||||
UnitsCommonNames:
|
||||
Mcv: mcv
|
||||
ExcludeFromSquads: harv
|
||||
UnitsToBuild:
|
||||
e1: 80%
|
||||
e2: 25%
|
||||
e3: 25%
|
||||
cyborg: 15%
|
||||
jumpjet: 15%
|
||||
repair: 2%
|
||||
medic: 2%
|
||||
harv: 10%
|
||||
mmch: 15%
|
||||
ttnk: 15%
|
||||
smech: 25%
|
||||
bggy: 25%
|
||||
hvr: 20%
|
||||
bike: 20%
|
||||
subtank: 10%
|
||||
sonic: 10%
|
||||
stnk: 8%
|
||||
UnitLimits:
|
||||
harv: 12
|
||||
medic: 3
|
||||
repair: 3
|
||||
SquadSize: 20
|
||||
GrantConditionOnBotOwner@test:
|
||||
Condition: enable-test-ai
|
||||
Bots: test
|
||||
@@ -93,3 +59,37 @@ Player:
|
||||
naobel: 3
|
||||
BuildingRepairBotModule:
|
||||
RequiresCondition: enable-test-ai
|
||||
SquadManagerBotModule@test:
|
||||
RequiresCondition: enable-test-ai
|
||||
SquadSize: 20
|
||||
ExcludeFromSquadsTypes: harv, mcv
|
||||
ConstructionYardTypes: gacnst
|
||||
UnitBuilderBotModule@test:
|
||||
RequiresCondition: enable-test-ai
|
||||
UnitsToBuild:
|
||||
e1: 80
|
||||
e2: 25
|
||||
e3: 25
|
||||
cyborg: 15
|
||||
jumpjet: 15
|
||||
repair: 2
|
||||
medic: 2
|
||||
harv: 10
|
||||
mmch: 15
|
||||
ttnk: 15
|
||||
smech: 25
|
||||
bggy: 25
|
||||
hvr: 20
|
||||
bike: 20
|
||||
subtank: 10
|
||||
sonic: 10
|
||||
stnk: 8
|
||||
UnitLimits:
|
||||
harv: 12
|
||||
medic: 3
|
||||
repair: 3
|
||||
McvManagerBotModule@test:
|
||||
RequiresCondition: enable-test-ai
|
||||
McvTypes: mcv
|
||||
ConstructionYardTypes: gacnst
|
||||
McvFactoryTypes: gaweap, naweap
|
||||
|
||||
Reference in New Issue
Block a user