RC is dead.

This commit is contained in:
Chris Forbes
2010-02-07 01:21:16 +13:00
parent e36a58e62d
commit da930fbc14
10 changed files with 197 additions and 3510 deletions

View File

@@ -1,93 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using OpenRa.FileFormats;
namespace RulesConverter
{
using MiniYamlNodes = Dictionary<string, MiniYaml>;
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 );
}
}
}

View File

@@ -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<string, string>;
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<string,Pair<string,string>>
{
{ "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<string, PL>
{
{ "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<string> 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";
}
}
}

View File

@@ -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")]

View File

@@ -1,71 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{BBE7C0D7-7529-4C34-9910-206866F204EF}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RulesConverter</RootNamespace>
<AssemblyName>RulesConverter</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="IjwFramework, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Ijw.DirectX\Ijw.Framework\IjwFramework\bin\Release\IjwFramework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="MiniYamlExts.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenRa.FileFormats\OpenRa.FileFormats.csproj">
<Project>{BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}</Project>
<Name>OpenRa.FileFormats</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -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

View File

@@ -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)

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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

View File

@@ -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