Merge pull request #8388 from reaperrr/selectable-refactor1
Selectable bounds/selection box refactor
This commit is contained in:
@@ -41,12 +41,14 @@ namespace OpenRA
|
||||
public int Generation;
|
||||
|
||||
Lazy<Rectangle> bounds;
|
||||
Lazy<Rectangle> visualBounds;
|
||||
Lazy<IFacing> facing;
|
||||
Lazy<Health> health;
|
||||
Lazy<IOccupySpace> occupySpace;
|
||||
Lazy<IEffectiveOwner> effectiveOwner;
|
||||
|
||||
public Rectangle Bounds { get { return bounds.Value; } }
|
||||
public Rectangle VisualBounds { get { return visualBounds.Value; } }
|
||||
public IOccupySpace OccupiesSpace { get { return occupySpace.Value; } }
|
||||
public IEffectiveOwner EffectiveOwner { get { return effectiveOwner.Value; } }
|
||||
|
||||
@@ -110,6 +112,21 @@ namespace OpenRA
|
||||
return new Rectangle(offset.X, offset.Y, size.X, size.Y);
|
||||
});
|
||||
|
||||
visualBounds = Exts.Lazy(() =>
|
||||
{
|
||||
var sd = Info.Traits.GetOrDefault<ISelectionDecorationsInfo>();
|
||||
if (sd == null || sd.SelectionBoxBounds == null)
|
||||
return bounds.Value;
|
||||
|
||||
var size = new int2(sd.SelectionBoxBounds[0], sd.SelectionBoxBounds[1]);
|
||||
|
||||
var offset = -size / 2;
|
||||
if (sd.SelectionBoxBounds.Length > 2)
|
||||
offset += new int2(sd.SelectionBoxBounds[2], sd.SelectionBoxBounds[3]);
|
||||
|
||||
return new Rectangle(offset.X, offset.Y, size.X, size.Y);
|
||||
});
|
||||
|
||||
renderModifiers = TraitsImplementing<IRenderModifier>().ToArray();
|
||||
renders = TraitsImplementing<IRender>().ToArray();
|
||||
disables = TraitsImplementing<IDisable>().ToArray();
|
||||
|
||||
@@ -158,7 +158,7 @@ namespace OpenRA.Graphics
|
||||
var health = actor.TraitOrDefault<Health>();
|
||||
|
||||
var screenPos = wr.ScreenPxPosition(pos);
|
||||
var bounds = actor.Bounds;
|
||||
var bounds = actor.VisualBounds;
|
||||
bounds.Offset(screenPos.X, screenPos.Y);
|
||||
|
||||
var start = new float2(bounds.Left + 1, bounds.Top);
|
||||
|
||||
@@ -190,13 +190,9 @@ namespace OpenRA.Graphics
|
||||
|
||||
public void DrawRollover(Actor unit)
|
||||
{
|
||||
var selectable = unit.TraitOrDefault<Selectable>();
|
||||
if (selectable != null)
|
||||
{
|
||||
if (selectable.Info.Selectable)
|
||||
if (unit.HasTrait<Selectable>())
|
||||
new SelectionBarsRenderable(unit).Render(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void DrawRangeCircle(WPos pos, WRange range, Color c)
|
||||
{
|
||||
|
||||
@@ -180,7 +180,6 @@
|
||||
<Compile Include="Traits\Player\PlayerResources.cs" />
|
||||
<Compile Include="Traits\RevealsShroud.cs" />
|
||||
<Compile Include="Traits\Selectable.cs" />
|
||||
<Compile Include="Traits\SelectionDecorations.cs" />
|
||||
<Compile Include="Traits\Target.cs" />
|
||||
<Compile Include="Traits\TraitsInterfaces.cs" />
|
||||
<Compile Include="Traits\Util.cs" />
|
||||
@@ -235,7 +234,6 @@
|
||||
<Compile Include="Sound\OpenAlSound.cs" />
|
||||
<Compile Include="Sound\NullSound.cs" />
|
||||
<Compile Include="Effects\SpriteEffect.cs" />
|
||||
<Compile Include="Graphics\SelectionBoxRenderable.cs" />
|
||||
<Compile Include="Graphics\SelectionBarsRenderable.cs" />
|
||||
<Compile Include="Graphics\TargetLineRenderable.cs" />
|
||||
<Compile Include="Graphics\UISpriteRenderable.cs" />
|
||||
|
||||
@@ -63,8 +63,7 @@ namespace OpenRA.Orders
|
||||
|
||||
if (underCursor != null && (mi.Modifiers.HasModifier(Modifiers.Shift) || !world.Selection.Actors.Any()))
|
||||
{
|
||||
var selectable = underCursor.TraitOrDefault<Selectable>();
|
||||
if (selectable != null && selectable.Info.Selectable)
|
||||
if (underCursor.HasTrait<Selectable>())
|
||||
useSelect = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,17 +8,14 @@
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Graphics;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
[Desc("This actor is selectable. Defines bounds of selectable area, selection class and selection priority.")]
|
||||
public class SelectableInfo : ITraitInfo
|
||||
{
|
||||
public readonly bool Selectable = true;
|
||||
public readonly int Priority = 10;
|
||||
|
||||
[Desc("Bounds for the selectable area.")]
|
||||
public readonly int[] Bounds = null;
|
||||
|
||||
[Desc("All units having the same selection class specified will be selected with select-by-type commands (e.g. double-click). "
|
||||
@@ -28,46 +25,13 @@ namespace OpenRA.Traits
|
||||
public object Create(ActorInitializer init) { return new Selectable(init.Self, this); }
|
||||
}
|
||||
|
||||
public class Selectable : IPostRenderSelection
|
||||
public class Selectable
|
||||
{
|
||||
public readonly string Class = null;
|
||||
|
||||
public SelectableInfo Info;
|
||||
readonly Actor self;
|
||||
|
||||
public Selectable(Actor self, SelectableInfo info)
|
||||
{
|
||||
this.self = self;
|
||||
Info = info;
|
||||
Class = string.IsNullOrEmpty(info.Class) ? self.Info.Name : info.Class;
|
||||
}
|
||||
|
||||
IEnumerable<WPos> ActivityTargetPath()
|
||||
{
|
||||
if (!self.IsInWorld || self.IsDead)
|
||||
yield break;
|
||||
|
||||
var activity = self.GetCurrentActivity();
|
||||
if (activity != null)
|
||||
{
|
||||
var targets = activity.GetTargets(self);
|
||||
yield return self.CenterPosition;
|
||||
|
||||
foreach (var t in targets.Where(t => t.Type != TargetType.Invalid))
|
||||
yield return t.CenterPosition;
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr)
|
||||
{
|
||||
if (!Info.Selectable)
|
||||
yield break;
|
||||
|
||||
yield return new SelectionBoxRenderable(self, Color.White);
|
||||
yield return new SelectionBarsRenderable(self);
|
||||
|
||||
if (self.World.LocalPlayer != null && self.World.LocalPlayer.PlayerActor.Trait<DeveloperMode>().PathDebug)
|
||||
yield return new TargetLineRenderable(ActivityTargetPath(), Color.Green);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,6 +110,11 @@ namespace OpenRA.Traits
|
||||
|
||||
public interface ISeedableResource { void Seed(Actor self); }
|
||||
|
||||
public interface ISelectionDecorationsInfo
|
||||
{
|
||||
int[] SelectionBoxBounds { get; }
|
||||
}
|
||||
|
||||
public interface IVoiced
|
||||
{
|
||||
string VoiceSet { get; }
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace OpenRA.Widgets
|
||||
{
|
||||
if (!hasBox && World.Selection.Actors.Any() && !multiClick)
|
||||
{
|
||||
if (!(World.ScreenMap.ActorsAt(xy).Where(x => x.HasTrait<Selectable>() && x.Trait<Selectable>().Info.Selectable &&
|
||||
if (!(World.ScreenMap.ActorsAt(xy).Where(x => x.HasTrait<Selectable>() &&
|
||||
(x.Owner.IsAlliedWith(World.RenderPlayer) || !World.FogObscures(x))).Any() && !mi.Modifiers.HasModifier(Modifiers.Ctrl) &&
|
||||
!mi.Modifiers.HasModifier(Modifiers.Alt) && UnitOrderGenerator.InputOverridesSelection(World, xy, mi)))
|
||||
{
|
||||
@@ -292,7 +292,7 @@ namespace OpenRA.Widgets
|
||||
var s = a.TraitOrDefault<Selectable>();
|
||||
|
||||
// sc == null means that units, that meet all other criteria, get selected
|
||||
return s != null && s.Info.Selectable && (selectionClasses == null || selectionClasses.Contains(s.Class));
|
||||
return s != null && (selectionClasses == null || selectionClasses.Contains(s.Class));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -303,11 +303,7 @@ namespace OpenRA.Widgets
|
||||
a = b;
|
||||
|
||||
return world.ScreenMap.ActorsInBox(a, b)
|
||||
.Where(x =>
|
||||
{
|
||||
var s = x.TraitOrDefault<Selectable>();
|
||||
return s != null && s.Info.Selectable && (x.Owner.IsAlliedWith(world.RenderPlayer) || !world.FogObscures(x));
|
||||
})
|
||||
.Where(x => x.HasTrait<Selectable>() && (x.Owner.IsAlliedWith(world.RenderPlayer) || !world.FogObscures(x)))
|
||||
.GroupBy(x => x.GetSelectionPriority())
|
||||
.OrderByDescending(g => g.Key)
|
||||
.Select(g => g.AsEnumerable())
|
||||
|
||||
@@ -12,22 +12,22 @@ using System.Drawing;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Graphics
|
||||
namespace OpenRA.Mods.Common.Graphics
|
||||
{
|
||||
public struct SelectionBoxRenderable : IRenderable, IFinalizedRenderable
|
||||
{
|
||||
readonly WPos pos;
|
||||
readonly float scale;
|
||||
readonly Rectangle bounds;
|
||||
readonly Rectangle visualBounds;
|
||||
readonly Color color;
|
||||
|
||||
public SelectionBoxRenderable(Actor actor, Color color)
|
||||
: this(actor.CenterPosition, actor.Bounds, 1f, color) { }
|
||||
: this(actor.CenterPosition, actor.VisualBounds, 1f, color) { }
|
||||
|
||||
public SelectionBoxRenderable(WPos pos, Rectangle bounds, float scale, Color color)
|
||||
public SelectionBoxRenderable(WPos pos, Rectangle visualBounds, float scale, Color color)
|
||||
{
|
||||
this.pos = pos;
|
||||
this.bounds = bounds;
|
||||
this.visualBounds = visualBounds;
|
||||
this.scale = scale;
|
||||
this.color = color;
|
||||
}
|
||||
@@ -40,15 +40,15 @@ namespace OpenRA.Graphics
|
||||
|
||||
public IRenderable WithPalette(PaletteReference newPalette) { return this; }
|
||||
public IRenderable WithZOffset(int newOffset) { return this; }
|
||||
public IRenderable OffsetBy(WVec vec) { return new SelectionBoxRenderable(pos + vec, bounds, scale, color); }
|
||||
public IRenderable OffsetBy(WVec vec) { return new SelectionBoxRenderable(pos + vec, visualBounds, scale, color); }
|
||||
public IRenderable AsDecoration() { return this; }
|
||||
|
||||
public IFinalizedRenderable PrepareRender(WorldRenderer wr) { return this; }
|
||||
public void Render(WorldRenderer wr)
|
||||
{
|
||||
var screenPos = wr.ScreenPxPosition(pos);
|
||||
var tl = screenPos + scale * new float2(bounds.Left, bounds.Top);
|
||||
var br = screenPos + scale * new float2(bounds.Right, bounds.Bottom);
|
||||
var tl = screenPos + scale * new float2(visualBounds.Left, visualBounds.Top);
|
||||
var br = screenPos + scale * new float2(visualBounds.Right, visualBounds.Bottom);
|
||||
var tr = new float2(br.X, tl.Y);
|
||||
var bl = new float2(tl.X, br.Y);
|
||||
var u = new float2(4f / wr.Viewport.Zoom, 0);
|
||||
@@ -171,6 +171,7 @@
|
||||
<Compile Include="Graphics\BeamRenderable.cs" />
|
||||
<Compile Include="Graphics\ContrailRenderable.cs" />
|
||||
<Compile Include="Graphics\RangeCircleRenderable.cs" />
|
||||
<Compile Include="Graphics\SelectionBoxRenderable.cs" />
|
||||
<Compile Include="Graphics\SpriteActorPreview.cs" />
|
||||
<Compile Include="Graphics\TextRenderable.cs" />
|
||||
<Compile Include="Graphics\VoxelActorPreview.cs" />
|
||||
@@ -309,6 +310,7 @@
|
||||
<Compile Include="Traits\Crushable.cs" />
|
||||
<Compile Include="Traits\CustomBuildTimeValue.cs" />
|
||||
<Compile Include="Traits\CustomSellValue.cs" />
|
||||
<Compile Include="Traits\CustomSelectionSize.cs" />
|
||||
<Compile Include="Traits\Demolishable.cs" />
|
||||
<Compile Include="Traits\DetectCloaked.cs" />
|
||||
<Compile Include="Traits\EjectOnDeath.cs" />
|
||||
@@ -438,6 +440,7 @@
|
||||
<Compile Include="Traits\RepairsBridges.cs" />
|
||||
<Compile Include="Traits\SeedsResource.cs" />
|
||||
<Compile Include="Traits\StoresResources.cs" />
|
||||
<Compile Include="Traits\Render\SelectionDecorations.cs" />
|
||||
<Compile Include="Traits\SelfHealing.cs" />
|
||||
<Compile Include="Traits\Sellable.cs" />
|
||||
<Compile Include="Traits\ShakeOnDeath.cs" />
|
||||
|
||||
36
OpenRA.Mods.Common/Traits/CustomSelectionSize.cs
Normal file
36
OpenRA.Mods.Common/Traits/CustomSelectionSize.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
#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;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
[Desc("Special case trait for unselectable actors that need to define targetable area bounds",
|
||||
"for special cases like C4, engineer repair and tooltips.",
|
||||
"Examples: bridge huts and crates.")]
|
||||
public class CustomSelectionSizeInfo : ITraitInfo
|
||||
{
|
||||
public readonly int[] CustomBounds = null;
|
||||
|
||||
public object Create(ActorInitializer init) { return new CustomSelectionSize(this); }
|
||||
}
|
||||
|
||||
public class CustomSelectionSize : IAutoSelectionSize
|
||||
{
|
||||
readonly CustomSelectionSizeInfo info;
|
||||
public CustomSelectionSize(CustomSelectionSizeInfo info) { this.info = info; }
|
||||
|
||||
public int2 SelectionSize(Actor self)
|
||||
{
|
||||
return new int2(info.CustomBounds[0], info.CustomBounds[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,16 +9,33 @@
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common.Graphics;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public class SelectionDecorationsInfo : ITraitInfo
|
||||
public class SelectionDecorationsInfo : ITraitInfo, ISelectionDecorationsInfo
|
||||
{
|
||||
public readonly string Palette = "chrome";
|
||||
|
||||
[Desc("Visual bounds for selection box. If null, it uses AutoSelectionSize.",
|
||||
"The first two values define the bounds' size, the optional third and fourth",
|
||||
"values specify the position relative to the actors' center. Defaults to selectable bounds.")]
|
||||
public readonly int[] VisualBounds = null;
|
||||
|
||||
[Desc("Health bar, production progress bar etc.")]
|
||||
public readonly bool RenderSelectionBars = true;
|
||||
|
||||
public readonly bool RenderSelectionBox = true;
|
||||
|
||||
public readonly Color SelectionBoxColor = Color.White;
|
||||
|
||||
public object Create(ActorInitializer init) { return new SelectionDecorations(init.Self, this); }
|
||||
|
||||
public int[] SelectionBoxBounds { get { return VisualBounds; } }
|
||||
}
|
||||
|
||||
public class SelectionDecorations : IPostRenderSelection
|
||||
@@ -27,7 +44,7 @@ namespace OpenRA.Traits
|
||||
static readonly string[] PipStrings = { "pip-empty", "pip-green", "pip-yellow", "pip-red", "pip-gray", "pip-blue", "pip-ammo", "pip-ammoempty" };
|
||||
static readonly string[] TagStrings = { "", "tag-fake", "tag-primary" };
|
||||
|
||||
public SelectionDecorationsInfo Info;
|
||||
public readonly SelectionDecorationsInfo Info;
|
||||
readonly Actor self;
|
||||
|
||||
public SelectionDecorations(Actor self, SelectionDecorationsInfo info)
|
||||
@@ -36,12 +53,37 @@ namespace OpenRA.Traits
|
||||
Info = info;
|
||||
}
|
||||
|
||||
IEnumerable<WPos> ActivityTargetPath()
|
||||
{
|
||||
if (!self.IsInWorld || self.IsDead)
|
||||
yield break;
|
||||
|
||||
var activity = self.GetCurrentActivity();
|
||||
if (activity != null)
|
||||
{
|
||||
var targets = activity.GetTargets(self);
|
||||
yield return self.CenterPosition;
|
||||
|
||||
foreach (var t in targets.Where(t => t.Type != TargetType.Invalid))
|
||||
yield return t.CenterPosition;
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr)
|
||||
{
|
||||
if (!self.Owner.IsAlliedWith(self.World.RenderPlayer) || self.World.FogObscures(self))
|
||||
yield break;
|
||||
|
||||
var b = self.Bounds;
|
||||
if (Info.RenderSelectionBox)
|
||||
yield return new SelectionBoxRenderable(self, Info.SelectionBoxColor);
|
||||
|
||||
if (Info.RenderSelectionBars)
|
||||
yield return new SelectionBarsRenderable(self);
|
||||
|
||||
if (self.World.LocalPlayer != null && self.World.LocalPlayer.PlayerActor.Trait<DeveloperMode>().PathDebug)
|
||||
yield return new TargetLineRenderable(ActivityTargetPath(), Color.Green);
|
||||
|
||||
var b = self.VisualBounds;
|
||||
var pos = wr.ScreenPxPosition(self.CenterPosition);
|
||||
var tl = wr.Viewport.WorldToViewPx(pos + new int2(b.Left, b.Top));
|
||||
var bl = wr.Viewport.WorldToViewPx(pos + new int2(b.Left, b.Bottom));
|
||||
@@ -85,7 +127,7 @@ namespace OpenRA.Traits
|
||||
var pipxyBase = basePosition + new int2(1 - pipSize.X / 2, -(3 + pipSize.Y / 2));
|
||||
var pipxyOffset = new int2(0, 0);
|
||||
var pal = wr.Palette(Info.Palette);
|
||||
var width = self.Bounds.Width;
|
||||
var width = self.VisualBounds.Width;
|
||||
|
||||
foreach (var pips in pipSources)
|
||||
{
|
||||
@@ -12,6 +12,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common.Graphics;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
@@ -1152,6 +1152,29 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
}
|
||||
}
|
||||
|
||||
// 'Selectable' boolean was removed from selectable trait.
|
||||
if (engineVersion < 20150619)
|
||||
{
|
||||
if (depth == 1 && node.Value.Nodes.Exists(n => n.Key == "Selectable"))
|
||||
{
|
||||
var selectable = node.Value.Nodes.FirstOrDefault(n => n.Key == "Selectable");
|
||||
if (node.Key == "Selectable" && selectable.Value.Value == "false")
|
||||
node.Key = "SelectableRemoveMe";
|
||||
|
||||
// To cover rare cases where the boolean was 'true'
|
||||
if (node.Key == "Selectable" && selectable.Value.Value == "true")
|
||||
node.Value.Nodes.Remove(selectable);
|
||||
}
|
||||
|
||||
if (depth == 0 && node.Value.Nodes.Exists(n => n.Key == "SelectableRemoveMe"))
|
||||
node.Value.Nodes.RemoveAll(n => n.Key == "SelectableRemoveMe");
|
||||
Console.WriteLine("The 'Selectable' boolean has been removed from the Selectable trait.");
|
||||
Console.WriteLine("If you just want to disable an inherited Selectable trait, use -Selectable instead.");
|
||||
Console.WriteLine("For special cases like bridge huts, which need bounds to be targetable by C4 and engineers,");
|
||||
Console.WriteLine("give them the CustomSelectionSize trait with CustomBounds.");
|
||||
Console.WriteLine("See RA and C&C bridge huts or crates for reference.");
|
||||
}
|
||||
|
||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common.Graphics;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Mods.RA.Activities;
|
||||
|
||||
|
||||
@@ -545,8 +545,7 @@ Rules:
|
||||
ShowOwnerRow: false
|
||||
TRAN:
|
||||
RejectsOrders:
|
||||
Selectable:
|
||||
Selectable: false
|
||||
-Selectable:
|
||||
RevealsShroud:
|
||||
Range: 5c0
|
||||
|
||||
|
||||
@@ -9,8 +9,6 @@ TRAN:
|
||||
BuildPaletteOrder: 10
|
||||
Prerequisites: hpad
|
||||
Queue: Aircraft.GDI, Aircraft.Nod
|
||||
Selectable:
|
||||
Bounds: 41,41
|
||||
Helicopter:
|
||||
LandWhenIdle: true
|
||||
ROT: 5
|
||||
@@ -42,6 +40,8 @@ TRAN:
|
||||
EmptyWeapon: HeliExplode
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 41,41
|
||||
|
||||
HELI:
|
||||
Inherits: ^Helicopter
|
||||
@@ -54,8 +54,6 @@ HELI:
|
||||
BuildPaletteOrder: 20
|
||||
Prerequisites: hpad, anyhq, ~techlevel.medium
|
||||
Queue: Aircraft.Nod
|
||||
Selectable:
|
||||
Bounds: 30,24
|
||||
Helicopter:
|
||||
RearmBuildings: hpad
|
||||
ROT: 4
|
||||
@@ -95,6 +93,8 @@ HELI:
|
||||
EmptyWeapon: HeliExplode
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,24
|
||||
|
||||
ORCA:
|
||||
Inherits: ^Helicopter
|
||||
@@ -107,8 +107,6 @@ ORCA:
|
||||
BuildPaletteOrder: 20
|
||||
Prerequisites: hpad, anyhq, ~techlevel.medium
|
||||
Queue: Aircraft.GDI
|
||||
Selectable:
|
||||
Bounds: 30,24
|
||||
Helicopter:
|
||||
RearmBuildings: hpad
|
||||
ROT: 4
|
||||
@@ -144,6 +142,8 @@ ORCA:
|
||||
AutoSelectionSize:
|
||||
WithMoveAnimation:
|
||||
MoveSequence: move
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,24
|
||||
|
||||
C17:
|
||||
ParaDrop:
|
||||
|
||||
@@ -370,10 +370,8 @@ BRIDGEHUT:
|
||||
Building:
|
||||
Footprint: __ __
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 48,48
|
||||
Priority: 2
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 48,48
|
||||
BridgeHut:
|
||||
TargetableBuilding:
|
||||
TargetTypes: BridgeHut, C4
|
||||
@@ -438,7 +436,10 @@ VICE:
|
||||
Tiberium: 100
|
||||
BlueTiberium: 100
|
||||
Beach: 60
|
||||
SelectionDecorations:
|
||||
VisualBounds: 24,24
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground
|
||||
AutoTarget:
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
ROT: 5
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, Vehicle
|
||||
Repairable:
|
||||
@@ -81,6 +82,7 @@
|
||||
ROT: 5
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, Vehicle
|
||||
Repairable:
|
||||
@@ -125,6 +127,7 @@
|
||||
GroundedTargetTypes: Ground
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
Helicopter:
|
||||
RepairBuildings: hpad
|
||||
RearmBuildings:
|
||||
@@ -248,7 +251,6 @@
|
||||
-AutoTarget:
|
||||
-TakeCover:
|
||||
AppearsOnRadar:
|
||||
SelectionDecorations:
|
||||
Valued:
|
||||
Cost: 70
|
||||
Tooltip:
|
||||
@@ -298,7 +300,9 @@
|
||||
Tiberium: 70
|
||||
BlueTiberium: 70
|
||||
Beach: 80
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, Infantry
|
||||
HiddenUnderFog:
|
||||
@@ -329,6 +333,7 @@
|
||||
UseLocation: yes
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
TargetTypes: Air
|
||||
HiddenUnderFog:
|
||||
@@ -661,7 +666,6 @@
|
||||
Image: crate
|
||||
WithCrateBody:
|
||||
XmasImages: xcratea, xcrateb, xcratec, xcrated
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 15,15,-1,-1
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 16,16
|
||||
|
||||
|
||||
@@ -225,8 +225,6 @@ STEG:
|
||||
WithDeathAnimation:
|
||||
DeathSequencePalette: terrain
|
||||
DeathPaletteIsPlayerPalette: false
|
||||
Selectable:
|
||||
Bounds: 24,20,0,4
|
||||
|
||||
TREX:
|
||||
Inherits: ^DINO
|
||||
@@ -236,7 +234,9 @@ TREX:
|
||||
Armament:
|
||||
Weapon: teeth
|
||||
Selectable:
|
||||
Bounds: 52,38
|
||||
Bounds: 48,36,2,1
|
||||
SelectionDecorations:
|
||||
VisualBounds: 52,38
|
||||
|
||||
TRIC:
|
||||
Inherits: ^DINO
|
||||
@@ -245,8 +245,8 @@ TRIC:
|
||||
Description: Quadruped with large bony frill and three horns
|
||||
Armament:
|
||||
Weapon: horn
|
||||
Selectable:
|
||||
Bounds: 34,24,0,2
|
||||
SelectionDecorations:
|
||||
VisualBounds: 34,24,0,2
|
||||
|
||||
RAPT:
|
||||
Inherits: ^DINO
|
||||
@@ -255,6 +255,4 @@ RAPT:
|
||||
Description: Bipedal with enlarged sickle-shaped claw on each hindfoot
|
||||
Armament:
|
||||
Weapon: claw
|
||||
Selectable:
|
||||
Bounds: 20,20
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ BOAT:
|
||||
AllowMovement: false
|
||||
WithSmoke:
|
||||
RejectsOrders:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 42,24
|
||||
|
||||
LST:
|
||||
Inherits: ^Ship
|
||||
|
||||
@@ -108,7 +108,7 @@ NUKE:
|
||||
Prerequisites: fact
|
||||
Queue: Building.GDI, Building.Nod
|
||||
Building:
|
||||
Footprint: x_ xx
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Health:
|
||||
HP: 500
|
||||
@@ -133,7 +133,7 @@ NUK2:
|
||||
Prerequisites: anyhq, ~techlevel.medium
|
||||
Queue: Building.GDI, Building.Nod
|
||||
Building:
|
||||
Footprint: x_ xx
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Health:
|
||||
HP: 700
|
||||
@@ -167,7 +167,7 @@ PROC:
|
||||
DockAngle: 112
|
||||
DockOffset: 0,2
|
||||
IsDragRequired: True
|
||||
DragOffset: -640,341,0
|
||||
DragOffset: -554,512,0
|
||||
DragLength: 12
|
||||
TickRate: 15
|
||||
StoresResources:
|
||||
@@ -175,7 +175,7 @@ PROC:
|
||||
PipCount: 10
|
||||
Capacity: 2000
|
||||
Selectable:
|
||||
Bounds: 73,72
|
||||
Bounds: 72,56,0,12
|
||||
CustomSellValue:
|
||||
Value: 500
|
||||
FreeActor:
|
||||
@@ -187,6 +187,8 @@ PROC:
|
||||
Power:
|
||||
Amount: -50
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 73,72
|
||||
|
||||
SILO:
|
||||
Inherits: ^BaseBuilding
|
||||
@@ -214,14 +216,14 @@ SILO:
|
||||
PipCount: 10
|
||||
PipColor: Green
|
||||
Capacity: 2000
|
||||
Selectable:
|
||||
Bounds: 49,30
|
||||
-RenderBuilding:
|
||||
-EmitInfantryOnSell:
|
||||
Power:
|
||||
Amount: -10
|
||||
MustBeDestroyed:
|
||||
RequiredForShortGame: false
|
||||
SelectionDecorations:
|
||||
VisualBounds: 49,30
|
||||
|
||||
PYLE:
|
||||
Inherits: ^BaseBuilding
|
||||
@@ -301,6 +303,8 @@ HAND:
|
||||
Power:
|
||||
Amount: -20
|
||||
ProvidesPrerequisite@buildingname:
|
||||
Selectable:
|
||||
Bounds: 48,48,0,10
|
||||
|
||||
AFLD:
|
||||
Inherits: ^BaseBuilding
|
||||
@@ -361,6 +365,8 @@ WEAP:
|
||||
Building:
|
||||
Footprint: ___ xxx ===
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 72,48,0,12
|
||||
Health:
|
||||
HP: 1000
|
||||
RevealsShroud:
|
||||
@@ -449,6 +455,8 @@ HQ:
|
||||
Building:
|
||||
Footprint: x_ xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 48,36,0,12
|
||||
RequiresPower:
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
@@ -499,6 +507,10 @@ FIX:
|
||||
Building:
|
||||
Footprint: _x_ xxx _x_
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 64,34,0,3
|
||||
SelectionDecorations:
|
||||
VisualBounds: 72,48
|
||||
Health:
|
||||
HP: 400
|
||||
RevealsShroud:
|
||||
@@ -529,6 +541,8 @@ EYE:
|
||||
Building:
|
||||
Footprint: x_ xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 48,36,0,12
|
||||
RequiresPower:
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
@@ -578,6 +592,8 @@ TMPL:
|
||||
Building:
|
||||
Footprint: ___ xxx xxx
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 72,48,0,16
|
||||
RequiresPower:
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
@@ -713,6 +729,8 @@ OBLI:
|
||||
Building:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
Selectable:
|
||||
Bounds: 24,24,0,12
|
||||
RequiresPower:
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
@@ -802,6 +820,8 @@ ATWR:
|
||||
Building:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
Selectable:
|
||||
Bounds: 24,24,0,12
|
||||
RequiresPower:
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
|
||||
@@ -39,6 +39,8 @@ MCV:
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 36,36
|
||||
|
||||
HARV:
|
||||
Inherits: ^Tank
|
||||
@@ -55,7 +57,6 @@ HARV:
|
||||
InitialActivity: FindResources
|
||||
Selectable:
|
||||
Priority: 7
|
||||
Bounds: 36,36
|
||||
Harvester:
|
||||
Resources: Tiberium, BlueTiberium
|
||||
PipCount: 7
|
||||
@@ -78,6 +79,8 @@ HARV:
|
||||
RenderHarvester:
|
||||
Explodes:
|
||||
Weapon: TiberiumExplosion
|
||||
SelectionDecorations:
|
||||
VisualBounds: 36,36
|
||||
|
||||
APC:
|
||||
Inherits: ^Tank
|
||||
@@ -391,10 +394,10 @@ MTNK:
|
||||
Explodes:
|
||||
Weapon: UnitExplodeSmall
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
Selectable:
|
||||
Bounds: 28,28
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 28,28
|
||||
|
||||
HTNK:
|
||||
Inherits: ^Tank
|
||||
@@ -446,10 +449,10 @@ HTNK:
|
||||
Explodes:
|
||||
Weapon: UnitExplodeSmall
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
Selectable:
|
||||
Bounds: 34,34,0,-3
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 34,34,0,-3
|
||||
|
||||
MSAM:
|
||||
Inherits: ^Tank
|
||||
|
||||
@@ -49,23 +49,27 @@ proc:
|
||||
idle:
|
||||
Length: 6
|
||||
Tick: 120
|
||||
Offset: 2,4
|
||||
damaged-idle:
|
||||
Start: 30
|
||||
Length: 6
|
||||
Tick: 120
|
||||
Offset: 2,4
|
||||
dead:
|
||||
Start: 60
|
||||
Tick: 800
|
||||
Offset: 2,4
|
||||
make: procmake
|
||||
Length: *
|
||||
Tick: 80
|
||||
Offset: 2,4
|
||||
resources: proctwr
|
||||
Length: 6
|
||||
Offset: -32,-21
|
||||
Offset: -30,-17
|
||||
damaged-resources: proctwr
|
||||
Start: 6
|
||||
Length: 6
|
||||
Offset: -32,-21
|
||||
Offset: -30,-17
|
||||
bib: bib2
|
||||
UseTilesetExtension: true
|
||||
Length: *
|
||||
|
||||
@@ -145,12 +145,12 @@ orni:
|
||||
RearmBuildings:
|
||||
WithFacingSpriteBody:
|
||||
WithShadow:
|
||||
Selectable:
|
||||
Bounds: 38,32,0,0
|
||||
LeavesHusk:
|
||||
HuskActor: orni.husk
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 38,32,0,0
|
||||
|
||||
orni.bomber:
|
||||
AttackBomber:
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
ROT: 5
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 32,32
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, C4
|
||||
Passenger:
|
||||
@@ -90,6 +91,7 @@
|
||||
ROT: 5
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 32,32
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, C4
|
||||
Passenger:
|
||||
@@ -271,6 +273,7 @@
|
||||
UseLocation: yes
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 32,32
|
||||
TargetableAircraft:
|
||||
TargetTypes: Air
|
||||
GroundedTargetTypes: Ground
|
||||
|
||||
@@ -109,10 +109,9 @@ crate:
|
||||
RenderSprites:
|
||||
Palette: effect
|
||||
WithCrateBody:
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 15,15,-1,-1
|
||||
Passenger:
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 16,16
|
||||
|
||||
mpspawn:
|
||||
Immobile:
|
||||
|
||||
@@ -76,6 +76,8 @@ conyard:
|
||||
WithBuildingPlacedOverlay:
|
||||
Palette: d2k
|
||||
PrimaryBuilding:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,64
|
||||
|
||||
power:
|
||||
Inherits: ^Building
|
||||
@@ -110,6 +112,8 @@ power:
|
||||
Amount: 100
|
||||
ScalePowerWithHealth:
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 64,64
|
||||
|
||||
barracks:
|
||||
Inherits: ^Building
|
||||
@@ -125,7 +129,7 @@ barracks:
|
||||
Name: Barracks
|
||||
Description: Trains infantry
|
||||
Building:
|
||||
Footprint: =x xx
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Bib:
|
||||
Health:
|
||||
@@ -166,6 +170,8 @@ barracks:
|
||||
atreides: barracks.atreides
|
||||
ordos: barracks.ordos
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 64,64
|
||||
|
||||
refinery:
|
||||
Inherits: ^Building
|
||||
@@ -219,6 +225,8 @@ refinery:
|
||||
WithIdleOverlay@TOP:
|
||||
Sequence: idle-top
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,64
|
||||
|
||||
silo:
|
||||
Inherits: ^Building
|
||||
@@ -257,6 +265,8 @@ silo:
|
||||
Amount: -5
|
||||
MustBeDestroyed:
|
||||
RequiredForShortGame: false
|
||||
SelectionDecorations:
|
||||
VisualBounds: 32,32
|
||||
|
||||
light:
|
||||
Inherits: ^Building
|
||||
@@ -314,6 +324,8 @@ light:
|
||||
Sequence: idle-top
|
||||
Power:
|
||||
Amount: -20
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,64
|
||||
|
||||
heavy:
|
||||
Inherits: ^Building
|
||||
@@ -322,7 +334,7 @@ heavy:
|
||||
Queue: Building
|
||||
BuildPaletteOrder: 100
|
||||
Selectable:
|
||||
Bounds: 96,96
|
||||
Bounds: 96,68,0,12
|
||||
Valued:
|
||||
Cost: 2000
|
||||
Tooltip:
|
||||
@@ -372,6 +384,8 @@ heavy:
|
||||
Power:
|
||||
Amount: -30
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,96
|
||||
|
||||
radar:
|
||||
Inherits: ^Building
|
||||
@@ -414,6 +428,8 @@ radar:
|
||||
Power:
|
||||
Amount: -40
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,64
|
||||
|
||||
starport:
|
||||
Inherits: ^Building
|
||||
@@ -473,6 +489,8 @@ starport:
|
||||
Power:
|
||||
Amount: -40
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,64
|
||||
|
||||
wall:
|
||||
Buildable:
|
||||
@@ -540,7 +558,7 @@ guntower:
|
||||
Sellable:
|
||||
SellSounds: CHUNG.WAV
|
||||
Selectable:
|
||||
Bounds: 32,40,0,-8
|
||||
Bounds: 32,32
|
||||
Priority: 3
|
||||
-GivesBuildableArea:
|
||||
Health:
|
||||
@@ -576,6 +594,8 @@ guntower:
|
||||
Amount: -20
|
||||
MustBeDestroyed:
|
||||
RequiredForShortGame: false
|
||||
SelectionDecorations:
|
||||
VisualBounds: 32,40,0,-8
|
||||
|
||||
rockettower:
|
||||
Inherits: ^Building
|
||||
@@ -594,7 +614,7 @@ rockettower:
|
||||
Sellable:
|
||||
SellSounds: CHUNG.WAV
|
||||
Selectable:
|
||||
Bounds: 32,40,0,-8
|
||||
Bounds: 32,32
|
||||
Priority: 3
|
||||
-GivesBuildableArea:
|
||||
Health:
|
||||
@@ -631,6 +651,8 @@ rockettower:
|
||||
Amount: -30
|
||||
MustBeDestroyed:
|
||||
RequiredForShortGame: false
|
||||
SelectionDecorations:
|
||||
VisualBounds: 32,40,0,-8
|
||||
|
||||
repair:
|
||||
Inherits: ^Building
|
||||
@@ -652,6 +674,10 @@ repair:
|
||||
Type: Concrete
|
||||
RevealsShroud:
|
||||
Range: 5c0
|
||||
Selectable:
|
||||
Bounds: 96,64
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,80
|
||||
Reservable:
|
||||
RepairsUnits:
|
||||
Interval: 15
|
||||
@@ -677,7 +703,7 @@ hightech:
|
||||
Queue: Building
|
||||
BuildPaletteOrder: 110
|
||||
Selectable:
|
||||
Bounds: 96,96
|
||||
Bounds: 96,68,0,12
|
||||
Valued:
|
||||
Cost: 750
|
||||
Tooltip:
|
||||
@@ -722,6 +748,8 @@ hightech:
|
||||
Sequence: production-welding
|
||||
Power:
|
||||
Amount: -40
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,96
|
||||
|
||||
research:
|
||||
Inherits: ^Building
|
||||
@@ -730,7 +758,7 @@ research:
|
||||
Prerequisites: radar, heavy, upgrade.heavy, ~techlevel.high
|
||||
BuildPaletteOrder: 140
|
||||
Selectable:
|
||||
Bounds: 96,64
|
||||
Bounds: 96,64,0,16
|
||||
Valued:
|
||||
Cost: 1500
|
||||
Tooltip:
|
||||
@@ -767,6 +795,8 @@ research:
|
||||
Power:
|
||||
Amount: -40
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,80
|
||||
|
||||
palace:
|
||||
Inherits: ^Building
|
||||
@@ -828,6 +858,8 @@ palace:
|
||||
RequiresPower:
|
||||
SupportPowerChargeBar:
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96,96
|
||||
|
||||
conyard.atreides:
|
||||
Inherits: conyard
|
||||
|
||||
@@ -38,6 +38,8 @@ mcv:
|
||||
HuskActor: mcv.husk
|
||||
AttractsWorms:
|
||||
Intensity: 700
|
||||
SelectionDecorations:
|
||||
VisualBounds: 42,42
|
||||
|
||||
harvester:
|
||||
Inherits: ^Vehicle
|
||||
@@ -85,6 +87,8 @@ harvester:
|
||||
Palette: effect50alpha
|
||||
AttractsWorms:
|
||||
Intensity: 700
|
||||
SelectionDecorations:
|
||||
VisualBounds: 42,42
|
||||
|
||||
trike:
|
||||
Inherits: ^Vehicle
|
||||
@@ -99,7 +103,6 @@ trike:
|
||||
Description: Fast Scout\n Strong vs Infantry\n Weak vs Tanks, Aircraft
|
||||
Selectable:
|
||||
Class: trike
|
||||
Bounds: 24,24
|
||||
Health:
|
||||
HP: 100
|
||||
Armor:
|
||||
@@ -155,7 +158,6 @@ quad:
|
||||
EmptyWeapon: UnitExplodeTiny
|
||||
Selectable:
|
||||
Class: quad
|
||||
Bounds: 24,24
|
||||
AttractsWorms:
|
||||
Intensity: 470
|
||||
|
||||
@@ -200,7 +202,6 @@ siegetank:
|
||||
InitialStance: Defend
|
||||
Selectable:
|
||||
Class: siegetank
|
||||
Bounds: 30,30
|
||||
LeavesHusk:
|
||||
HuskActor: siegetank.husk
|
||||
AttractsWorms:
|
||||
@@ -241,7 +242,6 @@ missiletank:
|
||||
EmptyWeapon: UnitExplodeScale
|
||||
Selectable:
|
||||
Class: missiletank
|
||||
Bounds: 30,30
|
||||
LeavesHusk:
|
||||
HuskActor: missiletank.husk
|
||||
AttractsWorms:
|
||||
@@ -258,8 +258,6 @@ sonictank:
|
||||
Tooltip:
|
||||
Name: Sonic Tank
|
||||
Description: Fires sonic shocks\n Strong vs Infantry, Vehicles\n Weak vs Artillery, Aircraft
|
||||
Selectable:
|
||||
Bounds: 30,30
|
||||
Health:
|
||||
HP: 130
|
||||
Armor:
|
||||
@@ -315,14 +313,14 @@ devast:
|
||||
Explodes:
|
||||
Weapon: UnitExplodeScale
|
||||
EmptyWeapon: UnitExplodeScale
|
||||
Selectable:
|
||||
Bounds: 44,38,0,0
|
||||
LeavesHusk:
|
||||
HuskActor: devast.husk
|
||||
AttractsWorms:
|
||||
Intensity: 700
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 44,38,0,0
|
||||
|
||||
raider:
|
||||
Inherits: ^Vehicle
|
||||
@@ -335,8 +333,6 @@ raider:
|
||||
Tooltip:
|
||||
Name: Raider Trike
|
||||
Description: Improved Scout\n Strong vs Infantry, Light Vehicles
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
Health:
|
||||
HP: 110
|
||||
Armor:
|
||||
@@ -408,8 +404,6 @@ deviatortank:
|
||||
Explodes:
|
||||
Weapon: UnitExplodeSmall
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
Selectable:
|
||||
Bounds: 30,30
|
||||
LeavesHusk:
|
||||
HuskActor: deviatortank.husk
|
||||
AttractsWorms:
|
||||
@@ -456,7 +450,6 @@ deviatortank:
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
Selectable:
|
||||
Class: combat
|
||||
Bounds: 30,30
|
||||
AttractsWorms:
|
||||
Intensity: 520
|
||||
AutoSelectionSize:
|
||||
|
||||
@@ -114,7 +114,9 @@ MIG:
|
||||
Ammo: 8
|
||||
ReturnOnIdle:
|
||||
Selectable:
|
||||
Bounds: 40,29,0,1
|
||||
Bounds: 36,28,0,2
|
||||
SelectionDecorations:
|
||||
VisualBounds: 40,29,0,1
|
||||
Contrail@1:
|
||||
Offset: -598,-683,0
|
||||
Contrail@2:
|
||||
@@ -173,8 +175,8 @@ YAK:
|
||||
PipCount: 6
|
||||
ReloadTicks: 11
|
||||
ReturnOnIdle:
|
||||
Selectable:
|
||||
Bounds: 30,28,0,2
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,28,0,2
|
||||
WithMuzzleFlash:
|
||||
Contrail:
|
||||
Offset: -853,0,0
|
||||
@@ -269,8 +271,8 @@ HELI:
|
||||
Offset: 0,0,85
|
||||
AmmoPool:
|
||||
Ammo: 8
|
||||
Selectable:
|
||||
Bounds: 36,28,0,0
|
||||
SelectionDecorations:
|
||||
VisualBounds: 36,28,0,0
|
||||
LeavesHusk:
|
||||
HuskActor: HELI.Husk
|
||||
SmokeTrailWhenDamaged:
|
||||
@@ -322,8 +324,8 @@ HIND:
|
||||
Ammo: 24
|
||||
PipCount: 6
|
||||
ReloadTicks: 8
|
||||
Selectable:
|
||||
Bounds: 38,32,0,0
|
||||
SelectionDecorations:
|
||||
VisualBounds: 38,32,0,0
|
||||
WithMuzzleFlash:
|
||||
LeavesHusk:
|
||||
HuskActor: HIND.Husk
|
||||
|
||||
@@ -3,7 +3,6 @@ C1:
|
||||
|
||||
C2:
|
||||
Inherits: ^CivInfantry
|
||||
Selectable:
|
||||
Voiced:
|
||||
VoiceSet: CivilianFemaleVoice
|
||||
|
||||
@@ -12,7 +11,6 @@ C3:
|
||||
|
||||
C4:
|
||||
Inherits: ^CivInfantry
|
||||
Selectable:
|
||||
WithInfantryBody:
|
||||
RenderSprites:
|
||||
Image: C2
|
||||
@@ -27,7 +25,6 @@ C5:
|
||||
|
||||
C6:
|
||||
Inherits: ^CivInfantry
|
||||
Selectable:
|
||||
WithInfantryBody:
|
||||
RenderSprites:
|
||||
Image: C2
|
||||
@@ -42,7 +39,6 @@ C7:
|
||||
|
||||
C8:
|
||||
Inherits: ^CivInfantry
|
||||
Selectable:
|
||||
WithInfantryBody:
|
||||
RenderSprites:
|
||||
Image: C2
|
||||
@@ -57,7 +53,6 @@ C9:
|
||||
|
||||
C10:
|
||||
Inherits: ^CivInfantry
|
||||
Selectable:
|
||||
WithInfantryBody:
|
||||
RenderSprites:
|
||||
Image: C2
|
||||
@@ -495,10 +490,8 @@ BRIDGEHUT:
|
||||
Building:
|
||||
Footprint: __ __
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 48,48
|
||||
Priority: 2
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 48,48
|
||||
BridgeHut:
|
||||
TargetableBuilding:
|
||||
TargetTypes: BridgeHut, C4
|
||||
@@ -507,10 +500,8 @@ BRIDGEHUT.small:
|
||||
Building:
|
||||
Footprint: _
|
||||
Dimensions: 1,1
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 24,24
|
||||
Priority: 2
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 24,24
|
||||
BridgeHut:
|
||||
TargetableBuilding:
|
||||
TargetTypes: BridgeHut, C4
|
||||
@@ -639,22 +630,26 @@ LHUS:
|
||||
EditorTilesetFilter:
|
||||
RequireTilesets: TEMPERAT
|
||||
Selectable:
|
||||
Bounds: 24,48
|
||||
Bounds: 24,24,0,16
|
||||
SelectionDecorations:
|
||||
VisualBounds: 24,48
|
||||
Tooltip:
|
||||
Name: Lighthouse
|
||||
Building:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
Footprint: x
|
||||
Dimensions: 1,1
|
||||
|
||||
WINDMILL:
|
||||
Inherits: ^CivBuilding
|
||||
EditorTilesetFilter:
|
||||
RequireTilesets: TEMPERAT
|
||||
Selectable:
|
||||
Bounds: 36,36
|
||||
Bounds: 24,24,0,8
|
||||
SelectionDecorations:
|
||||
VisualBounds: 36,36
|
||||
Tooltip:
|
||||
Name: Windmill
|
||||
Building:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
Footprint: x
|
||||
Dimensions: 1,1
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
ROT: 5
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24, 24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, Repair, Vehicle
|
||||
Repairable:
|
||||
@@ -112,6 +113,7 @@
|
||||
ROT: 5
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24, 24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, C4, Repair, Tank
|
||||
Repairable:
|
||||
@@ -180,7 +182,7 @@
|
||||
Beach: 80
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 12,18,0,-6
|
||||
Bounds: 12,18,0,-8
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, Infantry, Disguise
|
||||
TakeCover:
|
||||
@@ -257,6 +259,7 @@
|
||||
Water: 100
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableUnit:
|
||||
TargetTypes: Ground, Water, Repair
|
||||
HiddenUnderFog:
|
||||
@@ -289,6 +292,7 @@
|
||||
UseLocation: true
|
||||
SelectionDecorations:
|
||||
Selectable:
|
||||
Bounds: 24,24
|
||||
TargetableAircraft:
|
||||
TargetTypes: Air
|
||||
GroundedTargetTypes: Ground, Repair
|
||||
@@ -660,11 +664,10 @@
|
||||
Image: scrate
|
||||
WithCrateBody:
|
||||
XmasImages: xcratea, xcrateb, xcratec, xcrated
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 15,15,-1,-1
|
||||
Parachutable:
|
||||
KilledOnImpassableTerrain: false
|
||||
ParachuteSequence: parach
|
||||
Passenger:
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 16,16
|
||||
|
||||
|
||||
@@ -13,6 +13,8 @@ DOG:
|
||||
GenericName: Dog
|
||||
Selectable:
|
||||
Bounds: 12,17,-1,-4
|
||||
SelectionDecorations:
|
||||
VisualBounds: 12,17,-1,-4
|
||||
Health:
|
||||
HP: 12
|
||||
Mobile:
|
||||
@@ -561,7 +563,9 @@ Ant:
|
||||
BuildPaletteOrder: 1954
|
||||
Prerequisites: ~bio
|
||||
Selectable:
|
||||
Bounds: 30,30,0,-2
|
||||
Bounds: 24,24,0,-5
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,30,0,-2
|
||||
Health:
|
||||
HP: 750
|
||||
Radius: 469
|
||||
|
||||
@@ -217,9 +217,6 @@ FLARE:
|
||||
Tooltip:
|
||||
Name: Flare
|
||||
ShowOwnerRow: false
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 25,25
|
||||
BodyOrientation:
|
||||
|
||||
MINE:
|
||||
|
||||
@@ -35,8 +35,8 @@ SS:
|
||||
LocalOffset: 0,-171,0, 0,171,0
|
||||
FireDelay: 2
|
||||
AttackFrontal:
|
||||
Selectable:
|
||||
Bounds: 38,38
|
||||
SelectionDecorations:
|
||||
VisualBounds: 38,38
|
||||
Chronoshiftable:
|
||||
RepairableNear:
|
||||
AutoTarget:
|
||||
@@ -89,8 +89,8 @@ MSUB:
|
||||
LocalOffset: 0,-171,0, 0,171,0
|
||||
FireDelay: 2
|
||||
AttackFrontal:
|
||||
Selectable:
|
||||
Bounds: 44,44
|
||||
SelectionDecorations:
|
||||
VisualBounds: 44,44
|
||||
Chronoshiftable:
|
||||
RepairableNear:
|
||||
AutoTarget:
|
||||
@@ -145,6 +145,8 @@ DD:
|
||||
AttackTurreted:
|
||||
Selectable:
|
||||
Bounds: 38,38
|
||||
SelectionDecorations:
|
||||
VisualBounds: 38,38
|
||||
WithFacingSpriteBody:
|
||||
WithTurret:
|
||||
AutoTarget:
|
||||
@@ -208,6 +210,8 @@ CA:
|
||||
WithMuzzleFlash:
|
||||
Selectable:
|
||||
Bounds: 44,44
|
||||
SelectionDecorations:
|
||||
VisualBounds: 44,44
|
||||
WithFacingSpriteBody:
|
||||
WithTurret@PRIMARY:
|
||||
Turret: primary
|
||||
@@ -242,6 +246,8 @@ LST:
|
||||
Speed: 113
|
||||
RevealsShroud:
|
||||
Range: 6c0
|
||||
SelectionDecorations:
|
||||
VisualBounds: 36,36
|
||||
RenderLandingCraft:
|
||||
OpenTerrainTypes: Clear, Rough, Road, Ore, Gems, Beach
|
||||
Cargo:
|
||||
@@ -290,6 +296,8 @@ PT:
|
||||
WithMuzzleFlash:
|
||||
Selectable:
|
||||
Bounds: 32,32
|
||||
SelectionDecorations:
|
||||
VisualBounds: 32,32
|
||||
WithFacingSpriteBody:
|
||||
WithTurret:
|
||||
AutoTarget:
|
||||
|
||||
@@ -61,6 +61,10 @@ GAP:
|
||||
Building:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
Selectable:
|
||||
Bounds: 24,28,0,12
|
||||
SelectionDecorations:
|
||||
VisualBounds: 24,40,0,0
|
||||
RequiresPower:
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
@@ -269,7 +273,9 @@ IRON:
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
Selectable:
|
||||
Bounds: 50,50,0,-12
|
||||
Bounds: 48,28,0,2
|
||||
SelectionDecorations:
|
||||
VisualBounds: 50,50,0,-12
|
||||
Health:
|
||||
HP: 1000
|
||||
Armor:
|
||||
@@ -380,6 +386,10 @@ TSLA:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
RequiresPower:
|
||||
Selectable:
|
||||
Bounds: 24,24,0,16
|
||||
SelectionDecorations:
|
||||
VisualBounds: 24,36,0,4
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
@@ -424,6 +434,10 @@ AGUN:
|
||||
Building:
|
||||
Footprint: _ x
|
||||
Dimensions: 1,2
|
||||
Selectable:
|
||||
Bounds: 24,28,0,16
|
||||
SelectionDecorations:
|
||||
VisualBounds: 24,36,0,12
|
||||
RequiresPower:
|
||||
CanPowerDown:
|
||||
DisabledOverlay:
|
||||
@@ -929,6 +943,10 @@ PROC:
|
||||
Building:
|
||||
Footprint: _x_ xxx x==
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 72,50,0,12
|
||||
SelectionDecorations:
|
||||
VisualBounds: 72,70,0,-2
|
||||
TargetableBuilding:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
Health:
|
||||
@@ -1220,6 +1238,10 @@ APWR:
|
||||
Building:
|
||||
Footprint: ___ xxx xxx
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 72,48,0,12
|
||||
SelectionDecorations:
|
||||
VisualBounds: 72,64,0,-2
|
||||
Health:
|
||||
HP: 700
|
||||
Armor:
|
||||
@@ -1447,6 +1469,10 @@ FIX:
|
||||
Building:
|
||||
Footprint: _x_ xxx _x_
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 68,34,0,3
|
||||
SelectionDecorations:
|
||||
VisualBounds: 72,48
|
||||
Health:
|
||||
HP: 800
|
||||
Armor:
|
||||
|
||||
@@ -20,6 +20,8 @@ V2RL:
|
||||
Armament:
|
||||
Weapon: SCUD
|
||||
AttackFrontal:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 28,28
|
||||
RenderSprites:
|
||||
AutoTarget:
|
||||
Explodes:
|
||||
@@ -111,10 +113,10 @@ V2RL:
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
LeavesHusk:
|
||||
HuskActor: 2TNK.Husk
|
||||
Selectable:
|
||||
Bounds: 30,30
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 28,28
|
||||
|
||||
3TNK:
|
||||
Inherits: ^Tank
|
||||
@@ -154,10 +156,10 @@ V2RL:
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
LeavesHusk:
|
||||
HuskActor: 3TNK.Husk
|
||||
Selectable:
|
||||
Bounds: 30,30
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 28,28
|
||||
|
||||
4TNK:
|
||||
Inherits: ^Tank
|
||||
@@ -211,10 +213,10 @@ V2RL:
|
||||
Ticks: 3
|
||||
HealIfBelow: 50%
|
||||
DamageCooldown: 150
|
||||
Selectable:
|
||||
Bounds: 44,38,0,-4
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 44,38,0,-4
|
||||
|
||||
ARTY:
|
||||
Inherits: ^Tank
|
||||
@@ -265,7 +267,8 @@ HARV:
|
||||
Description: Collects Ore and Gems for processing.\n Unarmed
|
||||
Selectable:
|
||||
Priority: 7
|
||||
Bounds: 42,42
|
||||
SelectionDecorations:
|
||||
VisualBounds: 42,42
|
||||
Harvester:
|
||||
Capacity: 20
|
||||
Resources: Ore,Gems
|
||||
@@ -309,7 +312,8 @@ MCV:
|
||||
Description: Deploys into another Construction Yard.\n Unarmed
|
||||
Selectable:
|
||||
Priority: 4
|
||||
Bounds: 42,42
|
||||
SelectionDecorations:
|
||||
VisualBounds: 42,42
|
||||
Health:
|
||||
HP: 600
|
||||
Armor:
|
||||
@@ -618,8 +622,8 @@ TTNK:
|
||||
WithFacingSpriteBody:
|
||||
WithIdleOverlay@SPINNER:
|
||||
Sequence: spinner
|
||||
Selectable:
|
||||
Bounds: 28,28,0,0
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,30
|
||||
AutoTarget:
|
||||
Explodes:
|
||||
Weapon: UnitExplodeSmall
|
||||
@@ -663,10 +667,10 @@ FTRK:
|
||||
Explodes:
|
||||
Weapon: UnitExplodeSmall
|
||||
EmptyWeapon: UnitExplodeSmall
|
||||
Selectable:
|
||||
Bounds: 28,28,0,0
|
||||
AutoSelectionSize:
|
||||
RenderSprites:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 28,28
|
||||
|
||||
DTRK:
|
||||
Inherits: ^Vehicle
|
||||
@@ -712,8 +716,8 @@ CTNK:
|
||||
Tooltip:
|
||||
Name: Chrono Tank
|
||||
Description: Chrono Tank, teleports to areas within range.\n Strong vs Vehicles, Buildings\n Weak vs Infantry, Aircraft\n Special ability: Can teleport
|
||||
Selectable:
|
||||
Bounds: 28,28
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,30
|
||||
Health:
|
||||
HP: 400
|
||||
Armor:
|
||||
@@ -761,9 +765,9 @@ QTNK:
|
||||
Crushes: wall, mine, crate, infantry
|
||||
RevealsShroud:
|
||||
Range: 6c0
|
||||
Selectable:
|
||||
Bounds: 44,38,0,-4
|
||||
WithFacingSpriteBody:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 44,38,0,-4
|
||||
Explodes:
|
||||
Weapon: UnitExplodeSmall
|
||||
MadTank:
|
||||
@@ -784,8 +788,8 @@ STNK:
|
||||
Tooltip:
|
||||
Name: Phase Transport
|
||||
Description: Lightly armored infantry transport\nwhich can cloak. Can detect cloaked units.\n Strong vs Light armor\n Weak vs Infantry, Tanks, Aircraft
|
||||
Selectable:
|
||||
Bounds: 28,28
|
||||
SelectionDecorations:
|
||||
VisualBounds: 26,26
|
||||
Health:
|
||||
HP: 300
|
||||
Armor:
|
||||
|
||||
@@ -806,6 +806,8 @@ snowhut:
|
||||
Tick: 120
|
||||
|
||||
lhus:
|
||||
Defaults:
|
||||
Offset: 0,-16
|
||||
idle:
|
||||
Length: 16
|
||||
Tick: 180
|
||||
@@ -815,6 +817,8 @@ lhus:
|
||||
Length: 8
|
||||
|
||||
windmill:
|
||||
Defaults:
|
||||
Offset: 0,-16
|
||||
idle:
|
||||
Length: 8
|
||||
Tick: 80
|
||||
|
||||
@@ -95,6 +95,8 @@ ORCA:
|
||||
RenderVoxels:
|
||||
WithVoxelBody:
|
||||
Hovers:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,24
|
||||
|
||||
ORCAB:
|
||||
Inherits: ^Plane
|
||||
@@ -136,6 +138,8 @@ ORCAB:
|
||||
RenderVoxels:
|
||||
WithVoxelBody:
|
||||
Hovers:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,24
|
||||
|
||||
ORCATRAN:
|
||||
Inherits: ^Helicopter
|
||||
@@ -230,6 +234,8 @@ SCRIN:
|
||||
RenderSprites:
|
||||
RenderVoxels:
|
||||
WithVoxelBody:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,24
|
||||
|
||||
APACHE:
|
||||
Inherits: ^Helicopter
|
||||
@@ -270,3 +276,6 @@ APACHE:
|
||||
RenderVoxels:
|
||||
WithVoxelBody:
|
||||
Hovers:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30,24
|
||||
|
||||
|
||||
@@ -1302,7 +1302,7 @@ GASPOT:
|
||||
Footprint: x
|
||||
Dimensions: 1, 1
|
||||
Selectable:
|
||||
Bounds: 48, 82, 0, -25
|
||||
Bounds: 48, 30, 0, -4
|
||||
Power:
|
||||
Amount: -10
|
||||
Armor:
|
||||
@@ -1313,6 +1313,8 @@ GASPOT:
|
||||
Range: 6c0
|
||||
WithIdleOverlay@LIGHTS:
|
||||
Sequence: idle-lights
|
||||
SelectionDecorations:
|
||||
VisualBounds: 48, 82, 0, -25
|
||||
|
||||
GALITE:
|
||||
Inherits: ^Building
|
||||
@@ -1336,10 +1338,12 @@ GALITE:
|
||||
Sequence: lighting
|
||||
Palette: alpha
|
||||
Selectable:
|
||||
Bounds: 25, 35, 0, -12
|
||||
Bounds: 24, 24, 0, -4
|
||||
Buildable:
|
||||
Queue: Defense
|
||||
Prerequisites: ~disabled
|
||||
SelectionDecorations:
|
||||
VisualBounds: 25, 35, 0, -12
|
||||
|
||||
GAICBM:
|
||||
Inherits: ^Building
|
||||
@@ -1410,3 +1414,6 @@ UFO:
|
||||
Type: Heavy
|
||||
EditorTilesetFilter:
|
||||
RequireTilesets: TEMPERAT
|
||||
SelectionDecorations:
|
||||
VisualBounds: 144, 72, 0, 0
|
||||
|
||||
|
||||
@@ -136,9 +136,8 @@
|
||||
Palette: terrain
|
||||
WithCrateBody:
|
||||
Images: crate
|
||||
Selectable:
|
||||
Selectable: false
|
||||
Bounds: 25,25,-1,-1
|
||||
CustomSelectionSize:
|
||||
CustomBounds: 24,24
|
||||
|
||||
^Wall:
|
||||
AppearsOnRadar:
|
||||
@@ -279,8 +278,6 @@
|
||||
|
||||
^CivilianInfantry:
|
||||
Inherits: ^Infantry
|
||||
Selectable:
|
||||
Bounds: 12,17,0,-9
|
||||
Voiced:
|
||||
VoiceSet: Civilian
|
||||
Valued:
|
||||
|
||||
@@ -25,7 +25,7 @@ GAPOWR:
|
||||
WithIdleOverlay@PLUG:
|
||||
Sequence: idle-plug
|
||||
Selectable:
|
||||
Bounds: 90, 84, 0, -12
|
||||
Bounds: 90, 48, 0, -6
|
||||
Power:
|
||||
Amount: 100
|
||||
InfiltrateForPowerOutage:
|
||||
@@ -59,6 +59,8 @@ GAPOWR:
|
||||
UpgradeMinEnabledLevel: 1
|
||||
Amount: 50
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 90, 84, 0, -12
|
||||
|
||||
GAPILE:
|
||||
Inherits: ^Building
|
||||
@@ -77,7 +79,7 @@ GAPILE:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 88, 56, 0, -8
|
||||
Bounds: 88, 48, 0, -8
|
||||
Health:
|
||||
HP: 800
|
||||
Armor:
|
||||
@@ -102,6 +104,8 @@ GAPILE:
|
||||
Power:
|
||||
Amount: -20
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 88, 56, 0, -8
|
||||
|
||||
GAWEAP:
|
||||
Inherits: ^Building
|
||||
@@ -120,7 +124,7 @@ GAWEAP:
|
||||
Footprint: xxx= xxx= xxx=
|
||||
Dimensions: 4,3
|
||||
Selectable:
|
||||
Bounds: 154, 100, -2, -12
|
||||
Bounds: 154, 96, -2, -12
|
||||
Health:
|
||||
HP: 1000
|
||||
RevealsShroud:
|
||||
@@ -149,6 +153,8 @@ GAWEAP:
|
||||
Power:
|
||||
Amount: -30
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 154, 100, -2, -12
|
||||
|
||||
GAHPAD:
|
||||
Inherits: ^Building
|
||||
@@ -189,6 +195,8 @@ GAHPAD:
|
||||
Selectable:
|
||||
Bounds: 88, 66, 0, -5
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 88, 66, 0, -5
|
||||
|
||||
GADEPT:
|
||||
Inherits: ^Building
|
||||
@@ -205,7 +213,7 @@ GADEPT:
|
||||
Footprint: =x= xxx =x=
|
||||
Dimensions: 3,3
|
||||
Selectable:
|
||||
Bounds: 98, 68, -6, -6
|
||||
Bounds: 96, 64, -6, -6
|
||||
Health:
|
||||
HP: 1100
|
||||
RevealsShroud:
|
||||
@@ -229,6 +237,8 @@ GADEPT:
|
||||
Power:
|
||||
Amount: -30
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 98, 68, -6, -6
|
||||
|
||||
GARADR:
|
||||
Inherits: ^Building
|
||||
@@ -247,7 +257,7 @@ GARADR:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 96, 118, 0, -38
|
||||
Bounds: 96, 48, 0, -6
|
||||
Health:
|
||||
HP: 800
|
||||
Armor:
|
||||
@@ -270,6 +280,8 @@ GARADR:
|
||||
Power:
|
||||
Amount: -50
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96, 118, 0, -38
|
||||
|
||||
GATECH:
|
||||
Inherits: ^Building
|
||||
@@ -300,6 +312,8 @@ GATECH:
|
||||
Power:
|
||||
Amount: -150
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 110, 60, 3, -4
|
||||
|
||||
GAPLUG:
|
||||
Inherits: ^Building
|
||||
@@ -309,7 +323,7 @@ GAPLUG:
|
||||
Name: GDI Upgrade Center
|
||||
Description: Can be upgraded for additional technology.
|
||||
Selectable:
|
||||
Bounds: 115,104,0,-24
|
||||
Bounds: 115,72,0,-12
|
||||
Buildable:
|
||||
BuildPaletteOrder: 100
|
||||
Prerequisites: proc, gatech
|
||||
@@ -373,3 +387,6 @@ GAPLUG:
|
||||
UpgradeMinEnabledLevel: 1
|
||||
Sequence: idle-ioncannonb
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 115,104,0,-24
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ GACTWR:
|
||||
Prerequisites: gapile, ~structures.gdi
|
||||
Building:
|
||||
Selectable:
|
||||
Bounds: 48, 48, 0, -12
|
||||
Bounds: 48, 36, 0, -6
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
Health:
|
||||
@@ -128,6 +128,8 @@ GACTWR:
|
||||
tower.rocket: tower, tower.rocket
|
||||
tower.sam: tower, tower.sam
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 48, 48, 0, -12
|
||||
|
||||
GAVULC:
|
||||
Inherits: ^BuildingPlug
|
||||
|
||||
@@ -115,6 +115,8 @@ SMECH:
|
||||
MoveSequence: run
|
||||
Selectable:
|
||||
Bounds: 20, 32, 0, -8
|
||||
SelectionDecorations:
|
||||
VisualBounds: 20, 32, 0, -8
|
||||
|
||||
MMCH:
|
||||
Inherits: ^Tank
|
||||
@@ -154,6 +156,8 @@ MMCH:
|
||||
AutoTarget:
|
||||
Selectable:
|
||||
Bounds: 30, 42, 0, -8
|
||||
SelectionDecorations:
|
||||
VisualBounds: 30, 42, 0, -8
|
||||
|
||||
HMEC:
|
||||
Inherits: ^Tank
|
||||
|
||||
@@ -56,6 +56,8 @@ CYBORG:
|
||||
WithInfantryBody:
|
||||
IdleSequences: idle1,idle2
|
||||
WithPermanentInjury:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 16,31,0,-10
|
||||
|
||||
CYC2:
|
||||
Inherits: ^Infantry
|
||||
@@ -92,6 +94,8 @@ CYC2:
|
||||
WithInfantryBody:
|
||||
IdleSequences: idle1,idle2
|
||||
WithPermanentInjury:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 16,32,-1,-12
|
||||
|
||||
MHIJACK:
|
||||
Inherits: ^Infantry
|
||||
|
||||
@@ -15,7 +15,7 @@ NAPOWR:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 88, 80, 2, -12
|
||||
Bounds: 88, 48, 2, -6
|
||||
Health:
|
||||
HP: 750
|
||||
Armor:
|
||||
@@ -32,6 +32,8 @@ NAPOWR:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 88, 80, 2, -12
|
||||
|
||||
NAAPWR:
|
||||
Inherits: ^Building
|
||||
@@ -50,7 +52,7 @@ NAAPWR:
|
||||
Footprint: xxx xxx
|
||||
Dimensions: 2,3
|
||||
Selectable:
|
||||
Bounds: 100, 74, 0, -12
|
||||
Bounds: 100, 54, 0, -4
|
||||
Health:
|
||||
HP: 900
|
||||
Armor:
|
||||
@@ -67,6 +69,8 @@ NAAPWR:
|
||||
TargetTypes: Ground, C4, DetonateAttack, SpyInfiltrate
|
||||
ScalePowerWithHealth:
|
||||
DisabledOverlay:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 100, 74, 0, -12
|
||||
|
||||
NAHAND:
|
||||
Inherits: ^Building
|
||||
@@ -85,7 +89,7 @@ NAHAND:
|
||||
Footprint: xxx xxx
|
||||
Dimensions: 3,2
|
||||
Selectable:
|
||||
Bounds: 116, 78, 3, -8
|
||||
Bounds: 116, 60, 3, -6
|
||||
Health:
|
||||
HP: 800
|
||||
Armor:
|
||||
@@ -108,6 +112,8 @@ NAHAND:
|
||||
Power:
|
||||
Amount: -20
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 116, 78, 3, -8
|
||||
|
||||
NAWEAP:
|
||||
Inherits: ^Building
|
||||
@@ -126,7 +132,7 @@ NAWEAP:
|
||||
Footprint: xxx= xxx= xxx=
|
||||
Dimensions: 4,3
|
||||
Selectable:
|
||||
Bounds: 149, 116, -3, -20
|
||||
Bounds: 149, 80, -3, -10
|
||||
Health:
|
||||
HP: 1000
|
||||
RevealsShroud:
|
||||
@@ -151,6 +157,8 @@ NAWEAP:
|
||||
Power:
|
||||
Amount: -30
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 149, 116, -3, -20
|
||||
|
||||
NAHPAD:
|
||||
Inherits: ^Building
|
||||
@@ -189,8 +197,10 @@ NAHPAD:
|
||||
Power:
|
||||
Amount: -10
|
||||
Selectable:
|
||||
Bounds: 78, 54, 0, -8
|
||||
Bounds: 78, 48, 0, -6
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 78, 54, 0, -8
|
||||
|
||||
NARADR:
|
||||
Inherits: ^Building
|
||||
@@ -209,7 +219,7 @@ NARADR:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 96, 82, 0, -17
|
||||
Bounds: 96, 48, 0, -6
|
||||
Health:
|
||||
HP: 800
|
||||
Armor:
|
||||
@@ -232,6 +242,8 @@ NARADR:
|
||||
Power:
|
||||
Amount: -50
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 96, 72, 0, -12
|
||||
|
||||
NATECH:
|
||||
Inherits: ^Building
|
||||
@@ -250,7 +262,7 @@ NATECH:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 86, 58, 0, -4
|
||||
Bounds: 86, 48, 0, -4
|
||||
Health:
|
||||
HP: 500
|
||||
Armor:
|
||||
@@ -262,6 +274,8 @@ NATECH:
|
||||
Power:
|
||||
Amount: -150
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 86, 58, 0, -4
|
||||
|
||||
NASTLH:
|
||||
Inherits: ^Building
|
||||
@@ -301,4 +315,7 @@ NASTLH:
|
||||
DisableSound: cloak5.aud
|
||||
AffectsParent: true
|
||||
Selectable:
|
||||
Bounds: 106, 60, 8, -15
|
||||
Bounds: 106, 48, 8, -6
|
||||
SelectionDecorations:
|
||||
VisualBounds: 106, 60, 8, -15
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ NALASR:
|
||||
BuildPaletteOrder: 50
|
||||
Building:
|
||||
Selectable:
|
||||
Bounds: 40, 36, -8, -8
|
||||
Bounds: 40, 30, -8, -6
|
||||
RequiresPower:
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
@@ -62,6 +62,8 @@ NALASR:
|
||||
AutoTarget:
|
||||
Power:
|
||||
Amount: -40
|
||||
SelectionDecorations:
|
||||
VisualBounds: 40, 36, -8, -8
|
||||
|
||||
NAOBEL:
|
||||
Inherits: ^Building
|
||||
@@ -78,7 +80,7 @@ NAOBEL:
|
||||
Footprint: xx xx
|
||||
Dimensions: 2,2
|
||||
Selectable:
|
||||
Bounds: 88, 74, 0, -14
|
||||
Bounds: 88, 42, 0, -6
|
||||
RequiresPower:
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
@@ -108,6 +110,8 @@ NAOBEL:
|
||||
Sequence: idle-lights
|
||||
Power:
|
||||
Amount: -150
|
||||
SelectionDecorations:
|
||||
VisualBounds: 88, 72, 0, -12
|
||||
|
||||
NASAM:
|
||||
Inherits: ^Building
|
||||
@@ -122,7 +126,7 @@ NASAM:
|
||||
BuildPaletteOrder: 60
|
||||
Building:
|
||||
Selectable:
|
||||
Bounds: 40, 36, -3, -8
|
||||
Bounds: 40, 30, -3, -8
|
||||
RequiresPower:
|
||||
DisabledOverlay:
|
||||
-GivesBuildableArea:
|
||||
@@ -150,6 +154,8 @@ NASAM:
|
||||
LocalOffset: 512,0,512
|
||||
Power:
|
||||
Amount: -30
|
||||
SelectionDecorations:
|
||||
VisualBounds: 40, 36, -3, -8
|
||||
|
||||
GATICK:
|
||||
Inherits: ^Building
|
||||
@@ -300,3 +306,6 @@ NAMISL:
|
||||
DisplayRadarPing: True
|
||||
BeaconPoster:
|
||||
CameraActor: camera
|
||||
SelectionDecorations:
|
||||
VisualBounds: 75,48
|
||||
|
||||
|
||||
@@ -42,13 +42,15 @@ GACNST:
|
||||
Power:
|
||||
Amount: 0
|
||||
Selectable:
|
||||
Bounds: 144, 80, 0, -12
|
||||
Bounds: 144, 60, 0, -6
|
||||
ProvidesPrerequisite@gdi:
|
||||
Race: gdi
|
||||
Prerequisite: structures.gdi
|
||||
ProvidesPrerequisite@nod:
|
||||
Race: nod
|
||||
Prerequisite: structures.nod
|
||||
SelectionDecorations:
|
||||
VisualBounds: 144, 80, 0, -12
|
||||
|
||||
PROC:
|
||||
Inherits: ^Building
|
||||
@@ -65,7 +67,7 @@ PROC:
|
||||
Footprint: xxx= xx== xxx=
|
||||
Dimensions: 4,3
|
||||
Selectable:
|
||||
Bounds: 134, 122, 0, -18
|
||||
Bounds: 134, 96, 0, -12
|
||||
Health:
|
||||
HP: 900
|
||||
RevealsShroud:
|
||||
@@ -94,6 +96,8 @@ PROC:
|
||||
Power:
|
||||
Amount: -30
|
||||
ProvidesPrerequisite@buildingname:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 134, 122, 0, -18
|
||||
|
||||
GASILO:
|
||||
Inherits: ^Building
|
||||
@@ -129,6 +133,8 @@ GASILO:
|
||||
Capacity: 1500
|
||||
Power:
|
||||
Amount: -10
|
||||
SelectionDecorations:
|
||||
VisualBounds: 80, 48, -5, 0
|
||||
|
||||
ANYPOWER:
|
||||
Tooltip:
|
||||
|
||||
@@ -62,3 +62,6 @@ NAPULS:
|
||||
Sequence: turret
|
||||
Power:
|
||||
Amount: -150
|
||||
SelectionDecorations:
|
||||
VisualBounds: 78, 54, 0, -12
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ MCV:
|
||||
RenderSprites:
|
||||
RenderVoxels:
|
||||
WithVoxelBody:
|
||||
SelectionDecorations:
|
||||
VisualBounds: 42,42
|
||||
|
||||
HARV:
|
||||
Inherits: ^Vehicle
|
||||
@@ -84,6 +86,8 @@ HARV:
|
||||
WithHarvestAnimation:
|
||||
Offset: 384,0,0
|
||||
Palette: effect
|
||||
SelectionDecorations:
|
||||
VisualBounds: 36,36
|
||||
|
||||
LPST:
|
||||
Inherits: ^Vehicle
|
||||
|
||||
Reference in New Issue
Block a user