Move Power out of Building and into its own trait

Conflicts:
	mods/ts/rules/structures.yaml
This commit is contained in:
ScottNZ
2014-08-02 01:38:14 +12:00
parent 9527d7c2f4
commit 692e3a9c88
23 changed files with 383 additions and 211 deletions

View File

@@ -499,10 +499,10 @@ namespace OpenRA.Mods.D2k.Widgets
* ((lowpower) ? CurrentQueue.Info.LowPowerSlowdown : 1); * ((lowpower) ? CurrentQueue.Info.LowPowerSlowdown : 1);
DrawRightAligned(WidgetUtils.FormatTime(time), pos + new int2(-5, 35), lowpower ? Color.Red : Color.White); DrawRightAligned(WidgetUtils.FormatTime(time), pos + new int2(-5, 35), lowpower ? Color.Red : Color.White);
var bi = info.Traits.GetOrDefault<BuildingInfo>(); var pi = info.Traits.GetOrDefault<PowerInfo>();
if (bi != null) if (pi != null)
DrawRightAligned("{1}{0}".F(bi.Power, bi.Power > 0 ? "+" : ""), pos + new int2(-5, 20), DrawRightAligned("{1}{0}".F(pi.Amount, pi.Amount > 0 ? "+" : ""), pos + new int2(-5, 20),
((power.PowerProvided - power.PowerDrained) >= -bi.Power || bi.Power > 0) ? Color.White : Color.Red); ((power.PowerProvided - power.PowerDrained) >= -pi.Amount || pi.Amount > 0) ? Color.White : Color.Red);
p += new int2(5, 35); p += new int2(5, 35);
if (!canBuildThis) if (!canBuildThis)

View File

@@ -138,8 +138,8 @@ namespace OpenRA.Mods.RA.AI
// First priority is to get out of a low power situation // First priority is to get out of a low power situation
if (playerPower.ExcessPower < 0) if (playerPower.ExcessPower < 0)
{ {
var power = GetProducibleBuilding("Power", buildableThings, a => a.Traits.Get<BuildingInfo>().Power); var power = GetProducibleBuilding("Power", buildableThings, a => a.Traits.Get<PowerInfo>().Amount);
if (power != null && power.Traits.Get<BuildingInfo>().Power > 0) if (power != null && power.Traits.Get<PowerInfo>().Amount > 0)
{ {
HackyAI.BotDebug("AI: {0} decided to build {1}: Priority override (low power)", queue.Actor.Owner, power.Name); HackyAI.BotDebug("AI: {0} decided to build {1}: Priority override (low power)", queue.Actor.Owner, power.Name);
return power; return power;
@@ -198,12 +198,12 @@ namespace OpenRA.Mods.RA.AI
// Will this put us into low power? // Will this put us into low power?
var actor = world.Map.Rules.Actors[frac.Key]; var actor = world.Map.Rules.Actors[frac.Key];
var bi = actor.Traits.Get<BuildingInfo>(); var pi = actor.Traits.GetOrDefault<PowerInfo>();
if (playerPower.ExcessPower < 0 || playerPower.ExcessPower < bi.Power) if (playerPower.ExcessPower < 0 || (pi != null && playerPower.ExcessPower < pi.Amount))
{ {
// Try building a power plant instead // Try building a power plant instead
var power = GetProducibleBuilding("Power", buildableThings, a => a.Traits.Get<BuildingInfo>().Power); var power = GetProducibleBuilding("Power", buildableThings, a => a.Traits.Get<PowerInfo>().Amount);
if (power != null && power.Traits.Get<BuildingInfo>().Power > 0) if (power != null && power.Traits.Get<PowerInfo>().Amount > 0)
{ {
HackyAI.BotDebug("{0} decided to build {1}: Priority override (would be low power)", queue.Actor.Owner, power.Name); HackyAI.BotDebug("{0} decided to build {1}: Priority override (would be low power)", queue.Actor.Owner, power.Name);
return power; return power;

View File

@@ -23,8 +23,6 @@ namespace OpenRA.Mods.RA.Buildings
public class BuildingInfo : ITraitInfo, IOccupySpaceInfo, UsesInit<LocationInit> public class BuildingInfo : ITraitInfo, IOccupySpaceInfo, UsesInit<LocationInit>
{ {
[Desc("If negative, it will drain power, if positive, it will provide power.")]
public readonly int Power = 0;
[Desc("Where you are allowed to place the building (Water, Clear, ...)")] [Desc("Where you are allowed to place the building (Water, Clear, ...)")]
public readonly string[] TerrainTypes = {}; public readonly string[] TerrainTypes = {};
[Desc("The range to the next building it can be constructed. Set it higher for walls.")] [Desc("The range to the next building it can be constructed. Set it higher for walls.")]
@@ -101,7 +99,7 @@ namespace OpenRA.Mods.RA.Buildings
} }
} }
public class Building : INotifyDamage, IOccupySpace, INotifyCapture, INotifySold, INotifyTransform, ISync, ITechTreePrerequisite, INotifyCreated, INotifyAddedToWorld, INotifyRemovedFromWorld public class Building : IOccupySpace, INotifySold, INotifyTransform, ISync, ITechTreePrerequisite, INotifyCreated, INotifyAddedToWorld, INotifyRemovedFromWorld
{ {
public readonly BuildingInfo Info; public readonly BuildingInfo Info;
public bool BuildComplete { get; private set; } public bool BuildComplete { get; private set; }
@@ -109,8 +107,6 @@ namespace OpenRA.Mods.RA.Buildings
readonly Actor self; readonly Actor self;
public readonly bool SkipMakeAnimation; public readonly bool SkipMakeAnimation;
PowerManager PlayerPower;
/* shared activity lock: undeploy, sell, capture, etc */ /* shared activity lock: undeploy, sell, capture, etc */
[Sync] public bool Locked = true; [Sync] public bool Locked = true;
@@ -135,7 +131,6 @@ namespace OpenRA.Mods.RA.Buildings
this.self = init.self; this.self = init.self;
this.topLeft = init.Get<LocationInit, CPos>(); this.topLeft = init.Get<LocationInit, CPos>();
this.Info = info; this.Info = info;
this.PlayerPower = init.self.Owner.PlayerActor.Trait<PowerManager>();
occupiedCells = FootprintUtils.UnpathableTiles( self.Info.Name, Info, TopLeft ) occupiedCells = FootprintUtils.UnpathableTiles( self.Info.Name, Info, TopLeft )
.Select(c => Pair.New(c, SubCell.FullCell)).ToArray(); .Select(c => Pair.New(c, SubCell.FullCell)).ToArray();
@@ -144,30 +139,9 @@ namespace OpenRA.Mods.RA.Buildings
SkipMakeAnimation = init.Contains<SkipMakeAnimsInit>(); SkipMakeAnimation = init.Contains<SkipMakeAnimsInit>();
} }
public int GetPowerUsage()
{
if (Info.Power <= 0)
return Info.Power;
var health = self.TraitOrDefault<Health>();
return health != null ? (Info.Power * health.HP / health.MaxHP) : Info.Power;
}
public void Damaged(Actor self, AttackInfo e)
{
// Power plants lose power with damage
if (Info.Power > 0)
PlayerPower.UpdateActor(self, GetPowerUsage());
}
Pair<CPos, SubCell>[] occupiedCells; Pair<CPos, SubCell>[] occupiedCells;
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { return occupiedCells; } public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { return occupiedCells; }
public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner)
{
PlayerPower = newOwner.PlayerActor.Trait<PowerManager>();
}
public void Created(Actor self) public void Created(Actor self)
{ {
if (SkipMakeAnimation || !self.HasTrait<WithMakeAnimation>()) if (SkipMakeAnimation || !self.HasTrait<WithMakeAnimation>())

View File

@@ -21,11 +21,11 @@ namespace OpenRA.Mods.RA.Buildings
public class PowerManager : ITick, ISync public class PowerManager : ITick, ISync
{ {
PowerManagerInfo Info; readonly PowerManagerInfo info;
Player Player; readonly Player player;
DeveloperMode devMode; readonly DeveloperMode devMode;
Dictionary<Actor, int> PowerDrain = new Dictionary<Actor, int>(); readonly Dictionary<Actor, int> powerDrain = new Dictionary<Actor, int>();
[Sync] int totalProvided; [Sync] int totalProvided;
public int PowerProvided { get { return totalProvided; } } public int PowerProvided { get { return totalProvided; } }
@@ -36,8 +36,8 @@ namespace OpenRA.Mods.RA.Buildings
public PowerManager(ActorInitializer init, PowerManagerInfo info) public PowerManager(ActorInitializer init, PowerManagerInfo info)
{ {
Info = info; this.info = info;
Player = init.self.Owner; player = init.self.Owner;
init.world.ActorAdded += ActorAdded; init.world.ActorAdded += ActorAdded;
init.world.ActorRemoved += ActorRemoved; init.world.ActorRemoved += ActorRemoved;
@@ -48,17 +48,22 @@ namespace OpenRA.Mods.RA.Buildings
void ActorAdded(Actor a) void ActorAdded(Actor a)
{ {
if (a.Owner != Player || !a.HasTrait<Building>()) if (a.Owner != player)
return; return;
PowerDrain.Add(a, a.Trait<Building>().GetPowerUsage());
var power = a.TraitOrDefault<Power>();
if (power == null)
return;
powerDrain.Add(a, power.CurrentPower);
UpdateTotals(); UpdateTotals();
} }
void ActorRemoved(Actor a) void ActorRemoved(Actor a)
{ {
if (a.Owner != Player || !a.HasTrait<Building>()) if (a.Owner != player || !a.HasTrait<Power>())
return; return;
PowerDrain.Remove(a); powerDrain.Remove(a);
UpdateTotals(); UpdateTotals();
} }
@@ -66,7 +71,7 @@ namespace OpenRA.Mods.RA.Buildings
{ {
totalProvided = 0; totalProvided = 0;
totalDrained = 0; totalDrained = 0;
foreach (var kv in PowerDrain) foreach (var kv in powerDrain)
{ {
var p = kv.Value; var p = kv.Value;
if (p > 0) if (p > 0)
@@ -81,10 +86,10 @@ namespace OpenRA.Mods.RA.Buildings
public void UpdateActor(Actor a, int newPower) public void UpdateActor(Actor a, int newPower)
{ {
if (a.Owner != Player || !a.HasTrait<Building>()) if (a.Owner != player || !a.HasTrait<Power>())
return; return;
PowerDrain[a] = newPower; powerDrain[a] = newPower;
UpdateTotals(); UpdateTotals();
} }
@@ -109,7 +114,7 @@ namespace OpenRA.Mods.RA.Buildings
{ {
if (lowPower) if (lowPower)
Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", "LowPower", self.Owner.Country.Race); Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", "LowPower", self.Owner.Country.Race);
nextPowerAdviceTime = Info.AdviceInterval; nextPowerAdviceTime = info.AdviceInterval;
} }
} }

View File

@@ -14,7 +14,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Buildings namespace OpenRA.Mods.RA.Buildings
{ {
[Desc("The player can disable the power individually on this actor.")] [Desc("The player can disable the power individually on this actor.")]
public class CanPowerDownInfo : ITraitInfo public class CanPowerDownInfo : ITraitInfo, Requires<PowerInfo>
{ {
public object Create(ActorInitializer init) { return new CanPowerDown(init); } public object Create(ActorInitializer init) { return new CanPowerDown(init); }
} }
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA.Buildings
public CanPowerDown(ActorInitializer init) public CanPowerDown(ActorInitializer init)
{ {
PowerManager = init.self.Owner.PlayerActor.Trait<PowerManager>(); PowerManager = init.self.Owner.PlayerActor.Trait<PowerManager>();
normalPower = init.self.Info.Traits.Get<BuildingInfo>().Power; normalPower = init.self.Info.Traits.Get<PowerInfo>().Amount;
} }
public bool Disabled { get { return disabled; } } public bool Disabled { get { return disabled; } }

View File

@@ -118,6 +118,7 @@
<Compile Include="Air\AttackHeli.cs" /> <Compile Include="Air\AttackHeli.cs" />
<Compile Include="Air\AttackPlane.cs" /> <Compile Include="Air\AttackPlane.cs" />
<Compile Include="Crates\DuplicateUnitCrateAction.cs" /> <Compile Include="Crates\DuplicateUnitCrateAction.cs" />
<Compile Include="Power.cs" />
<Compile Include="Effects\Beacon.cs" /> <Compile Include="Effects\Beacon.cs" />
<Compile Include="Player\PlaceBeacon.cs" /> <Compile Include="Player\PlaceBeacon.cs" />
<Compile Include="MenuPaletteEffect.cs" /> <Compile Include="MenuPaletteEffect.cs" />
@@ -164,7 +165,7 @@
<Compile Include="CaptureNotification.cs" /> <Compile Include="CaptureNotification.cs" />
<Compile Include="Buildings\Building.cs" /> <Compile Include="Buildings\Building.cs" />
<Compile Include="Buildings\BuildingInfluence.cs" /> <Compile Include="Buildings\BuildingInfluence.cs" />
<Compile Include="Buildings\CanPowerDown.cs" /> <Compile Include="CanPowerDown.cs" />
<Compile Include="Buildings\CustomSellValue.cs" /> <Compile Include="Buildings\CustomSellValue.cs" />
<Compile Include="Buildings\CustomBuildTimeValue.cs" /> <Compile Include="Buildings\CustomBuildTimeValue.cs" />
<Compile Include="Buildings\DeadBuildingState.cs" /> <Compile Include="Buildings\DeadBuildingState.cs" />
@@ -588,7 +589,5 @@ cd "$(SolutionDir)thirdparty/"
copy "FuzzyLogicLibrary.dll" "$(SolutionDir)" copy "FuzzyLogicLibrary.dll" "$(SolutionDir)"
cd "$(SolutionDir)"</PostBuildEvent> cd "$(SolutionDir)"</PostBuildEvent>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup />
<Folder Include="Widgets\Logic\Ingame\" />
</ItemGroup>
</Project> </Project>

63
OpenRA.Mods.RA/Power.cs Normal file
View File

@@ -0,0 +1,63 @@
#region Copyright & License Information
/*
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
public class PowerInfo : ITraitInfo
{
[Desc("If negative, it will drain power. If positive, it will provide power.")]
public readonly int Amount = 0;
[Desc("Scale power amount with the current health.")]
public readonly bool ScaleWithHealth = false;
public object Create(ActorInitializer init) { return new Power(init.self, this); }
}
public class Power : INotifyDamage, INotifyCapture
{
readonly PowerInfo info;
readonly Lazy<Health> health;
PowerManager playerPower;
public int CurrentPower
{
get
{
if (info.Amount <= 0 || health == null || !info.ScaleWithHealth)
return info.Amount;
return info.Amount * health.Value.HP / health.Value.MaxHP;
}
}
public Power(Actor self, PowerInfo info)
{
this.info = info;
health = Exts.Lazy(self.TraitOrDefault<Health>);
playerPower = self.Owner.PlayerActor.Trait<PowerManager>();
}
public void Damaged(Actor self, AttackInfo e)
{
if (info.ScaleWithHealth)
playerPower.UpdateActor(self, CurrentPower);
}
public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner)
{
playerPower = newOwner.PlayerActor.Trait<PowerManager>();
}
}
}

View File

@@ -56,7 +56,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var tooltip = info.Traits.Get<TooltipInfo>(); var tooltip = info.Traits.Get<TooltipInfo>();
var buildable = info.Traits.Get<BuildableInfo>(); var buildable = info.Traits.Get<BuildableInfo>();
var cost = info.Traits.Get<ValuedInfo>().Cost; var cost = info.Traits.Get<ValuedInfo>().Cost;
var bi = info.Traits.GetOrDefault<BuildingInfo>(); var pi = info.Traits.GetOrDefault<PowerInfo>();
nameLabel.GetText = () => tooltip.Name; nameLabel.GetText = () => tooltip.Name;
@@ -72,7 +72,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var requiresString = prereqs.Any() ? requiresLabel.Text.F(prereqs.JoinWith(", ")) : ""; var requiresString = prereqs.Any() ? requiresLabel.Text.F(prereqs.JoinWith(", ")) : "";
requiresLabel.GetText = () => requiresString; requiresLabel.GetText = () => requiresString;
var power = bi != null ? bi.Power : 0; var power = pi != null ? pi.Amount : 0;
var powerString = power.ToString(); var powerString = power.ToString();
powerLabel.GetText = () => powerString; powerLabel.GetText = () => powerString;
powerLabel.GetColor = () => ((pm.PowerProvided - pm.PowerDrained) >= -power || power > 0) powerLabel.GetColor = () => ((pm.PowerProvided - pm.PowerDrained) >= -power || power > 0)

View File

@@ -328,6 +328,32 @@ namespace OpenRA.Utility
node.Key = "Units"; node.Key = "Units";
} }
// Power from Building was moved out into its own trait
if (engineVersion < 20140802)
{
if (depth == 0)
{
var actorTraits = node.Value.Nodes;
var building = actorTraits.FirstOrDefault(t => t.Key == "Building");
if (building != null)
{
var buildingFields = building.Value.Nodes;
var power = buildingFields.FirstOrDefault(n => n.Key == "Power");
if (power != null)
{
buildingFields.Remove(power);
var powerFields = new List<MiniYamlNode> { new MiniYamlNode("Amount", power.Value) };
if (FieldLoader.GetValue<int>("Power", power.Value.Value) > 0)
powerFields.Add(new MiniYamlNode("ScaleWithHealth", "True"));
actorTraits.Add(new MiniYamlNode("Power", new MiniYaml("", powerFields)));
}
}
}
}
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1); UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
} }
} }

View File

@@ -947,7 +947,8 @@ Rules:
Buildable: Buildable:
Prerequisites: ~disabled Prerequisites: ~disabled
Building: Building:
Power: -10 Power:
Amount: -10
HQ: HQ:
Buildable: Buildable:
Prerequisites: ~disabled Prerequisites: ~disabled
@@ -967,7 +968,6 @@ Rules:
Prerequisites: proc Prerequisites: proc
Queue: Building.GDI Queue: Building.GDI
Building: Building:
Power: -40
Footprint: x_ xx Footprint: x_ xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -978,6 +978,8 @@ Rules:
ProvidesRadar: ProvidesRadar:
RenderBuilding: RenderBuilding:
Image: hq Image: hq
Power:
Amount: -40
PowerProxy.AirSupport: PowerProxy.AirSupport:
AirstrikePower: AirstrikePower:
Icon: airstrike Icon: airstrike

View File

@@ -642,7 +642,6 @@ Rules:
Prerequisites: proc Prerequisites: proc
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: -40
Footprint: x_ xx Footprint: x_ xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -656,6 +655,8 @@ Rules:
Range: 8 Range: 8
RenderBuilding: RenderBuilding:
Image: hq Image: hq
Power:
Amount: -40
Sequences: Sequences:

View File

@@ -711,7 +711,6 @@ Rules:
Prerequisites: proc Prerequisites: proc
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: -40
Footprint: x_ xx Footprint: x_ xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -725,6 +724,8 @@ Rules:
Range: 8 Range: 8
RenderBuilding: RenderBuilding:
Image: hq Image: hq
Power:
Amount: -40
Sequences: Sequences:

View File

@@ -10,7 +10,6 @@ FACT:
Name: Construction Yard Name: Construction Yard
Description: Builds structures Description: Builds structures
Building: Building:
Power: 0
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Health: Health:
@@ -75,6 +74,8 @@ FACT:
Cooldown: 75 Cooldown: 75
Range: 14 Range: 14
WithBuildingPlacedAnimation: WithBuildingPlacedAnimation:
Power:
Amount: 0
NUKE: NUKE:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -90,7 +91,6 @@ NUKE:
Prerequisites: fact Prerequisites: fact
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: 100
Footprint: x_ xx Footprint: x_ xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -98,6 +98,9 @@ NUKE:
RevealsShroud: RevealsShroud:
Range: 4c0 Range: 4c0
Bib: Bib:
Power:
Amount: 100
ScaleWithHealth: True
NUK2: NUK2:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -113,7 +116,6 @@ NUK2:
Prerequisites: anyhq, ~techlevel.medium Prerequisites: anyhq, ~techlevel.medium
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: 200
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -121,6 +123,9 @@ NUK2:
RevealsShroud: RevealsShroud:
Range: 4c0 Range: 4c0
Bib: Bib:
Power:
Amount: 200
ScaleWithHealth: True
PROC: PROC:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -134,7 +139,6 @@ PROC:
Prerequisites: anypower Prerequisites: anypower
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: -50
Footprint: _x_ xxx === Footprint: _x_ xxx ===
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -159,6 +163,8 @@ PROC:
SpawnOffset: 1,2 SpawnOffset: 1,2
Facing: 64 Facing: 64
WithResources: WithResources:
Power:
Amount: -50
SILO: SILO:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -172,7 +178,6 @@ SILO:
Prerequisites: proc Prerequisites: proc
Queue: Defence.GDI, Defence.Nod Queue: Defence.GDI, Defence.Nod
Building: Building:
Power: -10
Footprint: xx Footprint: xx
Dimensions: 2,1 Dimensions: 2,1
-GivesBuildableArea: -GivesBuildableArea:
@@ -191,6 +196,8 @@ SILO:
Bounds: 49,30 Bounds: 49,30
-RenderBuilding: -RenderBuilding:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -10
PYLE: PYLE:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -206,7 +213,6 @@ PYLE:
Prerequisites: anypower Prerequisites: anypower
Queue: Building.GDI Queue: Building.GDI
Building: Building:
Power: -20
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -230,6 +236,8 @@ PYLE:
BuildSpeed: .4 BuildSpeed: .4
LowPowerSlowdown: 3 LowPowerSlowdown: 3
ProductionBar: ProductionBar:
Power:
Amount: -20
HAND: HAND:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -245,7 +253,6 @@ HAND:
Prerequisites: anypower Prerequisites: anypower
Queue: Building.Nod Queue: Building.Nod
Building: Building:
Power: -20
Footprint: __ xx xx Footprint: __ xx xx
Dimensions: 2,3 Dimensions: 2,3
Health: Health:
@@ -266,6 +273,8 @@ HAND:
BuildSpeed: .4 BuildSpeed: .4
LowPowerSlowdown: 3 LowPowerSlowdown: 3
ProductionBar: ProductionBar:
Power:
Amount: -20
AFLD: AFLD:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -281,7 +290,6 @@ AFLD:
Prerequisites: proc Prerequisites: proc
Queue: Building.Nod Queue: Building.Nod
Building: Building:
Power: -30
Footprint: xxxx xxxx Footprint: xxxx xxxx
Dimensions: 4,2 Dimensions: 4,2
Health: Health:
@@ -305,6 +313,8 @@ AFLD:
LowPowerSlowdown: 3 LowPowerSlowdown: 3
ReadyAudio: ReadyAudio:
ProductionBar: ProductionBar:
Power:
Amount: -30
WEAP: WEAP:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -320,7 +330,6 @@ WEAP:
Prerequisites: proc Prerequisites: proc
Queue: Building.GDI Queue: Building.GDI
Building: Building:
Power: -30
Footprint: ___ xxx === Footprint: ___ xxx ===
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -344,6 +353,8 @@ WEAP:
BuildSpeed: .4 BuildSpeed: .4
LowPowerSlowdown: 3 LowPowerSlowdown: 3
ProductionBar: ProductionBar:
Power:
Amount: -30
HPAD: HPAD:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -357,7 +368,6 @@ HPAD:
Prerequisites: proc Prerequisites: proc
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: -10
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -390,6 +400,8 @@ HPAD:
ProductionType: Aircraft.GDI ProductionType: Aircraft.GDI
ProductionBar@Nod: ProductionBar@Nod:
ProductionType: Aircraft.Nod ProductionType: Aircraft.Nod
Power:
Amount: -10
HQ: HQ:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -405,7 +417,6 @@ HQ:
Prerequisites: proc, ~techlevel.medium Prerequisites: proc, ~techlevel.medium
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: -40
Footprint: x_ xx Footprint: x_ xx
Dimensions: 2,2 Dimensions: 2,2
RequiresPower: RequiresPower:
@@ -440,6 +451,8 @@ HQ:
DisplayRadarPing: True DisplayRadarPing: True
CameraActor: camera CameraActor: camera
SupportPowerChargeBar: SupportPowerChargeBar:
Power:
Amount: -40
FIX: FIX:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -453,7 +466,6 @@ FIX:
Prerequisites: vehicleproduction Prerequisites: vehicleproduction
Queue: Building.GDI, Building.Nod Queue: Building.GDI, Building.Nod
Building: Building:
Power: -30
Footprint: _x_ xxx _x_ Footprint: _x_ xxx _x_
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -466,6 +478,8 @@ FIX:
RepairsUnits: RepairsUnits:
RallyPoint: RallyPoint:
WithRepairAnimation: WithRepairAnimation:
Power:
Amount: -30
EYE: EYE:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -481,7 +495,6 @@ EYE:
Prerequisites: anyhq, ~techlevel.high Prerequisites: anyhq, ~techlevel.high
Queue: Building.GDI Queue: Building.GDI
Building: Building:
Power: -200
Footprint: x_ xx Footprint: x_ xx
Dimensions: 2,2 Dimensions: 2,2
RequiresPower: RequiresPower:
@@ -512,6 +525,8 @@ EYE:
DisplayRadarPing: True DisplayRadarPing: True
CameraActor: camera.small CameraActor: camera.small
SupportPowerChargeBar: SupportPowerChargeBar:
Power:
Amount: -200
TMPL: TMPL:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -527,7 +542,6 @@ TMPL:
Prerequisites: anyhq, ~techlevel.high Prerequisites: anyhq, ~techlevel.high
Queue: Building.Nod Queue: Building.Nod
Building: Building:
Power: -150
Footprint: ___ xxx xxx Footprint: ___ xxx xxx
Dimensions: 3,3 Dimensions: 3,3
RequiresPower: RequiresPower:
@@ -556,6 +570,8 @@ TMPL:
DisplayRadarPing: True DisplayRadarPing: True
CameraActor: camera CameraActor: camera
SupportPowerChargeBar: SupportPowerChargeBar:
Power:
Amount: -150
GUN: GUN:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -571,7 +587,6 @@ GUN:
Prerequisites: barracks Prerequisites: barracks
Queue: Defence.GDI, Defence.Nod Queue: Defence.GDI, Defence.Nod
Building: Building:
Power: -20
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
HP: 400 HP: 400
@@ -598,6 +613,8 @@ GUN:
RenderDetectionCircle: RenderDetectionCircle:
DetectCloaked: DetectCloaked:
Range: 3 Range: 3
Power:
Amount: -20
SAM: SAM:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -613,7 +630,6 @@ SAM:
Prerequisites: hand Prerequisites: hand
Queue: Defence.Nod Queue: Defence.Nod
Building: Building:
Power: -20
Footprint: xx Footprint: xx
Dimensions: 2,1 Dimensions: 2,1
RequiresPower: RequiresPower:
@@ -637,6 +653,8 @@ SAM:
AutoTarget: AutoTarget:
-RenderBuilding: -RenderBuilding:
RenderRangeCircle: RenderRangeCircle:
Power:
Amount: -20
OBLI: OBLI:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -652,7 +670,6 @@ OBLI:
Prerequisites: tmpl, ~techlevel.high Prerequisites: tmpl, ~techlevel.high
Queue: Defence.Nod Queue: Defence.Nod
Building: Building:
Power: -150
Footprint: _ x Footprint: _ x
Dimensions: 1,2 Dimensions: 1,2
RequiresPower: RequiresPower:
@@ -682,6 +699,8 @@ OBLI:
RenderDetectionCircle: RenderDetectionCircle:
DetectCloaked: DetectCloaked:
Range: 5 Range: 5
Power:
Amount: -150
GTWR: GTWR:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -697,7 +716,6 @@ GTWR:
Prerequisites: barracks Prerequisites: barracks
Queue: Defence.GDI, Defence.Nod Queue: Defence.GDI, Defence.Nod
Building: Building:
Power: -10
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
HP: 400 HP: 400
@@ -720,6 +738,8 @@ GTWR:
WithMuzzleFlash: WithMuzzleFlash:
Turreted: Turreted:
ROT: 255 ROT: 255
Power:
Amount: -10
ATWR: ATWR:
Inherits: ^BaseBuilding Inherits: ^BaseBuilding
@@ -735,7 +755,6 @@ ATWR:
Prerequisites: anyhq, ~techlevel.medium Prerequisites: anyhq, ~techlevel.medium
Queue: Defence.GDI Queue: Defence.GDI
Building: Building:
Power: -40
Footprint: _ x Footprint: _ x
Dimensions: 1,2 Dimensions: 1,2
RequiresPower: RequiresPower:
@@ -768,6 +787,8 @@ ATWR:
DetectCloaked: DetectCloaked:
Range: 5 Range: 5
RenderRangeCircle: RenderRangeCircle:
Power:
Amount: -40
SBAG: SBAG:
Inherits: ^Wall Inherits: ^Wall

View File

@@ -41,7 +41,6 @@ CONCRETEB:
^CONYARD: ^CONYARD:
Inherits: ^Building Inherits: ^Building
Building: Building:
Power: 20
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Adjacent: 4 Adjacent: 4
@@ -75,6 +74,8 @@ CONCRETEB:
Prerequisite: Conyard Prerequisite: Conyard
WithBuildingPlacedOverlay: WithBuildingPlacedOverlay:
Palette: d2k Palette: d2k
Power:
Amount: 20
^POWER: ^POWER:
Inherits: ^Building Inherits: ^Building
@@ -91,7 +92,6 @@ CONCRETEB:
Name: Windtrap Name: Windtrap
Description: Provides power for other structures Description: Provides power for other structures
Building: Building:
Power: 100
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Bib: Bib:
@@ -105,6 +105,9 @@ CONCRETEB:
Prerequisite: Power Prerequisite: Power
WithIdleOverlay@ZAPS: WithIdleOverlay@ZAPS:
Sequence: idle-zaps Sequence: idle-zaps
Power:
Amount: 100
ScaleWithHealth: True
^BARRACKS: ^BARRACKS:
Inherits: ^Building Inherits: ^Building
@@ -121,7 +124,6 @@ CONCRETEB:
Name: Barracks Name: Barracks
Description: Trains infantry Description: Trains infantry
Building: Building:
Power: -20
Footprint: =x xx Footprint: =x xx
Dimensions: 2,2 Dimensions: 2,2
Bib: Bib:
@@ -147,6 +149,8 @@ CONCRETEB:
ValuePercentage: 0 ValuePercentage: 0
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: Barracks Prerequisite: Barracks
Power:
Amount: -20
^REFINERY: ^REFINERY:
Inherits: ^Building Inherits: ^Building
@@ -163,7 +167,6 @@ CONCRETEB:
Name: Spice Refinery Name: Spice Refinery
Description: Harvesters unload Spice here for processing Description: Harvesters unload Spice here for processing
Building: Building:
Power: -30
Footprint: =xx xx= Footprint: =xx xx=
Dimensions: 3,2 Dimensions: 3,2
Bib: Bib:
@@ -193,6 +196,8 @@ CONCRETEB:
Prerequisite: Refinery Prerequisite: Refinery
WithDockingOverlay@SMOKE: WithDockingOverlay@SMOKE:
Sequence: smoke Sequence: smoke
Power:
Amount: -30
^SILO: ^SILO:
Inherits: ^Building Inherits: ^Building
@@ -209,7 +214,6 @@ CONCRETEB:
Name: Silo Name: Silo
Description: Stores excess harvested Spice Description: Stores excess harvested Spice
Building: Building:
Power: -5
Adjacent: 4 Adjacent: 4
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
@@ -225,6 +229,8 @@ CONCRETEB:
PipCount: 5 PipCount: 5
Capacity: 2000 Capacity: 2000
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -5
^LIGHT: ^LIGHT:
Inherits: ^Building Inherits: ^Building
@@ -241,7 +247,6 @@ CONCRETEB:
Name: Light Factory Name: Light Factory
Description: Produces light vehicles Description: Produces light vehicles
Building: Building:
Power: -20
Footprint: xxx xx= Footprint: xxx xx=
Dimensions: 3,2 Dimensions: 3,2
Bib: Bib:
@@ -265,6 +270,8 @@ CONCRETEB:
Prerequisite: Light Prerequisite: Light
WithProductionOverlay@WELDING: WithProductionOverlay@WELDING:
Sequence: production-welding Sequence: production-welding
Power:
Amount: -20
^HEAVY: ^HEAVY:
Inherits: ^Building Inherits: ^Building
@@ -281,7 +288,6 @@ CONCRETEB:
Name: Heavy Factory Name: Heavy Factory
Description: Produces heavy vehicles Description: Produces heavy vehicles
Building: Building:
Power: -30
Footprint: _x_ xxx =xx Footprint: _x_ xxx =xx
Dimensions: 3,3 Dimensions: 3,3
Bib: Bib:
@@ -305,6 +311,8 @@ CONCRETEB:
Prerequisite: Heavy Prerequisite: Heavy
WithProductionOverlay@WELDING: WithProductionOverlay@WELDING:
Sequence: production-welding Sequence: production-welding
Power:
Amount: -30
^RADAR: ^RADAR:
Inherits: ^Building Inherits: ^Building
@@ -324,7 +332,6 @@ CONCRETEB:
Name: Outpost Name: Outpost
Description: Provides a radar map of the battlefield\n Requires power to operate Description: Provides a radar map of the battlefield\n Requires power to operate
Building: Building:
Power: -40
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Bib: Bib:
@@ -343,6 +350,8 @@ CONCRETEB:
WithIdleOverlay@DISH: WithIdleOverlay@DISH:
Sequence: idle-dish Sequence: idle-dish
PauseOnLowPower: yes PauseOnLowPower: yes
Power:
Amount: -40
^STARPORT: ^STARPORT:
Inherits: ^Building Inherits: ^Building
@@ -357,7 +366,6 @@ CONCRETEB:
BuildPaletteOrder: 80 BuildPaletteOrder: 80
Hotkey: c Hotkey: c
Building: Building:
Power: -40
Footprint: xxx x=x =x= Footprint: xxx x=x =x=
Dimensions: 3,3 Dimensions: 3,3
Selectable: Selectable:
@@ -389,6 +397,8 @@ CONCRETEB:
DisabledOverlay: DisabledOverlay:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: Starport Prerequisite: Starport
Power:
Amount: -40
^WALL: ^WALL:
Buildable: Buildable:
@@ -458,7 +468,6 @@ WALL:
Name: Gun Tower Name: Gun Tower
Description: Defensive structure\n Strong vs Tanks\n Weak vs Infantry, Aircraft Description: Defensive structure\n Strong vs Tanks\n Weak vs Infantry, Aircraft
Building: Building:
Power: -20
Adjacent: 4 Adjacent: 4
BuildSounds: CHUNG.WAV BuildSounds: CHUNG.WAV
SellSounds: CHUNG.WAV SellSounds: CHUNG.WAV
@@ -496,6 +505,8 @@ WALL:
-WithMakeAnimation: -WithMakeAnimation:
LineBuildNode: LineBuildNode:
Types: turret Types: turret
Power:
Amount: -20
^ROCKETTOWER: ^ROCKETTOWER:
Inherits: ^Building Inherits: ^Building
@@ -510,7 +521,6 @@ WALL:
Name: Rocket Tower Name: Rocket Tower
Description: Defensive structure\n Strong vs Infantry, Aircraft\n Weak vs Tanks\n\n Requires power to operate Description: Defensive structure\n Strong vs Infantry, Aircraft\n Weak vs Tanks\n\n Requires power to operate
Building: Building:
Power: -30
Adjacent: 4 Adjacent: 4
BuildSounds: CHUNG.WAV BuildSounds: CHUNG.WAV
SellSounds: CHUNG.WAV SellSounds: CHUNG.WAV
@@ -548,6 +558,8 @@ WALL:
-WithMakeAnimation: -WithMakeAnimation:
LineBuildNode: LineBuildNode:
Types: turret Types: turret
Power:
Amount: -30
^REPAIR: ^REPAIR:
Inherits: ^Building Inherits: ^Building
@@ -562,7 +574,6 @@ WALL:
Name: Repair Pad Name: Repair Pad
Description: Repairs vehicles\n Allows construction of MCVs Description: Repairs vehicles\n Allows construction of MCVs
Building: Building:
Power: -10
Footprint: =x= =x= === Footprint: =x= =x= ===
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -581,6 +592,8 @@ WALL:
Prerequisite: Repair Prerequisite: Repair
WithRepairOverlay: WithRepairOverlay:
Palette: repairlights Palette: repairlights
Power:
Amount: -10
^HIGHTECH: ^HIGHTECH:
Inherits: ^Building Inherits: ^Building
@@ -597,7 +610,6 @@ WALL:
Name: High Tech Facility Name: High Tech Facility
Description: Unlocks advanced technology Description: Unlocks advanced technology
Building: Building:
Power: -40
Footprint: _x_ xxx xxx Footprint: _x_ xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Bib: Bib:
@@ -611,6 +623,8 @@ WALL:
Prerequisite: Hitech Prerequisite: Hitech
# WithProductionOverlay@WELDING: # WithProductionOverlay@WELDING:
# Sequence: production-welding # Sequence: production-welding
Power:
Amount: -40
^RESEARCH: ^RESEARCH:
Inherits: ^Building Inherits: ^Building
@@ -638,7 +652,6 @@ WALL:
SelectTargetSound: SelectTargetSound:
FlareType: FlareType:
Building: Building:
Power: -40
Footprint: _x_ xxx xxx Footprint: _x_ xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Bib: Bib:
@@ -652,6 +665,8 @@ WALL:
Prerequisite: Research Prerequisite: Research
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -40
^PALACE: ^PALACE:
Inherits: ^Building Inherits: ^Building
@@ -668,7 +683,6 @@ WALL:
Name: Palace Name: Palace
Description: Unlocks elite infantry\n Special Ability: Ornithopter Strike Description: Unlocks elite infantry\n Special Ability: Ornithopter Strike
Building: Building:
Power: -50
Footprint: xx= xxx Footprint: xx= xxx
Dimensions: 3,2 Dimensions: 3,2
Bib: Bib:
@@ -683,13 +697,14 @@ WALL:
Range: 4 Range: 4
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: Palace Prerequisite: Palace
Power:
Amount: -50
SIETCH: SIETCH:
Inherits: ^Building Inherits: ^Building
Tooltip: Tooltip:
Name: Fremen Sietch Name: Fremen Sietch
Building: Building:
Power: 0
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
TerrainTypes: Cliff TerrainTypes: Cliff
@@ -703,6 +718,8 @@ SIETCH:
-Sellable: -Sellable:
-ExternalCapturable: -ExternalCapturable:
-ExternalCapturableBar: -ExternalCapturableBar:
Power:
Amount: 0
STARPORTC: STARPORTC:
Inherits: ^STARPORT Inherits: ^STARPORT

View File

@@ -848,8 +848,6 @@ Rules:
Offset: 0,0 Offset: 0,0
Facing: 96 Facing: 96
MustBeDestroyed: MustBeDestroyed:
Building:
Power: 0
CashTrickler: CashTrickler:
Period: 150 Period: 150
Amount: 30 Amount: 30
@@ -874,6 +872,8 @@ Rules:
BeginChargeSound: ironchg1.aud BeginChargeSound: ironchg1.aud
EndChargeSound: ironrdy1.aud EndChargeSound: ironrdy1.aud
Range: 1 Range: 1
Power:
Amount: 0
MINVV: MINVV:
Building: Building:
Adjacent: 99 Adjacent: 99

View File

@@ -543,8 +543,6 @@ Rules:
BARR: BARR:
Buildable: Buildable:
Owner: allies,soviet Owner: allies,soviet
Building:
Power: 0
Health: Health:
HP: 1000 HP: 1000
Production: Production:
@@ -552,14 +550,14 @@ Rules:
-Sellable: -Sellable:
BaseProvider: BaseProvider:
Range: 12 Range: 12
Power:
Amount: 0
FTUR: FTUR:
Building:
Power: 0
Valued: Valued:
Cost: 400 Cost: 400
Power:
Amount: 0
PBOX: PBOX:
Building:
Power: 0
Buildable: Buildable:
Prerequisites: barr,oilb Prerequisites: barr,oilb
Valued: Valued:
@@ -568,9 +566,11 @@ Rules:
HP: 200 HP: 200
Armor: Armor:
Type: Heavy Type: Heavy
Power:
Amount: 0
HBOX: HBOX:
Building: Power:
Power: 0 Amount: 0
GUN: GUN:
Buildable: Buildable:
Prerequisites: ~disabled Prerequisites: ~disabled

View File

@@ -38,10 +38,10 @@ Players:
Race: allies Race: allies
PlayerReference@Civilians: PlayerReference@Civilians:
Name: Civilians Name: Civilians
NonCombatant: True
Race: allies Race: allies
ColorRamp: 0,0,0 ColorRamp: 0,0,0
Allies: Allies Allies: Allies
NonCombatant: True
PlayerReference@Allies: PlayerReference@Allies:
Name: Allies Name: Allies
Playable: True Playable: True
@@ -2259,13 +2259,13 @@ Rules:
Valued: Valued:
Cost: 1500 Cost: 1500
SAM: SAM:
Building:
Power: -5
RevealsShroud: RevealsShroud:
Range: 7c0 Range: 7c0
Power:
Amount: -5
TSLA: TSLA:
Building: Power:
Power: -50 Amount: -50
^Vehicles: ^Vehicles:
MustBeDestroyed: MustBeDestroyed:
^Tank: ^Tank:

View File

@@ -2094,12 +2094,12 @@ Rules:
Value: 1000 Value: 1000
Buildable: Buildable:
BuildLimit: 1 BuildLimit: 1
Building:
Power: -100
NukePower: NukePower:
ChargeTime: 600 ChargeTime: 600
Description: Atom Bomb Description: Atom Bomb
AllowMultiple: yes AllowMultiple: yes
Power:
Amount: -100
MISS: MISS:
ProximityCapturable: ProximityCapturable:
MustBeClear: true MustBeClear: true

View File

@@ -965,12 +965,12 @@ Rules:
Value: 1000 Value: 1000
Buildable: Buildable:
BuildLimit: 1 BuildLimit: 1
Building:
Power: -100
NukePower: NukePower:
ChargeTime: 600 ChargeTime: 600
Description: Atom Bomb Description: Atom Bomb
AllowMultiple: yes AllowMultiple: yes
Power:
Amount: -100
Sequences: Sequences:

View File

@@ -825,26 +825,26 @@ Rules:
BARR: BARR:
Buildable: Buildable:
Owner: allies Owner: allies
Building:
Power: 0
Health: Health:
HP: 5000 HP: 5000
Production: Production:
Produces: Building,Infantry Produces: Building,Infantry
BaseProvider: BaseProvider:
Range: 16 Range: 16
Power:
Amount: 0
WEAP: WEAP:
Buildable: Buildable:
Owner: allies Owner: allies
Building:
Power: 0
Health: Health:
HP: 10000 HP: 10000
Valued: Valued:
Cost: 2000 Cost: 2000
Power:
Amount: 0
FTUR: FTUR:
Building: Power:
Power: 0 Amount: 0
SPEN: SPEN:
Buildable: Buildable:
Owner: allies Owner: allies
@@ -900,13 +900,13 @@ Rules:
Valued: Valued:
Cost: 200 Cost: 200
HPAD: HPAD:
Building:
Power: 0
Buildable: Buildable:
Owner: soviet Owner: soviet
Prerequisites: barr Prerequisites: barr
Valued: Valued:
Cost: 200 Cost: 200
Power:
Power: 0
FENC: FENC:
Buildable: Buildable:
Queue: Building Queue: Building
@@ -915,13 +915,13 @@ Rules:
Valued: Valued:
Cost: 10 Cost: 10
AFLD: AFLD:
Building:
Power: 0
Buildable: Buildable:
Owner: soviet Owner: soviet
Prerequisites: barr Prerequisites: barr
Valued: Valued:
Cost: 200 Cost: 200
Power:
Power: 0
DOG: DOG:
Buildable: Buildable:
Owner: soviet Owner: soviet

View File

@@ -55,7 +55,6 @@ C10:
FCOM: FCOM:
Inherits: ^TechBuilding Inherits: ^TechBuilding
Building: Building:
Power: -200
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Valued: Valued:
@@ -69,6 +68,8 @@ FCOM:
RevealsShroud: RevealsShroud:
Range: 10c0 Range: 10c0
Bib: Bib:
Power:
Amount: -200
HOSP: HOSP:
Inherits: ^TechBuilding Inherits: ^TechBuilding

View File

@@ -12,7 +12,6 @@ MSLO:
BuildLimit: 1 BuildLimit: 1
Hotkey: m Hotkey: m
Building: Building:
Power: -100
Footprint: xx Footprint: xx
Dimensions: 2,1 Dimensions: 2,1
Health: Health:
@@ -44,6 +43,8 @@ MSLO:
RequiresPower: RequiresPower:
DisabledOverlay: DisabledOverlay:
SupportPowerChargeBar: SupportPowerChargeBar:
Power:
Amount: -100
GAP: GAP:
Inherits: ^Building Inherits: ^Building
@@ -58,7 +59,6 @@ GAP:
Prerequisites: atek, ~structures.allies, ~techlevel.unrestricted Prerequisites: atek, ~structures.allies, ~techlevel.unrestricted
Hotkey: g Hotkey: g
Building: Building:
Power: -60
Footprint: _ x Footprint: _ x
Dimensions: 1,2 Dimensions: 1,2
RequiresPower: RequiresPower:
@@ -78,6 +78,8 @@ GAP:
Range: 6c0 Range: 6c0
IronCurtainable: IronCurtainable:
RenderShroudCircle: RenderShroudCircle:
Power:
Amount: -60
SPEN: SPEN:
Inherits: ^Building Inherits: ^Building
@@ -96,7 +98,6 @@ SPEN:
TargetableBuilding: TargetableBuilding:
TargetTypes: Ground, Water, C4, DetonateAttack, SpyInfiltrate TargetTypes: Ground, Water, C4, DetonateAttack, SpyInfiltrate
Building: Building:
Power: -30
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Adjacent: 8 Adjacent: 8
@@ -132,6 +133,8 @@ SPEN:
RepairsUnits: RepairsUnits:
RallyPoint: RallyPoint:
ProductionBar: ProductionBar:
Power:
Amount: -30
SYRD: SYRD:
Inherits: ^Building Inherits: ^Building
@@ -150,7 +153,6 @@ SYRD:
TargetableBuilding: TargetableBuilding:
TargetTypes: Ground, Water, C4, DetonateAttack, SpyInfiltrate TargetTypes: Ground, Water, C4, DetonateAttack, SpyInfiltrate
Building: Building:
Power: -30
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Adjacent: 8 Adjacent: 8
@@ -186,6 +188,8 @@ SYRD:
RepairsUnits: RepairsUnits:
RallyPoint: RallyPoint:
ProductionBar: ProductionBar:
Power:
Amount: -30
IRON: IRON:
Inherits: ^Building Inherits: ^Building
@@ -201,7 +205,6 @@ IRON:
Name: Iron Curtain Name: Iron Curtain
Description: Makes a group of units invulnerable\nfor a short time.\n Special Ability: Invulnerability\n\nMaximum 1 can be built Description: Makes a group of units invulnerable\nfor a short time.\n Special Ability: Invulnerability\n\nMaximum 1 can be built
Building: Building:
Power: -200
Footprint: xx Footprint: xx
Dimensions: 2,1 Dimensions: 2,1
RequiresPower: RequiresPower:
@@ -230,6 +233,8 @@ IRON:
EndChargeSound: ironrdy1.aud EndChargeSound: ironrdy1.aud
DisplayRadarPing: True DisplayRadarPing: True
SupportPowerChargeBar: SupportPowerChargeBar:
Power:
Amount: -200
PDOX: PDOX:
Inherits: ^Building Inherits: ^Building
@@ -245,7 +250,6 @@ PDOX:
Name: Chronosphere Name: Chronosphere
Description: Teleports a group of units across the\nmap for a short time.\n Special Ability: Chronoshift\n\nMaximum 1 can be built Description: Teleports a group of units across the\nmap for a short time.\n Special Ability: Chronoshift\n\nMaximum 1 can be built
Building: Building:
Power: -200
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
RequiresPower: RequiresPower:
@@ -274,6 +278,8 @@ PDOX:
DisplayRadarPing: True DisplayRadarPing: True
SupportPowerChargeBar: SupportPowerChargeBar:
-AcceptsSupplies: -AcceptsSupplies:
Power:
Amount: -200
TSLA: TSLA:
Inherits: ^Building Inherits: ^Building
@@ -288,7 +294,6 @@ TSLA:
Name: Tesla Coil Name: Tesla Coil
Description: Advanced base defense. Requires power\nto operate.\n Strong vs Tanks, Infantry\n Weak vs Aircraft Description: Advanced base defense. Requires power\nto operate.\n Strong vs Tanks, Infantry\n Weak vs Aircraft
Building: Building:
Power: -150
Footprint: _ x Footprint: _ x
Dimensions: 1,2 Dimensions: 1,2
RequiresPower: RequiresPower:
@@ -317,6 +322,8 @@ TSLA:
RenderRangeCircle: RenderRangeCircle:
-AcceptsSupplies: -AcceptsSupplies:
DrawLineToTarget: DrawLineToTarget:
Power:
Amount: -150
AGUN: AGUN:
Inherits: ^Building Inherits: ^Building
@@ -331,7 +338,6 @@ AGUN:
Name: AA Gun Name: AA Gun
Description: Anti-Air base defense. Requires power\nto operate.\n Strong vs Aircraft\n Weak vs Infantry, Tanks Description: Anti-Air base defense. Requires power\nto operate.\n Strong vs Aircraft\n Weak vs Infantry, Tanks
Building: Building:
Power: -50
Footprint: _ x Footprint: _ x
Dimensions: 1,2 Dimensions: 1,2
RequiresPower: RequiresPower:
@@ -363,6 +369,8 @@ AGUN:
RangeCircleType: aa RangeCircleType: aa
-AcceptsSupplies: -AcceptsSupplies:
DrawLineToTarget: DrawLineToTarget:
Power:
Amount: -50
DOME: DOME:
Inherits: ^Building Inherits: ^Building
@@ -377,7 +385,6 @@ DOME:
Name: Radar Dome Name: Radar Dome
Description: Provides an overview of the battlefield.\nCan detect cloaked units.\n Requires power to operate. Description: Provides an overview of the battlefield.\nCan detect cloaked units.\n Requires power to operate.
Building: Building:
Power: -40
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
TargetableBuilding: TargetableBuilding:
@@ -398,6 +405,8 @@ DOME:
DetectCloaked: DetectCloaked:
Range: 10 Range: 10
RenderDetectionCircle: RenderDetectionCircle:
Power:
Amount: -40
PBOX: PBOX:
Inherits: ^Building Inherits: ^Building
@@ -405,7 +414,6 @@ PBOX:
Name: Pillbox Name: Pillbox
Description: Static defense with a fireport for a\ngarrisoned soldier. Description: Static defense with a fireport for a\ngarrisoned soldier.
Building: Building:
Power: -15
Buildable: Buildable:
Queue: Defense Queue: Defense
BuildPaletteOrder: 40 BuildPaletteOrder: 40
@@ -443,6 +451,8 @@ PBOX:
RenderRangeCircle: RenderRangeCircle:
FallbackRange: 6c0 FallbackRange: 6c0
AutoTarget: AutoTarget:
Power:
Amount: -15
HBOX: HBOX:
Inherits: ^Building Inherits: ^Building
@@ -450,7 +460,6 @@ HBOX:
Name: Camo Pillbox Name: Camo Pillbox
Description: Camouflaged static defense with a fireport\nfor a garrisoned soldier. Description: Camouflaged static defense with a fireport\nfor a garrisoned soldier.
Building: Building:
Power: -15
Buildable: Buildable:
Queue: Defense Queue: Defense
BuildPaletteOrder: 50 BuildPaletteOrder: 50
@@ -491,6 +500,8 @@ HBOX:
PortOffsets: 384,0,128, 224,-341,128, -224,-341,128, -384,0,128, -224,341,128, 224,341,128 PortOffsets: 384,0,128, 224,-341,128, -224,-341,128, -384,0,128, -224,341,128, 224,341,128
PortYaws: 0, 176, 341, 512, 682, 853 PortYaws: 0, 176, 341, 512, 682, 853
PortCones: 86, 86, 86, 86, 86, 86 PortCones: 86, 86, 86, 86, 86, 86
Power:
Amount: -15
GUN: GUN:
Inherits: ^Building Inherits: ^Building
@@ -505,7 +516,6 @@ GUN:
Name: Turret Name: Turret
Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft
Building: Building:
Power: -40
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
HP: 400 HP: 400
@@ -531,6 +541,8 @@ GUN:
RenderRangeCircle: RenderRangeCircle:
-AcceptsSupplies: -AcceptsSupplies:
DrawLineToTarget: DrawLineToTarget:
Power:
Amount: -40
FTUR: FTUR:
Inherits: ^Building Inherits: ^Building
@@ -545,7 +557,6 @@ FTUR:
Name: Flame Tower Name: Flame Tower
Description: Anti-Infantry base defense.\n Strong vs Infantry\n Weak vs Aircraft Description: Anti-Infantry base defense.\n Strong vs Infantry\n Weak vs Aircraft
Building: Building:
Power: -20
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
HP: 400 HP: 400
@@ -569,6 +580,8 @@ FTUR:
RenderRangeCircle: RenderRangeCircle:
-AcceptsSupplies: -AcceptsSupplies:
DrawLineToTarget: DrawLineToTarget:
Power:
Amount: -20
SAM: SAM:
Inherits: ^Building Inherits: ^Building
@@ -583,7 +596,6 @@ SAM:
Name: SAM Site Name: SAM Site
Description: Anti-Air base defense. Requires power\nto operate.\n Strong vs Aircraft\n Weak vs Infantry, Tanks Description: Anti-Air base defense. Requires power\nto operate.\n Strong vs Aircraft\n Weak vs Infantry, Tanks
Building: Building:
Power: -40
Footprint: xx Footprint: xx
Dimensions: 2,1 Dimensions: 2,1
RequiresPower: RequiresPower:
@@ -614,6 +626,8 @@ SAM:
RangeCircleType: aa RangeCircleType: aa
-AcceptsSupplies: -AcceptsSupplies:
DrawLineToTarget: DrawLineToTarget:
Power:
Amount: -40
ATEK: ATEK:
Inherits: ^Building Inherits: ^Building
@@ -630,7 +644,6 @@ ATEK:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: techcenter Prerequisite: techcenter
Building: Building:
Power: -200
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -653,6 +666,8 @@ ATEK:
SupportPowerChargeBar: SupportPowerChargeBar:
RequiresPower: RequiresPower:
DisabledOverlay: DisabledOverlay:
Power:
Amount: -200
WEAP: WEAP:
Inherits: ^Building Inherits: ^Building
@@ -667,7 +682,6 @@ WEAP:
Name: War Factory Name: War Factory
Description: Produces vehicles. Description: Produces vehicles.
Building: Building:
Power: -30
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Health: Health:
@@ -700,11 +714,12 @@ WEAP:
PrimaryBuilding: PrimaryBuilding:
IronCurtainable: IronCurtainable:
ProductionBar: ProductionBar:
Power:
Amount: -30
FACT: FACT:
Inherits: ^Building Inherits: ^Building
Building: Building:
Power: 0
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Buildable: Buildable:
@@ -747,6 +762,8 @@ FACT:
BaseProvider: BaseProvider:
Range: 16 Range: 16
WithBuildingPlacedAnimation: WithBuildingPlacedAnimation:
Power:
Amount: 0
PROC: PROC:
Inherits: ^Building Inherits: ^Building
@@ -761,7 +778,6 @@ PROC:
Name: Ore Refinery Name: Ore Refinery
Description: Refines Ore and Gems into credits. Description: Refines Ore and Gems into credits.
Building: Building:
Power: -30
Footprint: _x_ xxx x== Footprint: _x_ xxx x==
Dimensions: 3,3 Dimensions: 3,3
TargetableBuilding: TargetableBuilding:
@@ -793,6 +809,8 @@ PROC:
DeadBuildingState: DeadBuildingState:
WithIdleOverlay@TOP: WithIdleOverlay@TOP:
Sequence: idle-top Sequence: idle-top
Power:
Amount: -30
SILO: SILO:
Inherits: ^Building Inherits: ^Building
@@ -807,7 +825,6 @@ SILO:
Name: Silo Name: Silo
Description: Stores excess refined Ore and gems. Description: Stores excess refined Ore and gems.
Building: Building:
Power: -10
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
HP: 300 HP: 300
@@ -824,6 +841,8 @@ SILO:
IronCurtainable: IronCurtainable:
-RenderBuilding: -RenderBuilding:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -10
HPAD: HPAD:
Inherits: ^Building Inherits: ^Building
@@ -838,7 +857,6 @@ HPAD:
Name: Helipad Name: Helipad
Description: Produces and reloads helicopters. Description: Produces and reloads helicopters.
Building: Building:
Power: -10
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -859,6 +877,8 @@ HPAD:
IronCurtainable: IronCurtainable:
ProductionBar: ProductionBar:
PrimaryBuilding: PrimaryBuilding:
Power:
Amount: -10
AFLD: AFLD:
Inherits: ^Building Inherits: ^Building
@@ -873,7 +893,6 @@ AFLD:
Name: Airfield Name: Airfield
Description: Produces and reloads aircraft.\n Special Ability: Paratroopers\n Special Ability: Spy Plane Description: Produces and reloads aircraft.\n Special Ability: Paratroopers\n Special Ability: Spy Plane
Building: Building:
Power: -20
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Health: Health:
@@ -920,6 +939,8 @@ AFLD:
ProductionBar: ProductionBar:
SupportPowerChargeBar: SupportPowerChargeBar:
PrimaryBuilding: PrimaryBuilding:
Power:
Amount: -20
POWR: POWR:
Inherits: ^Building Inherits: ^Building
@@ -936,7 +957,6 @@ POWR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: anypower Prerequisite: anypower
Building: Building:
Power: 100
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -948,6 +968,9 @@ POWR:
Bib: Bib:
IronCurtainable: IronCurtainable:
DeadBuildingState: DeadBuildingState:
Power:
Amount: 100
ScaleWithHealth: True
APWR: APWR:
Inherits: ^Building Inherits: ^Building
@@ -964,7 +987,6 @@ APWR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: anypower Prerequisite: anypower
Building: Building:
Power: 200
Footprint: ___ xxx xxx Footprint: ___ xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -976,6 +998,9 @@ APWR:
Bib: Bib:
IronCurtainable: IronCurtainable:
DeadBuildingState: DeadBuildingState:
Power:
Amount: 200
ScaleWithHealth: True
STEK: STEK:
Inherits: ^Building Inherits: ^Building
@@ -992,7 +1017,6 @@ STEK:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: techcenter Prerequisite: techcenter
Building: Building:
Power: -100
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Health: Health:
@@ -1003,6 +1027,8 @@ STEK:
Range: 4c0 Range: 4c0
Bib: Bib:
IronCurtainable: IronCurtainable:
Power:
Amount: -100
BARR: BARR:
Inherits: ^Building Inherits: ^Building
@@ -1017,7 +1043,6 @@ BARR:
Name: Soviet Barracks Name: Soviet Barracks
Description: Trains infantry. Description: Trains infantry.
Building: Building:
Power: -20
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -1041,6 +1066,8 @@ BARR:
ProductionBar: ProductionBar:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: barracks Prerequisite: barracks
Power:
Amount: -20
KENN: KENN:
Inherits: ^Building Inherits: ^Building
@@ -1055,7 +1082,6 @@ KENN:
Name: Kennel Name: Kennel
Description: Trains Attack Dogs. Description: Trains Attack Dogs.
Building: Building:
Power: -10
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
HP: 300 HP: 300
@@ -1076,6 +1102,8 @@ KENN:
IronCurtainable: IronCurtainable:
ProductionBar: ProductionBar:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -10
TENT: TENT:
Inherits: ^Building Inherits: ^Building
@@ -1090,7 +1118,6 @@ TENT:
Name: Allied Barracks Name: Allied Barracks
Description: Trains infantry. Description: Trains infantry.
Building: Building:
Power: -20
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -1114,6 +1141,8 @@ TENT:
ProductionBar: ProductionBar:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: barracks Prerequisite: barracks
Power:
Amount: -20
FIX: FIX:
Inherits: ^Building Inherits: ^Building
@@ -1128,7 +1157,6 @@ FIX:
Name: Service Depot Name: Service Depot
Description: Repairs vehicles for credits. Description: Repairs vehicles for credits.
Building: Building:
Power: -30
Footprint: _x_ xxx _x_ Footprint: _x_ xxx _x_
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -1145,6 +1173,8 @@ FIX:
RepairsUnits: RepairsUnits:
Interval: 10 Interval: 10
WithRepairAnimation: WithRepairAnimation:
Power:
Amount: -30
FACF: FACF:
Inherits: ^Building Inherits: ^Building
@@ -1159,7 +1189,6 @@ FACF:
Name: Fake Construction Yard Name: Fake Construction Yard
Description: Looks like a Construction Yard. Description: Looks like a Construction Yard.
Building: Building:
Power: -2
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
-GivesBuildableArea: -GivesBuildableArea:
@@ -1173,6 +1202,8 @@ FACF:
Fake: Fake:
IronCurtainable: IronCurtainable:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -2
WEAF: WEAF:
Inherits: ^Building Inherits: ^Building
@@ -1187,7 +1218,6 @@ WEAF:
Name: Fake War Factory Name: Fake War Factory
Description: Looks like a War Factory. Description: Looks like a War Factory.
Building: Building:
Power: -2
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
-GivesBuildableArea: -GivesBuildableArea:
@@ -1202,6 +1232,8 @@ WEAF:
Fake: Fake:
IronCurtainable: IronCurtainable:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -2
SYRF: SYRF:
Inherits: ^Building Inherits: ^Building
@@ -1218,7 +1250,6 @@ SYRF:
TargetableBuilding: TargetableBuilding:
TargetTypes: Ground, Water TargetTypes: Ground, Water
Building: Building:
Power: -2
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Adjacent: 8 Adjacent: 8
@@ -1232,6 +1263,8 @@ SYRF:
Image: SYRD Image: SYRD
Fake: Fake:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -2
SPEF: SPEF:
Inherits: ^Building Inherits: ^Building
@@ -1248,7 +1281,6 @@ SPEF:
Name: Fake Sub Pen Name: Fake Sub Pen
Description: Looks like a Sub Pen. Description: Looks like a Sub Pen.
Building: Building:
Power: -2
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Adjacent: 8 Adjacent: 8
@@ -1262,6 +1294,8 @@ SPEF:
Image: SPEN Image: SPEN
Fake: Fake:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -2
DOMF: DOMF:
Inherits: ^Building Inherits: ^Building
@@ -1276,7 +1310,6 @@ DOMF:
Queue: Defense Queue: Defense
Prerequisites: ~disabled Prerequisites: ~disabled
Building: Building:
Power: -2
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
-GivesBuildableArea: -GivesBuildableArea:
@@ -1289,6 +1322,8 @@ DOMF:
Image: DOME Image: DOME
Fake: Fake:
-EmitInfantryOnSell: -EmitInfantryOnSell:
Power:
Amount: -2
SBAG: SBAG:
Inherits: ^Wall Inherits: ^Wall

View File

@@ -1,7 +1,6 @@
GACNST: GACNST:
Inherits: ^Building Inherits: ^Building
Building: Building:
Power: 0
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
BuildSounds: facbld1.aud BuildSounds: facbld1.aud
Dimensions: 3,3 Dimensions: 3,3
@@ -41,6 +40,8 @@ GACNST:
WithIdleOverlay@FRONT: WithIdleOverlay@FRONT:
Sequence: idle-front Sequence: idle-front
WithBuildingPlacedOverlay: WithBuildingPlacedOverlay:
Power:
Amount: 0
GAPOWR: GAPOWR:
Inherits: ^Building Inherits: ^Building
@@ -57,7 +58,6 @@ GAPOWR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: anypower Prerequisite: anypower
Building: Building:
Power: 100
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -70,6 +70,9 @@ GAPOWR:
Sequence: idle-lights Sequence: idle-lights
WithIdleOverlay@PLUG: WithIdleOverlay@PLUG:
Sequence: idle-plug Sequence: idle-plug
Power:
Amount: 100
ScaleWithHealth: True
GAPILE: GAPILE:
Inherits: ^Building Inherits: ^Building
@@ -87,7 +90,6 @@ GAPILE:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: barracks Prerequisite: barracks
Building: Building:
Power: -20
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -110,6 +112,8 @@ GAPILE:
Sequence: idle-light Sequence: idle-light
WithIdleOverlay@FLAG: WithIdleOverlay@FLAG:
Sequence: idle-flag Sequence: idle-flag
Power:
Amount: -20
PROC: PROC:
Inherits: ^Building Inherits: ^Building
@@ -125,7 +129,6 @@ PROC:
Owner: gdi,nod Owner: gdi,nod
Hotkey: r Hotkey: r
Building: Building:
Power: -30
Footprint: xxx xxx x== Footprint: xxx xxx x==
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -149,6 +152,8 @@ PROC:
Sequence: idle-redlights Sequence: idle-redlights
WithIdleOverlay@BIB: WithIdleOverlay@BIB:
Sequence: bib Sequence: bib
Power:
Amount: -30
GAWEAP: GAWEAP:
Inherits: ^Building Inherits: ^Building
@@ -165,7 +170,6 @@ GAWEAP:
Owner: gdi Owner: gdi
Hotkey: w Hotkey: w
Building: Building:
Power: -30
Footprint: ___ xxx === Footprint: ___ xxx ===
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -191,6 +195,8 @@ GAWEAP:
Sequence: idle-turbines Sequence: idle-turbines
WithIdleOverlay@BIB: WithIdleOverlay@BIB:
Sequence: bib Sequence: bib
Power:
Amount: -30
NAPOWR: NAPOWR:
Inherits: ^Building Inherits: ^Building
@@ -207,7 +213,6 @@ NAPOWR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: anypower Prerequisite: anypower
Building: Building:
Power: 100
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -218,6 +223,9 @@ NAPOWR:
Range: 4c0 Range: 4c0
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: 100
ScaleWithHealth: True
NAAPWR: NAAPWR:
Inherits: ^Building Inherits: ^Building
@@ -235,7 +243,6 @@ NAAPWR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: anypower Prerequisite: anypower
Building: Building:
Power: 200
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 2,3 Dimensions: 2,3
Health: Health:
@@ -246,6 +253,9 @@ NAAPWR:
Range: 4c0 Range: 4c0
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: 200
ScaleWithHealth: True
NAHAND: NAHAND:
Inherits: ^Building Inherits: ^Building
@@ -263,7 +273,6 @@ NAHAND:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: barracks Prerequisite: barracks
Building: Building:
Power: -20
Footprint: xxx xxx Footprint: xxx xxx
Dimensions: 3,2 Dimensions: 3,2
Health: Health:
@@ -284,6 +293,8 @@ NAHAND:
Sequence: idle-lights Sequence: idle-lights
WithProductionOverlay@LIGHT: WithProductionOverlay@LIGHT:
Sequence: production-light Sequence: production-light
Power:
Amount: -20
NAWEAP: NAWEAP:
Inherits: ^Building Inherits: ^Building
@@ -300,7 +311,6 @@ NAWEAP:
Owner: nod Owner: nod
Hotkey: f Hotkey: f
Building: Building:
Power: -30
Footprint: ___ xxx === Footprint: ___ xxx ===
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -322,6 +332,8 @@ NAWEAP:
Sequence: production-lights Sequence: production-lights
WithIdleOverlay@BIB: WithIdleOverlay@BIB:
Sequence: bib Sequence: bib
Power:
Amount: -30
GASAND: GASAND:
Inherits: ^Wall Inherits: ^Wall
@@ -555,7 +567,6 @@ GASPOT:
Tooltip: Tooltip:
Name: Light Tower Name: Light Tower
Building: Building:
Power: -10
Footprint: x Footprint: x
Dimensions: 1,1 Dimensions: 1,1
Health: Health:
@@ -569,6 +580,8 @@ GASPOT:
Range: 3 Range: 3
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -10
GALITE: GALITE:
Inherits: ^Building Inherits: ^Building
@@ -582,7 +595,6 @@ GALITE:
Tooltip: Tooltip:
Name: Light Post Name: Light Post
Building: Building:
Power: 0
Footprint: x Footprint: x
Dimensions: 1,1 Dimensions: 1,1
RenderBuilding: RenderBuilding:
@@ -594,6 +606,8 @@ GALITE:
Type: Wood Type: Wood
RevealsShroud: RevealsShroud:
Range: 0c0 Range: 0c0
Power:
Amount: 0
# WithIdleOverlay@LIGHTING: # WithIdleOverlay@LIGHTING:
# Sequence: lighting # Sequence: lighting
@@ -613,7 +627,6 @@ GARADR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: radar Prerequisite: radar
Building: Building:
Power: -50
Footprint: ___ xxx xxx Footprint: ___ xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -634,6 +647,8 @@ GARADR:
PauseOnLowPower: yes PauseOnLowPower: yes
TargetableBuilding: TargetableBuilding:
TargetTypes: Ground, C4, SpyInfiltrate TargetTypes: Ground, C4, SpyInfiltrate
Power:
Amount: -50
NARADR: NARADR:
Inherits: ^Building Inherits: ^Building
@@ -651,7 +666,6 @@ NARADR:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: radar Prerequisite: radar
Building: Building:
Power: -50
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -672,6 +686,8 @@ NARADR:
PauseOnLowPower: yes PauseOnLowPower: yes
TargetableBuilding: TargetableBuilding:
TargetTypes: Ground, C4, SpyInfiltrate TargetTypes: Ground, C4, SpyInfiltrate
Power:
Amount: -50
GATECH: GATECH:
Inherits: ^Building Inherits: ^Building
@@ -689,7 +705,6 @@ GATECH:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: tech Prerequisite: tech
Building: Building:
Power: -150
Footprint: xxx xxx xxx Footprint: xxx xxx xxx
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -700,6 +715,8 @@ GATECH:
Range: 4c0 Range: 4c0
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -150
NATECH: NATECH:
Inherits: ^Building Inherits: ^Building
@@ -717,7 +734,6 @@ NATECH:
ProvidesCustomPrerequisite: ProvidesCustomPrerequisite:
Prerequisite: tech Prerequisite: tech
Building: Building:
Power: -150
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -728,6 +744,8 @@ NATECH:
Range: 4c0 Range: 4c0
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -150
GAHPAD: GAHPAD:
Inherits: ^Building Inherits: ^Building
@@ -742,7 +760,6 @@ GAHPAD:
Queue: Building Queue: Building
Hotkey: i Hotkey: i
Building: Building:
Power: -10
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -762,6 +779,8 @@ GAHPAD:
Sequence: idle-platform Sequence: idle-platform
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -10
NAHPAD: NAHPAD:
Inherits: ^Building Inherits: ^Building
@@ -776,7 +795,6 @@ NAHPAD:
Queue: Building Queue: Building
Hotkey: j Hotkey: j
Building: Building:
Power: -10
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
Health: Health:
@@ -796,6 +814,8 @@ NAHPAD:
Sequence: idle-platform Sequence: idle-platform
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -10
GADEPT: GADEPT:
Inherits: ^Building Inherits: ^Building
@@ -811,7 +831,6 @@ GADEPT:
Queue: Building Queue: Building
Hotkey: v Hotkey: v
Building: Building:
Power: -30
Footprint: _x_ xxx _x_ Footprint: _x_ xxx _x_
Dimensions: 3,3 Dimensions: 3,3
Health: Health:
@@ -831,6 +850,8 @@ GADEPT:
Sequence: crane Sequence: crane
WithRepairOverlay@PLATFORM: WithRepairOverlay@PLATFORM:
Sequence: platform Sequence: platform
Power:
Amount: -30
#TODO: Placeholder, replace with Component Tower + Vulcan Upgrade #TODO: Placeholder, replace with Component Tower + Vulcan Upgrade
GAVULC: GAVULC:
@@ -846,7 +867,6 @@ GAVULC:
Owner: gdi Owner: gdi
Hotkey: v Hotkey: v
Building: Building:
Power: -20
DisabledOverlay: DisabledOverlay:
-GivesBuildableArea: -GivesBuildableArea:
Health: Health:
@@ -889,6 +909,8 @@ GAVULC:
-RenderBuilding: -RenderBuilding:
RenderBuildingWall: RenderBuildingWall:
Type: wall Type: wall
Power:
Amount: -20
#TODO: Placeholder, replace with Component Tower + RPG Upgrade #TODO: Placeholder, replace with Component Tower + RPG Upgrade
GAROCK: GAROCK:
@@ -904,7 +926,6 @@ GAROCK:
Owner: gdi Owner: gdi
Hotkey: r Hotkey: r
Building: Building:
Power: -50
RequiresPower: RequiresPower:
DisabledOverlay: DisabledOverlay:
-GivesBuildableArea: -GivesBuildableArea:
@@ -938,6 +959,8 @@ GAROCK:
-RenderBuilding: -RenderBuilding:
RenderBuildingWall: RenderBuildingWall:
Type: wall Type: wall
Power:
Amount: -50
#TODO: Placeholder, replace with Component Tower + SAM Upgrade #TODO: Placeholder, replace with Component Tower + SAM Upgrade
GACSAM: GACSAM:
@@ -953,7 +976,6 @@ GACSAM:
Owner: gdi Owner: gdi
Hotkey: a Hotkey: a
Building: Building:
Power: -30
RequiresPower: RequiresPower:
DisabledOverlay: DisabledOverlay:
-GivesBuildableArea: -GivesBuildableArea:
@@ -987,6 +1009,8 @@ GACSAM:
-RenderBuilding: -RenderBuilding:
RenderBuildingWall: RenderBuildingWall:
Type: wall Type: wall
Power:
Amount: -30
NASAM: NASAM:
Inherits: ^Building Inherits: ^Building
@@ -1001,7 +1025,6 @@ NASAM:
Owner: nod Owner: nod
Hotkey: s Hotkey: s
Building: Building:
Power: -30
RequiresPower: RequiresPower:
DisabledOverlay: DisabledOverlay:
-GivesBuildableArea: -GivesBuildableArea:
@@ -1028,6 +1051,8 @@ NASAM:
Weapon: SAMTower Weapon: SAMTower
LocalOffset: 512,0,512 LocalOffset: 512,0,512
Recoil: 0 Recoil: 0
Power:
Amount: -30
NALASR: NALASR:
Inherits: ^Building Inherits: ^Building
@@ -1042,7 +1067,6 @@ NALASR:
Owner: nod Owner: nod
Hotkey: l Hotkey: l
Building: Building:
Power: -40
RequiresPower: RequiresPower:
DisabledOverlay: DisabledOverlay:
-GivesBuildableArea: -GivesBuildableArea:
@@ -1066,6 +1090,8 @@ NALASR:
RenderVoxels: RenderVoxels:
WithVoxelTurret: WithVoxelTurret:
AutoTarget: AutoTarget:
Power:
Amount: -40
NAOBEL: NAOBEL:
Inherits: ^Building Inherits: ^Building
@@ -1081,7 +1107,6 @@ NAOBEL:
Owner: nod Owner: nod
Hotkey: o Hotkey: o
Building: Building:
Power: -150
Footprint: xx xx Footprint: xx xx
Dimensions: 2,2 Dimensions: 2,2
RequiresPower: RequiresPower:
@@ -1109,6 +1134,8 @@ NAOBEL:
Range: 5 Range: 5
WithIdleOverlay@LIGHTS: WithIdleOverlay@LIGHTS:
Sequence: idle-lights Sequence: idle-lights
Power:
Amount: -150
ANYPOWER: ANYPOWER:
Tooltip: Tooltip: