Add ITargetablePositions seperating it from ITargetable
This commit is contained in:
@@ -130,9 +130,15 @@ namespace OpenRA.Traits
|
||||
if (!targetable.Any())
|
||||
return new[] { actor.CenterPosition };
|
||||
|
||||
var targeted = this.actor;
|
||||
var positions = targetable.SelectMany(t => t.TargetablePositions(targeted)).Distinct();
|
||||
return positions.Any() ? positions : new[] { targeted.CenterPosition };
|
||||
var targetablePositions = actor.TraitOrDefault<ITargetablePositions>();
|
||||
if (targetablePositions != null)
|
||||
{
|
||||
var positions = targetablePositions.TargetablePositions(actor);
|
||||
if (positions.Any())
|
||||
return positions;
|
||||
}
|
||||
|
||||
return new[] { actor.CenterPosition };
|
||||
case TargetType.FrozenActor:
|
||||
return new[] { frozen.CenterPosition };
|
||||
case TargetType.Terrain:
|
||||
|
||||
@@ -317,11 +317,15 @@ namespace OpenRA.Traits
|
||||
{
|
||||
// Check IsTraitEnabled or !IsTraitDisabled first
|
||||
string[] TargetTypes { get; }
|
||||
IEnumerable<WPos> TargetablePositions(Actor self);
|
||||
bool TargetableBy(Actor self, Actor byActor);
|
||||
bool RequiresForceFire { get; }
|
||||
}
|
||||
|
||||
public interface ITargetablePositions
|
||||
{
|
||||
IEnumerable<WPos> TargetablePositions(Actor self);
|
||||
}
|
||||
|
||||
public interface INotifyStanceChanged
|
||||
{
|
||||
void StanceChanged(Actor self, Player a, Player b,
|
||||
|
||||
@@ -293,7 +293,6 @@
|
||||
<Compile Include="Traits\Buildings\RepairableBuilding.cs" />
|
||||
<Compile Include="Traits\Buildings\RepairsUnits.cs" />
|
||||
<Compile Include="Traits\Buildings\Reservable.cs" />
|
||||
<Compile Include="Traits\Buildings\TargetableBuilding.cs" />
|
||||
<Compile Include="Traits\Burns.cs" />
|
||||
<Compile Include="Traits\C4Demolition.cs" />
|
||||
<Compile Include="Traits\VeteranProductionIconOverlay.cs" />
|
||||
@@ -476,7 +475,7 @@
|
||||
<Compile Include="Traits\SupportPowers\SupportPower.cs" />
|
||||
<Compile Include="Traits\SupportPowers\SupportPowerManager.cs" />
|
||||
<Compile Include="Traits\SupportPowers\SpawnActorPower.cs" />
|
||||
<Compile Include="Traits\TargetableUnit.cs" />
|
||||
<Compile Include="Traits\Targetable.cs" />
|
||||
<Compile Include="Traits\ThrowsParticle.cs" />
|
||||
<Compile Include="Traits\Tooltip.cs" />
|
||||
<Compile Include="Traits\TransformOnCapture.cs" />
|
||||
|
||||
@@ -13,13 +13,13 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public class TargetableAircraftInfo : TargetableUnitInfo
|
||||
public class TargetableAircraftInfo : TargetableInfo
|
||||
{
|
||||
public readonly string[] GroundedTargetTypes = { };
|
||||
public override object Create(ActorInitializer init) { return new TargetableAircraft(init.Self, this); }
|
||||
}
|
||||
|
||||
public class TargetableAircraft : TargetableUnit
|
||||
public class TargetableAircraft : Targetable
|
||||
{
|
||||
readonly TargetableAircraftInfo info;
|
||||
readonly Actor self;
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
bool IOccupySpaceInfo.SharesCell { get { return false; } }
|
||||
}
|
||||
|
||||
public class Building : IOccupySpace, INotifySold, INotifyTransform, ISync, INotifyCreated, INotifyAddedToWorld, INotifyRemovedFromWorld
|
||||
public class Building : IOccupySpace, INotifySold, INotifyTransform, ISync, INotifyCreated, INotifyAddedToWorld, INotifyRemovedFromWorld, ITargetablePositions
|
||||
{
|
||||
public readonly BuildingInfo Info;
|
||||
public bool BuildComplete { get; private set; }
|
||||
@@ -157,6 +157,11 @@ namespace OpenRA.Mods.Common.Traits
|
||||
Pair<CPos, SubCell>[] occupiedCells;
|
||||
public IEnumerable<Pair<CPos, SubCell>> OccupiedCells() { return occupiedCells; }
|
||||
|
||||
public IEnumerable<WPos> TargetablePositions(Actor self)
|
||||
{
|
||||
return OccupiedCells().Select(c => self.World.Map.CenterOfCell(c.First));
|
||||
}
|
||||
|
||||
public void Created(Actor self)
|
||||
{
|
||||
if (SkipMakeAnimation || !self.HasTrait<WithMakeAnimation>())
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2015 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.Collections.Generic;
|
||||
using System.Linq;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public class TargetableBuildingInfo : ITraitInfo, ITargetableInfo, Requires<BuildingInfo>
|
||||
{
|
||||
[FieldLoader.Require]
|
||||
public readonly string[] TargetTypes = { };
|
||||
public string[] GetTargetTypes() { return TargetTypes; }
|
||||
|
||||
public bool RequiresForceFire = false;
|
||||
|
||||
public object Create(ActorInitializer init) { return new TargetableBuilding(init.Self, this); }
|
||||
}
|
||||
|
||||
public class TargetableBuilding : ITargetable
|
||||
{
|
||||
readonly TargetableBuildingInfo info;
|
||||
readonly Building building;
|
||||
|
||||
public TargetableBuilding(Actor self, TargetableBuildingInfo info)
|
||||
{
|
||||
this.info = info;
|
||||
building = self.Trait<Building>();
|
||||
}
|
||||
|
||||
public string[] TargetTypes { get { return info.TargetTypes; } }
|
||||
public bool TargetableBy(Actor self, Actor byActor) { return true; }
|
||||
|
||||
public IEnumerable<WPos> TargetablePositions(Actor self)
|
||||
{
|
||||
return building.OccupiedCells().Select(c => self.World.Map.CenterOfCell(c.First));
|
||||
}
|
||||
|
||||
public bool RequiresForceFire { get { return info.RequiresForceFire; } }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ using OpenRA.Traits;
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
[Desc("Actor can be targeted.")]
|
||||
public class TargetableUnitInfo : UpgradableTraitInfo, ITargetableInfo
|
||||
public class TargetableInfo : UpgradableTraitInfo, ITargetableInfo
|
||||
{
|
||||
[Desc("Target type. Used for filtering (in)valid targets.")]
|
||||
public readonly string[] TargetTypes = { };
|
||||
@@ -22,15 +22,15 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public bool RequiresForceFire = false;
|
||||
|
||||
public override object Create(ActorInitializer init) { return new TargetableUnit(init.Self, this); }
|
||||
public override object Create(ActorInitializer init) { return new Targetable(init.Self, this); }
|
||||
}
|
||||
|
||||
public class TargetableUnit : UpgradableTrait<TargetableUnitInfo>, ITargetable
|
||||
public class Targetable : UpgradableTrait<TargetableInfo>, ITargetable
|
||||
{
|
||||
protected static readonly string[] None = new string[] { };
|
||||
protected Cloak cloak;
|
||||
|
||||
public TargetableUnit(Actor self, TargetableUnitInfo info)
|
||||
public Targetable(Actor self, TargetableInfo info)
|
||||
: base(info)
|
||||
{
|
||||
cloak = self.TraitOrDefault<Cloak>();
|
||||
@@ -48,11 +48,6 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public virtual string[] TargetTypes { get { return Info.TargetTypes; } }
|
||||
|
||||
public virtual IEnumerable<WPos> TargetablePositions(Actor self)
|
||||
{
|
||||
yield return self.CenterPosition;
|
||||
}
|
||||
|
||||
public bool RequiresForceFire { get { return Info.RequiresForceFire; } }
|
||||
}
|
||||
}
|
||||
@@ -1965,6 +1965,17 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
}
|
||||
}
|
||||
|
||||
if (engineVersion < 20150902)
|
||||
{
|
||||
if (depth == 1)
|
||||
{
|
||||
if (node.Key == "TargetableUnit" || node.Key == "TargetableBuilding")
|
||||
node.Key = "Targetable";
|
||||
else if (node.Key == "-TargetableUnit" || node.Key == "-TargetableBuilding")
|
||||
node.Key = "-Targetable";
|
||||
}
|
||||
}
|
||||
|
||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,14 +13,14 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA.Traits
|
||||
{
|
||||
public class TargetableSubmarineInfo : TargetableUnitInfo, Requires<CloakInfo>
|
||||
public class TargetableSubmarineInfo : TargetableInfo, Requires<CloakInfo>
|
||||
{
|
||||
public readonly string[] CloakedTargetTypes = { };
|
||||
|
||||
public override object Create(ActorInitializer init) { return new TargetableSubmarine(init.Self, this); }
|
||||
}
|
||||
|
||||
public class TargetableSubmarine : TargetableUnit
|
||||
public class TargetableSubmarine : Targetable
|
||||
{
|
||||
readonly TargetableSubmarineInfo info;
|
||||
|
||||
|
||||
@@ -511,7 +511,7 @@ Rules:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
A10:
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
|
||||
Sequences:
|
||||
|
||||
|
||||
@@ -374,7 +374,7 @@ BRIDGEHUT:
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 48,48
|
||||
BridgeHut:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: BridgeHut, C4
|
||||
|
||||
C1:
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Vehicle
|
||||
Repairable:
|
||||
Passenger:
|
||||
@@ -172,7 +172,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 12,17,0,-6
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Infantry
|
||||
RenderSprites:
|
||||
QuantizeFacingsFromSequence:
|
||||
@@ -302,7 +302,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
HiddenUnderFog:
|
||||
QuantizeFacingsFromSequence:
|
||||
@@ -346,7 +346,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
AutoTarget:
|
||||
ScanRadius: 5
|
||||
@@ -405,7 +405,7 @@
|
||||
Water: 100
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water
|
||||
HiddenUnderFog:
|
||||
ActorLostNotification:
|
||||
@@ -421,7 +421,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Priority: 3
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, Structure
|
||||
Armor:
|
||||
Type: Wood
|
||||
@@ -520,7 +520,7 @@
|
||||
Tooltip:
|
||||
Name: Field
|
||||
-WithBuildingExplosion:
|
||||
-TargetableBuilding:
|
||||
-Targetable:
|
||||
-Demolishable:
|
||||
RenderSprites:
|
||||
Palette: terrain
|
||||
@@ -553,7 +553,7 @@
|
||||
BuildSounds: hvydoor1.aud
|
||||
Adjacent: 7
|
||||
TerrainTypes: Clear,Road
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Wall
|
||||
Crushable:
|
||||
CrushClasses: wall
|
||||
@@ -662,7 +662,7 @@
|
||||
AllowedTerrain: Clear, Rough, Road, Tiberium, BlueTiberium, Beach
|
||||
Burns:
|
||||
Interval: 2
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
RequiresForceFire: yes
|
||||
TargetTypes: Ground, Husk
|
||||
Capturable:
|
||||
@@ -692,7 +692,7 @@
|
||||
AlwaysVisible:
|
||||
Tooltip:
|
||||
Name: Bridge
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
RequiresForceFire: yes
|
||||
TargetTypes: Ground, Water
|
||||
Health:
|
||||
|
||||
@@ -528,7 +528,7 @@ STNK:
|
||||
AttackFrontal:
|
||||
AutoTarget:
|
||||
InitialStance: HoldFire
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
SpawnActorOnDeath:
|
||||
Actor: STNK.Husk
|
||||
-MustBeDestroyed:
|
||||
|
||||
@@ -34,7 +34,7 @@ sandworm:
|
||||
Sand: 100
|
||||
Dune: 100
|
||||
Spice: 100
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
WithFacingSpriteBody:
|
||||
WithAttackOverlay:
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 32,32
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Vehicle, C4
|
||||
Passenger:
|
||||
CargoType: Vehicle
|
||||
@@ -130,7 +130,7 @@
|
||||
AllowedTerrain: Sand, Rock, Transition, Concrete, Spice, SpiceBlobs, Dune
|
||||
Burns:
|
||||
Interval: 4
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Vehicle
|
||||
RequiresForceFire: yes
|
||||
Capturable:
|
||||
@@ -188,7 +188,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 12,18,0,-6
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Infantry
|
||||
UpgradeTypes: parachute
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
@@ -260,7 +260,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Priority: 2
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, Structure
|
||||
Building:
|
||||
Dimensions: 1,1
|
||||
|
||||
@@ -509,7 +509,7 @@ wall:
|
||||
NodeTypes: wall, turret
|
||||
LineBuildNode:
|
||||
Types: wall
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Wall
|
||||
RenderSprites:
|
||||
WithWallSpriteBody:
|
||||
|
||||
@@ -1382,21 +1382,15 @@ Rules:
|
||||
-ExternalCaptures:
|
||||
Captures:
|
||||
CaptureTypes: building
|
||||
Cloak@JAIL:
|
||||
Targetable:
|
||||
UpgradeTypes: jail
|
||||
UpgradeMinEnabledLevel: 1
|
||||
InitialDelay: 0
|
||||
CloakDelay: 0
|
||||
Palette:
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
RenderSprites:
|
||||
Image: E6
|
||||
MEDI:
|
||||
Cloak@JAIL:
|
||||
Targetable:
|
||||
UpgradeTypes: jail
|
||||
UpgradeMinEnabledLevel: 1
|
||||
InitialDelay: 0
|
||||
CloakDelay: 0
|
||||
Palette:
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
E7.noautotarget:
|
||||
Inherits: E7
|
||||
AutoTarget:
|
||||
|
||||
@@ -1278,21 +1278,15 @@ Rules:
|
||||
Captures:
|
||||
CaptureTypes: building
|
||||
WithInfantryBody:
|
||||
Cloak@JAIL:
|
||||
Targetable:
|
||||
UpgradeTypes: jail
|
||||
UpgradeMinEnabledLevel: 1
|
||||
InitialDelay: 0
|
||||
CloakDelay: 0
|
||||
Palette:
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
RenderSprites:
|
||||
Image: E6
|
||||
MEDI:
|
||||
Cloak@JAIL:
|
||||
Targetable:
|
||||
UpgradeTypes: jail
|
||||
UpgradeMinEnabledLevel: 1
|
||||
InitialDelay: 0
|
||||
CloakDelay: 0
|
||||
Palette:
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
E7.noautotarget:
|
||||
Inherits: E7
|
||||
AutoTarget:
|
||||
@@ -1385,7 +1379,7 @@ Rules:
|
||||
-Selectable:
|
||||
-Demolishable:
|
||||
-Huntable:
|
||||
-TargetableUnit:
|
||||
-Targetable:
|
||||
-Armament:
|
||||
-WithMuzzleFlash:
|
||||
Cargo:
|
||||
|
||||
@@ -1651,7 +1651,7 @@ Rules:
|
||||
Prerequisites: ~disabled
|
||||
LST:
|
||||
-Selectable:
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
@@ -1696,13 +1696,13 @@ Rules:
|
||||
ShowOwnerRow: false
|
||||
WEAP:
|
||||
-InfiltrateForSupportPower:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, Mission Objectives
|
||||
MISS:
|
||||
Tooltip:
|
||||
Name: Prison
|
||||
ShowOwnerRow: False
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, Mission Objectives
|
||||
E7.noautotarget:
|
||||
Inherits: E7
|
||||
|
||||
@@ -644,7 +644,7 @@ Rules:
|
||||
DamageMultiplier@INVULNERABLE:
|
||||
Modifier: 0
|
||||
-Selectable:
|
||||
-TargetableBuilding:
|
||||
-Targetable:
|
||||
Player:
|
||||
StrategicVictoryConditions:
|
||||
TicksToHold: 3000
|
||||
|
||||
@@ -2241,7 +2241,7 @@ Rules:
|
||||
RenderSprites:
|
||||
Image: DOME
|
||||
-InfiltrateForExploration:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, MissionObjective
|
||||
SPY:
|
||||
Infiltrates:
|
||||
|
||||
@@ -1282,7 +1282,7 @@ Rules:
|
||||
Power:
|
||||
Amount: 0
|
||||
-Selectable:
|
||||
-TargetableBuilding:
|
||||
-Targetable:
|
||||
-GivesBuildableArea:
|
||||
-Huntable:
|
||||
RenderSprites:
|
||||
|
||||
@@ -242,7 +242,7 @@ V19.Husk:
|
||||
Sequence: fire-loop
|
||||
-Health:
|
||||
-Selectable:
|
||||
-TargetableBuilding:
|
||||
-Targetable:
|
||||
-Demolishable:
|
||||
|
||||
BARL:
|
||||
@@ -259,7 +259,7 @@ BARL:
|
||||
AutoTargetIgnore:
|
||||
Armor:
|
||||
Type: None
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, DemoTruck
|
||||
-ShakeOnDeath:
|
||||
-SoundOnDamageTransition:
|
||||
@@ -279,7 +279,7 @@ BRL3:
|
||||
AutoTargetIgnore:
|
||||
Armor:
|
||||
Type: None
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, DemoTruck
|
||||
-ShakeOnDeath:
|
||||
-SoundOnDamageTransition:
|
||||
@@ -497,7 +497,7 @@ BRIDGEHUT:
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 48,48
|
||||
BridgeHut:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: BridgeHut, C4
|
||||
|
||||
BRIDGEHUT.small:
|
||||
@@ -508,7 +508,7 @@ BRIDGEHUT.small:
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 24,24
|
||||
BridgeHut:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: BridgeHut, C4
|
||||
|
||||
V20:
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24, 24
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Repair, Vehicle
|
||||
UpgradeTypes: parachute
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
@@ -149,7 +149,7 @@
|
||||
Ore: 70
|
||||
Gems: 70
|
||||
Beach: 70
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, Repair, Tank
|
||||
ProximityCaptor:
|
||||
Types: Tank
|
||||
@@ -181,7 +181,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 12,18,0,-8
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Infantry, Disguise
|
||||
UpgradeTypes: parachute
|
||||
UpgradeMaxEnabledLevel: 0
|
||||
@@ -299,7 +299,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water, Repair
|
||||
HiddenUnderFog:
|
||||
AttackMove:
|
||||
@@ -385,7 +385,7 @@
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Priority: 3
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure
|
||||
Building:
|
||||
Dimensions: 1,1
|
||||
@@ -433,7 +433,7 @@
|
||||
|
||||
^Defense:
|
||||
Inherits: ^Building
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, Defense
|
||||
MustBeDestroyed:
|
||||
RequiredForShortGame: false
|
||||
@@ -462,7 +462,7 @@
|
||||
NodeTypes: wall
|
||||
LineBuildNode:
|
||||
Types: wall
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, DetonateAttack, Wall
|
||||
RenderSprites:
|
||||
Palette: effect
|
||||
@@ -518,7 +518,7 @@
|
||||
AutoTargetIgnore:
|
||||
Armor:
|
||||
Type: Light
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, DetonateAttack
|
||||
|
||||
^CivBuilding:
|
||||
@@ -533,7 +533,7 @@
|
||||
-Selectable:
|
||||
Tooltip:
|
||||
Name: Field
|
||||
-TargetableBuilding:
|
||||
-Targetable:
|
||||
-Demolishable:
|
||||
ProximityCaptor:
|
||||
Types: CivilianField
|
||||
@@ -598,7 +598,7 @@
|
||||
TransformOnCapture:
|
||||
ForceHealthPercentage: 25
|
||||
DisabledOverlay:
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Husk
|
||||
RequiresForceFire: true
|
||||
Chronoshiftable:
|
||||
@@ -625,7 +625,7 @@
|
||||
AlwaysVisible:
|
||||
Tooltip:
|
||||
Name: Bridge
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water
|
||||
RequiresForceFire: true
|
||||
Building:
|
||||
|
||||
@@ -57,7 +57,7 @@ SYRF:
|
||||
GenericName: Shipyard
|
||||
GenericVisibility: Enemy
|
||||
GenericStancePrefix: False
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water
|
||||
Building:
|
||||
Footprint: xxx xxx xxx
|
||||
@@ -73,7 +73,7 @@ SYRF:
|
||||
|
||||
SPEF:
|
||||
Inherits: ^FakeBuilding
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water
|
||||
Buildable:
|
||||
BuildPaletteOrder: 910
|
||||
|
||||
@@ -32,7 +32,7 @@ DOG:
|
||||
Voice: Attack
|
||||
AttackMove:
|
||||
Voice: Move
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Infantry
|
||||
WithInfantryBody:
|
||||
AttackSequence: shoot
|
||||
@@ -587,7 +587,7 @@ Ant:
|
||||
AttackSequence: bite
|
||||
Armament:
|
||||
Weapon: mandible
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Infantry
|
||||
WithDeathAnimation:
|
||||
UseDeathTypeSuffix: false
|
||||
|
||||
@@ -22,7 +22,7 @@ MINP:
|
||||
Name: Mine
|
||||
ProximityCaptor:
|
||||
Types: Mine
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
BodyOrientation:
|
||||
QuantizedFacings: 1
|
||||
@@ -53,7 +53,7 @@ MINV:
|
||||
Name: Mine
|
||||
ProximityCaptor:
|
||||
Types: Mine
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
BodyOrientation:
|
||||
QuantizedFacings: 1
|
||||
@@ -431,5 +431,5 @@ CTFLAG:
|
||||
DamageMultiplier@INVULNERABLE:
|
||||
Modifier: 0
|
||||
-Selectable:
|
||||
-TargetableBuilding:
|
||||
-Targetable:
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ SS:
|
||||
Speed: 71
|
||||
RevealsShroud:
|
||||
Range: 6c0
|
||||
-TargetableUnit:
|
||||
-Targetable:
|
||||
TargetableSubmarine:
|
||||
TargetTypes: Ground, Water, Repair
|
||||
CloakedTargetTypes: Underwater, Repair
|
||||
@@ -68,7 +68,7 @@ MSUB:
|
||||
Speed: 42
|
||||
RevealsShroud:
|
||||
Range: 6c0
|
||||
-TargetableUnit:
|
||||
-Targetable:
|
||||
TargetableSubmarine:
|
||||
TargetTypes: Ground, Water, Repair
|
||||
CloakedTargetTypes: Underwater, Repair
|
||||
|
||||
@@ -100,7 +100,7 @@ SPEN:
|
||||
Queue: Building
|
||||
BuildPaletteOrder: 50
|
||||
Prerequisites: anypower, ~structures.soviet, ~techlevel.low
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water, C4, DetonateAttack, SpyInfiltrate
|
||||
Building:
|
||||
Footprint: xxx xxx xxx
|
||||
@@ -181,7 +181,7 @@ SYRD:
|
||||
Tooltip:
|
||||
Name: Shipyard
|
||||
Description: Produces and repairs ships\nand transports.
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Water, C4, DetonateAttack, SpyInfiltrate
|
||||
Building:
|
||||
Footprint: xxx xxx xxx
|
||||
@@ -476,7 +476,7 @@ DOME:
|
||||
Building:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
RequiresPower:
|
||||
CanPowerDown:
|
||||
@@ -823,7 +823,7 @@ WEAP:
|
||||
Power:
|
||||
Amount: -30
|
||||
ProvidesPrerequisite@buildingname:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, SpyInfiltrate
|
||||
InfiltrateForSupportPower:
|
||||
Proxy: vehicles.upgraded
|
||||
@@ -920,7 +920,7 @@ PROC:
|
||||
Bounds: 72,50,0,12
|
||||
SelectionDecorations:
|
||||
VisualBounds: 72,70,0,-2
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
Health:
|
||||
HP: 900
|
||||
@@ -1050,7 +1050,7 @@ HPAD:
|
||||
RequiresPrerequisites: structures.germany
|
||||
Prerequisite: aircraft.germany
|
||||
ProvidesPrerequisite@buildingname:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, SpyInfiltrate
|
||||
InfiltrateForSupportPower:
|
||||
Proxy: aircraft.upgraded
|
||||
@@ -1159,7 +1159,7 @@ AFLD:
|
||||
Power:
|
||||
Amount: -20
|
||||
ProvidesPrerequisite@buildingname:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, SpyInfiltrate
|
||||
InfiltrateForSupportPower:
|
||||
Proxy: aircraft.upgraded
|
||||
@@ -1191,7 +1191,7 @@ POWR:
|
||||
Amount: 100
|
||||
InfiltrateForPowerOutage:
|
||||
AffectedByPowerOutage:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
@@ -1232,7 +1232,7 @@ APWR:
|
||||
Amount: 200
|
||||
InfiltrateForPowerOutage:
|
||||
AffectedByPowerOutage:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
@@ -1332,7 +1332,7 @@ BARR:
|
||||
ProvidesPrerequisite@buildingname:
|
||||
InfiltrateForSupportPower:
|
||||
Proxy: barracks.upgraded
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, SpyInfiltrate
|
||||
|
||||
KENN:
|
||||
@@ -1439,7 +1439,7 @@ TENT:
|
||||
ProvidesPrerequisite@buildingname:
|
||||
InfiltrateForSupportPower:
|
||||
Proxy: barracks.upgraded
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, Structure, SpyInfiltrate
|
||||
|
||||
FIX:
|
||||
|
||||
@@ -699,7 +699,7 @@ QTNK:
|
||||
VisualBounds: 44,38,0,-4
|
||||
MadTank:
|
||||
-EjectOnDeath:
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, MADTank, Repair
|
||||
|
||||
STNK:
|
||||
|
||||
@@ -225,7 +225,7 @@ DOGGIE:
|
||||
Speed: 113
|
||||
Voiced:
|
||||
VoiceSet: Fiend
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
Armament:
|
||||
Weapon: FiendShard
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
Palette: pips
|
||||
Selectable:
|
||||
Priority: 3
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Building, C4
|
||||
Building:
|
||||
Dimensions: 1,1
|
||||
@@ -187,7 +187,7 @@
|
||||
NodeTypes: wall
|
||||
LineBuildNode:
|
||||
Types: wall
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Wall, C4
|
||||
RenderSprites:
|
||||
AutoSelectionSize:
|
||||
@@ -252,7 +252,7 @@
|
||||
Bounds: 14,23,-1,-9
|
||||
Voiced:
|
||||
VoiceSet: Infantry
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Infantry
|
||||
QuantizeFacingsFromSequence:
|
||||
Sequence: stand
|
||||
@@ -378,7 +378,7 @@
|
||||
Palette: pips
|
||||
Voiced:
|
||||
VoiceSet: Vehicle
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Vehicle, Repair
|
||||
Repairable:
|
||||
RepairBuildings: gadept
|
||||
@@ -520,7 +520,7 @@
|
||||
Palette: pips
|
||||
Selectable:
|
||||
Bounds: 26,26,0,-3
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground
|
||||
AttackMove:
|
||||
HiddenUnderFog:
|
||||
@@ -651,7 +651,7 @@
|
||||
SelectionDecorations:
|
||||
Palette: pips
|
||||
Selectable:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Repair
|
||||
Guardable:
|
||||
HiddenUnderFog:
|
||||
@@ -681,7 +681,7 @@
|
||||
Palette: pips
|
||||
Voiced:
|
||||
VoiceSet: Vehicle
|
||||
TargetableUnit:
|
||||
Targetable:
|
||||
TargetTypes: Ground, Vehicle
|
||||
Passenger:
|
||||
CargoType: Infantry
|
||||
|
||||
@@ -30,7 +30,7 @@ GAPOWR:
|
||||
Amount: 100
|
||||
InfiltrateForPowerOutage:
|
||||
AffectedByPowerOutage:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
@@ -288,7 +288,7 @@ GARADR:
|
||||
WithIdleOverlay@DISH:
|
||||
Sequence: idle-dish
|
||||
PauseOnLowPower: yes
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, SpyInfiltrate
|
||||
Power:
|
||||
Amount: -50
|
||||
|
||||
@@ -28,7 +28,7 @@ NAPOWR:
|
||||
Amount: 100
|
||||
InfiltrateForPowerOutage:
|
||||
AffectedByPowerOutage:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
@@ -65,7 +65,7 @@ NAAPWR:
|
||||
Amount: 200
|
||||
InfiltrateForPowerOutage:
|
||||
AffectedByPowerOutage:
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
@@ -243,7 +243,7 @@ NARADR:
|
||||
WithIdleOverlay@DISH:
|
||||
Sequence: idle-dish
|
||||
PauseOnLowPower: yes
|
||||
TargetableBuilding:
|
||||
Targetable:
|
||||
TargetTypes: Ground, C4, SpyInfiltrate
|
||||
Power:
|
||||
Amount: -50
|
||||
|
||||
Reference in New Issue
Block a user