diff --git a/AUTHORS b/AUTHORS index 4a88044ee7..29ab57fcc0 100644 --- a/AUTHORS +++ b/AUTHORS @@ -17,23 +17,29 @@ Also thanks to: * Christer Ulfsparre (Holloweye) * Cody Brittain (Generalcamo) * Daniel Derejvanik (Harisson) + * Danny (Dan9550) * Erasmus Schroder (rasco) * Igor Popov (ihptru) + * Iran * James Dunne (jsd) * Jeff Harris (jeff_1amstudios) * Jes (-Jes-) * Joakim Lindberg (booom3) + * JOo * Kenny Hoxworth (hoxworth) + * Krishnakanth Mallik * Kyrre Soerensen (zypres) * Lawrence Wang * Mark Olson (markolson) * Matthew Gatland (mgatland) * Matthias Mailänder (Mailaender) + * Maarten Meuris (Nyerguds) * Max Ugrumov (katzsmile) * Max621 * Nukem * Paolo Chiodi (paolochiodi) * Paul Dovydaitis (pdovy) + * Psydev * Raymond Martineau (mart0258) * Riderr3 * Tim Mylemans (gecko) diff --git a/OpenRA.Game/Graphics/ShroudRenderer.cs b/OpenRA.Game/Graphics/ShroudRenderer.cs index 4d467b67dd..592a5af055 100644 --- a/OpenRA.Game/Graphics/ShroudRenderer.cs +++ b/OpenRA.Game/Graphics/ShroudRenderer.cs @@ -129,8 +129,9 @@ namespace OpenRA.Graphics } var clipRect = Game.viewport.WorldBounds(wr.world); - DrawShroud(wr, clipRect, fogSprites, fogPalette); DrawShroud(wr, clipRect, sprites, shroudPalette); + if (wr.world.WorldActor.HasTrait()) + DrawShroud(wr, clipRect, fogSprites, fogPalette); } void DrawShroud(WorldRenderer wr, Rectangle clip, Sprite[,] s, PaletteReference pal) diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index edf239d036..890b04c2ca 100755 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -1,4 +1,4 @@ - + Debug @@ -178,6 +178,7 @@ + @@ -194,7 +195,7 @@ - + diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index 4182ebf6a4..9b2cfa048c 100755 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -66,7 +66,7 @@ namespace OpenRA.Traits public interface INotifyOwnerChanged { void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner); } public interface INotifyCapture { void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner); } public interface INotifyOtherCaptured { void OnActorCaptured(Actor self, Actor captured, Actor captor, Player oldOwner, Player newOwner); } - public interface IAcceptSpy { void OnInfiltrate(Actor self, Actor spy); } + public interface IAcceptInfiltrator { void OnInfiltrate(Actor self, Actor infiltrator); } public interface IStoreOre { int Capacity { get; } } public interface IToolTip { diff --git a/OpenRA.Game/Traits/World/Fog.cs b/OpenRA.Game/Traits/World/Fog.cs new file mode 100644 index 0000000000..0cad7f43df --- /dev/null +++ b/OpenRA.Game/Traits/World/Fog.cs @@ -0,0 +1,22 @@ +#region Copyright & License Information +/* + * Copyright 2007-2013 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 + +namespace OpenRA.Traits +{ + public class FogInfo : TraitInfo + { + /* + * This tag trait will enable fog of war in ShroudRenderer. + * Don't forget about HiddenUnderFog and FrozenUnderFog. + */ + } + + public class Fog { } +} \ No newline at end of file diff --git a/OpenRA.Mods.Cnc/Missions/Gdi01Script.cs b/OpenRA.Mods.Cnc/Missions/Gdi01Script.cs index 5a6272214f..43975d632a 100644 --- a/OpenRA.Mods.Cnc/Missions/Gdi01Script.cs +++ b/OpenRA.Mods.Cnc/Missions/Gdi01Script.cs @@ -17,10 +17,11 @@ using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Move; using OpenRA.Traits; using OpenRA.Widgets; +using OpenRA.Scripting; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Missions { - class Gdi01ScriptInfo : TraitInfo, Requires { } + class Gdi01ScriptInfo : TraitInfo { } class Gdi01Script: IWorldLoaded, ITick { @@ -34,44 +35,37 @@ namespace OpenRA.Mods.Cnc var b = w.Map.Bounds; Game.MoveViewport(new CPos(b.Left + b.Width/2, b.Top + b.Height/2).ToFloat2()); - Scripting.Media.PlayFMVFullscreen(w, "gdi1.vqa", - () => Scripting.Media.PlayFMVFullscreen(w, "landing.vqa", () => - { - Sound.PlayMusic(Rules.Music["aoi"]); - started = true; - })); + Action afterFMV = () => + { + Sound.PlayMusic(Rules.Music["aoi"]); + started = true; + }; + Game.RunAfterDelay(0, () => Media.PlayFMVFullscreen(w, "gdi1.vqa", () => + Media.PlayFMVFullscreen(w, "landing.vqa", afterFMV))); } public void OnVictory(World w) { - started = false; - Sound.PlayToPlayer(Players["GoodGuy"], "accom1.aud"); - Players["GoodGuy"].WinState = WinState.Won; - Action afterFMV = () => { + Players["GoodGuy"].WinState = WinState.Won; + started = false; Sound.StopMusic(); - Game.Disconnect(); - Ui.ResetAll(); - Game.LoadShellMap(); + Sound.PlayToPlayer(Players["GoodGuy"], "accom1.aud"); }; - Game.RunAfterDelay(5000, () => Scripting.Media.PlayFMVFullscreen(w, "consyard.vqa", afterFMV)); + Game.RunAfterDelay(0, () => Media.PlayFMVFullscreen(w, "consyard.vqa", afterFMV)); } public void OnLose(World w) { - started = false; - Sound.PlayToPlayer(Players["GoodGuy"], "fail1.aud"); - Players["GoodGuy"].WinState = WinState.Lost; - Action afterFMV = () => { + Players["GoodGuy"].WinState = WinState.Lost; + started = false; Sound.StopMusic(); - Game.Disconnect(); - Ui.ResetAll(); - Game.LoadShellMap(); + Sound.PlayToPlayer(Players["GoodGuy"], "fail1.aud"); }; - Game.RunAfterDelay(5000, () => Scripting.Media.PlayFMVFullscreen(w, "gameover.vqa", afterFMV)); + Game.RunAfterDelay(0, () => Media.PlayFMVFullscreen(w, "gameover.vqa", afterFMV)); } int ticks = 0; @@ -93,14 +87,14 @@ namespace OpenRA.Mods.Cnc { var a = self.World.CreateActor(i.ToLowerInvariant(), new TypeDictionary { - new OwnerInit( Players["BadGuy"] ), - new FacingInit( 0 ), - new LocationInit ( Actors["nod0"].Location ), + new OwnerInit(Players["BadGuy"]), + new FacingInit(0), + new LocationInit(Actors["nod0"].Location), }); var mobile = a.Trait(); - a.QueueActivity( mobile.MoveTo( Actors["nod1"].Location, 2 ) ); - a.QueueActivity( mobile.MoveTo( Actors["nod2"].Location, 2 ) ); - a.QueueActivity( mobile.MoveTo( Actors["nod3"].Location, 2 ) ); + a.QueueActivity(mobile.MoveTo(Actors["nod1"].Location, 2 )); + a.QueueActivity(mobile.MoveTo(Actors["nod2"].Location, 2 )); + a.QueueActivity(mobile.MoveTo(Actors["nod3"].Location, 2 )); // Todo: Queue hunt order } }); @@ -172,8 +166,9 @@ namespace OpenRA.Mods.Cnc { var self = Actors[ "Gunboat" ]; var mobile = self.Trait(); - self.QueueActivity(mobile.ScriptedMove( Actors["gunboatLeft"].Location )); - self.QueueActivity(mobile.ScriptedMove( Actors["gunboatRight"].Location )); + self.Trait().stance = UnitStance.AttackAnything; //TODO: this is ignored + self.QueueActivity(mobile.ScriptedMove(Actors["gunboatLeft"].Location)); + self.QueueActivity(mobile.ScriptedMove(Actors["gunboatRight"].Location)); self.QueueActivity(new CallFunc(() => SetGunboatPath())); } diff --git a/OpenRA.Mods.Cnc/Missions/Nod01Script.cs b/OpenRA.Mods.Cnc/Missions/Nod01Script.cs new file mode 100644 index 0000000000..8d2385b291 --- /dev/null +++ b/OpenRA.Mods.Cnc/Missions/Nod01Script.cs @@ -0,0 +1,216 @@ +#region Copyright & License Information +/* + * Copyright 2007-2012 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.Drawing; +using System.Linq; +using OpenRA.FileFormats; +using OpenRA.Mods.Cnc; +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Move; +using OpenRA.Mods.RA.Activities; +using OpenRA.Network; +using OpenRA.Scripting; +using OpenRA.Traits; + +namespace OpenRA.Mods.Cnc.Missions +{ + class Nod01ScriptInfo : TraitInfo, Requires { } + + class Nod01Script : IWorldLoaded, ITick + { + static readonly string[] Objectives = + { + "Assasinate Nikoomba.", + "Level the village." + }; + + int currentObjective; + + Player gdi; + Player nod; + //actors and the likes go here + Actor nikoomba; + Actor vil01; + Actor vil02; + Actor vil03; + Actor vil04; + Actor vil05; + Actor vil06; + Actor vil07; + Actor vil08; + Actor vil09; + Actor vil10; + Actor vil11; + Actor vil12; + Actor vil13; + Actor civ01; + Actor civ02; + Actor civ03; + Actor civ04; + Actor civ05; + Actor civ06; + Actor civ07; + //waypoints + Actor nr1; + Actor nr2; + Actor gr1; + + World world; + + //in the allies01 script stuff was here not needed for me so far + const string NRName = "E1"; + const string GRName = "E2"; + const string GRName2 = "JEEP"; + + void DisplayObjective() + { + Game.AddChatLine(Color.LimeGreen, "Objective", Objectives[currentObjective]); + } + + void MissionFailed(string text) + { + if (nod.WinState != WinState.Undefined) + { + return; + } + nod.WinState = WinState.Lost; + foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == nod && !a.IsDead())) + { + actor.Kill(actor); + } + Game.AddChatLine(Color.Red, "Mission failed", text); + Sound.Play("fail1.aud"); + } + + void MissionAccomplished(string text) + { + if (nod.WinState != WinState.Undefined) + { + return; + } + nod.WinState = WinState.Won; + Game.AddChatLine(Color.Green, "Mission accomplished", text); + Sound.Play("accom1.aud"); + } + + public void Tick(Actor self) + { + if (nod.WinState != WinState.Undefined) + { + return; + } + // display current objective every so often + if (world.FrameNumber % 1500 == 1) + { + DisplayObjective(); + } + //spawns nod reinf + if (world.FrameNumber == 700) + { + NODReinforceNthA(); + Sound.Play("reinfor1.aud"); + } + if (world.FrameNumber == 1400) + { + NODReinforceNthB(); + Sound.Play("reinfor1.aud"); + } + // objectives + if (currentObjective == 0) + { + if (nikoomba.Destroyed) + { + currentObjective++; + DisplayObjective(); + GDIReinforceNth(); + } + } + else if (currentObjective == 1) + { + if (vil01.Destroyed && vil02.Destroyed && vil03.Destroyed && vil04.Destroyed && vil05.Destroyed && vil06.Destroyed && + vil07.Destroyed && vil08.Destroyed && vil09.Destroyed && vil10.Destroyed && vil11.Destroyed && vil12.Destroyed && + vil13.Destroyed && civ01.Destroyed && civ02.Destroyed && civ03.Destroyed && civ04.Destroyed && civ05.Destroyed && + civ06.Destroyed && civ07.Destroyed) + { + MissionAccomplished("Nikoomba was killed and the Village was Destroyed."); + } + } + } + + IEnumerable UnitsNearActor(Actor actor, int range) + { + return world.FindUnitsInCircle(actor.CenterLocation, Game.CellSize * range) + .Where(a => a.IsInWorld && a != world.WorldActor && !a.Destroyed && a.HasTrait() && !a.Owner.NonCombatant); + } + + void NODReinforceNthA() + { + nr1 = world.CreateActor(true, NRName, new TypeDictionary { new OwnerInit(nod), new LocationInit(nr1.Location) }); + nr1 = world.CreateActor(true, NRName, new TypeDictionary { new OwnerInit(nod), new LocationInit(nr1.Location) }); + //nr1.QueueActivity(new Move.Move(nr1.Location - new CVec(0, 2))); + } + + void NODReinforceNthB() + { + nr2 = world.CreateActor(true, NRName, new TypeDictionary { new OwnerInit(nod), new LocationInit(nr2.Location) }); + nr2 = world.CreateActor(true, NRName, new TypeDictionary { new OwnerInit(nod), new LocationInit(nr2.Location) }); + //nr1.QueueActivity(new Move.Move(nr1.Location - new CVec(0, 2))); + } + + void GDIReinforceNth() + { + gr1 = world.CreateActor(true, GRName, new TypeDictionary { new OwnerInit(gdi), new LocationInit(gr1.Location) }); + gr1 = world.CreateActor(true, GRName, new TypeDictionary { new OwnerInit(gdi), new LocationInit(gr1.Location) }); + gr1 = world.CreateActor(true, GRName2, new TypeDictionary { new OwnerInit(gdi), new LocationInit(gr1.Location) }); + //nr1.QueueActivity(new Move.Move(nr1.Location - new CVec(0, 2))); + } + + public void WorldLoaded(World w) + { + world = w; + gdi = w.Players.Single(p => p.InternalName == "GDI"); + nod = w.Players.Single(p => p.InternalName == "NOD"); + var actors = w.WorldActor.Trait().Actors; + nikoomba = actors["Nikoomba"]; + vil01 = actors["Vil01"]; + vil02 = actors["Vil02"]; + vil03 = actors["Vil03"]; + vil04 = actors["Vil04"]; + vil05 = actors["Vil05"]; + vil06 = actors["Vil06"]; + vil07 = actors["Vil07"]; + vil08 = actors["Vil08"]; + vil09 = actors["Vil09"]; + vil10 = actors["Vil10"]; + vil11 = actors["Vil11"]; + vil12 = actors["Vil12"]; + vil13 = actors["Vil13"]; + civ01 = actors["Civ01"]; + civ02 = actors["Civ02"]; + civ03 = actors["Civ03"]; + civ04 = actors["Civ04"]; + civ05 = actors["Civ05"]; + civ06 = actors["Civ06"]; + civ07 = actors["Civ07"]; + nr1 = actors["NODReinforceNthA"]; + nr2 = actors["NODReinforceNthB"]; + gr1 = actors["GDIReinforceNth"]; + Game.MoveViewport(nr1.Location.ToFloat2()); + Action afterFMV = () => + { + Sound.PlayMusic(Rules.Music["aoi"]); + }; + Game.RunAfterDelay(0, () => Media.PlayFMVFullscreen(w, "nod1pre.vqa", () => + Media.PlayFMVFullscreen(w, "nod1.vqa", afterFMV))); + } + } +} diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj index ad7f2da5d9..ebc392bc49 100644 --- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj +++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj @@ -81,6 +81,7 @@ + diff --git a/OpenRA.Mods.RA/Activities/CaptureActor.cs b/OpenRA.Mods.RA/Activities/CaptureActor.cs index a95facf9b2..aa5d910a95 100644 --- a/OpenRA.Mods.RA/Activities/CaptureActor.cs +++ b/OpenRA.Mods.RA/Activities/CaptureActor.cs @@ -22,9 +22,16 @@ namespace OpenRA.Mods.RA.Activities public override Activity Tick(Actor self) { - if (IsCanceled) return NextActivity; - if (target == null || !target.IsInWorld || target.IsDead()) return NextActivity; - if (target.Owner == self.Owner) return NextActivity; + var capturesInfo = self.Info.Traits.Get(); + var health = target.Trait(); + int damage = (int)(0.25 * health.MaxHP); + + if (IsCanceled) + return NextActivity; + if (target == null || !target.IsInWorld || target.IsDead()) + return NextActivity; + if (target.Owner == self.Owner) + return NextActivity; // Need to be next to building, TODO: stop capture when going away var mobile = self.Trait(); @@ -32,10 +39,14 @@ namespace OpenRA.Mods.RA.Activities if ((nearest - mobile.toCell).LengthSquared > 2) return Util.SequenceActivities(new MoveAdjacentTo(Target.FromActor(target)), this); - if (!target.Trait().BeginCapture(target, self)) - return NextActivity; + if (!capturesInfo.Sabotage || (capturesInfo.Sabotage && health.DamageState == DamageState.Heavy)) + { + if (!target.Trait().BeginCapture(target, self)) + return NextActivity; + } + else + target.InflictDamage(self, damage, null); - var capturesInfo = self.Info.Traits.Get(); if (capturesInfo != null && capturesInfo.WastedAfterwards) self.World.AddFrameEndTask(w => self.Destroy()); diff --git a/OpenRA.Mods.RA/Activities/Infiltrate.cs b/OpenRA.Mods.RA/Activities/Infiltrate.cs index a6da250746..b5d82cd3cc 100644 --- a/OpenRA.Mods.RA/Activities/Infiltrate.cs +++ b/OpenRA.Mods.RA/Activities/Infiltrate.cs @@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA.Activities if( !target.OccupiesSpace.OccupiedCells().Any( x => x.First == self.Location ) ) return NextActivity; - foreach (var t in target.TraitsImplementing()) + foreach (var t in target.TraitsImplementing()) t.OnInfiltrate(target, self); if (self.HasTrait()) diff --git a/OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs b/OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs index f881894de8..cf3204c84e 100755 --- a/OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs +++ b/OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs @@ -16,8 +16,25 @@ namespace OpenRA.Mods.RA.Buildings public class CustomBuildTimeValueInfo : TraitInfo { - public readonly int Value = 0; //in milisecons + public readonly int Value = 0; } public class CustomBuildTimeValue { } + + public static class CustomBuildTimeValueExts + { + public static int GetBuildTime(this ActorInfo a) + { + var csv = a.Traits.GetOrDefault(); + if (csv != null) + return csv.Value; + + var cost = a.Traits.Contains() ? a.Traits.Get().Cost : 0; + var time = cost + * (25 * 60) /* frames per min */ + / 1000; + return + time; + } + } } diff --git a/OpenRA.Mods.RA/Captures.cs b/OpenRA.Mods.RA/Captures.cs index 2320f3331a..8f3700b4ef 100644 --- a/OpenRA.Mods.RA/Captures.cs +++ b/OpenRA.Mods.RA/Captures.cs @@ -23,6 +23,7 @@ namespace OpenRA.Mods.RA { public string[] CaptureTypes = {"building"}; public bool WastedAfterwards = true; + public bool Sabotage = false; public object Create(ActorInitializer init) { return new Captures(init.self, this); } } diff --git a/OpenRA.Mods.RA/InfiltrateForCash.cs b/OpenRA.Mods.RA/InfiltrateForCash.cs index e59a4959b0..03fde1bc2c 100644 --- a/OpenRA.Mods.RA/InfiltrateForCash.cs +++ b/OpenRA.Mods.RA/InfiltrateForCash.cs @@ -25,16 +25,16 @@ namespace OpenRA.Mods.RA public object Create(ActorInitializer init) { return new InfiltrateForCash(this); } } - class InfiltrateForCash : IAcceptSpy + class InfiltrateForCash : IAcceptInfiltrator { InfiltrateForCashInfo info; public InfiltrateForCash(InfiltrateForCashInfo info) { this.info = info; } - public void OnInfiltrate(Actor self, Actor spy) + public void OnInfiltrate(Actor self, Actor infiltrator) { var targetResources = self.Owner.PlayerActor.Trait(); - var spyResources = spy.Owner.PlayerActor.Trait(); + var spyResources = infiltrator.Owner.PlayerActor.Trait(); var toTake = (targetResources.Cash + targetResources.Ore) * info.Percentage / 100; var toGive = Math.Max(toTake, info.Minimum); @@ -45,7 +45,7 @@ namespace OpenRA.Mods.RA Sound.PlayToPlayer(self.Owner, info.SoundToVictim); self.World.AddFrameEndTask(w => w.Add(new CashTick(toGive, 30, 2, self.CenterLocation, - spy.Owner.ColorRamp.GetColor(0)))); + infiltrator.Owner.ColorRamp.GetColor(0)))); } } } diff --git a/OpenRA.Mods.RA/InfiltrateForExploration.cs b/OpenRA.Mods.RA/InfiltrateForExploration.cs index 736d1a21aa..85fc6b93b7 100644 --- a/OpenRA.Mods.RA/InfiltrateForExploration.cs +++ b/OpenRA.Mods.RA/InfiltrateForExploration.cs @@ -16,11 +16,11 @@ namespace OpenRA.Mods.RA { class InfiltrateForExplorationInfo : TraitInfo {} - class InfiltrateForExploration : IAcceptSpy + class InfiltrateForExploration : IAcceptInfiltrator { - public void OnInfiltrate(Actor self, Actor spy) + public void OnInfiltrate(Actor self, Actor infiltrator) { - spy.Owner.Shroud.MergeShroud(self.Owner.Shroud); + infiltrator.Owner.Shroud.MergeShroud(self.Owner.Shroud); if (!self.Owner.HasFogVisibility()) self.Owner.Shroud.ResetExploration(); } diff --git a/OpenRA.Mods.RA/InfiltrateForSupportPower.cs b/OpenRA.Mods.RA/InfiltrateForSupportPower.cs index 334fdb92cf..8b7fec37bc 100644 --- a/OpenRA.Mods.RA/InfiltrateForSupportPower.cs +++ b/OpenRA.Mods.RA/InfiltrateForSupportPower.cs @@ -20,7 +20,7 @@ namespace OpenRA.Mods.RA public object Create(ActorInitializer init) { return new InfiltrateForSupportPower(this); } } - class InfiltrateForSupportPower : IAcceptSpy + class InfiltrateForSupportPower : IAcceptInfiltrator { InfiltrateForSupportPowerInfo Info; @@ -29,11 +29,11 @@ namespace OpenRA.Mods.RA Info = info; } - public void OnInfiltrate(Actor self, Actor spy) + public void OnInfiltrate(Actor self, Actor infiltrator) { - spy.World.AddFrameEndTask(w => w.CreateActor(Info.Proxy, new TypeDictionary + infiltrator.World.AddFrameEndTask(w => w.CreateActor(Info.Proxy, new TypeDictionary { - new OwnerInit( spy.Owner ) + new OwnerInit(infiltrator.Owner) })); } } diff --git a/OpenRA.Mods.RA/Infiltrates.cs b/OpenRA.Mods.RA/Infiltrates.cs new file mode 100644 index 0000000000..abd59a6b75 --- /dev/null +++ b/OpenRA.Mods.RA/Infiltrates.cs @@ -0,0 +1,114 @@ +#region Copyright & License Information +/* + * Copyright 2007-2012 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.Drawing; +using System.Linq; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Buildings; +using OpenRA.Mods.RA.Orders; +using OpenRA.Traits; +using OpenRA.Mods.RA.Missions; + +namespace OpenRA.Mods.RA +{ + class InfiltratesInfo : ITraitInfo + { + public string[] InfiltrateTypes = {"Cash", "SupportPower", "Exploration"}; + public object Create(ActorInitializer init) { return new Infiltrates(this); } + } + + class Infiltrates : IIssueOrder, IResolveOrder, IOrderVoice + { + public readonly InfiltratesInfo Info; + + public Infiltrates(InfiltratesInfo info) + { + Info = info; + + } + + public IEnumerable Orders + { + get + { + yield return new InfiltratorOrderTargeter(target => CanInfiltrate(target)); + } + } + + public Order IssueOrder(Actor self, IOrderTargeter order, Target target, bool queued) + { + if (order.OrderID == "Infiltrate") + return new Order(order.OrderID, self, queued) { TargetActor = target.Actor }; + + return null; + } + + public string VoicePhraseForOrder(Actor self, Order order) + { + return (order.OrderString == "Infiltrate" && CanInfiltrate(order.TargetActor)) ? "Attack" : null; + } + + public void ResolveOrder(Actor self, Order order) + { + if (order.OrderString == "Infiltrate") + { + if (!CanInfiltrate(order.TargetActor)) + return; + + self.SetTargetLine(Target.FromOrder(order), Color.Red); + + self.CancelActivity(); + self.QueueActivity(new Enter(order.TargetActor)); + self.QueueActivity(new Infiltrate(order.TargetActor)); + } + } + + bool CanInfiltrate(Actor target) + { + if (Info.InfiltrateTypes.Contains("Cash") && target.HasTrait()) + return true; + + if (Info.InfiltrateTypes.Contains("SupportPower") && target.HasTrait()) + return true; + + if (Info.InfiltrateTypes.Contains("Exploration") && target.HasTrait()) + return true; + + if (Info.InfiltrateTypes.Contains("MissionObjective") && target.HasTrait()) + return true; + + return false; + } + + class InfiltratorOrderTargeter : UnitTraitOrderTargeter + { + readonly Func useEnterCursor; + + public InfiltratorOrderTargeter(Func useEnterCursor) : base("Infiltrate", 7, "enter", true, false) + { + ForceAttack=false; + this.useEnterCursor = useEnterCursor; + } + + public override bool CanTargetActor(Actor self, Actor target, bool forceAttack, bool forceQueued, ref string cursor) + { + if (!base.CanTargetActor(self, target, forceAttack, forceQueued, ref cursor)) + return false; + + if (!useEnterCursor(target)) + cursor = "enter-blocked"; + + return true; + } + } + } +} diff --git a/OpenRA.Mods.RA/Missions/Allies04Script.cs b/OpenRA.Mods.RA/Missions/Allies04Script.cs index 39f4c92f0b..06d7253094 100644 --- a/OpenRA.Mods.RA/Missions/Allies04Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies04Script.cs @@ -410,7 +410,7 @@ namespace OpenRA.Mods.RA.Missions }; lab = actors["Lab"]; - lab.AddTrait(new InfiltrateAction(OnLabInfiltrated)); + lab.AddTrait(new InfiltrateForMissionObjective(OnLabInfiltrated)); lab.AddTrait(new TransformedAction(self => lab = self)); reinforcementsEntryPoint = actors["ReinforcementsEntryPoint"]; @@ -456,13 +456,17 @@ namespace OpenRA.Mods.RA.Missions public object Create(ActorInitializer init) { return new Allies04Hijackable(init.self); } } - class Allies04Hijackable : IAcceptSpy, INotifyPassengerExited + class Allies04Hijackable : IAcceptInfiltrator, INotifyPassengerExited { public Player OldOwner; + void OnTruckHijacked(Actor spy) { } + public Allies04Hijackable(Actor self) { OldOwner = self.Owner; + + self.AddTrait(new InfiltrateForMissionObjective(OnTruckHijacked)); } public void OnInfiltrate(Actor self, Actor spy) diff --git a/OpenRA.Mods.RA/Missions/MissionUtils.cs b/OpenRA.Mods.RA/Missions/MissionUtils.cs index 885d2b810f..7b8e743a49 100644 --- a/OpenRA.Mods.RA/Missions/MissionUtils.cs +++ b/OpenRA.Mods.RA/Missions/MissionUtils.cs @@ -230,11 +230,11 @@ namespace OpenRA.Mods.RA.Missions } } - class InfiltrateAction : IAcceptSpy + class InfiltrateForMissionObjective : IAcceptInfiltrator { Action a; - public InfiltrateAction(Action a) + public InfiltrateForMissionObjective(Action a) { this.a = a; } diff --git a/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs b/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs index 7570160b19..1e7feb2864 100644 --- a/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs +++ b/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs @@ -329,7 +329,7 @@ namespace OpenRA.Mods.RA.Missions world.CreateActor("camera", greece, provingGroundsCameraPoint.Location, null); superTankDome = actors["SuperTankDome"]; - superTankDome.AddTrait(new InfiltrateAction(OnSuperTankDomeInfiltrated)); + superTankDome.AddTrait(new InfiltrateForMissionObjective(OnSuperTankDomeInfiltrated)); superTankDome.AddTrait(new TransformedAction(self => superTankDome = self)); Game.MoveViewport(startEntryPoint.Location.ToFloat2()); diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 353821fbd6..3742e613b8 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -409,6 +409,7 @@ + diff --git a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs index a77bc145a6..f535020bea 100755 --- a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs +++ b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs @@ -8,6 +8,7 @@ */ #endregion +using System; using System.Collections.Generic; using System.Linq; using OpenRA.Mods.RA.Buildings; @@ -17,13 +18,21 @@ namespace OpenRA.Mods.RA { public class ClassicProductionQueueInfo : ProductionQueueInfo, Requires, Requires, Requires { + public readonly float SpeedUp = 0; + public readonly float MaxSpeedUp = 0; + public override object Create(ActorInitializer init) { return new ClassicProductionQueue(init.self, this); } } public class ClassicProductionQueue : ProductionQueue, ISync { - public ClassicProductionQueue( Actor self, ClassicProductionQueueInfo info ) - : base(self, self, info) {} + public new ClassicProductionQueueInfo Info; + + public ClassicProductionQueue(Actor self, ClassicProductionQueueInfo info) + : base(self, self, info) + { + this.Info = info; + } [Sync] bool isActive = false; @@ -71,5 +80,29 @@ namespace OpenRA.Mods.RA } return false; } + + public override int GetBuildTime(String unitString) + { + var unit = Rules.Info[unitString]; + if (unit == null || ! unit.Traits.Contains()) + return 0; + + if (self.World.LobbyInfo.GlobalSettings.AllowCheats && self.Owner.PlayerActor.Trait().FastBuild) + return 0; + + var selfsameBuildings = self.World.ActorsWithTrait() + .Where(p => p.Trait.Info.Produces.Contains(unit.Traits.Get().Queue)) + .Where(p => p.Actor.Owner == self.Owner).ToArray(); + + var selfsameQueue = Rules.Info["player"].Traits.WithInterface() + .First(p => selfsameBuildings.First().Trait.Info.Produces.Contains(p.Type)); + + var speedUp = 1 - (selfsameQueue.SpeedUp * (selfsameBuildings.Count() - 1)).Clamp(0, selfsameQueue.MaxSpeedUp); + + var time = unit.GetBuildTime() * Info.BuildSpeed * speedUp; + + + return (int) time; + } } } diff --git a/OpenRA.Mods.RA/Player/ProductionQueue.cs b/OpenRA.Mods.RA/Player/ProductionQueue.cs index 620ff27bb3..93ac9835db 100755 --- a/OpenRA.Mods.RA/Player/ProductionQueue.cs +++ b/OpenRA.Mods.RA/Player/ProductionQueue.cs @@ -253,21 +253,16 @@ namespace OpenRA.Mods.RA } } - public int GetBuildTime(String unitString) + virtual public int GetBuildTime(String unitString) { var unit = Rules.Info[unitString]; if (unit == null || ! unit.Traits.Contains()) return 0; - if (self.World.LobbyInfo.GlobalSettings.AllowCheats && self.Owner.PlayerActor.Trait().FastBuild) return 0; - var cost = unit.Traits.Contains() ? unit.Traits.Get().Cost : 0; - var time = cost - * Info.BuildSpeed - * (25 * 60) /* frames per min */ /* todo: build acceleration, if we do that */ - / 1000; + if (self.World.LobbyInfo.GlobalSettings.AllowCheats && self.Owner.PlayerActor.Trait().FastBuild) + return 0; - if (unit.Traits.Contains()) - time = unit.Traits.Get().Value * (1 / Info.BuildSpeed); + var time = unit.GetBuildTime() * Info.BuildSpeed; return (int) time; } diff --git a/OpenRA.Mods.RA/RALoadScreen.cs b/OpenRA.Mods.RA/RALoadScreen.cs index ed0e0698c2..d4e8184aea 100644 --- a/OpenRA.Mods.RA/RALoadScreen.cs +++ b/OpenRA.Mods.RA/RALoadScreen.cs @@ -41,7 +41,7 @@ namespace OpenRA.Mods.RA r = Game.Renderer; if (r == null) return; - var s = new Sheet("mods/ra/uibits/loadscreen.png"); + var s = new Sheet(Info["LoadScreenImage"]); Logo = new Sprite(s, new Rectangle(0,0,256,256), TextureChannel.Alpha); Stripe = new Sprite(s, new Rectangle(256,0,256,256), TextureChannel.Alpha); StripeRect = new Rectangle(0, Renderer.Resolution.Height/2 - 128, Renderer.Resolution.Width, 256); diff --git a/OpenRA.Mods.RA/Spy.cs b/OpenRA.Mods.RA/Spy.cs index 7d74fdee5c..29d05d483d 100644 --- a/OpenRA.Mods.RA/Spy.cs +++ b/OpenRA.Mods.RA/Spy.cs @@ -84,15 +84,12 @@ namespace OpenRA.Mods.RA { get { - yield return new UnitTraitOrderTargeter( "SpyInfiltrate", 7, "enter", true, false ) { ForceAttack=false }; - yield return new UnitTraitOrderTargeter( "Disguise", 7, "ability", true, true ) { ForceAttack=false }; + yield return new UnitTraitOrderTargeter("Disguise", 7, "ability", true, true) { ForceAttack=false }; } } public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) { - if( order.OrderID == "SpyInfiltrate" ) - return new Order(order.OrderID, self, queued) { TargetActor = target.Actor }; if( order.OrderID == "Disguise" ) return new Order(order.OrderID, self, queued) { TargetActor = target.Actor }; return null; @@ -100,14 +97,6 @@ namespace OpenRA.Mods.RA public void ResolveOrder(Actor self, Order order) { - if (order.OrderString == "SpyInfiltrate") - { - self.SetTargetLine(Target.FromOrder(order), Color.Red); - - self.CancelActivity(); - self.QueueActivity(new Enter(order.TargetActor)); - self.QueueActivity(new Infiltrate(order.TargetActor)); - } if (order.OrderString == "Disguise") { var target = order.TargetActor == self ? null : order.TargetActor; @@ -121,8 +110,7 @@ namespace OpenRA.Mods.RA public string VoicePhraseForOrder(Actor self, Order order) { - return (order.OrderString == "Disguise" - || order.OrderString == "SpyInfiltrate") ? "Attack" : null; + return (order.OrderString == "Disguise") ? "Attack" : null; } public Color RadarColorOverride(Actor self) diff --git a/mods/cnc-classic/chrome.yaml b/mods/cnc-classic/chrome.yaml new file mode 100644 index 0000000000..5f7630db6c --- /dev/null +++ b/mods/cnc-classic/chrome.yaml @@ -0,0 +1,528 @@ +chrome-gdi: chrome-gdi.png + specialbin-top: 0,0,30,51 + specialbin-middle: 0,51,30,51 + specialbin-bottom: 0,153,30,39 + moneybin: 192,0,320,32 + tooltip-bg: 0,288,272,136 + +radar-gdi: chrome-gdi.png + left: 297,31,9,192 + right: 498,31,9,192 + bottom: 297,223,210,30 + bg: 306,31,192,192 + +power-gdi: chrome-gdi.png + power-indicator: 187,4,4,7 + +palette-gdi: chrome-gdi.png + top: 297,288,201,9 + dock-top: 498,274,14,23 + bottom: 297,489,201,9 + dock-bottom: 498,489,14,23 + bg-0: 297,297,201,48 + dock-0: 498,297,14,48 + bg-1: 297,345,201,48 + dock-1: 498,345,14,48 + bg-2: 297,393,201,48 + dock-2: 498,393,14,48 + bg-3: 297,441,201,48 + dock-3: 498,441,14,48 + +digits-gdi: chrome-gdi.png + 0: 32,0,13,17 + 1: 45,0,13,17 + 2: 58,0,13,17 + 3: 71,0,13,17 + 4: 84,0,13,17 + 5: 97,0,13,17 + 6: 110,0,13,17 + 7: 123,0,13,17 + 8: 136,0,13,17 + 9: 149,0,13,17 + +chrome-nod: chrome-nod.png + specialbin-top: 0,0,30,51 + specialbin-middle: 0,51,30,51 + specialbin-bottom: 0,153,30,39 + moneybin: 192,0,320,32 + tooltip-bg: 0,288,272,136 + +radar-nod: chrome-nod.png + left: 297,31,9,192 + right: 498,31,9,192 + bottom: 297,223,210,30 + bg: 306,31,192,192 + power-indicator: 187,4,4,7 + +power-nod: chrome-nod.png + power-indicator: 187,4,4,7 + +palette-nod: chrome-nod.png + top: 297,288,201,9 + dock-top: 498,274,14,23 + bottom: 297,489,201,9 + dock-bottom: 498,489,14,23 + bg-0: 297,297,201,48 + dock-0: 498,297,14,48 + bg-1: 297,345,201,48 + dock-1: 498,345,14,48 + bg-2: 297,393,201,48 + dock-2: 498,393,14,48 + bg-3: 297,441,201,48 + dock-3: 498,441,14,48 + +digits-nod: chrome-nod.png + 0: 32,0,13,17 + 1: 45,0,13,17 + 2: 58,0,13,17 + 3: 71,0,13,17 + 4: 84,0,13,17 + 5: 97,0,13,17 + 6: 110,0,13,17 + 7: 123,0,13,17 + 8: 136,0,13,17 + 9: 149,0,13,17 + +tabs-selected: tabs.png + gdi-Building: 0,0,27,41 + gdi-Defense: 0,40,27,41 + gdi-Infantry: 0,80,27,41 + gdi-Vehicle: 0,120,27,41 + gdi-Aircraft: 0,160,27,41 + gdi-Ship: 0,200,27,41 + nod-Building: 80,0,27,41 + nod-Defense: 80,40,27,41 + nod-Infantry: 80,80,27,41 + nod-Vehicle: 80,120,27,41 + nod-Aircraft: 80,160,27,41 + nod-Ship: 80,200,27,41 + +tabs-ready: tabs.png + gdi-Building: 27,0,27,41 + gdi-Defense: 27,40,27,41 + gdi-Infantry: 27,80,27,41 + gdi-Vehicle: 27,120,27,41 + gdi-Aircraft: 27,160,27,41 + gdi-Ship: 27,200,27,41 + nod-Building: 107,0,27,41 + nod-Defense: 107,40,27,41 + nod-Infantry: 107,80,27,41 + nod-Vehicle: 107,120,27,41 + nod-Aircraft: 107,160,27,41 + nod-Ship: 107,200,27,41 + +tabs-normal: tabs.png + gdi-Building: 54,0,27,41 + gdi-Defense: 54,40,27,41 + gdi-Infantry: 54,80,27,41 + gdi-Vehicle: 54,120,27,41 + gdi-Aircraft: 54,160,27,41 + gdi-Ship: 54,200,27,41 + nod-Building: 134,0,27,41 + nod-Defense: 134,40,27,41 + nod-Infantry: 134,80,27,41 + nod-Vehicle: 134,120,27,41 + nod-Aircraft: 134,160,27,41 + nod-Ship: 134,200,27,41 + +dialog2: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +dialog3: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +dialog4: dialog.png + border-t: 773,0,52,6 + border-b: 773,58,52,6 + border-l: 768,5,6,54 + border-r: 826,5,6,54 + corner-tl: 768,0,6,6 + corner-tr: 826,0,6,6 + corner-bl: 768,58,6,6 + corner-br: 826,58,6,6 + background: 773,5,52,52 + +dialog: dialog.png + background: 0,0,480,480 + border-r: 489,0,9,192 + border-l: 480,0,9,192 + border-b: 0,489,191,9 + border-t: 0,480,191,9 + corner-tl: 191,480,9,9 + corner-tr: 200,480,9,9 + corner-bl: 191,489,9,9 + corner-br: 200,489,9,9 + +spawnpoints: spawnpoints.png + unowned: 528,128,16,16 + owned: 512,128,16,16 + +strategic: strategic.png + unowned: 0,0,32,32 + critical_unowned: 0,32,32,32 + enemy_owned: 32,32,32,32 + player_owned: 96,0,32,32 + +sell-button: buttons.png + normal: 0,0,34,28 + pressed: 34,0,34,28 + disabled: 68,0,34,28 + +repair-button: buttons.png + normal: 0,28,34,28 + pressed: 34,28,34,28 + disabled: 68,28,34,28 + +power-button: buttons.png + normal: 0,56,34,28 + pressed: 34,56,34,28 + disabled: 68,56,34,28 + +flags: buttons.png + gdi: 30,84,30,15 + nod: 0,84,30,15 + random: 60,84,30,15 + spectator: 60,84,30,15 + +music: musicplayer.png + pause: 0,0,25,25 + stop: 28,0,25,25 + play: 56,0,25,25 + next: 84,0,25,25 + prev: 112,0,25,25 + +scrollbar: buttons.png + down_arrow: 16,112,16,16 + down_pressed: 16,112,16,16 + up_arrow: 32,112,16,16 + up_pressed: 32,112,16,16 + +# A copy of dialog3 +progressbar-bg: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog2 +progressbar-thumb: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +button: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +button-highlighted: dialog.png + background: 513,145,126,126 + border-r: 639,145,1,126 + border-l: 512,145,1,126 + border-b: 513,271,126,1 + border-t: 513,144,126,1 + corner-tl: 512,144,1,1 + corner-tr: 594,144,1,1 + corner-bl: 512,271,1,1 + corner-br: 594,271,1,1 + +# A copy of dialog2 +button-hover: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +button-hover-highlighted: dialog.png + background: 513,145,126,126 + border-r: 639,145,1,126 + border-l: 512,145,1,126 + border-b: 513,271,126,1 + border-t: 513,144,126,1 + corner-tl: 512,144,1,1 + corner-tr: 594,144,1,1 + corner-bl: 512,271,1,1 + corner-br: 594,271,1,1 + +# A copy of dialog2 +button-disabled: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +button-disabled-highlighted: dialog.png + background: 513,145,126,126 + border-r: 639,145,1,126 + border-l: 512,145,1,126 + border-b: 513,271,126,1 + border-t: 513,144,126,1 + corner-tl: 512,144,1,1 + corner-tr: 594,144,1,1 + corner-bl: 512,271,1,1 + corner-br: 594,271,1,1 + +# A copy of dialog3 +button-pressed: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +button-pressed-highlighted: dialog.png + background: 641,145,126,126 + border-r: 767,145,1,126 + border-l: 640,145,1,126 + border-b: 641,271,126,1 + border-t: 641,144,126,1 + corner-tl: 640,144,1,1 + corner-tr: 722,144,1,1 + corner-bl: 640,271,1,1 + corner-br: 722,271,1,1 + +scrollthumb: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +scrollthumb-hover: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +scrollthumb-disabled: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +scrollthumb-pressed: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +textfield: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +textfield-hover: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +textfield-disabled: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +textfield-focused: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +scrollpanel-bg: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + + +# A copy of dialog2 +slider-tick: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +slider-track: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +checkbox-bits: buttons.png + checked: 0,112,16,16 + +# A copy of dialog3 +checkbox-hover: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox-disabled: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +scrollitem-selected: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog2 +scrollitem-hover: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +misc: misc.png + isadmin: 0,0,10,15 diff --git a/mods/cnc-classic/explosions.yaml b/mods/cnc-classic/explosions.yaml new file mode 100644 index 0000000000..61ad239875 --- /dev/null +++ b/mods/cnc-classic/explosions.yaml @@ -0,0 +1,94 @@ +UnitExplodeSmall: + Warhead: +# Damage: 40 +# Spread: 10 +# Versus: +# None: 90% +# Wood: 75% +# Light: 60% +# Heavy: 25% + Explosion: 4 + InfDeath: 4 + ImpactSound: xplobig4 + +UnitExplode: + Warhead: + Damage: 500 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: 8 + InfDeath: 4 + ImpactSound: xplobig6 + +NapalmExplode: + Warhead: + Spread: 8 + Versus: + None: 90% + Wood: 100% + Light: 60% + Heavy: 25% + Concrete: 50% + InfDeath: 5 + Explosion: 3 +# Explosion: big_napalm + ImpactSound: xplobig6 + SmudgeType: Scorch + Damage: 50 + +BigNapalmExplode: # For Flame tank, etc. + Warhead: + Damage: 50 + Spread: 18 + Versus: + None: 90% + Wood: 100% + Light: 60% + Heavy: 25% + Concrete: 50% + InfDeath: 5 + Explosion: big_napalm + ImpactSound: xplobig6 + SmudgeType: Scorch + +GrenadierExplode: + Warhead: + Damage: 25 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: 5 + InfDeath: 3 + ImpactSound: xplosml2 + +MammothExplode: #Big artillery explosion, without as much damage + Warhead: + Damage: 50 + Spread: 18 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: 8 + InfDeath: 4 + ImpactSound: xplobig6 + +McvExplode: + Warhead: + Explosion: building + InfDeath: 4 + ImpactSound: xplobig6 + +HeliExplode: + Warhead: + Explosion: veh1 + InfDeath: 4 + ImpactSound: xplos diff --git a/mods/cnc-classic/maps/a_long_way_from_home.oramap b/mods/cnc-classic/maps/a_long_way_from_home.oramap new file mode 100644 index 0000000000..597a3da4d5 Binary files /dev/null and b/mods/cnc-classic/maps/a_long_way_from_home.oramap differ diff --git a/mods/cnc-classic/maps/cactus_valley.oramap b/mods/cnc-classic/maps/cactus_valley.oramap new file mode 100644 index 0000000000..7adc2140fc Binary files /dev/null and b/mods/cnc-classic/maps/cactus_valley.oramap differ diff --git a/mods/cnc-classic/maps/desert_madness.oramap b/mods/cnc-classic/maps/desert_madness.oramap new file mode 100644 index 0000000000..a7b3ad5e49 Binary files /dev/null and b/mods/cnc-classic/maps/desert_madness.oramap differ diff --git a/mods/cnc-classic/maps/diverse_region.oramap b/mods/cnc-classic/maps/diverse_region.oramap new file mode 100644 index 0000000000..d9204e76f9 Binary files /dev/null and b/mods/cnc-classic/maps/diverse_region.oramap differ diff --git a/mods/cnc-classic/maps/emerald_highlands.oramap b/mods/cnc-classic/maps/emerald_highlands.oramap new file mode 100644 index 0000000000..e277fa582a Binary files /dev/null and b/mods/cnc-classic/maps/emerald_highlands.oramap differ diff --git a/mods/cnc-classic/maps/eye_of_the_storm.oramap b/mods/cnc-classic/maps/eye_of_the_storm.oramap new file mode 100644 index 0000000000..4cebb58a4f Binary files /dev/null and b/mods/cnc-classic/maps/eye_of_the_storm.oramap differ diff --git a/mods/cnc-classic/maps/four_corners.oramap b/mods/cnc-classic/maps/four_corners.oramap new file mode 100644 index 0000000000..7db72cec69 Binary files /dev/null and b/mods/cnc-classic/maps/four_corners.oramap differ diff --git a/mods/cnc/maps/gdi01/map.bin b/mods/cnc-classic/maps/gdi01/map.bin similarity index 100% rename from mods/cnc/maps/gdi01/map.bin rename to mods/cnc-classic/maps/gdi01/map.bin diff --git a/mods/cnc/maps/gdi01/map.yaml b/mods/cnc-classic/maps/gdi01/map.yaml similarity index 97% rename from mods/cnc/maps/gdi01/map.yaml rename to mods/cnc-classic/maps/gdi01/map.yaml index 080c4005be..a045a72e6b 100644 --- a/mods/cnc/maps/gdi01/map.yaml +++ b/mods/cnc-classic/maps/gdi01/map.yaml @@ -1,12 +1,12 @@ -Selectable: False +Selectable: True MapFormat: 5 -RequiresMod: cnc +RequiresMod: cnc-classic Title: Storm the Beachhead -Description: Remake of the first GDI Mission +Description: Conversion of the first GDI Mission Author: Westwood Studios @@ -18,7 +18,7 @@ Bounds: 35,39,27,23 UseAsShellmap: False -Type: Conquest +Type: Campaign Players: PlayerReference@BadGuy: @@ -450,6 +450,8 @@ Rules: Gdi01Script: Player: -ConquestVictoryConditions: + PROC: + -Buildable: SILO: -Buildable: WEAP: @@ -460,13 +462,11 @@ Rules: -Buildable: FIX: -Buildable: - HPAD: + HPAD.GDI: -Buildable: EYE: -Buildable: - SBAG: - -Buildable: - BRIK: + GUN: -Buildable: GTWR: -Buildable: @@ -480,6 +480,9 @@ Rules: -Buildable: RMBO: -Buildable: + BOAT: + Mobile: + OnRails: false # workaround a crash Sequences: diff --git a/mods/cnc-classic/maps/green_acres.oramap b/mods/cnc-classic/maps/green_acres.oramap new file mode 100644 index 0000000000..84299c9496 Binary files /dev/null and b/mods/cnc-classic/maps/green_acres.oramap differ diff --git a/mods/cnc-classic/maps/king_of_the_mountain.oramap b/mods/cnc-classic/maps/king_of_the_mountain.oramap new file mode 100644 index 0000000000..fdbe67c3d2 Binary files /dev/null and b/mods/cnc-classic/maps/king_of_the_mountain.oramap differ diff --git a/mods/cnc-classic/maps/king_takes_pawn.oramap b/mods/cnc-classic/maps/king_takes_pawn.oramap new file mode 100644 index 0000000000..3c5e2dd92e Binary files /dev/null and b/mods/cnc-classic/maps/king_takes_pawn.oramap differ diff --git a/mods/cnc-classic/maps/lakefront_clash.oramap b/mods/cnc-classic/maps/lakefront_clash.oramap new file mode 100644 index 0000000000..6d4eaf417a Binary files /dev/null and b/mods/cnc-classic/maps/lakefront_clash.oramap differ diff --git a/mods/cnc-classic/maps/lost_arena.oramap b/mods/cnc-classic/maps/lost_arena.oramap new file mode 100644 index 0000000000..00e15cc87a Binary files /dev/null and b/mods/cnc-classic/maps/lost_arena.oramap differ diff --git a/mods/cnc-classic/maps/marooned.oramap b/mods/cnc-classic/maps/marooned.oramap new file mode 100644 index 0000000000..d8e4fda337 Binary files /dev/null and b/mods/cnc-classic/maps/marooned.oramap differ diff --git a/mods/cnc-classic/maps/monkey_in_the_middle.oramap b/mods/cnc-classic/maps/monkey_in_the_middle.oramap new file mode 100644 index 0000000000..d7a9c2fef9 Binary files /dev/null and b/mods/cnc-classic/maps/monkey_in_the_middle.oramap differ diff --git a/mods/cnc-classic/maps/moosehead_barrens.oramap b/mods/cnc-classic/maps/moosehead_barrens.oramap new file mode 100644 index 0000000000..fea806be19 Binary files /dev/null and b/mods/cnc-classic/maps/moosehead_barrens.oramap differ diff --git a/mods/cnc-classic/maps/nod01/map.bin b/mods/cnc-classic/maps/nod01/map.bin new file mode 100644 index 0000000000..c419f2e7f1 Binary files /dev/null and b/mods/cnc-classic/maps/nod01/map.bin differ diff --git a/mods/cnc-classic/maps/nod01/map.yaml b/mods/cnc-classic/maps/nod01/map.yaml new file mode 100644 index 0000000000..9eefe03e62 --- /dev/null +++ b/mods/cnc-classic/maps/nod01/map.yaml @@ -0,0 +1,299 @@ +Selectable: True + +MapFormat: 5 + +Title: Nikoomba's Demise + +Description: Conversion of first Nod mission from Cnc + +Author: Dan9550 + +Tileset: DESERT + +MapSize: 64,64 + +Bounds: 21,14,37,24 + +UseAsShellmap: False + +Type: Campaign + +Players: + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: gdi + PlayerReference@Creeps: + Name: Creeps + NonCombatant: True + Race: gdi + PlayerReference@GDI: + Name: GDI + Race: gdi + ColorRamp: 31,222,183,24 + Allies: Creeps + Enemies: NOD + PlayerReference@NOD: + Name: NOD + Playable: True + AllowBots: False + LockRace: True + Race: nod + LockColor: True + ColorRamp: 3,255,127,28 + LockSpawn: True + LockTeam: True + Enemies: GDI,Neutral + +Actors: + Actor0: rock2 + Location: 54,14 + Owner: Neutral + Actor1: t08 + Location: 47,15 + Owner: Neutral + Actor2: t18 + Location: 32,16 + Owner: Neutral + Actor3: t08 + Location: 47,16 + Owner: Neutral + Actor4: t08 + Location: 21,18 + Owner: Neutral + Actor5: t18 + Location: 32,21 + Owner: Neutral + Actor6: t08 + Location: 27,22 + Owner: Neutral + Actor7: t08 + Location: 23,24 + Owner: Neutral + Actor8: rock1 + Location: 21,25 + Owner: Neutral + Actor9: t08 + Location: 56,25 + Owner: Neutral + Actor10: t08 + Location: 23,26 + Owner: Neutral + Actor11: t08 + Location: 24,26 + Owner: Neutral + Actor12: t08 + Location: 28,30 + Owner: Neutral + Actor13: t08 + Location: 50,30 + Owner: Neutral + Actor14: t08 + Location: 39,31 + Owner: Neutral + Actor15: rock1 + Location: 31,34 + Owner: Neutral + Actor16: t08 + Location: 55,37 + Owner: Neutral + Actor17: t08 + Location: 30,51 + Owner: Neutral + Actor18: t08 + Location: 58,53 + Owner: Neutral + Actor19: t08 + Location: 43,56 + Owner: Neutral + Actor20: rock1 + Location: 24,58 + Owner: Neutral + Actor21: t08 + Location: 52,58 + Owner: Neutral + Actor22: rock1 + Location: 55,58 + Owner: Neutral + Actor23: t08 + Location: 29,59 + Owner: Neutral + Actor24: rock2 + Location: 31,61 + Owner: Neutral + Vil01: v21 + Location: 29,23 + Owner: Neutral + Vil02: v24 + Location: 22,24 + Owner: Neutral + Vil03: v24 + Location: 21,16 + Owner: Neutral + Vil04: v32 + Location: 21,20 + Owner: Neutral + Vil05: v27 + Location: 22,21 + Owner: Neutral + Vil06: v20 + Location: 21,21 + Owner: Neutral + Vil07: v26 + Location: 22,23 + Owner: Neutral + Vil08: v20 + Location: 27,23 + Owner: Neutral + Vil09: v22 + Location: 26,23 + Owner: Neutral + Vil10: v23 + Location: 26,22 + Owner: Neutral + Vil11: v26 + Location: 26,21 + Owner: Neutral + Vil12: v25 + Location: 29,21 + Owner: Neutral + Vil13: v30 + Location: 32,18 + Owner: Neutral + Civ01: c9 + Location: 28,20 + Owner: Neutral + Civ02: c6 + Location: 28,19 + Owner: Neutral + Civ03: c8 + Location: 27,19 + Owner: Neutral + Civ04: c7 + Location: 29,20 + Owner: Neutral + Civ05: c4 + Location: 31,19 + Owner: Neutral + Civ06: c2 + Location: 30,19 + Owner: Neutral + Civ07: c5 + Location: 29,19 + Owner: Neutral + Nikoomba: c10 + Location: 29,16 + Owner: Neutral + Actor46: e1 + Location: 28,28 + Owner: GDI + Actor47: e1 + Location: 29,28 + Owner: GDI + Actor48: e1 + Location: 29,30 + Owner: GDI + Actor49: e1 + Location: 33,35 + Owner: GDI + Actor50: e1 + Location: 34,36 + Owner: GDI + Actor51: e1 + Location: 41,19 + Owner: GDI + Actor52: e1 + Location: 40,19 + Owner: GDI + Actor53: e1 + Location: 40,18 + Owner: GDI + Actor54: e1 + Location: 40,31 + Owner: GDI + Actor55: e1 + Location: 43,34 + Owner: GDI + Actor56: e1 + Location: 46,22 + Owner: GDI + Actor57: e1 + Location: 51,25 + Owner: GDI + Actor58: e1 + Location: 51,30 + Owner: GDI + Actor59: e1 + Location: 55,33 + Owner: GDI + Actor60: e1 + Location: 56,32 + Owner: GDI + Actor61: e1 + Location: 52,17 + Owner: NOD + Actor62: e1 + Location: 51,17 + Owner: NOD + Actor63: e1 + Location: 51,16 + Owner: NOD + Actor64: e1 + Location: 52,16 + Owner: NOD + Actor65: e1 + Location: 55,17 + Owner: NOD + Actor66: e1 + Location: 56,17 + Owner: NOD + Actor67: e1 + Location: 56,16 + Owner: NOD + Actor68: e1 + Location: 55,16 + Owner: NOD + Actor69: bggy + Location: 53,16 + Owner: NOD + Actor70: bggy + Location: 54,16 + Owner: NOD + NODReinforceNthA: waypoint + Location: 52,18 + Owner: NOD + GDIReinforceNth: waypoint + Location: 24,15 + Owner: GDI + NODReinforceNthB: waypoint + Location: 55,18 + Owner: NOD + Actor27: jeep + Location: 31,28 + Owner: GDI + Actor28: jeep + Location: 28,29 + Owner: GDI + +Smudges: + +Rules: + Player: + -ConquestVictoryConditions: + World: + -CrateSpawner: + -SpawnMPUnits: + -MPStartLocations: + Nod01Script: + C10: + Tooltip: + Name: Nikoomba + +Sequences: + +Weapons: + +Voices: + +Notifications: diff --git a/mods/cnc-classic/maps/northern_explosion.oramap b/mods/cnc-classic/maps/northern_explosion.oramap new file mode 100644 index 0000000000..0c197d6597 Binary files /dev/null and b/mods/cnc-classic/maps/northern_explosion.oramap differ diff --git a/mods/cnc-classic/maps/nowhere_to_hide.oramap b/mods/cnc-classic/maps/nowhere_to_hide.oramap new file mode 100644 index 0000000000..b6be3e2026 Binary files /dev/null and b/mods/cnc-classic/maps/nowhere_to_hide.oramap differ diff --git a/mods/cnc-classic/maps/one_pass_fits_all.oramap b/mods/cnc-classic/maps/one_pass_fits_all.oramap new file mode 100644 index 0000000000..828b568a3e Binary files /dev/null and b/mods/cnc-classic/maps/one_pass_fits_all.oramap differ diff --git a/mods/cnc-classic/maps/pitfall.oramap b/mods/cnc-classic/maps/pitfall.oramap new file mode 100644 index 0000000000..1eb2a947df Binary files /dev/null and b/mods/cnc-classic/maps/pitfall.oramap differ diff --git a/mods/cnc-classic/maps/red_sands.oramap b/mods/cnc-classic/maps/red_sands.oramap new file mode 100644 index 0000000000..ea779c8446 Binary files /dev/null and b/mods/cnc-classic/maps/red_sands.oramap differ diff --git a/mods/cnc-classic/maps/river_raid.oramap b/mods/cnc-classic/maps/river_raid.oramap new file mode 100644 index 0000000000..f42a2606de Binary files /dev/null and b/mods/cnc-classic/maps/river_raid.oramap differ diff --git a/mods/cnc-classic/maps/sand_trap.oramap b/mods/cnc-classic/maps/sand_trap.oramap new file mode 100644 index 0000000000..005fb68926 Binary files /dev/null and b/mods/cnc-classic/maps/sand_trap.oramap differ diff --git a/mods/cnc-classic/maps/shellmap/map.bin b/mods/cnc-classic/maps/shellmap/map.bin new file mode 100755 index 0000000000..e909f037b9 Binary files /dev/null and b/mods/cnc-classic/maps/shellmap/map.bin differ diff --git a/mods/cnc-classic/maps/shellmap/map.yaml b/mods/cnc-classic/maps/shellmap/map.yaml new file mode 100755 index 0000000000..0731e2ee89 --- /dev/null +++ b/mods/cnc-classic/maps/shellmap/map.yaml @@ -0,0 +1,1028 @@ +Selectable: False + +MapFormat: 5 + +RequiresMod: cnc-classic + +Title: shellmap + +Description: CNC Shellmap + +Author: Chris Forbes + +Tileset: WINTER + +MapSize: 96,48 + +Bounds: 8,1,80,45 + +UseAsShellmap: True + +Type: Conquest + +Players: + PlayerReference@Nod: + Name: Nod + Race: nod + ColorRamp: 3,255,127,28 + Allies: Nod + Enemies: GDI,Creeps + PlayerReference@GDI: + Name: GDI + Race: gdi + ColorRamp: 31,222,183,24 + Allies: GDI + Enemies: Nod,Creeps + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: gdi + PlayerReference@Multi0: + Name: Multi0 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi1: + Name: Multi1 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi2: + Name: Multi2 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi3: + Name: Multi3 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi4: + Name: Multi4 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi5: + Name: Multi5 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Creeps: + Name: Creeps + NonCombatant: True + Race: Random + Enemies: Nod,GDI,Multi0,Multi1,Multi2,Multi3,Multi4,Multi5 + +Actors: + boat1: boat + Location: 45,33 + Owner: GDI + boat2: boat + Location: 39,37 + Owner: GDI + boat3: boat + Location: 70,33 + Owner: GDI + boat4: boat + Location: 79,37 + Owner: GDI + Actor4: fix + Location: 59,44 + Owner: GDI + Actor5: tran + Location: 60,45 + Owner: GDI + Actor6: cycl + Location: 64,44 + Owner: GDI + Actor7: cycl + Location: 64,43 + Owner: GDI + Actor8: cycl + Location: 63,43 + Owner: GDI + Actor9: cycl + Location: 62,43 + Owner: GDI + Actor10: cycl + Location: 61,43 + Owner: GDI + Actor11: cycl + Location: 60,43 + Owner: GDI + Actor12: cycl + Location: 59,43 + Owner: GDI + Actor13: cycl + Location: 58,43 + Owner: GDI + Actor14: cycl + Location: 57,43 + Owner: GDI + Actor15: cycl + Location: 56,43 + Owner: GDI + Actor16: cycl + Location: 56,44 + Owner: GDI + Actor17: atwr + Location: 55,41 + Owner: GDI + Actor18: nuke + Location: 70,45 + Owner: GDI + Actor19: nuke + Location: 72,45 + Owner: GDI + Actor20: hq + Location: 54,42 + Owner: GDI + Actor21: t07 + Location: 53,42 + Owner: GDI + Actor22: tc01 + Location: 53,43 + Owner: GDI + Actor23: e1 + Location: 57,44 + Owner: GDI + Actor24: e2 + Location: 65,44 + Owner: GDI + Actor25: e2 + Location: 64,45 + Owner: GDI + Actor26: atwr + Location: 66,41 + Owner: GDI + Actor27: tc02 + Location: 65,42 + Owner: GDI + Actor28: fact + Location: 11,3 + Owner: Nod + Actor29: nuke + Location: 14,1 + Owner: Nod + Actor30: nuke + Location: 16,1 + Owner: Nod + Actor31: silo + Location: 19,1 + Owner: Nod + Actor32: silo + Location: 19,2 + Owner: Nod + Actor33: proc + Location: 15,3 + Owner: Nod + Actor34: tc04 + Location: 11,0 + Owner: Neutral + Actor37: tc05 + Location: 8,0 + Owner: Neutral + Actor38: tc02 + Location: 8,2 + Owner: Neutral + Actor39: tc04 + Location: 8,3 + Owner: Neutral + Actor40: t06 + Location: 8,6 + Owner: Neutral + Actor43: afld + Location: 9,7 + Owner: Nod + Actor42: hq + Location: 10,4 + Owner: Nod + Actor45: sam + Location: 25,6 + Owner: Nod + Actor46: sam + Location: 29,6 + Owner: Nod + Actor47: sam + Location: 53,2 + Owner: Nod + Actor48: sam + Location: 79,5 + Owner: Nod + Actor49: hand + Location: 15,7 + Owner: Nod + Actor50: cycl + Location: 13,11 + Owner: Nod + Actor51: cycl + Location: 13,10 + Owner: Nod + Actor52: cycl + Location: 12,10 + Owner: Nod + Actor53: cycl + Location: 12,11 + Owner: Nod + Actor54: cycl + Location: 11,11 + Owner: Nod + Actor55: cycl + Location: 10,11 + Owner: Nod + Actor56: cycl + Location: 9,11 + Owner: Nod + Actor57: cycl + Location: 8,11 + Owner: Nod + Actor58: cycl + Location: 8,10 + Owner: Nod + Actor59: cycl + Location: 8,9 + Owner: Nod + Actor60: cycl + Location: 8,8 + Owner: Nod + Actor61: cycl + Location: 8,7 + Owner: Nod + Actor62: brik + Location: 15,14 + Owner: Nod + Actor63: brik + Location: 14,14 + Owner: Nod + Actor64: brik + Location: 14,13 + Owner: Nod + Actor65: brik + Location: 15,13 + Owner: Nod + Actor66: brik + Location: 13,14 + Owner: Nod + Actor67: brik + Location: 12,14 + Owner: Nod + Actor68: brik + Location: 11,14 + Owner: Nod + Actor69: brik + Location: 11,15 + Owner: Nod + Actor70: brik + Location: 10,15 + Owner: Nod + Actor71: brik + Location: 9,15 + Owner: Nod + Actor72: brik + Location: 8,15 + Owner: Nod + Actor73: brik + Location: 19,9 + Owner: Nod + Actor74: brik + Location: 19,10 + Owner: Nod + Actor75: brik + Location: 18,10 + Owner: Nod + Actor76: brik + Location: 18,9 + Owner: Nod + Actor77: brik + Location: 19,8 + Owner: Nod + Actor78: brik + Location: 19,7 + Owner: Nod + Actor79: brik + Location: 20,7 + Owner: Nod + Actor80: brik + Location: 20,6 + Owner: Nod + Actor81: brik + Location: 20,5 + Owner: Nod + Actor82: brik + Location: 21,5 + Owner: Nod + Actor83: brik + Location: 22,5 + Owner: Nod + Actor84: brik + Location: 23,5 + Owner: Nod + Actor85: brik + Location: 24,5 + Owner: Nod + Actor91: brik + Location: 27,5 + Owner: Nod + Actor90: brik + Location: 28,5 + Owner: Nod + Actor89: brik + Location: 29,5 + Owner: Nod + Actor88: brik + Location: 30,5 + Owner: Nod + Actor87: brik + Location: 31,5 + Owner: Nod + Actor35: gun + Location: 20,11 + Owner: Nod + Actor36: gun + Location: 16,14 + Owner: Nod + Actor41: brik + Location: 32,5 + Owner: Nod + Actor44: brik + Location: 32,4 + Owner: Nod + Actor86: brik + Location: 31,4 + Owner: Nod + Actor96: gun + Location: 33,5 + Owner: Nod + Actor97: gun + Location: 39,3 + Owner: Nod + Actor98: nuke + Location: 22,1 + Owner: Nod + Actor99: nuke + Location: 24,1 + Owner: Nod + Actor100: tc04 + Location: 26,0 + Owner: Neutral + Actor101: tc05 + Location: 41,0 + Owner: Neutral + Actor102: t17 + Location: 40,0 + Owner: Neutral + Actor103: tc01 + Location: 51,1 + Owner: Neutral + Actor104: tc03 + Location: 55,1 + Owner: Neutral + Actor105: tc05 + Location: 60,1 + Owner: Neutral + Actor106: t08 + Location: 61,4 + Owner: Neutral + Actor107: tc05 + Location: 67,3 + Owner: Neutral + Actor108: split2 + Location: 73,5 + Owner: Neutral + Actor109: tc04 + Location: 80,0 + Owner: Neutral + Actor110: tc04 + Location: 83,1 + Owner: Neutral + Actor111: tc05 + Location: 85,3 + Owner: Neutral + Actor112: tc02 + Location: 86,6 + Owner: Neutral + Actor92: brik + Location: 26,5 + Owner: Nod + Actor93: brik + Location: 25,5 + Owner: Nod + Actor94: brik + Location: 39,1 + Owner: Nod + Actor95: brik + Location: 39,2 + Owner: Nod + Actor113: brik + Location: 38,2 + Owner: Nod + Actor114: brik + Location: 38,1 + Owner: Nod + Actor115: tc02 + Location: 36,0 + Owner: Neutral + Actor116: proc + Location: 57,4 + Owner: Nod + Actor117: silo + Location: 54,5 + Owner: Nod + Actor118: silo + Location: 54,6 + Owner: Nod + Actor119: e1 + Location: 12,5 + Owner: Nod + Actor120: e1 + Location: 11,6 + Owner: Nod + Actor121: e6 + Location: 14,4 + Owner: Nod + Actor122: e3 + Location: 18,4 + Owner: Nod + Actor123: e3 + Location: 38,3 + Owner: Nod + Actor124: e3 + Location: 59,8 + Owner: Nod + Actor125: e3 + Location: 58,9 + Owner: Nod + Actor126: ltnk + Location: 21,4 + Owner: Nod + Actor127: ltnk + Location: 22,4 + Owner: Nod + Actor128: ltnk + Location: 23,4 + Owner: Nod + Actor129: bggy + Location: 11,10 + Owner: Nod + Actor130: bggy + Location: 10,10 + Owner: Nod + Actor131: gun + Location: 13,16 + Owner: Nod + Actor132: gun + Location: 12,16 + Owner: Nod + Actor133: brik + Location: 9,16 + Owner: Nod + Actor134: brik + Location: 8,16 + Owner: Nod + Actor135: tc01 + Location: 10,16 + Owner: Neutral + Actor136: v07 + Location: 8,17 + Owner: Neutral + Actor137: split3 + Location: 13,20 + Owner: Neutral + Actor138: v01 + Location: 36,16 + Owner: Neutral + Actor139: v02 + Location: 37,19 + Owner: Neutral + Actor140: v03 + Location: 31,18 + Owner: Neutral + Actor141: v11 + Location: 33,19 + Owner: Neutral + Actor142: v04 + Location: 34,16 + Owner: Neutral + Actor143: v06 + Location: 40,17 + Owner: Neutral + Actor144: c1 + Location: 34,18 + Owner: Neutral + Actor145: c4 + Location: 37,21 + Owner: Neutral + Actor146: c9 + Location: 40,15 + Owner: Neutral + Actor147: c5 + Location: 39,16 + Owner: Neutral + Actor148: cycl + Location: 31,20 + Owner: Neutral + Actor149: cycl + Location: 32,20 + Owner: Neutral + Actor150: cycl + Location: 33,20 + Owner: Neutral + Actor151: cycl + Location: 34,20 + Owner: Neutral + Actor152: cycl + Location: 34,21 + Owner: Neutral + Actor153: cycl + Location: 34,22 + Owner: Neutral + Actor154: cycl + Location: 35,22 + Owner: Neutral + Actor155: cycl + Location: 35,23 + Owner: Neutral + Actor156: gun + Location: 34,23 + Owner: Nod + Actor157: sam + Location: 32,22 + Owner: Nod + Actor158: e1 + Location: 32,21 + Owner: Nod + Actor159: e1 + Location: 33,21 + Owner: Nod + Actor160: e1 + Location: 40,12 + Owner: Nod + Actor161: e1 + Location: 39,13 + Owner: Nod + Actor162: cycl + Location: 50,5 + Owner: Nod + Actor163: cycl + Location: 51,5 + Owner: Nod + Actor167: cycl + Location: 51,8 + Owner: Nod + Actor165: cycl + Location: 51,6 + Owner: Nod + Actor166: cycl + Location: 51,7 + Owner: Nod + Actor168: cycl + Location: 51,9 + Owner: Nod + Actor169: cycl + Location: 51,10 + Owner: Nod + Actor170: cycl + Location: 52,10 + Owner: Nod + Actor171: cycl + Location: 52,9 + Owner: Nod + Actor172: tc04 + Location: 47,4 + Owner: Neutral + Actor173: v02 + Location: 49,6 + Owner: Neutral + Actor174: v04 + Location: 49,7 + Owner: Neutral + Actor175: v10 + Location: 47,7 + Owner: Neutral + Actor176: v08 + Location: 47,10 + Owner: Neutral + Actor177: c3 + Location: 48,9 + Owner: Neutral + Actor178: c4 + Location: 44,12 + Owner: Neutral + Actor179: v09 + Location: 44,10 + Owner: Neutral + Actor180: wood + Location: 71,12 + Owner: Neutral + Actor181: wood + Location: 71,13 + Owner: Neutral + Actor182: wood + Location: 71,14 + Owner: Neutral + Actor183: wood + Location: 71,15 + Owner: Neutral + Actor184: wood + Location: 71,16 + Owner: Neutral + Actor185: wood + Location: 71,17 + Owner: Neutral + Actor186: wood + Location: 71,18 + Owner: Neutral + Actor187: wood + Location: 71,19 + Owner: Neutral + Actor188: wood + Location: 47,16 + Owner: Neutral + Actor189: wood + Location: 48,16 + Owner: Neutral + Actor190: wood + Location: 49,16 + Owner: Neutral + Actor191: wood + Location: 50,16 + Owner: Neutral + Actor192: wood + Location: 51,16 + Owner: Neutral + Actor193: wood + Location: 52,16 + Owner: Neutral + Actor194: wood + Location: 52,15 + Owner: Neutral + Actor195: wood + Location: 52,14 + Owner: Neutral + Actor196: wood + Location: 52,13 + Owner: Neutral + Actor197: v18 + Location: 51,15 + Owner: Neutral + Actor198: v18 + Location: 51,14 + Owner: Neutral + Actor199: v18 + Location: 50,14 + Owner: Neutral + Actor200: v18 + Location: 50,15 + Owner: Neutral + Actor201: v16 + Location: 49,14 + Owner: Neutral + Actor202: v16 + Location: 49,15 + Owner: Neutral + Actor203: v16 + Location: 48,15 + Owner: Neutral + Actor204: v16 + Location: 48,14 + Owner: Neutral + Actor205: v16 + Location: 47,14 + Owner: Neutral + Actor206: v16 + Location: 47,15 + Owner: Neutral + Actor207: v14 + Location: 50,13 + Owner: Neutral + Actor208: v14 + Location: 51,13 + Owner: Neutral + Actor212: v06 + Location: 48,13 + Owner: Neutral + Actor213: v07 + Location: 41,20 + Owner: Neutral + Actor211: v15 + Location: 47,13 + Owner: Neutral + Actor215: c1 + Location: 42,21 + Owner: Neutral + Actor216: c7 + Location: 43,20 + Owner: Neutral + Actor217: c10 + Location: 45,22 + Owner: Neutral + Actor218: c9 + Location: 44,21 + Owner: Neutral + Actor219: e1 + Location: 45,27 + Owner: Nod + Actor220: e1 + Location: 46,28 + Owner: Nod + Actor222: v01 + Location: 69,19 + Owner: Neutral + Actor223: t03 + Location: 72,18 + Owner: Neutral + Actor224: tc05 + Location: 61,10 + Owner: Neutral + Actor225: tc04 + Location: 60,12 + Owner: Neutral + Actor226: tc01 + Location: 59,16 + Owner: Neutral + Actor227: tc03 + Location: 57,16 + Owner: Neutral + Actor228: tc04 + Location: 57,17 + Owner: Neutral + Actor229: v04 + Location: 58,19 + Owner: Neutral + Actor230: tc04 + Location: 75,10 + Owner: Neutral + Actor231: tc02 + Location: 75,16 + Owner: Neutral + Actor232: tc05 + Location: 79,17 + Owner: Neutral + Actor233: tc04 + Location: 79,12 + Owner: Neutral + Actor234: tc01 + Location: 83,14 + Owner: Neutral + Actor235: wood + Location: 81,20 + Owner: Neutral + Actor236: wood + Location: 81,21 + Owner: Neutral + Actor237: wood + Location: 81,22 + Owner: Neutral + Actor238: t17 + Location: 82,22 + Owner: Neutral + Actor239: c4 + Location: 84,17 + Owner: Neutral + Actor240: e1 + Location: 79,9 + Owner: Nod + Actor241: e1 + Location: 78,10 + Owner: Nod + Actor242: e3 + Location: 58,1 + Owner: Nod + Actor243: e3 + Location: 52,8 + Owner: Nod + Actor244: cycl + Location: 52,27 + Owner: Nod + Actor245: cycl + Location: 52,26 + Owner: Nod + Actor246: cycl + Location: 51,26 + Owner: Nod + Actor247: cycl + Location: 51,27 + Owner: Nod + Actor248: cycl + Location: 62,26 + Owner: Nod + Actor249: cycl + Location: 62,27 + Owner: Nod + Actor250: cycl + Location: 63,27 + Owner: Nod + Actor251: cycl + Location: 63,26 + Owner: Nod + Actor252: gun + Location: 53,27 + Owner: Nod + Actor253: gun + Location: 50,27 + Owner: Nod + Actor254: gun + Location: 61,27 + Owner: Nod + Actor255: gun + Location: 64,27 + Owner: Nod + Actor256: v03 + Location: 68,21 + Owner: Neutral + Actor257: v02 + Location: 67,19 + Owner: Neutral + Actor258: tc05 + Location: 70,21 + Owner: Neutral + Actor259: v07 + Location: 69,23 + Owner: Neutral + Actor260: c3 + Location: 67,21 + Owner: Neutral + Actor262: c9 + Location: 65,22 + Owner: Neutral + Actor263: c7 + Location: 66,20 + Owner: Neutral + Actor264: e2 + Location: 70,43 + Owner: GDI + Actor265: e2 + Location: 71,43 + Owner: GDI + Actor266: tc04 + Location: 47,42 + Owner: Neutral + Actor267: tc05 + Location: 73,42 + Owner: Neutral + Actor268: tc05 + Location: 44,42 + Owner: Neutral + Actor269: tc01 + Location: 75,44 + Owner: Neutral + Actor270: t11 + Location: 43,44 + Owner: Neutral + Actor271: t01 + Location: 41,41 + Owner: Neutral + Actor272: tc04 + Location: 40,41 + Owner: Neutral + Actor273: tc04 + Location: 38,43 + Owner: Neutral + Actor274: tc05 + Location: 35,42 + Owner: Neutral + Actor275: tc01 + Location: 32,44 + Owner: Neutral + Actor276: tc04 + Location: 30,42 + Owner: Neutral + Actor277: tc05 + Location: 23,42 + Owner: Neutral + Actor278: v03 + Location: 26,44 + Owner: Neutral + Actor279: tc04 + Location: 17,41 + Owner: Neutral + Actor280: tc01 + Location: 18,44 + Owner: Neutral + Actor281: tc04 + Location: 14,43 + Owner: Neutral + Actor282: tc04 + Location: 12,41 + Owner: Neutral + Actor283: tc04 + Location: 9,43 + Owner: Neutral + Actor284: tc04 + Location: 77,41 + Owner: Neutral + Actor285: tc04 + Location: 79,43 + Owner: Neutral + Actor286: tc01 + Location: 82,42 + Owner: Neutral + Actor287: tc05 + Location: 82,43 + Owner: Neutral + Actor288: tc05 + Location: 85,42 + Owner: Neutral + Actor289: wood + Location: 72,26 + Owner: Neutral + Actor290: wood + Location: 71,26 + Owner: Neutral + Actor291: wood + Location: 70,26 + Owner: Neutral + Actor292: wood + Location: 69,26 + Owner: Neutral + Actor293: wood + Location: 68,26 + Owner: Neutral + Actor294: c4 + Location: 71,25 + Owner: Neutral + Actor295: v05 + Location: 72,20 + Owner: Neutral + Actor164: nuke + Location: 8,12 + Owner: Nod + Actor209: nuke + Location: 10,12 + Owner: Nod + Actor210: nuke + Location: 53,45 + Owner: GDI + Actor214: nuke + Location: 55,45 + Owner: GDI + Actor221: jeep + Location: 57,45 + Owner: GDI + lst1: lst + Location: 53,35 + Owner: GDI + Facing: 64 + lst2: lst + Location: 58,35 + Owner: GDI + Facing: 64 + lst3: lst + Location: 63,35 + Owner: GDI + Facing: 64 + ftnk1: ftnk + Location: 67,22 + Owner: Nod + Facing: 228 + ftnk2: ftnk + Location: 65,20 + Owner: Nod + Facing: 192 + tl1: mpspawn + Location: 8,33 + Owner: Neutral + tr1: mpspawn + Location: 87,33 + Owner: Neutral + tl2: mpspawn + Location: 8,35 + Owner: Neutral + tr2: mpspawn + Location: 87,35 + Owner: Neutral + tl3: mpspawn + Location: 8,37 + Owner: Neutral + tr3: mpspawn + Location: 87,37 + Owner: Neutral + +Smudges: + +Rules: + World: + -SpawnMPUnits: + -MPStartLocations: + -CrateSpawner: + CncShellmapScript: + + LST: + Mobile: + Speed: 3 + BOAT: + Mobile: + Speed: 3 + +Sequences: + +Weapons: + +Voices: diff --git a/mods/cnc-classic/maps/straight_and_narrow.oramap b/mods/cnc-classic/maps/straight_and_narrow.oramap new file mode 100644 index 0000000000..0df4083386 Binary files /dev/null and b/mods/cnc-classic/maps/straight_and_narrow.oramap differ diff --git a/mods/cnc-classic/maps/surgical_incision.oramap b/mods/cnc-classic/maps/surgical_incision.oramap new file mode 100644 index 0000000000..b88577ecf3 Binary files /dev/null and b/mods/cnc-classic/maps/surgical_incision.oramap differ diff --git a/mods/cnc-classic/maps/tiberium_garden.oramap b/mods/cnc-classic/maps/tiberium_garden.oramap new file mode 100644 index 0000000000..735dd5e30a Binary files /dev/null and b/mods/cnc-classic/maps/tiberium_garden.oramap differ diff --git a/mods/cnc-classic/maps/village_of_the_unfortunate.oramap b/mods/cnc-classic/maps/village_of_the_unfortunate.oramap new file mode 100644 index 0000000000..3c4bf44591 Binary files /dev/null and b/mods/cnc-classic/maps/village_of_the_unfortunate.oramap differ diff --git a/mods/cnc-classic/maps/winter_waterland.oramap b/mods/cnc-classic/maps/winter_waterland.oramap new file mode 100644 index 0000000000..06a87c63d0 Binary files /dev/null and b/mods/cnc-classic/maps/winter_waterland.oramap differ diff --git a/mods/cnc-classic/mod.yaml b/mods/cnc-classic/mod.yaml new file mode 100644 index 0000000000..429a605521 --- /dev/null +++ b/mods/cnc-classic/mod.yaml @@ -0,0 +1,138 @@ +Metadata: + Title: C&C: TD Classic (WIP) + Description: An emulation of the Original Tiberian Dawn + Version: {DEV_VERSION} + Author: The OpenRA Developers + +Folders: + . + ./mods/cnc + ./mods/cnc/bits + ./mods/cnc-classic/uibits + ./mods/cnc/uibits + ./mods/ra/uibits + ~^/Content/cnc + +Packages: + overrides.mix + bluetib.mix + speech.mix + conquer.mix + sounds.mix + tempicnh.mix + temperat.mix + winter.mix + desert.mix + snow.mix + ~movies-gdi.mix + ~movies-nod.mix + ~movies.mix + ~scores.mix + ~transit.mix + +Rules: + mods/cnc-classic/rules/defaults.yaml + mods/cnc-classic/rules/system.yaml + mods/cnc-classic/rules/structures.yaml + mods/cnc-classic/rules/infantry.yaml + mods/cnc-classic/rules/vehicles.yaml + mods/cnc-classic/rules/trees.yaml + mods/cnc-classic/rules/civilian.yaml + mods/cnc-classic/rules/civilian-desert.yaml + mods/cnc-classic/rules/tech.yaml + mods/cnc-classic/rules/ships.yaml + mods/cnc-classic/rules/aircraft.yaml + +Sequences: + mods/cnc/sequences/structures.yaml + mods/cnc/sequences/vehicles.yaml + mods/cnc/sequences/infantry.yaml + mods/cnc/sequences/map.yaml + mods/cnc/sequences/misc.yaml + # Low priority sequences that break the batch when used + mods/cnc/sequences/civilian.yaml + mods/cnc-classic/sequences/campaign.yaml +Cursors: + mods/cnc/cursors.yaml + +Chrome: + mods/cnc-classic/chrome.yaml + +Assemblies: + mods/ra/OpenRA.Mods.RA.dll + mods/cnc/OpenRA.Mods.Cnc.dll + +ChromeLayout: + mods/ra/chrome/gameinit.yaml + mods/ra/chrome/ingame.yaml + mods/ra/chrome/mainmenu.yaml + mods/ra/chrome/settings.yaml + mods/ra/chrome/lobby.yaml + mods/ra/chrome/map-chooser.yaml + mods/ra/chrome/create-server.yaml + mods/ra/chrome/serverbrowser.yaml + mods/ra/chrome/replaybrowser.yaml + mods/ra/chrome/dropdowns.yaml + mods/ra/chrome/modchooser.yaml + mods/ra/chrome/cheats.yaml + mods/ra/chrome/objectives.yaml + +Weapons: + mods/cnc-classic/weapons.yaml + mods/cnc-classic/explosions.yaml + +Movies: + mods/cnc/movies-gdi.yaml + mods/cnc/movies-nod.yaml + +Voices: + mods/cnc/voices.yaml + +Notifications: + mods/cnc-classic/notifications.yaml + +Music: + mods/cnc/music.yaml + +TileSets: + mods/cnc/tilesets/desert.yaml + mods/cnc/tilesets/winter.yaml + mods/cnc/tilesets/snow.yaml + mods/cnc/tilesets/temperat.yaml + + +LoadScreen: RALoadScreen + InstallerMenuWidget: INSTALL_PANEL + TestFile: conquer.mix + LoadScreenImage: mods/cnc-classic/uibits/loadscreen.png + PackageURL: http://open-ra.org/get-dependency.php?file=cnc-packages + +ServerTraits: + LobbyCommands + MasterServerPinger + +ChromeMetrics: + mods/ra/metrics.yaml + +Fonts: + Regular: + Font:FreeSans.ttf + Size:14 + Bold: + Font:FreeSansBold.ttf + Size:14 + Title: + Font:titles.ttf + Size:48 + MediumBold: + Font:FreeSansBold.ttf + Size:18 + BigBold: + Font:FreeSansBold.ttf + Size:24 + Tiny: + Font:FreeSans.ttf + Size:10 + TinyBold: + Font:FreeSansBold.ttf + Size:10 diff --git a/mods/cnc-classic/notifications.yaml b/mods/cnc-classic/notifications.yaml new file mode 100644 index 0000000000..64b327c77d --- /dev/null +++ b/mods/cnc-classic/notifications.yaml @@ -0,0 +1,38 @@ +Speech: + Notifications: + Repairing: repair1 + LowPower: lopower1 + SilosNeeded: silos1 + PrimaryBuildingSelected: pribldg1 + BuildingCannotPlaceAudio: deploy1 + NewOptions: newopt1 + AbilityInsufficientPower: nopower1 + Win: accom1 + Lose: fail1 + BaseAttack: baseatk1 + HarvesterAttack: + Leave: batlcon1 + UnitReady: unitredy + NoBuild: nobuild1 + Training: bldging1 + OnHold: onhold1 + Cancelled: cancel1 + Building: bldging1 + ConstructionComplete: constru1 + Reinforce: reinfor1 + +Sounds: + Notifications: + RadarUp: comcntr1 + RadarDown: powrdn1 + CashTickUp: + CashTickDown: + LevelUp: text2 + DisablePower: button + EnablePower: button + ChatLine: scold1 + BuildPaletteOpen: button + BuildPaletteClose: button + TabClick: button + ClickSound: button + ClickDisabledSound: scold2 \ No newline at end of file diff --git a/mods/cnc-classic/rules/aircraft.yaml b/mods/cnc-classic/rules/aircraft.yaml new file mode 100644 index 0000000000..41607ab3f1 --- /dev/null +++ b/mods/cnc-classic/rules/aircraft.yaml @@ -0,0 +1,169 @@ +TRAN: + Inherits: ^Helicopter + Valued: + Cost: 1500 + Tooltip: + Name: Chinook Transport + Icon:tranicnh + Description: Fast Infantry Transport Helicopter.\n Unarmed + Buildable: + BuildPaletteOrder: 10 + Prerequisites: hpad + BuiltAt: hpad + Owner: gdi,nod + Selectable: + Bounds: 41,41 + Helicopter: + LandWhenIdle: true + ROT: 5 + Speed: 15 + InitialFacing: 0 + LandableTerrainTypes: Clear,Rough,Road,Ore,Beach + Health: + HP: 90 + Armor: + Type: Light + RevealsShroud: + Range: 8 + RenderUnit: + WithRotor@PRIMARY: + Offset: 0,14,0,-4 + WithRotor@SECONDARY: + Id: rotor_2 + Offset: 0,-14,0,-2 + WithShadow: + Cargo: + Types: Infantry + MaxWeight: 10 + PipCount: 10 + FallsToEarth: + +HELI: + Inherits: ^Helicopter + Valued: + Cost: 1200 + Tooltip: + Name: Apache Longbow + Icon: heliicnh + Description: Helicopter Gunship with Chainguns.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks + Buildable: + BuildPaletteOrder: 20 + Prerequisites: hpad, hq + BuiltAt: hpad + Owner: nod + Selectable: + Bounds: 30,24 + Helicopter: + ROT: 4 + Speed: 20 + RearmBuildings: hpad.nod + Health: + HP: 125 + Armor: + Type: Light + RevealsShroud: + Range: 8 + AttackHeli: + PrimaryWeapon: HeliAGGun + PrimaryOffset: 0,-3,0,2 + PrimaryLocalOffset: -5,0,0,0,0, 5,0,0,0,0 + FacingTolerance: 20 + LimitedAmmo: + Ammo: 10 + PipCount: 5 + ReloadTicks: 10 + RenderUnit: + WithRotor: + Offset: 0,0,0,-2 + WithMuzzleFlash: + WithShadow: + FallsToEarth: + AutoTarget: + +ORCA: + Inherits: ^Helicopter + Valued: + Cost: 1200 + Tooltip: + Name: Orca + Icon: orcaicnh + Description: Helicopter Gunship with AG Missiles.\n Strong vs Buildings, Tanks\n Weak vs Infantry + Buildable: + BuildPaletteOrder: 20 + Prerequisites: hpad, hq + BuiltAt: hpad + Owner: gdi + Selectable: + Bounds: 30,24 + Helicopter: + ROT: 4 + Speed: 20 + RearmBuildings: hpad.gdi + Health: + HP: 100 + Armor: + Type: Light + RevealsShroud: + Range: 8 + AttackHeli: + PrimaryWeapon: OrcaAGMissiles + PrimaryOffset: 0,-10,0,5 + PrimaryLocalOffset: -4,0,0,0,0, 4,0,0,0,0 + FacingTolerance: 20 + LimitedAmmo: + Ammo: 10 + PipCount: 5 + ReloadTicks: 10 + RenderUnit: + WithShadow: + FallsToEarth: + AutoTarget: + +C17: + ParaDrop: + LZRange: 1 + Inherits: ^Plane + Tooltip: + Name: Supply Aircraft + Plane: + ROT: 5 + Speed: 35 + Health: + HP: 25 + Armor: + Type: Heavy + RenderUnit: + WithShadow: + Cargo: +# Types: Infantry, Vehicle + MaxWeight: 10 + PipCount: 10 + Invulnerable: + -Selectable: + -TargetableUnit: + FlyAwayOnIdle: + +A10: + Inherits: ^Plane + Tooltip: + Name: A10 Bomber + Icon: a10icnh + Plane: + ROT: 4 + Speed: 40 + Health: + HP: 60 + Armor: + Type: Heavy + RevealsShroud: + Range: 8 + RenderUnit: + WithShadow: + LimitedAmmo: + Ammo: 10 + CarpetBomb: + Weapon: Napalm + Range: 3 + -Selectable: + FlyAwayOnIdle: + diff --git a/mods/cnc-classic/rules/civilian-desert.yaml b/mods/cnc-classic/rules/civilian-desert.yaml new file mode 100644 index 0000000000..755b7a839b --- /dev/null +++ b/mods/cnc-classic/rules/civilian-desert.yaml @@ -0,0 +1,124 @@ +V20: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + EditorTilesetFilter: + RequireTilesets: DESERT + +V21: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + EditorTilesetFilter: + RequireTilesets: DESERT + +V22: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + RequireTilesets: DESERT + +V23: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V24: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + EditorTilesetFilter: + RequireTilesets: DESERT + +V25: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Church + EditorTilesetFilter: + RequireTilesets: DESERT + +V26: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + RequireTilesets: DESERT + +V27: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V28: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V29: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V30: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + RequireTilesets: DESERT + +V31: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + RequireTilesets: DESERT + +V32: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + RequireTilesets: DESERT + +V33: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + RequireTilesets: DESERT + +V34: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V35: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V36: + Inherits: ^CivBuilding + EditorTilesetFilter: + RequireTilesets: DESERT + +V37: + Inherits: ^CivBuilding + Building: + Footprint: __xx_ ___xx + Dimensions: 5,2 + EditorTilesetFilter: + RequireTilesets: DESERT \ No newline at end of file diff --git a/mods/cnc-classic/rules/civilian.yaml b/mods/cnc-classic/rules/civilian.yaml new file mode 100644 index 0000000000..abaa743803 --- /dev/null +++ b/mods/cnc-classic/rules/civilian.yaml @@ -0,0 +1,254 @@ +V01: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Church + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V02: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V03: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V04: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V05: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V06: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V07: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V08: + Inherits: ^CivBuilding + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V09: + Inherits: ^CivBuilding + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V10: + Inherits: ^CivBuilding + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V11: + Inherits: ^CivBuilding + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V12: + Inherits: ^CivBuilding + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V13: + Inherits: ^CivBuilding + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V14: + Inherits: ^CivField + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V15: + Inherits: ^CivField + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V16: + Inherits: ^CivField + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V17: + Inherits: ^CivField + EditorTilesetFilter: + ExcludeTilesets: DESERT + +V18: + Inherits: ^CivField + EditorTilesetFilter: + ExcludeTilesets: DESERT + +ARCO: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + +BARB: + Inherits: ^Wall + Health: + HP: 100 + Armor: + Type: Light + Tooltip: + Name: Wire Fence + Icon: barbicnh + +WOOD: + Inherits: ^Wall + Health: + HP: 100 + Armor: + Type: Wood + Tooltip: + Name: Wooden Fence + Icon: woodicnh + +BRIDGE1: + Inherits: ^Bridge + Bridge: + Template: 165 + DestroyedTemplate: 166 + Building: + Footprint: ____ ____ ____ ____ + Dimensions: 4,4 + +BRIDGE2: + Inherits: ^Bridge + Bridge: + Template: 167 + DestroyedTemplate: 168 + Building: + Footprint: _____ _____ _____ _____ _____ + Dimensions: 5,5 + +BRIDGE3: + Inherits: ^Bridge + Bridge: + Template: 169 + DestroyedTemplate: 170 + Building: + Footprint: ______ ______ ______ ______ ______ + Dimensions: 6,5 + +BRIDGE4: + Inherits: ^Bridge + Bridge: + Template: 171 + DestroyedTemplate: 172 + Building: + Footprint: ______ ______ ______ ______ + Dimensions: 6,4 + +C1: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianMaleVoice + +C2: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + +C3: + Inherits: ^CivInfantry + +C4: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + +C5: + Inherits: ^CivInfantry + +C6: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + +C7: + Inherits: ^CivInfantry + +C8: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + +C9: + Inherits: ^CivInfantry + +C10: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + +VICE: + AppearsOnRadar: + Health: + Radius: 3 + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Mobile: + Speed: 5 + TerrainSpeeds: + Clear: 90 + Rough: 80 + Road: 100 + Tiberium: 70 + BlueTiberium: 70 + Beach: 80 + Selectable: + Voice: GenericVoice + TargetableUnit: + TargetTypes: Ground + AutoTarget: + ScanRadius: 4 + AttackMove: + HiddenUnderFog: + GainsExperience: + GivesExperience: + Valued: + Cost: 1000 + Tooltip: + Name: Viceroid + AttackFrontal: + PrimaryWeapon: Chemspray + AttackWander: + RenderUnit: + WithMuzzleFlash: \ No newline at end of file diff --git a/mods/cnc-classic/rules/defaults.yaml b/mods/cnc-classic/rules/defaults.yaml new file mode 100644 index 0000000000..1302ead0fb --- /dev/null +++ b/mods/cnc-classic/rules/defaults.yaml @@ -0,0 +1,389 @@ +^Vehicle: + AppearsOnRadar: + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Mobile: + Crushes: crate + TerrainSpeeds: + Clear: 25 + Rough: 25 + Road: 25 + Tiberium: 25 + BlueTiberium: 25 + Beach: 25 + ROT: 5 + SelectionDecorations: + Selectable: + Voice: VehicleVoice + TargetableUnit: + TargetTypes: Ground + Buildable: + Queue: Vehicle + Repairable: + Passenger: + CargoType: Vehicle + ActorLostNotification: + Notification: unitlost.aud + AttackMove: + AcceptsCloakCrate: + WithSmoke: + Explodes: + Weapon: UnitExplodeSmall + +^Tank: + AppearsOnRadar: + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Mobile: + Crushes: wall, crate, infantry + TerrainSpeeds: + Clear: 25 + Rough: 25 + Road: 25 + Tiberium: 25 + BlueTiberium: 25 + Beach: 25 + ROT: 5 + SelectionDecorations: + Selectable: + Voice: VehicleVoice + TargetableUnit: + TargetTypes: Ground + Buildable: + Queue: Vehicle + Passenger: + CargoType: Vehicle + ActorLostNotification: + Notification: unitlost.aud + AttackMove: + AcceptsCloakCrate: + WithSmoke: + Explodes: + Weapon: UnitExplodeSmall + +^Helicopter: + AppearsOnRadar: + UseLocation: yes + TargetableUnit: + TargetTypes: Air + SelectionDecorations: + Selectable: + Voice: VehicleVoice + Helicopter: + RepairBuildings: fix + RearmBuildings: hpad + LandWhenIdle: false + Buildable: + Queue: Aircraft + ActorLostNotification: + Notification: unitlost.aud + +^Infantry: + AppearsOnRadar: + Health: + Radius: 3 + Armor: + Type: None + RevealsShroud: + # Range: 4 + Range: 3 + # default range value for infantry is 1 in C&C, but OpenRA renders vision slightly differently. + AutoTarget: + ScanRadius: 4 + Mobile: + Crushes: crate + SharesCell: true + TerrainSpeeds: + Clear: 90 + Rough: 90 + Road: 90 + Tiberium: 90 + PathingCost: 1000 + BlueTiberium: 90 + PathingCost: 1000 + Beach: 90 + SelectionDecorations: + Selectable: + Voice: GenericVoice + TargetableUnit: + TargetTypes: Ground + Buildable: + Queue: Infantry + TakeCover: + BarrelOffset: 0,-2,0,4 + RenderInfantryProne: + AttackMove: + Passenger: + CargoType: Infantry + PoisonedByTiberium: + ActorLostNotification: + Notification: unitlost.aud + SpawnViceroid: + Probability: 2 + CrushableInfantry: + DetectCloaked: + Range: 1 + +^CivInfantry: + Inherits: ^Infantry + -Buildable: + -AutoTarget: + -TakeCover: + -RenderInfantryProne: + AppearsOnRadar: + SelectionDecorations: + Selectable: + Voice: CivilianMaleVoice + Bounds: 12,17,0,-9 + Valued: + Cost: 10 + Tooltip: + Name: Civilian + Mobile: + Speed: 4 + Health: + # HP: 25 + HP: 5 + RevealsShroud: + Range: 3 #arbitrary. Assuming it should be 1, like infantry. + # In practice, it seems that OpenRA renders vision range differently. Assuming it should be 1 for this unit. + AttackFrontal: + PrimaryWeapon: Pistol + ActorLostNotification: + Notification: civdead1.aud + NotifyAll: true + ScaredyCat: + RenderInfantryPanic: + AttackMove: + JustMove: yes + CrushableInfantry: + +^Plane: + AppearsOnRadar: + UseLocation: yes + SelectionDecorations: + Selectable: + Voice: GenericVoice + TargetableUnit: + TargetTypes: Air + ActorLostNotification: + Notification: unitlost.aud + +^Ship: + AppearsOnRadar: + Mobile: + Crushes: crate + TerrainSpeeds: + Water: 100 + SelectionDecorations: + Selectable: + Voice: GenericVoice + TargetableUnit: + TargetTypes: Ground, Water + ActorLostNotification: + Notification: unitlost.aud + AttackMove: + +^Building: + AppearsOnRadar: + SelectionDecorations: + Selectable: + Priority: 3 + TargetableBuilding: + TargetTypes: Ground + Armor: + Type: Wood + RepairableBuilding: + RepairPercent: 40 + RepairStep: 14 + Building: + Dimensions: 1,1 + Footprint: x + BuildSounds: constru2.aud, hvydoor1.aud + SellSounds: cashturn.aud + TerrainTypes: Clear,Road + SoundOnDamageTransition: + DamagedSound: xplos.aud + DestroyedSound: crumble.aud + Buildable: + Queue: Building + GivesBuildableArea: + RenderBuilding: + WithBuildingExplosion: + DeadBuildingState: + EmitInfantryOnSell: + ValuePercent: 40 + ActorTypes: e6,e1 + MustBeDestroyed: + CaptureNotification@GDI: + Race: gdi + Notification: gdicapt1.aud + CaptureNotification@NOD: + Race: nod + Notification: nodcapt1.aud + ActorLostNotification: + Notification: strclost.aud + EditorAppearance: + RelativeToTopLeft: yes + AutoTargetIgnore: + ShakeOnDeath: + Sellable: + Capturable: + CaptureCompleteTime: 0 + CapturableBar: + +^CivBuilding: + Inherits: ^Building + -DeadBuildingState: + -Buildable: + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Wood + Building: + RenderBuilding: + WithBuildingExplosion: + -RepairableBuilding: + -Capturable: + -CapturableBar: + -Sellable: + Tooltip: + Name: Civilian Building + +^CivBuildingHusk: + AppearsOnRadar: + Building: + Dimensions: 1,1 + Footprint: x + RenderBuilding: + EditorAppearance: + RelativeToTopLeft: yes + Tooltip: + Name: Civilian Building (Destroyed) + +^TechBuilding: + Inherits: ^CivBuilding + Capturable: + CaptureCompleteTime: 0 + CapturableBar: + RepairableBuilding: + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + +^CivField: + Inherits: ^CivBuilding + -Selectable: + Tooltip: + Name: Field + -WithBuildingExplosion: + +^CivFieldHusk: + AppearsOnRadar: + Building: + Dimensions: 1,1 + Footprint: _ + EditorAppearance: + RelativeToTopLeft: yes + Tooltip: + Name: Field (Destroyed) + BelowUnits: + +^Wall: + AppearsOnRadar: + Building: + Dimensions: 1,1 + Footprint: x + BuildSounds: hvydoor1.aud + Adjacent: 7 + TerrainTypes: Clear,Road + TargetableBuilding: + TargetTypes: Ground, Wall + Wall: + CrushClasses: wall + CrushSound: sandbag2.aud + SelectionDecorations: + Selectable: + Priority: 1 + RenderBuildingWall: + HasMakeAnimation: false + Palette: staticterrain + EditorAppearance: + RelativeToTopLeft: yes + AutoTargetIgnore: + Sellable: + +^HeavyWall: + AppearsOnRadar: + Building: + Dimensions: 1,1 + Footprint: x + BuildSounds: hvydoor1.aud + Adjacent: 7 + TerrainTypes: Clear,Road + TargetableBuilding: + TargetTypes: Ground, Wall + Wall: + CrushClasses: wall + CrushSound: sandbag2.aud + LineBuild: + Range: 8 + SelectionDecorations: + Selectable: + Priority: 1 + RenderBuildingWall: + HasMakeAnimation: false + Palette: staticterrain + EditorAppearance: + RelativeToTopLeft: yes + AutoTargetIgnore: + Sellable: + +^Tree: + Tooltip: + Name: Tree + RenderBuilding: + Palette: staticterrain + Building: + Footprint: __ x_ + Dimensions: 2,2 + AppearsOnRadar: + RadarColorFromTerrain: + Terrain: Tree + EditorAppearance: + RelativeToTopLeft: yes + +^Rock: + Tooltip: + Name: Rock + RenderBuilding: + Palette: staticterrain + Building: + Footprint: __ x_ + Dimensions: 2,2 + AppearsOnRadar: + RadarColorFromTerrain: + Terrain: Tree + EditorAppearance: + RelativeToTopLeft: yes + +^Bridge: + Tooltip: + Name: Bridge + TargetableBuilding: + TargetTypes: Ground, Water + BelowUnits: + Health: + HP: 500 + SoundOnDamageTransition: + DamagedSound: xplos.aud + DestroyedSound: xplobig4.aud + Building: + Footprint: ______ ______ ______ ______ + Dimensions: 6,4 diff --git a/mods/cnc-classic/rules/infantry.yaml b/mods/cnc-classic/rules/infantry.yaml new file mode 100644 index 0000000000..a5f940838a --- /dev/null +++ b/mods/cnc-classic/rules/infantry.yaml @@ -0,0 +1,210 @@ +E1: + Inherits: ^Infantry + Valued: + Cost: 100 + Tooltip: + Name: Minigunner + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Icon: e1icnh + Buildable: + BuildPaletteOrder: 10 + Owner: gdi, nod + Selectable: + Bounds: 12,17,0,-6 + Mobile: + Speed: 4 + Health: + HP: 50 + AttackFrontal: + PrimaryWeapon: M16 + RenderInfantryProne: + IdleAnimations: idle1,idle2,idle3,idle4 + +E2: + Inherits: ^Infantry + Valued: + Cost: 160 + Tooltip: + Name: Grenadier + Description: Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles + Icon: e2icnh + Buildable: + BuildPaletteOrder: 40 + Prerequisites: pyle + Owner: gdi + Selectable: + Bounds: 12,17,0,-6 + Mobile: + Speed: 5 + Health: + HP: 50 + AttackFrontal: + PrimaryWeapon: Grenade + PrimaryOffset: 0,0,0,-10 + FireDelay: 15 + RenderInfantryProne: + IdleAnimations: idle1,idle2 + Explodes: + Weapon: GrenadierExplode + Chance: 50 + +E3: + Inherits: ^Infantry + Valued: + Cost: 300 + Tooltip: + Name: Rocket Soldier + Description: Anti-tank/Anti-aircraft infantry. \n Strong vs Tanks, Aircraft\n Weak vs Infantry + Icon: e3icnh + Buildable: + BuildPaletteOrder: 20 + Owner: nod, gdi + Selectable: + Bounds: 12,17,0,-6 + Mobile: + Speed: 3 + TerrainSpeeds: + Clear: 100 + Rough: 100 + Road: 100 + Tiberium: 100 + PathingCost: 1000 + BlueTiberium: 100 + PathingCost: 1000 + Beach: 100 + Health: + HP: 25 + RevealsShroud: + Range: 3 + # range value is 1 in C&C, but OpenRA renders vision slightly differently + AttackFrontal: + PrimaryWeapon: Rockets + PrimaryOffset: 1,-6,0,-8 + FireDelay: 5 + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E4: + Inherits: ^Infantry + Valued: + Cost: 200 + Tooltip: + Name: Flamethrower + Description: Advanced Anti-infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles + Icon: e4icnh + Buildable: + BuildPaletteOrder: 40 + Owner: nod + Prerequisites: hand + Selectable: + Bounds: 12,17,0,-6 + Mobile: + Speed: 5 + Health: + HP: 70 + AttackFrontal: + PrimaryWeapon: Flamethrower + PrimaryOffset: 0,-2,2,-4 + FireDelay: 3 + WithMuzzleFlash: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +#explodes somehow + +E5: + Inherits: ^Infantry + Valued: + Cost: 300 + Tooltip: + Name: Chem Warrior + Description: Advanced Anti-infantry unit.\n Strong vs Infantry\n Weak vs Vehicles + Icon: e5icnh + Buildable: + BuildPaletteOrder: 50 + Owner: nod + Prerequisites: tmpl + Selectable: + Bounds: 12,17,0,-6 + Mobile: + Speed: 4 + TerrainSpeeds: + Tiberium: 100 + PathingCost: 100 + BlueTiberium: 100 + PathingCost: 100 + Health: + HP: 70 + AttackFrontal: + PrimaryWeapon: Chemspray + PrimaryOffset: 0,-2,2,-9 + FireDelay: 3 + WithMuzzleFlash: + -PoisonedByTiberium: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E6: + Inherits: ^Infantry + Valued: + Cost: 500 + Tooltip: + Name: Engineer + Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything + Icon: e6icnh + Buildable: + BuildPaletteOrder: 30 + Owner: gdi,nod + Selectable: + Bounds: 12,17,0,-6 + Mobile: + Speed: 4 + Health: + HP: 25 + RevealsShroud: + Range: 4 + # range value is 2 in C&C, but OpenRA renders vision slightly differently + Passenger: + PipType: Yellow + EngineerRepair: + Captures: + CaptureTypes: building, husk + -AutoTarget: + AttackMove: + JustMove: true + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +RMBO: + Inherits: ^Infantry + Valued: + Cost: 1000 + Tooltip: + Icon: rmboicnh + Name: Commando + Description: Elite sniper infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles + Buildable: + BuildPaletteOrder: 50 + Owner: gdi, nod + Prerequisites: techbuilding + Selectable: + Bounds: 12,17,0,-6 + Voice: CommandoVoice + Mobile: + Speed: 5 + Health: + HP: 100 + Passenger: + PipType: Red + RevealsShroud: + Range: 7 + # range value is 5 in C&C, but OpenRA renders vision slightly differently + AutoTarget: + ScanRadius: 5 + C4Demolition: + C4Delay: 45 + AttackFrontal: + PrimaryWeapon: Sniper + RenderInfantryProne: + IdleAnimations: idle1,idle2,idle3 + AnnounceOnBuild: + AnnounceOnKill: diff --git a/mods/cnc-classic/rules/ships.yaml b/mods/cnc-classic/rules/ships.yaml new file mode 100644 index 0000000000..93d8c6cb4e --- /dev/null +++ b/mods/cnc-classic/rules/ships.yaml @@ -0,0 +1,65 @@ +BOAT: + Inherits: ^Ship + Valued: + Cost: 300 + Tooltip: + Name: Gunboat + Icon: boaticnh + Health: + HP: 700 + Armor: + Type: Heavy + Mobile: + InitialFacing:64 + ROT: 4 + Speed: 2 + OnRails: true + RevealsShroud: + Range: 7 + Turreted: + ROT: 7 + AttackTurreted: + PrimaryWeapon: BoatMissile + PrimaryOffset: 0,-15,0,-4 + PrimaryLocalOffset: -3,-5,0,0,0, 3,-5,0,0,0, 0,-5,0,0,0 + RenderGunboat: + AutoTarget: + AllowMovement: false + WithSmoke: + +LST: + Inherits: ^Ship + Valued: + Cost: 300 + Tooltip: + Name: Landing Craft + Mobile: + Crushes: crate + TerrainSpeeds: + Clear: 100 + Rough: 100 + Road: 100 + Water: 100 + Tiberium: 100 + BlueTiberium: 100 + Beach: 100 + River: 100 + InitialFacing:0 + ROT: 4 + Speed: 10 + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 7 + RenderUnit: + RenderCargo: + -Selectable: + Cargo: + Types: Infantry, Vehicle + MaxWeight: 5 + PipCount: 5 + AttackMove: + JustMove: true + diff --git a/mods/cnc-classic/rules/structures.yaml b/mods/cnc-classic/rules/structures.yaml new file mode 100644 index 0000000000..976e6c6b0b --- /dev/null +++ b/mods/cnc-classic/rules/structures.yaml @@ -0,0 +1,810 @@ +FACT: + Inherits: ^Building + -Buildable: + Valued: + Cost: 5000 + Tooltip: + Name: Construction Yard + Icon: mcvicnh + Description: Builds structures + Building: + Power: 15 + Footprint: xxx xxx + Dimensions: 3,2 + Health: + HP: 800 + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Production: + Produces: Building,Defense + Transforms: + IntoActor: mcv + Offset:1,1 + Facing: 108 + BaseBuilding: + ProductionBar: + Bib: + +NUKE: + Inherits: ^Building + Valued: + Cost: 300 + Tooltip: + Name: Power Plant + Icon: nukeicnh + Description: Provides power for other structures + ProvidesCustomPrerequisite: + Prerequisite: anypower + Buildable: + BuildPaletteOrder: 10 + Owner: gdi,nod + Building: + Power: 100 + Footprint: x_ xx + Dimensions: 2,2 + Health: + HP: 400 + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + +PROC: + Inherits: ^Building + Valued: + Cost: 2000 + Tooltip: + Name: Tiberium Refinery + Icon: procicnh + Description: Processes raw Tiberium to sell it for cash. + Buildable: + BuildPaletteOrder: 20 + Prerequisites: anypower + Owner: gdi,nod + Building: + Power: -30 + Footprint: _x_ xxx === + Dimensions: 3,3 + Health: + HP: 900 + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + TiberiumRefinery: + DockOffset: 0,2 + TickLifetime: 30 + TickVelocity: 1 + TickRate: 125 + StoresOre: + PipColor: Green + PipCount: 10 + Capacity: 1000 + Selectable: + Bounds: 73,72 + CustomSellValue: + Value: 600 + CustomBuildTimeValue: + Value: 900 + FreeActor: + Actor: HARV + InitialActivity: FindResources + SpawnOffset: 1,2 + Facing: 64 + -RenderBuilding: + RenderBuildingRefinery: + +NUK2: + Inherits: ^Building + Valued: + Cost: 700 + Tooltip: + Name: Advanced Power Plant + Icon:nuk2icnh + Description: Provides more power, cheaper than the \nstandard Power Plant + ProvidesCustomPrerequisite: + Prerequisite: anypower + Buildable: + BuildPaletteOrder: 30 + Prerequisites: nuke + Owner: gdi,nod + Building: + Power: 200 + Footprint: x_ xx + Dimensions: 2,2 + Health: + HP: 600 + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + +SILO: + Inherits: ^Building + Valued: + Cost: 150 + Tooltip: + Name: Tiberium Silo + Icon: siloicnh + Description: Stores processed Tiberium + Buildable: + Queue: Defense + BuildPaletteOrder: 15 + Prerequisites: proc + Owner: gdi,nod + Building: + Power: -10 + Footprint: xx + Dimensions: 2,1 + GivesBuildableArea: + Health: + HP: 300 + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + RenderBuildingSilo: + StoresOre: + PipCount: 15 + PipColor: Green + Capacity: 1500 + Selectable: + Bounds: 49,24 + -RenderBuilding: + -EmitInfantryOnSell: + Bib: + +PYLE: + Inherits: ^Building + Valued: + Cost: 300 + Tooltip: + Name: Barracks + Icon: pyleicnh + Description: Trains infantry + ProvidesCustomPrerequisite: + Prerequisite: barracks + Buildable: + BuildPaletteOrder: 40 + Prerequisites: anypower + Owner: gdi + Building: + Power: -20 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + RallyPoint: + Exit@1: + SpawnOffset: -10,2 + ExitCell: 0,1 + Exit@2: + SpawnOffset: 7,7 + ExitCell: 1,1 + Production: + Produces: Infantry + ProductionBar: + +HAND: + Inherits: ^Building + Valued: + Cost: 300 + Tooltip: + Name: Hand of Nod + Icon: handicnh + Description: Trains infantry + ProvidesCustomPrerequisite: + Prerequisite: barracks + Buildable: + BuildPaletteOrder: 40 + Prerequisites: anypower + Owner: nod + Building: + Power: -20 + Footprint: __ xx xx + Dimensions: 2,3 + Health: + HP: 800 + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + RallyPoint: + Exit@1: + SpawnOffset: 12,24 + ExitCell: 1,2 + Production: + Produces: Infantry + ProductionBar: + +AFLD: + Inherits: ^Building + Valued: + Cost: 2000 + Tooltip: + Name: Airstrip + Icon: afldicnh + Description: Provides a dropzone for vehicle reinforcements + ProvidesCustomPrerequisite: + Prerequisite: vehicleproduction + Buildable: + BuildPaletteOrder: 50 + Prerequisites: proc + Owner: nod + Building: + Power: -30 + Footprint: xxxx xxxx + Dimensions: 4,2 + Health: + HP: 1000 + Armor: + Type: Heavy + RevealsShroud: + Range: 7 + # Range: 5 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + RallyPoint: + RallyPoint: 4,2 + BelowUnits: + Exit@1: + SpawnOffset: -24,0 + ExitCell: 3,1 + ProductionAirdrop: + Produces: Vehicle + ProductionBar: + +WEAP: +#light + Inherits: ^Building + Valued: + Cost: 2000 + Tooltip: + Name: Weapons Factory + Icon: weapicnh + Description: Assembly point for vehicle reinforcements + ProvidesCustomPrerequisite: + Prerequisite: vehicleproduction + Buildable: + BuildPaletteOrder: 50 + Prerequisites: proc + Owner: gdi + Building: + Power: -30 + Footprint: ___ xxx === + Dimensions: 3,3 + Health: + HP: 400 + Armor: + Type: Light + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + -RenderBuilding: + RenderBuildingWarFactory: + RallyPoint: + RallyPoint: 0,3 + Exit@1: + SpawnOffset: -8,-8 + ExitCell: 0,2 + Production: + Produces: Vehicle + ProductionBar: + +HPAD.GDI: + Inherits: ^Building + Valued: + Cost: 1500 + CustomSellValue: + Value: 300 + Tooltip: + Name: Helipad (GDI) + Icon:hpadicnh + Description: Produces and reloads helicopters + ProvidesCustomPrerequisite: + Prerequisite: hpad + RenderBuilding: + Image: hpad + Buildable: + BuildPaletteOrder: 60 + Prerequisites: barracks + Owner: gdi + Building: + Power: -10 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + FreeActor: + Actor: ORCA + Facing: 3 + SpawnOffset: 1,2 + Exit@1: +# SpawnOffset: 0,0 + SpawnOffset: 0,-6 + Production: + Produces: Aircraft + BelowUnits: + Reservable: + RepairsUnits: + RallyPoint: + ProductionBar: + Bib: + +HPAD.NOD: + Inherits: ^Building + Valued: + Cost: 1500 + CustomSellValue: + Value: 300 + Tooltip: + Name: Helipad (Nod) + Icon:hpadicnh + Description: Produces and reloads helicopters + ProvidesCustomPrerequisite: + Prerequisite: hpad + RenderBuilding: + Image: hpad + Buildable: + BuildPaletteOrder: 60 + Prerequisites: barracks + Owner: nod + Building: + Power: -10 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + FreeActor: + Actor: HELI + SpawnOffset: 1,1 + Exit@1: + SpawnOffset: 0,0 +# SpawnOffset: 0,-6 + Production: + Produces: Aircraft + BelowUnits: + Reservable: + RepairsUnits: + RallyPoint: + ProductionBar: + Bib: + +HQ: + RequiresPower: + CanPowerDown: + Inherits: ^Building + Valued: + Cost: 1000 + Tooltip: + Name: Communications Center + Icon: hqicnh + Description: Provides an overview of the battlefield.\n Requires power to operate. + Buildable: + BuildPaletteOrder: 70 + Prerequisites: proc + Owner: gdi,nod + Building: + Power: -40 + Footprint: x_ xx + Dimensions: 2,2 + Health: + HP: 1000 + RevealsShroud: + Range: 12 + # Range: 10 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + ProvidesRadar: + +FIX: + Inherits: ^Building + Valued: + Cost: 1200 + Tooltip: + Name: Repair Facility + Icon: fixicnh + Description: Repairs vehicles and allows the\nconstruction of additional bases. + Buildable: + BuildPaletteOrder: 80 + Prerequisites: vehicleproduction + Owner: gdi,nod + Building: + Power: -30 + Footprint: _x_ xxx _x_ + Dimensions: 3,3 + Health: + HP: 800 + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + BelowUnits: + Reservable: + RepairsUnits: + RallyPoint: + +EYE: +#wood + RequiresPower: + CanPowerDown: + Inherits: ^Building + Valued: + Cost: 2800 + Tooltip: + Name: Advanced Communications Center + Icon: eyeicnh + Description: Provides access to the Ion Cannon.\n Requires power to operate. + ProvidesCustomPrerequisite: + Prerequisite: techbuilding + Buildable: + BuildPaletteOrder: 100 + Prerequisites: hq + Owner: gdi + Building: + Power: -200 + Footprint: x_ xx + Dimensions: 2,2 + Health: + HP: 1000 + RevealsShroud: + Range: 12 + # Range: 10 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + ProvidesRadar: + IonCannonPower: + Image: ionicnh + ChargeTime: 280 + Description: Ion Cannon + LongDesc: Initiate an Ion Cannon strike.\nApplies instant damage to a small area. + BeginChargeSound: ionchrg1.aud + EndChargeSound: ionredy1.aud + LaunchSound: ion1.aud + SelectTargetSound: select1.aud + SupportPowerChargeBar: + +TMPL: + RequiresPower: + CanPowerDown: + Inherits: ^Building + Valued: + Cost: 3000 + Tooltip: + Name: Temple of Nod + Icon: tmplicnh + Description: Place of worship and secret missile silo.\nRequires power to operate. + ProvidesCustomPrerequisite: + Prerequisite: techbuilding + Buildable: + BuildPaletteOrder: 100 + Prerequisites: hq + Owner: nod + Building: + Power: -150 + Footprint: ___ xxx xxx + Dimensions: 3,3 + Health: + HP: 2000 + Armor: + Type: Light + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from what we want for now, to properly emulate + Bib: + NukePower: + Image: atomicnh + ChargeTime: 405 + Description: Nuclear Strike + LongDesc: Launch a tactical nuke.\nApplies heavy damage over a large area. + BeginChargeSound: + EndChargeSound: nukavail.aud + SelectTargetSound: select1.aud + LaunchSound: nukemisl.aud + MissileWeapon: atomic + SupportPowerChargeBar: + +OBLI: + RequiresPower: + Inherits: ^Building + Valued: + Cost: 1500 + Tooltip: + Name: Obelisk of Light + Icon:obliicnh + Description: Advanced base defense. Requires power\nto operate.\n Strong vs Tanks, Infantry\n Weak vs Aircraft + Buildable: + Queue: Defense + BuildPaletteOrder: 60 + Prerequisites: hq + Owner: nod + Building: + Power: -150 + Footprint: _ x + Dimensions: 1,2 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Light + RevealsShroud: + Range: 9 + # Range: 5 + # RevealShroud range was set to equal 1 + its weapon range (due to possible rendering issues with shroud for OpenRA). + # (Range of Obelisk laser is 7.5) + RenderBuildingCharge: + ChargeAudio: obelpowr.aud + AttackTurreted: + PrimaryWeapon: Laser + PrimaryOffset: 0,0,-2,-17 + FireDelay: 8 + Turreted: + ROT:255 + AutoTarget: + -RenderBuilding: + RenderRangeCircle: + -EmitInfantryOnSell: +# RenderDetectionCircle: + DetectCloaked: + Range: 5 + +CYCL: + Inherits: ^Wall + Valued: + Cost: 75 +# CustomSellValue: +# Value: 0 + Tooltip: + Name: Chain Link Barrier + Icon:cyclicnh + Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. + Buildable: + Queue: Defense + BuildPaletteOrder: 20 + Prerequisites: fact + Owner: gdi, nod + Health: + HP: 50 + Armor: + Type: Wall + +SBAG: + Inherits: ^Wall + Valued: + Cost: 50 +# CustomSellValue: +# Value: 0 + Tooltip: + Name: Sandbag Barrier + Icon:sbagicnh + Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. + Buildable: + Queue: Defense + BuildPaletteOrder: 20 + Prerequisites: fact + Owner: gdi, nod + Health: + HP: 25 + Armor: + Type: Wall + +BRIK: + Inherits: ^HeavyWall + Valued: + Cost: 100 +# CustomSellValue: +# Value: 0 + Tooltip: + Name: Concrete Barrier + Icon:brikicnh + Description: Stop units and blocks enemy fire. + Buildable: + Queue: Defense + BuildPaletteOrder: 30 + Prerequisites: vehicleproduction + Owner: gdi,nod + Health: + HP: 200 + Armor: + Type: Concrete + Wall: + CrushClasses: heavywall + -CrushSound: + SoundOnDamageTransition: + DestroyedSound: crumble.aud + +GUN: + Inherits: ^Building + Valued: + Cost: 600 + Tooltip: + Name: Turret + Icon: gunicnh + Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft + Buildable: + Queue: Defense + BuildPaletteOrder: 40 + Prerequisites: barracks + Owner: nod + Building: + Power: -20 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 7 + # Range: 5 + # RevealShroud range was set to equal 1 + its weapon range (6) (due to possible rendering issues with shroud for OpenRA) + Turreted: + ROT: 12 + InitialFacing: 50 + RenderBuildingTurreted: + AttackTurreted: + PrimaryWeapon: TurretGun + PrimaryLocalOffset: 0,4,0,-2,0 + AutoTarget: + -AutoTargetIgnore: + -RenderBuilding: + -DeadBuildingState: + RenderRangeCircle: +# RenderDetectionCircle: + DetectCloaked: + Range: 5 + +SAM: + Inherits: ^Building + RequiresPower: + Valued: + Cost: 750 + Tooltip: + Name: SAM Site + Icon: samicnh + Description: Anti-Air base defense.\n Strong vs Aircraft\n Weak vs Infantry, Tanks + Buildable: + Queue: Defense + BuildPaletteOrder: 50 + Prerequisites: hand + Owner: nod + Building: + Power: -20 + Footprint: xx + Dimensions: 2,1 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + # Range: 3 + Range: 5 + # Range set to arbitrary length more in line with what you would expect from a guard tower. (SAM missile's range is 15) + Turreted: + ROT: 7 + InitialFacing: 0 + RenderBuildingTurreted: + AttackPopupTurreted: + PrimaryWeapon: SAMMissile + WithMuzzleFlash: + AutoTarget: + -RenderBuilding: + RenderRangeCircle: + +GTWR: +#wood + Inherits: ^Building + Valued: + Cost: 500 + Tooltip: + Name: Guard Tower + Icon: gtwricnh + Description: Basic defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft + Buildable: + Queue: Defense + BuildPaletteOrder: 50 + Prerequisites: barracks + Owner: gdi + Building: + Power: -10 + -GivesBuildableArea: + Health: + HP: 400 + RevealsShroud: + Range: 6 + # Range: 3 + # RevealShroud range was set to equal 1 + its weapon range (due to possible rendering issues with shroud for OpenRA) + AttackTurreted: + PrimaryWeapon: HighV + PrimaryOffset: 0,0,0,-6 + PrimaryLocalOffset: 0,-6,0,0,0 + AutoTarget: + -AutoTargetIgnore: + DetectCloaked: + Range: 3 +# RenderDetectionCircle: + RenderRangeCircle: + WithMuzzleFlash: + Turreted: + ROT:255 + +ATWR: + Inherits: ^Building + RequiresPower: + Valued: + Cost: 1000 + Tooltip: + Name: Advanced Guard Tower + Icon: atwricnh + Description: Anti-armor defensive structure.\n Strong vs Light Vehicles, Tanks\n Weak vs Infantry + Buildable: + Queue: Defense + BuildPaletteOrder: 60 + Prerequisites: hq + Owner: gdi + Building: + Power: -20 + Footprint: _ x + Dimensions: 1,2 + -GivesBuildableArea: + Health: + HP: 600 + Armor: + Type: Light + RevealsShroud: + Range: 7 + # Range: 4 + # RevealShroud range was set to equal its weapon range +1 (due to possible rendering issues with shroud for OpenRA) + AttackTurreted: + PrimaryWeapon: TowerMissle + PrimaryOffset: 0,0,5,2 + PrimaryLocalOffset: 7,-7,0,0,-25, -7,-7,0,0,25 + Turreted: + ROT:255 + AutoTarget: + -AutoTargetIgnore: + DetectCloaked: + Range: 4 + +# custom prerequisites: +BARRACKS: + Tooltip: + Name: Infantry Production + Description: Infantry Production + +VEHICLEPRODUCTION: + Tooltip: + Name: Vehicle Production + Description: Vehicle Production + +ANYPOWER: + Tooltip: + Name: Power Plant + Description: Power Plant + +HPAD: + Tooltip: + Name: Helipad + Description: Helipad diff --git a/mods/cnc-classic/rules/system.yaml b/mods/cnc-classic/rules/system.yaml new file mode 100644 index 0000000000..1b0dca0ec6 --- /dev/null +++ b/mods/cnc-classic/rules/system.yaml @@ -0,0 +1,245 @@ +Player: + TechTree: + ClassicProductionQueue@Building: + Type: Building + BuildSpeed: .4 + LowPowerSlowdown: 3 + QueuedAudio: Building + ReadyAudio: ConstructionComplete + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Defense: + Type: Defense + BuildSpeed: .4 + LowPowerSlowdown: 3 + QueuedAudio: Building + ReadyAudio: ConstructionComplete + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Vehicle: + Type: Vehicle + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Infantry: + Type: Infantry + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Aircraft: + Type: Aircraft + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + PlaceBuilding: + SupportPowerManager: + ConquestVictoryConditions: + PowerManager: + AllyRepair: + PlayerResources: + InitialCash: 5000 + AdviceInterval: 500 + ActorGroupProxy: + DeveloperMode: + HackyAI@Default: + Name:Easy AI + BuildingFractions: + proc: 20% + nuke: 9% + pyle: 5% + hand: 5% + hq: 4% + nuk2: 9% + weap: 9% + afld: 9% + gtwr: 5% + gun: 5% + atwr: 9% + obli: 7% + sam: 7% + eye: 1% + tmpl: 1% + silo: 4% + fix: 1% + hpad: 2% + UnitsToBuild: + e1: 14% + e3: 7% + e2: 10% + e4: 7% + e5: 5% + harv: 1% + bggy: 5% + bike: 40% + ltnk: 25% + ftnk: 10% + arty: 60% + stnk: 40% + jeep: 5% + mtnk: 20% + msam: 40% + htnk: 50% + heli: 5% + orca: 5% + PlayerColorPalette: + BasePalette: terrain + RemapIndex: 176, 178, 180, 182, 184, 186, 189, 191, 177, 179, 181, 183, 185, 187, 188, 190 + DebugResourceCash: + DebugResourceOre: + DebugResourceOreCapacity: + Shroud: + BaseAttackNotifier: + PlayerStatistics: + +World: + OpenWidgetAtGameStart: + Widget: INGAME_ROOT + ObserverWidget: OBSERVER_ROOT + CloakPaletteEffect: + ScreenShaker: + WaterPaletteRotation: + NukePaletteEffect: + BuildingInfluence: + ChooseBuildTabOnSelect: + BridgeLayer: + Bridges: bridge1, bridge2, bridge3, bridge4 + CrateSpawner: + Minimum: 1 + Maximum: 3 + SpawnInterval: 120 + WaterChance: 0 + PaletteFromCurrentTileset@terrain: + Name: terrain + ShadowIndex: 4 + PaletteFromCurrentTileset@static: + Name: staticterrain + ShadowIndex: 4 + PaletteFromFile@chrome: + Name: chrome + Filename: temperat.pal + ShadowIndex: 3 + PaletteFromFile@effect: + Name: effect + Filename: temperat.pal + ShadowIndex: 4 + PaletteFromFile@colorpicker: + Name: colorpicker + Filename: temperat.pal + ShadowIndex: 4 + AllowModifiers: false + PaletteFromRGBA@shadow: + Name: shadow + R: 0 + G: 0 + B: 0 + A: 140 + PaletteFromRGBA@cloak: + Name: cloak + R: 0 + G: 0 + B: 0 + A: 140 + PaletteFromRGBA@highlight: + Name: highlight + R: 255 + G: 255 + B: 255 + A: 128 + PaletteFromRGBA@disabled: + Name: disabled + R: 0 + G: 0 + B: 0 + A: 180 + ShroudPalette: + FogPalette: + Country@gdi: + Name: GDI + Race: gdi + Country@nod: + Name: Nod + Race: nod + BibLayer: + ResourceLayer: + ResourceClaimLayer: + ResourceType@green-tib: + ResourceType: 1 + Palette: staticterrain + TerrainType: Tiberium + SpriteNames: ti1,ti2,ti3,ti4,ti5,ti6,ti7,ti8,ti9,ti10,ti11,ti12 + ValuePerUnit: 35 + Name: Tiberium + PipColor: Green + AllowedTerrainTypes: Clear,Road + AllowUnderActors: false + ResourceType@blue-tib: + ResourceType: 2 + Palette: staticterrain + TerrainType: BlueTiberium + SpriteNames: bti1,bti2,bti3,bti4,bti5,bti6,bti7,bti8,bti9,bti10,bti11,bti12 + ValuePerUnit: 75 + Name: Blue Tiberium + PipColor: Blue + AllowedTerrainTypes: Clear,Road + AllowUnderActors: false + SmudgeLayer@SCORCH: + Type:Scorch + SmokePercentage:50 + Types:sc1,sc2,sc3,sc4,sc5,sc6 + Depths:1,1,1,1,1,1 + SmudgeLayer@CRATER: + Type:Crater + Types:cr1,cr2,cr3,cr4,cr5,cr6 + Depths:5,5,5,5,5,5 + SpawnMapActors: + CreateMPPlayers: + MPStartLocations: + SpawnMPUnits: + SpatialBins: + BinSize: 4 + Shroud: + PathFinder: + ValidateOrder: + +CRATE: + Tooltip: + Name: Crate + Crate: + Lifetime: 120 + TerrainTypes: Clear, Rough, Road, Tiberium, BlueTiberium, Beach + GiveCashCrateAction: + Amount: 2000 + SelectionShares: 20 + UseCashTick: yes + RevealMapCrateAction: + SelectionShares: 1 + Effect: reveal-map + LevelUpCrateAction: + SelectionShares: 20 + CloakCrateAction: + SelectionShares: 5 + InitialDelay: 15 + CloakDelay: 125 + CloakSound: trans1.aud + UncloakSound: appear1.aud + Effect: cloak + GiveMcvCrateAction: + SelectionShares: 2 + NoBaseSelectionShares: 9001 + Unit: mcv + RenderSimple: + BelowUnits: + ProximityCaptor: + Types:Crate + Passenger: + +mpspawn: + Waypoint: + RenderEditorOnly: + +waypoint: + Waypoint: + RenderEditorOnly: diff --git a/mods/cnc-classic/rules/tech.yaml b/mods/cnc-classic/rules/tech.yaml new file mode 100644 index 0000000000..3396f5be32 --- /dev/null +++ b/mods/cnc-classic/rules/tech.yaml @@ -0,0 +1,49 @@ +# Oil Derrick +V19: + Inherits: ^TechBuilding + CashTrickler: + Building: + Footprint: x + Dimensions: 1,1 + Tooltip: + Name: Oil Derrick + LeavesHusk: + HuskActor: V19.Husk + +V19.Husk: + Inherits: ^CivBuildingHusk + WithFire: + Building: + Footprint: x + Dimensions: 1,1 + Tooltip: + Name: Oil Derrick (Destroyed) + +# Hospital +HOSP: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Hospital + RepairsUnits: + +# Bio Lab +BIO: + Inherits: ^TechBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Biological Lab + +# Prison / Tech Center +MISS: + Inherits: ^CivBuilding + RenderBuilding: + Building: + Footprint: xxx xxx + Dimensions: 3,2 + Tooltip: + Name: Tech Center diff --git a/mods/cnc-classic/rules/trees.yaml b/mods/cnc-classic/rules/trees.yaml new file mode 100644 index 0000000000..1e0058bb0c --- /dev/null +++ b/mods/cnc-classic/rules/trees.yaml @@ -0,0 +1,139 @@ +SPLIT2: + Inherits: ^Tree + RenderBuilding: + Palette: staticterrain + SeedsResource: + ResourceType:Tiberium + Interval: 55 + Tooltip: + Name: Blossom Tree + RadarColorFromTerrain: + Terrain: Tiberium + +SPLIT3: + Inherits: ^Tree + RenderBuilding: + Palette: staticterrain + SeedsResource: + ResourceType:Tiberium + Interval: 55 + Tooltip: + Name: Blossom Tree + RadarColorFromTerrain: + Terrain: Tiberium + +ROCK1: + Inherits: ^Rock +ROCK2: + Inherits: ^Rock +ROCK3: + Inherits: ^Rock +ROCK4: + Inherits: ^Rock +ROCK5: + Inherits: ^Rock +ROCK6: + Inherits: ^Rock +ROCK7: + Inherits: ^Rock + +T01: + Inherits: ^Tree + +T02: + Inherits: ^Tree + +T03: + Inherits: ^Tree + +T04: + Inherits: ^Tree + +T05: + Inherits: ^Tree + +T06: + Inherits: ^Tree + +T07: + Inherits: ^Tree + +T08: + Inherits: ^Tree + Building: + Footprint: x_ + Dimensions: 2,1 + +T09: + Inherits: ^Tree + Building: + Footprint: x_ + Dimensions: 2,1 + +T10: + Inherits: ^Tree + Building: + Footprint: __ xx +T11: + Inherits: ^Tree + Building: + Footprint: __ xx + +T12: + Inherits: ^Tree + +T13: + Inherits: ^Tree + +T14: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 + +T15: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 + +T16: + Inherits: ^Tree + +T17: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 +T18: + Inherits: ^Tree + +TC01: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 + +TC02: + Inherits: ^Tree + Building: + Footprint: _x_ xx_ + Dimensions: 3,2 + +TC03: + Inherits: ^Tree + Building: + Footprint: xx_ xx_ + Dimensions: 3,2 + +TC04: + Inherits: ^Tree + Building: + Footprint: ____ xxx_ x___ + Dimensions: 4,3 + +TC05: + Inherits: ^Tree + Building: + Footprint: __x_ xxx_ _xx_ + Dimensions: 4,3 \ No newline at end of file diff --git a/mods/cnc-classic/rules/vehicles.yaml b/mods/cnc-classic/rules/vehicles.yaml new file mode 100644 index 0000000000..6d378bd2c9 --- /dev/null +++ b/mods/cnc-classic/rules/vehicles.yaml @@ -0,0 +1,488 @@ +MCV: + Inherits: ^Tank + Valued: + Cost: 5000 + Tooltip: + Name: Mobile Construction Vehicle + Icon: mcvicnh + Description: Deploys into another Construction Yard.\n Unarmed + Buildable: + BuildPaletteOrder: 70 + Prerequisites: fix + Owner: gdi,nod + Selectable: + Priority: 3 + Mobile: + Speed: 12 + Health: + HP: 600 + Armor: + Type: Light + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Transforms: + IntoActor: fact + Offset:-1,-1 + Facing: 108 + TransformSounds: constru2.aud, hvydoor1.aud + NoTransformSounds: deploy1.aud + RenderUnit: + MustBeDestroyed: + AttackMove: + JustMove:true + BaseBuilding: + -AcceptsCloakCrate: + Explodes: + Weapon: McvExplode + +HARV: + Inherits: ^Tank + Valued: + Cost: 1400 + Tooltip: + Name: Harvester + Icon: harvicnh + Description: Collects Tiberium for processing.\n Unarmed + Buildable: + BuildPaletteOrder: 10 + Prerequisites: proc + Owner: gdi,nod + Selectable: + Priority: 7 + Bounds: 44,44 + Harvester: + Resources: Tiberium, Blue Tiberium + PipCount: 7 + Capacity: 28 + UnloadTicksPerBale: 16 + FullyLoadedSpeed: 100% + Mobile: + Speed: 12 + Health: + HP: 600 + Armor: + Type: Light + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + RenderUnit: + AttackMove: + JustMove:true + Explodes: + Weapon: McvExplode + +JEEP: + Inherits: ^Vehicle + Valued: + Cost: 400 + Tooltip: + Name: Hum-Vee + Icon: jeepicnh + Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry\n Weak vs Tanks, Aircraft + Buildable: + BuildPaletteOrder: 20 + Prerequisites: weap + Owner: gdi + Mobile: + ROT: 10 + Speed: 30 + Health: + HP: 150 + Armor: + Type: Light + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 10 + AttackTurreted: + PrimaryWeapon: MachineGun + PrimaryOffset: 0,2,0,-4 + WithMuzzleFlash: + RenderUnitTurreted: + AutoTarget: + +APC: + Inherits: ^Tank + Valued: + Cost: 700 + Tooltip: + Name: Armored Personnel Carrier + Icon: apcicnh + Description: Armored infantry transport and mobile AA\n Strong vs Aircraft\n Weak vs Tanks, Infantry + Buildable: + BuildPaletteOrder: 30 + Prerequisites: pyle + Owner: gdi + Mobile: + ROT: 5 + Speed: 26 + Health: + HP: 200 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 10 + AttackTurreted: + PrimaryWeapon: MachineGun + PrimaryOffset: 0,0,0,0 + WithMuzzleFlash: + RenderUnitTurreted: + AutoTarget: + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + UnloadFacing: 220 + +BGGY: + Inherits: ^Vehicle + Valued: + Cost: 300 + Tooltip: + Name: Nod Buggy + Icon: bggyicnh + Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry\n Weak vs Tanks, Aircraft + Buildable: + BuildPaletteOrder: 20 + Prerequisites: afld + Owner: nod + Mobile: + ROT: 10 + Speed: 30 + Health: + HP: 140 + Armor: + Type: Light + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 10 + AttackTurreted: + PrimaryWeapon: MachineGun + PrimaryOffset: 0,1,0,-3 + WithMuzzleFlash: + RenderUnitTurreted: + AutoTarget: + +BIKE: + Inherits: ^Vehicle + Valued: + Cost: 500 + Tooltip: + Name: Recon Bike + Icon: bikeicnh + Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry + Buildable: + BuildPaletteOrder: 30 + Prerequisites: afld + Owner: nod + Mobile: + ROT: 10 + Speed: 40 + Health: + HP: 160 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + # Range: 2 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + AttackFrontal: + PrimaryWeapon: BikeRockets + PrimaryOffset: 0,0,0,-2 + PrimaryLocalOffset: -4,0,0,0,25, 4,0,0,0,-25 + RenderUnit: + AutoTarget: + +ARTY: + Inherits: ^Tank + Valued: + Cost: 450 + Tooltip: + Name: Artillery + Icon:artyicnh + Description: Long-range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft + Buildable: + BuildPaletteOrder: 40 + Prerequisites: hq + Owner: nod + Mobile: + ROT: 2 + Speed: 12 + Health: + HP: 75 + Armor: + Type: Light + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + AttackFrontal: + PrimaryWeapon: ArtilleryShell + PrimaryOffset: 0,-7,0,-3 + RenderUnit: + AutoTarget: + Explodes: + Weapon: UnitExplode + EmptyWeapon: UnitExplode + +FTNK: + Inherits: ^Tank + Valued: + Cost: 800 + Tooltip: + Name: Flame Tank + Icon: ftnkicnh + Description: Heavily armored flame-throwing vehicle.\n Strong vs Infantry, Buildings\n Weak vs Aircraft + Buildable: + BuildPaletteOrder: 50 + Prerequisites: hq + Owner: nod + Mobile: + ROT: 5 + Speed: 18 + Health: + HP: 300 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + AttackFrontal: + PrimaryWeapon: BigFlamer + PrimaryOffset: 0,-5,3,2 + PrimaryLocalOffset: 2,0,0,0,0, -2,0,0,0,0 + RenderUnit: + AutoTarget: + WithMuzzleFlash: + Explodes: + Weapon: BigNapalmExplode + EmptyWeapon: BigNapalmExplode + +LTNK: + Inherits: ^Tank + Valued: + Cost: 600 + Tooltip: + Name: Light Tank + Icon: ltnkicnh + Description: Light Tank, good for scouting.\n Strong vs Light Vehicles\n Weak vs Tanks, Aircraft + Buildable: + BuildPaletteOrder: 30 + Prerequisites: afld + Owner: nod + Mobile: + Speed: 18 + Health: + HP: 300 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 5 + AttackTurreted: + PrimaryWeapon: 70mm + PrimaryRecoil: 2 + PrimaryRecoilRecovery: 0.4 + PrimaryLocalOffset: 0,3,0,-2,0 + RenderUnitTurreted: + AutoTarget: + +MTNK: + Inherits: ^Tank + Valued: + Cost: 800 + Tooltip: + Name: Medium Tank + Icon: mtnkicnh + Description: General-Purpose GDI Tank.\n Strong vs Tanks, Light Vehicles\n Weak vs Infantry, Aircraft + Buildable: + BuildPaletteOrder: 30 + Prerequisites: weap + Owner: gdi + Mobile: + Speed: 18 + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + # Range: 3 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 5 + AttackTurreted: + # PrimaryWeapon: 120mm + PrimaryWeapon: 105mm + PrimaryRecoil: 3 + PrimaryRecoilRecovery: 0.6 + PrimaryLocalOffset: 0,0,0,-1,0 + RenderUnitTurreted: + AutoTarget: + Selectable: + Bounds: 34,34 + +HTNK: + Inherits: ^Tank + Valued: + Cost: 1500 + Tooltip: + Name: Mammoth Tank + Icon: htnkicnh + Description: Heavily armored GDI Tank.\n Strong vs Everything + Buildable: + BuildPaletteOrder: 60 + Prerequisites: fix + Owner: gdi + Mobile: + Crushes: wall, heavywall, crate, infantry + Speed: 12 + Health: + HP: 600 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 +# Range: 4 +# In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 2 + AttackTurreted: + PrimaryWeapon: 120mmDual + SecondaryWeapon: MammothMissiles + PrimaryLocalOffset: -5,-5,0,-10,0, 5,-5,0,-10,0 + SecondaryLocalOffset: -9,2,0,0,25, 9,2,0,0,-25 + PrimaryRecoil: 4 + SecondaryRecoil: 1 + PrimaryRecoilRecovery: 1 + RenderUnitTurreted: + AutoTarget: + SelfHealing: + Ticks: 10 + DamageCooldown: 200 + Explodes: + Weapon: MammothExplode + Selectable: + Bounds: 40,38,0,-3 + +MSAM: + Inherits: ^Tank + Valued: + Cost: 800 + Tooltip: + Name: Rocket Launcher + Icon: msamicnh + Description: Long range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft + Buildable: + BuildPaletteOrder: 50 + Prerequisites: techbuilding + Owner: gdi, nod + Mobile: + Speed: 18 + Health: + HP: 100 + Armor: + Type: Light + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 255 + AttackFrontal: + PrimaryWeapon: 227mm + PrimaryOffset: 0,6,0,-3 + PrimaryLocalOffset: 3,-5,0,0,0, -3,-5,0,0,0 + RenderUnitTurretedAim: + AutoTarget: + Explodes: + Weapon: MammothExplode + +MLRS: + Inherits: ^Tank + Valued: + Cost: 750 + Tooltip: + Name: SSM Launcher + Icon: mlrsicnh + Description: Long range artillery.\n Strong vs Infantry, Aircraft\n Weak vs Tanks, Aircraft + Buildable: + BuildPaletteOrder: 60 + Prerequisites: obli + Owner: nod + Mobile: + Speed: 18 + Health: + HP: 120 + Armor: + Type: Light + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Turreted: + ROT: 5 + AttackFrontal: + PrimaryWeapon: HonestJohn + SecondaryWeapon: HonestJohn + PrimaryOffset: 0,3,0,-3 + PrimaryLocalOffset: -4,0,0,0,0 + SecondaryLocalOffset: 4,0,0,0,0 + # AlignIdleTurrets: true + RenderUnitTurretedAim: + AutoTarget: + Explodes: + Weapon: BigNapalmExplode + EmptyWeapon: BigNapalmExplode + +STNK: + Inherits: ^Tank + Valued: + Cost: 900 + Tooltip: + Name: Stealth Tank + Icon: stnkicnh + Description: Missile tank that can bend light around \nitself to become invisible\n Strong vs Infantry, Aircraft\n Weak vs Tanks + Buildable: + BuildPaletteOrder: 90 + Prerequisites: hq + Owner: nod + Mobile: + Speed: 30 + Health: + HP: 110 + Armor: + Type: Light + RevealsShroud: + Range: 6 + # Range: 4 + # In practice, it seems that OpenRA renders vision range differently. Will set at +2 from C&C Gold values for now to properly emulate. + Cloak: + InitialDelay: 125 + CloakDelay: 125 + CloakSound: trans1.aud + UncloakSound: appear1.aud + AttackFrontal: + PrimaryWeapon: 227mm.stnk + PrimaryOffset: 0,-5,0,-3 + PrimaryLocalOffset: 1,0,0,0,0, -1,0,0,0,0 + RenderUnit: + AutoTarget: + InitialStance: HoldFire + TargetableUnit: diff --git a/mods/cnc-classic/sequences/campaign.yaml b/mods/cnc-classic/sequences/campaign.yaml new file mode 100644 index 0000000000..82fe2cb195 --- /dev/null +++ b/mods/cnc-classic/sequences/campaign.yaml @@ -0,0 +1,31 @@ +lst: + idle: + Start: 0 + Facings: 4 + unload: + Start: 0 + Facings: 4 + +boat: + left: + Start: 0 + Facings: 32 + left-damaged: + Start: 32 + left-critical: + Start: 64 + left-wake: wake + Start: 6 + Length: 6 + right: + Start: 96 + Facings: 32 + right-damaged: + Start: 128 + Facings: 32 + right-critical: + Start: 160 + Facings: 32 + right-wake: wake + Start: 0 + Length: 6 \ No newline at end of file diff --git a/mods/cnc-classic/sequences/misc.yaml b/mods/cnc-classic/sequences/misc.yaml new file mode 100644 index 0000000000..11f6bb4dff --- /dev/null +++ b/mods/cnc-classic/sequences/misc.yaml @@ -0,0 +1,251 @@ +fire: + 1: fire1 + Start: 0 + Length: * + 2: fire2 + Start: 0 + Length: * + +120mm: + idle: + Start: 0 + +smoke_m: + idle: + Start: 0 + Length: * + loop: + Start: 49 + Length: 42 + end: + Start: 0 + Length: 26 + +laserfire: + idle:veh-hit3 + Start: 0 + Length: * + +dragon: + idle: + Start: 0 + Facings: 32 + +smokey: + idle: + Start: 0 + Length: * + +bomb: + idle: + Start: 0 + Length: * + +missile: + idle: + Start: 0 + Facings: 32 + +patriot: + idle: + Start: 0 + Facings: 32 + +explosion: + 1: piff + Start: 0 + Length: * + 2: piffpiff + Start: 0 + Length: * + 3: napalm2 #napalm explosion + Start: 0 + Length: * + 4: veh-hit3 #small vehicle explosion + Start: 0 + Length: * + 5: veh-hit2 #grenadier pop - like artillery explosion but smaller + Start: 0 + Length: * + 1w: piff + Start: 0 + Length: * + 2w: piffpiff + Start: 0 + Length: * + 3w: napalm2 + Start: 0 + Length: * + 4w: veh-hit3 + Start: 0 + Length: * + 5w: veh-hit2 + Start: 0 + Length: * + 8: art-exp1 #artillery explosion + Start: 0 + Length: * + big_napalm: napalm3 #biggest napalm explosion + Start: 0 + Length: * + veh1: veh-hit1 # resembles building explosion, but smaller. For Orcas, etc. + Start: 0 + Length: * + building: fball1 + Start: 0 + Length: * + 6: atomsfx + Start: 0 + Length: * + 6w: atomsfx + Start: 0 + Length: * + chemball: chemball + Start: 0 + Length: * + +rank: + rank: + Start: 0 + Length: * + +rallypoint: + flag:flagfly + Start: 0 + Length: * + circles:fpls + Start: 0 + Length: * + +select: + repair: + Start: 2 + +allyrepair: + repair: + Start: 0 + Length: * + Tick: 160 + +crate: + idle: wcrate + Start: 0 + land: wcrate + Start: 0 + +crate-effects: + airstrike: deviator + Start: 0 + Length: * + nuke: missile2 + Start: 0 + Length: * + dollar: dollar + Start: 0 + Length: * + reveal-map: radarcrate + Start: 0 + Length: * + hide-map: empulse + Start: 0 + Length: * + heal: healcrate + Start: 0 + Length: * + mine: mine + Start: 0 + Length: * + redskull: rapid + Start: 0 + Length: * + cloak: cloakcrate + Start: 0 + Length: * + levelup: levelup + Start: 0 + Length: * + Tick: 200 + +miss: + idle: + Start: 0 + damaged-idle: + Start: 2 + +atomicup: + idle: + Start: 0 + Length: * + +atomicdn: + idle: + Start: 0 + Length: * + +atomic: + up: atomicup + Start: 0 + Length: * + down: atomicdn + Start: 0 + Length: * + +ionsfx: + idle: + Start: 0 + Length: * + +bomblet: + idle: + Start: 0 + Length: * + +mpspawn: + idle: + Start: 0 + Length: * + +waypoint: + idle: + Start: 0 + Length: * + +clock: + idle: hclock + Start: 0 + Length: * +pips: + pip-empty: + Start: 0 + pip-green: + Start: 1 + pip-yellow: + Start: 2 + pip-gray: + Start: 3 + pip-red: + Start: 4 + pip-blue: + Start: 5 + groups: pdigits + Start: 0 + Length: * + tag-primary: hpips + Start: 2 + +overlay: + build-valid: + Start: 0 + build-invalid: + Start: 1 + target-select: + Start: 2 + target-valid: + Start: 0 + target-invalid: + Start: 1 + +moveflsh: + idle: + Start: 0 + Length: * \ No newline at end of file diff --git a/mods/cnc-classic/uibits/buttons.png b/mods/cnc-classic/uibits/buttons.png new file mode 100644 index 0000000000..b0868fd437 Binary files /dev/null and b/mods/cnc-classic/uibits/buttons.png differ diff --git a/mods/cnc-classic/uibits/chrome-gdi.png b/mods/cnc-classic/uibits/chrome-gdi.png new file mode 100644 index 0000000000..25bad67e8d Binary files /dev/null and b/mods/cnc-classic/uibits/chrome-gdi.png differ diff --git a/mods/cnc-classic/uibits/chrome-nod.png b/mods/cnc-classic/uibits/chrome-nod.png new file mode 100644 index 0000000000..62ced4ac4d Binary files /dev/null and b/mods/cnc-classic/uibits/chrome-nod.png differ diff --git a/mods/cnc-classic/uibits/dialog.png b/mods/cnc-classic/uibits/dialog.png new file mode 100644 index 0000000000..96fc075277 Binary files /dev/null and b/mods/cnc-classic/uibits/dialog.png differ diff --git a/mods/cnc-classic/uibits/loadscreen.png b/mods/cnc-classic/uibits/loadscreen.png new file mode 100644 index 0000000000..85e73515c3 Binary files /dev/null and b/mods/cnc-classic/uibits/loadscreen.png differ diff --git a/mods/cnc-classic/uibits/tabs.png b/mods/cnc-classic/uibits/tabs.png new file mode 100644 index 0000000000..01e5b80f4e Binary files /dev/null and b/mods/cnc-classic/uibits/tabs.png differ diff --git a/mods/cnc-classic/weapons.yaml b/mods/cnc-classic/weapons.yaml new file mode 100644 index 0000000000..a26f25f030 --- /dev/null +++ b/mods/cnc-classic/weapons.yaml @@ -0,0 +1,755 @@ +# cleaned up the file a bit. +# is in order from simple to advanced: infantry, vehicles, tanks, air, sea, buildings, superweapons, misc. + +Pistol: + ROF: 7 + Range: 1.75 + Report: GUN18 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100% + Wood: 50% + Light: 50% + Heavy: 25% + Concrete: 25% + InfDeath: 2 + Explosion: 1 + Damage: 1 + +M16: + ROF: 20 + Range: 2 + Report: MGUN2 + ValidTargets: Ground, -Wall + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100% + Wood: 50% + Light: 50% + Heavy: 25% + Conrete: 25% + Explosion: 1 + InfDeath: 1 + Damage: 15 + +Rockets: + ROF: 60 + Range: 4 + Report: BAZOOK1 + ValidTargets: Ground, Air + Projectile: Missile + Arm: 0 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 10 + Trail: smokey + Speed: 25 +# ^ 35 in 0504 + RangeLimit: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 30 + +Grenade: + ROF: 50 + Range: 3.5 + Projectile: Bullet + Speed: 8 + High: yes + Angle: .1 +# weapon is "lobbed" in C&C. Looks close enough. + Inaccuracy: 5 +# no information on inaccuracy in cncrules.ini + Image: BOMB + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + InfDeath: 3 + Explosion: 5 + ImpactSound: xplos + SmudgeType: Crater + Damage: 50 + +Flamethrower: + ROF: 50 + Range: 2 + Report: FLAMER2 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 8 + Versus: + None: 90% + Wood: 100% + Light: 60% + Heavy: 25% + Concrete: 50% + InfDeath: 5 + ImpactSound: flamer2 + SmudgeType: Scorch + Damage: 35 + +Chemspray: + ROF: 70 + Range: 2 + Report: FLAMER2 + Projectile: Bullet + Speed: 100 + Warhead: + Damage: 80 + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + InfDeath: 6 +# ^InfDeath was 2 in original. Chemical death looks kind of cooler, though. + SmudgeType: Scorch + ImpactSound: xplos + + +Sniper: + Report: RAMGUN2 + ROF: 40 + Range: 5.5 + Projectile: Bullet + Speed: 100 + Warhead: + Damage: 100 + Spread: 1 + Versus: + None: 100% + Wood: 5% + Light: 5% + Heavy: 5% + Concrete: 5% + InfDeath: 1 + + +MachineGun: + ROF: 30 + Range: 4 + Report: MGUN11 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100% + Wood: 50% + Light: 50% + Heavy: 25% + Concrete: 25% + InfDeath: 2 + Explosion: 1 + Damage: 15 + +BikeRockets: + ROF: 60 + Range: 4 + Report: BAZOOK1 + ValidTargets: Ground, Air + Projectile: Missile + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 5 + Trail: smokey + Speed: 25 + RangeLimit: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 30 + +BigFlamer: + ROF: 42 + Range: 2 + Report: FLAMER2 + Projectile: Bullet + Speed: 100 + Burst:2 + BurstDelay: 8 + Warhead: + Spread: 8 + Versus: + None: 90% + Wood: 100% + Light: 60% + Heavy: 25% + Concrete: 50% + InfDeath: 5 +# Explosion: 3 + ImpactSound: flamer2 + SmudgeType: Scorch + Damage: 50 + +ArtilleryShell: + ROF: 65 + Range: 6 + MinRange: 2 + Report: TNKFIRE2 + Projectile: Bullet + Speed: 12 + High: yes + Angle: .09 + Inaccuracy: 30 + Image: 120MM + Warhead: + Damage: 150 + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + InfDeath: 3 + Explosion: 8 + SmudgeType: Crater + ImpactSound: XPLOSML2 + +70mm: + ROF: 60 + Range: 4 + Report: TNKFIRE3 + Projectile: Bullet + Image: 120MM + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 25 + +105mm: + ROF: 50 + Range: 4.75 + Report: TNKFIRE4 + Projectile: Bullet + Image: 120MM + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 30 + +120mm: + ROF: 80 + Range: 4.75 + Report: TNKFIRE6 + Projectile: Bullet + Image: 120MM + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 40 + +120mmDual: + ROF: 72 + Range: 4.75 + Report: TNKFIRE6 + Burst: 2 + BurstDelay: 8 + Projectile: Bullet + Image: 120MM + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 40 + +MammothMissiles: + ROF: 72 + Range: 5 + Report: ROCKET1 + ValidTargets: Ground, Air + Burst: 2 + BurstDelay: 8 + Projectile: Missile + Arm: 0 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 10 + Trail: smokey + Speed: 25 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100 + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 75 + +227mm: + ROF: 72 + Range: 6 +# MinRange: 2 + Burst: 2 + BurstDelay: 8 + Report: ROCKET1 + ValidTargets: Ground, Air + Projectile: Missile + Arm: 2 + High: yes + Shadow: no + Inaccuracy: 20 +#inaccuracy only has "yes" for Heatseeker + Angle: 0.1 + Image: DRAGON + ROT: 5 + Trail: smokey + Speed: 20 + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% +#ora InfDeath: 4 + InfDeath: 3 + Explosion: 4 +# Explosion: frag3 + ImpactSound: xplobig4 + SmudgeType: Crater + Damage: 75 + +227mm.stnk: + ROF: 52 + Range: 4 +# Report: ROCKET1 + Report: BZAOOK1 + Burst: 2 + BurstDelay: 8 + ValidTargets: Ground, Air + Projectile: Missile + Arm: 2 + High: no + Shadow: yes + Proximity: yes + Inaccuracy: 5 +#no hard value for inaccuracy given in cncrules.ini + Image: DRAGON + ROT: 5 + Trail: smokey + Speed: 25 + RangeLimit: 55 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 5 +#cnc haven't confirmed what explosion it does + ImpactSound: xplos + SmudgeType: Crater + Damage: 30 + +HonestJohn: + ROF: 200 +#fires every 14 seconds +# fires once, then 8 seconds later, then at 16 seconds, then at 30. + Range: 10 + Report: ROCKET1 + Projectile: Bullet + Arm: 10 + High: yes + Shadow: yes + Proximity: yes + Inaccuracy: 5 +#no inaccuracy info is provided in cncrules.ini + Image: patriot + Trail: smokey + Speed: 15 + RangeLimit: 35 + Angle: .15 + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + InfDeath: 5 + Explosion: 3 +# Explosion: big_napalm + ImpactSound: flamer2 + SmudgeType: Crater + Damage: 100 + +OrcaAGMissiles: + ROF: 52 + Burst: 2 + BurstDelay: 8 + Range: 4 + Report: BAZOOK1 + ValidTargets: Ground + Projectile: Missile + Arm: 0 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 10 + Trail: smokey + Speed: 25 + RangeLimit: 30 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 +# Explosion: 4 + Explosion: 5 +# ^ it looks like small arty explosion in C&C Gold + ImpactSound: xplos + SmudgeType: Crater + Damage: 30 + +HeliAGGun: + ROF: 50 +# ROF: 20 +# Burst: 2 +# BurstDelay: 0 + Range: 4 + ValidTargets: Ground + Report: gun5 + Projectile: Bullet + Speed: 100 + Warhead: + Damage: 25 + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + InfDeath: 2 + Explosion: 2 + +Napalm: + ROF: 2 + Projectile: GravityBomb + Image: BOMBLET + Warhead: + Spread: 8 + Versus: + None: 90% + Wood: 100% + Light: 60% + Heavy: 25% + Concrete: 50% + InfDeath: 5 + Explosion: 3 + ImpactSound: flamer2 + SmudgeType: Scorch + Damage: 100 + +BoatMissile: + ROF: 35 + Range: 8 + Burst: 2 + BurstDelay: 7 + Report: ROCKET2 + Projectile: Missile + Arm: 0 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 5 + Image: DRAGON + ROT: 10 + Trail: smokey + Speed: 20 + RangeLimit: 60 + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + InfDeath: 3 + Explosion: 4 +# Explosion: frag3 + ImpactSound: xplos + SmudgeType: Crater + Damage: 60 + +HighV: + ROF: 40 + Range: 5 + Report: GUN8 + Projectile: Bullet + Speed: 100 + Warhead: + Damage: 40 + Spread: 3 + Versus: + None: 100% + Wood: 50% + Light: 50% + Heavy: 25% + InfDeath: 2 + Explosion: 1 + +TurretGun: + ROF: 50 + Range: 6 + Report: TNKFIRE6 + Projectile: Bullet + Image: 120MM + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 40 + +SAMMissile: + ROF: 50 + Range: 15 + Report: ROCKET2 + ValidTargets: Air + Projectile: Missile + Arm: 3 + High: yes + Shadow: no + Proximity: yes + Image: MISSILE + ROT: 20 + Speed: 40 + RangeLimit: 50 + Trail: smokey + Warhead: AP + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + InfDeath: 4 + Explosion: 4 + ImpactSound: xplos + SmudgeType: Crater + Damage: 50 + +TowerMissle: + ROF: 32 + Range: 6 + Report: ROCKET2 + ValidTargets: Ground, Air + Burst: 2 + BurstDelay: 8 + Projectile: Missile + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 10 + Trail: smokey + Speed: 25 + RangeLimit: 40 + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + InfDeath: 3 + Explosion: 4 +# Explosion: frag3 + ImpactSound: xplos + SmudgeType: Crater + Damage: 60 + +Laser: + ROF: 90 + Range: 7.5 + Charges: true + Report: OBELRAY1 + Projectile: LaserZap + BeamRadius: 1 + Warhead: + Spread: 1 + InfDeath: 5 + SmudgeType: Scorch + Damage: 200 + +IonCannon: + Warhead@impact: + Damage: 600 + Spread: 6 + Ore: true + Versus: + None: 90% + Wood: 60% + Light: 60% + Heavy: 25% + InfDeath: 5 + Warhead@area: + DamageModel: PerCell + Damage: 200 + SmudgeType: Scorch + Size: 2,1 + Ore: true + Versus: + None: 90% + Wood: 60% + Light: 60% + Heavy: 25% + Delay: 3 + InfDeath: 5 + + +Atomic: + Warhead@impact: + Damage: 1000 + Spread: 6 + Ore: true + Versus: + None: 90% + Wood: 60% + Light: 60% + Heavy: 25% + Explosion: 6 + InfDeath: 5 + ImpactSound: nukexplo + Warhead@areanuke: + DamageModel: PerCell + Damage: 250 + SmudgeType: Scorch + Size: 5 + Ore: true + Versus: + None: 90% + Wood: 60% + Light: 60% + Heavy: 25% + Delay: 3 + InfDeath: 5 + ImpactSound: xplobig4 + +Tiberium: + ROF: 4 + Warhead: + Spread: 1 + InfDeath: 6 + Damage: 1 + PreventProne: yes + +TiberiumHeal: + ROF: 4 + Warhead: + Spread: 1 + InfDeath: 6 + Damage: -2 + PreventProne: yes diff --git a/mods/cnc/rules/system.yaml b/mods/cnc/rules/system.yaml index 85349aad31..6361f13159 100644 --- a/mods/cnc/rules/system.yaml +++ b/mods/cnc/rules/system.yaml @@ -158,6 +158,7 @@ World: SpatialBins: BinSize: 4 Shroud: + Fog: CrateSpawner: Minimum: 1 Maximum: 6 diff --git a/mods/d2k/rules/system.yaml b/mods/d2k/rules/system.yaml index 8376d71d8f..6851870390 100644 --- a/mods/d2k/rules/system.yaml +++ b/mods/d2k/rules/system.yaml @@ -353,6 +353,7 @@ World: SpatialBins: BinSize: 4 Shroud: + Fog: PathFinder: ValidateOrder: diff --git a/mods/ra-classic/maps/4-corners.oramap b/mods/ra-classic/maps/4-corners.oramap new file mode 100644 index 0000000000..bda9f63ee8 Binary files /dev/null and b/mods/ra-classic/maps/4-corners.oramap differ diff --git a/mods/ra-classic/maps/a-pattern-of-islands.oramap b/mods/ra-classic/maps/a-pattern-of-islands.oramap new file mode 100644 index 0000000000..09683467af Binary files /dev/null and b/mods/ra-classic/maps/a-pattern-of-islands.oramap differ diff --git a/mods/ra-classic/maps/africa.oramap b/mods/ra-classic/maps/africa.oramap new file mode 100644 index 0000000000..5bf389bbf7 Binary files /dev/null and b/mods/ra-classic/maps/africa.oramap differ diff --git a/mods/ra-classic/maps/alaska-anarchy.oramap b/mods/ra-classic/maps/alaska-anarchy.oramap new file mode 100644 index 0000000000..55d5f743d5 Binary files /dev/null and b/mods/ra-classic/maps/alaska-anarchy.oramap differ diff --git a/mods/ra-classic/maps/all-that-glitters....oramap b/mods/ra-classic/maps/all-that-glitters....oramap new file mode 100644 index 0000000000..979b72c8ef Binary files /dev/null and b/mods/ra-classic/maps/all-that-glitters....oramap differ diff --git a/mods/ra-classic/maps/apres-peace.oramap b/mods/ra-classic/maps/apres-peace.oramap new file mode 100644 index 0000000000..31abe437dc Binary files /dev/null and b/mods/ra-classic/maps/apres-peace.oramap differ diff --git a/mods/ra-classic/maps/arena-valley-extreme.oramap b/mods/ra-classic/maps/arena-valley-extreme.oramap new file mode 100644 index 0000000000..d5eb06c76d Binary files /dev/null and b/mods/ra-classic/maps/arena-valley-extreme.oramap differ diff --git a/mods/ra-classic/maps/armourgarden.oramap b/mods/ra-classic/maps/armourgarden.oramap new file mode 100644 index 0000000000..4bda55e31c Binary files /dev/null and b/mods/ra-classic/maps/armourgarden.oramap differ diff --git a/mods/ra-classic/maps/artic-wasteland.oramap b/mods/ra-classic/maps/artic-wasteland.oramap new file mode 100644 index 0000000000..5a923234cd Binary files /dev/null and b/mods/ra-classic/maps/artic-wasteland.oramap differ diff --git a/mods/ra-classic/maps/ashes-to-ashes.oramap b/mods/ra-classic/maps/ashes-to-ashes.oramap new file mode 100644 index 0000000000..7cfee888c8 Binary files /dev/null and b/mods/ra-classic/maps/ashes-to-ashes.oramap differ diff --git a/mods/ra-classic/maps/australia-warlord.oramap b/mods/ra-classic/maps/australia-warlord.oramap new file mode 100644 index 0000000000..a064a968fb Binary files /dev/null and b/mods/ra-classic/maps/australia-warlord.oramap differ diff --git a/mods/ra-classic/maps/barrier-to-entry.oramap b/mods/ra-classic/maps/barrier-to-entry.oramap new file mode 100644 index 0000000000..eebdb2e5a1 Binary files /dev/null and b/mods/ra-classic/maps/barrier-to-entry.oramap differ diff --git a/mods/ra-classic/maps/bavarian-blast.oramap b/mods/ra-classic/maps/bavarian-blast.oramap new file mode 100644 index 0000000000..50bdb602dc Binary files /dev/null and b/mods/ra-classic/maps/bavarian-blast.oramap differ diff --git a/mods/ra-classic/maps/be-shore.oramap b/mods/ra-classic/maps/be-shore.oramap new file mode 100644 index 0000000000..26f0a46621 Binary files /dev/null and b/mods/ra-classic/maps/be-shore.oramap differ diff --git a/mods/ra-classic/maps/big-fish-small-pond.oramap b/mods/ra-classic/maps/big-fish-small-pond.oramap new file mode 100644 index 0000000000..9bfa991e2c Binary files /dev/null and b/mods/ra-classic/maps/big-fish-small-pond.oramap differ diff --git a/mods/ra-classic/maps/blow-holes.oramap b/mods/ra-classic/maps/blow-holes.oramap new file mode 100644 index 0000000000..ef3f50df4e Binary files /dev/null and b/mods/ra-classic/maps/blow-holes.oramap differ diff --git a/mods/ra-classic/maps/booby-traps.oramap b/mods/ra-classic/maps/booby-traps.oramap new file mode 100644 index 0000000000..e030937d92 Binary files /dev/null and b/mods/ra-classic/maps/booby-traps.oramap differ diff --git a/mods/ra-classic/maps/bridgehead.oramap b/mods/ra-classic/maps/bridgehead.oramap new file mode 100644 index 0000000000..c6c8e3dd1d Binary files /dev/null and b/mods/ra-classic/maps/bridgehead.oramap differ diff --git a/mods/ra-classic/maps/brother-stalin.oramap b/mods/ra-classic/maps/brother-stalin.oramap new file mode 100644 index 0000000000..0064f0511e Binary files /dev/null and b/mods/ra-classic/maps/brother-stalin.oramap differ diff --git a/mods/ra-classic/maps/bullseye.oramap b/mods/ra-classic/maps/bullseye.oramap new file mode 100644 index 0000000000..33e73159f3 Binary files /dev/null and b/mods/ra-classic/maps/bullseye.oramap differ diff --git a/mods/ra-classic/maps/butterfly-bay.oramap b/mods/ra-classic/maps/butterfly-bay.oramap new file mode 100644 index 0000000000..53f2d2fc19 Binary files /dev/null and b/mods/ra-classic/maps/butterfly-bay.oramap differ diff --git a/mods/ra-classic/maps/c&c.oramap b/mods/ra-classic/maps/c&c.oramap new file mode 100644 index 0000000000..fbabe8d463 Binary files /dev/null and b/mods/ra-classic/maps/c&c.oramap differ diff --git a/mods/ra-classic/maps/camos-canyon.oramap b/mods/ra-classic/maps/camos-canyon.oramap new file mode 100644 index 0000000000..3883b35165 Binary files /dev/null and b/mods/ra-classic/maps/camos-canyon.oramap differ diff --git a/mods/ra-classic/maps/camos-coves.oramap b/mods/ra-classic/maps/camos-coves.oramap new file mode 100644 index 0000000000..cb95e04384 Binary files /dev/null and b/mods/ra-classic/maps/camos-coves.oramap differ diff --git a/mods/ra-classic/maps/camos-cross.oramap b/mods/ra-classic/maps/camos-cross.oramap new file mode 100644 index 0000000000..b53ac8ae55 Binary files /dev/null and b/mods/ra-classic/maps/camos-cross.oramap differ diff --git a/mods/ra-classic/maps/central-conflict-extreme.oramap b/mods/ra-classic/maps/central-conflict-extreme.oramap new file mode 100644 index 0000000000..5f2e8f6ef5 Binary files /dev/null and b/mods/ra-classic/maps/central-conflict-extreme.oramap differ diff --git a/mods/ra-classic/maps/central-conflict.oramap b/mods/ra-classic/maps/central-conflict.oramap new file mode 100644 index 0000000000..807d91b27c Binary files /dev/null and b/mods/ra-classic/maps/central-conflict.oramap differ diff --git a/mods/ra-classic/maps/circles-of-death.oramap b/mods/ra-classic/maps/circles-of-death.oramap new file mode 100644 index 0000000000..fa0f7a8b5a Binary files /dev/null and b/mods/ra-classic/maps/circles-of-death.oramap differ diff --git a/mods/ra-classic/maps/coastal-influence.oramap b/mods/ra-classic/maps/coastal-influence.oramap new file mode 100644 index 0000000000..54d939b114 Binary files /dev/null and b/mods/ra-classic/maps/coastal-influence.oramap differ diff --git a/mods/ra-classic/maps/cold-pass.oramap b/mods/ra-classic/maps/cold-pass.oramap new file mode 100644 index 0000000000..8dfa89e15d Binary files /dev/null and b/mods/ra-classic/maps/cold-pass.oramap differ diff --git a/mods/ra-classic/maps/combat-alley.oramap b/mods/ra-classic/maps/combat-alley.oramap new file mode 100644 index 0000000000..fb9bfb747a Binary files /dev/null and b/mods/ra-classic/maps/combat-alley.oramap differ diff --git a/mods/ra-classic/maps/combat-zones.oramap b/mods/ra-classic/maps/combat-zones.oramap new file mode 100644 index 0000000000..94bb43c55b Binary files /dev/null and b/mods/ra-classic/maps/combat-zones.oramap differ diff --git a/mods/ra-classic/maps/czech-mate.oramap b/mods/ra-classic/maps/czech-mate.oramap new file mode 100644 index 0000000000..6f4e3a235d Binary files /dev/null and b/mods/ra-classic/maps/czech-mate.oramap differ diff --git a/mods/ra-classic/maps/d-day.oramap b/mods/ra-classic/maps/d-day.oramap new file mode 100644 index 0000000000..592485d6bc Binary files /dev/null and b/mods/ra-classic/maps/d-day.oramap differ diff --git a/mods/ra-classic/maps/damnation-alley.oramap b/mods/ra-classic/maps/damnation-alley.oramap new file mode 100644 index 0000000000..ae4d94c5ef Binary files /dev/null and b/mods/ra-classic/maps/damnation-alley.oramap differ diff --git a/mods/ra-classic/maps/death-valley.oramap b/mods/ra-classic/maps/death-valley.oramap new file mode 100644 index 0000000000..5d18be4272 Binary files /dev/null and b/mods/ra-classic/maps/death-valley.oramap differ diff --git a/mods/ra-classic/maps/deep-six.oramap b/mods/ra-classic/maps/deep-six.oramap new file mode 100644 index 0000000000..faf66ab6d4 Binary files /dev/null and b/mods/ra-classic/maps/deep-six.oramap differ diff --git a/mods/ra-classic/maps/desolation.oramap b/mods/ra-classic/maps/desolation.oramap new file mode 100644 index 0000000000..c56ebc0a77 Binary files /dev/null and b/mods/ra-classic/maps/desolation.oramap differ diff --git a/mods/ra-classic/maps/destruction-derby.oramap b/mods/ra-classic/maps/destruction-derby.oramap new file mode 100644 index 0000000000..9086171de1 Binary files /dev/null and b/mods/ra-classic/maps/destruction-derby.oramap differ diff --git a/mods/ra-classic/maps/devil-central-arena.oramap b/mods/ra-classic/maps/devil-central-arena.oramap new file mode 100644 index 0000000000..a17ab2feff Binary files /dev/null and b/mods/ra-classic/maps/devil-central-arena.oramap differ diff --git a/mods/ra-classic/maps/diamonds-aren't-forever.oramap b/mods/ra-classic/maps/diamonds-aren't-forever.oramap new file mode 100644 index 0000000000..aa80170185 Binary files /dev/null and b/mods/ra-classic/maps/diamonds-aren't-forever.oramap differ diff --git a/mods/ra-classic/maps/disaster-central.oramap b/mods/ra-classic/maps/disaster-central.oramap new file mode 100644 index 0000000000..cc16737fea Binary files /dev/null and b/mods/ra-classic/maps/disaster-central.oramap differ diff --git a/mods/ra-classic/maps/docklands.oramap b/mods/ra-classic/maps/docklands.oramap new file mode 100644 index 0000000000..c8e952bf66 Binary files /dev/null and b/mods/ra-classic/maps/docklands.oramap differ diff --git a/mods/ra-classic/maps/dougout-isle.oramap b/mods/ra-classic/maps/dougout-isle.oramap new file mode 100644 index 0000000000..bc0260bf0b Binary files /dev/null and b/mods/ra-classic/maps/dougout-isle.oramap differ diff --git a/mods/ra-classic/maps/east-coast.oramap b/mods/ra-classic/maps/east-coast.oramap new file mode 100644 index 0000000000..789f60f677 Binary files /dev/null and b/mods/ra-classic/maps/east-coast.oramap differ diff --git a/mods/ra-classic/maps/eastern-seaboard.oramap b/mods/ra-classic/maps/eastern-seaboard.oramap new file mode 100644 index 0000000000..accad4dc3e Binary files /dev/null and b/mods/ra-classic/maps/eastern-seaboard.oramap differ diff --git a/mods/ra-classic/maps/equal-shares.oramap b/mods/ra-classic/maps/equal-shares.oramap new file mode 100644 index 0000000000..cd162702cf Binary files /dev/null and b/mods/ra-classic/maps/equal-shares.oramap differ diff --git a/mods/ra-classic/maps/finger-lake.oramap b/mods/ra-classic/maps/finger-lake.oramap new file mode 100644 index 0000000000..b9524cff40 Binary files /dev/null and b/mods/ra-classic/maps/finger-lake.oramap differ diff --git a/mods/ra-classic/maps/fjords.oramap b/mods/ra-classic/maps/fjords.oramap new file mode 100644 index 0000000000..03033e3982 Binary files /dev/null and b/mods/ra-classic/maps/fjords.oramap differ diff --git a/mods/ra-classic/maps/flood-lands.oramap b/mods/ra-classic/maps/flood-lands.oramap new file mode 100644 index 0000000000..7ff5b7854f Binary files /dev/null and b/mods/ra-classic/maps/flood-lands.oramap differ diff --git a/mods/ra-classic/maps/forest-under-fire.oramap b/mods/ra-classic/maps/forest-under-fire.oramap new file mode 100644 index 0000000000..965d9b21c1 Binary files /dev/null and b/mods/ra-classic/maps/forest-under-fire.oramap differ diff --git a/mods/ra-classic/maps/frost-bitten.oramap b/mods/ra-classic/maps/frost-bitten.oramap new file mode 100644 index 0000000000..e18ada4804 Binary files /dev/null and b/mods/ra-classic/maps/frost-bitten.oramap differ diff --git a/mods/ra-classic/maps/frostbit-fjords.oramap b/mods/ra-classic/maps/frostbit-fjords.oramap new file mode 100644 index 0000000000..831d3fcb57 Binary files /dev/null and b/mods/ra-classic/maps/frostbit-fjords.oramap differ diff --git a/mods/ra-classic/maps/glenboig.oramap b/mods/ra-classic/maps/glenboig.oramap new file mode 100644 index 0000000000..b625fedd39 Binary files /dev/null and b/mods/ra-classic/maps/glenboig.oramap differ diff --git a/mods/ra-classic/maps/gold-coast.oramap b/mods/ra-classic/maps/gold-coast.oramap new file mode 100644 index 0000000000..55a40a9f7e Binary files /dev/null and b/mods/ra-classic/maps/gold-coast.oramap differ diff --git a/mods/ra-classic/maps/habitat.oramap b/mods/ra-classic/maps/habitat.oramap new file mode 100644 index 0000000000..6ac88d7ee5 Binary files /dev/null and b/mods/ra-classic/maps/habitat.oramap differ diff --git a/mods/ra-classic/maps/hell's-pass.oramap b/mods/ra-classic/maps/hell's-pass.oramap new file mode 100644 index 0000000000..5791e145fa Binary files /dev/null and b/mods/ra-classic/maps/hell's-pass.oramap differ diff --git a/mods/ra-classic/maps/holy-grounds.oramap b/mods/ra-classic/maps/holy-grounds.oramap new file mode 100644 index 0000000000..f762ee1134 Binary files /dev/null and b/mods/ra-classic/maps/holy-grounds.oramap differ diff --git a/mods/ra-classic/maps/ice-queen.oramap b/mods/ra-classic/maps/ice-queen.oramap new file mode 100644 index 0000000000..1ec19506df Binary files /dev/null and b/mods/ra-classic/maps/ice-queen.oramap differ diff --git a/mods/ra-classic/maps/ice-station.oramap b/mods/ra-classic/maps/ice-station.oramap new file mode 100644 index 0000000000..86d581dcba Binary files /dev/null and b/mods/ra-classic/maps/ice-station.oramap differ diff --git a/mods/ra-classic/maps/icebergs.oramap b/mods/ra-classic/maps/icebergs.oramap new file mode 100644 index 0000000000..449332609b Binary files /dev/null and b/mods/ra-classic/maps/icebergs.oramap differ diff --git a/mods/ra-classic/maps/in-the-sun.oramap b/mods/ra-classic/maps/in-the-sun.oramap new file mode 100644 index 0000000000..23ef0bdcce Binary files /dev/null and b/mods/ra-classic/maps/in-the-sun.oramap differ diff --git a/mods/ra-classic/maps/india.oramap b/mods/ra-classic/maps/india.oramap new file mode 100644 index 0000000000..9cd8f57e79 Binary files /dev/null and b/mods/ra-classic/maps/india.oramap differ diff --git a/mods/ra-classic/maps/indirect-fire.oramap b/mods/ra-classic/maps/indirect-fire.oramap new file mode 100644 index 0000000000..73e371e630 Binary files /dev/null and b/mods/ra-classic/maps/indirect-fire.oramap differ diff --git a/mods/ra-classic/maps/innocents_.oramap b/mods/ra-classic/maps/innocents_.oramap new file mode 100644 index 0000000000..81a7a4c857 Binary files /dev/null and b/mods/ra-classic/maps/innocents_.oramap differ diff --git a/mods/ra-classic/maps/island-plateau.oramap b/mods/ra-classic/maps/island-plateau.oramap new file mode 100644 index 0000000000..8ee4901558 Binary files /dev/null and b/mods/ra-classic/maps/island-plateau.oramap differ diff --git a/mods/ra-classic/maps/island-wars-ii.oramap b/mods/ra-classic/maps/island-wars-ii.oramap new file mode 100644 index 0000000000..abd5c390e5 Binary files /dev/null and b/mods/ra-classic/maps/island-wars-ii.oramap differ diff --git a/mods/ra-classic/maps/island-wars.oramap b/mods/ra-classic/maps/island-wars.oramap new file mode 100644 index 0000000000..a3cad1c7da Binary files /dev/null and b/mods/ra-classic/maps/island-wars.oramap differ diff --git a/mods/ra-classic/maps/islands.oramap b/mods/ra-classic/maps/islands.oramap new file mode 100644 index 0000000000..dd484c49a9 Binary files /dev/null and b/mods/ra-classic/maps/islands.oramap differ diff --git a/mods/ra-classic/maps/isle-of-fury.oramap b/mods/ra-classic/maps/isle-of-fury.oramap new file mode 100644 index 0000000000..f65017af51 Binary files /dev/null and b/mods/ra-classic/maps/isle-of-fury.oramap differ diff --git a/mods/ra-classic/maps/italy.oramap b/mods/ra-classic/maps/italy.oramap new file mode 100644 index 0000000000..034089081c Binary files /dev/null and b/mods/ra-classic/maps/italy.oramap differ diff --git a/mods/ra-classic/maps/ivory-wastelands.oramap b/mods/ra-classic/maps/ivory-wastelands.oramap new file mode 100644 index 0000000000..7ea2f3058b Binary files /dev/null and b/mods/ra-classic/maps/ivory-wastelands.oramap differ diff --git a/mods/ra-classic/maps/kabalo.oramap b/mods/ra-classic/maps/kabalo.oramap new file mode 100644 index 0000000000..586fd0d90f Binary files /dev/null and b/mods/ra-classic/maps/kabalo.oramap differ diff --git a/mods/ra-classic/maps/keep-off-the-grass.oramap b/mods/ra-classic/maps/keep-off-the-grass.oramap new file mode 100644 index 0000000000..45fdade1a7 Binary files /dev/null and b/mods/ra-classic/maps/keep-off-the-grass.oramap differ diff --git a/mods/ra-classic/maps/king-of-the-hills-extreme.oramap b/mods/ra-classic/maps/king-of-the-hills-extreme.oramap new file mode 100644 index 0000000000..fc89a2c37a Binary files /dev/null and b/mods/ra-classic/maps/king-of-the-hills-extreme.oramap differ diff --git a/mods/ra-classic/maps/king-of-the-hills.oramap b/mods/ra-classic/maps/king-of-the-hills.oramap new file mode 100644 index 0000000000..4b28597117 Binary files /dev/null and b/mods/ra-classic/maps/king-of-the-hills.oramap differ diff --git a/mods/ra-classic/maps/lakeland.oramap b/mods/ra-classic/maps/lakeland.oramap new file mode 100644 index 0000000000..5a0e990c15 Binary files /dev/null and b/mods/ra-classic/maps/lakeland.oramap differ diff --git a/mods/ra-classic/maps/land-ladder.oramap b/mods/ra-classic/maps/land-ladder.oramap new file mode 100644 index 0000000000..c03d6c7ff5 Binary files /dev/null and b/mods/ra-classic/maps/land-ladder.oramap differ diff --git a/mods/ra-classic/maps/land-locked.oramap b/mods/ra-classic/maps/land-locked.oramap new file mode 100644 index 0000000000..c826ca1817 Binary files /dev/null and b/mods/ra-classic/maps/land-locked.oramap differ diff --git a/mods/ra-classic/maps/lanes.oramap b/mods/ra-classic/maps/lanes.oramap new file mode 100644 index 0000000000..9754ea58a7 Binary files /dev/null and b/mods/ra-classic/maps/lanes.oramap differ diff --git a/mods/ra-classic/maps/malibu-fields.oramap b/mods/ra-classic/maps/malibu-fields.oramap new file mode 100644 index 0000000000..3baa107bd6 Binary files /dev/null and b/mods/ra-classic/maps/malibu-fields.oramap differ diff --git a/mods/ra-classic/maps/meander.oramap b/mods/ra-classic/maps/meander.oramap new file mode 100644 index 0000000000..238cc9a0b3 Binary files /dev/null and b/mods/ra-classic/maps/meander.oramap differ diff --git a/mods/ra-classic/maps/mekong.oramap b/mods/ra-classic/maps/mekong.oramap new file mode 100644 index 0000000000..ea9dd7371f Binary files /dev/null and b/mods/ra-classic/maps/mekong.oramap differ diff --git a/mods/ra-classic/maps/middle-ground.oramap b/mods/ra-classic/maps/middle-ground.oramap new file mode 100644 index 0000000000..2afc5d6460 Binary files /dev/null and b/mods/ra-classic/maps/middle-ground.oramap differ diff --git a/mods/ra-classic/maps/middle-mayhem.oramap b/mods/ra-classic/maps/middle-mayhem.oramap new file mode 100644 index 0000000000..9c8b8721b0 Binary files /dev/null and b/mods/ra-classic/maps/middle-mayhem.oramap differ diff --git a/mods/ra-classic/maps/naval-conquests.oramap b/mods/ra-classic/maps/naval-conquests.oramap new file mode 100644 index 0000000000..364ed2a168 Binary files /dev/null and b/mods/ra-classic/maps/naval-conquests.oramap differ diff --git a/mods/ra-classic/maps/no-escape.oramap b/mods/ra-classic/maps/no-escape.oramap new file mode 100644 index 0000000000..20fb14157a Binary files /dev/null and b/mods/ra-classic/maps/no-escape.oramap differ diff --git a/mods/ra-classic/maps/no-man's-land.oramap b/mods/ra-classic/maps/no-man's-land.oramap new file mode 100644 index 0000000000..9b6b9f3b9c Binary files /dev/null and b/mods/ra-classic/maps/no-man's-land.oramap differ diff --git a/mods/ra-classic/maps/no-way-out.oramap b/mods/ra-classic/maps/no-way-out.oramap new file mode 100644 index 0000000000..d70fe002ce Binary files /dev/null and b/mods/ra-classic/maps/no-way-out.oramap differ diff --git a/mods/ra-classic/maps/normandy-landings.oramap b/mods/ra-classic/maps/normandy-landings.oramap new file mode 100644 index 0000000000..cbf4b495f5 Binary files /dev/null and b/mods/ra-classic/maps/normandy-landings.oramap differ diff --git a/mods/ra-classic/maps/north-by-northwest.oramap b/mods/ra-classic/maps/north-by-northwest.oramap new file mode 100644 index 0000000000..7f45865ed5 Binary files /dev/null and b/mods/ra-classic/maps/north-by-northwest.oramap differ diff --git a/mods/ra-classic/maps/open-warfare.oramap b/mods/ra-classic/maps/open-warfare.oramap new file mode 100644 index 0000000000..1d73169abe Binary files /dev/null and b/mods/ra-classic/maps/open-warfare.oramap differ diff --git a/mods/ra-classic/maps/ore-garden.oramap b/mods/ra-classic/maps/ore-garden.oramap new file mode 100644 index 0000000000..cde89cb614 Binary files /dev/null and b/mods/ra-classic/maps/ore-garden.oramap differ diff --git a/mods/ra-classic/maps/ore-wars.oramap b/mods/ra-classic/maps/ore-wars.oramap new file mode 100644 index 0000000000..479c37d9bc Binary files /dev/null and b/mods/ra-classic/maps/ore-wars.oramap differ diff --git a/mods/ra-classic/maps/oz.oramap b/mods/ra-classic/maps/oz.oramap new file mode 100644 index 0000000000..04212c2b2a Binary files /dev/null and b/mods/ra-classic/maps/oz.oramap differ diff --git a/mods/ra-classic/maps/pilgrim-fathers-2.oramap b/mods/ra-classic/maps/pilgrim-fathers-2.oramap new file mode 100644 index 0000000000..01ba71c623 Binary files /dev/null and b/mods/ra-classic/maps/pilgrim-fathers-2.oramap differ diff --git a/mods/ra-classic/maps/polar-panic.oramap b/mods/ra-classic/maps/polar-panic.oramap new file mode 100644 index 0000000000..a41000c38e Binary files /dev/null and b/mods/ra-classic/maps/polar-panic.oramap differ diff --git a/mods/ra-classic/maps/pond-skirmish.oramap b/mods/ra-classic/maps/pond-skirmish.oramap new file mode 100644 index 0000000000..cdf3d15984 Binary files /dev/null and b/mods/ra-classic/maps/pond-skirmish.oramap differ diff --git a/mods/ra-classic/maps/potholes.oramap b/mods/ra-classic/maps/potholes.oramap new file mode 100644 index 0000000000..d83d542ec6 Binary files /dev/null and b/mods/ra-classic/maps/potholes.oramap differ diff --git a/mods/ra-classic/maps/puddles.oramap b/mods/ra-classic/maps/puddles.oramap new file mode 100644 index 0000000000..0d8ceadddb Binary files /dev/null and b/mods/ra-classic/maps/puddles.oramap differ diff --git a/mods/ra-classic/maps/random-violence.oramap b/mods/ra-classic/maps/random-violence.oramap new file mode 100644 index 0000000000..bf0a28d9b4 Binary files /dev/null and b/mods/ra-classic/maps/random-violence.oramap differ diff --git a/mods/ra-classic/maps/return-to-zion.oramap b/mods/ra-classic/maps/return-to-zion.oramap new file mode 100644 index 0000000000..aba32f9732 Binary files /dev/null and b/mods/ra-classic/maps/return-to-zion.oramap differ diff --git a/mods/ra-classic/maps/revenge.oramap b/mods/ra-classic/maps/revenge.oramap new file mode 100644 index 0000000000..9d01ff7515 Binary files /dev/null and b/mods/ra-classic/maps/revenge.oramap differ diff --git a/mods/ra-classic/maps/rias.oramap b/mods/ra-classic/maps/rias.oramap new file mode 100644 index 0000000000..9bd581ab25 Binary files /dev/null and b/mods/ra-classic/maps/rias.oramap differ diff --git a/mods/ra-classic/maps/ridge-war.oramap b/mods/ra-classic/maps/ridge-war.oramap new file mode 100644 index 0000000000..25bb1fd02b Binary files /dev/null and b/mods/ra-classic/maps/ridge-war.oramap differ diff --git a/mods/ra-classic/maps/river-islands.oramap b/mods/ra-classic/maps/river-islands.oramap new file mode 100644 index 0000000000..6320e42c7a Binary files /dev/null and b/mods/ra-classic/maps/river-islands.oramap differ diff --git a/mods/ra-classic/maps/river-maze.oramap b/mods/ra-classic/maps/river-maze.oramap new file mode 100644 index 0000000000..d7cb313e36 Binary files /dev/null and b/mods/ra-classic/maps/river-maze.oramap differ diff --git a/mods/ra-classic/maps/river-rampage.oramap b/mods/ra-classic/maps/river-rampage.oramap new file mode 100644 index 0000000000..c211520139 Binary files /dev/null and b/mods/ra-classic/maps/river-rampage.oramap differ diff --git a/mods/ra-classic/maps/river-rapids.oramap b/mods/ra-classic/maps/river-rapids.oramap new file mode 100644 index 0000000000..39fff87aab Binary files /dev/null and b/mods/ra-classic/maps/river-rapids.oramap differ diff --git a/mods/ra-classic/maps/rorkes-drift.oramap b/mods/ra-classic/maps/rorkes-drift.oramap new file mode 100644 index 0000000000..6be097e449 Binary files /dev/null and b/mods/ra-classic/maps/rorkes-drift.oramap differ diff --git a/mods/ra-classic/maps/run-the-gauntlet.oramap b/mods/ra-classic/maps/run-the-gauntlet.oramap new file mode 100644 index 0000000000..cdc3970e09 Binary files /dev/null and b/mods/ra-classic/maps/run-the-gauntlet.oramap differ diff --git a/mods/ra-classic/maps/shades.oramap b/mods/ra-classic/maps/shades.oramap new file mode 100644 index 0000000000..5b5065d0e3 Binary files /dev/null and b/mods/ra-classic/maps/shades.oramap differ diff --git a/mods/ra-classic/maps/shallow-grave.oramap b/mods/ra-classic/maps/shallow-grave.oramap new file mode 100644 index 0000000000..5f800dfb0a Binary files /dev/null and b/mods/ra-classic/maps/shallow-grave.oramap differ diff --git a/mods/ra-classic/maps/shellmap/map.bin b/mods/ra-classic/maps/shellmap/map.bin new file mode 100644 index 0000000000..99977abe57 Binary files /dev/null and b/mods/ra-classic/maps/shellmap/map.bin differ diff --git a/mods/ra-classic/maps/shellmap/map.yaml b/mods/ra-classic/maps/shellmap/map.yaml new file mode 100644 index 0000000000..5da15db8d5 --- /dev/null +++ b/mods/ra-classic/maps/shellmap/map.yaml @@ -0,0 +1,1308 @@ +Selectable: False + +MapFormat: 5 + +RequiresMod: ra-classic + +Title: OpenRA Shellmap + +Author: Westwood Studios + +Tileset: TEMPERAT + +MapSize: 128,128 + +Bounds: 26,36,92,57 + +UseAsShellmap: True + +Type: Conquest + +Players: + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: allies + PlayerReference@GoodGuy: + Name: GoodGuy + Race: allies + ColorRamp: 153,137,144,44 + Enemies: Greece,Creeps + PlayerReference@Greece: + Name: Greece + Race: soviet + ColorRamp: 3,255,127,28 + Enemies: GoodGuy,Creeps + PlayerReference@Multi0: + Name: Multi0 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi1: + Name: Multi1 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi2: + Name: Multi2 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi3: + Name: Multi3 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi4: + Name: Multi4 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi5: + Name: Multi5 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi6: + Name: Multi6 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Multi7: + Name: Multi7 + Playable: True + DefaultStartingUnits: True + Race: Random + Enemies: Creeps + PlayerReference@Creeps: + Name: Creeps + NonCombatant: True + Race: Random + Enemies: GoodGuy,Greece,Multi0,Multi1,Multi2,Multi3,Multi4,Multi5,Multi6,Multi7 + +Actors: + Actor0: brik + Location: 32,43 + Owner: Neutral + Actor1: brik + Location: 33,43 + Owner: Neutral + Actor2: brik + Location: 37,43 + Owner: Neutral + Actor3: brik + Location: 38,43 + Owner: Neutral + Actor4: brik + Location: 32,44 + Owner: Neutral + Actor5: brik + Location: 33,44 + Owner: Neutral + Actor6: brik + Location: 37,44 + Owner: Neutral + Actor7: brik + Location: 38,44 + Owner: Neutral + Actor8: brik + Location: 93,46 + Owner: Neutral + Actor9: brik + Location: 94,46 + Owner: Neutral + Actor10: brik + Location: 97,46 + Owner: Neutral + Actor11: brik + Location: 98,46 + Owner: Neutral + Actor12: brik + Location: 91,47 + Owner: Neutral + Actor13: brik + Location: 92,47 + Owner: Neutral + Actor14: brik + Location: 93,47 + Owner: Neutral + Actor15: brik + Location: 94,47 + Owner: Neutral + Actor16: brik + Location: 97,47 + Owner: Neutral + Actor17: brik + Location: 98,47 + Owner: Neutral + Actor18: brik + Location: 99,47 + Owner: Neutral + Actor19: brik + Location: 90,48 + Owner: Neutral + Actor20: brik + Location: 91,48 + Owner: Neutral + Actor21: brik + Location: 99,48 + Owner: Neutral + Actor22: brik + Location: 90,49 + Owner: Neutral + Actor23: brik + Location: 91,49 + Owner: Neutral + Actor24: brik + Location: 89,50 + Owner: Neutral + Actor25: brik + Location: 90,50 + Owner: Neutral + Actor26: brik + Location: 96,50 + Owner: Neutral + Actor27: brik + Location: 97,50 + Owner: Neutral + Actor28: brik + Location: 89,51 + Owner: Neutral + Actor29: brik + Location: 90,51 + Owner: Neutral + Actor30: brik + Location: 93,51 + Owner: Neutral + Actor31: brik + Location: 94,51 + Owner: Neutral + Actor32: brik + Location: 95,51 + Owner: Neutral + Actor33: brik + Location: 96,51 + Owner: Neutral + Actor34: brik + Location: 97,51 + Owner: Neutral + Actor35: brik + Location: 93,52 + Owner: Neutral + Actor36: brik + Location: 96,52 + Owner: Neutral + Actor37: brik + Location: 97,52 + Owner: Neutral + Actor38: brik + Location: 98,52 + Owner: Neutral + Actor39: brik + Location: 93,53 + Owner: Neutral + Actor40: brik + Location: 96,53 + Owner: Neutral + Actor41: brik + Location: 97,53 + Owner: Neutral + Actor42: brik + Location: 98,53 + Owner: Neutral + Actor43: brik + Location: 89,54 + Owner: Neutral + Actor44: brik + Location: 90,54 + Owner: Neutral + Actor45: brik + Location: 93,54 + Owner: Neutral + Actor46: brik + Location: 94,54 + Owner: Neutral + Actor47: brik + Location: 95,54 + Owner: Neutral + Actor48: brik + Location: 96,54 + Owner: Neutral + Actor49: brik + Location: 97,54 + Owner: Neutral + Actor50: brik + Location: 89,55 + Owner: Neutral + Actor51: brik + Location: 90,55 + Owner: Neutral + Actor52: brik + Location: 96,55 + Owner: Neutral + Actor53: brik + Location: 97,55 + Owner: Neutral + Actor54: brik + Location: 90,56 + Owner: Neutral + Actor55: brik + Location: 91,56 + Owner: Neutral + Actor56: brik + Location: 90,57 + Owner: Neutral + Actor57: brik + Location: 91,57 + Owner: Neutral + Actor58: brik + Location: 99,57 + Owner: Neutral + Actor59: brik + Location: 91,58 + Owner: Neutral + Actor60: brik + Location: 92,58 + Owner: Neutral + Actor61: brik + Location: 93,58 + Owner: Neutral + Actor62: brik + Location: 94,58 + Owner: Neutral + Actor63: brik + Location: 97,58 + Owner: Neutral + Actor64: brik + Location: 98,58 + Owner: Neutral + Actor65: brik + Location: 99,58 + Owner: Neutral + Actor66: brik + Location: 93,59 + Owner: Neutral + Actor67: brik + Location: 94,59 + Owner: Neutral + Actor68: brik + Location: 97,59 + Owner: Neutral + Actor69: brik + Location: 98,59 + Owner: Neutral + Actor70: wood + Location: 59,69 + Owner: Neutral + Actor71: wood + Location: 60,69 + Owner: Neutral + Actor72: wood + Location: 61,69 + Owner: Neutral + Actor73: wood + Location: 62,69 + Owner: Neutral + Actor74: wood + Location: 63,69 + Owner: Neutral + Actor75: wood + Location: 64,69 + Owner: Neutral + Actor76: wood + Location: 65,69 + Owner: Neutral + Actor77: brik + Location: 77,74 + Owner: Neutral + Actor78: brik + Location: 78,74 + Owner: Neutral + Actor79: brik + Location: 77,75 + Owner: Neutral + Actor80: brik + Location: 78,75 + Owner: Neutral + Actor81: brik + Location: 77,76 + Owner: Neutral + Actor82: brik + Location: 76,77 + Owner: Neutral + Actor83: brik + Location: 77,77 + Owner: Neutral + Actor84: brik + Location: 76,78 + Owner: Neutral + Actor85: brik + Location: 77,78 + Owner: Neutral + Actor86: brik + Location: 76,83 + Owner: Neutral + Actor87: brik + Location: 77,83 + Owner: Neutral + Actor88: brik + Location: 76,84 + Owner: Neutral + Actor89: brik + Location: 77,84 + Owner: Neutral + Actor90: brik + Location: 76,85 + Owner: Neutral + Actor91: brik + Location: 76,86 + Owner: Neutral + Actor92: brik + Location: 76,87 + Owner: Neutral + Actor93: brik + Location: 77,87 + Owner: Neutral + Actor94: wood + Location: 27,88 + Owner: Neutral + Actor95: wood + Location: 28,88 + Owner: Neutral + Actor96: wood + Location: 29,88 + Owner: Neutral + Actor97: brik + Location: 76,88 + Owner: Neutral + Actor98: brik + Location: 77,88 + Owner: Neutral + Actor99: wood + Location: 29,89 + Owner: Neutral + Actor100: wood + Location: 29,91 + Owner: Neutral + Actor101: wood + Location: 28,92 + Owner: Neutral + Actor102: wood + Location: 29,92 + Owner: Neutral + Actor103: tc01 + Location: 71,73 + Owner: Neutral + Actor104: tc04 + Location: 73,73 + Owner: Neutral + Actor105: tc05 + Location: 74,74 + Owner: Neutral + Actor106: t10 + Location: 100,83 + Owner: Neutral + Actor107: t08 + Location: 110,78 + Owner: Neutral + Actor108: t07 + Location: 116,89 + Owner: Neutral + Actor109: t06 + Location: 113,86 + Owner: Neutral + Actor110: t05 + Location: 111,84 + Owner: Neutral + Actor111: t02 + Location: 110,87 + Owner: Neutral + Actor112: t01 + Location: 112,89 + Owner: Neutral + Actor113: tc01 + Location: 76,58 + Owner: Neutral + Actor114: t05 + Location: 93,49 + Owner: Neutral + Actor115: t03 + Location: 93,47 + Owner: Neutral + Actor116: t02 + Location: 91,54 + Owner: Neutral + Actor117: t01 + Location: 105,73 + Owner: Neutral + Actor118: tc02 + Location: 115,71 + Owner: Neutral + Actor119: t17 + Location: 117,70 + Owner: Neutral + Actor120: tc01 + Location: 107,89 + Owner: Neutral + Actor121: tc05 + Location: 96,90 + Owner: Neutral + Actor122: tc04 + Location: 97,88 + Owner: Neutral + Actor123: tc01 + Location: 95,91 + Owner: Neutral + Actor124: tc01 + Location: 112,73 + Owner: Neutral + Actor125: t17 + Location: 105,82 + Owner: Neutral + Actor126: t15 + Location: 96,85 + Owner: Neutral + Actor127: tc05 + Location: 60,51 + Owner: Neutral + Actor128: tc03 + Location: 62,89 + Owner: Neutral + Actor129: tc02 + Location: 47,85 + Owner: Neutral + Actor130: t17 + Location: 44,90 + Owner: Neutral + Actor131: t15 + Location: 55,80 + Owner: Neutral + Actor132: t14 + Location: 60,81 + Owner: Neutral + Actor133: t13 + Location: 53,85 + Owner: Neutral + Actor134: t12 + Location: 43,82 + Owner: Neutral + Actor135: t11 + Location: 47,90 + Owner: Neutral + Actor136: t08 + Location: 59,85 + Owner: Neutral + Actor137: t07 + Location: 51,82 + Owner: Neutral + Actor138: t01 + Location: 65,38 + Owner: Neutral + Actor139: tc04 + Location: 62,39 + Owner: Neutral + Actor140: tc03 + Location: 63,41 + Owner: Neutral + Actor141: tc01 + Location: 55,77 + Owner: Neutral + Actor142: tc05 + Location: 56,76 + Owner: Neutral + Actor143: tc05 + Location: 65,67 + Owner: Neutral + Actor144: tc04 + Location: 40,76 + Owner: Neutral + Actor145: tc05 + Location: 56,67 + Owner: Neutral + Actor146: tc04 + Location: 55,66 + Owner: Neutral + Actor147: tc01 + Location: 54,68 + Owner: Neutral + Actor148: tc02 + Location: 53,67 + Owner: Neutral + Actor149: t02 + Location: 101,88 + Owner: Neutral + Actor150: tc03 + Location: 41,69 + Owner: Neutral + Actor151: tc01 + Location: 45,69 + Owner: Neutral + Actor152: t17 + Location: 45,68 + Owner: Neutral + Actor153: t16 + Location: 45,70 + Owner: Neutral + Actor154: tc04 + Location: 36,83 + Owner: Neutral + Actor155: t01 + Location: 41,87 + Owner: Neutral + Actor156: tc03 + Location: 32,87 + Owner: Neutral + Actor157: t11 + Location: 38,70 + Owner: Neutral + Actor158: t12 + Location: 38,91 + Owner: Neutral + Actor159: tc05 + Location: 29,82 + Owner: Neutral + Actor160: tc04 + Location: 28,81 + Owner: Neutral + Actor161: tc01 + Location: 37,73 + Owner: Neutral + Actor162: t01 + Location: 38,67 + Owner: Neutral + Actor163: tc05 + Location: 28,75 + Owner: Neutral + Actor164: tc02 + Location: 26,73 + Owner: Neutral + Actor165: tc04 + Location: 41,35 + Owner: Neutral + Actor166: tc01 + Location: 31,35 + Owner: Neutral + Actor167: t02 + Location: 29,40 + Owner: Neutral + Actor168: tc05 + Location: 44,43 + Owner: Neutral + Actor169: tc04 + Location: 41,44 + Owner: Neutral + Actor170: tc03 + Location: 26,43 + Owner: Neutral + Actor171: tc02 + Location: 26,36 + Owner: Neutral + Actor172: tc02 + Location: 26,51 + Owner: Neutral + Actor173: tc01 + Location: 97,42 + Owner: Neutral + Actor174: t16 + Location: 85,44 + Owner: Neutral + Actor175: t13 + Location: 82,61 + Owner: Neutral + Actor176: t08 + Location: 85,62 + Owner: Neutral + Actor177: t01 + Location: 66,55 + Owner: Neutral + Actor178: t13 + Location: 104,41 + Owner: Neutral + Actor179: t12 + Location: 104,42 + Owner: Neutral + Actor180: tc02 + Location: 72,89 + Owner: Neutral + Actor181: tc01 + Location: 69,89 + Owner: Neutral + Actor182: t13 + Location: 71,91 + Owner: Neutral + Actor183: tc01 + Location: 77,91 + Owner: Neutral + Actor184: t17 + Location: 74,90 + Owner: Neutral + Actor185: tc01 + Location: 84,74 + Owner: Neutral + Actor186: t17 + Location: 82,74 + Owner: Neutral + Actor187: tc02 + Location: 109,74 + Owner: Neutral + Actor188: tc02 + Location: 92,74 + Owner: Neutral + Actor189: tc04 + Location: 26,68 + Owner: Neutral + Actor190: t01 + Location: 33,91 + Owner: Neutral + Actor191: tc02 + Location: 39,38 + Owner: Neutral + Actor192: tc01 + Location: 41,41 + Owner: Neutral + Actor193: t01 + Location: 31,43 + Owner: Neutral + Actor194: t07 + Location: 43,49 + Owner: Neutral + Actor195: tc04 + Location: 30,57 + Owner: Neutral + Actor196: tc03 + Location: 29,65 + Owner: Neutral + Actor197: tc05 + Location: 38,61 + Owner: Neutral + Actor198: t01 + Location: 50,36 + Owner: Neutral + Actor199: t07 + Location: 57,42 + Owner: Neutral + Actor200: t07 + Location: 66,63 + Owner: Neutral + Actor201: t11 + Location: 62,59 + Owner: Neutral + Actor202: tc01 + Location: 26,91 + Owner: Neutral + Actor203: t17 + Location: 26,87 + Owner: Neutral + Actor204: t16 + Location: 26,78 + Owner: Neutral + Actor205: t16 + Location: 44,68 + Owner: Neutral + Actor206: t01 + Location: 89,55 + Owner: Neutral + Actor207: tc05 + Location: 83,57 + Owner: Neutral + Actor208: tc04 + Location: 83,48 + Owner: Neutral + Actor209: tc01 + Location: 83,54 + Owner: Neutral + Actor210: t17 + Location: 82,55 + Owner: Neutral + Actor211: tc01 + Location: 86,46 + Owner: Neutral + Actor212: tc03 + Location: 103,62 + Owner: Neutral + Actor213: t03 + Location: 99,58 + Owner: Neutral + Actor214: t01 + Location: 103,79 + Owner: Neutral + Actor215: tc05 + Location: 95,80 + Owner: Neutral + Actor216: tc04 + Location: 92,76 + Owner: Neutral + Actor217: tc03 + Location: 92,83 + Owner: Neutral + Actor218: t01 + Location: 84,91 + Owner: Neutral + Actor219: mine + Location: 52,39 + Owner: Neutral + Actor220: mine + Location: 55,89 + Owner: Neutral + Actor221: mine + Location: 54,56 + Owner: Neutral + Actor222: mine + Location: 61,63 + Owner: Neutral + Actor223: gap + Location: 85,80 + Owner: Greece + Actor224: apwr + Location: 89,86 + Owner: Greece + Actor225: apwr + Location: 91,89 + Owner: Greece + Actor226: atek + Location: 95,45 + Owner: GoodGuy + Actor227: agun + Location: 98,50 + Owner: GoodGuy + Actor228: agun + Location: 98,53 + Owner: GoodGuy + Actor229: atek + Location: 95,58 + Owner: GoodGuy + Actor230: atek + Location: 89,52 + Owner: GoodGuy + Actor231: gun + Location: 92,59 + Owner: GoodGuy + Actor232: gun + Location: 92,46 + Owner: GoodGuy + Actor234: agun + Location: 94,49 + Owner: GoodGuy + Actor235: agun + Location: 94,54 + Owner: GoodGuy + Actor236: gap + Location: 95,49 + Owner: GoodGuy + Actor237: gap + Location: 95,54 + Owner: GoodGuy + Actor238: apwr + Location: 106,45 + Owner: GoodGuy + Actor239: apwr + Location: 103,45 + Owner: GoodGuy + Actor240: weap + Location: 82,78 + Owner: Greece + Actor241: dome + Location: 84,83 + Owner: Greece + Actor242: gun + Location: 75,78 + Owner: Greece + Actor243: gun + Location: 75,83 + Owner: Greece + Actor244: fact + Location: 86,76 + Owner: Greece + Actor245: apwr + Location: 92,86 + Owner: Greece + Actor246: apwr + Location: 88,89 + Owner: Greece + Actor247: tent + Location: 79,76 + Owner: Greece + Actor248: tent + Location: 80,83 + Owner: Greece + Actor249: gun + Location: 79,84 + Owner: Greece + Actor250: gun + Location: 87,82 + Owner: Greece + Actor251: gun + Location: 81,77 + Owner: Greece + Actor252: hbox + Location: 78,78 + Owner: Greece + Actor253: hbox + Location: 78,83 + Owner: Greece + Actor254: hbox + Location: 89,81 + Owner: Greece + Actor255: agun + Location: 84,76 + Owner: Greece + Actor256: agun + Location: 86,84 + Owner: Greece + Actor257: apwr + Location: 27,45 + Owner: Greece + Actor258: tent + Location: 37,45 + Owner: Greece + Actor259: domf + Location: 29,49 + Owner: Greece + Actor260: gun + Location: 38,42 + Owner: GoodGuy + Actor261: gun + Location: 32,42 + Owner: Greece + greeceweap: weap + Location: 37,48 + Owner: Greece + Actor263: fact + Location: 31,45 + Owner: Greece + Actor264: apwr + Location: 32,49 + Owner: Greece + Actor265: gun + Location: 40,54 + Owner: Greece + Actor266: gun + Location: 34,56 + Owner: Greece + Actor267: hbox + Location: 94,45 + Owner: GoodGuy + Actor268: hpad + Location: 103,59 + Owner: GoodGuy + Actor269: hpad + Location: 86,57 + Owner: GoodGuy + Actor270: hbox + Location: 97,45 + Owner: GoodGuy + Actor271: hbox + Location: 99,51 + Owner: GoodGuy + Actor272: apwr + Location: 106,54 + Owner: GoodGuy + Actor273: silo + Location: 86,87 + Owner: Greece + Actor274: atek + Location: 27,89 + Owner: Greece + Actor275: hbox + Location: 94,60 + Owner: GoodGuy + Actor276: hbox + Location: 97,60 + Owner: GoodGuy + Actor277: hbox + Location: 88,51 + Owner: GoodGuy + Actor278: hbox + Location: 88,54 + Owner: GoodGuy + Actor279: hbox + Location: 99,54 + Owner: GoodGuy + Actor280: apwr + Location: 103,54 + Owner: GoodGuy + Actor281: apwr + Location: 107,48 + Owner: GoodGuy + Actor282: apwr + Location: 107,51 + Owner: GoodGuy + Actor283: hpad + Location: 102,42 + Owner: GoodGuy + Actor284: fact + Location: 103,50 + Owner: GoodGuy + Actor285: gun + Location: 100,48 + Owner: GoodGuy + Actor286: gun + Location: 100,57 + Owner: GoodGuy + Actor287: apwr + Location: 83,50 + Owner: GoodGuy + Actor288: apwr + Location: 81,58 + Owner: GoodGuy + Actor289: minv + Location: 59,76 + Owner: GoodGuy + Actor290: minv + Location: 60,75 + Owner: GoodGuy + Actor291: minv + Location: 61,76 + Owner: GoodGuy + Actor292: minv + Location: 60,77 + Owner: GoodGuy + Actor293: minv + Location: 58,75 + Owner: GoodGuy + Actor294: minv + Location: 65,74 + Owner: GoodGuy + Actor295: minv + Location: 67,72 + Owner: GoodGuy + Actor296: minv + Location: 67,74 + Owner: GoodGuy + Actor297: minv + Location: 66,73 + Owner: GoodGuy + Actor298: minv + Location: 68,73 + Owner: GoodGuy + Actor299: minv + Location: 65,72 + Owner: GoodGuy + Actor300: silo + Location: 87,86 + Owner: Greece + Actor301: silo + Location: 87,88 + Owner: Greece + Actor302: syrd + Location: 96,74 + Owner: GoodGuy + Actor303: 2tnk + Location: 55,75 + Owner: GoodGuy + Actor304: 2tnk + Location: 57,73 + Owner: GoodGuy + Actor305: 2tnk + Location: 69,88 + Owner: GoodGuy + Actor306: 2tnk + Location: 74,80 + Owner: GoodGuy + Actor307: 2tnk + Location: 49,85 + Owner: GoodGuy + Actor308: 2tnk + Location: 50,82 + Owner: GoodGuy + Actor309: 2tnk + Location: 37,51 + Owner: Greece + Actor310: 2tnk + Location: 30,52 + Owner: Greece + Actor311: 2tnk + Location: 33,48 + Owner: Greece + Actor312: 1tnk + Location: 32,72 + Owner: GoodGuy + Actor313: 2tnk + Location: 89,49 + Owner: GoodGuy + Actor314: 2tnk + Location: 96,43 + Owner: GoodGuy + Actor315: 2tnk + Location: 89,61 + Owner: GoodGuy + Actor316: 2tnk + Location: 106,49 + Owner: GoodGuy + Actor317: 2tnk + Location: 100,62 + Owner: GoodGuy + Actor318: 2tnk + Location: 99,52 + Owner: GoodGuy + Actor319: 1tnk + Location: 77,82 + Owner: GoodGuy + Actor320: 2tnk + Location: 82,80 + Owner: GoodGuy + Actor321: 1tnk + Location: 108,84 + Owner: GoodGuy + Actor322: 1tnk + Location: 33,72 + Owner: GoodGuy + Actor323: 1tnk + Location: 84,54 + Owner: GoodGuy + Actor324: 1tnk + Location: 84,62 + Owner: GoodGuy + Actor325: 1tnk + Location: 104,58 + Owner: GoodGuy + Actor326: 1tnk + Location: 99,46 + Owner: GoodGuy + Actor327: e1 + Location: 37,47 + Owner: Greece + Actor328: e1 + Location: 31,48 + Owner: Greece + Actor329: e3 + Location: 35,46 + Owner: Greece + Actor330: e1 + Location: 39,47 + Owner: Greece + Actor331: e1 + Location: 38,51 + Owner: Greece + Actor332: e1 + Location: 36,53 + Owner: Greece + Actor333: e1 + Location: 34,54 + Owner: Greece + Actor334: e1 + Location: 32,53 + Owner: Greece + Actor335: e1 + Location: 40,51 + Owner: Greece + Actor336: e1 + Location: 33,42 + Owner: Greece + Actor337: e1 + Location: 37,42 + Owner: Greece + Actor338: e1 + Location: 37,79 + Owner: GoodGuy + Actor339: e1 + Location: 36,80 + Owner: GoodGuy + Actor340: e3 + Location: 36,79 + Owner: GoodGuy + Actor341: e3 + Location: 37,79 + Owner: GoodGuy + Actor342: e3 + Location: 53,85 + Owner: GoodGuy + Actor343: e3 + Location: 48,83 + Owner: GoodGuy + Actor344: e1 + Location: 50,83 + Owner: GoodGuy + Actor345: e1 + Location: 49,87 + Owner: GoodGuy + Actor346: e1 + Location: 30,91 + Owner: Greece + Actor347: e1 + Location: 32,90 + Owner: Greece + Actor348: e1 + Location: 31,90 + Owner: Greece + Actor349: e3 + Location: 32,92 + Owner: GoodGuy + Actor350: e3 + Location: 31,88 + Owner: GoodGuy + Actor351: e3 + Location: 32,89 + Owner: GoodGuy + Actor352: e3 + Location: 31,91 + Owner: GoodGuy + Actor353: e1 + Location: 80,78 + Owner: GoodGuy + Actor354: e1 + Location: 80,85 + Owner: GoodGuy + Actor355: e3 + Location: 79,78 + Owner: GoodGuy + Actor356: e3 + Location: 82,82 + Owner: GoodGuy + Actor357: e1 + Location: 109,85 + Owner: GoodGuy + Actor358: e1 + Location: 109,82 + Owner: GoodGuy + Actor359: e1 + Location: 106,85 + Owner: GoodGuy + Actor360: e1 + Location: 96,61 + Owner: GoodGuy + Actor361: e1 + Location: 93,62 + Owner: GoodGuy + Actor362: e1 + Location: 90,43 + Owner: GoodGuy + Actor363: e1 + Location: 89,45 + Owner: GoodGuy + Actor364: e3 + Location: 93,43 + Owner: GoodGuy + Actor365: e3 + Location: 91,45 + Owner: GoodGuy + Actor366: e1 + Location: 95,63 + Owner: GoodGuy + Actor367: e1 + Location: 89,64 + Owner: GoodGuy + Actor368: e1 + Location: 87,55 + Owner: GoodGuy + Actor369: e1 + Location: 87,53 + Owner: GoodGuy + Actor370: e1 + Location: 101,52 + Owner: GoodGuy + Actor371: e1 + Location: 100,53 + Owner: GoodGuy + Actor372: e1 + Location: 92,64 + Owner: GoodGuy + Actor373: e1 + Location: 101,63 + Owner: GoodGuy + Actor374: e3 + Location: 91,63 + Owner: GoodGuy + Actor375: e3 + Location: 101,53 + Owner: GoodGuy + Actor376: e3 + Location: 102,49 + Owner: GoodGuy + Actor377: e3 + Location: 100,46 + Owner: GoodGuy + Actor378: e3 + Location: 86,54 + Owner: GoodGuy + Actor379: e3 + Location: 87,50 + Owner: GoodGuy + Actor380: e3 + Location: 97,63 + Owner: GoodGuy + Actor381: e3 + Location: 88,62 + Owner: GoodGuy + Actor382: e3 + Location: 86,60 + Owner: GoodGuy + Actor383: e3 + Location: 84,56 + Owner: GoodGuy + pdox: pdox + Location: 94,52 + Owner: GoodGuy + ca1: ca + Location: 119,66 + Owner: GoodGuy + ca2: ca + Location: 120,66 + Owner: GoodGuy + mslo1: mslo + Location: 89,84 + Owner: Greece + mslo2: mslo + Location: 89,83 + Owner: Greece + mslo3: mslo + Location: 89,82 + Owner: Greece + mig1: mig + Location: 124,52 + Owner: GoodGuy + mig2: mig + Location: 128,47 + Owner: GoodGuy + mig3: mig + Location: 120,42 + Owner: GoodGuy + spawn0: mpspawn + Location: 36,36 + Owner: Neutral + spawn1: mpspawn + Location: 35,48 + Owner: Neutral + spawn2: mpspawn + Location: 33,36 + Owner: Neutral + spawn3: mpspawn + Location: 39,36 + Owner: Neutral + spawn4: mpspawn + Location: 29,36 + Owner: Neutral + spawn5: mpspawn + Location: 44,36 + Owner: Neutral + spawn6: mpspawn + Location: 32,46 + Owner: Neutral + spawn7: mpspawn + Location: 38,49 + Owner: Neutral + +Smudges: + +Rules: + World: + DefaultShellmapScript: + -SpawnMPUnits: + -MPStartLocations: + MSLO: + Building: + Power: 0 + +Sequences: + +Weapons: + +Voices: diff --git a/mods/ra-classic/maps/siberian-slaughter.oramap b/mods/ra-classic/maps/siberian-slaughter.oramap new file mode 100644 index 0000000000..e0b17d7f64 Binary files /dev/null and b/mods/ra-classic/maps/siberian-slaughter.oramap differ diff --git a/mods/ra-classic/maps/sleepy-valley.oramap b/mods/ra-classic/maps/sleepy-valley.oramap new file mode 100644 index 0000000000..9f05eb6137 Binary files /dev/null and b/mods/ra-classic/maps/sleepy-valley.oramap differ diff --git a/mods/ra-classic/maps/smugglers-cove.oramap b/mods/ra-classic/maps/smugglers-cove.oramap new file mode 100644 index 0000000000..824e4f2793 Binary files /dev/null and b/mods/ra-classic/maps/smugglers-cove.oramap differ diff --git a/mods/ra-classic/maps/snake-river.oramap b/mods/ra-classic/maps/snake-river.oramap new file mode 100644 index 0000000000..69a16395f0 Binary files /dev/null and b/mods/ra-classic/maps/snake-river.oramap differ diff --git a/mods/ra-classic/maps/snow-garden.oramap b/mods/ra-classic/maps/snow-garden.oramap new file mode 100644 index 0000000000..c997f88bb9 Binary files /dev/null and b/mods/ra-classic/maps/snow-garden.oramap differ diff --git a/mods/ra-classic/maps/snow-wars.oramap b/mods/ra-classic/maps/snow-wars.oramap new file mode 100644 index 0000000000..cce0ee3d23 Binary files /dev/null and b/mods/ra-classic/maps/snow-wars.oramap differ diff --git a/mods/ra-classic/maps/snowball-fight.oramap b/mods/ra-classic/maps/snowball-fight.oramap new file mode 100644 index 0000000000..c1bc01f611 Binary files /dev/null and b/mods/ra-classic/maps/snowball-fight.oramap differ diff --git a/mods/ra-classic/maps/snowy-island.oramap b/mods/ra-classic/maps/snowy-island.oramap new file mode 100644 index 0000000000..2db330bf10 Binary files /dev/null and b/mods/ra-classic/maps/snowy-island.oramap differ diff --git a/mods/ra-classic/maps/south-america---warlord.oramap b/mods/ra-classic/maps/south-america---warlord.oramap new file mode 100644 index 0000000000..e2a0aa64d2 Binary files /dev/null and b/mods/ra-classic/maps/south-america---warlord.oramap differ diff --git a/mods/ra-classic/maps/spring-line.oramap b/mods/ra-classic/maps/spring-line.oramap new file mode 100644 index 0000000000..af7b098836 Binary files /dev/null and b/mods/ra-classic/maps/spring-line.oramap differ diff --git a/mods/ra-classic/maps/star.oramap b/mods/ra-classic/maps/star.oramap new file mode 100644 index 0000000000..c5cf9eb826 Binary files /dev/null and b/mods/ra-classic/maps/star.oramap differ diff --git a/mods/ra-classic/maps/strathearn-valley.oramap b/mods/ra-classic/maps/strathearn-valley.oramap new file mode 100644 index 0000000000..81fc197c5c Binary files /dev/null and b/mods/ra-classic/maps/strathearn-valley.oramap differ diff --git a/mods/ra-classic/maps/super-bridgehead.oramap b/mods/ra-classic/maps/super-bridgehead.oramap new file mode 100644 index 0000000000..49409cab35 Binary files /dev/null and b/mods/ra-classic/maps/super-bridgehead.oramap differ diff --git a/mods/ra-classic/maps/super-mekong.oramap b/mods/ra-classic/maps/super-mekong.oramap new file mode 100644 index 0000000000..a313ad2ab3 Binary files /dev/null and b/mods/ra-classic/maps/super-mekong.oramap differ diff --git a/mods/ra-classic/maps/super-ore-garden.oramap b/mods/ra-classic/maps/super-ore-garden.oramap new file mode 100644 index 0000000000..45677ce669 Binary files /dev/null and b/mods/ra-classic/maps/super-ore-garden.oramap differ diff --git a/mods/ra-classic/maps/the-bay.oramap b/mods/ra-classic/maps/the-bay.oramap new file mode 100644 index 0000000000..b2bcca240d Binary files /dev/null and b/mods/ra-classic/maps/the-bay.oramap differ diff --git a/mods/ra-classic/maps/the-berg.oramap b/mods/ra-classic/maps/the-berg.oramap new file mode 100644 index 0000000000..7af7252cc5 Binary files /dev/null and b/mods/ra-classic/maps/the-berg.oramap differ diff --git a/mods/ra-classic/maps/the-cauldron.oramap b/mods/ra-classic/maps/the-cauldron.oramap new file mode 100644 index 0000000000..d8eed9253b Binary files /dev/null and b/mods/ra-classic/maps/the-cauldron.oramap differ diff --git a/mods/ra-classic/maps/the-finger.oramap b/mods/ra-classic/maps/the-finger.oramap new file mode 100644 index 0000000000..b05a2ad132 Binary files /dev/null and b/mods/ra-classic/maps/the-finger.oramap differ diff --git a/mods/ra-classic/maps/the-garden.oramap b/mods/ra-classic/maps/the-garden.oramap new file mode 100644 index 0000000000..840b527aa3 Binary files /dev/null and b/mods/ra-classic/maps/the-garden.oramap differ diff --git a/mods/ra-classic/maps/the-great-lakes.oramap b/mods/ra-classic/maps/the-great-lakes.oramap new file mode 100644 index 0000000000..be86c6a7fd Binary files /dev/null and b/mods/ra-classic/maps/the-great-lakes.oramap differ diff --git a/mods/ra-classic/maps/the-ice-arena.oramap b/mods/ra-classic/maps/the-ice-arena.oramap new file mode 100644 index 0000000000..e06cd4f212 Binary files /dev/null and b/mods/ra-classic/maps/the-ice-arena.oramap differ diff --git a/mods/ra-classic/maps/the-lake-district.oramap b/mods/ra-classic/maps/the-lake-district.oramap new file mode 100644 index 0000000000..afdf03efd8 Binary files /dev/null and b/mods/ra-classic/maps/the-lake-district.oramap differ diff --git a/mods/ra-classic/maps/the-linked-lands.oramap b/mods/ra-classic/maps/the-linked-lands.oramap new file mode 100644 index 0000000000..e03ec38038 Binary files /dev/null and b/mods/ra-classic/maps/the-linked-lands.oramap differ diff --git a/mods/ra-classic/maps/the-mississippi.oramap b/mods/ra-classic/maps/the-mississippi.oramap new file mode 100644 index 0000000000..178b188d5f Binary files /dev/null and b/mods/ra-classic/maps/the-mississippi.oramap differ diff --git a/mods/ra-classic/maps/the-neck.oramap b/mods/ra-classic/maps/the-neck.oramap new file mode 100644 index 0000000000..a2c87726c1 Binary files /dev/null and b/mods/ra-classic/maps/the-neck.oramap differ diff --git a/mods/ra-classic/maps/the-sticky-bit.oramap b/mods/ra-classic/maps/the-sticky-bit.oramap new file mode 100644 index 0000000000..e4f0f4f03e Binary files /dev/null and b/mods/ra-classic/maps/the-sticky-bit.oramap differ diff --git a/mods/ra-classic/maps/the-web.oramap b/mods/ra-classic/maps/the-web.oramap new file mode 100644 index 0000000000..eaf2f3abb2 Binary files /dev/null and b/mods/ra-classic/maps/the-web.oramap differ diff --git a/mods/ra-classic/maps/the-woods-today....oramap b/mods/ra-classic/maps/the-woods-today....oramap new file mode 100644 index 0000000000..1850976040 Binary files /dev/null and b/mods/ra-classic/maps/the-woods-today....oramap differ diff --git a/mods/ra-classic/maps/things-to-come.oramap b/mods/ra-classic/maps/things-to-come.oramap new file mode 100644 index 0000000000..50d842c9ae Binary files /dev/null and b/mods/ra-classic/maps/things-to-come.oramap differ diff --git a/mods/ra-classic/maps/tiger-core.oramap b/mods/ra-classic/maps/tiger-core.oramap new file mode 100644 index 0000000000..fa91acce36 Binary files /dev/null and b/mods/ra-classic/maps/tiger-core.oramap differ diff --git a/mods/ra-classic/maps/to-the-core.oramap b/mods/ra-classic/maps/to-the-core.oramap new file mode 100644 index 0000000000..7708b1f41b Binary files /dev/null and b/mods/ra-classic/maps/to-the-core.oramap differ diff --git a/mods/ra-classic/maps/tournament-hills.oramap b/mods/ra-classic/maps/tournament-hills.oramap new file mode 100644 index 0000000000..afeea8bc5f Binary files /dev/null and b/mods/ra-classic/maps/tournament-hills.oramap differ diff --git a/mods/ra-classic/maps/treasure-isle.oramap b/mods/ra-classic/maps/treasure-isle.oramap new file mode 100644 index 0000000000..baac14a555 Binary files /dev/null and b/mods/ra-classic/maps/treasure-isle.oramap differ diff --git a/mods/ra-classic/maps/tropical-storm.oramap b/mods/ra-classic/maps/tropical-storm.oramap new file mode 100644 index 0000000000..28514c4fe9 Binary files /dev/null and b/mods/ra-classic/maps/tropical-storm.oramap differ diff --git a/mods/ra-classic/maps/tundra-trouble.oramap b/mods/ra-classic/maps/tundra-trouble.oramap new file mode 100644 index 0000000000..2bc055fffb Binary files /dev/null and b/mods/ra-classic/maps/tundra-trouble.oramap differ diff --git a/mods/ra-classic/maps/umboto-gorge.oramap b/mods/ra-classic/maps/umboto-gorge.oramap new file mode 100644 index 0000000000..670609103c Binary files /dev/null and b/mods/ra-classic/maps/umboto-gorge.oramap differ diff --git a/mods/ra-classic/maps/undiscovered-country.oramap b/mods/ra-classic/maps/undiscovered-country.oramap new file mode 100644 index 0000000000..69de7763f3 Binary files /dev/null and b/mods/ra-classic/maps/undiscovered-country.oramap differ diff --git a/mods/ra-classic/maps/united-kingdom.oramap b/mods/ra-classic/maps/united-kingdom.oramap new file mode 100644 index 0000000000..7684df34dc Binary files /dev/null and b/mods/ra-classic/maps/united-kingdom.oramap differ diff --git a/mods/ra-classic/maps/united-states.oramap b/mods/ra-classic/maps/united-states.oramap new file mode 100644 index 0000000000..198b40eafd Binary files /dev/null and b/mods/ra-classic/maps/united-states.oramap differ diff --git a/mods/ra-classic/maps/volcano.oramap b/mods/ra-classic/maps/volcano.oramap new file mode 100644 index 0000000000..1c0cfdb580 Binary files /dev/null and b/mods/ra-classic/maps/volcano.oramap differ diff --git a/mods/ra-classic/maps/watch-your-step-extreme.oramap b/mods/ra-classic/maps/watch-your-step-extreme.oramap new file mode 100644 index 0000000000..8c8d0e46f7 Binary files /dev/null and b/mods/ra-classic/maps/watch-your-step-extreme.oramap differ diff --git a/mods/ra-classic/maps/water-werks.oramap b/mods/ra-classic/maps/water-werks.oramap new file mode 100644 index 0000000000..c24c0f4e11 Binary files /dev/null and b/mods/ra-classic/maps/water-werks.oramap differ diff --git a/mods/ra-classic/maps/water-works.oramap b/mods/ra-classic/maps/water-works.oramap new file mode 100644 index 0000000000..27a6c8991b Binary files /dev/null and b/mods/ra-classic/maps/water-works.oramap differ diff --git a/mods/ra-classic/maps/waterfalls.oramap b/mods/ra-classic/maps/waterfalls.oramap new file mode 100644 index 0000000000..298d616c75 Binary files /dev/null and b/mods/ra-classic/maps/waterfalls.oramap differ diff --git a/mods/ra-classic/maps/waterloo-revisited.oramap b/mods/ra-classic/maps/waterloo-revisited.oramap new file mode 100644 index 0000000000..30a132cd1b Binary files /dev/null and b/mods/ra-classic/maps/waterloo-revisited.oramap differ diff --git a/mods/ra-classic/maps/world-map.oramap b/mods/ra-classic/maps/world-map.oramap new file mode 100644 index 0000000000..135987787d Binary files /dev/null and b/mods/ra-classic/maps/world-map.oramap differ diff --git a/mods/ra-classic/maps/zambezi.oramap b/mods/ra-classic/maps/zambezi.oramap new file mode 100644 index 0000000000..42feb0b3ce Binary files /dev/null and b/mods/ra-classic/maps/zambezi.oramap differ diff --git a/mods/ra-classic/mod.yaml b/mods/ra-classic/mod.yaml new file mode 100644 index 0000000000..abfb9d720c --- /dev/null +++ b/mods/ra-classic/mod.yaml @@ -0,0 +1,125 @@ +Metadata: + Title: Classic Red Alert (WIP) + Description: Closely resembling the original + Version: {DEV_VERSION} + Author: The OpenRA Developers + +Folders: + . + ./mods/ra + ./mods/ra/bits + ./mods/ra-classic/maps + ./mods/ra-classic/uibits + ./mods/ra/uibits + ~^/Content/ra + +Packages: + ~main.mix + redalert.mix + conquer.mix + hires.mix + local.mix + sounds.mix + speech.mix + allies.mix + russian.mix + temperat.mix + snow.mix + interior.mix + ~scores.mix + ~movies1.mix + ~movies2.mix + +Rules: + mods/ra-classic/rules/defaults.yaml + mods/ra-classic/rules/system.yaml + mods/ra-classic/rules/vehicles.yaml + mods/ra-classic/rules/structures.yaml + mods/ra-classic/rules/infantry.yaml + mods/ra-classic/rules/civilian.yaml + mods/ra-classic/rules/trees.yaml + mods/ra-classic/rules/aircraft.yaml + mods/ra-classic/rules/ships.yaml + +Sequences: + mods/ra/sequences.yaml + +Cursors: + mods/ra/cursors.yaml + +Chrome: + mods/ra/chrome.yaml + +Assemblies: + mods/ra/OpenRA.Mods.RA.dll + +ChromeLayout: + mods/ra/chrome/gameinit.yaml + mods/ra/chrome/ingame.yaml + mods/ra/chrome/mainmenu.yaml + mods/ra/chrome/settings.yaml + mods/ra/chrome/lobby.yaml + mods/ra/chrome/map-chooser.yaml + mods/ra/chrome/create-server.yaml + mods/ra/chrome/serverbrowser.yaml + mods/ra/chrome/replaybrowser.yaml + mods/ra/chrome/dropdowns.yaml + mods/ra/chrome/modchooser.yaml + mods/ra/chrome/cheats.yaml + mods/ra/chrome/objectives.yaml + +Weapons: + mods/ra-classic/weapons.yaml + +Voices: + mods/ra/voices.yaml + +Notifications: + mods/ra/notifications.yaml + +TileSets: + mods/ra/tilesets/snow.yaml + mods/ra/tilesets/interior.yaml + mods/ra-classic/tilesets/temperat.yaml + +Music: + mods/ra/music.yaml + mods/ra/music-cs.yaml + mods/ra/music-am.yaml + +Movies: + mods/ra/movies1.yaml + mods/ra/movies2.yaml + +LoadScreen: RALoadScreen + InstallerMenuWidget: INSTALL_PANEL + LoadScreenImage: mods/ra-classic/uibits/loadscreen.png + TestFile: redalert.mix + PackageURL: http://open-ra.org/get-dependency.php?file=ra-packages + +ServerTraits: + LobbyCommands + MasterServerPinger + +ChromeMetrics: + mods/ra/metrics.yaml + +Fonts: + Regular: + Font:FreeSans.ttf + Size:14 + Bold: + Font:FreeSansBold.ttf + Size:14 + Title: + Font:titles.ttf + Size:48 + BigBold: + Font:FreeSansBold.ttf + Size:24 + Tiny: + Font:FreeSans.ttf + Size:10 + TinyBold: + Font:FreeSansBold.ttf + Size:10 diff --git a/mods/ra-classic/rules/aircraft.yaml b/mods/ra-classic/rules/aircraft.yaml new file mode 100644 index 0000000000..df66667650 --- /dev/null +++ b/mods/ra-classic/rules/aircraft.yaml @@ -0,0 +1,306 @@ +BADR: + ParaDrop: + LZRange: 4 + Inherits: ^Plane + Health: + HP: 60 + Armor: + Type: Light + Plane: + ROT: 5 + Speed: 16 + RenderUnit: + WithShadow: + IronCurtainable: + Cargo: + MaxWeight: 10 + -Selectable: + Tooltip: + Name: Badger + FallsToEarth: + Spins: no + Moves: yes + Explosion: UnitExplode + SmokeTrailWhenDamaged@0: + Offset: 11, -11 + Interval: 2 + SmokeTrailWhenDamaged@1: + Offset: -11, -11 + Interval: 2 + -EjectOnDeath: + -GpsDot: + +BADR.bomber: + CarpetBomb: + Range: 3 + Weapon: ParaBomb + Inherits: ^Plane + Health: + HP: 60 + Armor: + Type: Light + Plane: + ROT: 5 + Speed: 16 + LimitedAmmo: + Ammo: 7 + RenderUnit: + Image: badr + WithShadow: + IronCurtainable: + -Selectable: + Tooltip: + Name: Badger + FallsToEarth: + Spins: no + Moves: yes + Explosion: UnitExplode + SmokeTrailWhenDamaged@0: + Offset: 11, -11 + Interval: 2 + SmokeTrailWhenDamaged@1: + Offset: -11, -11 + Interval: 2 + -EjectOnDeath: + -GpsDot: + +MIG: + Inherits: ^Plane + Buildable: + Queue: Plane + BuildPaletteOrder: 100 + Prerequisites: afld + BuiltAt: afld + Owner: soviet + Valued: + Cost: 1200 + Tooltip: + Name: Mig Attack Plane + Description: Fast Ground-Attack Plane.\n Strong vs Buildings\n Weak vs Infantry, Light Vehicles + Health: + HP: 50 + Armor: + Type: Light + RevealsShroud: + Range: 12 + AttackPlane: + PrimaryWeapon: Maverick + PrimaryLocalOffset: -15,0,0,0,-10, 15,0,0,0,6 + FacingTolerance: 20 + Plane: + InitialFacing: 192 + ROT: 5 + Speed: 20 + RearmBuildings: afld + RenderUnit: + WithShadow: + LimitedAmmo: + Ammo: 3 + IronCurtainable: + ReturnOnIdle: + Selectable: + Bounds: 44,40,0,0 + FallsToEarth: + Spins: no + Moves: yes + Explosion: UnitExplode + SmokeTrailWhenDamaged: + Offset: 0,-20,0,-4 + Interval: 2 + +YAK: + Inherits: ^Plane + Buildable: + Queue: Plane + BuildPaletteOrder: 50 + Prerequisites: afld + BuiltAt: afld + Owner: soviet + Valued: + Cost: 800 + Tooltip: + Name: Yak Attack Plane + Description: Anti-Tanks & Anti-Infantry Plane.\n Strong vs Infantry, Tanks\n Weak vs Buildings + Health: + HP: 60 + Armor: + Type: Light + RevealsShroud: + Range: 10 + AttackPlane: + PrimaryWeapon: ChainGun + SecondaryWeapon: ChainGun + PrimaryOffset: -5,-6,0,0 + SecondaryOffset: 5,-6,0,0 + FacingTolerance: 20 + Plane: + RearmBuildings: afld + InitialFacing: 192 + ROT: 5 + Speed: 16 + RenderUnit: + WithShadow: + LimitedAmmo: + Ammo: 15 + PipCount: 6 + ReloadTicks: 11 + IronCurtainable: + ReturnOnIdle: + WithMuzzleFlash: + FallsToEarth: + Spins: no + Moves: yes + Explosion: UnitExplode + SmokeTrailWhenDamaged: + Offset: 0, -20 + Interval: 2 + + +TRAN: + Inherits: ^Helicopter + Buildable: + Queue: Plane + BuildPaletteOrder: 110 + Prerequisites: hpad + BuiltAt: hpad + Owner: soviet + Valued: + Cost: 1200 + Tooltip: + Name: Transport Helicopter + Description: Fast Infantry Transport Helicopter.\n Unarmed + Health: + HP: 90 + Armor: + Type: Light + RevealsShroud: + Range: 12 + Helicopter: + RearmBuildings: hpad + InitialFacing: 0 + ROT: 5 + Speed: 12 + LandableTerrainTypes: Clear,Rough,Road,Ore,Beach + RenderUnit: + WithRotor@PRIMARY: + Offset: 0,14,0,-8 + WithRotor@SECONDARY: + Id: rotor_2 + Offset: 0,-14,0,-5 + WithShadow: + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + IronCurtainable: + FallsToEarth: + Explosion: UnitExplode + +HELI: + Inherits: ^Helicopter + Buildable: + Queue: Plane + BuildPaletteOrder: 90 + Prerequisites: hpad + BuiltAt: hpad + Owner: allies + Valued: + Cost: 1200 + Tooltip: + Name: Longbow + Description: Helicopter AG Missiles.\n Strong vs Tanks\n Weak vs Infantry + Health: + HP: 225 + Armor: + Type: Heavy + RevealsShroud: + Range: 12 + AttackHeli: + PrimaryWeapon: HellfireAG + PrimaryOffset: -5,0,0,2 + FacingTolerance: 20 + Helicopter: + RearmBuildings: hpad + LandWhenIdle: false + InitialFacing: 20 + ROT: 4 + Speed: 16 + RenderUnit: + WithRotor: + Offset: 0,0,0,-2 + WithShadow: + LimitedAmmo: + Ammo: 6 + IronCurtainable: + FallsToEarth: + Explosion: UnitExplode + SmokeTrailWhenDamaged: + Offset: 0,-10 + +HIND: + Inherits: ^Helicopter + Buildable: + Queue: Plane + BuildPaletteOrder: 90 + Prerequisites: hpad + BuiltAt: hpad + Owner: soviet + Valued: + Cost: 1200 + Tooltip: + Name: Hind + Description: Helicopter with Chainguns.\n Strong vs Infantry, Light Vehicles.\n Weak vs Tanks + Health: + HP: 225 + Armor: + Type: Heavy + RevealsShroud: + Range: 10 + AttackHeli: + PrimaryWeapon: ChainGun + SecondaryWeapon: ChainGun + PrimaryOffset: -5,-2,0,2 + SecondaryOffset: 5,-2,0,2 + FacingTolerance: 20 + Helicopter: + RearmBuildings: hpad + LandWhenIdle: false + InitialFacing: 20 + ROT: 4 + Speed: 12 + RenderUnit: + WithRotor: + WithShadow: + LimitedAmmo: + Ammo: 12 + PipCount: 6 + ReloadTicks: 8 + IronCurtainable: + Selectable: + Bounds: 38,32,0,0 + WithMuzzleFlash: + FallsToEarth: + Explosion: UnitExplode + SmokeTrailWhenDamaged: + Offset: 0,-10 + +U2: + Inherits: ^Plane + Health: + HP: 2000 + Armor: + Type: Heavy + Plane: + ROT: 7 + Speed: 40 + RenderUnit: + WithShadow: + IronCurtainable: + -Selectable: + FallsToEarth: + Spins: no + Moves: yes + Explosion: UnitExplode + SmokeTrailWhenDamaged: + Offset: 0,-25 + Interval: 2 diff --git a/mods/ra-classic/rules/civilian.yaml b/mods/ra-classic/rules/civilian.yaml new file mode 100644 index 0000000000..5f6e996055 --- /dev/null +++ b/mods/ra-classic/rules/civilian.yaml @@ -0,0 +1,276 @@ +C1: + Inherits: ^CivInfantry + +C2: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + +C3: + Inherits: ^CivInfantry + RenderInfantryPanic: + Image: C1 + +C4: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + RenderInfantryPanic: + Image: C2 + +C5: + Inherits: ^CivInfantry + RenderInfantryPanic: + Image: C1 + +C6: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + RenderInfantryPanic: + Image: C2 + +C7: + Inherits: ^CivInfantry + RenderInfantryPanic: + Image: C1 + +C8: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + RenderInfantryPanic: + Image: C2 + +C9: + Inherits: ^CivInfantry + RenderInfantryPanic: + Image: C1 + +C10: + Inherits: ^CivInfantry + Selectable: + Voice: CivilianFemaleVoice + RenderInfantryPanic: + Image: C2 + +FCOM: + Inherits: ^TechBuilding + Building: + Power: -200 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 400 + Armor: + Type: Wood + Tooltip: + Name: Forward Command + RevealsShroud: + Range: 10 + Bib: + +HOSP: + Inherits: ^TechBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Hospital + RepairsUnits: + +V01: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Church + +V02: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + +V03: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + +V04: + Inherits: ^CivBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + +V05: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + +V06: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + +V07: + Inherits: ^CivBuilding + Building: + Footprint: xx + Dimensions: 2,1 + +V08: + Inherits: ^CivBuilding + +V09: + Inherits: ^CivBuilding + +V10: + Inherits: ^CivBuilding + +V11: + Inherits: ^CivBuilding + +V12: + Inherits: ^CivBuilding + +V13: + Inherits: ^CivBuilding + +V14: + Inherits: ^CivField + +V15: + Inherits: ^CivField + +V16: + Inherits: ^CivField + +V17: + Inherits: ^CivField + +V18: + Inherits: ^CivField + +BARL: + Inherits: ^TechBuilding + Selectable: + Priority: 0 + Health: + HP: 10 + Explodes: + Weapon: BarrelExplode + Tooltip: + Name: Explosive Barrel + AutoTargetIgnore: + +BRL3: + Inherits: ^TechBuilding + Selectable: + Priority: 0 + Health: + HP: 10 + Explodes: + Weapon: BarrelExplode + Tooltip: + Name: Explosive Barrel + AutoTargetIgnore: + +MISS: + Inherits: ^TechBuilding + Selectable: + Priority: 0 + Building: + Footprint: xxx xxx + Dimensions: 3,2 + Health: + HP: 400 + Armor: + Type: Wood + Tooltip: + Name: Technology Center + Bib: + +BIO: + Inherits: ^TechBuilding + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Biological Lab + + +OILB: + Inherits: ^TechBuilding + Selectable: + Priority: 0 + Building: + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 400 + Armor: + Type: Wood + Bib: + RevealsShroud: + Range: 3 + Capturable: + CapturableBar: + EngineerRepairable: + -MustBeDestroyed: + Tooltip: + Name: Oil Derrick + +BR1: + Inherits: ^Bridge + Bridge: + Template: 235 + DamagedTemplate: 236 + DestroyedTemplate: 237 + SouthOffset: 0,2 + +BR2: + Inherits: ^Bridge + Bridge: + Template: 238 + DamagedTemplate: 239 + DestroyedTemplate: 240 + NorthOffset: 3,0 + +BR3: + Inherits: ^Bridge + Bridge: + Long: yes + ShorePieces: br1,br2 + Template: 241 + DamagedTemplate: 242 + DestroyedTemplate: 243 + DestroyedPlusNorthTemplate: 245 + DestroyedPlusSouthTemplate: 244 + DestroyedPlusBothTemplate: 246 + NorthOffset: 2,0 + SouthOffset: 0,1 + +BRIDGE1: + Inherits: ^Bridge + Bridge: + Template: 131 + DamagedTemplate: 378 + DestroyedTemplate: 132 + Building: + Footprint: _____ _____ _____ + Dimensions: 5,3 + +BRIDGE2: + Inherits: ^Bridge + Bridge: + Template: 133 + DamagedTemplate: 379 + DestroyedTemplate: 134 + Building: + Footprint: _____ _____ + Dimensions: 5,2 \ No newline at end of file diff --git a/mods/ra-classic/rules/defaults.yaml b/mods/ra-classic/rules/defaults.yaml new file mode 100644 index 0000000000..ad82b4119e --- /dev/null +++ b/mods/ra-classic/rules/defaults.yaml @@ -0,0 +1,319 @@ +^Vehicle: + AppearsOnRadar: + Mobile: + Crushes: atmine, crate, apmine + TerrainSpeeds: + Clear: 80 + Rough: 40 + Road: 100 + Ore: 70 + Beach: 40 + ROT: 5 + SelectionDecorations: + Selectable: + Voice: VehicleVoice + TargetableUnit: + TargetTypes: Ground + Repairable: + Chronoshiftable: + Passenger: + CargoType: Vehicle + IronCurtainable: + AttackMove: + ActorLostNotification: + Notification: unitlst1.aud + ProximityCaptor: + Types:Vehicle + GpsDot: + String:Vehicle + WithSmoke: + UpdatesPlayerStatistics: + +^Tank: + AppearsOnRadar: + Mobile: + Crushes: wall, atmine, crate, apmine + TerrainSpeeds: + Clear: 80 + Rough: 70 + Road: 100 + Ore: 70 + Beach: 70 + ROT: 5 + SelectionDecorations: + Selectable: + Voice: VehicleVoice + TargetableUnit: + TargetTypes: Ground + Repairable: + Chronoshiftable: + Passenger: + CargoType: Vehicle + IronCurtainable: + AttackMove: + ActorLostNotification: + Notification: unitlst1.aud + ProximityCaptor: + Types:Tank + GpsDot: + String:Vehicle + WithSmoke: + UpdatesPlayerStatistics: + +^Infantry: + AppearsOnRadar: + Health: + Radius: 3 + Armor: + Type: None + RevealsShroud: + Range: 4 + Mobile: + Crushes: apmine, crate + SharesCell: true + TerrainSpeeds: + Clear: 90 + Rough: 80 + Road: 100 + Ore: 80 + Beach: 80 + SelectionDecorations: + Selectable: + Voice: GenericVoice + TargetableUnit: + TargetTypes: Ground + RenderInfantry: + AutoTarget: + AttackMove: + Passenger: + CargoType: Infantry + TeslaInstantKills: + ActorLostNotification: + Notification: unitlst1.aud + ProximityCaptor: + Types:Infantry + GpsDot: + String:Infantry + ParachuteAttachment: + Offset: 0,-10 + CrushableInfantry: + CrushSound: squishy2.aud + UpdatesPlayerStatistics: + +^Ship: + AppearsOnRadar: + Mobile: + Crushes: crate + TerrainSpeeds: + Water: 100 + SelectionDecorations: + Selectable: + Voice: ShipVoice + TargetableUnit: + TargetTypes: Ground, Water + DetectCloaked: + Range: 3 + AttackMove: + ActorLostNotification: + Notification: navylst1.aud + ProximityCaptor: + Types:Ship + GpsDot: + String:Ship + WithSmoke: + UpdatesPlayerStatistics: + +^Plane: + AppearsOnRadar: + UseLocation: yes + SelectionDecorations: + Selectable: + Voice: GenericVoice + TargetableAircraft: + TargetTypes: Air + GroundedTargetTypes: Ground + HiddenUnderFog: + ActorLostNotification: + Notification: aunitl1.aud + DebugAircraftFacing: + DebugAircraftSubPxX: + DebugAircraftSubPxY: + DebugAircraftAltitude: + ProximityCaptor: + Types:Plane + EjectOnDeath: + PilotActor: E1 + SuccessRate: 50 + GpsDot: + String:Plane + UpdatesPlayerStatistics: + +^Helicopter: + Inherits: ^Plane + GpsDot: + String:Helicopter + +^Building: + AppearsOnRadar: + SelectionDecorations: + Selectable: + Priority: 3 + TargetableBuilding: + TargetTypes: Ground + Building: + Dimensions: 1,1 + Footprint: x + TerrainTypes: Clear,Road + GivesBuildableArea: + Capturable: + CaptureCompleteTime: 0 + CapturableBar: + SoundOnDamageTransition: + DamagedSound: kaboom1.aud + DestroyedSound: kaboom22.aud + RenderBuilding: + WithBuildingExplosion: + RepairableBuilding: + EngineerRepairable: + EmitInfantryOnSell: + ActorTypes: e1,e1,e1,c1,c2,e6 + MustBeDestroyed: + CaptureNotification: + Notification: strucap1.aud + EditorAppearance: + RelativeToTopLeft: yes + ShakeOnDeath: + ProximityCaptor: + Types:Building + Sellable: + +^Wall: + AppearsOnRadar: + Building: + Dimensions: 1,1 + Footprint: x + BuildSounds: placbldg.aud + Adjacent: 7 + TerrainTypes: Clear,Road + SoundOnDamageTransition: + DamagedSound: sandbag2.aud + DestroyedSound: sandbag2.aud + Wall: + CrushClasses: wall + SelectionDecorations: + Selectable: + Priority: 1 + TargetableBuilding: + TargetTypes: Ground + RenderBuildingWall: + HasMakeAnimation: false + Palette: terrain + GivesExperience: + EditorAppearance: + RelativeToTopLeft: yes + UseTerrainPalette: true + AutoTargetIgnore: + ProximityCaptor: + Types:Wall + Sellable: + +^TechBuilding: + Inherits: ^Building + -RepairableBuilding: + -EngineerRepairable: + Health: + HP: 400 + Armor: + Type: Wood + Tooltip: + Name: Civilian Building + ProximityCaptor: + Types:CivilianBuilding + -GivesBuildableArea: + -Sellable: + -Capturable: + -CapturableBar: + +^CivInfantry: + Inherits: ^Infantry + Selectable: + Voice: CivilianMaleVoice + Bounds: 12,17,0,-9 + Valued: + Cost: 70 + Tooltip: + Name: Civilian + Health: + HP: 20 + Mobile: + Speed: 4 + RevealsShroud: + Range: 2 + AttackFrontal: + PrimaryWeapon: Pistol + ProximityCaptor: + Types:CivilianInfantry + -RenderInfantry: + RenderInfantryPanic: + ScaredyCat: + +^CivBuilding: + Inherits: ^TechBuilding + RenderBuilding: + Palette: terrain + EditorAppearance: + UseTerrainPalette: true + +^CivField: + Inherits: ^CivBuilding + -Selectable: + Tooltip: + Name: Field + -ProximityCaptor: + ProximityCaptor: + Types:CivilianField + +^Tree: + Tooltip: + Name: Tree + RenderBuilding: + Palette: terrain + Building: + Footprint: x + Dimensions: 1,1 + AppearsOnRadar: + RadarColorFromTerrain: + Terrain: Tree + EditorAppearance: + RelativeToTopLeft: yes + UseTerrainPalette: true + ProximityCaptor: + Types:Tree + +^Husk: + Husk: + RenderUnit: + Health: + HP: 140 + Armor: + Type: Heavy + HiddenUnderFog: + AppearsOnRadar: + Burns: + ProximityCaptor: + Types:Husk + +^Bridge: + Tooltip: + Name: Bridge + BelowUnits: + TargetableBuilding: + TargetTypes: Ground, Water + Building: + Footprint: ____ ____ + Dimensions: 4,2 + Health: + HP: 1000 + ProximityCaptor: + Types:Bridge + AutoTargetIgnore: \ No newline at end of file diff --git a/mods/ra-classic/rules/infantry.yaml b/mods/ra-classic/rules/infantry.yaml new file mode 100644 index 0000000000..1079d02e8b --- /dev/null +++ b/mods/ra-classic/rules/infantry.yaml @@ -0,0 +1,381 @@ +DOG: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 30 + Prerequisites: kenn + Owner: soviet + Valued: + Cost: 200 + Tooltip: + Name: Attack Dog + Description: Anti-infantry unit. Not fooled by the \nSpy's disguise.\n Strong vs Infantry\n Weak vs Vehicles + Selectable: + Voice: DogVoice + Bounds: 12,17,-1,-4 + Health: + HP: 12 + Mobile: + Speed: 4 + RevealsShroud: + Range: 5 + AutoTarget: + AttackLeap: + PrimaryWeapon: DogJaw + CanAttackGround: no + RenderInfantry: + IdleAnimations: idle1,idle2 + IgnoresDisguise: + +E1: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: allies,soviet + Valued: + Cost: 100 + Tooltip: + Name: Rifle Infantry + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Selectable: + Bounds: 12,17,0,-9 + Health: + HP: 50 + Mobile: + Speed: 4 + AttackFrontal: + PrimaryWeapon: M1Carbine + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E2: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: soviet + Prerequisites: barr + Valued: + Cost: 160 + Tooltip: + Name: Grenadier + Description: Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles + Selectable: + Bounds: 12,17,0,-9 + Health: + HP: 50 + Mobile: + Speed: 5 + AttackFrontal: + PrimaryWeapon: Grenade + PrimaryOffset: 0,0,0,-13 + FireDelay: 15 + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + Explodes: + Weapon: UnitExplodeSmall + Chance: 50 + +E3: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 20 + Owner: allies,soviet + Valued: + Cost: 300 + Tooltip: + Name: Rocket Soldier + Description: Anti-tank/Anti-aircraft infantry.\n Strong vs Tanks, Aircraft\n Weak vs Infantry + Selectable: + Bounds: 12,17,0,-9 + Health: + HP: 45 + Mobile: + Speed: 3 + AttackFrontal: + PrimaryWeapon: RedEye + SecondaryWeapon: Dragon + PrimaryOffset: 0,0,0,-13 + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E4: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 60 + Prerequisites: ftur + Owner: soviet + Valued: + Cost: 300 + Tooltip: + Name: Flamethrower + Description: Advanced Anti-infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles + Selectable: + Bounds: 12,17,0,-9 + Health: + HP: 40 + Mobile: + Speed: 3 + AttackFrontal: + PrimaryWeapon: Flamer + PrimaryOffset: 0,-10,0,-8 + FireDelay: 8 + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E6: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: soviet,allies + Valued: + Cost: 500 + Tooltip: + Name: Engineer + Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything + Selectable: + Voice: EngineerVoice + Bounds: 12,17,0,-9 + Health: + HP: 25 + Mobile: + Speed: 4 + Passenger: + PipType: Yellow + EngineerRepair: + Captures: + Sabotage: yes + TakeCover: + -AutoTarget: + AttackMove: + JustMove: true + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +SPY: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 60 + Prerequisites: dome, tent + Owner: allies + Valued: + Cost: 500 + SpyToolTip: + Name: Spy + Description: Infiltrates enemy structures to gather \nintelligence. Exact effect depends on the \nbuilding infiltrated.\n Strong vs Nothing\n Weak vs Everything\n Special Ability: Disguised + Selectable: + Voice: SpyVoice + Bounds: 12,17,0,-9 + Health: + HP: 25 + Mobile: + Speed: 4 + RevealsShroud: + Range: 5 + Passenger: + PipType: Yellow + TakeCover: + Spy: + Infiltrates: + InfiltrateTypes: SupportPower, Exploration + -AutoTarget: + AttackMove: + JustMove: true + -RenderInfantry: + RenderSpy: + IdleAnimations: idle1,idle2 + +THF: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 60 + Prerequisites: techcenter, tent + Owner: allies + Valued: + Cost: 400 + Tooltip: + Name: Thief + Description: Steals enemy credits.\n Strong vs Nothing\n Weak vs Everything\n + Selectable: + Voice: ThiefVoice + Bounds: 12,17,0,-9 + Health: + HP: 25 + Mobile: + Speed: 4 + RevealsShroud: + Range: 5 + Passenger: + PipType: Yellow + Infiltrates: + InfiltrateTypes: Cash + TakeCover: + -AutoTarget: + AttackMove: + JustMove: true + +E7: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 110 + Prerequisites: techcenter + Owner: allies,soviet + Valued: + Cost: 1200 + Tooltip: + Name: Tanya + Description: Elite commando infantry, armed with \ndual pistols and C4.\n Strong vs Infantry, Buildings\n Weak vs Vehicles\n Special Ability: Destroy Building with C4 + Selectable: + Voice: TanyaVoice + Bounds: 12,17,0,-9 + Health: + HP: 100 + Mobile: + Speed: 5 + RevealsShroud: + Range: 6 + C4Demolition: + C4Delay: 45 + Passenger: + PipType: Red + AttackFrontal: + PrimaryWeapon: Colt45 + SecondaryWeapon: Colt45 + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +MEDI: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 20 + Owner: allies + Prerequisites: tent + Valued: + Cost: 800 + Tooltip: + Name: Medic + Description: Heals nearby infantry.\n Strong vs Nothing\n Weak vs Everything + Selectable: + Voice: MedicVoice + Bounds: 12,17,0,-9 + Health: + HP: 80 + Mobile: + Speed: 4 + RevealsShroud: + Range: 3 + Passenger: + PipType: Yellow + AutoHeal: + AttackMedic: + PrimaryWeapon: Heal + TakeCover: + -AutoTarget: + AttackMove: + JustMove: true + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +MECH: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 70 + Owner: allies + Prerequisites: fix + Valued: + Cost: 800 + Tooltip: + Name: Mechanic + Description: Repairs nearby vehicles.\n Strong vs Nothing\n Weak vs Everything + Selectable: + Voice: MechanicVoice + Bounds: 12,17,0,-9 + Health: + HP: 80 + Mobile: + Speed: 4 + RevealsShroud: + Range: 3 + Passenger: + PipType: Yellow + AutoHeal: + AttackMedic: + PrimaryWeapon: Repair + TakeCover: + -AutoTarget: + AttackMove: + JustMove: true + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +EINSTEIN: + Inherits: ^Infantry + Selectable: + Voice: EinsteinVoice + Bounds: 12,17,0,-9 + Valued: + Cost: 10 + Tooltip: + Name: Prof. Einstein + Health: + HP: 25 + Mobile: + Speed: 5 + RevealsShroud: + Range: 2 + -AutoTarget: + AttackMove: + JustMove: true + ProximityCaptor: + Types:CivilianInfantry + +SHOK: + Inherits: ^Infantry + Buildable: + Queue: Infantry + Prerequisites: tsla + Owner: soviet + Valued: + Cost: 900 + Tooltip: + Name: Tesla Trooper + Description: Infantry with tesla coils\n Strong vs Infantry\n Weak vs Vehicles + Selectable: + Voice: ShokVoice + Bounds: 12,17,0,-9 + Health: + HP: 80 + Mobile: + Speed: 3 + RevealsShroud: + Range: 4 + AttackFrontal: + PrimaryWeapon: PortaTesla + PrimaryOffset: 0,-10,0,-8 + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + -CrushableInfantry: \ No newline at end of file diff --git a/mods/ra-classic/rules/ships.yaml b/mods/ra-classic/rules/ships.yaml new file mode 100644 index 0000000000..124aab938b --- /dev/null +++ b/mods/ra-classic/rules/ships.yaml @@ -0,0 +1,239 @@ +SS: + Inherits: ^Ship + Buildable: + Queue: Ship + BuildPaletteOrder: 50 + Prerequisites: spen + BuiltAt: spen + Owner: soviet + Valued: + Cost: 950 + Tooltip: + Name: Submarine + Description: Submerged anti-ship unit armed with \ntorpedoes.\n Strong vs Ships\n Weak vs Everything\n Special Ability: Submerge + Health: + HP: 120 + Armor: + Type: Light + Mobile: + ROT: 7 + Speed: 6 + RevealsShroud: + Range: 6 + -TargetableUnit: + TargetableSubmarine: + TargetTypes: Ground, Water + CloakedTargetTypes: Underwater + RenderUnit: + Cloak: + InitialDelay: 0 + CloakDelay: 50 + CloakSound: subshow1.aud + UncloakSound: subshow1.aud + AttackFrontal: + PrimaryWeapon: TorpTube + PrimaryLocalOffset: -4,0,0,0,0, 4,0,0,0,0 + FireDelay: 2 + Selectable: + Bounds: 38,38 + Chronoshiftable: + IronCurtainable: + RepairableNear: + -DetectCloaked: + AutoTarget: + InitialStance: HoldFire + AttackMove: + +MSUB: + Inherits: ^Ship + Buildable: + Queue: Ship + BuildPaletteOrder: 60 + Prerequisites: spen,stek + BuiltAt: spen + Owner: soviet + Valued: + Cost: 1650 + Tooltip: + Name: Missile Submarine + Description: Submerged anti-ground unit armed with \nlong-range ballistic missiles.\n Strong vs Buildings\n Weak vs Everything\n Special Ability: Submerge + Health: + HP: 150 + Armor: + Type: Light + Mobile: + ROT: 7 + Speed: 5 + RevealsShroud: + Range: 6 + RenderUnit: + -TargetableUnit: + TargetableSubmarine: + TargetTypes: Ground, Water + CloakedTargetTypes: Underwater + Cloak: + InitialDelay: 0 + CloakDelay: 100 + CloakSound: subshow1.aud + UncloakSound: subshow1.aud + AttackFrontal: + PrimaryWeapon: SubMissile + FireDelay: 2 + Selectable: + Bounds: 44,44 + Chronoshiftable: + IronCurtainable: + RepairableNear: + -DetectCloaked: + AutoTarget: + InitialStance: HoldFire + AttackMove: + +DD: + Inherits: ^Ship + Buildable: + Queue: Ship + BuildPaletteOrder: 70 + Prerequisites: syrd + BuiltAt: syrd + Owner: allies + Valued: + Cost: 1000 + Tooltip: + Name: Destroyer + Description: Fast multi-role ship. \n Strong vs Submarines, Aircraft\n Weak vs Infantry, Tanks + Health: + HP: 400 + Armor: + Type: Heavy + Mobile: + ROT: 7 + Speed: 6 + RevealsShroud: + Range: 6 + Turreted: + ROT: 7 + AttackTurreted: + PrimaryWeapon: Stinger + SecondaryWeapon: DepthCharge + PrimaryOffset: 0,-8,0,-3 + PrimaryLocalOffset: -4,0,0,0,-20, 4,0,0,0,20 + Selectable: + Bounds: 38,38 + RenderUnitTurreted: + AutoTarget: + Chronoshiftable: + IronCurtainable: + RepairableNear: + DetectCloaked: + Range: 4 + RenderDetectionCircle: + +CA: + Inherits: ^Ship + Buildable: + Queue: Ship + BuildPaletteOrder: 100 + Prerequisites: syrd,atek + BuiltAt: syrd + Owner: allies + Valued: + Cost: 2000 + Tooltip: + Name: Cruiser + Description: Very slow long-range ship. \n Strong vs Buildings\n Weak vs Ships, Submarines + Health: + HP: 700 + Armor: + Type: Heavy + Mobile: + ROT: 5 + Speed: 4 + RevealsShroud: + Range: 7 + Turreted: + ROT: 3 + AttackTurreted: + PrimaryWeapon: 8Inch + SecondaryWeapon: 8Inch + PrimaryOffset: 0,17,0,-2 + SecondaryOffset: 0,-17,0,-2 + PrimaryLocalOffset: -4,-5,0,0,0, 4,-5,0,0,0 + SecondaryLocalOffset: -4,-5,0,0,0, 4,-5,0,0,0 + PrimaryRecoil: 4 + SecondaryRecoil: 4 + PrimaryRecoilRecovery: 0.8 + SecondaryRecoilRecovery: 0.8 + Selectable: + Bounds: 44,44 + RenderUnitTurreted: + AutoTarget: + Chronoshiftable: + IronCurtainable: + RepairableNear: + +LST: + Inherits: ^Ship + Buildable: + Queue: Ship + BuildPaletteOrder: 30 + Owner: allies,soviet + Valued: + Cost: 700 + Tooltip: + Name: Transport + Description: General-purpose naval transport.\nCan carry infantry and tanks.\n Unarmed + Health: + HP: 350 + Armor: + Type: Heavy + Mobile: + ROT: 10 + Speed: 14 + RevealsShroud: + Range: 6 + RenderUnit: + Cargo: + Types: Infantry, Vehicle + MaxWeight: 5 + PipCount: 5 + IronCurtainable: + RepairableNear: + AttackMove: + JustMove: true + +PT: + Inherits: ^Ship + Buildable: + Queue: Ship + BuildPaletteOrder: 50 + Prerequisites: syrd + BuiltAt: syrd + Owner: allies + Valued: + Cost: 500 + Tooltip: + Name: Gunboat + Description: Light scout & support ship. \n Strong vs Ships, Submarines\n Weak vs Aircraft + Health: + HP: 200 + Armor: + Type: Heavy + Mobile: + ROT: 7 + Speed: 9 + RevealsShroud: + Range: 7 + Turreted: + ROT: 7 + AttackTurreted: + PrimaryWeapon: 2Inch + SecondaryWeapon: DepthCharge + PrimaryOffset: 0,-6,0,-1 + Selectable: + Bounds: 32,32 + RenderUnitTurreted: + AutoTarget: + Chronoshiftable: + IronCurtainable: + RepairableNear: diff --git a/mods/ra-classic/rules/structures.yaml b/mods/ra-classic/rules/structures.yaml new file mode 100644 index 0000000000..3ecac80e44 --- /dev/null +++ b/mods/ra-classic/rules/structures.yaml @@ -0,0 +1,1243 @@ +KENN: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 30 + Prerequisites: barr + Owner: soviet + Valued: + Cost: 200 + Tooltip: + Name: Dog Kennel + Description: Dog kennel + Building: + Power: -10 + Dimensions: 1,1 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Bib: +# RallyPoint: +# Exit@1: +# SpawnOffset: -4,19 +# ExitCell: 0,2 +# Exit@2: +# SpawnOffset: -17,15 +# ExitCell: 0,2 +# Production: +# Produces: Infantry +# PrimaryBuilding: + IronCurtainable: +# ProductionBar: + +MSLO: + Inherits: ^Building + Valued: + Cost: 2500 + Tooltip: + Name: Missile Silo + Description: Launches a devastating nuclear strike.\n Strong vs Infantry, Buildings\n Weak vs Tanks\n Special Ability: Nuclear Missile + Icon: msloicon2 + Buildable: + Queue: Defense + BuildPaletteOrder: 130 + Prerequisites: techcenter + Owner: soviet,allies + Building: + Power: -100 + Footprint: xx + Dimensions: 2,1 + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + IronCurtainable: + NukePower: + Image: atomicon + ChargeTime: 540 + Description: Atom Bomb + LongDesc: Launches a nuclear missile at a target location. + BeginChargeSound: aprep1.aud + EndChargeSound: aready1.aud + SelectTargetSound: slcttgt1.aud + LaunchSound: alaunch1.aud + MissileWeapon: atomic + SpawnOffset: 10,0 + CanPowerDown: + RequiresPower: + SupportPowerChargeBar: + +GAP: + Inherits: ^Building + RequiresPower: + CanPowerDown: + Valued: + Cost: 500 + Tooltip: + Name: Gap Generator + Description: Regenerates the shroud nearby, \nobscuring the area.\n Unarmed + Buildable: + Queue: Defense + BuildPaletteOrder: 100 + Prerequisites: atek + Owner: allies + Building: + Power: -90 + Footprint: _ x + Dimensions: 1,2 + Health: + HP: 700 + Armor: + Type: Wood + RevealsShroud: + Range: 10 + CreatesShroud: + Range: 10 + IronCurtainable: + RenderShroudCircle: + +SPEN: + Inherits: ^Building + InfiltrateForSupportPower: + Proxy: powerproxy.sonarpulse + Valued: + Cost: 650 + Tooltip: + Name: Sub Pen + Description: Produces and repairs submarines and \ntransports + Buildable: + Queue: Building + BuildPaletteOrder: 30 + Prerequisites: anypower + Owner: soviet + Hotkey: y + TargetableBuilding: + TargetTypes: Ground, Water + Building: + Power: -30 + Footprint: xxx xxx xxx + Dimensions: 3,3 + Adjacent: 8 + TerrainTypes: Water + -GivesBuildableArea: + Health: + HP: 1000 + Armor: + Type: Light + RevealsShroud: + Range: 4 + Exit@1: + SpawnOffset: 0,-5 + Facing: 96 + ExitCell: -1,2 + Exit@2: + SpawnOffset: 0,-5 + Facing: 160 + ExitCell: 3,2 + Exit@3: + SpawnOffset: 0,0 + Facing: 32 + ExitCell: 0,0 + Exit@4: + SpawnOffset: 0,0 + Facing: 224 + ExitCell: 2,0 + Production: + Produces: Ship + PrimaryBuilding: + IronCurtainable: + -EmitInfantryOnSell: + RepairsUnits: + RallyPoint: + ProductionBar: + +SYRD: + Inherits: ^Building + InfiltrateForSupportPower: + Proxy: powerproxy.sonarpulse + Buildable: + Queue: Building + BuildPaletteOrder: 40 + Prerequisites: anypower + Owner: allies + Hotkey: y + Valued: + Cost: 650 + Tooltip: + Name: Shipyard + Description: Produces and repairs ships + TargetableBuilding: + TargetTypes: Ground, Water + Building: + Power: -30 + Footprint: xxx xxx xxx + Dimensions: 3,3 + Adjacent: 8 + TerrainTypes: Water + -GivesBuildableArea: + Health: + HP: 1000 + Armor: + Type: Light + RevealsShroud: + Range: 4 + Exit@1: + SpawnOffset: -24,24 + Facing: 160 + ExitCell: 0,2 + Exit@2: + SpawnOffset: 24,24 + Facing: 224 + ExitCell: 2,2 + Exit@3: + SpawnOffset: -24,-24 + Facing: 96 + ExitCell: 0,0 + Exit@4: + SpawnOffset: 24,-24 + Facing: 32 + ExitCell: 2,0 + Production: + Produces: Ship + PrimaryBuilding: + IronCurtainable: + -EmitInfantryOnSell: + RepairsUnits: + RallyPoint: + ProductionBar: + +IRON: + CanPowerDown: + Inherits: ^Building + RequiresPower: + Buildable: + Queue: Defense + BuildPaletteOrder: 120 + Prerequisites: stek + Owner: soviet + Hotkey: c + Valued: + Cost: 2800 + Tooltip: + Name: Iron Curtain + Description: Makes a group of units invulnerable for a \nshort time.\n Special Ability: Invulnerability + Building: + Power: -200 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 10 + Bib: + IronCurtainable: + IronCurtainPower: + Image: infxicon + ChargeTime: 120 + Description: Invulnerability + LongDesc: Makes a group of units invulnerable\nfor 10 seconds. + Duration: 10 + SelectTargetSound: slcttgt1.aud + BeginChargeSound: ironchg1.aud + EndChargeSound: ironrdy1.aud + SupportPowerChargeBar: + +PDOX: + Inherits: ^Building + RequiresPower: + CanPowerDown: + Buildable: + Queue: Defense + BuildPaletteOrder: 120 + Prerequisites: atek + Owner: allies + Hotkey: o + Valued: + Cost: 2800 + Tooltip: + Name: Chronosphere + Description: Teleports a unit from one place \nto another, for a limited time.\n Special Ability: Chronoshift + Building: + Power: -200 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 10 + Bib: + IronCurtainable: + ChronoshiftPower: + Image: warpicon + ChargeTime: 120 + Description: Chronoshift + LongDesc: Teleport a group of vehicles across\nthe map for 30 seconds. + SelectTargetSound: slcttgt1.aud + BeginChargeSound: chrochr1.aud + EndChargeSound: chrordy1.aud + Duration: 30 + KillCargo: yes + SupportPowerChargeBar: + +TSLA: + Inherits: ^Building + RequiresPower: + CanPowerDown: + Buildable: + Queue: Defense + BuildPaletteOrder: 70 + Prerequisites: weap + Owner: soviet + Hotkey: u + Valued: + Cost: 1500 + Tooltip: + Name: Tesla Coil + Description: Advanced base defense. Requires power\nto operate.\n Strong vs Tanks, Infantry\n Weak vs Aircraft + Building: + Power: -150 + Footprint: _ x + Dimensions: 1,2 + -GivesBuildableArea: + Health: + HP: 600 + Armor: + Type: Heavy + RevealsShroud: + Range: 8 + RenderBuildingCharge: + AttackTesla: + PrimaryWeapon: TeslaZap + ReloadTime: 120 + PrimaryOffset: 0,0,0,-10 + AutoTarget: + IronCurtainable: + -RenderBuilding: + RenderRangeCircle: + +AGUN: + Inherits: ^Building + RequiresPower: + CanPowerDown: + Buildable: + Queue: Defense + BuildPaletteOrder: 50 + Prerequisites: dome + Owner: allies + Hotkey: g + Valued: + Cost: 600 + Tooltip: + Name: AA Gun + Description: Anti-Air base defense.\n Strong vs Aircraft\n Weak vs Infantry, Tanks + Building: + Power: -50 + Footprint: _ x + Dimensions: 1,2 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 + Turreted: + ROT: 15 + InitialFacing: 224 + RenderBuildingTurreted: + AttackTurreted: + PrimaryWeapon: ZSU-23 + SecondaryWeapon: ZSU-23 + AutoTarget: + IronCurtainable: + -RenderBuilding: + RenderRangeCircle: + RangeCircleType: aa + +DOME: + RequiresPower: + CanPowerDown: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 60 + Prerequisites: proc + Owner: allies,soviet + Hotkey: r + Valued: + Cost: 1000 + Tooltip: + Name: Radar Dome + Description: Provides an overview of the battlefield.\n Requires power to operate. + Building: + Power: -40 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 1000 + Armor: + Type: Wood + RevealsShroud: + Range: 10 + Bib: + ProvidesRadar: + IronCurtainable: + InfiltrateForExploration: + +PBOX: + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 20 + Prerequisites: tent + Owner: allies + Hotkey: p + Tooltip: + Name: Pillbox + Description: Basic defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft + Icon: PBOXICON + Building: + Power: -15 + -GivesBuildableArea: + Valued: + Cost: 400 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + IronCurtainable: + RenderRangeCircle: + AutoTarget: + AttackTurreted: + PrimaryWeapon: Vulcan + PrimaryLocalOffset: 0,-11,0,0,0 + WithMuzzleFlash: + Turreted: + ROT: 255 + +HBOX: + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 20 + Prerequisites: tent + Owner: allies +# Hotkey: p + Tooltip: + Name: Camo Pillbox + Description: Hidden defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft + Icon: HBOXICON + Building: + Power: -15 + -GivesBuildableArea: + Valued: + Cost: 600 + Health: + HP: 600 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + IronCurtainable: + RenderRangeCircle: + AutoTarget: + AttackTurreted: + PrimaryWeapon: Vulcan + PrimaryLocalOffset: 0,-11,0,0,0 + WithMuzzleFlash: + Turreted: + ROT: 255 + +GUN: + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 40 + Prerequisites: tent + Owner: allies + Hotkey: t + Valued: + Cost: 800 + Tooltip: + Name: Turret + Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft + Building: + Power: -55 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 + Turreted: + ROT: 12 + InitialFacing: 50 + RenderBuildingTurreted: + AttackTurreted: + PrimaryWeapon: TurretGun + AutoTarget: + IronCurtainable: + -RenderBuilding: + RenderRangeCircle: + +FTUR: + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 20 + Prerequisites: barr + Owner: soviet + Hotkey: t + Valued: + Cost: 600 + Tooltip: + Name: Flame Tower + Description: Anti-Infantry base defense.\n Strong vs Infantry\n Weak vs Aircraft + Building: + Power: -20 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 + Turreted: + ROT: 255 + AttackTurreted: + PrimaryWeapon: FireballLauncher + PrimaryOffset: 0,0,0,-2 + PrimaryLocalOffset: 0,-12,0,0,0 + AutoTarget: + IronCurtainable: + RenderRangeCircle: + +SAM: + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 90 + Prerequisites: dome + Owner: soviet + Hotkey: y + Valued: + Cost: 750 + Tooltip: + Name: SAM Site + Description: Anti-Air base defense.\n Strong vs Aircraft\n Weak vs Infantry, Tanks + Building: + Power: -20 + Footprint: xx + Dimensions: 2,1 + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + Turreted: + ROT: 30 + InitialFacing: 0 + RenderBuildingTurreted: + AttackTurreted: + PrimaryWeapon: Nike + WithMuzzleFlash: + AutoTarget: + IronCurtainable: + -RenderBuilding: + RenderRangeCircle: + RangeCircleType: aa + RequiresPower: + CanPowerDown: + +ATEK: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 100 + Prerequisites: weap,dome + Owner: allies + Hotkey: t + Valued: + Cost: 1500 + Tooltip: + Name: Allied Tech Center + Description: Provides Allied advanced technologies.\n Special Ability: GPS Satellite + ProvidesCustomPrerequisite: + Prerequisite: techcenter + Building: + Power: -200 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 10 + Bib: + IronCurtainable: + GpsPower: + Image: gpssicon + OneShot: yes + ChargeTime: 480 + Description: GPS Satellite + LongDesc: Reveals the entire map + RevealDelay: 15 + LaunchSound: satlnch1.aud + SupportPowerChargeBar: + +WEAP: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 50 + Prerequisites: proc + Owner: soviet,allies + Hotkey: w + Valued: + Cost: 2000 + Tooltip: + Name: War Factory + Description: Produces tanks & light vehicles. + Building: + Power: -30 + Footprint: xxx xxx + Dimensions: 3,2 + Health: + HP: 1000 + Armor: + Type: Light + RevealsShroud: + Range: 4 + Bib: + -RenderBuilding: + RenderBuildingWarFactory: + RallyPoint: + Exit@1: + SpawnOffset: 5,0 + ExitCell: 1,1 + Production: + Produces: Vehicle + PrimaryBuilding: + IronCurtainable: + ProductionBar: + +FACT: + Inherits: ^Building + Building: + Power: 0 + Footprint: xxx xxx xxx + Dimensions: 3,3 + Health: + HP: 1000 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + Bib: + Production: + Produces: Building,Defense + IronCurtainable: + Valued: + Cost: 2500 + Tooltip: + Name: Construction Yard + CustomSellValue: + Value: 2500 + BaseBuilding: + ProductionBar: + +PROC: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 10 + Prerequisites: anypower + Owner: allies,soviet + Hotkey: e + Valued: + Cost: 2000 + Tooltip: + Name: Ore Refinery + Description: Converts Ore and Gems into money + Building: + Power: -30 + Footprint: _x_ xxx x== + Dimensions: 3,3 + Health: + HP: 900 + Armor: + Type: Wood + RevealsShroud: + Range: 6 + Bib: + OreRefinery: + StoresOre: + PipCount: 17 + Capacity: 2000 + IronCurtainable: + CustomSellValue: + Value: 600 + FreeActor: + Actor: HARV + InitialActivity: FindResources + SpawnOffset: 1,2 + Facing: 64 + InfiltrateForCash: + Percentage: 50 + Minimum: 500 + SoundToVictim: credit1.aud + +SILO: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 40 + Prerequisites: proc + Owner: allies,soviet + Hotkey: o + Valued: + Cost: 150 + Tooltip: + Name: Silo + Description: Stores excess harvested Ore + Building: + Power: -10 + -GivesBuildableArea: + Health: + HP: 300 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + RenderBuildingSilo: + StoresOre: + PipCount: 5 + Capacity: 1500 + IronCurtainable: + -RenderBuilding: + -EmitInfantryOnSell: + +HPAD: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 90 + Prerequisites: dome + Owner: allies,soviet + Hotkey: i + Valued: + Cost: 1500 + Tooltip: + Name: Helipad + Description: Produces and reloads helicopters + Building: + Power: -10 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + Bib: + Exit@1: + SpawnOffset: 0,-6 + ExitCell: 0,0 + Production: + Produces: Plane + BelowUnits: + Reservable: + IronCurtainable: + ProductionBar: + +AFLD: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 50 + Prerequisites: dome + Owner: soviet + Hotkey: g + Valued: + Cost: 600 + Tooltip: + Name: Airfield + Description: Provides radar and off-map support\n Special Ability: Paratroopers\n Special Ability: Spy Plane + Building: + Power: -30 + Footprint: xxx xxx + Dimensions: 3,2 + Health: + HP: 1000 + Armor: + Type: Heavy + RevealsShroud: + Range: 7 + Exit@1: + SpawnOffset: 0,4 + ExitCell: 1,1 + Facing:192 + Production: + Produces: Plane + BelowUnits: + Reservable: + IronCurtainable: + SpyPlanePower: + Image: smigicon + ChargeTime: 180 + Description: Spy Plane + LongDesc: Reveals an area of the map. + SelectTargetSound: slcttgt1.aud + EndChargeSound: spypln1.aud + ParatroopersPower: + Image: pinficon + ChargeTime: 360 + Description: Paratroopers + LongDesc: A Badger drops a squad of Riflemen \nanywhere on the map + Prerequisites: AFLD + DropItems: E1,E1,E1,E3,E3 + SelectTargetSound: slcttgt1.aud + ProductionBar: + SupportPowerChargeBar: + +POWR: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 0 + Owner: allies,soviet + Hotkey: p + Valued: + Cost: 300 + Tooltip: + Name: Power Plant + Description: Provides power for other structures + ProvidesCustomPrerequisite: + Prerequisite: anypower + Building: + Power: 100 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Bib: + IronCurtainable: + +APWR: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 20 + Prerequisites: powr + Owner: allies,soviet + Hotkey: l + Valued: + Cost: 500 + Tooltip: + Name: Advanced Power Plant + Description: Provides more power, cheaper than the \nstandard Power Plant + ProvidesCustomPrerequisite: + Prerequisite: anypower + Building: + Power: 200 + Footprint: ___ xxx xxx + Dimensions: 3,3 + Health: + HP: 700 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Bib: + IronCurtainable: + +STEK: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 60 + Prerequisites: weap,dome + Owner: soviet + Hotkey: t + Valued: + Cost: 1500 + Tooltip: + Name: Soviet Tech Center + Description: Provides Soviet advanced technologies + ProvidesCustomPrerequisite: + Prerequisite: techcenter + Building: + Power: -100 + Footprint: xxx xxx + Dimensions: 3,2 + Health: + HP: 600 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Bib: + IronCurtainable: + +BARR: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 30 + Prerequisites: anypower + Owner: soviet + Hotkey: b + Valued: + Cost: 300 + Tooltip: + Name: Soviet Barracks + Description: Produces infantry + Building: + Power: -20 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + Bib: + RallyPoint: + Exit@1: + SpawnOffset: -4,19 + ExitCell: 0,2 + Exit@2: + SpawnOffset: -17,15 + ExitCell: 0,2 + Production: + Produces: Infantry + PrimaryBuilding: + IronCurtainable: + ProductionBar: + +TENT: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 30 + Prerequisites: anypower + Owner: allies + Hotkey: b + Valued: + Cost: 300 + Tooltip: + Name: Allied Barracks + Description: Produces infantry + Building: + Power: -20 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + Bib: + RallyPoint: + Exit@1: + SpawnOffset: -1,19 + ExitCell: 0,2 + Exit@2: + SpawnOffset: -17,15 + ExitCell: 0,2 + Production: + Produces: Infantry + PrimaryBuilding: + IronCurtainable: + ProductionBar: + +FIX: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 30 + Prerequisites: weap + Owner: allies,soviet + Hotkey: d + Valued: + Cost: 1200 + Tooltip: + Name: Service Depot + Description: Repairs vehicles, reloads minelayers, and \nallows the construction of additional bases. + Building: + Power: -30 + Footprint: _x_ xxx _x_ + Dimensions: 3,3 + Health: + HP: 800 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + BelowUnits: + Reservable: + RallyPoint: + IronCurtainable: + RepairsUnits: + Interval: 10 + +FACF: + Inherits: ^Building + Buildable: + BuildPaletteOrder: 900 + Owner: allies + Cost: 50 + Tooltip: + Name: Fake Construction Yard + Description: Fake Construction Yard + LongDesc: Looks like a Construction Yard. + Building: + Power: -2 + Footprint: xxx xxx xxx + Dimensions: 3,3 + -GivesBuildableArea: + Health: + HP: 30 + RevealsShroud: + Range: 4 + Bib: + RenderBuilding: + Image: FACT + Fake: + IronCurtainable: + -EmitInfantryOnSell: + +WEAF: + Inherits: ^Building + Buildable: + BuildPaletteOrder: 900 + Prerequisites: proc + Owner: allies + Cost: 50 + Tooltip: + Name: Fake War Factory + Description: Fake War Factory + LongDesc: Looks like a War Factory. + Building: + Power: -2 + Footprint: xxx xxx + Dimensions: 3,2 + -GivesBuildableArea: + Health: + HP: 30 + RevealsShroud: + Range: 4 + Bib: + -RenderBuilding: + RenderBuildingWarFactory: + Image: WEAP + Fake: + IronCurtainable: + -EmitInfantryOnSell: + +SYRF: + Inherits: ^Building + Valued: + Cost: 50 + Tooltip: + Name: Fake Shipyard + Description: Fake Shipyard + LongDesc: Looks like a Shipyard + Buildable: + BuildPaletteOrder: 900 + Prerequisites: anypower + Owner: allies + Cost: 50 + TargetableBuilding: + TargetTypes: Ground, Water + Building: + Power: -2 + Footprint: xxx xxx xxx + Dimensions: 3,3 + Adjacent: 8 + TerrainTypes: Water + -GivesBuildableArea: + Health: + HP: 30 + RevealsShroud: + Range: 4 + RenderBuilding: + Image: SYRD + Fake: + -EmitInfantryOnSell: + +SPEF: + Inherits: ^Building + TargetableBuilding: + TargetTypes: Ground, Water + Building: + Power: -2 + Footprint: xxx xxx xxx + Dimensions: 3,3 + Adjacent: 8 + TerrainTypes: Water + -GivesBuildableArea: + Health: + HP: 30 + RevealsShroud: + Range: 4 + RenderBuilding: + Image: SPEN + Fake: + -EmitInfantryOnSell: + +DOMF: + Inherits: ^Building + Valued: + Cost: 50 + Tooltip: + Name: Fake Radar Dome + Description: Fake Radar Dome + LongDesc: Looks like a Radar Dome + Buildable: + BuildPaletteOrder: 900 + Prerequisites: proc + Owner: allies + Cost: 50 + Building: + Power: -2 + Footprint: xx xx + Dimensions: 2,2 + -GivesBuildableArea: + Health: + HP: 30 + RevealsShroud: + Range: 4 + Bib: + RenderBuilding: + Image: DOME + Fake: + -EmitInfantryOnSell: + +SBAG: + Inherits: ^Wall + Buildable: + Queue: Defense + BuildPaletteOrder: 1000 + Prerequisites: fact + Owner: allies + Hotkey: b + Valued: + Cost: 25 + CustomSellValue: + Value: 0 + Tooltip: + Name: Sandbag Wall + Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. + Health: + HP: 1 + Armor: + Type: Wood + +FENC: + Inherits: ^Wall + Buildable: + Queue: Defense + BuildPaletteOrder: 1000 + Prerequisites: fact + Owner: soviet + Hotkey: n + Valued: + Cost: 25 + CustomSellValue: + Value: 0 + Tooltip: + Name: Wire Fence + Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. + Health: + HP: 1 + Armor: + Type: Wood + +BRIK: + Inherits: ^Wall + Buildable: + Queue: Defense + BuildPaletteOrder: 1000 + Prerequisites: fact + Owner: allies,soviet + Hotkey: w + Valued: + Cost: 50 + CustomSellValue: + Value: 0 + Tooltip: + Name: Concrete Wall + Description: Stop units and blocks enemy fire. + SoundOnDamageTransition: + DamagedSound: crmble2.aud + DestroyedSound: kaboom30.aud + Health: + HP: 1 + Armor: + Type: Concrete + Wall: + CrushClasses: heavywall + +CYCL: + Inherits: ^Wall + Health: + HP: 1 + Armor: + Type: None + +BARB: + Inherits: ^Wall + Health: + HP: 1 + Armor: + Type: Wood + +WOOD: + Inherits: ^Wall + Health: + HP: 1 + Armor: + Type: Wood + +# custom prerequisites: +BARRACKS: + Tooltip: + Name: Infantry Production + Description: Infantry Production + +VEHICLEPRODUCTION: + Tooltip: + Name: Vehicle Production + Description: Vehicle Production + +TECHCENTER: + Tooltip: + Name: Tech Center + Description: Tech Center +ANYPOWER: + Tooltip: + Name: Power Plant + Description: Power Plant \ No newline at end of file diff --git a/mods/ra-classic/rules/system.yaml b/mods/ra-classic/rules/system.yaml new file mode 100644 index 0000000000..8e1ebc19e6 --- /dev/null +++ b/mods/ra-classic/rules/system.yaml @@ -0,0 +1,379 @@ +Player: + TechTree: + ClassicProductionQueue@Building: + Type: Building + BuildSpeed: .4 + LowPowerSlowdown: 3 + QueuedAudio: Building + ReadyAudio: ConstructionComplete + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Defense: + Type: Defense + BuildSpeed: .4 + LowPowerSlowdown: 3 + QueuedAudio: Building + ReadyAudio: ConstructionComplete + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Vehicle: + Type: Vehicle + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Infantry: + Type: Infantry + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Ship: + Type: Ship + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + ClassicProductionQueue@Plane: + Type: Plane + BuildSpeed: .4 + LowPowerSlowdown: 3 + SpeedUp: 0.25 + MaxSpeedUp: 0.75 + PlaceBuilding: + SupportPowerManager: + ConquestVictoryConditions: + PowerManager: + AllyRepair: + PlayerResources: + InitialCash: 10000 + ActorGroupProxy: + DeveloperMode: + HackyAI@EasyAI: + Name:Easy AI + BuildingFractions: + proc: 30% + powr: 35% + barr: 1% + tent: 1% + weap: 1% + pbox.e1: 7% + gun: 7% + tsla: 5% + ftur: 10% + agun: 5% + sam: 5% + atek: 1% + stek: 1% + fix: 0.1% + dome: 10% + UnitsToBuild: + e1: 50% + e3: 10% + apc: 30% + jeep: 40% + arty: 15% + v2rl: 40% + ftrk: 50% + 1tnk: 70% + 2tnk: 25% + 3tnk: 50% + SquadSize: 20 + HackyAI@HardAI: + Name:Hard AI + BuildingFractions: + proc: 30% + powr: 35% + tent: 1% + barr: 1% + weap: 1% + pbox.e1: 7% + gun: 7% + ftur: 10% + tsla: 5% + fix: 0.1% + dome: 10% + agun: 5% + sam: 1% + atek: 1% + stek: 1% + UnitsToBuild: + e1: 50% + e3: 10% + harv: 10% + apc: 30% + jeep: 40% + ftrk: 50% + 1tnk: 70% + 2tnk: 25% + 3tnk: 50% + SquadSize: 10 + PlayerColorPalette: + BasePalette: player + RemapIndex: 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95 + DebugResourceCash: + DebugResourceOre: + DebugResourceOreCapacity: + GpsWatcher: + Shroud: + BaseAttackNotifier: + PlayerStatistics: + +World: + OpenWidgetAtGameStart: + Widget: INGAME_ROOT + ObserverWidget: OBSERVER_ROOT + ScreenShaker: + WaterPaletteRotation: + ChronoshiftPaletteEffect: + NukePaletteEffect: + LightPaletteRotator: + BuildingInfluence: + ChooseBuildTabOnSelect: + BridgeLayer: + Bridges: bridge1, bridge2, br1, br2, br3 + CrateSpawner: + Minimum: 1 + Maximum: 3 + SpawnInterval: 120 + WaterChance: .2 + PlayerPaletteFromCurrentTileset: + Name: player + ShadowIndex: 4 + PaletteFromCurrentTileset: + Name: terrain + ShadowIndex: 3,4 + PaletteFromFile@chrome: + Name: chrome + Filename: temperat.pal + ShadowIndex: 3 + PaletteFromFile@effect: + Name: effect + Filename: temperat.pal + ShadowIndex: 4 + PaletteFromFile@colorpicker: + Name: colorpicker + Filename: temperat.pal + ShadowIndex: 4 + AllowModifiers: false + PaletteFromRGBA@shadow: + Name: shadow + R: 0 + G: 0 + B: 0 + A: 140 + PaletteFromRGBA@cloak: + Name: cloak + R: 0 + G: 0 + B: 0 + A: 140 + PaletteFromRGBA@highlight: + Name: highlight + R: 255 + G: 255 + B: 255 + A: 128 + PaletteFromRGBA@invuln: + Name: invuln + R: 128 + G: 0 + B: 0 + A: 128 + PaletteFromRGBA@disabled: + Name: disabled + R: 0 + G: 0 + B: 0 + A: 180 + ShroudPalette: + FogPalette: + Country@0: + Name: Allies + Race: allies + Country@1: + Name: Soviet + Race: soviet + BibLayer: + ResourceLayer: + ResourceClaimLayer: + ResourceType@ore: + ResourceType: 1 + Palette: player + SpriteNames: gold01,gold02,gold03,gold04 + ValuePerUnit: 25 + Name: Ore + PipColor: Yellow + AllowedTerrainTypes: Clear,Road + AllowUnderActors: false + ResourceType@gem: + ResourceType: 2 + Palette: player + SpriteNames: gem01,gem02,gem03,gem04 + ValuePerUnit: 50 + Name: Gems + PipColor: Red + AllowedTerrainTypes: Clear,Road + AllowUnderActors: false + SmudgeLayer@SCORCH: + Type:Scorch + SmokePercentage:50 + Types:sc1,sc2,sc3,sc4,sc5,sc6 + Depths:1,1,1,1,1,1 + SmudgeLayer@CRATER: + Type:Crater + Types:cr1,cr2,cr3,cr4,cr5,cr6 + Depths:5,5,5,5,5,5 + SpawnMapActors: + CreateMPPlayers: + MPStartLocations: + SpawnMPUnits: + SpatialBins: + BinSize: 4 + Shroud: + PathFinder: + ValidateOrder: + +MINP: + Mine: + Weapon: APMine + CrushClasses: apmine,atmine + DetonateClasses: apmine + AvoidFriendly: yes + Health: + HP: 1 + RenderSimple: + BelowUnits: + InvisibleToEnemy: + Tooltip: + Name: Anti-Personnel Mine + Icon: jmin + ProximityCaptor: + Types:Mine + +MINV: + Mine: + Weapon: ATMine + CrushClasses: atmine,apmine + DetonateClasses: atmine + AvoidFriendly: yes + Health: + HP: 1 + RenderSimple: + BelowUnits: + InvisibleToEnemy: + Tooltip: + Name: Anti-Tank Mine + Icon: jmin + ProximityCaptor: + Types:Mine + +CRATE: + Tooltip: + Name: Crate + Crate: + Lifetime: 120 + TerrainTypes: Clear, Rough, Road, Water, Ore, Beach + GiveCashCrateAction: + Amount: 2000 + SelectionShares: 50 + UseCashTick: yes + LevelUpCrateAction: + SelectionShares: 40 + ExplodeCrateAction@fire: + Weapon: CrateNapalm + SelectionShares: 5 + ExplodeCrateAction@boom: + Weapon: CrateExplosion + SelectionShares: 5 + HideMapCrateAction: + SelectionShares: 5 + Effect: hide-map + RevealMapCrateAction: + SelectionShares: 1 + Effect: reveal-map + SupportPowerCrateAction@parabombs: + SelectionShares: 5 + Proxy: powerproxy.parabombs + GiveMcvCrateAction: + SelectionShares: 2 + NoBaseSelectionShares: 9001 + Unit: mcv + GiveUnitCrateAction@jeep: + SelectionShares: 7 + Unit: jeep + GiveUnitCrateAction@arty: + SelectionShares: 6 + Unit: arty + GiveUnitCrateAction@v2rl: + SelectionShares: 6 + Unit: v2rl + GiveUnitCrateAction@1tnk: + SelectionShares: 5 + Unit: 1tnk + GiveUnitCrateAction@2tnk: + SelectionShares: 4 + Unit: 2tnk + GiveUnitCrateAction@3tnk: + SelectionShares: 4 + Unit: 3tnk + GiveUnitCrateAction@4tnk: + SelectionShares: 3 + Unit: 4tnk + RenderSimple: + BelowUnits: + ProximityCaptor: + Types:Crate + Passenger: + +CAMERA: + Aircraft: + Health: + HP:1000 + RevealsShroud: + Range: 10 + ProximityCaptor: + Types:Camera + +FLARE: + Aircraft: + Health: + HP:1000 + RevealsShroud: + Range: 3 + RenderFlare: + Image: smokland + HiddenUnderFog: + Tooltip: + Name: Flare + ProximityCaptor: + Types: Flare + +powerproxy.parabombs: + AirstrikePower: + Image: pbmbicon + Description: Parabombs (Single Use) + LongDesc: A Badger drops a load of parachuted\nbombs on your target. + OneShot: yes + AllowMultiple: yes + UnitType: badr.bomber + SelectTargetSound: slcttgt1.aud + FlareType: flare + +powerproxy.sonarpulse: + SonarPulsePower: + Image: sonricon + Description: Sonar Pulse (Single Use) + LongDesc: Reveals all submarines on the map for a \nshort time. + AllowMultiple: yes + OneShot: yes + EndChargeSound: pulse1.aud + SelectTargetSound: slcttgt1.aud + +mpspawn: + Waypoint: + RenderEditorOnly: + +waypoint: + Waypoint: + RenderEditorOnly: diff --git a/mods/ra-classic/rules/trees.yaml b/mods/ra-classic/rules/trees.yaml new file mode 100644 index 0000000000..710a64c7d0 --- /dev/null +++ b/mods/ra-classic/rules/trees.yaml @@ -0,0 +1,210 @@ +T01: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T02: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T03: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T05: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T06: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T07: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T08: + Inherits: ^Tree + Building: + Footprint: x_ + Dimensions: 2,1 + + +T10: + Inherits: ^Tree + Building: + Footprint: __ xx + Dimensions: 2,2 + + +T11: + Inherits: ^Tree + Building: + Footprint: __ xx + Dimensions: 2,2 + +T12: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T13: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T14: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 + +T15: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 + +T16: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +T17: + Inherits: ^Tree + Building: + Footprint: __ x_ + Dimensions: 2,2 + +TC01: + Inherits: ^Tree + Building: + Footprint: ___ xx_ + Dimensions: 3,2 + +TC02: + Inherits: ^Tree + Building: + Footprint: _x_ xx_ + Dimensions: 3,2 + +TC03: + Inherits: ^Tree + Building: + Footprint: xx_ xx_ + Dimensions: 3,2 + +TC04: + Inherits: ^Tree + Building: + Footprint: ____ xxx_ x___ + Dimensions: 4,3 + +TC05: + Inherits: ^Tree + Building: + Footprint: __x_ xxx_ _xx_ + Dimensions: 4,3 + +MINE: + Inherits: ^Tree + Tooltip: + Name: Ore Mine + SeedsResource: + RadarColorFromTerrain: + Terrain: Ore + BelowUnits: + +BOXES01: + Inherits: ^Tree + Tooltip: + Name: Boxes + + +BOXES02: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES03: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES04: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES05: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES06: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES07: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES08: + Inherits: ^Tree + Tooltip: + Name: Boxes + +BOXES09: + Inherits: ^Tree + Tooltip: + Name: Boxes + +ICE01: + Inherits: ^Tree + Building: + Footprint: xx xx + Dimensions: 2,2 + Tooltip: + Name: Ice Floe + +ICE02: + Inherits: ^Tree + Building: + Footprint: x x + Dimensions: 1,2 + Tooltip: + Name: Ice Floe + +ICE03: + Inherits: ^Tree + Building: + Footprint: xx + Dimensions: 2,1 + Tooltip: + Name: Ice Floe + +ICE04: + Inherits: ^Tree + Tooltip: + Name: Ice Floe + +ICE05: + Inherits: ^Tree + Tooltip: + Name: Ice Floe \ No newline at end of file diff --git a/mods/ra-classic/rules/vehicles.yaml b/mods/ra-classic/rules/vehicles.yaml new file mode 100644 index 0000000000..e90d246c3c --- /dev/null +++ b/mods/ra-classic/rules/vehicles.yaml @@ -0,0 +1,509 @@ +V2RL: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Prerequisites: weap,dome + Owner: soviet + Valued: + Cost: 700 + Tooltip: + Name: V2 Rocket + Description: Long-range rocket artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft + Health: + HP: 150 + Armor: + Type: Light + Mobile: + Speed: 7 + RevealsShroud: + Range: 5 + AttackFrontal: + PrimaryWeapon: SCUD + RenderUnitReload: + AutoTarget: + Explodes: + Weapon: SCUD + EmptyWeapon: SCUD + +1TNK: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Owner: allies + Valued: + Cost: 700 + Tooltip: + Name: Light Tank + Description: Light Tank, good for scouting.\n Strong vs Light Vehicles\n Weak vs Tanks, Aircraft + Health: + HP: 300 + Armor: + Type: Heavy + Mobile: + Speed: 9 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 4 + Turreted: + ROT: 5 + AttackTurreted: + PrimaryWeapon: 25mm + PrimaryRecoil: 2 + PrimaryRecoilRecovery: 0.5 + RenderUnitTurreted: + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + +2TNK: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 60 + Owner: allies + Valued: + Cost: 800 + Tooltip: + Name: Medium Tank + Description: Allied Main Battle Tank.\n Strong vs Tanks, Light Vehicles\n Weak vs Infantry, Aircraft + Health: + HP: 400 + Armor: + Type: Heavy + Mobile: + Speed: 8 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 5 + Turreted: + ROT: 5 + AttackTurreted: + PrimaryWeapon: 90mm + PrimaryRecoil: 3 + PrimaryRecoilRecovery: 0.9 + RenderUnitTurreted: + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + Selectable: + Bounds: 30,30 + +3TNK: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Owner: soviet + Valued: + Cost: 950 + Tooltip: + Name: Heavy Tank + Description: Soviet Main Battle Tank, with dual cannons\n Strong vs Tanks, Light Vehicles\n Weak vs Infantry, Aircraft + Health: + HP: 400 + Armor: + Type: Heavy + Mobile: + Speed: 7 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 5 + Turreted: + ROT: 5 + AttackTurreted: + PrimaryWeapon: 105mm + PrimaryRecoil: 3 + PrimaryRecoilRecovery: 0.9 + PrimaryLocalOffset: 2,0,0,0,0, -2,0,0,0,0 + RenderUnitTurreted: + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + Selectable: + Bounds: 30,30 + +4TNK: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 100 + Prerequisites: weap,stek + Owner: soviet + Valued: + Cost: 1700 + Tooltip: + Name: Mammoth Tank + Description: Big and slow tank, with anti-air capability.\n Strong vs Tanks, Aircraft\n Weak vs Infantry + Health: + HP: 600 + Armor: + Type: Heavy + Mobile: + Speed: 4 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 6 + Turreted: + ROT: 2 + AttackTurreted: + PrimaryWeapon: 120mm + SecondaryWeapon: MammothTusk + PrimaryLocalOffset: -4,-5,0,0,0, 4,-5,0,0,0 + SecondaryLocalOffset: -7,2,0,0,25, 7,2,0,0,-25 + PrimaryRecoil: 4 + PrimaryRecoilRecovery: 0.7 + RenderUnitTurreted: + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + SelfHealing: + Step: 1 + Ticks: 1 + HealIfBelow: 50% + DamageCooldown: 200 + Selectable: + Bounds: 44,38,0,-4 + +ARTY: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 80 + Owner: allies + Valued: + Cost: 600 + Tooltip: + Name: Artillery + Description: Long-range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft + Health: + HP: 75 + Armor: + Type: Light + Mobile: + ROT: 2 + Speed: 6 + RevealsShroud: + Range: 5 + AttackFrontal: + PrimaryWeapon: 155mm + RenderUnit: + Explodes: + Weapon: UnitExplode + Chance: 75 + AutoTarget: + +HARV: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 10 + Prerequisites: proc + Owner: allies,soviet + Valued: + Cost: 1400 + Tooltip: + Name: Ore Truck + Description: Collects Ore and Gems for processing.\n Unarmed + Selectable: + Priority: 7 + Bounds: 42,42 + Harvester: + Capacity: 20 + Resources: Ore,Gems + UnloadTicksPerBale: 1 + # How far away from our linked proc (refinery) to find resources (in cells): + SearchFromProcRadius: 24 + # How far away from last harvest order location to find more resources (in cells): + SearchFromOrderRadius: 12 + Health: + HP: 600 + Armor: + Type: Heavy + Mobile: + Speed: 6 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 4 + RenderHarvester: + -AttackMove: + GpsDot: + String:Harvester + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + +MCV: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 110 + Prerequisites: fix + Owner: allies,soviet + Valued: + Cost: 2500 + Tooltip: + Name: Mobile Construction Vehicle + Description: Deploys into another Construction Yard.\n Unarmed + Selectable: + Priority: 3 + Bounds: 42,42 + Health: + HP: 600 + Armor: + Type: Light + Mobile: + Speed: 6 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 4 + Transforms: + IntoActor: fact + Offset:-1,-1 + Facing: 96 + TransformSounds: placbldg.aud, build5.aud + NoTransformSounds: nodeply1.aud + RenderUnit: + MustBeDestroyed: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + BaseBuilding: + -AttackMove: + +JEEP: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Owner: allies + Valued: + Cost: 600 + Tooltip: + Name: Ranger + Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry\n Weak vs Tanks, Aircraft + Health: + HP: 150 + Armor: + Type: Light + Mobile: + ROT: 10 + Speed: 10 + RevealsShroud: + Range: 6 + Turreted: + ROT: 10 + AttackTurreted: + PrimaryWeapon: M60mg + PrimaryOffset: 0,0,0,-2 + WithMuzzleFlash: + RenderUnitTurreted: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + AutoTarget: + +APC: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 50 + Owner: allies + Valued: + Cost: 800 + Tooltip: + Name: Armored Personnel Carrier + Description: Tough infantry transport.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft + Health: + HP: 200 + Armor: + Type: Heavy + Mobile: + Speed: 10 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 5 + AttackFrontal: + PrimaryWeapon: M60mg + PrimaryOffset: 0,0,0,-4 + RenderUnit: + WithMuzzleFlash: + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + UnloadFacing: 220 + +MNLY.AP: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Prerequisites: fix + Owner: soviet + Valued: + Cost: 800 + Tooltip: + Name: Minelayer (Anti-Personnel) + Icon: MNLYICON + Description: Lays mines to destroy unwary enemy units.\n Unarmed + Health: + HP: 100 + Armor: + Type: Heavy + Mobile: + Speed: 9 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 5 + RenderUnit: + Image: MNLY + Minelayer: + Mine: MINP + MineImmune: + LimitedAmmo: + Ammo: 5 + AttackMove: + JustMove: true + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + +MNLY.AT: + Inherits: ^Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Prerequisites: fix + Owner: allies + Valued: + Cost: 800 + Tooltip: + Name: Minelayer (Anti-Tank) + Icon: MNLYICON + Description: Lays mines to destroy unwary enemy units.\n Unarmed + Health: + HP: 100 + Armor: + Type: Heavy + Mobile: + Speed: 9 + Crushes: wall, atmine, crate, infantry + ROT: + RevealsShroud: + Range: 5 + RenderUnit: + Image: MNLY + Minelayer: + Mine: MINV + MineImmune: + LimitedAmmo: + Ammo: 3 + AttackMove: + JustMove: true + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + +TTNK: + Inherits: ^Tank + Buildable: + Queue: Vehicle + Prerequisites: tsla + Owner: soviet + Valued: + Cost: 1500 + Tooltip: + Name: Tesla Tank + Description: Tank with mounted tesla coil.\n Strong vs Infantry.\n Weak vs Tanks + Health: + HP: 110 + Armor: + Type: Light + Mobile: + Speed: 8 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 7 + AttackFrontal: + PrimaryWeapon: TTankZap + PrimaryOffset: 0,0,0,-5 + RenderUnitSpinner: + Selectable: + Bounds: 28,28,0,0 + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + +DTRK: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 140 + Prerequisites: stek + Owner: soviet + Valued: + Cost: 2500 + Tooltip: + Name: Demolition Truck + Description: Demolition Truck, actively armed with explosives.\n Strong vs Everything\n Weak vs Everything + Health: + HP: 50 + Armor: + Type: Light + Mobile: + Speed: 6 + RevealsShroud: + Range: 3 + RenderUnit: + AttackMove: + JustMove: yes + Explodes: + Weapon: MiniNuke + EmptyWeapon: MiniNuke + DemoTruck: + -IronCurtainable: + Chronoshiftable: + ExplodeInstead: yes + +CTNK: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 140 + Prerequisites: atek + Owner: allies + Valued: + Cost: 1200 + Tooltip: + Name: Chrono Tank + Description: Chrono Tank, teleports to areas within range.\n Strong vs Vehicles, Buildings\n Weak vs Tanks + Selectable: + Bounds: 28,28 + Health: + HP: 260 + Armor: + Type: Light + Mobile: + Speed: 8 + RevealsShroud: + Range: 6 + RenderUnit: + AutoTarget: + AttackFrontal: + PrimaryWeapon: ChronoTusk + SecondaryWeapon: ChronoTusk + PrimaryLocalOffset: -4,0,0,0,0, -4,0,0,0,0 + SecondaryLocalOffset: 4,0,0,0,25, 4,0,0,0,-25 + ChronoshiftDeploy: + EmptyWeapon: UnitExplodeSmall \ No newline at end of file diff --git a/mods/ra-classic/tilesets/temperat.yaml b/mods/ra-classic/tilesets/temperat.yaml new file mode 100644 index 0000000000..2572a86c08 --- /dev/null +++ b/mods/ra-classic/tilesets/temperat.yaml @@ -0,0 +1,3135 @@ +General: + Name: Temperate + Id: TEMPERAT + Extensions: .tem, .shp + Palette: temperat.pal + EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge + +Terrain: + TerrainType@Clear: + Type: Clear + AcceptsSmudgeType: Crater, Scorch + Color: 40, 68, 40 + TerrainType@Water: + Type: Water + IsWater: true + AcceptsSmudgeType: + Color: 92, 116, 164 + TerrainType@Road: + Type: Road + AcceptsSmudgeType: Crater, Scorch + Color: 88, 116, 116 + TerrainType@Rock: + Type: Rock + AcceptsSmudgeType: + Color: 68, 68, 60 + TerrainType@Tree: + Type: Tree + AcceptsSmudgeType: + Color: 28, 32, 36 + TerrainType@River: + Type: River + AcceptsSmudgeType: + Color: 92, 140, 180 + TerrainType@Rough: + Type: Rough + AcceptsSmudgeType: Crater, Scorch + Color: 68, 68, 60 + TerrainType@Wall: + Type: Wall + AcceptsSmudgeType: Crater, Scorch + Color: 208, 192, 160 + TerrainType@Beach: + Type: Beach + AcceptsSmudgeType: + Color: 176, 156, 120 + TerrainType@Ore: + Type: Ore + AcceptsSmudgeType: Crater, Scorch + Color: 148, 128, 96 + +Templates: + Template@255: + Id: 255 + Image: clear1 + Size: 1,1 + Category: Terrain + Tiles: + 0: Clear + 1: Clear + 2: Clear + 3: Clear + 4: Clear + 5: Clear + 6: Clear + 7: Clear + 8: Clear + 9: Clear + 10: Clear + 11: Clear + 12: Clear + 13: Clear + 14: Clear + 15: Clear + Template@65535: + Id: 65535 + Image: clear1 + Size: 1,1 + Category: Terrain + Tiles: + 0: Clear + 1: Clear + 2: Clear + 3: Clear + 4: Clear + 5: Clear + 6: Clear + 7: Clear + 8: Clear + 9: Clear + 10: Clear + 11: Clear + 12: Clear + 13: Clear + 14: Clear + 15: Clear + Template@1: + Id: 1 + Image: w1 + Size: 1,1 + Category: Terrain + Tiles: + 0: Water + Template@2: + Id: 2 + Image: w2 + Size: 2,2 + Category: Terrain + Tiles: + 0: Water + 1: Water + 2: Water + 3: Water + Template@3: + Id: 3 + Image: sh01 + Size: 4,5 + Category: Beach + Tiles: + 3: Rock + 5: Clear + 6: Clear + 7: Beach + 8: Beach + 9: Water + 10: Water + 11: River + 12: Water + 13: Water + 16: Water + Template@4: + Id: 4 + Image: sh02 + Size: 5,5 + Category: Beach + Tiles: + 4: Clear + 8: Beach + 9: Beach + 10: Beach + 11: Clear + 12: Beach + 13: Beach + 14: Beach + 15: Beach + 16: Rough + 17: Rough + 18: River + 20: Water + 21: Water + 22: Rock + Template@5: + Id: 5 + Image: sh03 + Size: 3,5 + Category: Beach + Tiles: + 2: Clear + 4: Beach + 5: Beach + 6: Beach + 7: Beach + 8: Beach + 9: Water + 10: Water + 12: Water + Template@6: + Id: 6 + Image: sh04 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Water + 7: Water + 8: Water + Template@7: + Id: 7 + Image: sh05 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Rock + 2: Beach + 3: Beach + 4: Rock + 5: Rock + 6: Rock + 7: River + 8: River + Template@8: + Id: 8 + Image: sh06 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Water + 7: Water + 8: Water + Template@9: + Id: 9 + Image: sh07 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Water + 7: Water + 8: Water + Template@10: + Id: 10 + Image: sh08 + Size: 1,2 + Category: Beach + Tiles: + 0: Beach + 1: Beach + Template@11: + Id: 11 + Image: sh09 + Size: 3,3 + Category: Beach + Tiles: + 0: Clear + 1: River + 2: Rock + 3: Clear + 4: River + 5: Beach + 6: Water + 7: Water + 8: Water + Template@12: + Id: 12 + Image: sh10 + Size: 5,6 + Category: Beach + Tiles: + 0: Clear + 5: Beach + 6: Clear + 10: Water + 11: Beach + 12: Beach + 13: Water + 17: Water + 18: Beach + 19: Beach + 22: Rock + 23: Rock + 24: Rock + 28: Water + 29: Water + Template@13: + Id: 13 + Image: sh11 + Size: 4,5 + Category: Beach + Tiles: + 0: Beach + 1: Clear + 4: Beach + 5: Water + 6: Beach + 8: Water + 9: Water + 10: Beach + 11: Beach + 14: Beach + 15: Beach + 18: Water + 19: Beach + Template@14: + Id: 14 + Image: sh12 + Size: 3,5 + Category: Beach + Tiles: + 0: Beach + 1: Clear + 3: Beach + 4: Beach + 5: Beach + 6: Water + 7: Beach + 8: Beach + 10: Water + 11: Beach + 14: Water + Template@15: + Id: 15 + Image: sh13 + Size: 6,5 + Category: Beach + Tiles: + 0: Water + 1: Rock + 2: Beach + 7: Beach + 8: Beach + 9: Beach + 13: Water + 14: Beach + 15: Beach + 16: Clear + 19: Water + 20: Water + 21: Rough + 22: Beach + 23: Clear + 27: Beach + 28: Beach + 29: Beach + Template@16: + Id: 16 + Image: sh14 + Size: 4,4 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Clear + 4: River + 5: Beach + 6: Beach + 8: Rough + 9: Beach + 10: Beach + 13: Water + 14: Beach + 15: Beach + Template@17: + Id: 17 + Image: sh15 + Size: 5,3 + Category: Beach + Tiles: + 0: Water + 1: Water + 2: Beach + 3: Clear + 6: Water + 7: Beach + 8: Beach + 12: Water + 13: Beach + 14: Beach + Template@18: + Id: 18 + Image: sh16 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 1: Beach + 2: Clear + 3: Water + 4: Beach + 5: Clear + 6: Water + 7: Beach + 8: Clear + Template@19: + Id: 19 + Image: sh17 + Size: 2,1 + Category: Beach + Tiles: + 0: Beach + 1: Clear + Template@20: + Id: 20 + Image: sh18 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 1: Water + 2: Rough + 3: Water + 4: River + 5: River + 6: Water + 7: Beach + 8: Rough + Template@21: + Id: 21 + Image: sh19 + Size: 4,5 + Category: Beach + Tiles: + 1: Water + 2: Beach + 3: Clear + 5: Beach + 6: Beach + 7: Clear + 8: Water + 9: Beach + 10: Beach + 12: Water + 13: Beach + 14: Beach + 16: Water + 17: Beach + 18: Clear + Template@22: + Id: 22 + Image: sh20 + Size: 5,4 + Category: Beach + Tiles: + 2: Water + 3: Beach + 4: Beach + 5: Water + 6: Beach + 7: Beach + 8: Beach + 10: Water + 11: Beach + 12: Beach + 15: Water + 16: Beach + 17: Beach + Template@23: + Id: 23 + Image: sh21 + Size: 5,3 + Category: Beach + Tiles: + 1: Water + 2: Beach + 3: Beach + 4: Clear + 5: Water + 6: Beach + 7: Beach + 8: Clear + 10: Water + 11: Beach + 12: Beach + Template@24: + Id: 24 + Image: sh22 + Size: 6,5 + Category: Beach + Tiles: + 0: Water + 6: Water + 7: Water + 12: Beach + 13: Beach + 14: Water + 15: Water + 16: Water + 17: Water + 19: Clear + 20: Beach + 21: Beach + 22: Water + 23: Beach + 27: Beach + 28: Beach + 29: Beach + Template@25: + Id: 25 + Image: sh23 + Size: 5,5 + Category: Beach + Tiles: + 0: Beach + 1: Water + 2: Water + 5: Beach + 6: Beach + 7: Water + 8: Water + 9: Water + 11: Clear + 12: Beach + 13: River + 14: Water + 17: Clear + 18: Beach + 19: Beach + 22: Beach + 23: Beach + 24: Beach + Template@26: + Id: 26 + Image: sh24 + Size: 3,4 + Category: Beach + Tiles: + 0: Beach + 1: Water + 3: Beach + 4: Water + 5: Water + 7: Clear + 8: Beach + 11: Clear + Template@27: + Id: 27 + Image: sh25 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 1: Water + 2: Water + 3: Rock + 4: Rock + 5: Beach + 6: Rock + 7: Rock + 8: Beach + Template@28: + Id: 28 + Image: sh26 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 1: Water + 2: Water + 3: Beach + 4: Beach + 5: Rough + 6: Beach + 7: Beach + 8: Beach + Template@29: + Id: 29 + Image: sh27 + Size: 3,3 + Category: Beach + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Beach + 4: Beach + 5: Beach + 6: Beach + 7: Beach + 8: Rough + Template@30: + Id: 30 + Image: sh28 + Size: 3,3 + Category: Beach + Tiles: + 1: Rock + 2: Rock + 3: Beach + 4: Rock + 5: Rock + 6: Beach + 7: Rough + 8: Rough + Template@31: + Id: 31 + Image: sh29 + Size: 1,2 + Category: Beach + Tiles: + 0: Beach + 1: Clear + Template@32: + Id: 32 + Image: sh30 + Size: 3,2 + Category: Beach + Tiles: + 0: Beach + 1: River + 2: River + 3: Clear + 4: River + 5: Rough + Template@33: + Id: 33 + Image: sh31 + Size: 6,5 + Category: Beach + Tiles: + 3: Water + 4: Water + 5: Beach + 8: Water + 9: Water + 10: Beach + 11: Beach + 12: Water + 13: Water + 14: Beach + 15: Beach + 16: Clear + 18: Beach + 19: Beach + 20: River + 21: Beach + 22: Clear + 24: Clear + 25: Clear + 26: Beach + 27: Beach + 28: Clear + Template@34: + Id: 34 + Image: sh32 + Size: 4,4 + Category: Beach + Tiles: + 2: Water + 3: Water + 4: Water + 5: Water + 6: Beach + 7: Beach + 8: Beach + 9: Beach + 10: Beach + 12: Clear + 13: Clear + Template@35: + Id: 35 + Image: sh33 + Size: 3,4 + Category: Beach + Tiles: + 1: Water + 2: Beach + 3: Water + 4: Beach + 5: Clear + 6: Beach + 7: Rough + 9: Beach + 10: Beach + Template@36: + Id: 36 + Image: sh34 + Size: 6,5 + Category: Beach + Tiles: + 3: Clear + 4: Beach + 5: Water + 7: Beach + 8: Beach + 9: Beach + 10: Beach + 13: Beach + 14: Beach + 15: Water + 19: Beach + 20: Beach + 21: Water + 24: Beach + 25: Beach + 26: Water + Template@37: + Id: 37 + Image: sh35 + Size: 4,4 + Category: Beach + Tiles: + 2: Beach + 3: Water + 5: Clear + 6: Beach + 7: Rough + 9: Beach + 10: Beach + 11: Water + 12: Clear + 13: Beach + 14: Water + Template@38: + Id: 38 + Image: sh36 + Size: 4,3 + Category: Beach + Tiles: + 1: Beach + 2: Beach + 3: Water + 4: Beach + 5: Beach + 6: Water + 8: Beach + 9: Water + 10: Water + Template@39: + Id: 39 + Image: sh37 + Size: 3,3 + Category: Beach + Tiles: + 1: Beach + 2: Water + 3: Clear + 4: Beach + 5: Water + 6: Rough + 7: Beach + 8: Water + Template@40: + Id: 40 + Image: sh38 + Size: 2,1 + Category: Beach + Tiles: + 0: Clear + 1: Beach + Template@41: + Id: 41 + Image: sh39 + Size: 3,3 + Category: Beach + Tiles: + 0: Rock + 1: Beach + 2: Water + 3: River + 4: River + 5: Water + 6: Clear + 7: Beach + 8: Water + Template@42: + Id: 42 + Image: sh40 + Size: 5,5 + Category: Beach + Tiles: + 0: Clear + 1: Beach + 2: Water + 6: Beach + 7: Water + 11: Beach + 12: Water + 13: Water + 16: Clear + 17: Beach + 18: Beach + 19: Water + 22: Beach + 23: Beach + 24: Water + Template@43: + Id: 43 + Image: sh41 + Size: 4,4 + Category: Beach + Tiles: + 0: Beach + 1: Water + 4: Beach + 5: Beach + 6: Water + 8: Beach + 9: Beach + 10: Water + 11: Water + 13: Clear + 14: Beach + 15: Water + Template@44: + Id: 44 + Image: sh42 + Size: 4,3 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Water + 5: Beach + 6: Beach + 7: River + 9: Clear + 10: Beach + 11: Water + Template@45: + Id: 45 + Image: sh43 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Beach + 7: Water + 8: Water + Template@46: + Id: 46 + Image: sh44 + Size: 2,2 + Category: Beach + Tiles: + 0: Water + 1: Beach + 2: River + 3: Water + Template@47: + Id: 47 + Image: sh45 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 1: Beach + 2: Water + 3: Water + 4: Rough + 5: Beach + 6: Water + 7: River + 8: Beach + Template@48: + Id: 48 + Image: sh46 + Size: 2,2 + Category: Beach + Tiles: + 0: Water + 1: River + 2: River + 3: Beach + Template@49: + Id: 49 + Image: sh47 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 3: Beach + 4: Water + 6: Beach + 7: Beach + 8: Water + Template@50: + Id: 50 + Image: sh48 + Size: 2,2 + Category: Beach + Tiles: + 0: Water + 1: Water + 2: Clear + 3: Beach + Template@51: + Id: 51 + Image: sh49 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Water + 2: Water + 3: Rock + 4: Rock + 5: River + 6: River + 7: Rock + 8: Rock + Template@52: + Id: 52 + Image: sh50 + Size: 2,2 + Category: Beach + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Water + Template@53: + Id: 53 + Image: sh51 + Size: 3,3 + Category: Beach + Tiles: + 0: Clear + 1: Beach + 2: Beach + 4: Beach + 5: Beach + 7: Rough + 8: Clear + Template@54: + Id: 54 + Image: sh52 + Size: 3,3 + Category: Beach + Tiles: + 1: Clear + 2: Clear + 3: Clear + 4: Beach + 5: Beach + 7: Beach + 8: Water + Template@55: + Id: 55 + Image: sh53 + Size: 3,3 + Category: Beach + Tiles: + 0: Beach + 1: Clear + 3: Beach + 4: Beach + 5: Clear + 6: Water + 7: Beach + 8: Clear + Template@56: + Id: 56 + Image: sh54 + Size: 3,3 + Category: Beach + Tiles: + 0: Water + 1: Beach + 2: Clear + 3: Beach + 4: Beach + 6: Clear + Template@57: + Id: 57 + Image: sh55 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@58: + Id: 58 + Image: sh56 + Size: 2,1 + Category: Debris + Tiles: + 0: Rock + 1: Rock + Template@135: + Id: 135 + Image: s01 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@136: + Id: 136 + Image: s02 + Size: 2,3 + Category: Cliffs + Tiles: + 0: Rock + 1: Rough + 2: Rock + 3: Rock + 4: Rock + 5: Rock + Template@137: + Id: 137 + Image: s03 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@138: + Id: 138 + Image: s04 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@139: + Id: 139 + Image: s05 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@140: + Id: 140 + Image: s06 + Size: 2,3 + Category: Cliffs + Tiles: + 0: Rough + 1: Rock + 2: Rock + 3: Rock + 4: Rock + Template@141: + Id: 141 + Image: s07 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@142: + Id: 142 + Image: s08 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@143: + Id: 143 + Image: s09 + Size: 3,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + 4: Rock + 5: Rock + Template@144: + Id: 144 + Image: s10 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@145: + Id: 145 + Image: s11 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@146: + Id: 146 + Image: s12 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@147: + Id: 147 + Image: s13 + Size: 3,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rough + 3: Rock + 4: Rock + 5: Rough + Template@148: + Id: 148 + Image: s14 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rough + 2: Rock + Template@149: + Id: 149 + Image: s15 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@150: + Id: 150 + Image: s16 + Size: 2,3 + Category: Cliffs + Tiles: + 0: Rough + 2: Rock + 3: Rock + 5: Rock + Template@151: + Id: 151 + Image: s17 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@152: + Id: 152 + Image: s18 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@153: + Id: 153 + Image: s19 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@154: + Id: 154 + Image: s20 + Size: 2,3 + Category: Cliffs + Tiles: + 1: Rock + 2: Rock + 3: Rock + 4: Rock + 5: Rough + Template@155: + Id: 155 + Image: s21 + Size: 1,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + Template@156: + Id: 156 + Image: s22 + Size: 2,1 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + Template@157: + Id: 157 + Image: s23 + Size: 3,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + 4: Rock + 5: Rough + Template@158: + Id: 158 + Image: s24 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@159: + Id: 159 + Image: s25 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@160: + Id: 160 + Image: s26 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@161: + Id: 161 + Image: s27 + Size: 3,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rough + 3: Rough + 4: Rock + 5: Rock + Template@162: + Id: 162 + Image: s28 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 3: Rock + Template@163: + Id: 163 + Image: s29 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@164: + Id: 164 + Image: s30 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@165: + Id: 165 + Image: s31 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rough + 2: Rock + 3: Rock + Template@166: + Id: 166 + Image: s32 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rough + Template@167: + Id: 167 + Image: s33 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@168: + Id: 168 + Image: s34 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@169: + Id: 169 + Image: s35 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@170: + Id: 170 + Image: s36 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@171: + Id: 171 + Image: s37 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@172: + Id: 172 + Image: s38 + Size: 2,2 + Category: Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@59: + Id: 59 + Image: wc01 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@60: + Id: 60 + Image: wc02 + Size: 2,3 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rough + 2: Rock + 3: Rock + 4: Rock + 5: Rock + Template@61: + Id: 61 + Image: wc03 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@62: + Id: 62 + Image: wc04 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@63: + Id: 63 + Image: wc05 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@64: + Id: 64 + Image: wc06 + Size: 2,3 + Category: Water Cliffs + Tiles: + 0: Rough + 1: Rock + 2: Rock + 3: Rock + 4: Rock + Template@65: + Id: 65 + Image: wc07 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@66: + Id: 66 + Image: wc08 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@67: + Id: 67 + Image: wc09 + Size: 3,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: River + 4: Rock + 5: Rock + Template@68: + Id: 68 + Image: wc10 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@69: + Id: 69 + Image: wc11 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@70: + Id: 70 + Image: wc12 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@71: + Id: 71 + Image: wc13 + Size: 3,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rough + 3: Rock + 4: Rock + 5: Clear + Template@72: + Id: 72 + Image: wc14 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Beach + 2: Beach + 3: Beach + Template@73: + Id: 73 + Image: wc15 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@74: + Id: 74 + Image: wc16 + Size: 2,3 + Category: Water Cliffs + Tiles: + 0: Water + 2: Rock + 3: Rock + 5: Rock + Template@75: + Id: 75 + Image: wc17 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@76: + Id: 76 + Image: wc18 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@77: + Id: 77 + Image: wc19 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@78: + Id: 78 + Image: wc20 + Size: 2,3 + Category: Water Cliffs + Tiles: + 1: River + 2: Rock + 3: Rock + 4: Rock + 5: Rough + Template@79: + Id: 79 + Image: wc21 + Size: 1,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + Template@80: + Id: 80 + Image: wc22 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@81: + Id: 81 + Image: wc23 + Size: 3,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: River + 3: Rock + 4: Rock + 5: Water + Template@82: + Id: 82 + Image: wc24 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@83: + Id: 83 + Image: wc25 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@84: + Id: 84 + Image: wc26 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@85: + Id: 85 + Image: wc27 + Size: 3,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Water + 3: Clear + 4: Rock + 5: Rock + Template@86: + Id: 86 + Image: wc28 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 3: Rock + Template@87: + Id: 87 + Image: wc29 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@88: + Id: 88 + Image: wc30 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@89: + Id: 89 + Image: wc31 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: River + 2: Rock + 3: Rock + Template@90: + Id: 90 + Image: wc32 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Water + Template@91: + Id: 91 + Image: wc33 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@92: + Id: 92 + Image: wc34 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@93: + Id: 93 + Image: wc35 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@94: + Id: 94 + Image: wc36 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@95: + Id: 95 + Image: wc37 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@96: + Id: 96 + Image: wc38 + Size: 2,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@173: + Id: 173 + Image: d01 + Size: 2,2 + Category: Road + Tiles: + 1: Road + 2: Clear + 3: Clear + Template@174: + Id: 174 + Image: d02 + Size: 2,2 + Category: Road + Tiles: + 0: Clear + 1: Road + 2: Clear + 3: Clear + Template@175: + Id: 175 + Image: d03 + Size: 1,2 + Category: Road + Tiles: + 0: Clear + 1: Road + Template@176: + Id: 176 + Image: d04 + Size: 2,2 + Category: Road + Tiles: + 1: Clear + 2: Road + 3: Clear + Template@177: + Id: 177 + Image: d05 + Size: 3,4 + Category: Road + Tiles: + 1: Road + 2: Clear + 3: Road + 4: Road + 6: Road + 7: Road + 9: Road + 10: Road + Template@178: + Id: 178 + Image: d06 + Size: 2,3 + Category: Road + Tiles: + 0: Road + 2: Road + 3: Road + 4: Road + 5: Clear + Template@179: + Id: 179 + Image: d07 + Size: 3,2 + Category: Road + Tiles: + 0: Clear + 1: Road + 2: Clear + 4: Road + 5: Clear + Template@180: + Id: 180 + Image: d08 + Size: 3,2 + Category: Road + Tiles: + 1: Road + 3: Clear + 4: Road + 5: Clear + Template@181: + Id: 181 + Image: d09 + Size: 4,3 + Category: Road + Tiles: + 0: Clear + 1: Clear + 2: Clear + 3: Clear + 4: Road + 5: Road + 6: Road + 7: Road + 10: Clear + 11: Clear + Template@182: + Id: 182 + Image: d10 + Size: 4,2 + Category: Road + Tiles: + 0: Clear + 1: Rock + 4: Road + 5: Road + 6: Road + 7: Road + Template@183: + Id: 183 + Image: d11 + Size: 2,3 + Category: Road + Tiles: + 1: Clear + 2: Road + 3: Road + 4: Clear + Template@184: + Id: 184 + Image: d12 + Size: 2,2 + Category: Road + Tiles: + 0: Clear + 2: Road + 3: Road + Template@185: + Id: 185 + Image: d13 + Size: 4,3 + Category: Road + Tiles: + 0: Road + 1: Road + 2: Clear + 4: Clear + 5: Road + 6: Road + 7: Rock + 10: Rock + 11: Road + Template@186: + Id: 186 + Image: d14 + Size: 3,3 + Category: Road + Tiles: + 1: Clear + 2: Road + 3: Clear + 4: Rock + 5: Road + 6: Road + 7: Road + 8: Road + Template@187: + Id: 187 + Image: d15 + Size: 3,3 + Category: Road + Tiles: + 0: Road + 1: Road + 2: Road + 3: Road + 4: Road + 5: Clear + 6: Road + 7: Clear + Template@188: + Id: 188 + Image: d16 + Size: 3,3 + Category: Road + Tiles: + 0: Clear + 1: Road + 2: Road + 3: Road + 4: Road + 5: Road + 6: Road + 7: Road + 8: Rock + Template@189: + Id: 189 + Image: d17 + Size: 3,2 + Category: Road + Tiles: + 0: Road + 1: Road + 2: Road + 3: Clear + 4: Road + 5: Clear + Template@190: + Id: 190 + Image: d18 + Size: 3,3 + Category: Road + Tiles: + 0: Clear + 1: Road + 2: Clear + 3: Road + 4: Road + 5: Clear + 6: Clear + 7: Road + 8: Rock + Template@191: + Id: 191 + Image: d19 + Size: 3,3 + Category: Road + Tiles: + 0: Clear + 1: Road + 2: Clear + 3: Road + 4: Road + 5: Road + 6: Clear + 7: Road + 8: Clear + Template@192: + Id: 192 + Image: d20 + Size: 3,3 + Category: Road + Tiles: + 0: Road + 1: Clear + 3: Road + 4: Road + 5: Clear + 6: Clear + 7: Road + 8: Road + Template@193: + Id: 193 + Image: d21 + Size: 3,2 + Category: Road + Tiles: + 0: Rock + 1: Road + 2: Road + 3: Clear + 4: Road + 5: Rough + Template@194: + Id: 194 + Image: d22 + Size: 3,3 + Category: Road + Tiles: + 1: Clear + 3: Road + 4: Road + 5: Clear + 6: Clear + 7: Road + 8: Clear + Template@195: + Id: 195 + Image: d23 + Size: 3,3 + Category: Road + Tiles: + 1: Road + 2: Clear + 3: Clear + 4: Road + 5: Clear + 6: Road + 7: Road + Template@196: + Id: 196 + Image: d24 + Size: 3,3 + Category: Road + Tiles: + 0: Road + 1: Road + 3: Road + 4: Road + 5: Road + 7: Road + 8: Road + Template@197: + Id: 197 + Image: d25 + Size: 3,3 + Category: Road + Tiles: + 0: Road + 1: Road + 3: Road + 4: Road + 5: Road + 7: Road + 8: Road + Template@198: + Id: 198 + Image: d26 + Size: 2,2 + Category: Road + Tiles: + 1: Road + 2: Road + Template@199: + Id: 199 + Image: d27 + Size: 2,2 + Category: Road + Tiles: + 1: Road + 2: Road + Template@200: + Id: 200 + Image: d28 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 1: Road + 2: Rough + Template@201: + Id: 201 + Image: d29 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 1: Road + 2: Road + Template@202: + Id: 202 + Image: d30 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 1: Road + 2: Road + Template@203: + Id: 203 + Image: d31 + Size: 2,2 + Category: Road + Tiles: + 1: Road + 2: Road + 3: Road + Template@204: + Id: 204 + Image: d32 + Size: 2,2 + Category: Road + Tiles: + 1: Clear + 2: Road + 3: Clear + Template@205: + Id: 205 + Image: d33 + Size: 2,2 + Category: Road + Tiles: + 1: Road + 2: Road + 3: Road + Template@206: + Id: 206 + Image: d34 + Size: 3,3 + Category: Road + Tiles: + 1: Road + 2: Road + 3: Road + 4: Road + 5: Road + 6: Road + 7: Road + Template@207: + Id: 207 + Image: d35 + Size: 3,3 + Category: Road + Tiles: + 1: Road + 2: Road + 3: Road + 4: Road + 5: Road + 6: Road + 7: Road + Template@208: + Id: 208 + Image: d36 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 3: Road + Template@209: + Id: 209 + Image: d37 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 3: Road + Template@210: + Id: 210 + Image: d38 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 1: Road + 3: Road + Template@211: + Id: 211 + Image: d39 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 1: Road + 3: Road + Template@212: + Id: 212 + Image: d40 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 1: Road + 3: Road + Template@213: + Id: 213 + Image: d41 + Size: 2,2 + Category: Road + Tiles: + 0: Rock + 2: Road + 3: Road + Template@214: + Id: 214 + Image: d42 + Size: 2,2 + Category: Road + Tiles: + 0: Road + 2: Road + 3: Road + Template@215: + Id: 215 + Image: d43 + Size: 2,2 + Category: Road + Tiles: + 0: Clear + 2: Road + 3: Road + Template@227: + Id: 227 + Image: d44 + Size: 1,1 + Category: Road + Tiles: + 0: Road + Template@228: + Id: 228 + Image: d45 + Size: 1,1 + Category: Road + Tiles: + 0: Road + Template@231: + Id: 231 + Image: rc01 + Size: 2,2 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@232: + Id: 232 + Image: rc02 + Size: 2,2 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@233: + Id: 233 + Image: rc03 + Size: 2,2 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@234: + Id: 234 + Image: rc04 + Size: 2,2 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + Template@112: + Id: 112 + Image: rv01 + Size: 5,4 + Category: River + Tiles: + 0: Rock + 1: Rock + 5: Rock + 6: River + 7: River + 8: River + 9: River + 10: Rock + 11: Rock + 12: Rock + 13: Rock + 14: Rock + 16: Rock + 17: Rough + Template@113: + Id: 113 + Image: rv02 + Size: 5,3 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rough + 4: Rough + 5: River + 6: River + 7: River + 8: River + 9: River + 10: Rock + 11: Rock + 12: Rock + Template@114: + Id: 114 + Image: rv03 + Size: 4,4 + Category: River + Tiles: + 0: Rock + 1: Rough + 4: Rock + 5: Rock + 6: Rock + 7: Clear + 8: Rock + 9: Rock + 10: River + 11: River + 13: Clear + 14: Clear + 15: Rock + Template@115: + Id: 115 + Image: rv04 + Size: 4,4 + Category: River + Tiles: + 2: Rock + 3: Rough + 5: Rough + 6: Rock + 7: River + 8: River + 9: River + 10: River + 11: River + 12: Rock + 13: Rock + 14: Rock + Template@116: + Id: 116 + Image: rv05 + Size: 3,2 + Category: River + Tiles: + 0: Clear + 1: River + 2: Rock + 3: Rock + 4: River + 5: Rock + 6: Rock + 7: River + 8: Rock + Template@117: + Id: 117 + Image: rv06 + Size: 3,2 + Category: River + Tiles: + 0: Rock + 1: River + 2: Rock + 3: Rock + 4: River + 5: Rock + Template@118: + Id: 118 + Image: rv07 + Size: 3,2 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: River + 3: Rock + 4: Rock + 5: River + Template@119: + Id: 119 + Image: rv08 + Size: 2,2 + Category: River + Tiles: + 0: Rock + 1: River + 2: River + 3: River + Template@120: + Id: 120 + Image: rv09 + Size: 2,2 + Category: River + Tiles: + 0: Clear + 1: Clear + 2: River + 3: River + Template@121: + Id: 121 + Image: rv10 + Size: 2,2 + Category: River + Tiles: + 0: River + 1: River + 2: Rock + 3: River + Template@122: + Id: 122 + Image: rv11 + Size: 2,2 + Category: River + Tiles: + 0: River + 1: River + 2: River + 3: Rock + Template@123: + Id: 123 + Image: rv12 + Size: 3,4 + Category: River + Tiles: + 0: Clear + 1: River + 2: Rock + 3: Rock + 4: River + 5: Rock + 6: River + 7: River + 8: Rock + 9: Rough + 10: River + 11: Rock + Template@124: + Id: 124 + Image: rv13 + Size: 4,4 + Category: River + Tiles: + 2: Clear + 3: Rough + 4: River + 5: River + 6: River + 7: River + 8: River + 9: Rock + 10: River + 11: Rock + 12: Clear + 13: Rock + 14: River + 15: Rough + Template@229: + Id: 229 + Image: rv14 + Size: 1,2 + Category: River + Tiles: + 0: Rock + 1: River + 2: Rock + Template@230: + Id: 230 + Image: rv15 + Size: 2,1 + Category: River + Tiles: + 0: Rock + 1: River + 2: Rock + Template@235: + Id: 235 + Image: br1a + Size: 4,3 + Category: Bridge + Tiles: + 1: Rock + 2: Road + 4: Rock + 5: Road + 6: Road + 7: Rock + 9: Road + 10: Rock + 11: Rock + Template@236: + Id: 236 + Image: br1b + Size: 4,3 + Category: Bridge + Tiles: + 1: Rock + 2: Rough + 4: Rock + 5: Rough + 6: Rough + 7: Rock + 9: Rough + 10: Rock + 11: Rock + Template@237: + Id: 237 + Image: br1c + Size: 4,3 + Category: Bridge + Tiles: + 1: Rock + 2: Rock + 4: Rock + 5: Rock + 6: Rock + 7: Rock + 9: Rock + 10: Rock + 11: Rock + Template@238: + Id: 238 + Image: br2a + Size: 5,3 + Category: Bridge + Tiles: + 1: Rock + 2: Road + 5: Rock + 6: Road + 7: Road + 8: Rock + 9: Rock + 11: Road + 12: Rock + 13: Rock + Template@239: + Id: 239 + Image: br2b + Size: 5,3 + Category: Bridge + Tiles: + 1: Rock + 2: Rough + 5: Rock + 6: Rough + 7: Rough + 8: Rock + 9: Rock + 11: Rough + 12: Rock + 13: Rock + Template@240: + Id: 240 + Image: br2c + Size: 5,3 + Category: Bridge + Tiles: + 1: Water + 2: Water + 5: Rock + 6: Rock + 7: Rock + 8: Rock + 9: Rock + 11: Rock + 12: Rock + 13: Rock + Template@241: + Id: 241 + Image: br3a + Size: 4,2 + Category: Bridge + Tiles: + 0: Rock + 1: Road + 5: Road + 6: Rock + 7: Rock + Template@242: + Id: 242 + Image: br3b + Size: 4,2 + Category: Bridge + Tiles: + 0: Rock + 1: Road + 5: Road + 6: Rock + 7: Rock + Template@243: + Id: 243 + Image: br3c + Size: 4,2 + Category: Bridge + Tiles: + 0: Rock + 1: Rock + 5: Rock + 6: Rock + 7: Rock + Template@244: + Id: 244 + Image: br3d + Size: 4,2 + Category: Bridge + Tiles: + 0: River + 1: Rock + 5: River + 6: River + 7: River + Template@245: + Id: 245 + Image: br3e + Size: 4,2 + Category: Bridge + Tiles: + 0: Water + 1: Water + 5: Rock + 6: Water + 7: Water + Template@246: + Id: 246 + Image: br3f + Size: 4,2 + Category: Bridge + Tiles: + 0: Water + 1: Water + 5: Water + 6: Water + 7: Water + Template@380: + Id: 380 + Image: br1x + Size: 5,3 + Category: Bridge + Tiles: + 0: Rock + 3: Road + 4: Clear + 9: Rock + 14: Water + Template@381: + Id: 381 + Image: br2x + Size: 5,1 + Category: Bridge + Tiles: + 0: Road + 4: Beach + Template@131: + Id: 131 + Image: bridge1 + Size: 5,3 + Category: Bridge + Tiles: + 1: Rock + 2: Road + 3: Road + 4: Rock + 5: Rock + 6: Road + 7: Road + 8: Rock + 9: Rock + 12: Rock + Template@132: + Id: 132 + Image: bridge1d + Size: 5,3 + Category: Bridge + Tiles: + 1: Rock + 2: Rock + 3: Rock + 4: Rock + 5: Rock + 6: Rock + 7: Rock + 8: Rock + 9: Rock + 12: Rock + Template@378: + Id: 378 + Image: bridge1h + Size: 5,3 + Category: Bridge + Tiles: + 1: Rock + 2: Rough + 3: Rough + 4: Rock + 5: Rock + 6: Rough + 7: Rough + 8: Rock + 9: Rock + 12: Rough + Template@382: + Id: 382 + Image: bridge1x + Size: 5,4 + Category: Bridge + Tiles: + 2: Clear + 3: Road + 4: Road + 5: Rock + 15: Road + 16: Road + 18: Rock + 19: Rock + Template@133: + Id: 133 + Image: bridge2 + Size: 5,2 + Category: Bridge + Tiles: + 0: Rock + 1: Road + 2: Road + 3: Rock + 5: Rock + 6: Rock + 7: Road + 8: Road + 9: Rock + Template@134: + Id: 134 + Image: bridge2d + Size: 5,2 + Category: Bridge + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + 5: Rock + 6: Rock + 7: Rock + 8: Rock + 9: Rock + Template@379: + Id: 379 + Image: bridge2h + Size: 5,2 + Category: Bridge + Tiles: + 0: Rock + 1: Rough + 2: Rough + 3: Rock + 5: Rock + 6: Rock + 7: Rough + 8: Rough + 9: Rock + Template@383: + Id: 383 + Image: bridge2x + Size: 5,5 + Category: Bridge + Tiles: + 0: Road + 1: Road + 2: Rough + 3: Clear + 4: Rough + 9: River + 15: Rock + 16: Rock + 17: Rough + 18: Road + 19: Road + 23: Road + 24: Road + Template@247: + Id: 247 + Image: f01 + Size: 3,3 + Category: Bridge + Tiles: + 0: Rough + 1: Road + 2: Road + 3: Beach + 4: Beach + 5: Beach + 6: Beach + 7: Beach + 8: Beach + Template@248: + Id: 248 + Image: f02 + Size: 3,3 + Category: Bridge + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Beach + 7: Beach + 8: Beach + Template@249: + Id: 249 + Image: f03 + Size: 3,3 + Category: Bridge + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Clear + 7: Road + 8: Clear + Template@250: + Id: 250 + Image: f04 + Size: 3,3 + Category: Bridge + Tiles: + 0: Clear + 1: Beach + 2: Beach + 3: Road + 4: Beach + 5: Beach + 6: Clear + 7: Beach + 8: Beach + Template@251: + Id: 251 + Image: f05 + Size: 3,3 + Category: Bridge + Tiles: + 0: Beach + 1: Beach + 2: Beach + 3: Beach + 4: Beach + 5: Beach + 6: Beach + 7: Beach + 8: Beach + Template@252: + Id: 252 + Image: f06 + Size: 3,3 + Category: Bridge + Tiles: + 0: Beach + 1: Beach + 2: Clear + 3: Beach + 4: Beach + 5: Road + 6: Beach + 7: Beach + 8: Clear + Template@129: + Id: 129 + Image: ford1 + Size: 3,3 + Category: Bridge + Tiles: + 0: Rough + 1: River + 2: Rough + 3: Road + 4: Rough + 5: Road + 6: Clear + 7: Rough + 8: Rough + Template@130: + Id: 130 + Image: ford2 + Size: 3,3 + Category: Bridge + Tiles: + 0: Rough + 1: Rough + 2: Rough + 3: Rock + 4: Rough + 5: Rough + 6: Clear + 7: Road + 8: Clear + Template@125: + Id: 125 + Image: falls1 + Size: 3,3 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: River + 4: Rock + 5: Rock + 6: Rough + 7: Rock + 8: Rock + Template@126: + Id: 126 + Image: falls1a + Size: 3,3 + Category: Water Cliffs + Tiles: + 0: Water + 1: River + 2: Rock + 3: Water + 4: Rock + 5: Rock + 6: Water + 7: River + 8: Rock + Template@127: + Id: 127 + Image: falls2 + Size: 3,2 + Category: River + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: River + 4: Rock + 5: Rock + Template@128: + Id: 128 + Image: falls2a + Size: 3,2 + Category: Water Cliffs + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: River + 4: River + 5: River + Template@97: + Id: 97 + Image: b1 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@98: + Id: 98 + Image: b2 + Size: 2,1 + Category: Debris + Tiles: + 0: Rock + 1: Rock + Template@99: + Id: 99 + Image: b3 + Size: 3,1 + Category: Debris + Tiles: + 0: Rock + 1: Rock + 2: Rock + Template@216: + Id: 216 + Image: rf01 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@217: + Id: 217 + Image: rf02 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@218: + Id: 218 + Image: rf03 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@219: + Id: 219 + Image: rf04 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@220: + Id: 220 + Image: rf05 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@221: + Id: 221 + Image: rf06 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@222: + Id: 222 + Image: rf07 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@223: + Id: 223 + Image: rf08 + Size: 1,2 + Category: Debris + Tiles: + 0: Rock + 1: Rock + Template@224: + Id: 224 + Image: rf09 + Size: 1,2 + Category: Debris + Tiles: + 0: Rock + 1: Rock + Template@225: + Id: 225 + Image: rf10 + Size: 2,1 + Category: Debris + Tiles: + 0: Rough + 1: Rough + Template@226: + Id: 226 + Image: rf11 + Size: 2,1 + Category: Debris + Tiles: + 0: Rock + 1: Rock + Template@103: + Id: 103 + Image: p01 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@104: + Id: 104 + Image: p02 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@105: + Id: 105 + Image: p03 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@106: + Id: 106 + Image: p04 + Size: 1,1 + Category: Debris + Tiles: + 0: Rock + Template@107: + Id: 107 + Image: p07 + Size: 4,2 + Category: Debris + Tiles: + 0: Rough + 1: Rough + 2: Rough + 3: Rough + 4: Rough + 5: Rough + 6: Rough + 7: Clear + Template@108: + Id: 108 + Image: p08 + Size: 3,2 + Category: Debris + Tiles: + 0: Clear + 1: Rough + 2: Rough + 3: Rough + 4: Rough + 5: Rough + Template@109: + Id: 109 + Image: p13 + Size: 3,2 + Category: Debris + Tiles: + 0: Rock + 1: Rock + 2: Rock + 3: Rock + 4: Rock + 5: Rock + Template@110: + Id: 110 + Image: p14 + Size: 2,1 + Category: Debris + Tiles: + 0: Rock + 1: Rock diff --git a/mods/ra-classic/uibits/chrome-allies.png b/mods/ra-classic/uibits/chrome-allies.png new file mode 100644 index 0000000000..2602a8e8f7 Binary files /dev/null and b/mods/ra-classic/uibits/chrome-allies.png differ diff --git a/mods/ra-classic/uibits/dialog.png b/mods/ra-classic/uibits/dialog.png new file mode 100644 index 0000000000..41786894de Binary files /dev/null and b/mods/ra-classic/uibits/dialog.png differ diff --git a/mods/ra-classic/uibits/loadscreen.png b/mods/ra-classic/uibits/loadscreen.png new file mode 100644 index 0000000000..e14425f1a7 Binary files /dev/null and b/mods/ra-classic/uibits/loadscreen.png differ diff --git a/mods/ra-classic/weapons.yaml b/mods/ra-classic/weapons.yaml new file mode 100644 index 0000000000..8515c1fa03 --- /dev/null +++ b/mods/ra-classic/weapons.yaml @@ -0,0 +1,1054 @@ +Colt45: + ROF: 5 + Range: 5.75 + Report: GUN5 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 1 + Versus: + Wood: 5% + Light: 5% + Heavy: 5% + Concrete: 5% + Explosion: piff + InfDeath: 2 + Damage: 50 + +ZSU-23: + ROF: 10 + Range: 6 + Report: AACANON3 + ValidTargets: Air + Projectile: Bullet + Speed: 100 + High: true + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Heavy: 100% + Concrete: 50% + Explosion: med_explosion + Damage: 25 + +Vulcan: + ROF: 40 + Range: 5 + Report: GUN13 + Projectile: Bullet + Speed: 100 + Warhead@1: + Spread: 3 + Versus: + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piffs + InfDeath: 2 + Damage: 40 + +Maverick: + ROF: 3 + Range: 6 + Report: MISSILE7 + BurstDelay: 7 + ValidTargets: Ground + Projectile: Missile + Speed: 30 + Arm: 2 + High: true + Shadow: false + Proximity: true + Inaccuracy: 3 + Angle: 0.1 + Image: DRAGON + ROT: 5 + RangeLimit: 8 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: med_explosion + WaterExplosion: med_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 50 + +FireballLauncher: + ROF: 50 + Range: 4 + Projectile: Bullet + Speed: 12 + Trail: fb2 + Image: FB1 + Warhead: + Spread: 5 + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Explosion: napalm + WaterExplosion: napalm + InfDeath: 5 + SmudgeType: Scorch + ImpactSound: firebl3 + Damage: 125 + +Flamer: + ROF: 50 + Range: 3.5 + Projectile: Bullet + Speed: 12 + Trail: fb2 + Image: FB1 + Warhead: + Spread: 8 + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Explosion: napalm + WaterExplosion: napalm + InfDeath: 5 + SmudgeType: Scorch + ImpactSound: firebl3 + Damage: 70 + +ChainGun: + ROF: 3 + Range: 5 + MinRange: 1 + Report: GUN13 + Projectile: Bullet + Speed: 100 + High: true + Warhead: + Spread: 3 + Versus: + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piffs + WaterExplosion: small_splash + InfDeath: 2 + Damage: 40 + +Pistol: + ROF: 7 + Range: 1.75 + Report: GUN27 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100 + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piffs + InfDeath: 2 + Damage: 1 + +M1Carbine: + ROF: 20 + Range: 3 + Report: GUN11 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100 + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piffs + InfDeath: 2 + Damage: 15 + +Dragon: + ROF: 50 + Range: 5 + Report: MISSILE6 + ValidTargets: Ground + Projectile: Missile + Speed: 25 + Arm: 2 + High: true + Shadow: false + Proximity: true + Trail: smokey + Inaccuracy: 3 + Image: DRAGON + ROT: 5 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: med_explosion + WaterExplosion: med_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 35 + ImpactSound: kaboom12 + +HellfireAG: + ROF: 60 + Range: 4 + Report: MISSILE6 + Burst: 1 + ValidTargets: Ground + Projectile: Missile + Speed: 30 + Arm: 1 + High: true + Shadow: false + Proximity: true + Inaccuracy: 3 + Angle: 0.1 + Image: DRAGON + ROT: 5 + RangeLimit: 20 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: med_explosion + WaterExplosion: med_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 40 + +Grenade: + ROF: 60 + Range: 4 + Report: grenade1 + Projectile: Bullet + Speed: 5 + High: true + Angle: .1 + Inaccuracy: 13 + Image: BOMB + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: med_explosion + WaterExplosion: small_splash + InfDeath: 3 + SmudgeType: Crater + Damage: 50 + ImpactSound: kaboom12 + +25mm: + ROF: 40 + Range: 4 + Report: CANNON2 + Projectile: Bullet + Speed: 40 + Image: 120MM + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 30% + Explosion: small_explosion + WaterExplosion: small_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 25 + +90mm: + ROF: 50 + Range: 4.75 + Report: CANNON1 + Projectile: Bullet + Speed: 40 + Image: 120MM + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: small_explosion + WaterExplosion: small_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 30 + +105mm: + ROF: 70 + Range: 4.75 + Report: CANNON1 + Burst: 2 + BurstDelay: 4 + Projectile: Bullet + Speed: 40 + Image: 120MM + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: small_explosion + WaterExplosion: small_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 30 + +120mm: + ROF: 80 + Range: 4.75 + Report: CANNON1 + Burst: 2 + Projectile: Bullet + Speed: 40 + Image: 120MM + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: small_explosion + WaterExplosion: small_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 40 + +TurretGun: + ROF: 35 + Range: 6 + Report: TURRET1 + Projectile: Bullet + Speed: 50 + Image: 120MM + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: small_explosion + WaterExplosion: small_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 60 + +MammothTusk: + ROF: 80 + Range: 5 + Report: MISSILE6 + Burst: 2 + ValidTargets: Ground, Air + Projectile: Missile + Speed: 30 + Arm: 2 + High: true + Shadow: false + Proximity: true + Trail: smokey + Image: DRAGON + ROT: 5 + RangeLimit: 15 + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: med_explosion + WaterExplosion: med_splash + InfDeath: 3 + SmudgeType: Crater + Damage: 75 + +155mm: + ROF: 65 + Range: 6 + Report: TANK5 + Projectile: Bullet + Speed: 12 + High: true + Angle: .1 + Inaccuracy: 3 + Image: 120MM + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + Explosion: large_explosion + WaterExplosion: med_splash + InfDeath: 3 + SmudgeType: Crater + Damage: 150 + +M60mg: + ROF: 30 + Range: 4 + Report: PILLBOX1 + Burst: 5 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100% + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piffs + WaterExplosion: small_splash + InfDeath: 2 + Damage: 15 + +Napalm: + ROF: 20 + Range: 4.5 + Projectile: Bullet + Image: BOMBLET + Speed: 5 + High: yes + RangeLimit: 24 + Arm: 24 + Warhead: + Spread: 8 + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Explosion: napalm + WaterExplosion: med_splash + InfDeath: 5 + SmudgeType: Scorch + ImpactSound: firebl3 + Damage: 100 + +CrateNapalm: + Warhead: + Spread: 4 + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Explosion: napalm + WaterExplosion: napalm + InfDeath: 5 + SmudgeType: Scorch + ImpactSound: firebl3 + Damage: 600 + +CrateExplosion: + Warhead: + Damage: 500 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: self_destruct + WaterExplosion: self_destruct + InfDeath: 4 + ImpactSound: kaboom15 + +CrateNuke: + Warhead@impact: + Damage: 1000 + Spread: 6 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Explosion: nuke + WaterExplosion: nuke + InfDeath: 5 + ImpactSound: kaboom1 + Warhead@areanuke: + DamageModel: PerCell + Damage: 250 + SmudgeType: Scorch + Size: 5,4 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Delay: 4 + InfDeath: 5 + ImpactSound: kaboom22 + +TeslaZap: + ROF: 3 + Charges: true + Range: 8.5 + Report: TESLA1 + Projectile: TeslaZap + Warhead: + Speed: 100 # might need to remove this + Spread: 1 + InfDeath: 6 + Damage: 100 + +Nike: + ROF: 20 + Range: 7.5 + Report: MISSILE1 + ValidTargets: Air + Projectile: Missile + Arm: 3 + High: true + Shadow: false + Proximity: true + Image: MISSILE + ROT: 20 + RangeLimit: 50 + Speed: 50 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: med_explosion + InfDeath: 3 + SmudgeType: Crater + Damage: 50 + +RedEye: + ROF: 50 + Range: 7.5 + Report: MISSILE1 + ValidTargets: Air + Projectile: Missile + Arm: 3 + High: true + Shadow: false + Proximity: true + Image: MISSILE + ROT: 20 + RangeLimit: 30 + Speed: 50 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: med_explosion + InfDeath: 3 + SmudgeType: Crater + Damage: 50 + +8Inch: + ROF: 160 + Range: 22 + Burst: 2 + Report: TURRET1 + Projectile: Bullet + Speed: 6 + High: true + Angle: .6 + Inaccuracy: 30 + Image: 120MM + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: large_explosion + WaterExplosion: large_splash + InfDeath: 3 + SmudgeType: Crater + Damage: 500 + ImpactSound: kaboom12 + WaterImpactSound: splash9 + +SubMissile: + ROF: 120 + Range: 14 + Burst: 2 + Report: MISSILE6 + Projectile: Bullet + ROT: 5 + Speed: 20 + High: true + Angle: .1 + Inaccuracy: 3 + Image: DRAGON + Trail: smokey + Warhead: + Spread: 6 + Versus: + None: 90%, + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: large_explosion + WaterExplosion: large_splash + InfDeath: 3 + SmudgeType: Crater + Damage: 400 + ImpactSound: kaboom12 + WaterImpactSound: splash9 + +Stinger: + ROF: 60 + Range: 9 + Report: MISSILE6 + Burst: 2 + BurstDelay: 0 + ValidTargets: Air + Projectile: Missile + Arm: 3 + High: true + Shadow: false + Proximity: true + Image: DRAGON + ROT: 20 + RangeLimit: 40 + TurboBoost: true + Speed: 20 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: med_explosion + WaterExplosion: med_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 30 + +TorpTube: + ROF: 60 + Range: 9 + Report: TORPEDO1 + ValidTargets: Water, Underwater + Underwater: yes + Burst: 1 + BurstDelay: 20 + Projectile: Missile + Image: MISSILE + Arm: 3 + Speed: 10 + Trail: bubbles + ROT: 1 + RangeLimit: 9 + Warhead: + Speed: 15 + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + WaterExplosion: large_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 90 + +2Inch: + ROF: 60 + Range: 5.5 + Report: CANNON2 + Projectile: Bullet + Speed: 25 + Image: 120MM + Warhead: + Speed: 25 + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + Explosion: small_explosion + WaterExplosion: med_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 25 + +DepthCharge: + ROF: 60 + Range: 5 + ValidTargets: Underwater + Projectile: Bullet + Speed: 5 + Spread: 5 + Image: BOMB + Angle: .1 + High: true + Inaccuracy: 3 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 75% + Concrete: 50% + WaterExplosion: large_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 80 + +ParaBomb: + ROF: 4 + Range: 4.5 + Report: CHUTE1 + Projectile: GravityBomb + Image: PARABOMB + Warhead: + Speed: 5 + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Concrete: 100% + Explosion: self_destruct + WaterExplosion: small_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 300 + ImpactSound: kaboom15 + +DogJaw: + ROF: 10 + Range: 2.2 + Report: DOGG5P + Warhead: + Spread: 5 + Versus: + Wood: 0% + Light: 0% + Heavy: 0% + Concrete: 0% + InfDeath: 1 + Damage: 100 + +Heal: + ROF: 80 + Range: 1.83 + Report: HEAL2 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 5 + Versus: + Wood: 0% + Light: 0% + Heavy: 0% + Concrete: 0% + InfDeath: 1 + Damage: -50 + +Repair: + ROF: 80 + Range: 4 + Report: FIXIT1 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 5 + Versus: + None: 0% + Wood: 0% + Light: 40% + Heavy: 100% + Concrete: 0% + Cybernetic: 40% + InfDeath: 1 + Damage: -10 + +SCUD: + ROF: 400 + Range: 10 + MinRange: 3 + Report: MISSILE1 + Projectile: Bullet + Speed: 25 + Arm: 10 + High: true + Shadow: false + Proximity: true + Image: V2 + Warhead: + Spread: 6 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: napalm + WaterExplosion: large_splash + InfDeath: 3 + SmudgeType: Crater + Damage: 600 + ImpactSound: firebl3 + WaterImpactSound: splash9 + +Atomic: + Warhead@impact: + Damage: 1000 + Spread: 6 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Explosion: nuke + WaterExplosion: nuke + InfDeath: 5 + ImpactSound: kaboom1 + Warhead@areanuke: + DamageModel: PerCell + Damage: 250 + SmudgeType: Scorch + Size: 5,4 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Delay: 4 + InfDeath: 5 + ImpactSound: kaboom22 + +MiniNuke: + Warhead@impact: + Damage: 800 + Spread: 6 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Cybernetic: 40% + Explosion: nuke + WaterExplosion: nuke + InfDeath: 5 + ImpactSound: kaboom1 + Warhead@areanuke1: + DamageModel: PerCell + Damage: 180 + Size: 2,1 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Cybernetic: 40% + Delay: 5 + InfDeath: 5 + ImpactSound: kaboom22 + Warhead@areanuke2: + DamageModel: PerCell + Damage: 180 + Size: 3,2 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Cybernetic: 40% + Delay: 10 + InfDeath: 5 + Warhead@areanuke3: + DamageModel: PerCell + Damage: 180 + Size: 4,3 + SmudgeType: Scorch + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + Cybernetic: 40% + Delay: 15 + InfDeath: 5 + +UnitExplode: + Warhead: + Damage: 500 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: self_destruct + WaterExplosion: large_splash + InfDeath: 4 + ImpactSound: kaboom22 + +UnitExplodeSmall: + Warhead: + Damage: 40 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: large_explosion + InfDeath: 4 + ImpactSound: kaboom15 + +BarrelExplode: + Warhead: + Damage: 500 + Spread: 10 + Versus: + None: 120% + Wood: 200% + Light: 50% + Heavy: 25% + Concrete: 10% + Cybernetic: 30% + Explosion: napalm + InfDeath: 4 + ImpactSound: firebl3 + SmudgeType: Scorch + Delay: 5 + Size: 2,1 + +Crush: + Warhead: + ImpactSound: squishy2 + Damage: 100 + +ATMine: + Warhead: + Damage: 500 + Versus: + None: 0% + Wood: 0% + Concrete: 0% + ImpactSound: mineblo1 + Explosion: large_explosion + +APMine: + Warhead: + Damage: 700 + Versus: + Wood: 0% + Light: 0% + Heavy: 0% + Concrete: 0% + ImpactSound: mine1 + InfDeath: 3 + Explosion: napalm + +Demolish: + Warhead: + ImpactSound: kaboom25 + Explosion: building + +PortaTesla: + ROF: 70 + Range: 3.5 + Report: TESLA1 + Charges: yes + Projectile: TeslaZap + Warhead: + Spread: 1 + InfDeath: 6 + Damage: 45 + +TTankZap: + ROF: 120 + Range: 7 + Report: TESLA1 + Charges: yes + Projectile: TeslaZap + Warhead: + Spread: 1 + InfDeath: 6 + Damage: 100 + +ChronoTusk: + ROF: 60 + Range: 6 + Report: MISSILE6 + ValidTargets: Ground + Projectile: Missile + Speed: 35 + Arm: 2 + High: true + Shadow: false + Proximity: true + Trail: smokey + ContrailLength: 10 + Inaccuracy: 3 + Image: DRAGON + ROT: 10 + RangeLimit: 22 + Warhead: + Spread: 3 + Versus: + None: 25% + Wood: 75% + Light: 75% + Concrete: 50% + Cybernetic: 30% + Explosion: med_explosion + WaterExplosion: med_splash + InfDeath: 4 + SmudgeType: Crater + Damage: 30 \ No newline at end of file diff --git a/mods/ra/maps/allies-04/map.yaml b/mods/ra/maps/allies-04/map.yaml index 6ad7e412a1..b3e95a6b03 100644 --- a/mods/ra/maps/allies-04/map.yaml +++ b/mods/ra/maps/allies-04/map.yaml @@ -301,27 +301,27 @@ Actors: Actor83: ftur Location: 67,34 Owner: Soviets - Actor73: spen.noinfiltrate + Actor73: spen Location: 31,82 Owner: Soviets - Actor37: dome.noinfiltrate + Actor37: dome Location: 44,57 Owner: Soviets Actor65: sam Location: 50,37 Owner: Soviets TurretFacing: 192 - Actor70: spen.noinfiltrate + Actor70: spen Location: 39,71 Owner: Soviets - Actor71: spen.noinfiltrate + Actor71: spen Location: 25,68 Owner: Soviets Actor64: sam Location: 28,43 Owner: Soviets TurretFacing: 48 - Actor72: spen.noinfiltrate + Actor72: spen Location: 23,76 Owner: Soviets Actor88: tsla @@ -465,13 +465,13 @@ Actors: Actor130: apwr Location: 101,16 Owner: Soviets - Actor134: proc.noinfiltrate + Actor134: proc Location: 106,30 Owner: Soviets Actor135: fix Location: 102,25 Owner: Soviets - Actor136: dome.noinfiltrate + Actor136: dome Location: 107,25 Owner: Soviets HijackFactory: weap @@ -1312,7 +1312,7 @@ Actors: Actor414: sbag Location: 74,60 Owner: Soviets - Actor412: proc.noinfiltrate + Actor412: proc Location: 84,68 Owner: Soviets Actor472: brl3 @@ -1809,44 +1809,6 @@ Rules: AutoTargetIgnore: Allies04TransformOnLabInfiltrate: ToActor: MISS - PROC.NoInfiltrate: - Inherits: PROC - -Buildable: - RenderBuilding: - Image: PROC - Tooltip: - Icon: procicon - -InfiltrateForCash: - Allies04TransformOnLabInfiltrate: - ToActor: PROC.NoFreeActor - PROC.NoFreeActor: - Inherits: PROC - -Buildable: - RenderBuilding: - Image: PROC - Tooltip: - Icon: procicon - -FreeActor: - DOME.NoInfiltrate: - Inherits: DOME - -Buildable: - RenderBuilding: - Image: DOME - Tooltip: - Icon: domeicon - -InfiltrateForExploration: - Allies04TransformOnLabInfiltrate: - ToActor: DOME - SPEN.NoInfiltrate: - Inherits: SPEN - -Buildable: - RenderBuilding: - Image: SPEN - Tooltip: - Icon: spenicon - -InfiltrateForSupportPower: - Allies04TransformOnLabInfiltrate: - ToActor: SPEN LST.Unselectable: Inherits: LST Buildable: @@ -1875,6 +1837,8 @@ Rules: RevealsShroud: Range: 6 Spy: + Infiltrates: + InfiltrateTypes: MissionObjective DOG.Patrol: Inherits: DOG Buildable: diff --git a/mods/ra/maps/monster-tank-madness/map.yaml b/mods/ra/maps/monster-tank-madness/map.yaml index e00da1a10d..c41b565b40 100644 --- a/mods/ra/maps/monster-tank-madness/map.yaml +++ b/mods/ra/maps/monster-tank-madness/map.yaml @@ -2535,11 +2535,14 @@ Rules: MonsterTankMadnessScript: FirstStartUnits: 1tnk, 1tnk, 2tnk, 2tnk SecondStartUnits: e1, e1, e1, e3, e3 - ThirdStartUnits: spy, e6, e6 + ThirdStartUnits: thf, e6, e6 FirstBaseUnits: 1tnk, 1tnk, 2tnk, arty, arty CivilianEvacuees: c1, c2, c5, c7, c8 MissionObjectivesPanel: ObjectivesPanel: MISSION_OBJECTIVES + SPY: + Infiltrates: + InfiltrateTypes: MissionObjective DEMITRI: Inherits: DELPHI Tooltip: diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index 11aa451e61..5863a6f47c 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -92,6 +92,7 @@ Movies: mods/ra/movies2.yaml LoadScreen: RALoadScreen + LoadScreenImage: mods/ra/uibits/loadscreen.png InstallerMenuWidget: INSTALL_PANEL TestFile: redalert.mix PackageURL: http://open-ra.org/get-dependency.php?file=ra-packages diff --git a/mods/ra/rules/infantry.yaml b/mods/ra/rules/infantry.yaml index 2d3a2071a4..e2f4a1a756 100644 --- a/mods/ra/rules/infantry.yaml +++ b/mods/ra/rules/infantry.yaml @@ -196,6 +196,8 @@ SPY: PipType: Yellow TakeCover: Spy: + Infiltrates: + InfiltrateTypes: Cash, SupportPower, Exploration -AutoTarget: AttackMove: JustMove: true @@ -399,6 +401,41 @@ DELPHI: RenderInfantryPanic: ScaredyCat: +CHAN: + Inherits: ^CivInfantry + Tooltip: + Name: Agent Chan + +GNRL: + Inherits: ^CivInfantry + Tooltip: + Name: General + +THF: + Inherits: ^Infantry + Valued: + Cost: 400 + Tooltip: + Name: Thief + Description: Steals enemy credits.\n Strong vs Nothing\n Weak vs Everything\n + Selectable: + Voice: ThiefVoice + Bounds: 12,17,0,-9 + Health: + HP: 25 + Mobile: + Speed: 4 + RevealsShroud: + Range: 5 + Passenger: + PipType: Yellow + Infiltrates: + InfiltrateTypes: Cash + TakeCover: + -AutoTarget: + AttackMove: + JustMove: true + SHOK: Inherits: ^Infantry Buildable: diff --git a/mods/ra/rules/system.yaml b/mods/ra/rules/system.yaml index 36fc421ecf..17f8286aab 100644 --- a/mods/ra/rules/system.yaml +++ b/mods/ra/rules/system.yaml @@ -306,6 +306,7 @@ World: SpatialBins: BinSize: 4 Shroud: + Fog: PathFinder: ValidateOrder: diff --git a/mods/ra/rules/vehicles.yaml b/mods/ra/rules/vehicles.yaml index b64728f201..14d924af4c 100644 --- a/mods/ra/rules/vehicles.yaml +++ b/mods/ra/rules/vehicles.yaml @@ -501,6 +501,28 @@ MGG.Husk: AnimKey: spinner-idle Offset: 0,6 +MRJ: + Inherits: ^Vehicle + Valued: + Cost: 1000 + Tooltip: + Name: Mobile Radar Jammer + Health: + HP: 200 + Armor: + Type: Light + Mobile: + Speed: 6 + RevealsShroud: + Range: 6 + RenderUnitSpinner: + Offset: 0,6 + AttackMove: + JustMove: yes + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + 1TNK.Husk: Inherits: ^Husk Tooltip: diff --git a/mods/ra/sequences.yaml b/mods/ra/sequences.yaml index 122aede2ba..5d9d77f077 100644 --- a/mods/ra/sequences.yaml +++ b/mods/ra/sequences.yaml @@ -1478,6 +1478,37 @@ spy: Length: 8 Facings: 8 +thf: + stand: + Start: 0 + Facings: 8 + run: + Start: 8 + Length: 6 + Facings: 8 + die1: + Start: 139 + Length: 8 + die2: + Start: 147 + Length: 8 + die3: + Start: 155 + Length: 8 + die4: + Start: 163 + Length: 12 + die5: + Start: 175 + Length: 18 + die6: electro + Start: 0 + Length: * + crawl: + Start: 72 + Length: 4 + Facings: 8 + litning: bright: Start: 0 @@ -2176,6 +2207,100 @@ delphi: Length: 6 Tick: 1600 +chan: + stand: + Start: 0 + Facings: 8 + panic-run: + Start: 8 + Length: 6 + Facings: 8 + panic-stand: + Start: 8 + Length: 6 + Facings: 8 + run: + Start: 56 + Length: 6 + Facings: 8 + die1: + Start: 115 + Length: 8 + die2: + Start: 123 + Length: 8 + die3: + Start: 135 + Length: 12 + die4: + Start: 147 + Length: 17 + die5: + Start: 123 + Length: 8 + die6: electro + Start: 0 + Length: * + die-crushed: corpse1 + Start: 0 + Length: 6 + Tick: 1600 + +gnrl: + stand: + Start: 0 + Facings: 8 + run: + Start: 8 + Length: 5 + Facings: 8 + shoot: + Start: 56 + Length: 4 + Facings: 8 + prone-stand: + Start: 88 + Length: 2 + Facings: 8 + prone-run: + Start: 104 + Length: 4 + Facings: 8 + standup-0: + Start: 136 + Length: 2 + Facings: 8 + prone-shoot: + Start: 152 + Length: 4 + Facings: 8 + idle1: + Start: 184 + Length: 26 + Tick: 120 + die1: + Start: 210 + Length: 8 + die2: + Start: 218 + Length: 8 + die3: + Start: 226 + Length: 8 + die4: + Start: 234 + Length: 12 + die5: + Start: 246 + Length: 18 + die6: electro + Start: 0 + Length: * + die-crushed: corpse1 + Start: 0 + Length: 6 + Tick: 1600 + parabomb: open: Start: 0 @@ -2386,7 +2511,7 @@ overlay: e8: stand: Start: 0 - Facings: 8 + Facings: 8 run: Start: 8 Length: 5