Unhardcode defenses in BaseBuilderBotModule

This commit is contained in:
dnqbob
2022-07-30 20:34:33 +08:00
committed by abcdefg30
parent e8748200f7
commit 013ec52108
6 changed files with 15 additions and 1 deletions

View File

@@ -42,6 +42,9 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Tells the AI what building types are considered silos (resource storage).")]
public readonly HashSet<string> SiloTypes = new HashSet<string>();
[Desc("Tells the AI what building types are considered defenses.")]
public readonly HashSet<string> DefenseTypes = new HashSet<string>();
[Desc("Production queues AI uses for buildings.")]
public readonly HashSet<string> BuildingQueues = new HashSet<string> { "Building" };

View File

@@ -156,7 +156,7 @@ namespace OpenRA.Mods.Common.Traits
else
{
// Check if Building is a defense and if we should place it towards the enemy or not.
if (actorInfo.HasTraitInfo<AttackBaseInfo>() && world.LocalRandom.Next(100) < baseBuilder.Info.PlaceDefenseTowardsEnemyChance)
if (baseBuilder.Info.DefenseTypes.Contains(actorInfo.Name) && world.LocalRandom.Next(100) < baseBuilder.Info.PlaceDefenseTowardsEnemyChance)
type = BuildingType.Defense;
else if (baseBuilder.Info.RefineryTypes.Contains(actorInfo.Name))
type = BuildingType.Refinery;

View File

@@ -97,6 +97,7 @@ Player:
VehiclesFactoryTypes: weap, afld
ProductionTypes: pyle, hand, weap, afld, hpad
SiloTypes: silo
DefenseTypes: gtwr,gun,atwr,obli,sam
BuildingLimits:
proc: 4
pyle: 3
@@ -140,6 +141,7 @@ Player:
VehiclesFactoryTypes: weap,afld
ProductionTypes: pyle,hand,weap,afld,hpad
SiloTypes: silo
DefenseTypes: gtwr,gun,atwr,obli,sam
BuildingLimits:
proc: 4
pyle: 3
@@ -183,6 +185,7 @@ Player:
VehiclesFactoryTypes: weap,afld
ProductionTypes: pyle,hand,weap,afld,hpad
SiloTypes: silo
DefenseTypes: gtwr,gun,atwr,obli,sam
BuildingLimits:
proc: 4
pyle: 4

View File

@@ -78,6 +78,7 @@ Player:
VehiclesFactoryTypes: light_factory, heavy_factory, starport
ProductionTypes: light_factory, heavy_factory, barracks, starport
SiloTypes: silo
DefenseTypes: medium_gun_turret,large_gun_turret
BuildingLimits:
barracks: 1
refinery: 4
@@ -128,6 +129,7 @@ Player:
VehiclesFactoryTypes: light_factory, heavy_factory, starport
ProductionTypes: light_factory, heavy_factory, barracks, starport
SiloTypes: silo
DefenseTypes: medium_gun_turret,large_gun_turret
BuildingLimits:
barracks: 1
refinery: 4
@@ -178,6 +180,7 @@ Player:
VehiclesFactoryTypes: light_factory, heavy_factory, starport
ProductionTypes: light_factory, heavy_factory, barracks, starport
SiloTypes: silo
DefenseTypes: medium_gun_turret,large_gun_turret
BuildingLimits:
barracks: 1
refinery: 4

View File

@@ -91,6 +91,7 @@ Player:
VehiclesFactoryTypes: weap
ProductionTypes: barr,tent,weap
SiloTypes: silo
DefenseTypes: hbox,pbox,gun,ftur,tsla,agun,sam
BuildingLimits:
proc: 4
barr: 1
@@ -133,6 +134,7 @@ Player:
ProductionTypes: barr,tent,weap,afld,hpad
NavalProductionTypes: spen, syrd
SiloTypes: silo
DefenseTypes: hbox,pbox,gun,ftur,tsla,agun,sam
BuildingLimits:
proc: 4
barr: 1
@@ -184,6 +186,7 @@ Player:
ProductionTypes: barr,tent,weap,afld,hpad
NavalProductionTypes: spen, syrd
SiloTypes: silo
DefenseTypes: hbox,pbox,gun,ftur,tsla,agun,sam
BuildingLimits:
proc: 4
barr: 1
@@ -236,6 +239,7 @@ Player:
ProductionTypes: barr,tent,weap,afld,hpad
NavalProductionTypes: spen, syrd
SiloTypes: silo
DefenseTypes: hbox,pbox,gun,ftur,tsla,agun,sam
BuildingLimits:
proc: 4
dome: 1

View File

@@ -22,6 +22,7 @@ Player:
VehiclesFactoryTypes: gaweap, naweap
ProductionTypes: gapile, nahand, gaweap, naweap, gahpad, nahpad
SiloTypes: gasilo
DefenseTypes: gavulc,garock,gacsam,gactwr,naobel,nalasr,nasam
BuildingLimits:
proc: 4
gasilo: 2