diff --git a/RulesConverter/MiniYamlExts.cs b/RulesConverter/MiniYamlExts.cs deleted file mode 100755 index 17a1047e71..0000000000 --- a/RulesConverter/MiniYamlExts.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRa.FileFormats; - -namespace RulesConverter -{ - using MiniYamlNodes = Dictionary; - - static class MiniYamlExts - { - public static void OptimizeInherits( this MiniYamlNodes y, MiniYamlNodes baseYaml ) - { - foreach( var key in y.Keys.ToList() ) - { - var node = y[ key ]; - try - { - MiniYaml inherits; - node.Nodes.TryGetValue( "Inherits", out inherits ); - if( inherits == null || string.IsNullOrEmpty( inherits.Value ) ) - continue; - - MiniYaml parent; - baseYaml.TryGetValue( inherits.Value, out parent ); - if( parent == null ) - continue; - - bool remove; - y[ key ] = Diff( node, parent, out remove ); - if( remove ) - y.Add( "-" + key, new MiniYaml( null ) ); - if( y[ key ] == null ) - y.Remove( key ); - } - catch - { - node.Nodes.Remove( "Inherits" ); - } - } - } - - static MiniYamlNodes Diff( MiniYamlNodes a, MiniYamlNodes b ) - { - if( a.Count == 0 && b.Count == 0 ) - return null; - if( b.Count == 0 ) - return a; - if( a.Count == 0 ) - throw new NotImplementedException( "parent has key not in child" ); - - var ret = new MiniYamlNodes(); - - var keys = a.Keys.Union( b.Keys ).ToList(); - - foreach( var key in keys ) - { - MiniYaml aa, bb; - a.TryGetValue( key, out aa ); - b.TryGetValue( key, out bb ); - bool remove; - var diff = Diff( aa, bb, out remove ); - if( remove ) - ret.Add( "-" + key, new MiniYaml( null ) ); - - if( diff != null ) - ret.Add( key, diff ); - } - - if( ret.Count == 0 ) return null; - return ret; - } - - static MiniYaml Diff( MiniYaml a, MiniYaml b, out bool remove ) - { - remove = false; - if( a == null && b == null ) - throw new InvalidOperationException( "can't happen" ); - else if( a == null ) - { - remove = true; - return a; - } - else if( b == null ) - return a; - - var diff = Diff( a.Nodes, b.Nodes ); - if( diff == null && a.Value == b.Value ) - return null; - return new MiniYaml( a.Value, diff ); - } - } -} diff --git a/RulesConverter/Program.cs b/RulesConverter/Program.cs deleted file mode 100644 index c886e0e3c1..0000000000 --- a/RulesConverter/Program.cs +++ /dev/null @@ -1,230 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using OpenRa.FileFormats; -using System.IO; -using IjwFramework.Types; - -namespace RulesConverter -{ - using PL = Dictionary; - - class Program - { - static void Main(string[] args) - { - FileSystem.Mount(new Folder("./")); - - var ruleStreams = args - .Where(a => a.EndsWith(".ini")) - .Select(a => FileSystem.Open(a)).ToArray(); - - var rules = new IniFile(ruleStreams); - - var outputFile = args.Single(a => !a.EndsWith(".ini")); - - var categoryMap = new Dictionary> - { - { "VehicleTypes", Pair.New( "^Vehicle", "Vehicle" ) }, - { "ShipTypes", Pair.New( "^Ship", "Ship" ) }, - { "PlaneTypes", Pair.New( "^Plane", "Plane" ) }, - { "BuildingTypes", Pair.New( "^Building", "Building" ) }, - { "InfantryTypes", Pair.New( "^Infantry", "Infantry" ) }, - }; - - var traitMap = new Dictionary - { - { "Unit", new PL { - { "HP", "Strength" }, - { "Armor", "Armor" }, - { "Crewed", "Crewed" }, - { "InitialFacing", "InitialFacing" }, - { "ROT", "ROT" }, - { "Sight", "Sight" }, - { "Speed", "Speed" }, - { "WaterBound", "WaterBound" } } - }, - - { "Selectable", new PL { - { "Priority", "SelectionPriority" }, - { "Voice", "Voice" }, - { "Bounds", "SelectionSize" } } - }, - - { "Mobile", new PL { - { "MovementType", "$MovementType" } } - }, - - { "RenderBuilding", new PL { - { "Image", "Image" } } - }, - - { "RenderUnitSpinner", new PL { - { "Image", "Image" }, - { "Offset", "PrimaryOffset" } } - }, - - { "RenderUnitRotor", new PL { - { "Image", "Image" }, - { "PrimaryOffset", "RotorOffset" }, - { "SecondaryOffset", "RotorOffset2" } } - }, - - { "Buildable", new PL { - { "TechLevel", "TechLevel" }, - { "Prerequisites", "Prerequisite" }, - { "BuiltAt", "BuiltAt" }, - { "Owner", "Owner" }, - { "Cost", "Cost" }, - { "Icon", "Icon" }, - { "Description", "Description" }, - { "LongDesc", "LongDesc" }, - { "AlternateName", "AlternateName" } } - }, - - { "Cargo", new PL { - { "PassengerTypes", "PassengerTypes" }, - { "Passengers", "Passengers" }, - { "UnloadFacing", "UnloadFacing" } } - }, - - { "LimitedAmmo", new PL { - { "Ammo", "Ammo" } } - }, - - { "Building", new PL { - { "Power", "Power" }, - { "Footprint", "Footprint" }, - { "Dimensions", "Dimensions" }, - { "Capturable", "Capturable" }, - { "Repairable", "Repairable" }, - { "BaseNormal", "BaseNormal" }, - { "Adjacent", "Adjacent" }, - { "Bib", "Bib" }, - { "HP", "Strength" }, - { "Armor", "Armor" }, - { "Crewed", "Crewed" }, - { "WaterBound", "WaterBound" }, - { "Sight", "Sight" }, - { "Unsellable", "Unsellable" } } - }, - - { "StoresOre", new PL { - { "Pips", "OrePips" }, - { "Capacity", "Storage" } } - }, - - { "Harvester", new PL { - { "Pips", "OrePips" } } - //{ "Capacity" - }, - - { "AttackBase", new PL { - { "PrimaryWeapon", "Primary" }, - { "SecondaryWeapon", "Secondary" }, - { "PrimaryOffset", "PrimaryOffset" }, - { "SecondaryOffset", "SecondaryOffset" }, - { "PrimaryLocalOffset", "PrimaryLocalOffset" }, - { "SecondaryLocalOffset", "SecondaryLocalOffset" }, - { "MuzzleFlash", "MuzzleFlash" }, // maybe - { "Recoil", "Recoil"}, - { "FireDelay", "FireDelay" } } - }, - - { "Production", new PL { - { "SpawnOffset", "SpawnOffset" }, - { "Produces", "Produces" } } - }, - - { "ProductionSurround", new PL { - { "Produces", "Produces" } } - }, - - { "Minelayer", new PL { - { "Mine", "Primary" } } - }, - - { "Turreted", new PL { - { "ROT", "ROT" }, - { "InitialFacing", "InitialFacing" } } - }, - }; - - traitMap["RenderUnit"] = traitMap["RenderBuilding"]; - traitMap["RenderBuildingCharge"] = traitMap["RenderBuilding"]; - traitMap["RenderBuildingOre"] = traitMap["RenderBuilding"]; - traitMap["RenderBuildingTurreted"] = traitMap["RenderBuilding"]; - traitMap["RenderInfantry"] = traitMap["RenderBuilding"]; - traitMap["RenderUnitMuzzleFlash"] = traitMap["RenderBuilding"]; - traitMap["RenderUnitReload"] = traitMap["RenderBuilding"]; - traitMap["RenderUnitTurreted"] = traitMap["RenderBuilding"]; - - traitMap["AttackTurreted"] = traitMap["AttackBase"]; - traitMap["AttackPlane"] = traitMap["AttackBase"]; - traitMap["AttackHeli"] = traitMap["AttackBase"]; - - using (var writer = File.CreateText(outputFile)) - { - foreach (var cat in categoryMap) - try - { - foreach (var item in rules.GetSection(cat.Key).Select(a => a.Key)) - { - var iniSection = rules.GetSection(item); - writer.WriteLine("{0}:", item); - writer.WriteLine("\tInherits: {0}", cat.Value.First); - writer.WriteLine("\tCategory: {0}", cat.Value.Second); - - var traits = iniSection.GetValue("Traits", "") - .Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList(); - - if (iniSection.GetValue("Selectable", "yes") == "yes") - traits.Insert(0, "Selectable"); - - if (iniSection.GetValue("TechLevel", "-1") != "-1") - traits.Insert(0, "Buildable"); - - foreach (var t in traits) - { - writer.WriteLine("\t{0}:", t); - - if (traitMap.ContainsKey(t)) - foreach (var kv in traitMap[t]) - { - var v = iniSection.GetValue(kv.Value, ""); - if (kv.Value == "$Tab") v = cat.Value.Second; - if (kv.Value == "$MovementType") v = GetMovementType(iniSection, traits); - if (!string.IsNullOrEmpty(v)) writer.WriteLine("\t\t{0}: {1}", kv.Key, v); - } - } - - writer.WriteLine(); - } - } - catch { } - } - - var yaml = MiniYaml.FromFile( outputFile ); - if( File.Exists( "merge-" + outputFile ) ) - yaml = MiniYaml.Merge( MiniYaml.FromFile( "merge-" + outputFile ), yaml ); - // A hack, but it works - yaml.OptimizeInherits( MiniYaml.FromFile( "../ra/defaults.yaml" ) ); - yaml.WriteToFile( outputFile ); - } - - static string GetMovementType(IniSection unit, List traits) - { - if (unit.GetValue("WaterBound", "no") == "yes") - return "Float"; - if (unit.GetValue("Tracked", "no") == "yes") - return "Track"; - if (traits.Contains("Plane") || traits.Contains("Helicopter")) - return "Fly"; - if (traits.Contains("RenderInfantry") || traits.Contains("RenderSpy")) - return "Foot"; - - return "Wheel"; - } - } -} diff --git a/RulesConverter/Properties/AssemblyInfo.cs b/RulesConverter/Properties/AssemblyInfo.cs deleted file mode 100644 index 3209d221c5..0000000000 --- a/RulesConverter/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("RulesConverter")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("RulesConverter")] -[assembly: AssemblyCopyright("Copyright © 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("6b0eb619-b53d-4b2a-bbfd-585fcab99b22")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/RulesConverter/RulesConverter.csproj b/RulesConverter/RulesConverter.csproj deleted file mode 100644 index 6f025e07b0..0000000000 --- a/RulesConverter/RulesConverter.csproj +++ /dev/null @@ -1,71 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {BBE7C0D7-7529-4C34-9910-206866F204EF} - Exe - Properties - RulesConverter - RulesConverter - v3.5 - 512 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\Ijw.DirectX\Ijw.Framework\IjwFramework\bin\Release\IjwFramework.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA} - OpenRa.FileFormats - - - - - \ No newline at end of file diff --git a/mods/ra/campaignUnits.ini b/mods/ra/campaignUnits.ini deleted file mode 100644 index 13ae1b8008..0000000000 --- a/mods/ra/campaignUnits.ini +++ /dev/null @@ -1,243 +0,0 @@ -[BuildingTypes] -FCOM -V01 -V02 -V03 -V04 -V05 -V06 -V07 -V08 -V09 -V10 -V11 -V12 -V13 -V14 -V15 -V16 -V17 -V18 -V19 -V20 -V21 -V22 -V23 -V24 -V25 -V26 -V27 -V28 -V29 -V30 -V31 -V32 -V33 -V34 -V35 -V36 -V37 -BARL -BRL3 -MISS - -[FCOM] -Description=Forward Command Post -Traits=Building, RenderBuilding -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 - -[V01] -Traits=Building, RenderBuilding -SelectionPriority=3 -Dimensions=2,2 -Footprint=xx xx -[V02] -Traits=Building, RenderBuilding -SelectionPriority=3 -Dimensions=2,2 -Footprint=xx xx -[V03] -Traits=Building, RenderBuilding -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -[V04] -Traits=Building, RenderBuilding -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -[V05] -Traits=Building, RenderBuilding -Dimensions=2,1 -Footprint=xx -SelectionPriority=3 -[V06] -Traits=Building, RenderBuilding -Dimensions=2,1 -Footprint=xx -SelectionPriority=3 -[V07] -Traits=Building, RenderBuilding -Dimensions=2,1 -Footprint=xx -SelectionPriority=3 -[V08] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V09] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V10] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V11] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V12] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V13] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V14] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V15] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V16] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V17] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V18] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V19] -Traits=Building, RenderBuilding -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -[V20] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V21] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V22] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V23] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V24] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V25] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V26] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V27] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V28] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V29] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V30] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V31] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V32] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V33] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V34] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V35] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V36] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[V37] -Traits=Building, RenderBuilding -Image=FCOM -SelectionPriority=3 -[BARL] -Traits=Building, RenderBuilding, Explodes -Dimensions=1,1 -Footprint=x -SelectionPriority=0 -[BRL3] -Traits=Building, RenderBuilding, Explodes -Dimensions=1,1 -Footprint=x -SelectionPriority=0 -[MISS] -Traits=Building, RenderBuilding -Dimensions=3,2 -Footprint=xxx xxx -SelectionPriority=0 - - - - -[VehicleTypes] -TRUK - -[TRUK] -Traits=Unit, Mobile, RenderUnit, Repairable, Chronoshiftable, Passenger, IronCurtainable -Voice=VehicleVoice - diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index 6fa5b01ad0..a15891e9b1 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -20,8 +20,7 @@ Packages: interior.mix LegacyRules: - mods/ra/rules.ini: More or less original Red Alert rules file. - mods/ra/units.ini: OpenRA patches + mods/ra/rules.ini Rules: mods/ra/defaults.yaml: Basic stuff @@ -35,28 +34,3 @@ Chrome: Assemblies: mods/ra/OpenRa.Mods.RA.dll: Traits used - -Maps: - scm22ea.ini: A Path Beyond (Lg) - scm13ea.ini: Central Conflict (Lg) - scm01ea.ini: Coastal Influence (Med) - scm14ea.ini: Combat Alley (Med) - scm16ea.ini: Desolation (Lg) - scm23ea.ini: Dugout Isle (Med) - scm03ea.ini: Equal Opportunity (Sm) - scm10ea.ini: First Come, First Serve (Sm) - scm11ea.ini: Island Hoppers (Sm) - scm15ea.ini: Island Wars (Lg) - scm06ea.ini: Isle of Fury (Lg) - scm07ea.ini: Ivory Wastelands (Sm) - scm05ea.ini: Keep off the Grass (Sm) - scm04ea.ini: Marooned II (Med) - scm02ea.ini: Middle Mayhem (Sm) - scm17ea.ini: No Escape (Med) - scm18ea.ini: No Man's Land (Med) - scm19ea.ini: Normandy (Med) - scm20ea.ini: Pond Skirmish (Med) - scm12ea.ini: Raraku (Lg) - scm21ea.ini: Ridge War (Med) - scm08ea.ini: Shallow Grave (Med) - scm24ea.ini: Treasure Isle (Med) \ No newline at end of file diff --git a/mods/ra/rules.ini b/mods/ra/rules.ini index 62c9bc9850..fa457dbbfb 100644 --- a/mods/ra/rules.ini +++ b/mods/ra/rules.ini @@ -112,1663 +112,6 @@ TeamDelay=.6 ; interval between checking for and creating teams FineDiffControl=no ; Allow 5 difficulty settings instead of only 3 settings? -; ******* Unit Statistics ******* -; Specifies the characteristics of the various game objects. - -; Ammo = number of rounds carried between reloads [-1 means unlimited] (def=-1) -; Armor = the armor type of this object [none,wood,light,heavy,concrete] (def=none) -; Cloakable = Is it equipped with a cloaking device (def=no)? -; Cost = cost to build object (in credits) -; Explodes = Does it explode violently when destroyed [i.e., does it do collateral damage] (def=no)? -; GuardRange = distance to scan for enemies to attack (def=use weapon range) -; Image = name of graphic data to use for this object (def=same as object identifier) -; Invisible = Is completely and always invisible to enemy (def=no)? -; Owner = who can build this [Allies or Soviet] (def="allies,soviet", i.e., all) -; Points = point value for scoring purposes (def=0) -; Prerequisite = list of buildings needed before this can be manufactured (def=no requirement) -; Primary = primary weapon equipped with (def=none) -; Secondary = secondary weapon equipped with (def=none) -; ROT = Rate Of Turn for body (if present) and turret (if present) (def=0) -; Reload = time delay between reloads (def=0) -; SelfHealing = Does the object heal automatically up to half strength (def=no)? -; Sight = sight range, in cells (def=1) -; Strength = strength (hit points) of this object -; TechLevel = tech level required to build this [-1 means can't build] (def=-1) -; Sensors = Has sensors to detect nearby cloaked objects (def=no)? -; DoubleOwned = Can be built/owned by all countries in a multiplayer game (def=no)? -; <<< applies only to infantry types >>> -; C4 = Equipped with building sabotage explosives [presumes Infiltrate is true] (def=no)? -; Fraidycat = Is it inherently afraid and will panic easily (def=no)? -; Infiltrate = Can it enter a building like a spy or thief (def=no)? -; IsCanine = Should special case dog logic be applied to this? -; <<< applies only to moving units (not buildings) >>> -; Passengers = number of passengers it may carry (def=0) -; Speed = speed of this object [n/a for buildings] (def=0) -; <<< applies only to terrestrial driving vehicle types >>> -; Crushable = Can it be crushed by a heavy tracked vehicle (def=no)? -; Tracked = Is this vehicle tracked [as opposed to wheeled] (def=no)? -; NoMovingFire = The vehicle must stop before it can fire (def=no)? -; <<< applies only to building types >>> -; BaseNormal = Considered for building adjacency checks (def=yes)? -; Adjacent = distance allowed to place from other buildings (def=1) -; Bib = Should the building have an attached bib (def=no)? -; Capturable = Can this building be infiltrated by a spy/engineer (def=no)? -; Crewed = Does it contain a crew that can escape (def=no)? -; Power = power output [positive for output, negative for drain] (def=0) -; Powered = Does it require power to function (def=no)? -; Repairable = Can it be repaired (def=yes)? -; Storage = the number of credits this building can store (def=0) -; Unsellable = Cannot sell this building (even if it can be built)? -; WaterBound = Is this building placed on water only (def=no)? - -; ******* terrestrial driving vehicle types ******* -; SCUD launcher -[V2RL] -Prerequisite=weap,dome -Primary=SCUD -Strength=150 -Armor=light -TechLevel=4 -Sight=5 -Speed=7 -Owner=soviet -Cost=700 -Points=40 -ROT=5 -Tracked=yes -Ammo=1 -Crewed=yes -NoMovingFire=yes - -; light tank -[1TNK] -Prerequisite=weap -Primary=75mm -Strength=300 -Armor=heavy -TechLevel=4 -Sight=4 -Speed=9 -Owner=allies -Cost=700 -Points=30 -ROT=5 -Tracked=yes -Crewed=yes - -; heavy tank -[3TNK] -Prerequisite=weap -Primary=105mm -Secondary=105mm -Strength=400 -Armor=heavy -TechLevel=4 -Sight=5 -Speed=7 -Owner=soviet -Cost=950 -Points=50 -ROT=5 -Tracked=yes -Crewed=yes - -; medium tank -[2TNK] -Prerequisite=weap -Primary=90mm -Strength=400 -Armor=heavy -TechLevel=6 -Sight=5 -Speed=8 -Owner=allies -Cost=800 -Points=40 -ROT=5 -Tracked=yes -Crewed=yes - -; Mammoth tank -[4TNK] -Prerequisite=weap,stek -Primary=120mm -Secondary=MammothTusk -Strength=600 -Armor=heavy -TechLevel=10 -Sight=6 -Speed=4 -Owner=soviet -Cost=1700 -Points=60 -ROT=5 -Tracked=yes -SelfHealing=yes -Crewed=yes - -; mobile radar jammer -[MRJ] -Prerequisite=weap,dome -Strength=110 -Armor=light -TechLevel=12 -Sight=7 -Speed=9 -Owner=allies -Cost=600 -Points=30 -ROT=5 -Tracked=yes -Crewed=yes - -; mobile gap generator -[MGG] -Prerequisite=weap,atek -Strength=110 -Armor=light -TechLevel=11 -Sight=4 -Speed=9 -Owner=allies -Cost=600 -Points=40 -ROT=5 -Crewed=yes - -; mobile artillery -[ARTY] -Prerequisite=weap -Primary=155mm -Strength=75 -Armor=light -TechLevel=8 -Sight=5 -Speed=6 -Owner=allies -Cost=600 -Points=35 -ROT=2 -Tracked=yes -Crewed=yes -NoMovingFire=yes - -; harvester -[HARV] -Prerequisite=weap,proc -Strength=600 -Armor=heavy -TechLevel=1 -Sight=4 -Speed=6 -Owner=allies,soviet -Cost=1400 -Points=55 -ROT=5 -Tracked=yes -Crewed=yes -SelfHealing=yes - -; Mobile Construction Vehicle -[MCV] -Prerequisite=weap,fix -Strength=600 -Armor=light -TechLevel=11 -Sight=4 -Speed=6 -Owner=allies,soviet -Cost=2500 -Points=60 -ROT=5 -Crewed=yes - -; Ranger (as in "Ford", not "W.W. II Commando") -[JEEP] -Prerequisite=weap -Primary=M60mg -Strength=150 -Armor=light -TechLevel=3 -Sight=6 -Speed=10 -Owner=allies -Cost=600 -Points=20 -ROT=10 -Crewed=yes - -; Armored Personnel Carrier -[APC] -Prerequisite=weap,tent -Primary=M60mg -Strength=200 -Armor=heavy -TechLevel=5 -Sight=5 -Speed=10 -Owner=allies -Cost=800 -Points=25 -ROT=5 -Tracked=yes -Passengers=5 - -; mine layer -[MNLY.AP] -Prerequisite=weap,fix -Strength=100 -Armor=heavy -Image=MNLY -Icon=MNLYICON -TechLevel=3 -Sight=5 -Speed=9 -Owner=soviet -Cost=800 -Points=50 -ROT=5 -Tracked=yes -Ammo=5 ; number of mines carried -Crewed=yes - -[MNLY.AT] -Prerequisite=weap,fix -Strength=100 -Armor=heavy -Image=MNLY -Icon=MNLYICON -TechLevel=3 -Sight=5 -Speed=9 -Owner=allies -Cost=800 -Points=50 -ROT=5 -Tracked=yes -Ammo=5 ; number of mines carried -Crewed=yes - -; convoy truck -[TRUK] -Strength=110 -Armor=light -Owner=soviet,allies -TechLevel=-1 -Sight=3 -Speed=10 -Cost=500 -Points=5 -ROT=5 -Passengers=1 - -; ******* ship types ******* -; submarine -[SS] -Prerequisite=spen -Primary=TorpTube -Strength=120 -Armor=light -TechLevel=5 -Sight=6 -Speed=6 -Owner=soviet -Cost=950 -Points=45 -ROT=7 -Cloakable=yes - -; destroyer -[DD] -Prerequisite=syrd -Primary=Stinger -Secondary=DepthCharge -Strength=400 -Armor=heavy -TechLevel=7 -Sight=6 -Speed=6 -Owner=allies -Cost=1000 -Points=50 -ROT=7 -Sensors=Yes - -; cruiser -[CA] -Prerequisite=syrd,atek -Primary=8Inch -Secondary=8Inch -Strength=700 -Armor=heavy -TechLevel=10 -Sight=7 -Speed=4 -Owner=allies -Cost=2000 -Points=60 -ROT=5 -Sensors=Yes - -; transport -[LST] -Strength=350 -Armor=heavy -TechLevel=3 -Sight=6 -Speed=14 -Owner=allies,soviet -Cost=700 -Points=25 -ROT=10 -Passengers=5 - -; gun boat -[PT] -Prerequisite=syrd -Primary=2Inch -Secondary=DepthCharge -Strength=200 -Armor=heavy -TechLevel=5 -Sight=7 -Speed=9 -Owner=allies -Cost=500 -Points=30 -ROT=7 -Sensors=Yes - -; ******* infantry types ******* -; attack dog -[DOG] -Prerequisite=kenn -Primary=DogJaw -Strength=12 -Armor=none -TechLevel=3 -Sight=5 -Speed=4 -Owner=soviet -Cost=200 -Points=5 -IsCanine=yes -GuardRange=7 - -; rifle soldier -[E1] -Primary=M1Carbine -Strength=50 -Armor=none -TechLevel=1 -Sight=4 -Speed=4 -Owner=allies,soviet -Cost=100 -Points=5 - -; grenadier -[E2] -Primary=Grenade -Strength=50 -Armor=none -TechLevel=1 -Sight=4 -Speed=5 -Owner=soviet -Cost=160 -Points=10 -Explodes=yes - -; rocket soldier -[E3] -Primary=RedEye -Secondary=Dragon -Strength=45 -Armor=none -TechLevel=2 -Sight=4 -Speed=3 -Owner=allies,soviet -Cost=300 -Points=10 - -; Flamethrower -[E4] -Prerequisite=stek -Primary=Flamer -Strength=40 -Armor=none -TechLevel=6 -Sight=4 -Speed=3 -Owner=soviet -Cost=300 -Points=15 -Explodes=yes - -; engineer -[E6] -Strength=25 -Armor=none -TechLevel=5 -Sight=4 -Speed=4 -Owner=soviet,allies -Cost=500 -Points=20 -Infiltrate=yes - -; spy -[SPY] -Prerequisite=dome -Strength=25 -Armor=none -TechLevel=6 -Sight=5 -Speed=4 -Owner=allies -Cost=500 -Points=15 -Infiltrate=yes - -; thief -[THF] -Prerequisite=atek -Strength=25 -Armor=none -TechLevel=11 -Sight=5 -Speed=4 -Owner=allies -Cost=500 -Points=10 -Infiltrate=yes - -; Tanya -[E7] -Prerequisite=@Tech Center -Primary=Colt45 -Secondary=Colt45 -Strength=100 -Armor=none -TechLevel=11 -Sight=6 -Speed=5 -Owner=allies,soviet -Cost=1200 -Points=25 -Infiltrate=yes -C4=yes - -; field medic -[MEDI] -Primary=Heal -Strength=80 -Armor=none -TechLevel=2 -Sight=3 -Speed=4 -Owner=allies -Cost=800 -Points=15 - -; field marshal -[GNRL] -Primary=Pistol -Strength=80 -Armor=none -TechLevel=-1 -Sight=3 -Speed=5 -Owner=allies,soviet -Cost=0 -Points=15 -Infiltrate=yes - -; civilians -[C1] -Image=C1 -Primary=Pistol -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Ammo=10 -Fraidycat=yes - -[C2] -Image=C1 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C3] -Image=C2 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C4] -Image=C2 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C5] -Image=C2 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C6] -Image=C1 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C7] -Image=C1 -Primary=Pistol -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Ammo=10 -Fraidycat=yes - -[C8] -Image=C1 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C9] -Image=C1 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -[C10] -Image=C1 -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Fraidycat=yes - -; professor Einstein -[EINSTEIN] -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies -Cost=10 -Points=1 -Fraidycat=yes - -; special agent -[DELPHI] -Primary=Pistol -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 -Ammo=10 - -; special agent -[CHAN] -Strength=25 -Armor=none -TechLevel=-1 -Sight=2 -Speed=5 -Owner=allies,soviet -Cost=10 -Points=1 - -; ******* aircraft types ******* -; Badger bomber -[BADR] -Prerequisite=afld -Primary=ParaBomb -Strength=60 -Armor=light -TechLevel=-1 -Sight=0 -Speed=16 -Owner=soviet -Cost=10 -Points=20 -ROT=5 -Ammo=5 -Passengers=5 - -; spy photo-recon plane -[U2] -Prerequisite=afld -Primary=Camera -Strength=2000 -Armor=heavy -TechLevel=-1 -Sight=0 -Speed=40 -Owner=soviet -Cost=10 -Points=5 -ROT=7 -Ammo=1 ; snapshot film - -; jet attack plane -[MIG] -Prerequisite=afld -Primary=Maverick -Secondary=Maverick -Strength=50 -Armor=light -TechLevel=10 -Sight=0 -Speed=20 -Owner=soviet -Cost=1200 -Points=50 -ROT=5 -Ammo=3 -GuardRange=30 - -; prop attack plane -[YAK] -Prerequisite=afld -Primary=ChainGun -Secondary=ChainGun -Strength=60 -Armor=light -TechLevel=5 -Sight=0 -Speed=16 -Owner=soviet -Cost=800 -Points=25 -ROT=5 -Ammo=15 -Crewed=yes -GuardRange=30 - -; transport helicopter -[TRAN] -Prerequisite=hpad -Strength=90 -Armor=light -TechLevel=11 -Sight=0 -Speed=12 -Owner=allies -Cost=1200 -Points=35 -ROT=5 -Passengers=5 - -; Longbow attack helicopter -[HELI] -Prerequisite=hpad -Primary=Hellfire -Secondary=Hellfire -Strength=225 -Armor=heavy -TechLevel=9 -Sight=0 -Speed=16 -Owner=allies -Cost=1200 -Points=50 -ROT=4 -Ammo=6 -Crewed=yes -GuardRange=30 - -; Hind attack helicopter -[HIND] -Prerequisite=hpad -Primary=ChainGun -Strength=225 -Armor=heavy -TechLevel=9 -Sight=0 -Speed=12 -Owner=allies -Cost=1200 -Points=40 -ROT=4 -Ammo=12 -Crewed=yes -GuardRange=30 - -; ******* building types ******* -; Iron Curtain -[IRON] -Prerequisite=stek -Strength=400 -Armor=wood -TechLevel=12 -Sight=10 -Owner=soviet -Cost=2800 -Points=100 -Power=-200 -Powered=true -Capturable=true -Crewed=yes - -; forward command center -[FCOM] -Strength=400 -Armor=wood -TechLevel=-1 -Sight=10 -Owner=soviet -Cost=0 -Points=40 -Power=-200 -Bib=yes -Capturable=true -Crewed=yes - -; advanced tech center -[ATEK] -Prerequisite=weap,dome -Strength=400 -Armor=wood -TechLevel=10 -Sight=10 -Owner=allies -Cost=1500 -Points=85 -Power=-200 -Bib=yes -Capturable=true -Crewed=yes - -; paradox device -[PDOX] -Prerequisite=atek -Strength=400 -Armor=wood -TechLevel=12 -Sight=10 -Owner=allies -Cost=2800 -Points=100 -Power=-200 -Powered=true -Capturable=true -Crewed=yes - -; weapons factory -[WEAP] -Prerequisite=proc -Strength=1000 -Armor=light -TechLevel=3 -Sight=4 -Owner=soviet,allies -Cost=2000 -Points=80 -Power=-30 -Bib=yes -Capturable=true -Crewed=yes - -; ship yard -[SYRD] -Prerequisite=powr -Strength=1000 -Armor=light -TechLevel=3 -Sight=4 -Owner=allies -Cost=650 -Points=80 -Power=-30 -Adjacent=8 -WaterBound=yes -Capturable=true -BaseNormal=no - -; sub pen -[SPEN] -Prerequisite=powr -Strength=1000 -Armor=light -TechLevel=3 -Sight=4 -Owner=soviet -Cost=650 -Points=80 -Power=-30 -Adjacent=8 -WaterBound=yes -Capturable=true -BaseNormal=no - -; pill box -[PBOX] -Prerequisite=tent -Primary=Vulcan -Strength=400 -Armor=wood -TechLevel=2 -Sight=5 -Owner=allies -Cost=400 -Points=50 -Power=-15 -Sensors=yes -Crewed=yes - -; camouflaged pill box -[HBOX] -Prerequisite=tent -Primary=Vulcan -Strength=600 -Armor=wood -TechLevel=3 -Sight=5 -Owner=allies -Cost=600 -Points=60 -Power=-15 -Sensors=yes -Crewed=yes - -; Tesla coil -[TSLA] -Prerequisite=weap -Primary=TeslaZap -Strength=400 -Armor=heavy -TechLevel=7 -Sight=8 -Owner=soviet -Cost=1500 -Points=80 -Power=-150 -Ammo=3 -Powered=true -Sensors=yes -Crewed=yes - -; gun turret -[GUN] -Prerequisite=tent -Primary=TurretGun -Strength=400 -Armor=heavy -TechLevel=4 -Sight=6 -Owner=allies -Cost=600 -Points=50 -Power=-40 -Sensors=yes -Crewed=yes -ROT=12 - -; anti-aircraft artillery -[AGUN] -Prerequisite=dome -Primary=ZSU-23 -Secondary=ZSU-23 -Strength=400 -Armor=heavy -TechLevel=5 -Sight=6 -Owner=allies -Cost=600 -Points=50 -Power=-50 -Crewed=yes -ROT=15 -Powered=true - -; flame turret -[FTUR] -Prerequisite=barr -Primary=FireballLauncher -Strength=400 -Armor=heavy -TechLevel=2 -Sight=6 -Owner=soviet -Cost=600 -Points=65 -Power=-20 -Sensors=yes -Explodes=no -Crewed=yes - -; construction yard -[FACT] -Strength=1000 -Armor=heavy -TechLevel=-1 -Sight=5 -Owner=allies,soviet -Cost=2500 -Points=80 -Power=0 -Bib=yes -Capturable=true -Crewed=yes - -; refinery -[PROC] -Prerequisite=powr -Strength=900 -Armor=wood -TechLevel=1 -Sight=6 -Owner=allies,soviet -Cost=2000 -Points=80 -Power=-30 -Storage=2000 -Bib=yes -Capturable=true -Crewed=yes - -; storage silo -[SILO] -Prerequisite=proc -Strength=300 -Armor=wood -TechLevel=1 -Sight=4 -Owner=allies,soviet -Cost=150 -Points=25 -Power=-10 -Storage=1500 -Capturable=true - -; helipad -[HPAD] -Prerequisite=dome -Strength=800 -Armor=wood -TechLevel=9 -Sight=5 -Owner=allies -Cost=1500 -Points=70 -Power=-10 -Bib=yes -Capturable=true -Crewed=yes - -; radar building -[DOME] -Prerequisite=proc -Strength=1000 -Armor=wood -TechLevel=3 -Sight=10 -Owner=allies,soviet -Cost=1000 -Points=60 -Power=-40 -Bib=yes -Powered=true -Capturable=true -Sensors=yes -Crewed=yes - -; gap generator -[GAP] -Prerequisite=atek -Strength=1000 -Armor=wood -TechLevel=10 -Sight=10 -Owner=allies -Cost=500 -Points=35 -Power=-60 -Powered=true -Capturable=true -Crewed=yes - -; Surface to Air Missile launcher -[SAM] -Prerequisite=dome -Primary=Nike -Strength=400 -Armor=heavy -TechLevel=9 -Sight=5 -Owner=soviet -Cost=750 -Points=50 -Power=-20 -Crewed=yes -ROT=30 - -; big missile silo -[MSLO] -Prerequisite=@Tech Center -Primary=none -Strength=400 -Armor=heavy -TechLevel=13 -Sight=5 -Owner=soviet,allies -Cost=2500 -Points=90 -Power=-100 -Crewed=yes - -; airstrip -[AFLD] -Prerequisite=dome -Strength=1000 -Armor=heavy -TechLevel=5 -Sight=7 -Owner=soviet -Cost=600 -Points=70 -Power=-30 -Capturable=true -Crewed=yes - -; normal power plant -[POWR] -Strength=400 -Armor=wood -TechLevel=1 -Sight=4 -Owner=allies,soviet -Cost=300 -Points=40 -Power=100 -Bib=yes -Capturable=true -Crewed=yes - -; advanced power plant -[APWR] -Prerequisite=powr -Strength=700 -Armor=wood -TechLevel=8 -Sight=4 -Owner=allies,soviet -Cost=500 -Points=50 -Power=200 -Bib=yes -Capturable=true -Crewed=yes - -; Soviet tech center -[STEK] -Prerequisite=weap,dome -Strength=600 -Armor=wood -TechLevel=6 -Sight=4 -Owner=soviet -Cost=1500 -Points=85 -Power=-100 -Bib=yes -Capturable=true -Crewed=yes - -; hospital (obsolete?) -[HOSP] -Strength=400 -Armor=wood -TechLevel=-1 -Sight=4 -Owner= -Cost= -Points=20 -Power=-20 -Bib=yes -Capturable=true -Crewed=yes - -; bio-research laboratory (obsolete?) -[BIO] -Strength=600 -Armor=wood -TechLevel=-1 -Sight=4 -Owner= -Cost= -Points=30 -Power=-40 -Bib=yes -Crewed=yes - -; Soviet barracks -[BARR] -Prerequisite=powr -Strength=800 -Armor=wood -TechLevel=1 -Sight=5 -Owner=soviet -Cost=300 -Points=30 -Power=-20 -Bib=yes -Crewed=yes -Capturable=true - -; Allied training tent -[TENT] -Prerequisite=powr -Strength=800 -Armor=wood -TechLevel=1 -Sight=5 -Owner=allies -Cost=300 -Points=30 -Power=-20 -Bib=yes -Crewed=yes -Capturable=true - -; attack dog training facility -[KENN] -Prerequisite=barr -Strength=400 -Armor=wood -TechLevel=3 -Sight=4 -Owner=soviet -Cost=200 -Points=25 -Power=-10 - -; service depot -[FIX] -Prerequisite=weap -Strength=800 -Armor=wood -TechLevel=3 -Sight=5 -Owner=allies,soviet -Cost=1200 -Points=80 -Power=-30 -Capturable=true -Crewed=yes - -; sandbag wall -[SBAG] -Prerequisite=fact -Strength=1 -Armor=none -TechLevel=2 -Sight=0 -Owner=allies -Cost=25 -Points=1 -Repairable=false -Adjacent=1 - -; concrete wall -[BRIK] -Prerequisite=fact -Strength=1 -Armor=none -TechLevel=8 -Sight=0 -Owner=allies,soviet -Cost=100 -Points=5 -Repairable=false -Adjacent=1 - -; wire fence -[FENC] -Prerequisite=fact -Strength=1 -Armor=none -TechLevel=2 -Sight=0 -Owner=soviet -Cost=25 -Points=1 -Repairable=false -Adjacent=1 - -; auxiliary decorative building -[MISS] -Strength=400 -Points=5 -Armor=wood -Bib=yes -Capturable=true - -; chain link fence -[CYCL] -Strength=1 -Points=1 -Armor=none -Cost=75 -Repairable=false -Adjacent=1 -Sight=0 - -; barb wire fence -[BARB] -Strength=1 -Points=1 -Armor=wood -Cost=25 -Repairable=false -Adjacent=1 -Sight=0 - -; wood fence -[WOOD] -Strength=1 -Points=1 -Repairable=false -Adjacent=1 -Sight=0 - -; barrels -[BARL] -Strength=10 -Repairable=false -Adjacent=0 -BaseNormal=no - -[BRL3] -Strength=10 -Repairable=false -Adjacent=0 -BaseNormal=no - -; anti-vehicle mine -[MINV] -Strength=1 -Repairable=false -Adjacent=0 -Invisible=yes -Unsellable=yes -BaseNormal=no - -; anti-personnel mine -[MINP] -Strength=1 -Repairable=false -Adjacent=0 -Invisible=yes -Unsellable=yes -BaseNormal=no - -; fakes -[FACF] -Image=FACT -Owner=allies -TechLevel=1 -Strength=30 -Cost=50 -Sight=4 -Power=-2 -Points=15 -Bib=yes -Capturable=true -BaseNormal=no - -[WEAF] -Prerequisite=proc -Image=WEAP -Owner=allies -TechLevel=3 -Cost=50 -Strength=30 -Sight=4 -Points=15 -Power=-2 -Bib=yes -Capturable=true -BaseNormal=no - -[SYRF] -Prerequisite=powr -Image=SYRD -Strength=30 -TechLevel=3 -Sight=4 -Cost=50 -Owner=allies -Power=-2 -Points=15 -WaterBound=yes -Capturable=true -BaseNormal=no -Adjacent=8 - -[SPEF] -Image=SPEN -Strength=30 -TechLevel=-1 -Sight=4 -Cost=50 -Owner=soviet -Power=-2 -Points=15 -WaterBound=yes -Capturable=true -BaseNormal=no -Adjacent=8 - -[DOMF] -Prerequisite=proc -Image=DOME -Strength=30 -Sight=4 -TechLevel=3 -Cost=50 -Owner=allies -Power=-2 -Points=15 -Bib=yes -Capturable=true -BaseNormal=no - -; civilian structures -[V01] -Strength=400 -Points=5 -Armor=wood -Repairable=false -Capturable=true - -[V02] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V03] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V04] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V05] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V06] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V07] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V08] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V09] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V10] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V11] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V12] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V13] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V14] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V15] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V16] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V17] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V18] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V19] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V20] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V21] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V22] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V23] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V24] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V25] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V26] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V27] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V28] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V29] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V30] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V31] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V32] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V33] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V34] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V35] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V36] -Strength=400 -Points=5 -Armor=wood -Repairable=false - -[V37] -Strength=400 -Points=5 -Armor=wood -Repairable=false - - ; ******* Weapon Statistics ******* ; The weapons specified here are attached to the various combat ; units and buildings. @@ -2549,3 +892,199 @@ Unit=20,NONE ; vehicle Invulnerability=3,INVULBOX,1.0 ; invulnerability (duration in minutes) TimeQuake=3,TQUAKE ; time quake +[WeaponTypes] +Colt45 +ZSU-23 +Vulcan +Maverick +Camera +FireballLauncher +Flamer +Sniper +ChainGun +Pistol +M1Carbine +Dragon +Hellfire +Grenade +75mm +90mm +105mm +120mm +TurretGun +MammothTusk +155mm +M60mg +Napalm +TeslaZap +Nike +RedEye +8Inch +Stinger +TorpTube +2Inch +DepthCharge +ParaBomb +DogJaw +Heal +SCUD +UnitExplode + +[TeslaZap] +RenderAsTesla=true + +[UnitExplode] +Damage=500 +Speed=100 +Projectile=Invisible +Warhead=UnitExplodeWarhead + + + + +[ProjectileTypes] +Invisible +LeapDog +Cannon +Ack +Torpedo +FROG +HeatSeeker +LaserGuided +AAMissile +Lobbed +Catapult +Bomblet +Ballistic +Parachute +GPSSatellite +NukeUp +NukeDown +Fireball + + + + +[WarheadTypes] +SA +HE +AP +Fire +HollowPoint +Super +Organic +Nuke +UnitExplodeWarhead +Crush +APMine +ATMine +DemolishWarhead + +[HE] +ImpactSound=kaboom25 +WaterImpactSound=splash9 + +[UnitExplodeWarhead] +Spread=10 +Verses=90%,75%,60%,25%,100% +Explosion=8 +InfDeath=3 +ImpactSound=kaboom15 + +[Crush] +Verses=100%,100%,100%,100%,100% +ImpactSound=squishy2 + +[ATMine] +Verses=0%,0%,100%,100%,0% +ImpactSound=mineblo1 +Explosion=5 + +[APMine] +Verses=100%,0%,0%,0%,0% +ImpactSound=mine1 +InfDeath=2 +Explosion=3 + +[DemolishWarhead] +Verses=100%,100%,100%,100%,100% +ImpactSound=kaboom25 +Explosion=7 + +[General] +OreChance=.02 +LowPowerSlowdown=3 + + + +[VoiceTypes] +GenericVoice +VehicleVoice +EngineerVoice +MedicVoice +TanyaVoice +DogVoice +SpyVoice +ThiefVoice +CivilianMaleVoice +CivilianFemaleVoice +EinsteinVoice + +;; explicit extension on voice clips overrides the normal `variants` mechanism +[GenericVoice] +SovietVariants=.r01,.r03 +AlliedVariants=.v01,.v03 +Select=await1,ready,report1,yessir1 +Move=ackno,affirm1,noprob,overout,ritaway,roger,ugotit +Die=dedman1.aud,dedman2.aud,dedman3.aud,dedman4.aud,dedman5.aud,dedman6.aud,dedman7.aud,dedman8.aud,dedman10.aud + +[VehicleVoice] +SovietVariants=.r00,.r02 +AlliedVariants=.v00,.v02 +Select=vehic1,yessir1,report1,await1 +Move=ackno,affirm1 + +[EngineerVoice] +Select=eengin1,eyessir1 +Move=eaffirm1,emovout1 +Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 + +[MedicVoice] +Select=mrespon1,myessir1 +Move=maffirm1,mmovout1 +Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 + +[TanyaVoice] +Select=yo1,yes1,yeah1 +Move=rokroll1,onit1,cmon1 +Attack=tuffguy1,bombit1,gotit1 +Die=tandeth1 + +[DogVoice] +Select= +Move=dogy1 +Attack=dogg5p,dogw3px +Die=dogw5,dogw6,dogw7 + +[SpyVoice] +Select=syessir1,scomnd1 +Move=sonway1,sindeed1 +Attack=sking1 +Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 + +[ThiefVoice] +Select=swhat1,syeah1 +Move=saffirm1,smout1,sokay1 +Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 + +[CivilianMaleVoice] +Select=guyyeah1 +Move=guyokay1 + +[CivilianFemaleVoice] +Select=girlyeah +Move=girlokay + +[EinsteinVoice] +Select=einah1,einok1,einyes1 +Move=einah1,einok1,einyes1 diff --git a/mods/ra/trees.ini b/mods/ra/trees.ini deleted file mode 100644 index 8ecab4f2cb..0000000000 --- a/mods/ra/trees.ini +++ /dev/null @@ -1,272 +0,0 @@ -[BuildingTypes] -T01 -T02 -T03 -T05 -T06 -T07 -T08 -T10 -T11 -T12 -T13 -T14 -T15 -T16 -T17 -TC01 -TC02 -TC03 -TC04 -TC05 -MINE -BOXES01 -BOXES02 -BOXES03 -BOXES04 -BOXES05 -BOXES06 -BOXES07 -BOXES08 -BOXES09 - -[T01] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T01 -Selectable=no - -[T02] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T02 -Selectable=no - -[T03] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T03 -Selectable=no - -[T05] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T05 -Selectable=no - -[T06] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T06 -Selectable=no - -[T07] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T07 -Selectable=no - -[T08] -Description=Tree -Traits=Building, RenderBuilding -Footprint=x_ -Dimensions=2,1 -Name=T08 -Selectable=no - -[T10] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ xx -Dimensions=2,2 -Name=T10 -Selectable=no - -[T11] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ xx -Dimensions=2,2 -Name=T11 -Selectable=no - -[T12] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T12 -Selectable=no - -[T13] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T13 -Selectable=no - -[T14] -Description=Tree -Traits=Building, RenderBuilding -Footprint=___ xx_ -Dimensions=3,2 -Name=T14 -Selectable=no - -[T15] -Description=Tree -Traits=Building, RenderBuilding -Footprint=___ xx_ -Dimensions=3,2 -Name=T15 -Selectable=no - -[T16] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T16 -Selectable=no - -[T17] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__ x_ -Dimensions=2,2 -Name=T17 -Selectable=no - -[TC01] -Description=Tree -Traits=Building, RenderBuilding -Footprint=___ xx_ -Dimensions=3,2 -Name=TC01 -Selectable=no - -[TC02] -Description=Tree -Traits=Building, RenderBuilding -Footprint=_x_ xx_ -Dimensions=3,2 -Name=TC02 -Selectable=no - -[TC03] -Description=Tree -Traits=Building, RenderBuilding -Footprint=xx_ xx_ -Dimensions=3,2 -Name=TC03 -Selectable=no - -[TC04] -Description=Tree -Traits=Building, RenderBuilding -Footprint=____ xxx_ x___ -Dimensions=4,3 -Name=TC04 -Selectable=no - -[TC05] -Description=Tree -Traits=Building, RenderBuilding -Footprint=__x_ xxx_ _xx_ -Dimensions=4,3 -Name=TC05 -Selectable=no - -[MINE] -Description=Ore Pit -Traits=Building, RenderBuilding, SeedsOre -Footprint=x -Dimensions=1,1 -Name=MINE -Selectable=no - -[BOXES01] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES01 -Selectable=no - -[BOXES02] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES02 -Selectable=no - -[BOXES03] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES03 -Selectable=no - -[BOXES04] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES04 -Selectable=no - -[BOXES05] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES05 -Selectable=no - -[BOXES06] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES06 -Selectable=no - -[BOXES07] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES07 -Selectable=no - -[BOXES08] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES08 -Selectable=no - -[BOXES09] -Description=Boxes -Traits=Building, RenderBuilding -Footprint=x -Dimensions=1,1 -Name=BOXES09 -Selectable=no - diff --git a/mods/ra/units.ini b/mods/ra/units.ini deleted file mode 100644 index 3fcfb7032f..0000000000 --- a/mods/ra/units.ini +++ /dev/null @@ -1,875 +0,0 @@ -[VehicleTypes] -V2RL -1TNK -2TNK -3TNK -4TNK -MRJ -MGG -ARTY -HARV -MCV -JEEP -APC -MNLY.AP -MNLY.AT - -[V2RL] -Description=V2 Rocket -Traits=Unit, Mobile, AttackBase, RenderUnitReload, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -Voice=VehicleVoice -LongDesc=Long-range rocket artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft -[1TNK] -Description=Light Tank -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -Recoil=2 -Voice=VehicleVoice -LongDesc=Light Tank, good for scouting.\n Strong vs Light Vehicles\n Weak vs Tanks, Aircraft -[2TNK] -Description=Medium Tank -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -Recoil=3 -Voice=VehicleVoice -LongDesc=Allied Main Battle Tank.\n Strong vs Tanks, Light Vehicles\n Weak vs Infantry, Aircraft -[3TNK] -Description=Heavy Tank -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -Recoil=3 -Voice=VehicleVoice -LongDesc=Soviet Main Battle Tank, with dual cannons\n Strong vs Tanks, Light Vehicles\n Weak vs Infantry, Aircraft -[4TNK] -Description=Mammoth Tank -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -Voice=VehicleVoice -LongDesc=Big and slow tank, with anti-air capability.\n Strong vs Tanks, Aircraft\n Weak vs Infantry -PrimaryLocalOffset=-4,-5,0,4,-5,0 -SecondaryLocalOffset=-7,2,25,7,2,-25 -Recoil=4 -[ARTY] -Description=Artillery -Traits=Unit, Mobile, AttackBase, RenderUnit, Explodes, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -Voice=VehicleVoice -LongDesc=Long-range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft -[JEEP] -Description=Ranger -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Repairable, Chronoshiftable, Passenger, IronCurtainable -PrimaryOffset=0,0,0,-2 -MuzzleFlash=yes -Voice=VehicleVoice -LongDesc=Fast scout & anti-infantry vehicle.\n Strong vs Infantry\n Weak vs Tanks, Aircraft -[APC] -Description=Armored Personnel Carrier -Traits=Unit, Mobile, AttackBase, RenderUnitMuzzleFlash, AutoTarget, Repairable, Chronoshiftable, Cargo, Passenger, IronCurtainable -PrimaryOffset=0,0,0,-4 -MuzzleFlash=yes -Voice=VehicleVoice -LongDesc=Tough infantry transport.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft -UnloadFacing=220 -PassengerTypes=Foot - -;; non-combat vehicles -[MRJ] -Description=Radar Jammer -Traits=Unit, Mobile, RenderUnitSpinner, Repairable, Chronoshiftable, Passenger, IronCurtainable -PrimaryOffset=0,4,0,-6 -SelectionPriority=3 -Voice=VehicleVoice -LongDesc=Hides nearby units on the enemy's minimap.\n Unarmed -[MGG] -Description=Mobile Gap Generator -Traits=Unit, Mobile, RenderUnitSpinner, Repairable, Chronoshiftable, Passenger, IronCurtainable, GeneratesGap -PrimaryOffset=0,6,0,-3 -SelectionPriority=3 -Voice=VehicleVoice -LongDesc=Regenerates Fog of War in a small area \naround the unit.\n Unarmed -[HARV] -Description=Ore Truck -Traits=Harvester, Unit, Mobile, RenderUnit, Repairable, Chronoshiftable, Passenger, IronCurtainable -SelectionPriority=7 -Voice=VehicleVoice -LongDesc=Collects Ore and Gems for processing.\n Unarmed -[MCV] -Description=Mobile Construction Vehicle -Traits=Unit, Mobile, McvDeploy, RenderUnit, Repairable, Chronoshiftable, Passenger, IronCurtainable -SelectionPriority=3 -Voice=VehicleVoice -LongDesc=Deploys into another Construction Yard.\n Unarmed - -[MNLY.AP] -Description=Minelayer (Anti-Personnel) -Traits=Unit, Mobile, RenderUnit, Minelayer, MineImmune, Repairable, LimitedAmmo, Chronoshiftable, Passenger, IronCurtainable -Voice=VehicleVoice -LongDesc=Lays mines to destroy unwary enemy units.\n Unarmed -Primary=MINP ;; temporary hack -[MNLY.AT] -Description=Minelayer (Anti-Tank) -Traits=Unit, Mobile, RenderUnit, Minelayer, MineImmune, Repairable, LimitedAmmo, Chronoshiftable, Passenger, IronCurtainable -Voice=VehicleVoice -LongDesc=Lays mines to destroy unwary enemy units.\n Unarmed -Primary=MINV ;; temporary hack - - - -[ShipTypes] -SS -DD -CA -LST -PT - -[SS] -Description=Submarine -WaterBound=yes -BuiltAt=spen -Traits=Unit, Mobile, RenderUnit, Submarine, AttackBase, Chronoshiftable, IronCurtainable, RepairableNear -FireDelay=2 -LongDesc=Submerged anti-ship unit armed with \ntorpedoes.\n Strong vs Ships\n Weak vs Everything\n Special Ability: Submerge -[DD] -Description=Destroyer -WaterBound=yes -BuiltAt=syrd -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Chronoshiftable, IronCurtainable, RepairableNear -PrimaryOffset=0,-8,0,-3 -LongDesc=Fast multi-role ship. \n Strong vs Submarines, Aircraft\n Weak vs Infantry, Tanks -[CA] -Description=Cruiser -WaterBound=yes -BuiltAt=syrd -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Chronoshiftable, IronCurtainable, RepairableNear -PrimaryOffset=0,17,0,-2 -SecondaryOffset=0,-17,0,-2 -LongDesc=Very slow long-range ship. \n Strong vs Buildings\n Weak vs Ships, Submarines -Recoil=3 -[LST] -Description=Transport -WaterBound=yes -Traits=Unit, Mobile, RenderUnit, Cargo, IronCurtainable, RepairableNear -LongDesc=General-purpose naval transport.\nCan carry infantry and tanks.\n Unarmed -PassengerTypes=Foot,Wheel,Track -[PT] -Description=Gunboat -WaterBound=yes -BuiltAt=syrd -Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted, AutoTarget, Chronoshiftable, IronCurtainable, RepairableNear -PrimaryOffset=0,-6,0,-1 -LongDesc=Light scout & support ship. \n Strong vs Ships, Submarines\n Weak vs Aircraft - - - - - -[PlaneTypes] -MIG -YAK -TRAN -HELI -HIND -U2 -BADR - -[MIG] -Description=Mig Attack Plane -BuiltAt=afld -Traits=Unit, AttackPlane, Plane, RenderUnit, WithShadow, LimitedAmmo, IronCurtainable -InitialFacing=192 -LongDesc=Fast Ground-Attack Plane.\n Strong vs Buildings\n Weak vs Infantry, Light Vehicles -[YAK] -Description=Yak Attack Plane -BuiltAt=afld -Traits=Unit, AttackPlane, Plane, RenderUnit, WithShadow, LimitedAmmo, IronCurtainable -InitialFacing=192 -LongDesc=Anti-Tanks & Anti-Infantry Plane.\n Strong vs Infantry, Tanks\n Weak vs Buildings -[TRAN] -Description=Transport Helicopter -RotorOffset=0,14,0,-4 -RotorOffset2=0,-14,0,-2 -BuiltAt=hpad -Traits=Unit, Helicopter, RenderUnitRotor, WithShadow, Cargo, IronCurtainable -InitialFacing=20 -LongDesc=Fast Infantry Transport Helicopter.\n Unarmed -PassengerTypes=Foot -[HELI] -Description=Longbow -BuiltAt=hpad -Traits=Unit, AttackHeli, Helicopter, RenderUnitRotor, WithShadow, LimitedAmmo, IronCurtainable -RotorOffset=0,0,0,-2 -PrimaryOffset=-5,0,0,2 -SecondaryOffset=5,0,0,2 -InitialFacing=20 -LongDesc=Helicopter Gunship with AG Missiles.\n Strong vs Buildings, Tanks\n Weak vs Infantry -[HIND] -Description=Hind -BuiltAt=hpad -Traits=Unit, AttackHeli, Helicopter, RenderUnitRotor, WithShadow, LimitedAmmo, IronCurtainable -PrimaryOffset=-5,0,0,2 -SecondaryOffset=5,0,0,2 -InitialFacing=20 -LongDesc=Helicopter Gunship with Chainguns.\n Strong vs Infantry, Light Vehicles.\n Weak vs Tanks -[U2] -Traits=Unit, Plane, RenderUnit, WithShadow, IronCurtainable -[BADR] -Traits=Unit, Plane, RenderUnit, WithShadow, IronCurtainable, Cargo -Passengers=10 - - - -[BuildingTypes] -IRON -PDOX -PBOX -HBOX -TSLA -GUN -AGUN -FTUR -GAP -SAM -MSLO -; SBAG -; BRIK -; FENC - -ATEK -WEAP -SYRD -SPEN -FACT -PROC -SILO -HPAD -DOME -AFLD -POWR -APWR -STEK -BARR -TENT -KENN -FIX -FACF -WEAF -SYRF -SPEF -DOMF - -; pseudo-buildings -MINP -MINV -BR1 -BR2 -BR3 -BRIDGE1 -BRIDGE2 - - -; `Dimensions` is the size of a box that will include the whole building, excluding bib. -; ("bib-ness" can be altered in rules.ini; we can't expect people to change this, too) -; `Footprint` is the pathability and buildability of each cell occupied by the building -; _ : Not occupied by the building (e.g: the holes in the refinery and the service depot) -; x : Solid. cannot be walked on or built on. -; = : Occupied by a building, but can be walked on normally. (e.g: the drop-off point on the refinery) -; `Produces` is a category of objects that this building can produce. -[PBOX] -Description=Pillbox -Traits=Building, Turreted, RenderBuilding, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -LongDesc=Basic defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft -[HBOX] -Description=Camo Pillbox -Traits=Building, Turreted, RenderBuilding, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -LongDesc=Hidden defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft -[TSLA] -Description=Tesla Coil -Traits=Building, Turreted, RenderBuildingCharge, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=1,2 -Footprint=_ x -SelectionPriority=3 -FireDelay=8 -LongDesc=Advanced base defense. Requires power\nto operate.\n Strong vs Tanks, Infantry\n Weak vs Aircraft -[GUN] -Description=Turret -Traits=Building, Turreted, RenderBuildingTurreted, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -InitialFacing=50 -LongDesc=Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft -[AGUN] -Description=AA Gun -Traits=Building, Turreted, RenderBuildingTurreted, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=1,2 -Footprint=_ x -SelectionPriority=3 -InitialFacing=224 -LongDesc=Anti-Air base defense.\n Strong vs Aircraft\n Weak vs Infantry, Tanks -[FTUR] -Description=Flame Turret -Traits=Turreted, Building, RenderBuilding, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -LongDesc=Anti-Infantry base defense.\n Strong vs Infantry\n Weak vs Aircraft -PrimaryOffset=0,0,12,8 -ROT=10 -[SAM] -Description=SAM Site -Traits=Building, Turreted, RenderBuildingTurreted, AttackTurreted, AutoTarget, IronCurtainable -Dimensions=2,1 -Footprint=xx -SelectionPriority=3 -LongDesc=Anti-Air base defense.\n Strong vs Aircraft\n Weak vs Infantry, Tanks -InitialFacing=0 -[MSLO] -Description=Missile Silo -Traits=Building, RenderBuilding, IronCurtainable -Dimensions=2,1 -Footprint=xx -SelectionPriority=3 -LongDesc=Launches a devastating nuclear strike.\n Strong vs Infantry, Buildings\n Weak vs Tanks\n Special Ability: Nuclear Missile -[IRON] -Description=Iron Curtain -Traits=Building, RenderBuilding, IronCurtainable, IronCurtain -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -LongDesc=Makes a group of units invulnerable for a \nshort time.\n Special Ability: Invulnerability -[PDOX] -Description=Chronosphere -Traits=Building, RenderBuilding, Chronosphere, IronCurtainable -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -LongDesc=Teleports a unit from one place \nto another, for a limited time.\n Special Ability: Chronoshift -[GAP] -Description=Gap Generator -Traits=Building, RenderBuilding, IronCurtainable, GeneratesGap -Dimensions=1,2 -Footprint=_ x -SelectionPriority=3 -LongDesc=Regenerates the Fog of War nearby, \nobscuring the area.\n Unarmed -[ATEK] -Description=Allied Tech Center -Traits=Building, RenderBuilding, IronCurtainable, GpsLaunchSite -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -LongDesc=Provides Allied advanced technologies.\n Special Ability: GPS Satellite -AlternateName=@Tech Center -[WEAP] -Description=War Factory -Traits=Building, RenderBuilding, RenderWarFactory, RallyPoint, Production, IronCurtainable -Dimensions=3,2 -Footprint=xxx xxx -Produces=Vehicle -RallyPoint=1,3 -SelectionPriority=3 -LongDesc=Produces tanks & light vehicles. -[SYRD] -Description=Shipyard -Traits=Building, RenderBuilding, ProductionSurround, IronCurtainable -Dimensions=3,3 -Footprint=xxx xxx xxx -Produces=Ship -SelectionPriority=3 -LongDesc=Produces and repairs ships -[SPEN] -Description=Sub Pen -Traits=Building, RenderBuilding, ProductionSurround, IronCurtainable -Dimensions=3,3 -Footprint=xxx xxx xxx -Produces=Ship -SelectionPriority=3 -LongDesc=Produces and repairs submarines and \ntransports -[FACT] -Description=Construction Yard -Traits=Building, RenderBuilding, Production, ConstructionYard, IronCurtainable -Dimensions=3,3 -Footprint=xxx xxx xxx -Produces=Building,Defense -SelectionPriority=3 -LongDesc=Produces other structures -[PROC] -Description=Ore Refinery -Traits=Building, RenderBuilding, AcceptsOre, StoresOre, IronCurtainable -Dimensions=3,3 -Footprint=_x_ xxx x== -SelectionPriority=3 -OrePips=17 -LongDesc=Converts Ore and Gems into money -[SILO] -Description=Silo -Traits=Building, RenderBuildingOre, StoresOre, IronCurtainable -Dimensions=1,1 -Footprint=x -SelectionPriority=3 -OrePips=5 -LongDesc=Stores excess harvested Ore - -[HPAD] -Description=Helipad -Traits=Building, RenderBuilding, Production, BelowUnits, Reservable, IronCurtainable -Dimensions=2,2 -Footprint=xx xx -Produces=Plane -SelectionPriority=3 -SpawnOffset=0,-4 -LongDesc=Produces and reloads helicopters -[DOME] -Description=Radar Dome -Traits=Building, RenderBuilding, ProvidesRadar, IronCurtainable -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -LongDesc=Provides an overview of the battlefield.\n Requires power to operate. -[AFLD] -Description=Airstrip -Traits=Building, RenderBuilding, Production, BelowUnits, Reservable, IronCurtainable -Dimensions=3,2 -Footprint=xxx xxx -Produces=Plane -SelectionPriority=3 -LongDesc=Produces and reloads planes\n Special Ability: Paratroopers\n Special Ability: Spy Plane -[POWR] -Description=Power Plant -Traits=Building, RenderBuilding, IronCurtainable -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -LongDesc=Provides power for other structures -[APWR] -Description=Advanced Power Plant -Traits=Building, RenderBuilding, IronCurtainable -Dimensions=3,3 -Footprint=___ xxx xxx -SelectionPriority=3 -LongDesc=Provides more power, cheaper than the \nstandard Power Plant -[STEK] -Description=Soviet Tech Center -Traits=Building, RenderBuilding, IronCurtainable -Dimensions=3,2 -Footprint=xxx xxx -SelectionPriority=3 -LongDesc=Provides Soviet advanced technologies -AlternateName=@Tech Center -[BARR] -Description=Soviet Barracks -Traits=Building, RenderBuilding, RallyPoint, Production, IronCurtainable -Dimensions=2,2 -Footprint=xx xx -Produces=Infantry -RallyPoint=1,3 -SelectionPriority=3 -LongDesc=Produces infantry -[TENT] -Description=Allied Barracks -Traits=Building, RenderBuilding, RallyPoint, Production, IronCurtainable -Dimensions=2,2 -Footprint=xx xx -Produces=Infantry -RallyPoint=1,3 -SelectionPriority=3 -LongDesc=Produces infantry -[KENN] -Description=Kennel -Traits=Building, RenderBuilding, RallyPoint, Production, IronCurtainable -Dimensions=1,1 -Footprint=x -RallyPoint=1,2 -SelectionPriority=3 -LongDesc=Produces attack dogs -[FIX] -Description=Service Depot -Traits=Building, RenderBuilding, BelowUnits, Reservable, IronCurtainable -Dimensions=3,3 -Footprint=_x_ xxx _x_ -SelectionPriority=3 -LongDesc=Repairs vehicles, reloads minelayers, and \nallows the construction of additional bases. -[FACF] -Description=Fake Construction Yard -Traits=Building, RenderBuilding, Fake, IronCurtainable -Dimensions=3,3 -Footprint=xxx xxx xxx -SelectionPriority=3 -LongDesc=Looks like a Construction Yard. -[WEAF] -Description=Fake War Factory -Traits=Building, RenderWarFactory, RenderBuilding, Fake, IronCurtainable -Dimensions=3,2 -Footprint=xxx xxx -SelectionPriority=3 -LongDesc=Looks like a War Factory. -[SYRF] -Description=Fake Shipyard -Traits=Building, RenderBuilding, Fake -Dimensions=3,3 -Footprint=xxx xxx xxx -SelectionPriority=3 -LongDesc=Looks like a Shipyard -[SPEF] -Description=Fake Sub Pen -Traits=Building, RenderBuilding, Fake -Dimensions=3,3 -Footprint=xxx xxx xxx -SelectionPriority=3 -LongDesc=Looks like a Sub Pen -[DOMF] -Description=Fake Radar Dome -Traits=Building, RenderBuilding, Fake -Dimensions=2,2 -Footprint=xx xx -SelectionPriority=3 -LongDesc=Looks like a Radar Dome -;[SBAG] -;Description=Sandbags -;SelectionPriority=3 -;[BRIK] -;Description=Concrete Wall -;SelectionPriority=3 -;[FENC] -;Description=Wire Fence -;SelectionPriority=3 - - -[MINV] -Traits=Unit,RenderUnit,BelowUnits,InvisibleToOthers -Selectable=no - -[MINP] -Traits=Unit,RenderUnit,BelowUnits,InvisibleToOthers -Selectable=no - -[BR1] -Traits=Bridge, BelowUnits, Building -Strength=1000 -Dimensions=4,2 -Footprint=____ ____ -Selectable=yes - -[BR2] -Traits=Bridge, BelowUnits, Building -Strength=1000 -Dimensions=4,2 -Footprint=____ ____ -Selectable=yes ;; temp hack - -[BR3] -Traits=Bridge, BelowUnits, Building -Strength=1000 -Dimensions=4,2 -Footprint=____ ____ -Selectable=yes ;; temp hack - -[BRIDGE1] -Traits=Bridge, BelowUnits, Building -Strength=1000 -Dimensions=5,3 -Footprint=_____ _____ _____ -Selectable = yes - -[BRIDGE2] -Traits=Bridge, BelowUnits, Building -Strength=1000 -Dimensions=5,2 -Footprint=_____ _____ -Selectable = yes - -[InfantryTypes] -DOG -E1 -E2 -E3 -E4 -E6 -SPY -THF -E7 -MEDI - -[DOG] -Description=Attack Dog -BuiltAt=KENN -Voice=DogVoice -Traits=Unit, Mobile, RenderInfantry, SquishByTank, AutoTarget, Passenger ;; AttackBase, SquishByTank, AutoTarget, dog?? -LongDesc=Anti-infantry unit. Not fooled by the \nSpy's disguise.\n Strong vs Infantry\n Weak vs Vehicles -SelectionSize=12,17,-1,-4 -[E1] -Description=Rifle Infantry -Traits=Unit, Mobile, RenderInfantry, AttackBase, TakeCover, SquishByTank, AutoTarget, Passenger -LongDesc=General-purpose infantry. Strong vs Infantry\n Weak vs Vehicles -SelectionSize=12,17,0,-9 -[E2] -Description=Grenadier -Traits=Unit, Mobile, RenderInfantry, AttackBase, TakeCover, SquishByTank, AutoTarget, Passenger -FireDelay=15 -PrimaryOffset=0,0,0,-13 -LongDesc=Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles -SelectionSize=12,17,0,-9 -[E3] -Description=Rocket Soldier -Traits=Unit, Mobile, RenderInfantry, AttackBase, TakeCover, SquishByTank, AutoTarget, Passenger -PrimaryOffset=0,0,0,-13 -LongDesc=Anti-tank/Anti-aircraft infantry.\n Strong vs Tanks, Aircraft\n Weak vs Infantry -SelectionSize=12,17,0,-9 -[E4] -Description=Flamethrower -Traits=Unit, Mobile, RenderInfantry, AttackBase, TakeCover, SquishByTank, AutoTarget, Passenger -FireDelay=8 -PrimaryOffset=0,0,0,-7 -LongDesc=Advanced Anti-infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles -SelectionSize=12,17,0,-9 -[E6] -Description=Engineer -Traits=Unit, Mobile, EngineerCapture, RenderInfantry, TakeCover, SquishByTank, Passenger -Voice=EngineerVoice -LongDesc=Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything -SelectionSize=12,17,0,-9 -[SPY] -Description=Spy -Voice=SpyVoice -Traits=Unit, Mobile, RenderSpy, TakeCover, SquishByTank, Passenger, Spy -LongDesc=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 -SelectionSize=12,17,0,-9 -[THF] -Description=Thief -Voice=ThiefVoice -Traits=Unit, Mobile, RenderInfantry, TakeCover, SquishByTank, Passenger, Thief -LongDesc=Infiltrates enemy refineries & \nsilos, and steals money stored there.\n Unarmed -SelectionSize=12,17,0,-9 -[E7] -Description=Tanya -Voice=TanyaVoice -Traits=Unit, Mobile, RenderInfantry, C4Demolition, AttackBase, TakeCover, SquishByTank, AutoTarget, Passenger -LongDesc=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 -SelectionSize=12,17,0,-9 -[MEDI] -Description=Medic -Voice=MedicVoice -Traits=Unit, Mobile, RenderInfantry, AutoHeal, AttackBase, TakeCover, SquishByTank, Passenger -LongDesc=Heals nearby infantry.\n Strong vs Nothing\n Weak vs Everything -SelectionSize=12,17,0,-9 - - - - - -[WeaponTypes] -Colt45 -ZSU-23 -Vulcan -Maverick -Camera -FireballLauncher -Flamer -Sniper -ChainGun -Pistol -M1Carbine -Dragon -Hellfire -Grenade -75mm -90mm -105mm -120mm -TurretGun -MammothTusk -155mm -M60mg -Napalm -TeslaZap -Nike -RedEye -8Inch -Stinger -TorpTube -2Inch -DepthCharge -ParaBomb -DogJaw -Heal -SCUD -UnitExplode - -[TeslaZap] -RenderAsTesla=true - -[UnitExplode] -Damage=500 -Speed=100 -Projectile=Invisible -Warhead=UnitExplodeWarhead - - - - -[ProjectileTypes] -Invisible -LeapDog -Cannon -Ack -Torpedo -FROG -HeatSeeker -LaserGuided -AAMissile -Lobbed -Catapult -Bomblet -Ballistic -Parachute -GPSSatellite -NukeUp -NukeDown -Fireball - - - - -[WarheadTypes] -SA -HE -AP -Fire -HollowPoint -Super -Organic -Nuke -UnitExplodeWarhead -Crush -APMine -ATMine -DemolishWarhead - -[HE] -ImpactSound=kaboom25 -WaterImpactSound=splash9 - -[UnitExplodeWarhead] -Spread=10 -Verses=90%,75%,60%,25%,100% -Explosion=8 -InfDeath=3 -ImpactSound=kaboom15 - -[Crush] -Verses=100%,100%,100%,100%,100% -ImpactSound=squishy2 - -[ATMine] -Verses=0%,0%,100%,100%,0% -ImpactSound=mineblo1 -Explosion=5 - -[APMine] -Verses=100%,0%,0%,0%,0% -ImpactSound=mine1 -InfDeath=2 -Explosion=3 - -[DemolishWarhead] -Verses=100%,100%,100%,100%,100% -ImpactSound=kaboom25 -Explosion=7 - -[General] -OreChance=.02 -LowPowerSlowdown=3 - - - -[VoiceTypes] -GenericVoice -VehicleVoice -EngineerVoice -MedicVoice -TanyaVoice -DogVoice -SpyVoice -ThiefVoice -CivilianMaleVoice -CivilianFemaleVoice -EinsteinVoice - -;; explicit extension on voice clips overrides the normal `variants` mechanism -[GenericVoice] -SovietVariants=.r01,.r03 -AlliedVariants=.v01,.v03 -Select=await1,ready,report1,yessir1 -Move=ackno,affirm1,noprob,overout,ritaway,roger,ugotit -Die=dedman1.aud,dedman2.aud,dedman3.aud,dedman4.aud,dedman5.aud,dedman6.aud,dedman7.aud,dedman8.aud,dedman10.aud - -[VehicleVoice] -SovietVariants=.r00,.r02 -AlliedVariants=.v00,.v02 -Select=vehic1,yessir1,report1,await1 -Move=ackno,affirm1 - -[EngineerVoice] -Select=eengin1,eyessir1 -Move=eaffirm1,emovout1 -Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 - -[MedicVoice] -Select=mrespon1,myessir1 -Move=maffirm1,mmovout1 -Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 - -[TanyaVoice] -Select=yo1,yes1,yeah1 -Move=rokroll1,onit1,cmon1 -Attack=tuffguy1,bombit1,gotit1 -Die=tandeth1 - -[DogVoice] -Select= -Move=dogy1 -Attack=dogg5p,dogw3px -Die=dogw5,dogw6,dogw7 - -[SpyVoice] -Select=syessir1,scomnd1 -Move=sonway1,sindeed1 -Attack=sking1 -Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 - -[ThiefVoice] -Select=swhat1,syeah1 -Move=saffirm1,smout1,sokay1 -Die=dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 - -[CivilianMaleVoice] -Select=guyyeah1 -Move=guyokay1 - -[CivilianFemaleVoice] -Select=girlyeah -Move=girlokay - -[EinsteinVoice] -Select=einah1,einok1,einyes1 -Move=einah1,einok1,einyes1 - -[ParadropPower] ; comes free with first AFLD -ChargeTime=7 -Description=Paratroopers -LongDesc=A Badger drops a squad of Riflemen \nanywhere on the map -Prerequisite=AFLD -TechLevel=5 -Image=pinficon -Impl=NullPower - -[ParabombPower] ; picked up in a crate -ChargeTime=14 -Description=Parabombs -LongDesc=A Badger carpet-bombs an area. -OneShot=yes -Powered=no -Image=pbmbicon -TechLevel=8 -GivenAuto=no -Impl=NullPower diff --git a/regen-yaml.cmd b/regen-yaml.cmd deleted file mode 100755 index 24c096106b..0000000000 --- a/regen-yaml.cmd +++ /dev/null @@ -1,6 +0,0 @@ -pushd mods\ra\ -..\..\RulesConverter\bin\debug\RulesConverter.exe units.ini rules.ini trees.ini campaignUnits.ini rules.yaml -popd -pushd mods\aftermath\ -..\..\RulesConverter\bin\debug\RulesConverter.exe aftermathUnits.ini aftrmath.ini rules.yaml -popd \ No newline at end of file