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