diff --git a/Makefile b/Makefile index baed46151e..2cdf2b4f75 100644 --- a/Makefile +++ b/Makefile @@ -151,6 +151,15 @@ mod_d2k_EXTRA_CMDS = mono --debug RALint.exe d2k PROGRAMS += mod_d2k mod_d2k: $(mod_d2k_TARGET) +# Tiberian Sun +mod_ts_SRCS := $(shell find OpenRA.Mods.TS/ -iname '*.cs') +mod_ts_TARGET = mods/ts/OpenRA.Mods.TS.dll +mod_ts_KIND = library +mod_ts_DEPS = $(STD_MOD_DEPS) $(mod_ra_TARGET) +mod_ts_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_ra_TARGET) +mod_ts_EXTRA_CMDS = mono --debug RALint.exe ts +PROGRAMS += mod_ts +mod_ts: $(mod_ts_TARGET) ##### Tools ##### @@ -243,7 +252,7 @@ tools: editor tsbuild ralint package: dependencies core editor docs version -mods: mod_ra mod_cnc mod_d2k +mods: mod_ra mod_cnc mod_d2k mod_ts all: dependencies core tools diff --git a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj new file mode 100644 index 0000000000..05f4869804 --- /dev/null +++ b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj @@ -0,0 +1,57 @@ + + + + Debug + AnyCPU + 10.0.0 + 2.0 + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D} + Library + OpenRA.Mods.TS + OpenRA.Mods.TS + + + true + false + bin\Debug + DEBUG; + prompt + 4 + false + + + + + + + + true + bin\Release + prompt + 4 + false + + + + + + + + + + + + + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E} + OpenRA.Mods.RA + + + {0DFB103F-2962-400F-8C6D-E2C28CCBA633} + OpenRA.Game + + + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA} + OpenRA.FileFormats + + + \ No newline at end of file diff --git a/OpenRA.Mods.TS/Properties/AssemblyInfo.cs b/OpenRA.Mods.TS/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..2edc84378f --- /dev/null +++ b/OpenRA.Mods.TS/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +#region Copyright & License Information +/* + * Copyright 2007-2013 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation. For more information, + * see COPYING. + */ +#endregion + +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("OpenRA.Mods.TS")] +[assembly: AssemblyDescription("Tiberian Sun Mod")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenRA.Mods.TS")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/OpenRA.sln b/OpenRA.sln index 3b0eb21554..761550a6dc 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -33,6 +33,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Renderer.SdlCommon", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.D2k", "OpenRA.Mods.D2k\OpenRA.Mods.D2k.csproj", "{C0B0465C-6BE2-409C-8770-3A9BF64C4344}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.TS", "OpenRA.Mods.TS\OpenRA.Mods.TS.csproj", "{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -41,45 +43,6 @@ Global Release|Mixed Platforms = Release|Mixed Platforms EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Any CPU.Build.0 = Release|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Any CPU.ActiveCfg = Debug|x86 - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Any CPU.Build.0 = Debug|x86 - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Any CPU.ActiveCfg = Release|x86 - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.Build.0 = Release|x86 - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Any CPU.Build.0 = Release|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Any CPU.Build.0 = Release|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Any CPU.Build.0 = Release|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Mixed Platforms.Build.0 = Release|Any CPU {00038B75-405B-44F5-8691-BD2546DBE224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {00038B75-405B-44F5-8691-BD2546DBE224}.Debug|Any CPU.Build.0 = Debug|Any CPU {00038B75-405B-44F5-8691-BD2546DBE224}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -88,30 +51,6 @@ Global {00038B75-405B-44F5-8691-BD2546DBE224}.Release|Any CPU.Build.0 = Release|Any CPU {00038B75-405B-44F5-8691-BD2546DBE224}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {00038B75-405B-44F5-8691-BD2546DBE224}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Any CPU.Build.0 = Release|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Any CPU.Build.0 = Release|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Any CPU.Build.0 = Release|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0C4AEC1A-E7D5-4114-8CCD-3EEC82872981}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0C4AEC1A-E7D5-4114-8CCD-3EEC82872981}.Debug|Any CPU.Build.0 = Debug|Any CPU {0C4AEC1A-E7D5-4114-8CCD-3EEC82872981}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -120,14 +59,37 @@ Global {0C4AEC1A-E7D5-4114-8CCD-3EEC82872981}.Release|Any CPU.Build.0 = Release|Any CPU {0C4AEC1A-E7D5-4114-8CCD-3EEC82872981}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {0C4AEC1A-E7D5-4114-8CCD-3EEC82872981}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Any CPU.Build.0 = Release|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Any CPU.ActiveCfg = Debug|x86 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Any CPU.Build.0 = Debug|x86 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Any CPU.ActiveCfg = Release|x86 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.Build.0 = Release|x86 + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Any CPU.Build.0 = Release|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1A8E50CC-EE32-4E57-8842-0C39C8EA7541}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Any CPU.Build.0 = Release|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {2881135D-4D62-493E-8F83-5EEE92CCC6BE}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Any CPU.Build.0 = Release|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}.Release|Mixed Platforms.Build.0 = Release|Any CPU {52FD9F0B-B209-4ED7-8A32-AC8033363263}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {52FD9F0B-B209-4ED7-8A32-AC8033363263}.Debug|Any CPU.Build.0 = Debug|Any CPU {52FD9F0B-B209-4ED7-8A32-AC8033363263}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -136,6 +98,30 @@ Global {52FD9F0B-B209-4ED7-8A32-AC8033363263}.Release|Any CPU.Build.0 = Release|Any CPU {52FD9F0B-B209-4ED7-8A32-AC8033363263}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {52FD9F0B-B209-4ED7-8A32-AC8033363263}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|Any CPU.Build.0 = Release|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Any CPU.Build.0 = Release|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Any CPU.Build.0 = Release|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}.Release|Mixed Platforms.Build.0 = Release|Any CPU {C0B0465C-6BE2-409C-8770-3A9BF64C4344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C0B0465C-6BE2-409C-8770-3A9BF64C4344}.Debug|Any CPU.Build.0 = Debug|Any CPU {C0B0465C-6BE2-409C-8770-3A9BF64C4344}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -144,11 +130,35 @@ Global {C0B0465C-6BE2-409C-8770-3A9BF64C4344}.Release|Any CPU.Build.0 = Release|Any CPU {C0B0465C-6BE2-409C-8770-3A9BF64C4344}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {C0B0465C-6BE2-409C-8770-3A9BF64C4344}.Release|Mixed Platforms.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Any CPU.Build.0 = Release|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {E9C01A96-C3E2-4772-825B-A740AC513D31}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Any CPU.Build.0 = Release|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F33337BE-CB69-4B24-850F-07D23E408DDF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Any CPU.Build.0 = Release|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F9FA4D9F-2302-470A-8A07-6E37F488C124}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution StartupItem = OpenRA.Game\OpenRA.Game.csproj EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection EndGlobal diff --git a/mods/ts/bits/interior.mix b/mods/ts/bits/interior.mix new file mode 100644 index 0000000000..99bcad6ac5 Binary files /dev/null and b/mods/ts/bits/interior.mix differ diff --git a/mods/ts/bits/mouse.shp b/mods/ts/bits/mouse.shp new file mode 100644 index 0000000000..89c794cae6 Binary files /dev/null and b/mods/ts/bits/mouse.shp differ diff --git a/mods/ts/bits/mousepal.pal b/mods/ts/bits/mousepal.pal new file mode 100644 index 0000000000..4c2c99c30c Binary files /dev/null and b/mods/ts/bits/mousepal.pal differ diff --git a/mods/ts/bits/mpspawn.shp b/mods/ts/bits/mpspawn.shp new file mode 100644 index 0000000000..0550dd88a5 Binary files /dev/null and b/mods/ts/bits/mpspawn.shp differ diff --git a/mods/ts/bits/rank.shp b/mods/ts/bits/rank.shp new file mode 100644 index 0000000000..958aba6c3a Binary files /dev/null and b/mods/ts/bits/rank.shp differ diff --git a/mods/ts/bits/shadow.shp b/mods/ts/bits/shadow.shp new file mode 100644 index 0000000000..8d7d7e76ca Binary files /dev/null and b/mods/ts/bits/shadow.shp differ diff --git a/mods/ts/bits/waypoint.shp b/mods/ts/bits/waypoint.shp new file mode 100644 index 0000000000..b8a3a4cb90 Binary files /dev/null and b/mods/ts/bits/waypoint.shp differ diff --git a/mods/ts/cursors.yaml b/mods/ts/cursors.yaml new file mode 100644 index 0000000000..d57f5c5e9d --- /dev/null +++ b/mods/ts/cursors.yaml @@ -0,0 +1,275 @@ +Palettes: + cursor: mousepal.pal + +Cursors: + mouse: cursor + scroll-t: #TODO + start:1 + x: 12 + y: 12 + scroll-tr: #TODO + start: 2 + x: 12 + y: 12 + scroll-r: #TODO + start: 3 + x: 12 + y: 12 + scroll-br: #TODO + start: 4 + x: 12 + y: 12 + scroll-b: #TODO + start:5 + x: 12 + y: 12 + scroll-bl: #TODO + start:6 + x: 12 + y: 12 + scroll-l: #TODO + start:7 + x: 12 + y: 12 + scroll-tl: #TODO + start:8 + x: 12 + y: 12 + scroll-t-blocked: #TODO + start:124 + x: 12 + y: 12 + scroll-tr-blocked: #TODO + start:125 + x: 12 + y: 12 + scroll-r-blocked: #TODO + start:126 + x: 12 + y: 12 + scroll-br-blocked: #TODO + start:127 + x: 12 + y: 12 + scroll-b-blocked: #TODO + start:128 + x: 12 + y: 12 + scroll-bl-blocked: #TODO + start:129 + x: 12 + y: 12 + scroll-l-blocked: #TODO + start:130 + x: 12 + y: 12 + scroll-tl-blocked:#TODO + start:131 + x: 12 + y: 12 + select: + start:18 + length: 12 + x: 12 + y: 12 + default: + start:0 + default-minimap: + start:1 + generic-blocked: + start:9 + generic-blocked-minimap: + start:52 + move: + start:31 + length: 10 + x: 12 + y: 12 + move-minimap: + start:42 + length: 10 + x: 12 + y: 12 + move-rough: + start:31 + length: 10 + x: 12 + y: 12 + move-blocked: + start:41 + x: 12 + y: 12 + move-blocked-minimap: + start:52 + x: 12 + y: 12 + attack: + start: 31 + length: 10 + x: 12 + y: 12 + attack-blocked: # TODO: unused + start: 32 + length: 1 + x: 12 + y: 12 + attack-minimap: + start: 42 + length: 10 + x: 12 + y: 12 + attackmove: #TODO + start:21 + length: 8 + x: 12 + y: 12 + attackmove-minimap: #TODO + start:134 + length: 8 + x: 12 + y: 12 + harvest: #TODO + start:21 + length: 8 + x: 12 + y: 12 + harvest-minimap: #TODO + start:134 + length: 8 + x: 12 + y: 12 + enter: #TODO + start:113 + length: 3 + x: 12 + y: 12 + enter-minimap: #TODO + start:139 + length: 3 + x: 12 + y: 12 + enter-blocked: #TODO + start:212 + length: 1 + x: 12 + y: 12 + enter-blocked-minimap: #TODO + start:33 + c4: #TODO + start:116 + length: 3 + x: 12 + y: 12 + c4-minimap: #TODO + start:121 + length: 3 + x: 12 + y: 12 + guard: #TODO + start:147 + length: 1 + x: 12 + y: 12 + guard-minimap: #TODO + start:146 + length: 1 + x: 12 + y: 12 + capture: #TODO + start:164 + length: 3 + x: 12 + y: 12 + capture-minimap: #TODO + start:167 + length: 3 + x: 12 + y: 12 + heal: #TODO + start:160 + length: 4 + x: 12 + y: 12 + heal-minimap: #TODO + start:194 + length: 1 + x: 12 + y: 12 + ability: #TODO + start:82 + length: 8 + x: 12 + y: 12 + ability-minimap: #TODO + start:214 + length: 8 + x: 12 + y: 12 + deploy: + start:110 + length: 9 + x: 12 + y: 12 + deploy-blocked: + start:119 + length: 1 + x: 12 + y: 12 + undeploy: #TODO: unused + start:120 + length: 9 + x: 12 + y: 12 + goldwrench: #TODO + start:170 + length: 24 + x: 12 + y: 12 + goldwrench-blocked: #TODO + start:213 + length: 1 + x: 12 + y: 12 + nuke: #TODO + start:90 + length: 7 + x: 12 + y: 12 + sell: + start:129 + length: 10 + x: 12 + y: 12 + sell-minimap: #TODO: unused + start:139 + length: 10 + x: 12 + y: 12 + sell-blocked: + start:149 + length: 1 + x: 12 + y: 12 + repair: + start:170 + length: 20 + x: 12 + y: 12 + repair-blocked: + start:190 + length: 1 + x: 12 + y: 12 + sell2: #TODO ? + start:148 + length: 12 + powerdown-blocked: + start:345 + length: 1 + x: 12 + y: 12 + powerdown: + start:329 + length: 15 + x: 12 + y: 12 \ No newline at end of file diff --git a/mods/ts/maps/blank-conquest.oramap b/mods/ts/maps/blank-conquest.oramap new file mode 100644 index 0000000000..8555cf001d Binary files /dev/null and b/mods/ts/maps/blank-conquest.oramap differ diff --git a/mods/ts/maps/blank-shellmap/map.bin b/mods/ts/maps/blank-shellmap/map.bin new file mode 100644 index 0000000000..011a9c1426 Binary files /dev/null and b/mods/ts/maps/blank-shellmap/map.bin differ diff --git a/mods/ts/maps/blank-shellmap/map.yaml b/mods/ts/maps/blank-shellmap/map.yaml new file mode 100644 index 0000000000..874b1a0b16 --- /dev/null +++ b/mods/ts/maps/blank-shellmap/map.yaml @@ -0,0 +1,47 @@ +Selectable: False + +MapFormat: 5 + +Title: Blank + +Description: Placeholder + +Author: Matthias Mailänder + +Tileset: INTERIOR + +MapSize: 128,128 + +Bounds: 16,16,96,96 + +UseAsShellmap: True + +Type: Conquest + +Players: + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + PlayerReference@Creeps: + Name: Creeps + NonCombatant: True + +Actors: + +Smudges: + +Rules: + World: + -SpawnMPUnits: + -MPStartLocations: + LoadWidgetAtGameStart: + Widget: MAINMENU + +Sequences: + +Weapons: + +Voices: + +Notifications: diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml new file mode 100644 index 0000000000..6dae190fc8 --- /dev/null +++ b/mods/ts/mod.yaml @@ -0,0 +1,167 @@ +Metadata: + Title: Tiberian Sun + Description: Developer stub, not yet ready for release! + Version: {DEV_VERSION} + Author: The OpenRA Developers + +Folders: + . +# Tiberian Sun + ./mods/ts + ./mods/ts/bits + ./mods/ts/uibits + ~^/Content/ts +# Red Alert + ./mods/ra/uibits + +Packages: +# Red Alert + interior.mix +# Tiberian Sun + ~scores.mix:CRC32 + ~sidenc01.mix:CRC32 + ~sidenc02.mix:CRC32 + ~gmenu.mix:CRC32 + ~e01scd01.mix:CRC32 + ~e01scd02.mix:CRC32 + ~maps01.mix:CRC32 + ~maps02.mix:CRC32 + ~movies01.mix:CRC32 + ~movies02.mix:CRC32 + ~multi.mix:CRC32 + ~patch.mix:CRC32 + ~sidecd01.mix:CRC32 + ~sidecd02.mix:CRC32 + ~tibsun.mix:CRC32 + cache.mix:CRC32 + conquer.mix:CRC32 + isosnow.mix:CRC32 + isotemp.mix:CRC32 + local.mix:CRC32 + sidec01.mix:CRC32 + sidec02.mix:CRC32 + sno.mix:CRC32 + snow.mix:CRC32 + sounds.mix:CRC32 +# TODO: differentiate between: + speech01.mix:CRC32 # EVA +# speech02.mix:CRC32 # Cabal + tem.mix:CRC32 + temperat.mix:CRC32 +# Firestorm + ~scores01.mix:CRC32 + expand01.mix:CRC32 + sounds01.mix:CRC32 + ~e01sc01.mix:CRC32 + ~e01sc02.mix:CRC32 + ~e01vox01.mix:CRC32 + ~e01vox02.mix:CRC32 + ~ecache01.mix:CRC32 + +PackageContents: + +Rules: + mods/ts/rules/aircraft.yaml + mods/ts/rules/defaults.yaml + mods/ts/rules/infantry.yaml + mods/ts/rules/structures.yaml + mods/ts/rules/system.yaml + mods/ts/rules/vehicles.yaml + +Sequences: + mods/ts/sequences/aircraft.yaml + mods/ts/sequences/infantry.yaml + mods/ts/sequences/misc.yaml + mods/ts/sequences/structures.yaml + mods/ts/sequences/vehicles.yaml + +VoxelSequences: + mods/ts/sequences/voxels.yaml + +Cursors: + mods/ts/cursors.yaml + +Chrome: + mods/ts/chrome.yaml + +Assemblies: + mods/ra/OpenRA.Mods.RA.dll + mods/ts/OpenRA.Mods.TS.dll + +ChromeLayout: + mods/ra/chrome/gameinit.yaml + mods/ra/chrome/ingame.yaml + mods/ra/chrome/ingame-chat.yaml + mods/ra/chrome/ingame-fmvplayer.yaml + mods/ra/chrome/ingame-menu.yaml + mods/ra/chrome/ingame-objectives.yaml + mods/ra/chrome/ingame-observerstats.yaml + mods/ra/chrome/mainmenu.yaml + mods/ra/chrome/settings.yaml + mods/ra/chrome/credits.yaml + mods/ra/chrome/lobby.yaml + mods/ra/chrome/lobby-playerbin.yaml + mods/ra/chrome/lobby-dialogs.yaml + mods/ra/chrome/color-picker.yaml + mods/ra/chrome/map-chooser.yaml + mods/ra/chrome/create-server.yaml + mods/ra/chrome/serverbrowser.yaml + mods/ra/chrome/replaybrowser.yaml + mods/ra/chrome/dropdowns.yaml + mods/ra/chrome/modchooser.yaml + mods/ra/chrome/cheats.yaml + mods/ra/chrome/musicplayer.yaml + mods/ra/chrome/tooltips.yaml + mods/ra/chrome/assetbrowser.yaml + mods/ra/chrome/convertassets.yaml + +Weapons: + mods/ts/weapons.yaml + +Voices: + mods/ts/voices.yaml + +Notifications: + mods/ts/notifications.yaml + +TileSets: + mods/ra/tilesets/interior.yaml + +Music: + mods/ts/music.yaml + +Movies: + +LoadScreen: RALoadScreen + LoadScreenImage: mods/ts/uibits/loadscreen.png + InstallerMenuWidget: INSTALL_PANEL + TestFile: tibsun.mix + PackageURL: http://open-ra.org/get-dependency.php?file=ts-packages # TODO: upload a stripped down package + +ServerTraits: + LobbyCommands + PlayerPinger + MasterServerPinger + +ChromeMetrics: + mods/ra/metrics.yaml + +Fonts: + Regular: + Font:FreeSans.ttf + Size:14 + Bold: + Font:FreeSansBold.ttf + Size:14 + Title: + Font:FreeSansBold.ttf + Size:32 + BigBold: + Font:FreeSansBold.ttf + Size:24 + Tiny: + Font:FreeSans.ttf + Size:10 + TinyBold: + Font:FreeSansBold.ttf + Size:10 diff --git a/mods/ts/notifications.yaml b/mods/ts/notifications.yaml new file mode 100644 index 0000000000..25c3a034e9 --- /dev/null +++ b/mods/ts/notifications.yaml @@ -0,0 +1,43 @@ +Speech: + Notifications: + Repairing: 00-i040 + LowPower: 00-i240 + SilosNeeded: 00-i044 + PrimaryBuildingSelected: 00-i034 + BuildingCannotPlaceAudio: 00-i016 + NewOptions: 00-i032 + AbilityInsufficientPower: + Win: 00-i284 + Lose: 00-i286 + BaseAttack: 00-i082 + HarvesterAttack: 00-i090 + Leave: 00-i012 + StartGame: 00-i200 + UnitReady: 00-i076 + NoBuild: + Training: 00-i062 + OnHold: 00-i218 + Cancelled: 00-i220 + Building: 00-i216 + ConstructionComplete: 00-i018 + UnitLost: 00-i074 + NavalUnitLost: 00-i074 + AirUnitLost: 00-i074 + BuildingCaptured: 00-i056 + + +Sounds: + Notifications: + RadarUp: + RadarDown:radardn1 + CashTickUp: credup1 + CashTickDown: creddwn1 + LevelUp: + DisablePower: + EnablePower: + ChatLine:message1 + BuildPaletteOpen: + BuildPaletteClose: + TabClick: + ClickSound:clicky1 + ClickDisabledSound:wrong1 \ No newline at end of file diff --git a/mods/ts/rules/aircraft.yaml b/mods/ts/rules/aircraft.yaml new file mode 100644 index 0000000000..6361ffb1ef --- /dev/null +++ b/mods/ts/rules/aircraft.yaml @@ -0,0 +1,274 @@ +DPOD: + Inherits: ^Helicopter + Valued: + Cost: 10 + Tooltip: + Name: Drop Pod + Icon: podsicon + Buildable: + Queue: Air + BuildPaletteOrder: 10 + Owner: gdi + Helicopter: + LandWhenIdle: yes + ROT: 5 + Speed: 16 + InitialFacing: 0 + LandableTerrainTypes: Clear # TODO: add more + Health: + HP: 60 + Armor: + Type: Light + RevealsShroud: + Range: 0 + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + Armament: + Weapon: Vulcan2 + AttackHeli: + LimitedAmmo: + Ammo: 5 + PipCount: 5 + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +DSHP: + Inherits: ^Helicopter + Valued: + Cost: 1000 + Tooltip: + Name: Dropship + Icon: xxicon + Buildable: + Queue: Air + BuildPaletteOrder: 10 + Owner: gdi + Prerequisites: gaweap + Helicopter: + LandWhenIdle: yes # TODO: use DROPUP1.AUD and DROPDWN1.AUD + ROT: 5 + Speed: 18 + InitialFacing: 0 + LandableTerrainTypes: Clear # TODO: add more + Health: + HP: 200 + Armor: + Type: Heavy + RevealsShroud: + Range: 3 + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +ORCA: + Inherits: ^Helicopter + Valued: + Cost: 1000 + Tooltip: + Name: Orca Fighter + Icon: orcaicon + Description: Helicopter Gunship with Missiles.\n Strong vs Buildings, Tanks\n Weak vs Infantry + Buildable: + Queue: Air + BuildPaletteOrder: 20 + Prerequisites: gahpad + Owner: gdi + Selectable: + Bounds: 30,24 + Helicopter: + RearmBuildings: gahpad # TODO: use ORCAUP1.AUD and ORCADWN1.AUD + ROT: 5 + Speed: 20 + Health: + HP: 200 + Armor: + Type: Light + RevealsShroud: + Range: 10 + Armament: + Weapon: Hellfire + AttackHeli: + FacingTolerance: 20 + LimitedAmmo: + Ammo: 5 + PipCount: 5 + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +ORCAB: + Inherits: ^Helicopter + Valued: + Cost: 1600 + Tooltip: + Name: Orca Bomber + Icon: obmbicon + Buildable: + Queue: Air + BuildPaletteOrder: 20 + Prerequisites: gahpad#, gatech + Owner: gdi + Selectable: + Bounds: 30,24 + Helicopter: + RearmBuildings: gahpad # TODO: use ORCAUP1.AUD and ORCADWN1.AUD + ROT: 5 + Speed: 12 + Health: + HP: 260 + Armor: + Type: Light + RevealsShroud: + Range: 2 + Armament: + Weapon: Bomb + AttackHeli: + FacingTolerance: 20 + LimitedAmmo: + Ammo: 2 + PipCount: 2 + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +ORCATRAN: + Inherits: ^Helicopter + Valued: + Cost: 1200 + Tooltip: + Name: Orca Transport + Icon: crryicon + Buildable: + Queue: Air + BuildPaletteOrder: 10 + Owner: gdi + Prerequisites: gahpad + Helicopter: + LandWhenIdle: yes # TODO: use ORCAUP1.AUD and ORCADWN1.AUD + ROT: 5 + Speed: 9 + InitialFacing: 0 + LandableTerrainTypes: Clear # TODO: add more + Health: + HP: 200 + Armor: + Type: Light + RevealsShroud: + Range: 2 + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +TRNSPORT: # TODO: set up the vehicle cargo traits, but beware of desyncs + Inherits: ^Helicopter + Valued: + Cost: 750 + Tooltip: + Name: Carryall + Icon: otrnicon + Buildable: + Queue: Air + BuildPaletteOrder: 10 + Owner: gdi + Prerequisites: gahpad#, gadept + Helicopter: + LandWhenIdle: yes # TODO: use DROPUP1.AUD and DROPDWN1.AUD + ROT: 5 + Speed: 16 + InitialFacing: 0 + LandableTerrainTypes: Clear # TODO: add more + Health: + HP: 175 + Armor: + Type: Light + RevealsShroud: + Range: 2 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +SCRIN: + Inherits: ^Helicopter + Valued: + Cost: 1500 + Tooltip: + Name: Banshee Fighter + Icon: proicon + Buildable: + Queue: Air + BuildPaletteOrder: 20 + Prerequisites: #nahpad, natech + Owner: nod + Selectable: + Bounds: 30,24 + Helicopter: + RearmBuildings: #nahpad # TODO: use DROPUP1.AUD and DROPDWN1.AUD + ROT: 3 + Speed: 18 + Health: + HP: 280 + Armor: + Type: Light + RevealsShroud: + Range: 2 + Armament: + Weapon: Proton + AttackHeli: + FacingTolerance: 20 + LimitedAmmo: + Ammo: 3 + PipCount: 3 + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +APACHE: + Inherits: ^Helicopter + Valued: + Cost: 1000 + Tooltip: + Name: Harpy + Icon: apchicon + Buildable: + Queue: Air + BuildPaletteOrder: 20 + Prerequisites: #nahpad + Owner: nod + Selectable: + Bounds: 30,24 + Helicopter: + RearmBuildings: #nahpad + ROT: 5 + Speed: 14 + Health: + HP: 225 + Armor: + Type: Light + RevealsShroud: + Range: 2 + Armament: + Weapon: HarpyClaw + AttackHeli: + FacingTolerance: 20 + LimitedAmmo: + Ammo: 12 + PipCount: 4 + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: \ No newline at end of file diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml new file mode 100644 index 0000000000..9da6820afe --- /dev/null +++ b/mods/ts/rules/defaults.yaml @@ -0,0 +1,202 @@ +^Building: + AppearsOnRadar: + SelectionDecorations: + Selectable: + Priority: 3 + TargetableBuilding: + TargetTypes: Ground, C4 + Building: + Dimensions: 1,1 + Footprint: x + TerrainTypes: Clear,Road + GivesBuildableArea: + Capturable: + CapturableBar: + SoundOnDamageTransition: + DamagedSound: #TODO + DestroyedSound: #TODO + RenderBuilding: + WithBuildingExplosion: + RepairableBuilding: + EngineerRepairable: +# EmitInfantryOnSell: + MustBeDestroyed: + GivesExperience: +# FrozenUnderFog: + CaptureNotification: + EditorAppearance: + RelativeToTopLeft: yes + ShakeOnDeath: + ProximityCaptor: + Types:Building + Sellable: + AcceptsSupplies: + GivesBounty: + UpdatesPlayerStatistics: + DebugMuzzlePositions: + Guardable: + Range: 3 + BodyOrientation: + +^Infantry: + AppearsOnRadar: + Health: + Radius: 3 + Armor: + Type: None + RevealsShroud: + Range: 4 + Mobile: + Crushes: crate + SharesCell: yes + TerrainSpeeds: + Clear: 90 + Rough: 80 + Road: 100 + Ore: 80 + Gems: 80 + Beach: 80 + SelectionDecorations: + Selectable: + Voice: Infantry + TargetableUnit: + TargetTypes: Ground + RenderInfantry: + AutoTarget: + AttackMove: + Passenger: + CargoType: Infantry + HiddenUnderFog: + GainsExperience: + GivesExperience: + DrawLineToTarget: + ActorLostNotification: + ProximityCaptor: + Types: Infantry + GivesBounty: + CrushableInfantry: + CrushSound: squish6.aud + UpdatesPlayerStatistics: + DebugMuzzlePositions: + Guard: + Guardable: + BodyOrientation: + +^CivilianInfantry: + Inherits: ^Infantry + Selectable: + Voice: Civilian + Bounds: 12,17,0,-9 + Valued: + Cost: 10 + Tooltip: + Name: Civilian + Icon: xxicon + Buildable: # TODO: remove this once the testing period is over + Queue: Infantry + BuildPaletteOrder: 1000 + Owner: gdi, nod + Health: + HP: 50 + Mobile: + Speed: 5 + RevealsShroud: + Range: 2 + Armament: + Weapon: Pistola # deviation from RULES.INI (only CTECH is armed) +# LimitedAmmo: +# Ammo: 10 +# PipCount: 2 + AttackFrontal: + ProximityCaptor: + Types: CivilianInfantry + -RenderInfantry: + RenderInfantryPanic: + ScaredyCat: + +^Vehicle: + AppearsOnRadar: + Mobile: + Crushes: crate + TerrainSpeeds: + Clear: 80 + Rough: 40 + Road: 100 + Beach: 40 + ROT: 5 + SelectionDecorations: + Selectable: + Voice: Vehicle + TargetableUnit: + TargetTypes: Ground + Repairable: + Passenger: + CargoType: Vehicle + AttackMove: + HiddenUnderFog: + GainsExperience: + GivesExperience: + DrawLineToTarget: + ActorLostNotification: + ProximityCaptor: + Types:Vehicle + GivesBounty: +# WithSmoke: + UpdatesPlayerStatistics: + DebugMuzzlePositions: + Guard: + Guardable: + BodyOrientation: + +^Wall: + AppearsOnRadar: + Building: + Dimensions: 1,1 + Footprint: x + BuildSounds: placbldg.aud + Adjacent: 7 + TerrainTypes: Clear,Road + Wall: + CrushClasses: wall + LineBuild: + Range: 8 + SelectionDecorations: + Selectable: + Priority: 1 + TargetableBuilding: + TargetTypes: Ground, C4 + RenderBuildingWall: + HasMakeAnimation: no + GivesExperience: + EditorAppearance: + RelativeToTopLeft: yes + UseTerrainPalette: yes + AutoTargetIgnore: + ProximityCaptor: + Types: Wall + Sellable: + UpdatesPlayerStatistics: + BodyOrientation: + +^Helicopter: + AppearsOnRadar: + UseLocation: yes + TargetableAircraft: + TargetTypes: Air + GroundedTargetTypes: Ground + SelectionDecorations: + Selectable: + Voice: Heli + Helicopter: + RepairBuildings: + RearmBuildings: + LandWhenIdle: no + Buildable: + Queue: Aircraft + HiddenUnderFog: + GainsExperience: + GivesExperience: + DrawLineToTarget: + ActorLostNotification: + DebugMuzzlePositions: + BodyOrientation: \ No newline at end of file diff --git a/mods/ts/rules/infantry.yaml b/mods/ts/rules/infantry.yaml new file mode 100644 index 0000000000..dba1fe2398 --- /dev/null +++ b/mods/ts/rules/infantry.yaml @@ -0,0 +1,710 @@ +E1: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: gdi,nod + Hotkey: i + Valued: + Cost: 120 + Tooltip: + Name: Light Infantry + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Selectable: + Bounds: 12,17,0,-9 + Health: + HP: 125 + Mobile: + Speed: 5 + Armament: + Weapon: Minigun + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E2: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: gdi + Hotkey: n + Valued: + Cost: 200 + Tooltip: + Name: Disc Thrower + Description: Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles + Selectable: + Bounds: 12,17,0,-9 + Health: + HP: 150 + Mobile: + Speed: 4 + Armament: + Weapon: Grenade + LocalOffset: 0,0,555 + FireDelay: 15 + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +E3: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 20 + Owner: nod + Hotkey: r + Valued: + Cost: 250 + Tooltip: + Name: Rocket Infantry + Description: Anti-tank infantry.\n Strong vs Tanks\n Weak vs Infantry + Icon: e4icon # TODO: really? + Selectable: + Bounds: 12,17,0,-9 + Voice: Rocket + Health: + HP: 100 + Mobile: + Speed: 3 + Armament@PRIMARY: + Weapon: Bazooka + LocalOffset: 0,0,555 + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +WEEDGUY: + Inherits: ^Infantry + Valued: + Cost: 300 + Tooltip: + Name: Chem Spray Infantry + Description: Advanced Anti-infantry unit.\n Strong vs Infantry\n Weak vs Vehicles + Icon: weaticon + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: gdi + Selectable: + Bounds: 12,17,0,-6 + Voice: Weed + Mobile: + Speed: 3 + Health: + HP: 130 + CrushableInfantry: + CrushSound: squish2.aud + Armament: + Weapon: MultiCluster + LocalOffset: 85,0,384 + FireDelay: 3 + AttackFrontal: +# -PoisonedByTiberium: + -RenderInfantry: + RenderInfantryProne: + TakeCover: + +MEDIC: + Inherits: ^Infantry + Valued: + Cost: 600 + Tooltip: + Name: Medic + Description: Heals nearby infantry.\n Strong vs Nothing\n Weak vs Everything + Icon: mediicon + Buildable: + Queue: Infantry + BuildPaletteOrder: 60 + Owner: gdi + Selectable: + Bounds: 12,17,0,-6 + Voice: Medic + Mobile: + Speed: 4 + Health: + HP: 125 + CrushableInfantry: + CrushSound: squish2.aud + Armament: + Weapon: Heal + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + SelfHealing: + Passenger: + PipType: Red + +ENGINEER: + Inherits: ^Infantry + Valued: + Cost: 500 + Tooltip: + Name: Engineer + Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything + Icon: engnicon + Buildable: + Queue: Infantry + BuildPaletteOrder: 30 + Owner: gdi,nod + Selectable: + Bounds: 12,17,0,-6 + Voice: Engineer + Mobile: + Speed: 4 + Health: + HP: 500 + Passenger: + PipType: Yellow + EngineerRepair: + RepairsBridges: + LegacyCaptures: + CaptureTypes: building + -AutoTarget: + AttackMove: + JustMove: true + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + TakeCover: + -GainsExperience: + +UMAGON: + Inherits: ^Infantry + Valued: + Cost: 400 + Tooltip: + Icon: umagicon + Name: Umagon + Description: Elite sniper infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: gdi + Selectable: + Bounds: 12,17,0,-6 + Voice: Umagon + Mobile: + Speed: 5 + Health: + HP: 150 + Passenger: # TODO: +# PipType: White + RevealsShroud: + Range: 7 + Armament: + Weapon: Sniper + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +GHOST: + Inherits: ^Infantry + Valued: + Cost: 1750 + Tooltip: + Icon: gosticon + Name: Ghost Stalker + Description: Elite commando infantry, armed with \ndual pistols and C4.\n Strong vs Infantry, Buildings\n Weak vs Vehicles\n Special Ability: Destroy Building with C4\n\nMaximum 1 can be trained + BuildLimit: 1 + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: gdi + Selectable: + Bounds: 12,17,0,-6 + Voice: Ghost + Mobile: + Speed: 4 + Health: + HP: 200 + Passenger: # TODO: +# PipType: White + RevealsShroud: + Range: 6 + Armament: + Weapon: LtRail + CrushableInfantry: + CrushSound: squish2.aud + AttackFrontal: + C4Demolition: + C4Delay: 45 + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 + +JUMPJET: + Inherits: ^Infantry + Valued: + Cost: 600 + Tooltip: + Icon: jjeticon + Name: Jumpjet Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: gdi + Selectable: + Bounds: 12,17,0,-6 + Voice: JumpJet + Mobile: + Speed: 4 + Health: + HP: 120 + Armor: + Type: Light + Passenger: + PipType: Green + RevealsShroud: + Range: 6 + Armament: + Weapon: JumpCannon + -CrushableInfantry: + AttackFrontal: + TakeCover: + RenderInfantry: +# LeavesHusk: # TODO +# Transforms: # TODO + +CHAMSPY: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 60 + Owner: nod + Hotkey: p + Valued: + Cost: 700 + SpyToolTip: + Name: Chameleon Spy + Description: Infiltrates enemy structures to gather \nintelligence. Exact effect depends on the \nbuilding infiltrated.\n Strong vs Nothing\n Weak vs Everything\n Special Ability: Disguised + Icon: chamicon + Selectable: + Voice: Spy + Bounds: 12,17,0,-9 + Health: + HP: 120 + Mobile: + Speed: 6 + RevealsShroud: + Range: 9 + Passenger: # TODO +# PipType: White + TakeCover: + Spy: + Infiltrates: + Types: Cash, SupportPower, Exploration + -AutoTarget: + AttackMove: + JustMove: true + -RenderInfantry: + RenderSpy: + IdleAnimations: idle1,idle2 + +CYBORG: + Inherits: ^Infantry + Armor: + Type: Heavy + Valued: + Cost: 650 + Tooltip: + Icon: cybiicon + Name: Cyborg Infantry + Description: Cybernetic infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: nod + -CrushableInfantry: + CrushSound: squish2.aud + Selectable: + Bounds: 12,17,0,-6 # TODO: wrong + Voice: Cyborg + Mobile: + Speed: 4 + Health: + HP: 300 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + Passenger: # TODO: +# PipType: White + RevealsShroud: + Range: 5 + Armament: + Weapon: Vulcan3 + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# LeavesHusk: # TODO: +# CrawlingCyborg + +CYC2: + Inherits: ^Infantry + Armor: + Type: Heavy + Valued: + Cost: 2000 + Tooltip: + Icon: cybcicon + Name: Cyborg Commando + Description: Elite cybernetic infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles + Buildable: + Queue: Infantry + BuildPaletteOrder: 50 + Owner: nod + -CrushableInfantry: + CrushSound: squish2.aud + Selectable: + Bounds: 12,17,0,-6 # TODO: wrong + Voice: CyborgCommando + Mobile: + Speed: 4 + Health: + HP: 500 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + Passenger: # TODO: +# PipType: White + RevealsShroud: + Range: 7 + Armament: + Weapon: Sniper + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# LeavesHusk: # TODO: +# CrawlingCyborgCommando + +MUTANT: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Mutant + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Mutant + Health: + HP: 50 + Mobile: + Speed: 4 + RevealsShroud: + Range: 4 + Armament: + Weapon: Vulcan + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +MWMN: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Mutant Soldier + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Mutant + Health: + HP: 50 + Mobile: + Speed: 4 + RevealsShroud: + Range: 4 + Armament: + Weapon: Vulcan + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +MUTANT3: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Mutant Sergeant + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Mutant + Health: + HP: 50 + Mobile: + Speed: 4 + RevealsShroud: + Range: 4 + Armament: + Weapon: Vulcan + AttackFrontal: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +MHIJACK: # TODO: does not work + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Mutant Hijacker + Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Hijacker + Health: + HP: 300 + Mobile: + Speed: 7 + RevealsShroud: + Range: 6 + -AutoTarget: + -AttackMove: + TakeCover: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +TRATOS: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Tratos + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Tratos + Health: + HP: 200 + Mobile: + Speed: 5 + RevealsShroud: + Range: 4 + TakeCover: + -AutoTarget: + -AttackMove: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +OXANNA: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Oxanna + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Oxanna + Health: + HP: 50 + Mobile: + Speed: 4 + RevealsShroud: + Range: 4 + TakeCover: + -AutoTarget: + -AttackMove: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +SLAV: + Inherits: ^Infantry + Buildable: + Queue: Infantry + BuildPaletteOrder: 10 + Owner: forgotten + Valued: + Cost: 100 + Tooltip: + Name: Slavick + Icon: mutcicon + Selectable: + Bounds: 12,17,0,-9 + Voice: Slavick + Health: + HP: 300 + Mobile: + Speed: 4 + RevealsShroud: + Range: 4 + TakeCover: + -AutoTarget: + -AttackMove: + -RenderInfantry: + RenderInfantryProne: + IdleAnimations: idle1,idle2 +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +DOGGIE: + Inherits: ^Infantry + Tooltip: + Name: Tiberian Fiend + Icon: xxicon + Buildable: + Queue: Infantry + BuildPaletteOrder: 100 + Owner: None + Health: + Radius: 3 + HP: 250 + Valued: + Cost: 100 + Armor: + Type: Light + RevealsShroud: + Range: 4 + Mobile: + Speed: 8 +# CrushableInfantry: +# CrushSound: squish2.aud + Selectable: + Voice: Fiend + TargetableUnit: + TargetTypes: Ground + Armament: + Weapon: FiendShard + AttackFrontal: + AttackWander: +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + +VISSML: + Inherits: ^Infantry + Tooltip: + Name: Baby Visceroid + Icon: xxicon + Buildable: + Queue: Infantry + BuildPaletteOrder: 100 + Owner: None + Health: + HP: 200 + Valued: + Cost: 1 + Armor: + Type: Light + RevealsShroud: + Range: 0 + Mobile: + Speed: 8 + ROT: 16 + -CrushableInfantry: + Selectable: + Voice: Fiend + TargetableUnit: + TargetTypes: Ground + -AutoTarget: + -AttackMove: +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + -RenderInfantry: + RenderUnit: + +VISLRG: + Inherits: ^Infantry + Tooltip: + Name: Adult Visceroid + Icon: xxicon + Buildable: + Queue: Infantry + BuildPaletteOrder: 100 + Owner: None + Health: + HP: 500 + Valued: + Cost: 1 + Armor: + Type: Light + RevealsShroud: + Range: 0 + Mobile: + Speed: 8 + ROT: 16 + -CrushableInfantry: + Selectable: + Voice: Fiend + TargetableUnit: + TargetTypes: Ground + Armament: + Weapon: SlimeAttack + AttackFrontal: + AttackWander: +# -PoisonedByTiberium: +# TiberiumHeal: # TODO + -RenderInfantry: + RenderUnit: + +CIV1: + Inherits: ^CivilianInfantry + +CIV2: + Inherits: ^CivilianInfantry + +CIV3: + Inherits: ^CivilianInfantry \ No newline at end of file diff --git a/mods/ts/rules/structures.yaml b/mods/ts/rules/structures.yaml new file mode 100644 index 0000000000..c8a080b9a0 --- /dev/null +++ b/mods/ts/rules/structures.yaml @@ -0,0 +1,352 @@ +GACNST: + Inherits: ^Building + Building: + Power: 0 + Footprint: xxx xxx xxx + Dimensions: 3,3 + Buildable: + Queue: Building + BuildPaletteOrder: 1000 + Owner: None + Health: + HP: 1500 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + Bib: + Production: + Produces: Building,Defense + Valued: + Cost: 2500 + Tooltip: + Name: Construction Yard + Description: Builds base structures. + Icon: facticon + CustomSellValue: + Value: 2500 + BaseBuilding: + Transforms: + IntoActor: mcv + Offset:1,1 + Facing: 96 + ProductionBar: + -Sellable: + +GAPOWR: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 0 + Owner: gdi + Hotkey: p + Valued: + Cost: 300 + Tooltip: + Name: GDI Power Plant + Description: Provides power for other structures + Icon: powricon + ProvidesCustomPrerequisite: + Prerequisite: anypower + Building: + Power: 100 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 750 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Bib: + +GAPILE: + Inherits: ^Building + Buildable: + Queue: Building + BuildPaletteOrder: 30 + Prerequisites: anypower + Owner: gdi + Hotkey: b + Valued: + Cost: 300 + Tooltip: + Name: GDI Barracks + Description: Produces infantry + Icon: brrkicon + Building: + Power: -20 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 800 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + Bib: +# RallyPoint: #TODO: setup sequences + Exit@1: + SpawnOffset: -64,64,0 + ExitCell: 0,2 + Production: + Produces: Infantry + PrimaryBuilding: + IronCurtainable: + ProductionBar: + +GAWEAP: + Inherits: ^Building + Valued: + Cost: 2000 + Tooltip: + Name: GDI War Factory + Icon: weapicon + Description: Assembly point for\nvehicle reinforcements +# ProvidesCustomPrerequisite: +# Prerequisite: VehicleProduction + Buildable: + Queue: Building + BuildPaletteOrder: 50 + Owner: gdi + Building: + Power: -30 + Footprint: ___ xxx === + Dimensions: 3,3 + Health: + HP: 1000 + RevealsShroud: + Range: 4 + Bib: + -RenderBuilding: + RenderBuildingWarFactory: +# RallyPoint: # TODO: setup sequences + Exit@1: + SpawnOffset: -8,-8 + ExitCell: 0,2 + Production: + Produces: Vehicle + ProductionBar: + +GASAND: + Inherits: ^Wall + Buildable: + Queue: Defense + BuildPaletteOrder: 1000 + Prerequisites: gacnst + Owner: gdi + Hotkey: b + SoundOnDamageTransition: + DamagedSound: sandbag1.aud + DestroyedSound: sandbag1.aud + Valued: + Cost: 25 + CustomSellValue: + Value: 0 + Tooltip: + Name: Sandbags + Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. + Icon: sbagicon + Health: + HP: 250 + Armor: + Type: Light + +GATICK: + Inherits: ^Building + Valued: + Cost: 800 + -AcceptsSupplies: + Tooltip: + Name: Deployed Tick Tank + Building: + Footprint: x + Dimensions: 1,1 + -GivesBuildableArea: + Health: + HP: 350 + Armor: + Type: Concrete + RevealsShroud: + Range: 5 + Turreted: + ROT: 6 + InitialFacing: 128 + Armament: + Weapon: 90mm + AttackTurreted: + AutoTarget: + RenderRangeCircle: + DrawLineToTarget: + RenderBuilding: + RenderVoxels: + Image: ttnk + WithVoxelBarrel: # TODO: offsets + WithVoxelTurret: # TODO: offsets + Transforms: + IntoActor: ttnk + Offset: 1,1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +GAICBM: # TODO: does not launch anything yet + Inherits: ^Building + Valued: + Cost: 800 + -AcceptsSupplies: + Tooltip: + Name: Deployed ICBM + Building: + Footprint: _ x # TODO + Dimensions: 1,2 # TODO + -GivesBuildableArea: + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 5 + Transforms: + IntoActor: icbm + Offset: 1,1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +GADPSA: + Inherits: ^Building + Valued: + Cost: 950 + -AcceptsSupplies: + Tooltip: + Name: Deployed Sensor Array + Building: + Footprint: _ x # TODO + Dimensions: 1,2 # TODO + -GivesBuildableArea: + Health: + HP: 600 + Armor: + Type: Wood + RevealsShroud: + Range: 8 + Transforms: + IntoActor: lpst + Offset: 1,1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + RenderDetectionCircle: + DetectCloaked: + Range: 6 + +GAARTY: + Inherits: ^Building + Valued: + Cost: 975 + -AcceptsSupplies: + Tooltip: + Name: Deployed Artillery + Building: + Footprint: x + Dimensions: 1,1 + -GivesBuildableArea: + Health: + HP: 300 + Armor: + Type: Light + RevealsShroud: + Range: 9 + Selectable: + Voice: Vehicle + Turreted: + ROT: 5 + InitialFacing: 128 + Armament: + Weapon: 155mm + AttackTurreted: + AutoTarget: + RenderRangeCircle: + DrawLineToTarget: + RenderBuilding: + RenderVoxels: + Image: art2 + WithVoxelBarrel: # TODO: offsets + WithVoxelTurret: # TODO: offsets + Transforms: + IntoActor: art2 + Offset: 1,1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +GASPOT: # TODO: has moving spotlights + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 10 + Owner: gdi, nod + Valued: + Cost: 300 + Tooltip: + Name: Light Tower + Icon: spoticon + Building: + Power: -10 + Footprint: x + Dimensions: 1,1 + Health: + HP: 400 + Armor: + Type: Wood + RevealsShroud: + Range: 4 + Bib: + RenderDetectionCircle: + DetectCloaked: + Range: 3 + +GAHPAD: + Inherits: ^Building + Valued: + Cost: 500 + Tooltip: + Name: Helipad + Icon: heliicon + Description: Produces, rearms and\nrepairs helicopters + Buildable: + BuildPaletteOrder: 60 +# Prerequisites: garadr + Owner: gdi + Queue: Building + Building: + Power: -10 + Footprint: xx xx + Dimensions: 2,2 + Health: + HP: 600 + RevealsShroud: + Range: 5 + Exit@1: + SpawnOffset: 0,-6 + Production: + Produces: Air + BelowUnits: + Reservable: + RepairsUnits: +# RallyPoint: + ProductionBar: + -RenderBuilding: + RenderBuildingWarFactory: # TODO: workaround + +# custom prerequisites: +ANYPOWER: + Tooltip: + Name: Power Plant + Description: Power Plant + +BARRACKS: + Tooltip: + Name: Infantry Production + Description: Infantry Production \ No newline at end of file diff --git a/mods/ts/rules/system.yaml b/mods/ts/rules/system.yaml new file mode 100644 index 0000000000..86b8ccedc2 --- /dev/null +++ b/mods/ts/rules/system.yaml @@ -0,0 +1,138 @@ +Player: + TechTree: + ClassicProductionQueue@Building: + Type: Building + BuildSpeed: .4 + LowPowerSlowdown: 3 + QueuedAudio: Building + ReadyAudio: ConstructionComplete + ClassicProductionQueue@Defense: + Type: Defense + BuildSpeed: .4 + LowPowerSlowdown: 3 + QueuedAudio: Building + ReadyAudio: ConstructionComplete + ClassicProductionQueue@Vehicle: + Type: Vehicle + BuildSpeed: .4 + LowPowerSlowdown: 3 + ClassicProductionQueue@Infantry: + Type: Infantry + BuildSpeed: .4 + LowPowerSlowdown: 3 + ClassicProductionQueue@Air: + Type: Air + BuildSpeed: .4 + LowPowerSlowdown: 3 + PlaceBuilding: + SupportPowerManager: + ConquestVictoryConditions: + PowerManager: + AllyRepair: + PlayerResources: + InitialCash: 5000 + ActorGroupProxy: + DeveloperMode: + PlayerColorPalette: + BasePalette: player + RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 + GpsWatcher: + Shroud: + BaseAttackNotifier: + PlayerStatistics: + +World: + LoadWidgetAtGameStart: + Widget: INGAME_ROOT + BuildingInfluence: + ChooseBuildTabOnSelect: + PaletteFromFile@player: + Name: player + Filename: unittem.pal + ShadowIndex: 1 + PaletteFromFile@terrain: + Name: terrain + Filename: isotem.pal + PaletteFromFile@chrome: + Name: chrome + Filename: cameo.pal + AllowModifiers: false + ShadowIndex: 242 + PaletteFromFile@effect: + Name: effect + Filename: anim.pal + PaletteFromFile@colorpicker: + Name: colorpicker + Filename: unittem.pal + AllowModifiers: false + PaletteFromRGBA@shadow: + Name: shadow + R: 0 + G: 0 + B: 0 + A: 140 + PaletteFromRGBA@cloak: + Name: cloak + R: 0 + G: 0 + B: 0 + A: 140 + PaletteFromRGBA@highlight: + Name: highlight + R: 255 + G: 255 + B: 255 + A: 128 + PaletteFromRGBA@invuln: + Name: invuln + R: 128 + G: 0 + B: 0 + A: 128 + PaletteFromRGBA@disabled: + Name: disabled + R: 0 + G: 0 + B: 0 + A: 180 + ShroudPalette@shroud: + Type: Shroud + ShroudPalette@fog: + Name: fog + Type: Fog + VoxelNormalsPalette@normals: + Name: normals + Type: TiberianSun + Country@0: + Name: GDI + Race: gdi + Country@1: + Name: Nod + Race: nod + ResourceLayer: + ResourceClaimLayer: +# BibLayer: # TODO: file not found: bib3 + DebugOverlay: + SpawnMapActors: + CreateMPPlayers: + MPStartUnits: + Races: gdi, nod + BaseActor: mcv + MPStartLocations: + SpawnMPUnits: + SpatialBins: + BinSize: 4 + PathFinder: + ValidateOrder: + DebugPauseState: + ScreenShaker: + +mpspawn: + Waypoint: + RenderEditorOnly: + BodyOrientation: + +waypoint: + Waypoint: + RenderEditorOnly: + BodyOrientation: \ No newline at end of file diff --git a/mods/ts/rules/vehicles.yaml b/mods/ts/rules/vehicles.yaml new file mode 100644 index 0000000000..b35f23eb7f --- /dev/null +++ b/mods/ts/rules/vehicles.yaml @@ -0,0 +1,831 @@ +MCV: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 110 + Owner: gdi,nod + Hotkey: b + Valued: + Cost: 2000 + Tooltip: + Name: Mobile Construction Vehicle + Description: Deploys into another Construction Yard.\n Unarmed + Selectable: + Priority: 3 + Bounds: 42,42 + Health: + HP: 600 + Armor: + Type: Light + Mobile: + Speed: 6 + Crushes: wall, crate, infantry + RevealsShroud: + Range: 4 + MustBeDestroyed: + BaseBuilding: + -AttackMove: + Transforms: + IntoActor: gacnst + Offset:-1,-1 + Facing: 96 + TransformSounds: # TODO + NoTransformSounds: # TODO + RenderSprites: + RenderVoxels: + WithVoxelBody: + +APC: + Inherits: ^Vehicle + Valued: + Cost: 600 + Tooltip: + Name: Amphibious APC # TODO: not yet amphibious + Icon: apcicon + Description: Armored infantry transport and mobile AA\n Strong vs Aircraft, Vehicles\n Weak vs Infantry + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Owner: gdi + Mobile: + ROT: 5 + Speed: 8 + Health: + HP: 200 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + Turreted: + ROT: 10 + -AttackMove: + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + UnloadFacing: 220 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +HARV: # TODO: without back: HORV + Inherits: ^Vehicle + Valued: + Cost: 1400 + Tooltip: + Name: Harvester + Icon: harvicon + Description: Collects Tiberium for processing.\n Unarmed + Buildable: + Queue: Vehicle + BuildPaletteOrder: 10 +# Prerequisites: proc + Owner: gdi,nod + Selectable: + Priority: 7 + Bounds: 36,36 +# Harvester: +# Resources: Tiberium, BlueTiberium +# PipCount: 7 +# Capacity: 28 +# LoadTicksPerBale: 6 +# UnloadTicksPerBale: 12 +# SearchFromProcRadius: 24 +# SearchFromOrderRadius: 12 + Mobile: + Speed: 5 + Health: + HP: 1000 + SelfHealing: + Ticks: 10 + HealIfBelow: 50% + DamageCooldown: 200 + Armor: + Type: Heavy + RevealsShroud: + Range: 4 + AttackMove: + JustMove: yes + -GainsExperience: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +HVR: + Inherits: ^Vehicle + Valued: + Cost: 900 + Tooltip: + Name: Hover MLRS + Icon: hovricon + Description: Hover Multi-Launch Rocket System + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Owner: gdi + Mobile: # TODO: amphibious + Speed: 7 + Health: + HP: 230 + Armor: + Type: Light + RevealsShroud: + Range: 7 + Armament: + Weapon: HoverMissile + Turreted: + ROT: 7 + AttackTurreted: + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + WithVoxelTurret: + +4TNK: + Inherits: ^Vehicle + Valued: + Cost: 1700 + Tooltip: + Name: Mammoth Tank + Icon: xxicon + Description: Heavily armored GDI Tank.\n Strong vs Everything + Buildable: + Queue: Vehicle + BuildPaletteOrder: 60 + Owner: gdi + Mobile: + Speed: 4 + ROT: 5 + Health: + HP: 600 + Armor: + Type: Heavy + RevealsShroud: + Range: 6 + Turreted: + ROT: 3 + Armament@PRIMARY: + Weapon: 120mmx + Armament@SECONDARY: + Weapon: MammothTusk + AttackTurreted: + AutoTarget: + SelfHealing: + Ticks: 10 + HealIfBelow: 50% + DamageCooldown: 200 + RenderSprites: + RenderVoxels: + WithVoxelBody: + WithVoxelTurret: + +TRUCKB: # NOTE: TRUCKA is unloaded + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 120 + Owner: gdi, nod + Valued: + Cost: 500 + Tooltip: + Name: Truck + Description: Transports cash to other players.\n Unarmed + Icon: xxicon + Health: + HP: 2000 + Armor: + Type: Light + Mobile: + Speed: 4 + RevealsShroud: + Range: 5 + SupplyTruck: + Payload: 500 + AttackMove: + JustMove: yes + RenderSprites: + RenderVoxels: + WithVoxelBody: + +LPST: + Inherits: ^Vehicle + Valued: + Cost: 950 + Tooltip: + Name: Mobile Sensor Array + Icon: lpsticon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 100 + Owner: gdi, nod + Health: + HP: 600 + Armor: + Type: Light + Mobile: + Speed: 6 + ROT: 5 + RevealsShroud: + Range: 10 + AttackMove: + JustMove: yes + RenderSprites: + RenderVoxels: + WithVoxelBody: + Transforms: + IntoActor: gadpsa + Offset: -1,-1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +ICBM: + Inherits: ^Vehicle + Valued: + Cost: 1400 + Tooltip: + Name: Ballistic Missile Launcher + Icon: xxicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 100 + Owner: gdi + Health: + HP: 500 + Armor: + Type: Light + Mobile: + Speed: 6 + ROT: 5 + RevealsShroud: + Range: 7 + AttackMove: + JustMove: yes + RenderSprites: + RenderVoxels: + WithVoxelBody: + Transforms: + IntoActor: gaicbm + Offset:-1,-1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +REPAIR: + Inherits: ^Vehicle + Buildable: + Queue: Vehicle + BuildPaletteOrder: 70 + Owner: nod + Valued: + Cost: 1000 + Tooltip: + Name: Mobile Repair Vehicle + Description: Repairs nearby vehicles.\n Strong vs Nothing\n Weak vs Everything + Icon: rboticon + Health: + HP: 200 + Mobile: + Speed: 6 + ROT: 5 + RevealsShroud: + Range: 5 + Armament: + Weapon: Repair + AttackMedic: + Cursor: repair + AttackMove: + JustMove: true + RenderSprites: + RenderVoxels: + WithVoxelBody: + +ART2: + Inherits: ^Vehicle + Valued: + Cost: 975 + Tooltip: + Name: Artillery + Icon: artyicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 100 + Owner: nod + Health: + HP: 300 + Armor: + Type: Light + Mobile: + Speed: 5 + ROT: 2 + RevealsShroud: + Range: 9 + AttackMove: + JustMove: yes + RenderSprites: + RenderVoxels: + WithVoxelBody: + Transforms: + IntoActor: gaarty + Offset: -1,-1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +WEED: + Inherits: ^Vehicle + Valued: + Cost: 1400 + Tooltip: + Name: Weed Eater + Icon: weedicon + Description: Collects veins for processing.\n Unarmed + Buildable: + Queue: Vehicle + BuildPaletteOrder: 10 +# Prerequisites: naweap, nawast + Owner: nod +# Harvester: +# Resources: Veins +# PipCount: 7 +# Capacity: 28 +# LoadTicksPerBale: 6 +# UnloadTicksPerBale: 12 +# SearchFromProcRadius: 24 +# SearchFromOrderRadius: 12 + Mobile: + Speed: 5 + ROT: 5 + Health: + HP: 600 + Armor: + Type: Heavy + RevealsShroud: + Range: 4 + AttackMove: + JustMove: yes + -GainsExperience: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +BUS: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: School Bus + Icon: xxicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 300 + Owner: gdi + Mobile: + ROT: 5 + Speed: 8 + Health: + HP: 100 + Armor: + Type: Light + RevealsShroud: + Range: 5 + -AttackMove: + Cargo: + Types: Infantry + MaxWeight: 20 + PipCount: 5 + UnloadFacing: 220 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +PICK: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: Pickup + Icon: xxicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 300 + Owner: gdi + Mobile: + ROT: 5 + Speed: 8 + Health: + HP: 100 + Armor: + Type: Light + RevealsShroud: + Range: 5 + -AttackMove: + Cargo: + Types: Infantry + MaxWeight: 2 + PipCount: 5 + UnloadFacing: 220 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +CAR: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: Automobile + Icon: xxicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 300 + Owner: gdi + Mobile: + ROT: 5 + Speed: 8 + Health: + HP: 100 + Armor: + Type: Light + RevealsShroud: + Range: 5 + -AttackMove: + Cargo: + Types: Infantry + MaxWeight: 4 + PipCount: 5 + UnloadFacing: 220 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +GGHUNT: + Inherits: ^Vehicle + Valued: + Cost: 1000 + Tooltip: + Name: Hunter-Seeker Droid + Icon: seekicon + Buildable: + BuildPaletteOrder: 20 + Owner: gdi, nod + Queue: Vehicle + Mobile: + ROT: 16 + Speed: 25 + Health: + HP: 500 + Armor: + Type: Light + RevealsShroud: + Range: 7 + RenderUnit: + AttackMove: + JustMove: yes + DemoTruck: + Explodes: + Weapon: SuicideBomb + EmptyWeapon: SuicideBomb + +WINI: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: Recreational Vehicle + Icon: xxicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 300 + Owner: gdi + Mobile: + ROT: 5 + Speed: 8 + Health: + HP: 200 + Armor: + Type: Light + RevealsShroud: + Range: 5 + -AttackMove: + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + UnloadFacing: 220 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +MMCH: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: Medium Mech + Icon: mmchicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 300 + Owner: gdi + Mobile: + ROT: 5 + Speed: 4 + Health: + HP: 400 + Armor: + Type: Heavy + RevealsShroud: + Range: 8 + RenderInfantry: + Turreted: + AttackTurreted: + WithTurret: + Recoils: no + Armament: + Weapon: 120mm + Recoil: 127 + RecoilRecovery: 26 + RenderVoxels: + WithVoxelBarrel: + LocalOffset: -128, 128, 213 + AutoTarget: + +HMEC: + Inherits: ^Vehicle + Valued: + Cost: 3000 + Tooltip: + Name: Mammoth Mk. II + Icon: hmecicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Owner: gdi + Mobile: + ROT: 3 + Speed: 3 + Health: + HP: 800 + SelfHealing: + Armor: + Type: Heavy + RevealsShroud: + Range: 8 + RenderSprites: + AttackFrontal: + AutoTarget: + Armament@MISSILES: + Weapon: MammothTusk + Armament@RAILGUN: + Weapon: MechRailgun + LocalOffset: 640,-640,980, 640,640,980 + RenderVoxels: + WithVoxelWalkerBody: + +SMECH: + Inherits: ^Vehicle + Valued: + Cost: 500 + Tooltip: + Name: Wolverine + Description: Small Mech + Icon: smchicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 10 + Owner: gdi + Mobile: + ROT: 5 + Speed: 7 + Health: + HP: 800 + Armor: + Type: Light + RevealsShroud: + Range: 6 + AttackFrontal: + AutoTarget: + Armament: + Weapon: AssaultCannon + RenderInfantry: + Selectable: + Voices: Mech + +BIKE: + Inherits: ^Vehicle + Valued: + Cost: 600 + Tooltip: + Name: Attack Cycle + Icon: cyclicon + Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Owner: nod + Mobile: + ROT: 8 + Speed: 12 + Health: + HP: 150 + Armor: + Type: Light + RevealsShroud: + Range: 5 + Armament: + Weapon: BikeMissile + LocalOffset: -128, -170, 170, -128, 170, 170 + LocalYaw: 100, -100 + AttackFrontal: + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +BGGY: + Inherits: ^Vehicle + Valued: + Cost: 500 + Tooltip: + Name: Attack Buggy + Icon: bggyicon + Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry, Vehicles\n Weak vs Tanks, Aircraft + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Owner: nod + Mobile: + ROT: 8 + Speed: 10 + Health: + HP: 220 + Armor: + Type: Light + RevealsShroud: + Range: 6 + Armament: + Weapon: RaiderCannon + AttackFrontal: + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +SAPC: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: Subterranean APC # TODO: not yet subterranean + Icon: sapcicon + Description: Armored infantry transport and mobile AA\n Strong vs Aircraft, Vehicles\n Weak vs Infantry + Buildable: + Queue: Vehicle + BuildPaletteOrder: 30 + Owner: nod + Mobile: + ROT: 5 + Speed: 5 + Health: + HP: 175 + Armor: + Type: Heavy + RevealsShroud: + Range: 5 + -AttackMove: + Cargo: + Types: Infantry + MaxWeight: 5 + PipCount: 5 + UnloadFacing: 220 + RenderSprites: + RenderVoxels: + WithVoxelBody: + +SUBTANK: + Inherits: ^Vehicle + Valued: + Cost: 750 + Tooltip: + Name: Devil's Tongue + Icon: subticon + Description: Subterranean Tank + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Owner: nod + Mobile: + ROT: 6 + Speed: 5 + Health: + HP: 300 + Armor: + Type: Light + RevealsShroud: + Range: 5 + Armament: + Weapon: FireballLauncher + AttackFrontal: + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + +SONIC: + Inherits: ^Vehicle + Valued: + Cost: 1300 + Tooltip: + Name: Disruptor + Icon: soniicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 40 + Owner: gdi + Mobile: + ROT: 4 + Speed: 4 + Health: + HP: 500 + Armor: + Type: Heavy + RevealsShroud: + Range: 7 + Armament: + Weapon: SonicZap + AttackTurreted: + Turreted: + AutoTarget: + RenderSprites: + RenderVoxels: + WithVoxelBody: + WithVoxelTurret: + +TTNK: + Inherits: ^Vehicle + Valued: + Cost: 800 + Tooltip: + Name: Tick Tank + Icon: tickicon + Buildable: + Queue: Vehicle + BuildPaletteOrder: 60 + Owner: nod + Mobile: + ROT: 5 + Speed: 6 + Health: + HP: 350 + Armor: + Type: Light + RevealsShroud: + Range: 5 + -AttackMove: + RenderSprites: + RenderVoxels: + WithVoxelBody: + Transforms: + IntoActor: gatick + Offset:-1,-1 # TODO + Facing: 96 # TODO + TransformSounds: # TODO + NoTransformSounds: # TODO + +STNK: + Inherits: ^Vehicle + Valued: + Cost: 1100 + Tooltip: + Name: Stealth Tank + Icon: stnkicon + Description: Long-range missile tank that can cloak.\nHas weak armor. Can be spotted by infantry.\n Strong vs Vehicles, Tanks, Aircraft\n Weak vs Infantry. + Buildable: + BuildPaletteOrder: 90 + Queue: Vehicle + Owner: nod + Mobile: + ROT: 5 + Speed: 6 + Health: + HP: 180 + Armor: + Type: Light + RevealsShroud: + Range: 5 + Cloak: + InitialDelay: 90 + CloakDelay: 90 + CloakSound: # TODO + UncloakSound: # TODO + Armament: + Weapon: Dragon + LocalOffset: 213,43,128, 213,-43,128 + AttackFrontal: + AutoTarget: + InitialStance: HoldFire + RenderSprites: + RenderVoxels: + WithVoxelBody: \ No newline at end of file diff --git a/mods/ts/sequences/aircraft.yaml b/mods/ts/sequences/aircraft.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/mods/ts/sequences/infantry.yaml b/mods/ts/sequences/infantry.yaml new file mode 100644 index 0000000000..7ee45da330 --- /dev/null +++ b/mods/ts/sequences/infantry.yaml @@ -0,0 +1,1306 @@ +e1: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +e2: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +e3: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +weedguy: + stand: weed + Start: 0 + Facings: 8 + ShadowStart: 202 + run: weed + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 210 + shoot: weed + Start: 56 + Length: 1 + Facings: 8 + prone-shoot: weed + Start: 212 + Length: 6 + Facings: 8 + standup-0: weed + Start: 260 + Length: 2 + Facings: 8 + prone-run: weed + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 288 + prone-stand: weed + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 346 + die1: weed + Start: 160 + Length: 6 + ShadowStart: 336 + die2: weed + Start: 149 + Length: 14 + ShadowStart: 351 + die3: weed + Start: 166 + Length: 10 + ShadowStart: 368 + die4: weed + Start: 197 + Length: 5 + ShadowStart: 399 + die5: weed + Start: 177 + Length: 19 + ShadowStart: 379 + die6: electro + Start: 0 + Length: * + +medic: + stand: + Start: 0 + Facings: 8 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + idle1: + Start: 56 + Length: 14 + Tick: 120 + idle2: + Start: 71 + Length: 14 + Tick: 120 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + die1: + Start: 134 + Length: 14 + die2: + Start: 149 + Length: 14 + shoot: + Start: 164 + Length: 6 + Facings: 8 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + heal: + Start: 292 + Length: 14 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + die6: electro + Start: 0 + Length: * + +engineer: + stand: + Start: 0 + Facings: 8 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + idle1: + Start: 56 + Length: 14 + Tick: 120 + idle2: + Start: 71 + Length: 14 + Tick: 120 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + die1: + Start: 134 + Length: 14 + die2: + Start: 149 + Length: 14 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + die6: electro + Start: 0 + Length: * + +umagon: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +ghost: # TODO unused GUNFIRE.SHP + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +jumpjet: # TODO: ShadowStart: + stand: + Start: 0 + Facings: 8 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + idle1: + Start: 56 + Length: 14 + Tick: 120 + idle2: + Start: 71 + Length: 14 + Tick: 120 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + die1: + Start: 134 + Length: 14 + die2: + Start: 149 + Length: 14 + shoot: + Start: 164 + Length: 6 + Facings: 8 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +mhijack: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +chamspy: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +cyc2: + stand: + Start: 0 + Facings: 8 + ShadowStart: 308 + run: + Start: 8 + Length: 10 + Facings: 8 + Tick: 100 + ShadowStart: 316 + idle1: + Start: 80 + Length: 14 + Tick: 120 + ShadowStart: 388 + idle2: + Start: 95 + Length: 14 + Tick: 120 + ShadowStart: 413 + prone-run: + Start: 110 + Length: 8 + Facings: 8 + Tick: 100 + ShadowStart: 418 + prone-stand: # TODO: N/A? + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 452 + die1: + Start: 182 + Length: 14 + ShadowStart: 490 + die2: + Start: 197 + Length: 14 + ShadowStart: 505 + shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 520 + prone-shoot: + Start: 260 + Length: 6 + Facings: 8 + ShadowStart: 568 + standup-0: # TODO: N/A as they only crawl when severly damaged + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 568 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +cyborg: + stand: + Start: 0 + Facings: 8 + ShadowStart: 370 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 378 + idle1: + Start: 56 + Length: 14 + Tick: 120 + idle2: + Start: 71 + Length: 14 + Tick: 120 + prone-run: + Start: 86 + Length: 6 + Facings: 8 + Tick: 100 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + die1: + Start: 134 + Length: 14 + die2: + Start: 149 + Length: 14 + shoot: + Start: 164 + Length: 6 + Facings: 8 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + standup-0: # TODO: N/A as they don't do that + Start: 260 + Length: 2 + Facings: 8 + die5: # TODO: unused running frame 322 and following + Start: 292 + Length: 14 + ShadowStart: 560 + die3: + Start: 307 + Length: 14 + die6: electro + Start: 0 + Length: * + +mutant: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +mwmn: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +mutant3: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +tratos: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +oxanna: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +slav: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 300 + idle1: + Start: 56 + Length: 14 + Tick: 120 + ShadowStart: 348 + idle2: + Start: 71 + Length: 14 + Tick: 120 + ShadowStart: 363 + prone-run: + Start: 86 + Length: 4 + Facings: 8 + Tick: 100 + ShadowStart: 378 + prone-stand: + Start: 144 + Length: 4 + Facings: 8 + ShadowStart: 436 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + shoot: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-shoot: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + standup-0: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + die5: flameguy # TODO: walking animation unused + Start: 42 + Length: 104 + ShadowStart: 190 + die6: electro + Start: 0 + Length: * + +doggie: # TODO: not sure what frame 88 and following is + stand: + Start: 0 + Facings: 8 + ShadowStart: 119 + run: + Start: 8 + Length: 6 + Facings: 8 + Tick: 100 + ShadowStart: 127 + die1: + Start: 99 + Length: 9 + ShadowStart: 218 + die2: + Start: 99 + Length: 9 + ShadowStart: 218 + shoot: # TODO: partly wrong + Start: 56 + Length: 6 + Facings: 8 + ShadowStart: 175 + die5: + Start: 109 + Length: 9 + ShadowStart: 228 + die6: + Start: 109 + Length: 9 + ShadowStart: 228 + +vissml: + idle: + Start: 0 + Length: 90 + ShadowStart: 90 + +vislrg: + idle: + Start: 0 + Length: 90 + ShadowStart: 90 + muzzle: vislgatk # TODO: unused + Start: 0 + Length: 5 + Facings: 8 + ShadowStart: 40 + +civ1: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + ShadowStart: 300 + panic-stand: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + panic-run: + Start: 86 + Length: 6 + Facings: 8 + ShadowStart: 378 + shoot: + Start: 165 + Length: 6 + Facings: 8 + ShadowStart: 457 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + die6: electro + Start: 0 + Length: * + +civ2: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + ShadowStart: 300 + panic-stand: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + panic-run: + Start: 86 + Length: 6 + Facings: 8 + ShadowStart: 378 + shoot: + Start: 165 + Length: 6 + Facings: 8 + ShadowStart: 457 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + die6: electro + Start: 0 + Length: * + +civ3: + stand: + Start: 0 + Facings: 8 + ShadowStart: 292 + run: + Start: 8 + Length: 6 + Facings: 8 + ShadowStart: 300 + panic-stand: + Start: 260 + Length: 2 + Facings: 8 + ShadowStart: 552 + panic-run: + Start: 86 + Length: 6 + Facings: 8 + ShadowStart: 378 + shoot: + Start: 165 + Length: 6 + Facings: 8 + ShadowStart: 457 + die1: + Start: 134 + Length: 14 + ShadowStart: 426 + die2: + Start: 149 + Length: 14 + ShadowStart: 441 + die6: electro + Start: 0 + Length: * \ No newline at end of file diff --git a/mods/ts/sequences/misc.yaml b/mods/ts/sequences/misc.yaml new file mode 100644 index 0000000000..1039ab8689 --- /dev/null +++ b/mods/ts/sequences/misc.yaml @@ -0,0 +1,105 @@ +overlay: + build-valid-interior: cellsel #TODO remove backfall to RA tileset + Start: 3 + build-valid-snow: cellsel + Start: 3 + build-valid-temperat: cellsel + Start: 3 + build-invalid: cellsel + Start: 6 + target-select: cellsel + Start: 10 + target-valid-desert: cellsel + Start: 3 + target-valid-interior: cellsel + Start: 3 + target-valid-snow: cellsel + Start: 3 + target-valid-temperat: cellsel + Start: 3 + target-invalid: cellsel + Start: 6 + +poweroff: + offline: poweroff + Start: 0 + Length: * + Tick: 160 + +allyrepair: + repair: wrench + Start: 0 + Length: * + Tick: 160 + +rank: # TODO: backfall to RA asset + rank: + Start: 0 + Length: * + +mpspawn: # TODO: backfall to RA asset + idle: + Start: 0 + Length: * + +waypoint: # TODO: backfall to RA asset + idle: + Start: 0 + Length: * + +clock: + idle: gclock2 + Start: 0 + Length: * + +pips: + medic: + Start: 6 + tag-primary: + Start: 8 + pip-empty: + Start: 1 +# TODO: + pip-green: + Start: 2 + pip-yellow: + Start: 2 + pip-gray: + Start: 2 + pip-red: + Start: 2 + pip-blue: + Start: 2 + +explosion: + piff: piff + Start: 0 + Length: * + piffpiff: piffpiff + Start: 0 + Length: * + +discus: + idle: + Start: 0 + Length: * + +dragon: + idle: + Start: 0 + Facings: 32 + +crystal4: + idle: + Start: 0 + Length: 15 + ShadowStart: 15 + +120mm: + idle: + Start: 0 + +torpedo: + idle: + Start: 0 + Length: * \ No newline at end of file diff --git a/mods/ts/sequences/structures.yaml b/mods/ts/sequences/structures.yaml new file mode 100644 index 0000000000..34ed469bb4 --- /dev/null +++ b/mods/ts/sequences/structures.yaml @@ -0,0 +1,212 @@ +gacnst: # TODO: write a render trait for the overlays + idle: gtcnst + Start: 0 + ShadowStart: 3 + medium-damaged-idle: gtcnst + Start: 1 + ShadowStart: 4 + damaged-idle: gtcnst + Start: 2 + ShadowStart: 5 + make: gtcnstmk + Start: 0 + Length: 24 + ShadowStart: 24 + build-front: gtcnst_d + Start: 0 + Length: 20 + damaged-build-front: gtcnst_d + Start: 0 + Length: 20 + idle-top: gtcnst_c + Start: 0 + Length: 15 + Tick: 200 + damaged-idle-top: gtcnst_c + Start: 15 + Length: 15 + Tick: 200 + heavy-damaged-idle-top: gtcnst_c + Start: 30 + idle-side: gtcnst_a + Start: 0 + Length: 10 + damaged-idle-side: gtcnst_a + Start: 10 + Length: 10 + heavy-damaged-idle-side: gtcnst_a + Start: 20 + Length: 10 + idle-front: gtcnst_b + Start: 0 + Length: 10 + damaged-idle-front: gtcnst_b + Start: 0 + Length: 10 + +gapowr: # TODO: shadow, plugs + idle: gtpowr + Start: 0 + ShadowStart: 3 + make: gtpowrmk + Start: 0 + Length: 20 + ShadowStart: 20 + damaged-idle: gtpowr + Start: 1 + ShadowStart: 4 + dead: gtpowr + Start: 2 + ShadowStart: 5 + +gapile: + idle: gtpile + Start: 0 + ShadowStart: 3 +# TODO: lights: gtpile_a +# Start: 0 +# TODO: light: gtpile_b +# Start: 0 +# TODO: flag: gtpile_c +# Start:0 + make: gtpilemk + Start: 0 + Length: 20 + ShadowStart: 20 + damaged-idle: gtpile + Start: 1 + ShadowStart: 4 + dead: gtpile + Start: 2 + ShadowStart: 5 + +gaweap: + idle: gtweap + Start: 0 + ShadowStart: 3 + damaged-idle: gtweap + Start: 1 + ShadowStart: 4 + dead: gtweap + Start: 2 + ShadowStart: 5 + build-top: gtweap_d + Start: 0 + Length: 9 + ShadowStart: 9 + damaged-build-top: gtweap_d + Start: 0 + Length: 9 + ShadowStart: 9 + idle-top: gtweap_2 + Start: 0 + damaged-idle-top: gtweap_2 + Start: 1 + make: gtweapmk + Start: 0 + Length: 20 + Tick: 80 + ShadowStart: 20 +# TODO: gtweap_1 & gtweapbb & gtweap_a & gtweap_b & gtweap_c are unused + +gasand: # TODO frame order (horizontal seems busted) + idle: gtsand + Start: 0 + Length: 16 + ShadowStart: 32 + damaged-idle: gtsand + Start: 16 + Length: 16 + ShadowStart: 48 + +gatick: + idle: + Start: 0 + Facings: 1 + ShadowStart: 3 + damaged-idle: + Start: 1 + Facings: 1 + ShadowStart: 4 + make: gatickmk + Start: 0 + Length: 24 + ShadowStart: 24 + +gaicbm: + idle: + Start: 0 + Facings: 1 + ShadowStart: 3 + damaged-idle: + Start: 1 + Facings: 1 + ShadowStart: 4 + make: gaicbmmk + Start: 0 + Length: 30 + ShadowStart: 30 + +gadpsa: + idle: + Start: 0 + Facings: 1 + ShadowStart: 3 + damaged-idle: + Start: 1 + Facings: 1 + ShadowStart: 4 + make: gadpsamk + Start: 0 + Length: 36 + ShadowStart: 36 + +gaarty: + idle: + Start: 0 + Facings: 1 + ShadowStart: 3 + damaged-idle: + Start: 1 + Facings: 1 + ShadowStart: 4 + make: gaartymk + Start: 0 + Length: 16 + ShadowStart: 16 + +gaspot: # TODO: 1 more damage state, GASPOT_A active animation + idle: + Start: 0 + ShadowStart: 3 + damaged-idle: + Start: 1 + ShadowStart: 4 + make: gaspotmk + Start: 0 + Length: 14 + ShadowStart: 14 + +gahpad: # TODO: 1 more damage state + idle: + Start: 0 + ShadowStart: 3 + damaged-idle: + Start: 1 + ShadowStart: 4 + make: gahpadmk + Start: 0 + Length: 18 + ShadowStart: 18 + build-top: gahpad_a + Start: 8 + Length: 8 + damaged-build-top: gahpad_a + Start: 0 + Length: 8 + idle-top: gahpadbb + Start: 0 + ShadowStart: 3 + damaged-idle-top: gahpadbb + Start: 1 + ShadowStart: 4 \ No newline at end of file diff --git a/mods/ts/sequences/vehicles.yaml b/mods/ts/sequences/vehicles.yaml new file mode 100644 index 0000000000..f8f01324bd --- /dev/null +++ b/mods/ts/sequences/vehicles.yaml @@ -0,0 +1,37 @@ +mmch: + stand: + Start: 0 + Facings: -8 + Stride: 15 + ShadowStart: 152 + run: + Start: 0 + Length: 15 + Facings: -8 + ShadowStart: 152 + turret: + Start: 120 + Facings: -32 + +gghunt: + idle: + Start: 0 + Facings: 1 + Length: 8 + ShadowStart: 8 + +smech: + stand: # TODO: slightly glitchy + Start: 0 + Facings: 8 + ShadowStart: 136 + run: + Start: 0 + Facings: -8 + Length: 12 + ShadowStart: 136 + shoot: # TODO: played somehow too fast + Start: 104 + Length: 4 + Facings: -8 + ShadowStart: 240 \ No newline at end of file diff --git a/mods/ts/sequences/voxels.yaml b/mods/ts/sequences/voxels.yaml new file mode 100644 index 0000000000..9904ebbbf7 --- /dev/null +++ b/mods/ts/sequences/voxels.yaml @@ -0,0 +1,127 @@ +mcv: + idle: + +harv: + idle: + +horv: + idle: + +apc: # TODO apcw in water + idle: + +art2: + idle: + turret: art2tur + barrel: art2barl + +subtank: + idle: + +bggy: + idle: +# muzzle: # TODO: use MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW + +sapc: + idle: + +bike: + idle: + +ttnk: + idle: + turret: ttnktur + barrel: ttnkbarl + +mmch: + barrel: mmchbarl + +hmec: + idle: + +hvr: + idle: + turret: hvrtur + +stnk: + idle: + +orca: + idle: + +orcab: + idle: + +orcatran: + idle: + +trnsport: + idle: + +scrin: + idle: + +apache: + idle: + +dshp: + idle: + +4tnk: + idle: + turret: 4tnktur + +trucka: + idle: + +truckb: + idle: + +lpst: + idle: + +icbm: + idle: + +repair: + idle: + +weed: + idle: + +bus: + idle: + +pick: + idle: + +car: + idle: + +wini: + idle: + +sonic: + idle: + turret: sonictur + +#truk: # TODO: unused +# idle: + +#truck2: # TODO: unused +# idle: + +#utnk: # TODO: unused alternative version of Devil's Tongue +# idle: + +#tire: # TODO: unused debris +# idle: + +#probe: # TODO: unused +# idle: + +#piece: # TODO: unused debris +# idle: + +dpod: + idle: \ No newline at end of file diff --git a/mods/ts/voices.yaml b/mods/ts/voices.yaml new file mode 100644 index 0000000000..03118156c5 --- /dev/null +++ b/mods/ts/voices.yaml @@ -0,0 +1,148 @@ +Infantry: + Voices: + Select: 15-I000, 15-I004, 15-I012, 15-I048 + Move: 15-I018, 15-I024, 15-I044 + Attack: 15-I044, 15-I050, 15-I044, 15-I046 +# Feedback: 15-I058, 15-I064 # TODO + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Rocket: + Voices: + Select: 15-I000, 15-I032, 15-I048 + Move: 15-I008, 15-I014, 15-I026 + Attack: 15-I008, 15-I014, 15-I026, 15-I050, 15-I060 +# Feedback: 15-I058, 15-I064 #TODO + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Umagon: + Voices: + Select: 10-I000, 10-I002, 10-I004, 10-I006 + Move: 10-I016, 10-I020, 10-I022 + Attack: 10-I024, 10-I026, 10-I028, 10-I030 + Die: DEDGIRL1, DEDGIRL2, DEDGIRL3, DEDGIRL4 + +Ghost: + Voices: + Select: 14-I000, 14-I002, 14-I004 + Move: 14-I008, 14-I010, 14-I012, 14-I014 + Attack: 14-I008, 14-I010, 14-I014, 14-I016 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Medic: + Voices: + Select: 20-I000, 20-I004, 20-I006 + Move: 20-I008, 20-I010, 20-I012 + Attack: 20-I016, 20-I018, 20-I020 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Engineer: + Voices: + Select: 19-I000, 19-I002, 19-I006 + Move: 19-I010, 19-I016 + Attack: 19-I018, 19-I016 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +JumpJet: + Voices: + Select: 15-I000, 15-I004, 15-I012, 15-I048 + Move: 15-I018, 15-I024, 15-I044 + Attack: 15-I044, 15-I050, 15-I044, 15-I046 +# Feedback: 15-I058, 15-I064 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Weed: + Voices: + Select: 15-I000, 15-I006, 15-I040, 15-I042 + Move: 15-I024, 15-I044 + Attack: 15-I006, 15-I046 +# Feedback: 15-I058, 15-I064 # TODO + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Spy: + Voices: + Select: 21-I000, 21-I002, 21-I004 + Move: 21-I010, 21-I012, 21-I016 + Attack: 21-I010, 21-I012, 21-I022 +# Feedback: 21-I000, 21-I002 # TODO + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Hijacker: + Voices: + Select: 24-I000, 24-I002, 24-I004, 24-I006 + Move: 24-I008, 24-I010, 24-I012, 24-I014 + Attack: 24-I016, 24-I018, 24-I020, 24-I022, 24-I024 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Cyborg: + Voices: + Select: 22-I000, 22-I002, 22-I006 + Move: 22-I008, 22-I010, 22-I014, 22-I016, 22-I020 + Attack: 22-I008, 22-I010, 22-I012, 22-I018 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +CyborgCommando: + Voices: + Select: 23-I000, 23-I002, 23-I004, 23-I006 + Move: 23-I008, 23-I010, 23-I012, 23-I016 + Attack: 23-I014, 23-I018, 23-I020, 23-I022 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Mutant: + Voices: + Select: 15-I032, 15-I048 + Move: 15-I008,15-I014,15-I026 + Attack: 15-I008,15-I014,15-I026,15-I050,15-I060 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Tratos: + Voices: + Select: 13-I000, 13-I002, 13-I004, 13-I006 + Move: 13-I008, 13-I010, 13-I012, 13-I014 + Attack: 13-I016, 13-I018, 13-I020 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Oxanna: + Voices: + Select: 11-I000, 11-I002, 11-I004, 11-I006 + Move: 10-I016, 10-I020, 10-I022 + Attack: 10-I024, 10-I026, 10-I028, 10-I030 + Die: DEDGIRL1, DEDGIRL2, DEDGIRL3, DEDGIRL4 + +Slavick: + Voices: + Select: 12-I000, 12-I002, 12-I004 + Move: 12-I006, 12-I008, 12-I010 + Attack: 12-I012, 12-I014, 12-I016 + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 + +Fiend: + Voices: + Select: + Move: + Attack: + Die: FIEND1 + +Vehicle: + Voices: + Select: 25-I000, 25-I002, 25-I004, 25-I006 + Move: 25-I012, 25-I014, 25-I016, 25-I018, 25-I022 + Attack: 25-I014, 25-I022, 25-I024, 25-I026 + +Mech: + Voices: + Select: 15-I000, 15-I006, 15-I040, 15-I042 + Move: 15-I024, 15-I044 + Attack: 15-I006, 15-I046 + +Heli: + Voices: + Select: 30-I000, 30-I002, 30-I004, 30-I006 + Move: 30-I014, 30-I016, 30-I018, 30-I022 + Attack: 30-I022, 30-I030, 30-I034, 30-I036 + +Civilian: + Voices: + Select: + Move: + Attack: + Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 \ No newline at end of file diff --git a/mods/ts/weapons.yaml b/mods/ts/weapons.yaml new file mode 100644 index 0000000000..71a74ca037 --- /dev/null +++ b/mods/ts/weapons.yaml @@ -0,0 +1,656 @@ +Minigun: + ROF: 21 + Range: 4 + Report: INFGUN2.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 15 + +Grenade: + ROF: 60 + Range: 4.5 + Projectile: Bullet + Speed: 5 + High: yes + Angle: .1 + Inaccuracy: 13 + Image: DISCUS + Warhead: + Spread: 6 + Versus: + None: 50% + Wood: 100% + Light: 25% + Heavy: 5% + InfDeath: 2 + Damage: 40 + +Bazooka: + ROF: 60 + Range: 6 + Report: RKETINF1.AUD + ValidTargets: Ground, Air + Projectile: Missile + Speed: 25 + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 8 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 10% + Wood: 75% + Light: 35% + Concrete: 20% + InfDeath: 2 + Damage: 25 + +MultiCluster: + ROF: 80 + Range: 6 + Report: MISL1.AUD + ValidTargets: Ground + Projectile: Missile + Speed: 20 + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 8 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 10% + Wood: 75% + Light: 35% + Concrete: 20% + InfDeath: 2 + Damage: 65 + +Heal: + ROF: 80 + Range: 2.83 + Report: HEALER1.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 5 + Versus: + Wood: 0% + Light: 0% + Heavy: 0% + Concrete: 0% + InfDeath: 1 + Damage: -50 + +Sniper: + ROF: 60 + Range: 6.75 + Report: SILENCER.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Damage: 150 + Spread: 1 + Versus: + None: 100% + Wood: 5% + Light: 5% + Heavy: 5% + InfDeath: 2 + +M1Carbine: + ROF: 20 + Range: 4 + Report: INFGUN3.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + None: 100% + Wood: 25% + Light: 30% + Heavy: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 15 + +LtRail: + ROF: 60 + Range: 6 + Report: BIGGGUN1.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Damage: 150 + Spread: 1 + Versus: + None: 100% + Wood: 5% + Light: 5% + Heavy: 5% + InfDeath: 2 + +Vulcan3: + ROF: 30 + Range: 4 + Report: CYGUN1.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Burst: 3 + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 10 + +Vulcan2: + ROF: 50 + Range: 6 + Report: TSGUN4.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Burst: 3 + Versus: + None: 100% + Wood: 60% + Light: 40% + Heavy: 25% + Concrete: 10% + Explosion: piffpiff + InfDeath: 1 + Damage: 50 + +Vulcan: + ROF: 60 + Range: 4 + Report: CHAINGN1.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 20 + +FiendShard: + ROF: 30 + Range: 5 + Report: FIEND2.AUD + Projectile: Missile + Burst: 3 + Speed: 25 + Image: CRYSTAL4 + Warhead: + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + InfDeath: 2 + Damage: 35 + +JumpCannon: + ROF: 40 + Range: 5 + Report: JUMPJET1.AUD + Projectile: Bullet + Speed: 100 + Burst: 2 + Warhead: + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 15 + +HoverMissile: + ROF: 68 + Range: 8 + Report: HOVRMIS1.AUD + ValidTargets: Ground, Air + Projectile: Missile + Burst: 2 + Speed: 30 + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 8 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 10% + Wood: 75% + Light: 35% + Concrete: 20% + InfDeath: 2 + Damage: 30 + +120mmx: + ROF: 80 + Range: 6.75 + Report: 120MMX9.AUD + Burst: 2 + BurstDelay: 5 + Projectile: Bullet + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 100% + Heavy: 100% + Concrete: 100% + InfDeath: 2 + Damage: 50 + +MammothTusk: + ROF: 80 + Range: 6 + Report: MISL1.AUD + ValidTargets: Air + Burst: 2 + Projectile: Missile + Arm: 0 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 10 + Speed: 20 + RangeLimit: 35 + Warhead: + Spread: 6 + Versus: + None: 40% + Wood: 75% + Light: 75% + Heavy: 50% + InfDeath: 2 + Damage: 40 + +Repair: + ROF: 80 + Range: 1.8 + Report: REPAIR11.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 5 + Versus: + None: 0% + Wood: 0% + Light: 100% + Heavy: 100% + Concrete: 0% + InfDeath: 1 + Damage: -50 + +SlimeAttack: + ROF: 80 + Range: 5 + Report: VICER1.AUD + Projectile: Bullet + Burst: 3 + Speed: 25 + Warhead: + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + InfDeath: 2 + Damage: 100 + +SuicideBomb: + ROF: 1 + Range: 0.5 + Report: HUNTER2.AUD + Warhead: + Damage: 11000 + Spread: 6 + Ore: true + Versus: + None: 90% + Light: 60% + Heavy: 25% + Concrete: 50% + InfDeath: 5 + +120mm: + ROF: 80 + Range: 6.75 + Report: 120MMF.AUD + Burst: 2 + BurstDelay: 5 + Projectile: Bullet + Speed: 90 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 100% + Heavy: 100% + Concrete: 100% + InfDeath: 3 + Damage: 70 + +MechRailgun: + ROF: 60 + Range: 8 + Burst: 2 + BurstDelay:10 + Charges: yes + Report: RAILUSE5.AUD + Projectile: LaserZap + Color: 200,0,255,255 + BeamWidth: 2 + Warhead: + Spread: 1 + InfDeath: 5 +# SmudgeType: Scorch + Damage: 200 + +AssaultCannon: + ROF: 50 + Range: 5 + Report: TSGUN4.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + Wood: 100% + Light: 60% + Heavy: 40% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 40 + +BikeMissile: + ROF: 60 + Range: 5 + Report: MISL1.AUD + ValidTargets: Ground + Burst: 2 + Projectile: Missile + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 8 + Speed: 30 + RangeLimit: 35 + Warhead: + Spread: 6 + Versus: + None: 40% + Wood: 75% + Light: 75% + Heavy: 50% + InfDeath: 2 + Damage: 40 + +RaiderCannon: + ROF: 55 + Range: 4 + Report: CHAINGN1.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 40 + +FireballLauncher: # TODO: add fire particles + ROF: 50 + Range: 4.25 + Report: FLAMTNK1.AUD + Projectile: Bullet + Speed: 20 + Burst: 2 + BurstDelay: 25 + Warhead: + Spread: 8 + Versus: + None: 100% + Wood: 100% + Light: 50% + Heavy: 25% + InfDeath: 5 + Damage: 90 + +SonicZap: + ROF: 120 + Range: 6 + Burst: 2 + BurstDelay:10 + Charges: yes + Report: SONIC4.AUD + Projectile: LaserZap # TODO: SonicBeam + Color: 200,0,255,255 + BeamWidth: 2 + Warhead: + Spread: 1 + InfDeath: 5 +# SmudgeType: Scorch + Damage: 100 + +Dragon: + ROF: 50 + Range: 6 + Burst: 2 + Report: MISL1.AUD + ValidTargets: Ground, Air + Projectile: Missile + Speed: 25 + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 8 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 10% + Wood: 75% + Light: 35% + Concrete: 20% + InfDeath: 2 + Damage: 30 + +90mm: + ROF: 50 + Range: 6.75 + Report: 120MMF.AUD + Burst: 2 + BurstDelay: 5 + Projectile: Bullet + Speed: 40 + Warhead: + Spread: 3 + Versus: + None: 30% + Wood: 75% + Light: 100% + Heavy: 100% + Concrete: 100% + InfDeath: 2 + Damage: 36 + +155mm: + ROF: 110 + Range: 18 + Report: 120MMF.AUD + Burst: 2 + BurstDelay: 5 + Projectile: Bullet + Speed: 10 + MinRange: 5 + Warhead: + Spread: 7 + Versus: + None: 100% + Wood: 85% + Light: 68% + Heavy: 35% + Concrete: 35% + InfDeath: 2 + Damage: 150 + +Hellfire: + ROF: 50 + Range: 6 + Report: ORCAMIS1.AUD + Burst: 2 + ValidTargets: Ground, Air + Projectile: Missile + Speed: 30 + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: DRAGON + ROT: 8 + RangeLimit: 35 + Warhead: + Spread: 2 + Versus: + None: 30% + Wood: 65% + Light: 150% + Heavy: 100% + Concrete: 30% + InfDeath: 3 + Damage: 30 + +Bomb: + ROF: 10 + Range: 5 + Projectile: Bullet + Speed: 10 + Image: 120MM + Warhead: + Spread: 7 + Versus: + None: 200% + Wood: 90% + Light: 75% + Heavy: 32% + Concrete: 100% + InfDeath: 2 + Damage: 160 + +Proton: + ROF: 3 + Range: 5 + Report: SCRIN5B.AUD + Burst: 2 + ValidTargets: Ground, Air + Projectile: Missile + Speed: 30 + Arm: 2 + High: yes + Shadow: no + Proximity: yes + Inaccuracy: 3 + Image: TORPEDO + ROT: 1 + RangeLimit: 35 + Warhead: + Spread: 3 + Versus: + None: 25% + Wood: 65% + Light: 75% + Heavy: 100% + Concrete: 60% + InfDeath: 3 + Damage: 20 + +HarpyClaw: + ROF: 36 + Range: 5 + Report: CYGUN1.AUD + Projectile: Bullet + Speed: 100 + ValidTargets: Ground, Air + Warhead: + Spread: 3 + Versus: + Wood: 25% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffpiff + InfDeath: 2 + Damage: 60 + +Pistola: + ROF: 20 + Range: 3 + Report: GUN18.AUD + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piff + InfDeath: 2 + Damage: 2 \ No newline at end of file