diff --git a/OpenRA.Mods.Cnc/Traits/Render/WithDeliveryAnimation.cs b/OpenRA.Mods.Cnc/Traits/Render/WithDeliveryAnimation.cs index 5b6b3613e7..e043fb802f 100644 --- a/OpenRA.Mods.Cnc/Traits/Render/WithDeliveryAnimation.cs +++ b/OpenRA.Mods.Cnc/Traits/Render/WithDeliveryAnimation.cs @@ -14,7 +14,7 @@ using OpenRA.Traits; namespace OpenRA.Mods.Cnc.Traits { [Desc("Building animation to play when ProductionAirdrop is used to deliver units.")] - public class WithDeliveryAnimationInfo : ITraitInfo, Requires + public class WithDeliveryAnimationInfo : ITraitInfo, Requires { public readonly string ActiveSequence = "active"; @@ -26,23 +26,23 @@ namespace OpenRA.Mods.Cnc.Traits public class WithDeliveryAnimation : INotifyDelivery { readonly WithDeliveryAnimationInfo info; - readonly RenderBuilding building; + readonly WithSpriteBody wsb; public WithDeliveryAnimation(Actor self, WithDeliveryAnimationInfo info) { - building = self.Trait(); + wsb = self.Trait(); this.info = info; } public void IncomingDelivery(Actor self) { - building.PlayCustomAnimRepeating(self, info.ActiveSequence); + wsb.PlayCustomAnimationRepeating(self, info.ActiveSequence); } public void Delivered(Actor self) { - building.PlayCustomAnimRepeating(self, info.IdleSequence); + wsb.PlayCustomAnimationRepeating(self, info.IdleSequence); } } } \ No newline at end of file diff --git a/OpenRA.Mods.Common/Activities/Rearm.cs b/OpenRA.Mods.Common/Activities/Rearm.cs index 6c4bace567..f8b4c065af 100644 --- a/OpenRA.Mods.Common/Activities/Rearm.cs +++ b/OpenRA.Mods.Common/Activities/Rearm.cs @@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Activities continue; // HACK to check if we are on the helipad/airfield/etc. - var hostBuilding = self.World.ActorMap.GetUnitsAt(self.Location).FirstOrDefault(a => a.HasTrait()); + var hostBuilding = self.World.ActorMap.GetUnitsAt(self.Location).FirstOrDefault(a => a.HasTrait()); if (hostBuilding == null || !hostBuilding.IsInWorld) return NextActivity; @@ -56,7 +56,7 @@ namespace OpenRA.Mods.Common.Activities if (!pool.GiveAmmo()) continue; - hostBuilding.Trait().PlayCustomAnim(hostBuilding, "active"); + hostBuilding.Trait().PlayCustomAnimation(hostBuilding, "active"); var sound = pool.Info.RearmSound; if (sound != null) diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index 6020d044b3..39b3192914 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -405,7 +405,6 @@ - diff --git a/OpenRA.Mods.Common/Traits/Buildings/Refinery.cs b/OpenRA.Mods.Common/Traits/Buildings/Refinery.cs index f152a180c4..6a87c67a19 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/Refinery.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/Refinery.cs @@ -105,7 +105,8 @@ namespace OpenRA.Mods.Common.Traits // Harvester was killed while unloading if (dockedHarv != null && dockedHarv.IsDead) { - self.Trait().CancelCustomAnim(self); + var wsb = self.Trait(); + wsb.PlayCustomAnimation(self, wsb.Info.Sequence); dockedHarv = null; } diff --git a/OpenRA.Mods.Common/Traits/Render/RenderBuilding.cs b/OpenRA.Mods.Common/Traits/Render/RenderBuilding.cs deleted file mode 100644 index c8333623b5..0000000000 --- a/OpenRA.Mods.Common/Traits/Render/RenderBuilding.cs +++ /dev/null @@ -1,81 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2015 The OpenRA Developers (see AUTHORS) - * This file is part of OpenRA, which is free software. It is made - * available to you under the terms of the GNU General Public License - * as published by the Free Software Foundation. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRA.Graphics; -using OpenRA.Traits; - -namespace OpenRA.Mods.Common.Traits -{ - [Desc("Render trait for stationary objects that can be placed from the build palette.")] - public class RenderBuildingInfo : RenderSimpleInfo, Requires - { - public readonly bool PauseOnLowPower = false; - - public override object Create(ActorInitializer init) { return new RenderBuilding(init, this); } - } - - public class RenderBuilding : RenderSimple, INotifyDamageStateChanged, INotifyBuildComplete - { - RenderBuildingInfo info; - - public RenderBuilding(ActorInitializer init, RenderBuildingInfo info) - : this(init, info, () => 0) { } - - public RenderBuilding(ActorInitializer init, RenderBuildingInfo info, Func baseFacing) - : base(init, info, baseFacing) - { - var self = init.Self; - this.info = info; - - DefaultAnimation.PlayRepeating(NormalizeSequence(self, info.Sequence)); - } - - public virtual void BuildingComplete(Actor self) - { - DefaultAnimation.PlayRepeating(NormalizeSequence(self, info.Sequence)); - - if (info.PauseOnLowPower) - DefaultAnimation.Paused = () => - self.IsDisabled() && DefaultAnimation.CurrentSequence.Name == NormalizeSequence(self, info.Sequence); - } - - public void PlayCustomAnimThen(Actor self, string name, Action a) - { - DefaultAnimation.PlayThen(NormalizeSequence(self, name), - () => { DefaultAnimation.PlayRepeating(NormalizeSequence(self, info.Sequence)); a(); }); - } - - public void PlayCustomAnimRepeating(Actor self, string name) - { - DefaultAnimation.PlayThen(NormalizeSequence(self, name), - () => PlayCustomAnimRepeating(self, name)); - } - - public void PlayCustomAnimBackwards(Actor self, string name, Action a) - { - DefaultAnimation.PlayBackwardsThen(NormalizeSequence(self, name), - () => { DefaultAnimation.PlayRepeating(NormalizeSequence(self, info.Sequence)); a(); }); - } - - public void CancelCustomAnim(Actor self) - { - DefaultAnimation.PlayRepeating(NormalizeSequence(self, info.Sequence)); - } - - public virtual void DamageStateChanged(Actor self, AttackInfo e) - { - if (DefaultAnimation.CurrentSequence != null) - DefaultAnimation.ReplaceAnim(NormalizeSequence(self, DefaultAnimation.CurrentSequence.Name)); - } - } -} diff --git a/OpenRA.Mods.Common/Traits/Render/WithActiveAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithActiveAnimation.cs index da1c054ff8..2357568be9 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithActiveAnimation.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithActiveAnimation.cs @@ -16,7 +16,7 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Replaces the idle animation of a building.")] - public class WithActiveAnimationInfo : ITraitInfo, Requires + public class WithActiveAnimationInfo : ITraitInfo, Requires { [Desc("Sequence name to use")] [SequenceReference] public readonly string Sequence = "active"; @@ -31,11 +31,11 @@ namespace OpenRA.Mods.Common.Traits public class WithActiveAnimation : ITick, INotifyBuildComplete, INotifySold { readonly WithActiveAnimationInfo info; - readonly RenderBuilding renderBuilding; + readonly WithSpriteBody wsb; public WithActiveAnimation(Actor self, WithActiveAnimationInfo info) { - renderBuilding = self.Trait(); + wsb = self.Trait(); this.info = info; } @@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Traits if (--ticks <= 0) { if (!(info.PauseOnLowPower && self.IsDisabled())) - renderBuilding.PlayCustomAnim(self, info.Sequence); + wsb.PlayCustomAnimation(self, info.Sequence); ticks = info.Interval; } } diff --git a/OpenRA.Mods.Common/Traits/Render/WithBuildingPlacedAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithBuildingPlacedAnimation.cs index 0e5b19bd93..5b6294fe0b 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithBuildingPlacedAnimation.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithBuildingPlacedAnimation.cs @@ -13,10 +13,10 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Changes the animation when the actor constructed a building.")] - public class WithBuildingPlacedAnimationInfo : ITraitInfo, Requires + public class WithBuildingPlacedAnimationInfo : ITraitInfo, Requires { - [Desc("Sequence name to use")] - [SequenceReference] public readonly string Sequence = "build"; + [Desc("Sequence name to use"), SequenceReference] + public readonly string Sequence = "build"; public object Create(ActorInitializer init) { return new WithBuildingPlacedAnimation(init.Self, this); } } @@ -24,13 +24,13 @@ namespace OpenRA.Mods.Common.Traits public class WithBuildingPlacedAnimation : INotifyBuildingPlaced, INotifyBuildComplete { readonly WithBuildingPlacedAnimationInfo info; - readonly RenderSimple renderSimple; + readonly WithSpriteBody wsb; bool buildComplete; public WithBuildingPlacedAnimation(Actor self, WithBuildingPlacedAnimationInfo info) { this.info = info; - renderSimple = self.Trait(); + wsb = self.Trait(); buildComplete = !self.HasTrait(); } @@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits public void BuildingPlaced(Actor self) { if (buildComplete) - renderSimple.PlayCustomAnim(self, info.Sequence); + wsb.PlayCustomAnimation(self, info.Sequence, () => wsb.CancelCustomAnimation(self)); } } } \ No newline at end of file diff --git a/OpenRA.Mods.Common/Traits/Render/WithMakeAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithMakeAnimation.cs index e12da66ff4..b502c6584a 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithMakeAnimation.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithMakeAnimation.cs @@ -18,7 +18,7 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Replaces the sprite during construction.")] - public class WithMakeAnimationInfo : ITraitInfo, Requires, Requires + public class WithMakeAnimationInfo : ITraitInfo, Requires { [Desc("Sequence name to use")] [SequenceReference] public readonly string Sequence = "make"; @@ -29,18 +29,18 @@ namespace OpenRA.Mods.Common.Traits public class WithMakeAnimation { readonly WithMakeAnimationInfo info; - readonly RenderBuilding renderBuilding; + readonly WithSpriteBody wsb; public WithMakeAnimation(ActorInitializer init, WithMakeAnimationInfo info) { this.info = info; var self = init.Self; - renderBuilding = self.Trait(); + wsb = self.Trait(); - var building = self.Trait(); - if (!building.SkipMakeAnimation) + var building = self.TraitOrDefault(); + if (building != null && !building.SkipMakeAnimation) { - renderBuilding.PlayCustomAnimThen(self, info.Sequence, () => + wsb.PlayCustomAnimation(self, info.Sequence, () => { building.NotifyBuildingComplete(self); }); @@ -49,10 +49,10 @@ namespace OpenRA.Mods.Common.Traits public void Reverse(Actor self, Activity activity, bool queued = true) { - renderBuilding.PlayCustomAnimBackwards(self, info.Sequence, () => + wsb.PlayCustomAnimationBackwards(self, info.Sequence, () => { // avoids visual glitches as we wait for the actor to get destroyed - renderBuilding.DefaultAnimation.PlayFetchIndex(info.Sequence, () => 0); + wsb.DefaultAnimation.PlayFetchIndex(info.Sequence, () => 0); self.QueueActivity(queued, activity); }); } diff --git a/OpenRA.Mods.Common/Traits/Render/WithRepairAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithRepairAnimation.cs index d42abf1a1a..5aa6b86d39 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithRepairAnimation.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithRepairAnimation.cs @@ -15,7 +15,7 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Replaces the building animation when it repairs a unit.")] - public class WithRepairAnimationInfo : ITraitInfo, Requires + public class WithRepairAnimationInfo : ITraitInfo, Requires { [Desc("Sequence name to use")] [SequenceReference] public readonly string Sequence = "active"; @@ -36,9 +36,9 @@ namespace OpenRA.Mods.Common.Traits public void Repairing(Actor self, Actor host) { - var building = host.TraitOrDefault(); - if (building != null && !(info.PauseOnLowPower && self.IsDisabled())) - building.PlayCustomAnim(host, info.Sequence); + var spriteBody = host.TraitOrDefault(); + if (spriteBody != null && !(info.PauseOnLowPower && self.IsDisabled())) + spriteBody.PlayCustomAnimation(host, info.Sequence); } } } \ No newline at end of file diff --git a/OpenRA.Mods.Common/Traits/Render/WithResources.cs b/OpenRA.Mods.Common/Traits/Render/WithResources.cs index 8f5540b957..46bc33f62d 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithResources.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithResources.cs @@ -14,7 +14,7 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Displays the fill status of PlayerResources with an extra sprite overlay on the actor.")] - class WithResourcesInfo : ITraitInfo, Requires + class WithResourcesInfo : ITraitInfo, Requires, Requires { [Desc("Sequence name to use")] [SequenceReference] public readonly string Sequence = "resources"; @@ -26,7 +26,8 @@ namespace OpenRA.Mods.Common.Traits { readonly WithResourcesInfo info; readonly AnimationWithOffset anim; - readonly RenderSimple rs; + readonly RenderSprites rs; + readonly WithSpriteBody wsb; PlayerResources playerResources; bool buildComplete; @@ -34,7 +35,8 @@ namespace OpenRA.Mods.Common.Traits public WithResources(Actor self, WithResourcesInfo info) { this.info = info; - rs = self.Trait(); + rs = self.Trait(); + wsb = self.Trait(); playerResources = self.Owner.PlayerActor.Trait(); var a = new Animation(self.World, rs.GetImage(self)); @@ -55,7 +57,7 @@ namespace OpenRA.Mods.Common.Traits public void DamageStateChanged(Actor self, AttackInfo e) { if (anim.Animation.CurrentSequence != null) - anim.Animation.ReplaceAnim(rs.NormalizeSequence(self, info.Sequence)); + anim.Animation.ReplaceAnim(wsb.NormalizeSequence(self, info.Sequence)); } public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner) diff --git a/OpenRA.Mods.Common/Traits/Render/WithSpriteBody.cs b/OpenRA.Mods.Common/Traits/Render/WithSpriteBody.cs index dbb82faed1..dd57f52fda 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithSpriteBody.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithSpriteBody.cs @@ -19,11 +19,11 @@ namespace OpenRA.Mods.Common.Traits [Desc("Default trait for rendering sprite-based actors.")] public class WithSpriteBodyInfo : UpgradableTraitInfo, IRenderActorPreviewSpritesInfo, Requires { - [Desc("Animation to play when the actor is created.")] - [SequenceReference] public readonly string StartSequence = null; + [Desc("Animation to play when the actor is created."), SequenceReference] + public readonly string StartSequence = null; - [Desc("Animation to play when the actor is idle.")] - [SequenceReference] public readonly string Sequence = "idle"; + [Desc("Animation to play when the actor is idle."), SequenceReference] + public readonly string Sequence = "idle"; [Desc("Pause animation when actor is disabled.")] public readonly bool PauseAnimationWhenDisabled = false; diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs index 1e7f7a1109..02961e2bb9 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/GrantUpgradePower.cs @@ -30,6 +30,9 @@ namespace OpenRA.Mods.Common.Traits public readonly int Range = 1; public readonly string GrantUpgradeSound = "ironcur9.aud"; + [Desc("Sequence to play for granting actor when activated."), SequenceReference] + public readonly string GrantUpgradeSequence = "active"; + public override object Create(ActorInitializer init) { return new GrantUpgradePower(init.Self, this); } } @@ -53,7 +56,7 @@ namespace OpenRA.Mods.Common.Traits { base.Activate(self, order, manager); - self.Trait().PlayCustomAnim(self, "active"); + self.Trait().PlayCustomAnimation(self, info.GrantUpgradeSequence); Sound.Play(info.GrantUpgradeSound, self.World.Map.CenterOfCell(order.TargetLocation)); diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs index cf4d141ab7..eb747d3a35 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs @@ -47,6 +47,10 @@ namespace OpenRA.Mods.Common.Traits public readonly string FlashType = null; + [SequenceReference] + [Desc("Sequence the launching actor should play when activating this power.")] + public readonly string ActivationSequence = "active"; + public override object Create(ActorInitializer init) { return new NukePower(init.Self, this); } } @@ -71,8 +75,8 @@ namespace OpenRA.Mods.Common.Traits else Sound.Play(Info.IncomingSound); - var rb = self.Trait(); - rb.PlayCustomAnim(self, "active"); + var wsb = self.Trait(); + wsb.PlayCustomAnimation(self, info.ActivationSequence); var targetPosition = self.World.Map.CenterOfCell(order.TargetLocation); var missile = new NukeLaunch(self.Owner, info.MissileWeapon, diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index 8968e854ba..6bc1f40c0a 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -1931,6 +1931,40 @@ namespace OpenRA.Mods.Common.UtilityCommands } } + if (engineVersion < 20150828) + { + // Replaced RenderBuilding with RenderSprites + WithSpriteBody (+AutoSelectionSize) + if (depth == 0) + { + var childKeysExcludeFromRS = new[] { "Sequence", "PauseOnLowPower" }; + + var rb = node.Value.Nodes.FirstOrDefault(n => n.Key.StartsWith("RenderBuilding")); + if (rb != null) + { + rb.Key = "WithSpriteBody"; + + var rsNodes = rb.Value.Nodes.Where(n => !childKeysExcludeFromRS.Contains(n.Key)).ToList(); + + if (rsNodes.Any()) + node.Value.Nodes.Add(new MiniYamlNode("RenderSprites", new MiniYaml("", rsNodes))); + else + node.Value.Nodes.Add(new MiniYamlNode("RenderSprites", "")); + + node.Value.Nodes.Add(new MiniYamlNode("AutoSelectionSize", "")); + + rb.Value.Nodes.RemoveAll(n => rsNodes.Contains(n)); + } + + var rrb = node.Value.Nodes.FirstOrDefault(n => n.Key.StartsWith("-RenderBuilding")); + if (rrb != null) + rrb.Key = "-WithSpriteBody"; + + if (depth == 2 && node.Key == "PauseOnLowPower" && (parentKey == "WithSpriteBody" + || parentKey == "WithTurretedSpriteBody" || parentKey == "WithWallSpriteBody")) + node.Key = "PauseAnimationWhenDisabled"; + } + } + UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1); } } diff --git a/OpenRA.Mods.RA/Activities/Teleport.cs b/OpenRA.Mods.RA/Activities/Teleport.cs index 958b791013..21384d8c0b 100644 --- a/OpenRA.Mods.RA/Activities/Teleport.cs +++ b/OpenRA.Mods.RA/Activities/Teleport.cs @@ -92,9 +92,9 @@ namespace OpenRA.Mods.RA.Activities if (teleporter != null && self != teleporter && !teleporter.Disposed) { - var building = teleporter.TraitOrDefault(); + var building = teleporter.TraitOrDefault(); if (building != null) - building.PlayCustomAnim(teleporter, "active"); + building.PlayCustomAnimation(teleporter, "active"); } return NextActivity; diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index 87e44b605a..4db7199592 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -432,7 +432,9 @@ DamagedSounds: xplos.aud DestroyedSounds: crumble.aud QuantizeFacingsFromSequence: - RenderBuilding: + RenderSprites: + WithSpriteBody: + AutoSelectionSize: WithBuildingExplosion: Delay: 1 CaptureNotification: @@ -489,7 +491,9 @@ Dimensions: 1,1 Footprint: x QuantizeFacingsFromSequence: - RenderBuilding: + RenderSprites: + WithSpriteBody: + AutoSelectionSize: Tooltip: Name: Civilian Building (Destroyed) GenericVisibility: None @@ -518,8 +522,10 @@ -WithBuildingExplosion: -TargetableBuilding: -Demolishable: - RenderBuilding: + RenderSprites: Palette: terrain + WithSpriteBody: + AutoSelectionSize: ^CivFieldHusk: AppearsOnRadar: @@ -601,8 +607,10 @@ Name: Blossom Tree BodyOrientation: QuantizedFacings: 1 - RenderBuilding: + RenderSprites: Palette: staticterrain + WithSpriteBody: + AutoSelectionSize: Building: Footprint: x Dimensions: 1,1 diff --git a/mods/cnc/rules/misc.yaml b/mods/cnc/rules/misc.yaml index bb064e94e9..c1c7bcc29d 100644 --- a/mods/cnc/rules/misc.yaml +++ b/mods/cnc/rules/misc.yaml @@ -47,7 +47,7 @@ waypoint: ^fact.colorpicker: Inherits: FACT - RenderBuilding: + RenderSprites: Image: fact Palette: colorpicker diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml index 611c7849dd..91bd582fa2 100644 --- a/mods/cnc/rules/structures.yaml +++ b/mods/cnc/rules/structures.yaml @@ -72,7 +72,7 @@ FACT: FACT.GDI: Inherits: FACT - RenderBuilding: + RenderSprites: Image: fact Buildable: Queue: Building.GDI, Building.Nod @@ -84,7 +84,7 @@ FACT.GDI: FACT.NOD: Inherits: FACT - RenderBuilding: + RenderSprites: Image: fact Buildable: Queue: Building.GDI, Building.Nod @@ -218,7 +218,6 @@ SILO: PipCount: 10 PipColor: Green Capacity: 2000 - -RenderBuilding: -EmitInfantryOnSell: Power: Amount: -10 @@ -226,7 +225,6 @@ SILO: RequiredForShortGame: false SelectionDecorations: VisualBounds: 49,30 - -WithMakeAnimation: PYLE: Inherits: ^BaseBuilding @@ -463,8 +461,8 @@ HQ: RequiresPower: CanPowerDown: DisabledOverlay: - RenderBuilding: - PauseOnLowPower: yes + WithSpriteBody: + PauseAnimationWhenDisabled: true Health: HP: 700 RevealsShroud: @@ -549,8 +547,8 @@ EYE: RequiresPower: CanPowerDown: DisabledOverlay: - RenderBuilding: - PauseOnLowPower: yes + WithSpriteBody: + PauseAnimationWhenDisabled: true Health: HP: 1200 RevealsShroud: @@ -654,7 +652,7 @@ GUN: Turreted: ROT: 12 InitialFacing: 50 - RenderSprites: + -WithSpriteBody: WithTurretedSpriteBody: Armament: Weapon: TurretGun @@ -662,13 +660,11 @@ GUN: MuzzleSequence: muzzle AttackTurreted: WithMuzzleFlash: - -RenderBuilding: -WithDeathAnimation: DetectCloaked: Range: 3 Power: Amount: -20 - -WithMakeAnimation: SAM: Inherits: ^Defense @@ -697,7 +693,7 @@ SAM: Turreted: ROT: 10 InitialFacing: 0 - RenderSprites: + -WithSpriteBody: WithTurretedSpriteBody: AutoSelectionSize: Armament: @@ -705,11 +701,9 @@ SAM: MuzzleSequence: muzzle AttackPopupTurreted: WithMuzzleFlash: - -RenderBuilding: -RenderDetectionCircle: Power: Amount: -20 - -WithMakeAnimation: OBLI: Inherits: ^Defense @@ -739,8 +733,6 @@ OBLI: Range: 8c0 Bib: HasMinibib: Yes - RenderSprites: - WithSpriteBody: WithChargeAnimation: Armament: Weapon: Laser @@ -750,13 +742,11 @@ OBLI: ChargeAudio: obelpowr.aud ReloadTime: 40 InitialChargeDelay: 50 - -RenderBuilding: -EmitInfantryOnSell: DetectCloaked: Range: 5 Power: Amount: -150 - -WithMakeAnimation: GTWR: Inherits: ^Defense diff --git a/mods/cnc/rules/tech.yaml b/mods/cnc/rules/tech.yaml index dc99ad30da..e230c4711a 100644 --- a/mods/cnc/rules/tech.yaml +++ b/mods/cnc/rules/tech.yaml @@ -11,7 +11,6 @@ V19: V19.Husk: Inherits: ^CivBuildingHusk - -RenderBuilding: AutoSelectionSize: RenderSprites: BodyOrientation: @@ -88,7 +87,6 @@ BIO.Husk: MISS: Inherits: ^CivBuilding - RenderBuilding: Building: Footprint: xxx xxx Dimensions: 3,2 diff --git a/mods/cnc/rules/trees.yaml b/mods/cnc/rules/trees.yaml index 3d44a050cf..b31a0d9b9a 100644 --- a/mods/cnc/rules/trees.yaml +++ b/mods/cnc/rules/trees.yaml @@ -7,7 +7,7 @@ SPLIT2: SPLIT3: Inherits: ^TibTree - RenderBuilding: + RenderSprites: Image: split2 SeedsResource: ResourceType: Tiberium @@ -16,7 +16,7 @@ SPLIT3: SPLITBLUE: Inherits: ^TibTree - RenderBuilding: + RenderSprites: Image: split3 SeedsResource: ResourceType: BlueTiberium diff --git a/mods/d2k/rules/arrakis.yaml b/mods/d2k/rules/arrakis.yaml index 9f1c0d82d8..19d6060db8 100644 --- a/mods/d2k/rules/arrakis.yaml +++ b/mods/d2k/rules/arrakis.yaml @@ -1,6 +1,8 @@ spicebloom: HiddenUnderShroud: - RenderBuilding: + RenderSprites: + WithSpriteBody: + AutoSelectionSize: Building: Footprint: x Dimensions: 1,1 diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index c6491bdc77..a00606d90d 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -275,7 +275,9 @@ DamagedSounds: EXPLSML1.WAV DestroyedSounds: EXPLHG1.WAV QuantizeFacingsFromSequence: - RenderBuilding: + RenderSprites: + WithSpriteBody: + AutoSelectionSize: WithBuildingExplosion: RepairableBuilding: EmitInfantryOnSell: @@ -311,7 +313,7 @@ -GivesBuildableArea: -WithCrumbleOverlay: -WithMakeAnimation: - -RenderBuilding: + -WithSpriteBody: RenderSprites: WithWallSpriteBody: AutoSelectionSize: diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml index cda6dc708d..d228a27037 100644 --- a/mods/d2k/rules/structures.yaml +++ b/mods/d2k/rules/structures.yaml @@ -67,7 +67,7 @@ conyard: ProductionBar: Power: Amount: 20 - RenderBuilding: + RenderSprites: Image: conyard.harkonnen FactionImages: atreides: conyard.atreides @@ -99,7 +99,7 @@ power: Type: Wood RevealsShroud: Range: 4c0 - RenderBuilding: + RenderSprites: Image: power.harkonnen FactionImages: atreides: power.atreides @@ -160,7 +160,7 @@ barracks: Factions: atreides, ordos Power: Amount: -20 - RenderBuilding: + RenderSprites: Image: barracks.harkonnen FactionImages: atreides: barracks.atreides @@ -205,7 +205,7 @@ refinery: DeliveryOffset: 2,2 DeliveringActor: carryall.reinforce Facing: 160 - RenderBuilding: + RenderSprites: Image: refinery.harkonnen FactionImages: atreides: refinery.atreides @@ -241,7 +241,6 @@ silo: Type: Wood RevealsShroud: Range: 4c0 - -RenderBuilding: RenderSprites: Image: silo.harkonnen FactionImages: @@ -258,7 +257,6 @@ silo: Amount: -5 MustBeDestroyed: RequiredForShortGame: false - -WithMakeAnimation: light: Inherits: ^Building @@ -283,7 +281,7 @@ light: Type: Wood RevealsShroud: Range: 4c0 - RenderBuilding: + RenderSprites: Image: light.harkonnen FactionImages: atreides: light.atreides @@ -361,7 +359,7 @@ heavy: ProvidesPrerequisite@missiletank: Prerequisite: heavy.missiletank Factions: atreides, harkonnen - RenderBuilding: + RenderSprites: Image: heavy.harkonnen FactionImages: atreides: heavy.atreides @@ -407,7 +405,7 @@ radar: DetectCloaked: Range: 6 RenderDetectionCircle: - RenderBuilding: + RenderSprites: Image: radar.harkonnen FactionImages: atreides: radar.atreides @@ -452,7 +450,7 @@ starport: ProductionAirdrop: Produces: Starport ActorType: frigate - RenderBuilding: + RenderSprites: Image: starport.harkonnen FactionImages: atreides: starport.atreides @@ -642,7 +640,7 @@ repair: FinishRepairingNotification: UnitRepaired RallyPoint: Offset: 1,3 - RenderBuilding: + RenderSprites: Image: repair.harkonnen FactionImages: atreides: repair.atreides @@ -681,7 +679,7 @@ hightech: Type: Wood RevealsShroud: Range: 4c0 - RenderBuilding: + RenderSprites: Image: hightech.harkonnen FactionImages: atreides: hightech.atreides @@ -742,7 +740,7 @@ research: Type: Wood RevealsShroud: Range: 4c0 - RenderBuilding: + RenderSprites: Image: research.harkonnen FactionImages: atreides: research.atreides @@ -779,7 +777,7 @@ palace: Type: Wood RevealsShroud: Range: 8c0 - RenderBuilding: + RenderSprites: Image: palace.harkonnen FactionImages: atreides: palace.atreides @@ -823,7 +821,7 @@ conyard.atreides: BuildPaletteOrder: 1000 Prerequisites: ~disabled ForceFaction: atreides - RenderBuilding: + RenderSprites: Image: conyard.atreides -FactionImages: @@ -834,7 +832,7 @@ conyard.harkonnen: BuildPaletteOrder: 1000 Prerequisites: ~disabled ForceFaction: harkonnen - RenderBuilding: + RenderSprites: Image: conyard.harkonnen -FactionImages: @@ -845,7 +843,7 @@ conyard.ordos: BuildPaletteOrder: 1000 Prerequisites: ~disabled ForceFaction: ordos - RenderBuilding: + RenderSprites: Image: conyard.ordos -FactionImages: diff --git a/mods/ra/maps/allies-05a/map.yaml b/mods/ra/maps/allies-05a/map.yaml index 2510f069a5..48e58ce393 100644 --- a/mods/ra/maps/allies-05a/map.yaml +++ b/mods/ra/maps/allies-05a/map.yaml @@ -1737,9 +1737,7 @@ Rules: LocalOffset: 432,150,-30, 432,-150,-30 AttackTurreted: AutoTarget: - -RenderBuilding: -Selectable: - -WithMakeAnimation: E1.Autotarget: Inherits: E1 Buildable: diff --git a/mods/ra/maps/bomber-john/map.yaml b/mods/ra/maps/bomber-john/map.yaml index 4a0036553f..50984054c2 100644 --- a/mods/ra/maps/bomber-john/map.yaml +++ b/mods/ra/maps/bomber-john/map.yaml @@ -877,6 +877,7 @@ Rules: EndChargeSound: ironrdy1.aud Range: 1 Upgrades: invulnerability + GrantUpgradeSequence: idle Power: Amount: 0 MINVV: @@ -893,9 +894,10 @@ Rules: Cost: 30 Health: HP: 200 - RenderBuilding: + RenderSprites: Image: miner - HasMakeAnimation: false + WithSpriteBody: + AutoSelectionSize: Tooltip: Name: Bomb Description: Bomb (Hotkey B) @@ -943,6 +945,7 @@ Rules: EndChargeSound: ironrdy1.aud Range: 1 Upgrades: invulnerability + GrantUpgradeSequence: idle Sequences: miner: diff --git a/mods/ra/maps/center-of-attention-redux-2/map.yaml b/mods/ra/maps/center-of-attention-redux-2/map.yaml index 6fc7d42db9..1218c71539 100644 --- a/mods/ra/maps/center-of-attention-redux-2/map.yaml +++ b/mods/ra/maps/center-of-attention-redux-2/map.yaml @@ -891,13 +891,13 @@ Rules: Inherits: OILB Health: HP: 6000 - RenderBuilding: + RenderSprites: Image: OILB OILB.Weak: Inherits: OILB Health: HP: 900 - RenderBuilding: + RenderSprites: Image: OILB Sequences: diff --git a/mods/ra/maps/monster-tank-madness/map.yaml b/mods/ra/maps/monster-tank-madness/map.yaml index f82be63892..011807840e 100644 --- a/mods/ra/maps/monster-tank-madness/map.yaml +++ b/mods/ra/maps/monster-tank-madness/map.yaml @@ -2238,7 +2238,7 @@ Rules: Inherits: DOME Buildable: Prerequisites: ~disabled - RenderBuilding: + RenderSprites: Image: DOME -InfiltrateForExploration: TargetableBuilding: diff --git a/mods/ra/maps/soviet-05/map.yaml b/mods/ra/maps/soviet-05/map.yaml index 35227cf143..296e656f0f 100644 --- a/mods/ra/maps/soviet-05/map.yaml +++ b/mods/ra/maps/soviet-05/map.yaml @@ -721,7 +721,7 @@ Rules: Prerequisites: ~disabled DOME.IGNORE: Inherits: DOME - RenderBuilding: + RenderSprites: Image: DOME AutoTargetIgnore: Buildable: diff --git a/mods/ra/maps/survival01/map.yaml b/mods/ra/maps/survival01/map.yaml index de9d7e1d10..9740347103 100644 --- a/mods/ra/maps/survival01/map.yaml +++ b/mods/ra/maps/survival01/map.yaml @@ -1273,7 +1273,7 @@ Rules: -ParatroopersPower@paratroopers: -AirstrikePower@parabombs: -SupportPowerChargeBar: - RenderBuilding: + RenderSprites: Image: AFLD ATEK.mission: Inherits: ATEK @@ -1285,7 +1285,7 @@ Rules: -TargetableBuilding: -GivesBuildableArea: -Huntable: - RenderBuilding: + RenderSprites: Image: ATEK GUN: Valued: diff --git a/mods/ra/rules/civilian.yaml b/mods/ra/rules/civilian.yaml index 07cecaec62..d9b74437af 100644 --- a/mods/ra/rules/civilian.yaml +++ b/mods/ra/rules/civilian.yaml @@ -232,7 +232,6 @@ V19.Husk: ExcludeTilesets: DESERT Tooltip: Name: Husk (Oil Pump) - -RenderBuilding: AutoSelectionSize: RenderSprites: BodyOrientation: @@ -628,7 +627,7 @@ SNOWHUT: Building: Footprint: x x Dimensions: 1,2 - RenderBuilding: + RenderSprites: Scale: 0.7 LHUS: diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index 5974b4df2b..fd76549b08 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -396,7 +396,9 @@ DamagedSounds: kaboom1.aud DestroyedSounds: kaboom22.aud QuantizeFacingsFromSequence: - RenderBuilding: + RenderSprites: + AutoSelectionSize: + WithSpriteBody: WithBuildingExplosion: CaptureNotification: ShakeOnDeath: @@ -521,7 +523,7 @@ ^CivBuilding: Inherits: ^TechBuilding - RenderBuilding: + RenderSprites: Palette: terrain EditorTilesetFilter: ExcludeTilesets: INTERIOR @@ -664,7 +666,7 @@ ^DesertCivBuilding: Inherits: ^CivBuilding - RenderBuilding: + RenderSprites: Palette: terrain EditorTilesetFilter: RequireTilesets: DESERT diff --git a/mods/ra/rules/fakes.yaml b/mods/ra/rules/fakes.yaml index 7be63993e0..ee8d3226a6 100644 --- a/mods/ra/rules/fakes.yaml +++ b/mods/ra/rules/fakes.yaml @@ -15,7 +15,7 @@ FACF: Footprint: xxx xxx xxx Dimensions: 3,3 Bib: - RenderBuilding: + RenderSprites: Image: FACT Valued: Cost: 250 @@ -37,7 +37,7 @@ WEAF: Footprint: xxx xxx Dimensions: 3,2 Bib: - RenderBuilding: + RenderSprites: Image: WEAP WithProductionDoorOverlay: Sequence: build-top @@ -64,7 +64,7 @@ SYRF: Dimensions: 3,3 Adjacent: 8 TerrainTypes: Water - RenderBuilding: + RenderSprites: Image: SYRD Valued: Cost: 100 @@ -91,7 +91,7 @@ SPEF: Dimensions: 3,3 Adjacent: 8 TerrainTypes: Water - RenderBuilding: + RenderSprites: Image: SPEN Valued: Cost: 100 @@ -115,7 +115,7 @@ DOMF: Footprint: xx xx Dimensions: 2,2 Bib: - RenderBuilding: + RenderSprites: Image: DOME Valued: Cost: 180 @@ -139,7 +139,7 @@ ATEF: Footprint: xx xx Dimensions: 2,2 Bib: - RenderBuilding: + RenderSprites: Image: ATEK Valued: Cost: 150 @@ -163,7 +163,7 @@ PDOF: Building: Footprint: xx xx Dimensions: 2,2 - RenderBuilding: + RenderSprites: Image: PDOX Bib: HasMinibib: Yes @@ -189,7 +189,7 @@ MSLF: Building: Footprint: xx Dimensions: 2,1 - RenderBuilding: + RenderSprites: Image: MSLO Valued: Cost: 250 diff --git a/mods/ra/rules/misc.yaml b/mods/ra/rules/misc.yaml index e0acacb67d..0118d072d7 100644 --- a/mods/ra/rules/misc.yaml +++ b/mods/ra/rules/misc.yaml @@ -414,7 +414,7 @@ waypoint: ^fact.colorpicker: Inherits: FACT - RenderBuilding: + RenderSprites: Image: fact Palette: colorpicker diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml index aa43ffe048..851f536b3c 100644 --- a/mods/ra/rules/structures.yaml +++ b/mods/ra/rules/structures.yaml @@ -69,8 +69,8 @@ GAP: RequiresPower: CanPowerDown: DisabledOverlay: - RenderBuilding: - PauseOnLowPower: yes + WithSpriteBody: + PauseAnimationWhenDisabled: true Health: HP: 1000 Armor: @@ -401,8 +401,6 @@ TSLA: Range: 8c0 Bib: HasMinibib: Yes - RenderSprites: - WithSpriteBody: WithChargeAnimation: Armament: Weapon: TeslaZap @@ -411,13 +409,11 @@ TSLA: ChargeAudio: tslachg2.aud MaxCharges: 3 ReloadTime: 120 - -RenderBuilding: Power: Amount: -100 DetectCloaked: Range: 8 ProvidesPrerequisite@buildingname: - -WithMakeAnimation: AGUN: Inherits: ^Defense @@ -451,7 +447,7 @@ AGUN: Turreted: ROT: 15 InitialFacing: 224 - RenderSprites: + -WithSpriteBody: WithTurretedSpriteBody: Armament: Weapon: ZSU-23 @@ -459,14 +455,12 @@ AGUN: MuzzleSequence: muzzle AttackTurreted: WithMuzzleFlash: - -RenderBuilding: RenderRangeCircle: RangeCircleType: aa Power: Amount: -50 DetectCloaked: Range: 6 - -WithMakeAnimation: DOME: Inherits: ^Building @@ -612,7 +606,7 @@ GUN: Turreted: ROT: 12 InitialFacing: 50 - RenderSprites: + -WithSpriteBody: WithTurretedSpriteBody: Armament: Weapon: TurretGun @@ -620,12 +614,10 @@ GUN: MuzzleSequence: muzzle AttackTurreted: WithMuzzleFlash: - -RenderBuilding: Power: Amount: -40 DetectCloaked: Range: 7 - -WithMakeAnimation: FTUR: Inherits: ^Defense @@ -690,21 +682,19 @@ SAM: Turreted: ROT: 30 InitialFacing: 0 - RenderSprites: + -WithSpriteBody: WithTurretedSpriteBody: Armament: Weapon: Nike MuzzleSequence: muzzle AttackTurreted: WithMuzzleFlash: - -RenderBuilding: RenderRangeCircle: RangeCircleType: aa Power: Amount: -40 DetectCloaked: Range: 5 - -WithMakeAnimation: ATEK: Inherits: ^Building @@ -988,17 +978,13 @@ SILO: Range: 4c0 Bib: HasMinibib: Yes - RenderSprites: - WithSpriteBody: WithSiloAnimation: StoresResources: PipCount: 5 Capacity: 1500 - -RenderBuilding: -EmitInfantryOnSell: Power: Amount: -10 - -WithMakeAnimation: HPAD: Inherits: ^Building diff --git a/mods/ts/rules/civilian-structures.yaml b/mods/ts/rules/civilian-structures.yaml index 70695da9e8..3575e761ac 100644 --- a/mods/ts/rules/civilian-structures.yaml +++ b/mods/ts/rules/civilian-structures.yaml @@ -261,7 +261,7 @@ AMMOCRAT: Type: none Health: HP: 1 - RenderBuilding: + RenderSprites: Palette: player BBOARD01: @@ -625,7 +625,7 @@ CAARAY: Type: concrete Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player CAARMR: @@ -639,7 +639,7 @@ CAARMR: Type: concrete Health: HP: 800 - RenderBuilding: + RenderSprites: Palette: player ProvidesPrerequisite: Prerequisite: barracks.upgraded @@ -655,7 +655,7 @@ CABHUT: Dimensions: 1, 1 Health: HP: 2000 - RenderBuilding: + RenderSprites: Palette: player CACRSH01: @@ -729,7 +729,7 @@ CAHOSP: Type: concrete Health: HP: 800 - RenderBuilding: + RenderSprites: Palette: player CAPYR01: @@ -1126,7 +1126,7 @@ GAKODK: Type: heavy Health: HP: 1500 - RenderBuilding: + RenderSprites: Palette: player GAOLDCC1: @@ -1140,7 +1140,7 @@ GAOLDCC1: Type: heavy Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player GAOLDCC2: @@ -1154,7 +1154,7 @@ GAOLDCC2: Type: heavy Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player GAOLDCC3: @@ -1168,7 +1168,7 @@ GAOLDCC3: Type: heavy Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player GAOLDCC4: @@ -1182,7 +1182,7 @@ GAOLDCC4: Type: heavy Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player GAOLDCC5: @@ -1196,7 +1196,7 @@ GAOLDCC5: Type: heavy Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player GAOLDCC6: @@ -1210,7 +1210,7 @@ GAOLDCC6: Type: heavy Health: HP: 400 - RenderBuilding: + RenderSprites: Palette: player GASAND: @@ -1273,7 +1273,7 @@ GALITE: Cost: 200 Tooltip: Name: Light Post - RenderBuilding: + RenderSprites: Palette: terraindecoration -WithMakeAnimation: -WithDeathAnimation: @@ -1330,7 +1330,7 @@ NAMNTK: Type: heavy Health: HP: 1500 - RenderBuilding: + RenderSprites: Palette: player NTPYRA: @@ -1346,7 +1346,7 @@ NTPYRA: Type: heavy Health: HP: 1500 - RenderBuilding: + RenderSprites: Palette: player UFO: @@ -1354,7 +1354,7 @@ UFO: Building: Dimensions: 6, 4 Footprint: xxxxxx xxxxxx xxxxxx xxxxxx - RenderBuilding: + RenderSprites: Palette: terraindecoration Selectable: Bounds: 144, 72, 0, 0 diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index cfaf6d1532..a3b3419cf4 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -63,7 +63,9 @@ DamagedSounds: expnew01.aud DestroyedSounds: crmble2.aud QuantizeFacingsFromSequence: - RenderBuilding: + RenderSprites: + WithSpriteBody: + AutoSelectionSize: WithBuildingExplosion: Sequences: building, large_bang, large_brnl, verylarge_clsn, large_tumu EngineerRepairable: @@ -115,7 +117,7 @@ Range: 4c0 Tooltip: Description: Civilian Building - RenderBuilding: + RenderSprites: Palette: terraindecoration ^CivBillboard: @@ -530,8 +532,10 @@ ^BlossomTree: Tooltip: Name: Blossom Tree - RenderBuilding: + RenderSprites: Palette: player + WithSpriteBody: + AutoSelectionSize: Building: Footprint: x Dimensions: 1,1 @@ -636,7 +640,9 @@ Dimensions: 1,1 Footprint: x TerrainTypes: Clear, Road, DirtRoad, Rough - RenderBuilding: + RenderSprites: + WithSpriteBody: + AutoSelectionSize: WithMakeAnimation: SelectionDecorations: Palette: pips diff --git a/mods/ts/rules/gdi-structures.yaml b/mods/ts/rules/gdi-structures.yaml index 5be2744b0b..19c49c311a 100644 --- a/mods/ts/rules/gdi-structures.yaml +++ b/mods/ts/rules/gdi-structures.yaml @@ -247,7 +247,7 @@ GADEPT: ProvidesPrerequisite@buildingname: SelectionDecorations: VisualBounds: 98, 68, -6, -6 - RenderBuilding: + RenderSprites: Image: gadept.gdi FactionImages: gdi: gadept.gdi @@ -348,7 +348,6 @@ GAPLUG: CanPowerDown: IndicatorPalette: mouse DisabledOverlay: - RenderBuilding: WithIdleOverlay@DISH: Sequence: idle-dish WithIdleOverlay@LIGHTS: diff --git a/mods/ts/rules/gdi-support.yaml b/mods/ts/rules/gdi-support.yaml index 3ec5e206a6..a0e7342a6e 100644 --- a/mods/ts/rules/gdi-support.yaml +++ b/mods/ts/rules/gdi-support.yaml @@ -25,6 +25,9 @@ GAWALL: GACTWR: Inherits: ^Defense + -WithSpriteBody: + WithWallSpriteBody: + Type: wall Valued: Cost: 600 Tooltip: @@ -102,10 +105,6 @@ GACTWR: Sequence: idle-lights LineBuildNode: Types: turret - -RenderBuilding: - RenderSprites: - WithWallSpriteBody: - Type: wall Power@base: Amount: -10 Power@turrets: @@ -124,7 +123,6 @@ GACTWR: ProvidesPrerequisite@buildingname: SelectionDecorations: VisualBounds: 48, 48, 0, -12 - -WithMakeAnimation: GAVULC: Inherits: ^BuildingPlug diff --git a/mods/ts/rules/nod-support.yaml b/mods/ts/rules/nod-support.yaml index 9aa73c9b87..47b8a19d48 100644 --- a/mods/ts/rules/nod-support.yaml +++ b/mods/ts/rules/nod-support.yaml @@ -206,7 +206,6 @@ GAARTY: MuzzleSequence: muzzle BodyOrientation: QuantizedFacings: 32 - RenderBuilding: RenderVoxels: LightAmbientColor: 0.4, 0.4, 0.4 WithVoxelBarrel: diff --git a/mods/ts/rules/shared-structures.yaml b/mods/ts/rules/shared-structures.yaml index e75941b725..768bef216e 100644 --- a/mods/ts/rules/shared-structures.yaml +++ b/mods/ts/rules/shared-structures.yaml @@ -97,7 +97,7 @@ PROC: ProvidesPrerequisite@buildingname: SelectionDecorations: VisualBounds: 134, 122, 0, -18 - RenderBuilding: + RenderSprites: Image: proc.gdi FactionImages: gdi: proc.gdi @@ -126,7 +126,6 @@ GASILO: Type: Wood RevealsShroud: Range: 4c0 - -RenderBuilding: RenderSprites: Image: gasilo.gdi FactionImages: @@ -145,7 +144,6 @@ GASILO: Amount: -10 SelectionDecorations: VisualBounds: 80, 48, -5, 0 - -WithMakeAnimation: ANYPOWER: AlwaysVisible: diff --git a/mods/ts/rules/shared-support.yaml b/mods/ts/rules/shared-support.yaml index acdd128e52..58a58593bb 100644 --- a/mods/ts/rules/shared-support.yaml +++ b/mods/ts/rules/shared-support.yaml @@ -60,7 +60,7 @@ NAPULS: Amount: -150 SelectionDecorations: VisualBounds: 78, 54, 0, -12 - RenderBuilding: + RenderSprites: Image: napuls.gdi FactionImages: gdi: napuls.gdi diff --git a/mods/ts/rules/trees.yaml b/mods/ts/rules/trees.yaml index 2edbfcc809..4a229cdc0b 100644 --- a/mods/ts/rules/trees.yaml +++ b/mods/ts/rules/trees.yaml @@ -11,7 +11,7 @@ BIGBLUE: Inherits: ^BlossomTree Tooltip: Name: Large Blue Tiberium Crystal - RenderBuilding: + RenderSprites: Palette: bluetiberium RadarColorFromTerrain: Terrain: BlueTiberium