started porting traits to use new trait args.

This commit is contained in:
Chris Forbes
2010-01-10 18:55:10 +13:00
parent 99a61ca8d9
commit e7f9023aca
9 changed files with 501 additions and 87 deletions

View File

@@ -14,7 +14,7 @@ namespace OpenRa.Game.Traits.Activities
static Actor ChooseHelipad(Actor self) static Actor ChooseHelipad(Actor self)
{ {
return Game.world.Actors.FirstOrDefault( return Game.world.Actors.FirstOrDefault(
a => a.LegacyInfo == Rules.UnitInfo["HPAD"] && a => a.Info == Rules.NewUnitInfo["HPAD"] &&
a.Owner == self.Owner && a.Owner == self.Owner &&
!Reservable.IsReserved(a)); !Reservable.IsReserved(a));
} }

View File

@@ -13,8 +13,9 @@ namespace OpenRa.Game.Traits.Activities
void DoSell(Actor self) void DoSell(Actor self)
{ {
var refund = Rules.General.RefundPercent var cost = self.Info.Traits.Get<BuildableInfo>().Cost;
* self.Health * self.LegacyInfo.Cost / self.LegacyInfo.Strength; var hp = self.Info.Traits.WithInterface<OwnedActorInfo>().First().HP;
var refund = Rules.General.RefundPercent * self.Health * cost / hp;
self.Owner.GiveCash((int)refund); self.Owner.GiveCash((int)refund);
self.Health = 0; self.Health = 0;

View File

@@ -8,6 +8,15 @@ namespace OpenRa.Game.Traits
{ {
class AttackBaseInfo : ITraitInfo class AttackBaseInfo : ITraitInfo
{ {
public readonly string PrimaryWeapon = null;
public readonly string SecondaryWeapon = null;
public readonly int Recoil = 0;
public readonly int[] PrimaryLocalOffset = { };
public readonly int[] SecondaryLocalOffset = { };
public readonly int[] PrimaryOffset = { 0, 0 };
public readonly int[] SecondaryOffset = null;
public readonly bool MuzzleFlash = false;
public virtual object Create(Actor self) { return new AttackBase(self); } public virtual object Create(Actor self) { return new AttackBase(self); }
} }

View File

@@ -9,8 +9,28 @@ using OpenRa.Game.Graphics;
namespace OpenRa.Game.Traits namespace OpenRa.Game.Traits
{ {
class BuildingInfo : ITraitInfo class OwnedActorInfo
{ {
public readonly int HP = 0;
public readonly ArmorType Armor = ArmorType.none;
public readonly bool Crewed = false; // replace with trait?
public readonly int InitialFacing = 128;
}
class BuildingInfo : OwnedActorInfo, ITraitInfo
{
public readonly int Power = 0;
public readonly bool RequiresPower = false;
public readonly bool BaseNormal = true;
public readonly int Adjacent = 1;
public readonly bool Bib = false;
public readonly bool Capturable = false;
public readonly bool Repairable = true;
public readonly string Footprint = "x";
public readonly string[] Produces = { }; // does this go somewhere else?
public readonly int2 Dimensions = new int2(1, 1);
public readonly bool WaterBound = false;
public object Create(Actor self) { return new Building(self); } public object Create(Actor self) { return new Building(self); }
} }

View File

@@ -10,6 +10,7 @@ namespace OpenRa.Game.Traits
class CargoInfo : ITraitInfo class CargoInfo : ITraitInfo
{ {
public readonly UnitMovementType[] PassengerTypes = { }; public readonly UnitMovementType[] PassengerTypes = { };
public readonly int UnloadFacing = 0;
public object Create(Actor self) { return new Cargo(self); } public object Create(Actor self) { return new Cargo(self); }
} }

View File

@@ -14,7 +14,7 @@ namespace OpenRa.Game.Traits
public void OnSteal(Actor self, Actor thief) public void OnSteal(Actor self, Actor thief)
{ {
// Steal half the ore the building holds // Steal half the ore the building holds
var toSteal = (self.LegacyInfo as LegacyBuildingInfo).Storage/2; var toSteal = self.Info.Traits.Get<StoresOreInfo>().Capacity / 2;
self.Owner.TakeCash(toSteal); self.Owner.TakeCash(toSteal);
thief.Owner.GiveCash(toSteal); thief.Owner.GiveCash(toSteal);
@@ -28,15 +28,12 @@ namespace OpenRa.Game.Traits
public IEnumerable<PipType> GetPips(Actor self) public IEnumerable<PipType> GetPips(Actor self)
{ {
for (int i = 0; i < self.LegacyInfo.OrePips; i++) var numPips = self.Info.Traits.Get<StoresOreInfo>().Pips;
{
if (Game.LocalPlayer.GetSiloFullness() > i * 1.0f / self.LegacyInfo.OrePips) return Graphics.Util.MakeArray( numPips,
{ i => (Game.LocalPlayer.GetSiloFullness() > i * 1.0f / numPips)
yield return PipType.Yellow; ? PipType.Yellow : PipType.Transparent );
continue;
}
yield return PipType.Transparent;
}
} }
} }
} }

View File

@@ -2,12 +2,8 @@
namespace OpenRa.Game.Traits namespace OpenRa.Game.Traits
{ {
class UnitInfo : ITraitInfo class UnitInfo : OwnedActorInfo, ITraitInfo
{ {
public readonly int HP = 0;
public readonly ArmorType Armor = ArmorType.none;
public readonly bool Crewed = false; // replace with trait?
public object Create(Actor self) { return new Unit(self); } public object Create(Actor self) { return new Unit(self); }
} }

View File

@@ -39,7 +39,8 @@ namespace RulesConverter
{ "Unit", new PL { { "Unit", new PL {
{ "HP", "Strength" }, { "HP", "Strength" },
{ "Armor", "Armor" }, { "Armor", "Armor" },
{ "Crewed", "Crewed" } } { "Crewed", "Crewed" },
{ "InitialFacing", "InitialFacing" } }
}, },
{ "Selectable", new PL { { "Selectable", new PL {
@@ -102,7 +103,8 @@ namespace RulesConverter
{ "HP", "Strength" }, { "HP", "Strength" },
{ "Armor", "Armor" }, { "Armor", "Armor" },
{ "Crewed", "Crewed" }, { "Crewed", "Crewed" },
{ "WaterBound", "WaterBound" } } { "WaterBound", "WaterBound" },
{ "InitialFacing", "InitialFacing" } }
}, },
{ "StoresOre", new PL { { "StoresOre", new PL {

520
ra.yaml
View File

@@ -1,23 +1,3 @@
#
# Red Alert rules
#
DefaultVehicle:
# Unit:
# HP: 1
# Armor: none
# Crewed: yes
# Voice: VehicleVoice
# Mobile:
# Sight: 1
# ROT: 5
# Speed: 1
# UMT: Wheel
# Repairable:
# Chronoshiftable:
# Passenger:
# IronCurtainable:
V2RL: V2RL:
Inherits: DefaultVehicle Inherits: DefaultVehicle
Buildable: Buildable:
@@ -39,6 +19,7 @@ V2RL:
ROT: 5 ROT: 5
Speed: 7 Speed: 7
AttackBase: AttackBase:
PrimaryWeapon: SCUD
RenderUnitReload: RenderUnitReload:
AutoTarget: AutoTarget:
Repairable: Repairable:
@@ -68,6 +49,8 @@ V2RL:
Speed: 9 Speed: 9
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: 75mm
Recoil: 2
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Repairable: Repairable:
@@ -97,6 +80,8 @@ V2RL:
Speed: 8 Speed: 8
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: 90mm
Recoil: 3
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Repairable: Repairable:
@@ -126,6 +111,8 @@ V2RL:
Speed: 7 Speed: 7
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: 105mm
Recoil: 3
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Repairable: Repairable:
@@ -155,6 +142,10 @@ V2RL:
Speed: 4 Speed: 4
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: 120mm
PrimaryLocalOffset: -4,-5,0,4,-5,0
SecondaryLocalOffset: -7,2,25,7,2,-25
Recoil: 4
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Repairable: Repairable:
@@ -237,6 +228,7 @@ ARTY:
ROT: 2 ROT: 2
Speed: 6 Speed: 6
AttackBase: AttackBase:
PrimaryWeapon: 155mm
RenderUnit: RenderUnit:
Explodes: Explodes:
AutoTarget: AutoTarget:
@@ -323,6 +315,9 @@ JEEP:
Speed: 10 Speed: 10
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: M60mg
PrimaryOffset: 0,0,0,-2
MuzzleFlash: yes
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Repairable: Repairable:
@@ -350,12 +345,16 @@ APC:
ROT: 5 ROT: 5
Speed: 10 Speed: 10
AttackBase: AttackBase:
PrimaryWeapon: M60mg
PrimaryOffset: 0,0,0,-4
MuzzleFlash: yes
RenderUnitMuzzleFlash: RenderUnitMuzzleFlash:
AutoTarget: AutoTarget:
Repairable: Repairable:
Chronoshiftable: Chronoshiftable:
Cargo: Cargo:
PassengerTypes: Foot PassengerTypes: Foot
UnloadFacing: 220
Passenger: Passenger:
IronCurtainable: IronCurtainable:
@@ -444,6 +443,7 @@ SS:
RenderUnit: RenderUnit:
Submarine: Submarine:
AttackBase: AttackBase:
PrimaryWeapon: TorpTube
Chronoshiftable: Chronoshiftable:
IronCurtainable: IronCurtainable:
@@ -467,6 +467,8 @@ DD:
Speed: 6 Speed: 6
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: Stinger
PrimaryOffset: 0,-8,0,-3
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Chronoshiftable: Chronoshiftable:
@@ -492,6 +494,10 @@ CA:
Speed: 4 Speed: 4
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: 8Inch
PrimaryOffset: 0,17,0,-2
SecondaryOffset: 0,-17,0,-2
Recoil: 3
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Chronoshiftable: Chronoshiftable:
@@ -539,6 +545,8 @@ PT:
Speed: 9 Speed: 9
Turreted: Turreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: 2Inch
PrimaryOffset: 0,-6,0,-1
RenderUnitTurreted: RenderUnitTurreted:
AutoTarget: AutoTarget:
Chronoshiftable: Chronoshiftable:
@@ -558,7 +566,9 @@ MIG:
Unit: Unit:
HP: 50 HP: 50
Armor: light Armor: light
InitialFacing: 192
AttackPlane: AttackPlane:
PrimaryWeapon: Maverick
Plane: Plane:
ROT: 5 ROT: 5
Speed: 20 Speed: 20
@@ -583,7 +593,9 @@ YAK:
HP: 60 HP: 60
Armor: light Armor: light
Crewed: yes Crewed: yes
InitialFacing: 192
AttackPlane: AttackPlane:
PrimaryWeapon: ChainGun
Plane: Plane:
ROT: 5 ROT: 5
Speed: 16 Speed: 16
@@ -607,6 +619,7 @@ TRAN:
Unit: Unit:
HP: 90 HP: 90
Armor: light Armor: light
InitialFacing: 20
Helicopter: Helicopter:
ROT: 5 ROT: 5
Speed: 12 Speed: 12
@@ -631,7 +644,11 @@ HELI:
HP: 225 HP: 225
Armor: heavy Armor: heavy
Crewed: yes Crewed: yes
InitialFacing: 20
AttackHeli: AttackHeli:
PrimaryWeapon: Hellfire
PrimaryOffset: -5,0,0,2
SecondaryOffset: 5,0,0,2
Helicopter: Helicopter:
ROT: 4 ROT: 4
Speed: 16 Speed: 16
@@ -656,7 +673,11 @@ HIND:
HP: 225 HP: 225
Armor: heavy Armor: heavy
Crewed: yes Crewed: yes
InitialFacing: 20
AttackHeli: AttackHeli:
PrimaryWeapon: ChainGun
PrimaryOffset: -5,0,0,2
SecondaryOffset: 5,0,0,2
Helicopter: Helicopter:
ROT: 4 ROT: 4
Speed: 12 Speed: 12
@@ -679,6 +700,14 @@ IRON:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -200
RequiresPower: true
Footprint: xx xx
Dimensions: 2,2
Capturable: true
HP: 400
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
IronCurtain: IronCurtain:
@@ -696,6 +725,14 @@ PDOX:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -200
RequiresPower: true
Footprint: xx xx
Dimensions: 2,2
Capturable: true
HP: 400
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
Chronosphere: Chronosphere:
IronCurtainable: IronCurtainable:
@@ -713,9 +750,16 @@ PBOX:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -15
Footprint: x
Dimensions: 1,1
HP: 400
Armor: wood
Crewed: yes
Turreted: Turreted:
RenderBuilding: RenderBuilding:
AttackTurreted: AttackTurreted:
PrimaryWeapon: Vulcan
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -732,9 +776,16 @@ HBOX:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -15
Footprint: x
Dimensions: 1,1
HP: 600
Armor: wood
Crewed: yes
Turreted: Turreted:
RenderBuilding: RenderBuilding:
AttackTurreted: AttackTurreted:
PrimaryWeapon: Vulcan
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -751,9 +802,17 @@ TSLA:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -150
RequiresPower: true
Footprint: _ x
Dimensions: 1,2
HP: 400
Armor: heavy
Crewed: yes
Turreted: Turreted:
RenderBuildingCharge: RenderBuildingCharge:
AttackTurreted: AttackTurreted:
PrimaryWeapon: TeslaZap
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -770,9 +829,17 @@ GUN:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -40
Footprint: x
Dimensions: 1,1
HP: 400
Armor: heavy
Crewed: yes
InitialFacing: 50
Turreted: Turreted:
RenderBuildingTurreted: RenderBuildingTurreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: TurretGun
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -789,9 +856,18 @@ AGUN:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -50
RequiresPower: true
Footprint: _ x
Dimensions: 1,2
HP: 400
Armor: heavy
Crewed: yes
InitialFacing: 224
Turreted: Turreted:
RenderBuildingTurreted: RenderBuildingTurreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: ZSU-23
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -809,8 +885,15 @@ FTUR:
Priority: 3 Priority: 3
Turreted: Turreted:
Building: Building:
Power: -20
Footprint: x
Dimensions: 1,1
HP: 400
Armor: heavy
Crewed: yes
RenderBuilding: RenderBuilding:
AttackTurreted: AttackTurreted:
PrimaryWeapon: FireballLauncher
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -827,6 +910,14 @@ GAP:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -60
RequiresPower: true
Footprint: _ x
Dimensions: 1,2
Capturable: true
HP: 1000
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
@@ -843,9 +934,16 @@ SAM:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -20
Footprint: xx
Dimensions: 2,1
HP: 400
Armor: heavy
Crewed: yes
Turreted: Turreted:
RenderBuildingTurreted: RenderBuildingTurreted:
AttackTurreted: AttackTurreted:
PrimaryWeapon: Nike
AutoTarget: AutoTarget:
IronCurtainable: IronCurtainable:
@@ -862,6 +960,12 @@ MSLO:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -100
Footprint: xx
Dimensions: 2,1
HP: 400
Armor: heavy
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
@@ -878,6 +982,14 @@ ATEK:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -200
Footprint: xx xx
Dimensions: 2,2
Capturable: true
Bib: yes
HP: 400
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
GpsLaunchSite: GpsLaunchSite:
@@ -895,6 +1007,14 @@ WEAP:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -30
Footprint: xxx xxx
Dimensions: 3,2
Capturable: true
Bib: yes
HP: 1000
Armor: light
Crewed: yes
RenderWarFactory: RenderWarFactory:
RenderBuilding: RenderBuilding:
RallyPoint: RallyPoint:
@@ -914,6 +1034,15 @@ SYRD:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -30
Footprint: xxx xxx xxx
Dimensions: 3,3
Capturable: true
BaseNormal: no
Adjacent: 8
HP: 1000
Armor: light
WaterBound: yes
RenderBuilding: RenderBuilding:
ProductionSurround: ProductionSurround:
IronCurtainable: IronCurtainable:
@@ -931,6 +1060,15 @@ SPEN:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -30
Footprint: xxx xxx xxx
Dimensions: 3,3
Capturable: true
BaseNormal: no
Adjacent: 8
HP: 1000
Armor: light
WaterBound: yes
RenderBuilding: RenderBuilding:
ProductionSurround: ProductionSurround:
IronCurtainable: IronCurtainable:
@@ -940,6 +1078,14 @@ FACT:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: 0
Footprint: xxx xxx xxx
Dimensions: 3,3
Capturable: true
Bib: yes
HP: 1000
Armor: heavy
Crewed: yes
RenderBuilding: RenderBuilding:
ConstructionYard: ConstructionYard:
IronCurtainable: IronCurtainable:
@@ -957,9 +1103,19 @@ PROC:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -30
Footprint: _x_ xxx x==
Dimensions: 3,3
Capturable: true
Bib: yes
HP: 900
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
AcceptsOre: AcceptsOre:
StoresOre: StoresOre:
Pips: 17
Capacity: 2000
IronCurtainable: IronCurtainable:
SILO: SILO:
@@ -975,8 +1131,16 @@ SILO:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -10
Footprint: x
Dimensions: 1,1
Capturable: true
HP: 300
Armor: wood
RenderBuildingOre: RenderBuildingOre:
StoresOre: StoresOre:
Pips: 5
Capacity: 1500
IronCurtainable: IronCurtainable:
HPAD: HPAD:
@@ -992,6 +1156,14 @@ HPAD:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -10
Footprint: xx xx
Dimensions: 2,2
Capturable: true
Bib: yes
HP: 800
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
Production: Production:
BelowUnits: BelowUnits:
@@ -1011,6 +1183,15 @@ DOME:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -40
RequiresPower: true
Footprint: xx xx
Dimensions: 2,2
Capturable: true
Bib: yes
HP: 1000
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
ProvidesRadar: ProvidesRadar:
IronCurtainable: IronCurtainable:
@@ -1028,6 +1209,13 @@ AFLD:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -30
Footprint: xxx xxx
Dimensions: 3,2
Capturable: true
HP: 1000
Armor: heavy
Crewed: yes
RenderBuilding: RenderBuilding:
Production: Production:
BelowUnits: BelowUnits:
@@ -1047,6 +1235,14 @@ POWR:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: 100
Footprint: xx xx
Dimensions: 2,2
Capturable: true
Bib: yes
HP: 400
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
@@ -1063,6 +1259,14 @@ APWR:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: 200
Footprint: ___ xxx xxx
Dimensions: 3,3
Capturable: true
Bib: yes
HP: 700
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
@@ -1079,6 +1283,14 @@ STEK:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -100
Footprint: xxx xxx
Dimensions: 3,2
Capturable: true
Bib: yes
HP: 600
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
IronCurtainable: IronCurtainable:
@@ -1095,6 +1307,14 @@ BARR:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -20
Footprint: xx xx
Dimensions: 2,2
Capturable: true
Bib: yes
HP: 800
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
RallyPoint: RallyPoint:
Production: Production:
@@ -1113,6 +1333,14 @@ TENT:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -20
Footprint: xx xx
Dimensions: 2,2
Capturable: true
Bib: yes
HP: 800
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
RallyPoint: RallyPoint:
Production: Production:
@@ -1131,6 +1359,11 @@ KENN:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -10
Footprint: x
Dimensions: 1,1
HP: 400
Armor: wood
RenderBuilding: RenderBuilding:
RallyPoint: RallyPoint:
Production: Production:
@@ -1149,6 +1382,13 @@ FIX:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -30
Footprint: _x_ xxx _x_
Dimensions: 3,3
Capturable: true
HP: 800
Armor: wood
Crewed: yes
RenderBuilding: RenderBuilding:
BelowUnits: BelowUnits:
Reservable: Reservable:
@@ -1166,6 +1406,13 @@ FACF:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -2
Footprint: xxx xxx xxx
Dimensions: 3,3
Capturable: true
BaseNormal: no
Bib: yes
HP: 30
RenderBuilding: RenderBuilding:
Image: FACT Image: FACT
Fake: Fake:
@@ -1184,6 +1431,13 @@ WEAF:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -2
Footprint: xxx xxx
Dimensions: 3,2
Capturable: true
BaseNormal: no
Bib: yes
HP: 30
RenderWarFactory: RenderWarFactory:
RenderBuilding: RenderBuilding:
Image: WEAP Image: WEAP
@@ -1203,6 +1457,14 @@ SYRF:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -2
Footprint: xxx xxx xxx
Dimensions: 3,3
Capturable: true
BaseNormal: no
Adjacent: 8
HP: 30
WaterBound: yes
RenderBuilding: RenderBuilding:
Image: SYRD Image: SYRD
Fake: Fake:
@@ -1212,6 +1474,14 @@ SPEF:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -2
Footprint: xxx xxx xxx
Dimensions: 3,3
Capturable: true
BaseNormal: no
Adjacent: 8
HP: 30
WaterBound: yes
RenderBuilding: RenderBuilding:
Image: SPEN Image: SPEN
Fake: Fake:
@@ -1229,6 +1499,13 @@ DOMF:
Selectable: Selectable:
Priority: 3 Priority: 3
Building: Building:
Power: -2
Footprint: xx xx
Dimensions: 2,2
Capturable: true
BaseNormal: no
Bib: yes
HP: 30
RenderBuilding: RenderBuilding:
Image: DOME Image: DOME
Fake: Fake:
@@ -1251,6 +1528,154 @@ MINV:
BelowUnits: BelowUnits:
InvisibleToOthers: InvisibleToOthers:
T01:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T02:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T03:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T05:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T06:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T07:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T08:
Inherits: DefaultBuilding
Building:
Footprint: x_
Dimensions: 2,1
RenderBuilding:
T10:
Inherits: DefaultBuilding
Building:
Footprint: xx xx
Dimensions: 2,2
RenderBuilding:
T11:
Inherits: DefaultBuilding
Building:
Footprint: xx xx
Dimensions: 2,2
RenderBuilding:
T12:
Inherits: DefaultBuilding
Building:
Footprint: xx xx
Dimensions: 2,2
RenderBuilding:
T13:
Inherits: DefaultBuilding
Building:
Footprint: xx xx
Dimensions: 2,2
RenderBuilding:
T14:
Inherits: DefaultBuilding
Building:
Footprint: xx xx
Dimensions: 2,2
RenderBuilding:
T15:
Inherits: DefaultBuilding
Building:
Footprint: xx xx
Dimensions: 2,2
RenderBuilding:
T16:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
T17:
Inherits: DefaultBuilding
Building:
Footprint: x_ x_
Dimensions: 2,2
RenderBuilding:
TC01:
Inherits: DefaultBuilding
Building:
Footprint: xx_ xx_
Dimensions: 3,2
RenderBuilding:
TC02:
Inherits: DefaultBuilding
Building:
Footprint: xx_ xx_
Dimensions: 3,2
RenderBuilding:
TC03:
Inherits: DefaultBuilding
Building:
Footprint: xx_ xx_
Dimensions: 3,2
RenderBuilding:
TC04:
Inherits: DefaultBuilding
Building:
Footprint: xxx_ xxx_ xxx_
Dimensions: 4,3
RenderBuilding:
TC05:
Inherits: DefaultBuilding
Building:
Footprint: xxx_ xxx_ xxx_
Dimensions: 4,3
RenderBuilding:
MINE:
Inherits: DefaultBuilding
Building:
Footprint: x
Dimensions: 1,1
RenderBuilding:
SeedsOre:
DOG: DOG:
Inherits: DefaultInfantry Inherits: DefaultInfantry
Buildable: Buildable:
@@ -1292,6 +1717,7 @@ E1:
Speed: 4 Speed: 4
RenderInfantry: RenderInfantry:
AttackBase: AttackBase:
PrimaryWeapon: M1Carbine
TakeCover: TakeCover:
SquishByTank: SquishByTank:
AutoTarget: AutoTarget:
@@ -1316,6 +1742,8 @@ E2:
Speed: 5 Speed: 5
RenderInfantry: RenderInfantry:
AttackBase: AttackBase:
PrimaryWeapon: Grenade
PrimaryOffset: 0,0,0,-13
TakeCover: TakeCover:
SquishByTank: SquishByTank:
AutoTarget: AutoTarget:
@@ -1340,6 +1768,8 @@ E3:
Speed: 3 Speed: 3
RenderInfantry: RenderInfantry:
AttackBase: AttackBase:
PrimaryWeapon: RedEye
PrimaryOffset: 0,0,0,-13
TakeCover: TakeCover:
SquishByTank: SquishByTank:
AutoTarget: AutoTarget:
@@ -1365,6 +1795,8 @@ E4:
Speed: 3 Speed: 3
RenderInfantry: RenderInfantry:
AttackBase: AttackBase:
PrimaryWeapon: Flamer
PrimaryOffset: 0,0,0,-7
TakeCover: TakeCover:
SquishByTank: SquishByTank:
AutoTarget: AutoTarget:
@@ -1465,6 +1897,7 @@ E7:
RenderInfantry: RenderInfantry:
C4Demolition: C4Demolition:
AttackBase: AttackBase:
PrimaryWeapon: Colt45
TakeCover: TakeCover:
SquishByTank: SquishByTank:
AutoTarget: AutoTarget:
@@ -1491,53 +1924,8 @@ MEDI:
RenderInfantry: RenderInfantry:
AutoHeal: AutoHeal:
AttackBase: AttackBase:
PrimaryWeapon: Heal
TakeCover: TakeCover:
SquishByTank: SquishByTank:
Passenger: Passenger:
T01
Inherits: DefaultTree
T02
Inherits: DefaultTree
T03
Inherits: DefaultTree
T05
Inherits: DefaultTree
T06
Inherits: DefaultTree
T07
Inherits: DefaultTree
T08
Inherits: DefaultTree
T10
Inherits: DefaultTree
T11
Inherits: DefaultTree
T12
Inherits: DefaultTree
T13
Inherits: DefaultTree
T14
Inherits: DefaultTree
T15
Inherits: DefaultTree
T16
Inherits: DefaultTree
T17
Inherits: DefaultTree
TC01
Inherits: DefaultTree
TC02
Inherits: DefaultTree
TC03
Inherits: DefaultTree
TC04
Inherits: DefaultTree
TC05
Inherits: DefaultTree
MINE
Inherits: DefaultTree