Expose lobby options to localisation.
This commit is contained in:
committed by
Gustas
parent
aefa49a831
commit
8297fcff30
@@ -18,11 +18,13 @@ namespace OpenRA.Traits
|
|||||||
[Desc("Required for shroud and fog visibility checks. Add this to the player actor.")]
|
[Desc("Required for shroud and fog visibility checks. Add this to the player actor.")]
|
||||||
public class ShroudInfo : TraitInfo, ILobbyOptions
|
public class ShroudInfo : TraitInfo, ILobbyOptions
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the fog checkbox in the lobby.")]
|
[Desc("Descriptive label for the fog checkbox in the lobby.")]
|
||||||
public readonly string FogCheckboxLabel = "Fog of War";
|
public readonly string FogCheckboxLabel = "fog-of-war.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the fog checkbox in the lobby.")]
|
[Desc("Tooltip description for the fog checkbox in the lobby.")]
|
||||||
public readonly string FogCheckboxDescription = "Line of sight is required to view enemy forces";
|
public readonly string FogCheckboxDescription = "fog-of-war.description";
|
||||||
|
|
||||||
[Desc("Default value of the fog checkbox in the lobby.")]
|
[Desc("Default value of the fog checkbox in the lobby.")]
|
||||||
public readonly bool FogCheckboxEnabled = true;
|
public readonly bool FogCheckboxEnabled = true;
|
||||||
@@ -36,11 +38,13 @@ namespace OpenRA.Traits
|
|||||||
[Desc("Display order for the fog checkbox in the lobby.")]
|
[Desc("Display order for the fog checkbox in the lobby.")]
|
||||||
public readonly int FogCheckboxDisplayOrder = 0;
|
public readonly int FogCheckboxDisplayOrder = 0;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the explored map checkbox in the lobby.")]
|
[Desc("Descriptive label for the explored map checkbox in the lobby.")]
|
||||||
public readonly string ExploredMapCheckboxLabel = "Explored Map";
|
public readonly string ExploredMapCheckboxLabel = "explored-map.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the explored map checkbox in the lobby.")]
|
[Desc("Tooltip description for the explored map checkbox in the lobby.")]
|
||||||
public readonly string ExploredMapCheckboxDescription = "Initial map shroud is revealed";
|
public readonly string ExploredMapCheckboxDescription = "explored-map.description";
|
||||||
|
|
||||||
[Desc("Default value of the explore map checkbox in the lobby.")]
|
[Desc("Default value of the explore map checkbox in the lobby.")]
|
||||||
public readonly bool ExploredMapCheckboxEnabled = false;
|
public readonly bool ExploredMapCheckboxEnabled = false;
|
||||||
@@ -56,9 +60,11 @@ namespace OpenRA.Traits
|
|||||||
|
|
||||||
IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(MapPreview map)
|
IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(MapPreview map)
|
||||||
{
|
{
|
||||||
yield return new LobbyBooleanOption("explored", ExploredMapCheckboxLabel, ExploredMapCheckboxDescription,
|
yield return new LobbyBooleanOption("explored", Game.ModData.Translation.GetString(ExploredMapCheckboxLabel),
|
||||||
|
Game.ModData.Translation.GetString(ExploredMapCheckboxDescription),
|
||||||
ExploredMapCheckboxVisible, ExploredMapCheckboxDisplayOrder, ExploredMapCheckboxEnabled, ExploredMapCheckboxLocked);
|
ExploredMapCheckboxVisible, ExploredMapCheckboxDisplayOrder, ExploredMapCheckboxEnabled, ExploredMapCheckboxLocked);
|
||||||
yield return new LobbyBooleanOption("fog", FogCheckboxLabel, FogCheckboxDescription,
|
yield return new LobbyBooleanOption("fog", Game.ModData.Translation.GetString(FogCheckboxLabel),
|
||||||
|
Game.ModData.Translation.GetString(FogCheckboxDescription),
|
||||||
FogCheckboxVisible, FogCheckboxDisplayOrder, FogCheckboxEnabled, FogCheckboxLocked);
|
FogCheckboxVisible, FogCheckboxDisplayOrder, FogCheckboxEnabled, FogCheckboxLocked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -540,8 +540,8 @@ namespace OpenRA.Traits
|
|||||||
IReadOnlyDictionary<string, string> values, string defaultValue, bool locked)
|
IReadOnlyDictionary<string, string> values, string defaultValue, bool locked)
|
||||||
{
|
{
|
||||||
Id = id;
|
Id = id;
|
||||||
Name = name;
|
Name = Game.ModData.Translation.GetString(name);
|
||||||
Description = description;
|
Description = Game.ModData.Translation.GetString(description);
|
||||||
IsVisible = visible;
|
IsVisible = visible;
|
||||||
DisplayOrder = displayorder;
|
DisplayOrder = displayorder;
|
||||||
Values = values;
|
Values = values;
|
||||||
|
|||||||
@@ -20,11 +20,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Attach this to the player actor.")]
|
[Desc("Attach this to the player actor.")]
|
||||||
public class DeveloperModeInfo : TraitInfo, ILobbyOptions
|
public class DeveloperModeInfo : TraitInfo, ILobbyOptions
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the developer mode checkbox in the lobby.")]
|
[Desc("Descriptive label for the developer mode checkbox in the lobby.")]
|
||||||
public readonly string CheckboxLabel = "Debug Menu";
|
public readonly string CheckboxLabel = "debug-menu.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the developer mode checkbox in the lobby.")]
|
[Desc("Tooltip description for the developer mode checkbox in the lobby.")]
|
||||||
public readonly string CheckboxDescription = "Enables cheats and developer commands";
|
public readonly string CheckboxDescription = "debug-menu.description";
|
||||||
|
|
||||||
[Desc("Default value of the developer mode checkbox in the lobby.")]
|
[Desc("Default value of the developer mode checkbox in the lobby.")]
|
||||||
public readonly bool CheckboxEnabled = false;
|
public readonly bool CheckboxEnabled = false;
|
||||||
|
|||||||
@@ -22,10 +22,12 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Internal id for this checkbox.")]
|
[Desc("Internal id for this checkbox.")]
|
||||||
public readonly string ID = null;
|
public readonly string ID = null;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[FieldLoader.Require]
|
[FieldLoader.Require]
|
||||||
[Desc("Display name for this checkbox.")]
|
[Desc("Display name for this checkbox.")]
|
||||||
public readonly string Label = null;
|
public readonly string Label = null;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Description name for this checkbox.")]
|
[Desc("Description name for this checkbox.")]
|
||||||
public readonly string Description = null;
|
public readonly string Description = null;
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Internal id for this tech level.")]
|
[Desc("Internal id for this tech level.")]
|
||||||
public readonly string Id;
|
public readonly string Id;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Name shown in the lobby options.")]
|
[Desc("Name shown in the lobby options.")]
|
||||||
public readonly string Name;
|
public readonly string Name;
|
||||||
|
|
||||||
|
|||||||
@@ -21,11 +21,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[TraitLocation(SystemActors.World)]
|
[TraitLocation(SystemActors.World)]
|
||||||
public class CrateSpawnerInfo : TraitInfo, ILobbyOptions
|
public class CrateSpawnerInfo : TraitInfo, ILobbyOptions
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the crates checkbox in the lobby.")]
|
[Desc("Descriptive label for the crates checkbox in the lobby.")]
|
||||||
public readonly string CheckboxLabel = "Crates";
|
public readonly string CheckboxLabel = "crates.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the crates checkbox in the lobby.")]
|
[Desc("Tooltip description for the crates checkbox in the lobby.")]
|
||||||
public readonly string CheckboxDescription = "Collect crates with units to receive random bonuses or penalties";
|
public readonly string CheckboxDescription = "crates.description";
|
||||||
|
|
||||||
[Desc("Default value of the crates checkbox in the lobby.")]
|
[Desc("Default value of the crates checkbox in the lobby.")]
|
||||||
public readonly bool CheckboxEnabled = true;
|
public readonly bool CheckboxEnabled = true;
|
||||||
|
|||||||
@@ -18,11 +18,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Controls the build radius checkboxes in the lobby options.")]
|
[Desc("Controls the build radius checkboxes in the lobby options.")]
|
||||||
public class MapBuildRadiusInfo : TraitInfo, ILobbyOptions
|
public class MapBuildRadiusInfo : TraitInfo, ILobbyOptions
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the ally build radius checkbox in the lobby.")]
|
[Desc("Descriptive label for the ally build radius checkbox in the lobby.")]
|
||||||
public readonly string AllyBuildRadiusCheckboxLabel = "Build off Allies";
|
public readonly string AllyBuildRadiusCheckboxLabel = "ally-build-radius.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the ally build radius checkbox in the lobby.")]
|
[Desc("Tooltip description for the ally build radius checkbox in the lobby.")]
|
||||||
public readonly string AllyBuildRadiusCheckboxDescription = "Allow allies to place structures inside your build area";
|
public readonly string AllyBuildRadiusCheckboxDescription = "ally-build-radius.description";
|
||||||
|
|
||||||
[Desc("Default value of the ally build radius checkbox in the lobby.")]
|
[Desc("Default value of the ally build radius checkbox in the lobby.")]
|
||||||
public readonly bool AllyBuildRadiusCheckboxEnabled = true;
|
public readonly bool AllyBuildRadiusCheckboxEnabled = true;
|
||||||
@@ -36,11 +38,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Display order for the ally build radius checkbox in the lobby.")]
|
[Desc("Display order for the ally build radius checkbox in the lobby.")]
|
||||||
public readonly int AllyBuildRadiusCheckboxDisplayOrder = 0;
|
public readonly int AllyBuildRadiusCheckboxDisplayOrder = 0;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the build radius checkbox in the lobby.")]
|
[Desc("Tooltip description for the build radius checkbox in the lobby.")]
|
||||||
public readonly string BuildRadiusCheckboxLabel = "Limit Build Area";
|
public readonly string BuildRadiusCheckboxLabel = "build-radius.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the build radius checkbox in the lobby.")]
|
[Desc("Tooltip description for the build radius checkbox in the lobby.")]
|
||||||
public readonly string BuildRadiusCheckboxDescription = "Limits structure placement to areas around Construction Yards";
|
public readonly string BuildRadiusCheckboxDescription = "build-radius.description";
|
||||||
|
|
||||||
[Desc("Default value of the build radius checkbox in the lobby.")]
|
[Desc("Default value of the build radius checkbox in the lobby.")]
|
||||||
public readonly bool BuildRadiusCheckboxEnabled = true;
|
public readonly bool BuildRadiusCheckboxEnabled = true;
|
||||||
|
|||||||
@@ -18,11 +18,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[TraitLocation(SystemActors.World)]
|
[TraitLocation(SystemActors.World)]
|
||||||
public class MapCreepsInfo : TraitInfo, ILobbyOptions
|
public class MapCreepsInfo : TraitInfo, ILobbyOptions
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the creeps checkbox in the lobby.")]
|
[Desc("Descriptive label for the creeps checkbox in the lobby.")]
|
||||||
public readonly string CheckboxLabel = "Creep Actors";
|
public readonly string CheckboxLabel = "map-creeps.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the creeps checkbox in the lobby.")]
|
[Desc("Tooltip description for the creeps checkbox in the lobby.")]
|
||||||
public readonly string CheckboxDescription = "Hostile forces spawn on the battlefield";
|
public readonly string CheckboxDescription = "map-creeps.description";
|
||||||
|
|
||||||
[Desc("Default value of the creeps checkbox in the lobby.")]
|
[Desc("Default value of the creeps checkbox in the lobby.")]
|
||||||
public readonly bool CheckboxEnabled = true;
|
public readonly bool CheckboxEnabled = true;
|
||||||
|
|||||||
@@ -19,11 +19,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Controls the game speed, tech level, and short game lobby options.")]
|
[Desc("Controls the game speed, tech level, and short game lobby options.")]
|
||||||
public class MapOptionsInfo : TraitInfo, ILobbyOptions, IRulesetLoaded
|
public class MapOptionsInfo : TraitInfo, ILobbyOptions, IRulesetLoaded
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the short game checkbox in the lobby.")]
|
[Desc("Descriptive label for the short game checkbox in the lobby.")]
|
||||||
public readonly string ShortGameCheckboxLabel = "Short Game";
|
public readonly string ShortGameCheckboxLabel = "short-game.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the short game checkbox in the lobby.")]
|
[Desc("Tooltip description for the short game checkbox in the lobby.")]
|
||||||
public readonly string ShortGameCheckboxDescription = "Players are defeated when their bases are destroyed";
|
public readonly string ShortGameCheckboxDescription = "short-game.description";
|
||||||
|
|
||||||
[Desc("Default value of the short game checkbox in the lobby.")]
|
[Desc("Default value of the short game checkbox in the lobby.")]
|
||||||
public readonly bool ShortGameCheckboxEnabled = true;
|
public readonly bool ShortGameCheckboxEnabled = true;
|
||||||
@@ -37,11 +39,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Display order for the short game checkbox in the lobby.")]
|
[Desc("Display order for the short game checkbox in the lobby.")]
|
||||||
public readonly int ShortGameCheckboxDisplayOrder = 0;
|
public readonly int ShortGameCheckboxDisplayOrder = 0;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the tech level option in the lobby.")]
|
[Desc("Descriptive label for the tech level option in the lobby.")]
|
||||||
public readonly string TechLevelDropdownLabel = "Tech Level";
|
public readonly string TechLevelDropdownLabel = "tech-level.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the tech level option in the lobby.")]
|
[Desc("Tooltip description for the tech level option in the lobby.")]
|
||||||
public readonly string TechLevelDropdownDescription = "The units and abilities that players can use";
|
public readonly string TechLevelDropdownDescription = "tech-level.description";
|
||||||
|
|
||||||
[Desc("Default tech level.")]
|
[Desc("Default tech level.")]
|
||||||
public readonly string TechLevel = "unrestricted";
|
public readonly string TechLevel = "unrestricted";
|
||||||
@@ -55,11 +59,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Display order for the tech level option in the lobby.")]
|
[Desc("Display order for the tech level option in the lobby.")]
|
||||||
public readonly int TechLevelDropdownDisplayOrder = 0;
|
public readonly int TechLevelDropdownDisplayOrder = 0;
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the game speed option in the lobby.")]
|
[Desc("Tooltip description for the game speed option in the lobby.")]
|
||||||
public readonly string GameSpeedDropdownLabel = "Game Speed";
|
public readonly string GameSpeedDropdownLabel = "game-speed.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Description of the game speed option in the lobby.")]
|
[Desc("Description of the game speed option in the lobby.")]
|
||||||
public readonly string GameSpeedDropdownDescription = "The rate at which time passes";
|
public readonly string GameSpeedDropdownDescription = "game-speed.description";
|
||||||
|
|
||||||
[Desc("Default game speed (leave empty to use the default defined in mod.yaml).")]
|
[Desc("Default game speed (leave empty to use the default defined in mod.yaml).")]
|
||||||
public readonly string GameSpeed = null;
|
public readonly string GameSpeed = null;
|
||||||
@@ -79,7 +85,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
ShortGameCheckboxVisible, ShortGameCheckboxDisplayOrder, ShortGameCheckboxEnabled, ShortGameCheckboxLocked);
|
ShortGameCheckboxVisible, ShortGameCheckboxDisplayOrder, ShortGameCheckboxEnabled, ShortGameCheckboxLocked);
|
||||||
|
|
||||||
var techLevels = map.PlayerActorInfo.TraitInfos<ProvidesTechPrerequisiteInfo>()
|
var techLevels = map.PlayerActorInfo.TraitInfos<ProvidesTechPrerequisiteInfo>()
|
||||||
.ToDictionary(t => t.Id, t => t.Name);
|
.ToDictionary(t => t.Id, t => Game.ModData.Translation.GetString(t.Name));
|
||||||
|
|
||||||
if (techLevels.Count > 0)
|
if (techLevels.Count > 0)
|
||||||
yield return new LobbyOption("techlevel", TechLevelDropdownLabel, TechLevelDropdownDescription, TechLevelDropdownVisible, TechLevelDropdownDisplayOrder,
|
yield return new LobbyOption("techlevel", TechLevelDropdownLabel, TechLevelDropdownDescription, TechLevelDropdownVisible, TechLevelDropdownDisplayOrder,
|
||||||
|
|||||||
@@ -25,11 +25,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
public readonly WDist InitialExploreRange = WDist.FromCells(5);
|
public readonly WDist InitialExploreRange = WDist.FromCells(5);
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the spawn positions checkbox in the lobby.")]
|
[Desc("Descriptive label for the spawn positions checkbox in the lobby.")]
|
||||||
public readonly string SeparateTeamSpawnsCheckboxLabel = "Separate Team Spawns";
|
public readonly string SeparateTeamSpawnsCheckboxLabel = "separate-team-spawns.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the spawn positions checkbox in the lobby.")]
|
[Desc("Tooltip description for the spawn positions checkbox in the lobby.")]
|
||||||
public readonly string SeparateTeamSpawnsCheckboxDescription = "Players without assigned spawn points will start as far as possible from enemy players";
|
public readonly string SeparateTeamSpawnsCheckboxDescription = "separate-team-spawns.description";
|
||||||
|
|
||||||
[Desc("Default value of the spawn positions checkbox in the lobby.")]
|
[Desc("Default value of the spawn positions checkbox in the lobby.")]
|
||||||
public readonly bool SeparateTeamSpawnsCheckboxEnabled = true;
|
public readonly bool SeparateTeamSpawnsCheckboxEnabled = true;
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Internal class ID.")]
|
[Desc("Internal class ID.")]
|
||||||
public readonly string Class = "none";
|
public readonly string Class = "none";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Exposed via the UI to the player.")]
|
[Desc("Exposed via the UI to the player.")]
|
||||||
public readonly string ClassName = "Unlabeled";
|
public readonly string ClassName = "Unlabeled";
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
public readonly string StartingUnitsClass = "none";
|
public readonly string StartingUnitsClass = "none";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Descriptive label for the starting units option in the lobby.")]
|
[Desc("Descriptive label for the starting units option in the lobby.")]
|
||||||
public readonly string DropdownLabel = "Starting Units";
|
public readonly string DropdownLabel = "starting-units.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description for the starting units option in the lobby.")]
|
[Desc("Tooltip description for the starting units option in the lobby.")]
|
||||||
public readonly string DropdownDescription = "The units that players start the game with";
|
public readonly string DropdownDescription = "starting-units.description";
|
||||||
|
|
||||||
[Desc("Prevent the starting units option from being changed in the lobby.")]
|
[Desc("Prevent the starting units option from being changed in the lobby.")]
|
||||||
public readonly bool DropdownLocked = false;
|
public readonly bool DropdownLocked = false;
|
||||||
@@ -45,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
// Duplicate classes are defined for different race variants
|
// Duplicate classes are defined for different race variants
|
||||||
foreach (var t in map.WorldActorInfo.TraitInfos<StartingUnitsInfo>())
|
foreach (var t in map.WorldActorInfo.TraitInfos<StartingUnitsInfo>())
|
||||||
startingUnits[t.Class] = t.ClassName;
|
startingUnits[t.Class] = Game.ModData.Translation.GetString(t.ClassName);
|
||||||
|
|
||||||
if (startingUnits.Count > 0)
|
if (startingUnits.Count > 0)
|
||||||
yield return new LobbyOption("startingunits", DropdownLabel, DropdownDescription, DropdownVisible, DropdownDisplayOrder,
|
yield return new LobbyOption("startingunits", DropdownLabel, DropdownDescription, DropdownVisible, DropdownDisplayOrder,
|
||||||
|
|||||||
@@ -21,11 +21,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("This trait allows setting a time limit on matches. Attach this to the World actor.")]
|
[Desc("This trait allows setting a time limit on matches. Attach this to the World actor.")]
|
||||||
public class TimeLimitManagerInfo : TraitInfo, ILobbyOptions, IRulesetLoaded
|
public class TimeLimitManagerInfo : TraitInfo, ILobbyOptions, IRulesetLoaded
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Label that will be shown for the time limit option in the lobby.")]
|
[Desc("Label that will be shown for the time limit option in the lobby.")]
|
||||||
public readonly string TimeLimitLabel = "Time Limit";
|
public readonly string TimeLimitLabel = "time-limit.label";
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
[Desc("Tooltip description that will be shown for the time limit option in the lobby.")]
|
[Desc("Tooltip description that will be shown for the time limit option in the lobby.")]
|
||||||
public readonly string TimeLimitDescription = "Player or team with the highest score after this time wins";
|
public readonly string TimeLimitDescription = "time-limit.description";
|
||||||
|
|
||||||
[Desc("Time Limit options that will be shown in the lobby dropdown. Values are in minutes.")]
|
[Desc("Time Limit options that will be shown in the lobby dropdown. Values are in minutes.")]
|
||||||
public readonly int[] TimeLimitOptions = { 0, 10, 20, 30, 40, 60, 90 };
|
public readonly int[] TimeLimitOptions = { 0, 10, 20, 30, 40, 60, 90 };
|
||||||
@@ -74,14 +76,20 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
throw new YamlException("TimeLimitDefault must be a value from TimeLimitOptions");
|
throw new YamlException("TimeLimitDefault must be a value from TimeLimitOptions");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TranslationReference]
|
||||||
|
const string NoTimeLimit = "no-time-limit";
|
||||||
|
|
||||||
|
[TranslationReference("minutes")]
|
||||||
|
const string TimeLimitOption = "time-limit-options";
|
||||||
|
|
||||||
IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(MapPreview map)
|
IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(MapPreview map)
|
||||||
{
|
{
|
||||||
var timelimits = TimeLimitOptions.ToDictionary(c => c.ToString(), c =>
|
var timelimits = TimeLimitOptions.ToDictionary(m => m.ToString(), m =>
|
||||||
{
|
{
|
||||||
if (c == 0)
|
if (m == 0)
|
||||||
return "No limit";
|
return Game.ModData.Translation.GetString(NoTimeLimit);
|
||||||
else
|
else
|
||||||
return c.ToString() + $" minute{(c > 1 ? "s" : null)}";
|
return Game.ModData.Translation.GetString(TimeLimitOption, Translation.Arguments("minutes", m));
|
||||||
});
|
});
|
||||||
|
|
||||||
yield return new LobbyOption("timelimit", TimeLimitLabel, TimeLimitDescription, TimeLimitDropdownVisible, TimeLimitDisplayOrder,
|
yield return new LobbyOption("timelimit", TimeLimitLabel, TimeLimitDescription, TimeLimitDropdownVisible, TimeLimitDisplayOrder,
|
||||||
@@ -93,6 +101,9 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public class TimeLimitManager : INotifyTimeLimit, ITick, IWorldLoaded
|
public class TimeLimitManager : INotifyTimeLimit, ITick, IWorldLoaded
|
||||||
{
|
{
|
||||||
|
[TranslationReference]
|
||||||
|
const string TimeLimitExpired = "time-limit-expired";
|
||||||
|
|
||||||
readonly TimeLimitManagerInfo info;
|
readonly TimeLimitManagerInfo info;
|
||||||
readonly int ticksPerSecond;
|
readonly int ticksPerSecond;
|
||||||
LabelWidget countdownLabel;
|
LabelWidget countdownLabel;
|
||||||
@@ -170,7 +181,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
countdownLabel.GetText = () => null;
|
countdownLabel.GetText = () => null;
|
||||||
|
|
||||||
if (!info.SkipTimerExpiredNotification)
|
if (!info.SkipTimerExpiredNotification)
|
||||||
TextNotificationsManager.AddSystemLine("Time limit has expired.");
|
TextNotificationsManager.AddSystemLine(Game.ModData.Translation.GetString(TimeLimitExpired));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
22
mods/cnc/languages/rules/en.ftl
Normal file
22
mods/cnc/languages/rules/en.ftl
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
## Player
|
||||||
|
low = Low
|
||||||
|
medium = Medium
|
||||||
|
no-powers = No Powers
|
||||||
|
unrestricted = Unrestricted
|
||||||
|
|
||||||
|
redeployable-mcvs =
|
||||||
|
.label = Redeployable MCVs
|
||||||
|
.description = Allow undeploying Construction Yard
|
||||||
|
|
||||||
|
stealth-deliveries =
|
||||||
|
.label = Stealth Deliveries
|
||||||
|
.description = Nod's delivery plane is cloaked
|
||||||
|
|
||||||
|
## World
|
||||||
|
mcv-only = MCV Only
|
||||||
|
light-support = Light Support
|
||||||
|
heavy-support = Heavy Support
|
||||||
|
|
||||||
|
map-creeps =
|
||||||
|
.label = Creep Actors
|
||||||
|
.description = Hostile forces spawn on the battlefield
|
||||||
@@ -144,6 +144,7 @@ ChromeLayout:
|
|||||||
|
|
||||||
Translations:
|
Translations:
|
||||||
common|languages/en.ftl
|
common|languages/en.ftl
|
||||||
|
cnc|languages/rules/en.ftl
|
||||||
|
|
||||||
Voices:
|
Voices:
|
||||||
cnc|audio/voices.yaml
|
cnc|audio/voices.yaml
|
||||||
|
|||||||
@@ -42,15 +42,15 @@ Player:
|
|||||||
FogCheckboxDisplayOrder: 3
|
FogCheckboxDisplayOrder: 3
|
||||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||||
ID: factundeploy
|
ID: factundeploy
|
||||||
Label: Redeployable MCVs
|
Label: redeployable-mcvs.label
|
||||||
Description: Allow undeploying Construction Yard
|
Description: redeployable-mcvs.description
|
||||||
Enabled: True
|
Enabled: True
|
||||||
DisplayOrder: 7
|
DisplayOrder: 7
|
||||||
Prerequisites: global-factundeploy
|
Prerequisites: global-factundeploy
|
||||||
LobbyPrerequisiteCheckbox@GLOBALC17STEALTH:
|
LobbyPrerequisiteCheckbox@GLOBALC17STEALTH:
|
||||||
ID: C17-Stealth
|
ID: C17-Stealth
|
||||||
Label: Stealth Deliveries
|
Label: stealth-deliveries.label
|
||||||
Description: Nod's delivery plane is cloaked
|
Description: stealth-deliveries.description
|
||||||
Enabled: False
|
Enabled: False
|
||||||
DisplayOrder: 8
|
DisplayOrder: 8
|
||||||
Prerequisites: global-C17-stealth
|
Prerequisites: global-C17-stealth
|
||||||
@@ -58,19 +58,19 @@ Player:
|
|||||||
FrozenActorLayer:
|
FrozenActorLayer:
|
||||||
PlaceBeacon:
|
PlaceBeacon:
|
||||||
ProvidesTechPrerequisite@low:
|
ProvidesTechPrerequisite@low:
|
||||||
Name: Low
|
Name: low
|
||||||
Prerequisites: techlevel.low
|
Prerequisites: techlevel.low
|
||||||
Id: low
|
Id: low
|
||||||
ProvidesTechPrerequisite@medium:
|
ProvidesTechPrerequisite@medium:
|
||||||
Name: Medium
|
Name: medium
|
||||||
Prerequisites: techlevel.low, techlevel.medium
|
Prerequisites: techlevel.low, techlevel.medium
|
||||||
Id: medium
|
Id: medium
|
||||||
ProvidesTechPrerequisite@nosuper:
|
ProvidesTechPrerequisite@nosuper:
|
||||||
Name: No Powers
|
Name: no-powers
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
||||||
Id: nopowers
|
Id: nopowers
|
||||||
ProvidesTechPrerequisite@all:
|
ProvidesTechPrerequisite@all:
|
||||||
Name: Unrestricted
|
Name: unrestricted
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||||
Id: unrestricted
|
Id: unrestricted
|
||||||
GrantConditionOnPrerequisiteManager:
|
GrantConditionOnPrerequisiteManager:
|
||||||
|
|||||||
@@ -208,42 +208,42 @@ World:
|
|||||||
CreateMapPlayers:
|
CreateMapPlayers:
|
||||||
StartingUnits@mcvonly:
|
StartingUnits@mcvonly:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: mcv-only
|
||||||
Factions: gdi, nod
|
Factions: gdi, nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
StartingUnits@defaultgdia:
|
StartingUnits@defaultgdia:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
|
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
|
||||||
StartingUnits@defaultnoda:
|
StartingUnits@defaultnoda:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e1,e3,e3,bggy
|
SupportActors: e1,e1,e1,e1,e1,e1,e3,e3,bggy
|
||||||
StartingUnits@heavynoda:
|
StartingUnits@heavynoda:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
|
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
|
||||||
StartingUnits@heavynodb:
|
StartingUnits@heavynodb:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
|
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
|
||||||
StartingUnits@heavygdia:
|
StartingUnits@heavygdia:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
|
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
|
||||||
StartingUnits@heavygdib:
|
StartingUnits@heavygdib:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk
|
SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk
|
||||||
|
|||||||
@@ -663,3 +663,68 @@ path-debug-description = toggles a visualization of path searching.
|
|||||||
|
|
||||||
## TerrainGeometryOverlay
|
## TerrainGeometryOverlay
|
||||||
terrain-geometry-overlay = toggles the terrain geometry overlay.
|
terrain-geometry-overlay = toggles the terrain geometry overlay.
|
||||||
|
|
||||||
|
## Shroud
|
||||||
|
fog-of-war =
|
||||||
|
.label = Fog of War
|
||||||
|
.description = Line of sight is required to view enemy forces
|
||||||
|
|
||||||
|
explored-map =
|
||||||
|
.label = Explored Map
|
||||||
|
.description = Initial map shroud is revealed
|
||||||
|
|
||||||
|
## DeveloperMode
|
||||||
|
debug-menu =
|
||||||
|
.label = Debug Menu
|
||||||
|
.description = Enables cheats and developer commands
|
||||||
|
|
||||||
|
## CrateSpawner
|
||||||
|
crates =
|
||||||
|
.label = Crates
|
||||||
|
.description = Collect crates with units to receive random bonuses or penalties
|
||||||
|
|
||||||
|
## MapBuildRadius
|
||||||
|
ally-build-radius =
|
||||||
|
.label = Build off Allies
|
||||||
|
.description = Allow allies to place structures inside your build area
|
||||||
|
|
||||||
|
build-radius =
|
||||||
|
.label = Limit Build Area
|
||||||
|
.description = Limits structure placement to areas around Construction Yards
|
||||||
|
|
||||||
|
## MapOptions
|
||||||
|
short-game =
|
||||||
|
.label = Short Game
|
||||||
|
.description = Players are defeated when their bases are destroyed
|
||||||
|
|
||||||
|
tech-level =
|
||||||
|
.label = Tech Level
|
||||||
|
.description = The units and abilities that players can use
|
||||||
|
|
||||||
|
game-speed =
|
||||||
|
.label = Game Speed
|
||||||
|
.description = The rate at which time passes
|
||||||
|
|
||||||
|
## MapStartingLocations
|
||||||
|
separate-team-spawns =
|
||||||
|
.label = Separate Team Spawns
|
||||||
|
.description = Players without assigned spawn points will start as far as possible from enemy players
|
||||||
|
|
||||||
|
## SpawnStartingUnits
|
||||||
|
starting-units =
|
||||||
|
.label = Starting Units
|
||||||
|
.description = The units that players start the game with
|
||||||
|
|
||||||
|
## TimeLimitManager
|
||||||
|
time-limit =
|
||||||
|
.label = Time Limit
|
||||||
|
.description = Player or team with the highest score after this time wins
|
||||||
|
|
||||||
|
no-time-limit = No limit
|
||||||
|
time-limit-options =
|
||||||
|
{ $minutes ->
|
||||||
|
[one] { $minutes } minute
|
||||||
|
*[other] { $minutes } minutes
|
||||||
|
}
|
||||||
|
|
||||||
|
time-limit-expired = Time limit has expired.
|
||||||
|
|||||||
18
mods/d2k/languages/rules/en.ftl
Normal file
18
mods/d2k/languages/rules/en.ftl
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
## Player
|
||||||
|
low = Low
|
||||||
|
medium = Medium
|
||||||
|
no-powers = No Powers
|
||||||
|
unrestricted = Unrestricted
|
||||||
|
|
||||||
|
automatic-concrete =
|
||||||
|
.label = Automatic Concrete
|
||||||
|
.description = Concrete foundations are automatically created beneath buildings
|
||||||
|
|
||||||
|
## World
|
||||||
|
map-worms =
|
||||||
|
.label = Worms
|
||||||
|
.description = Worms roam the map and devour unprepared forces
|
||||||
|
|
||||||
|
mcv-only = MCV Only
|
||||||
|
light-support = Light Support
|
||||||
|
heavy-support = Heavy Support
|
||||||
@@ -124,6 +124,7 @@ ChromeLayout:
|
|||||||
|
|
||||||
Translations:
|
Translations:
|
||||||
common|languages/en.ftl
|
common|languages/en.ftl
|
||||||
|
d2k|languages/rules/en.ftl
|
||||||
|
|
||||||
Weapons:
|
Weapons:
|
||||||
d2k|weapons/debris.yaml
|
d2k|weapons/debris.yaml
|
||||||
|
|||||||
@@ -126,8 +126,8 @@ Player:
|
|||||||
FogCheckboxDisplayOrder: 3
|
FogCheckboxDisplayOrder: 3
|
||||||
LobbyPrerequisiteCheckbox@AUTOCONCRETE:
|
LobbyPrerequisiteCheckbox@AUTOCONCRETE:
|
||||||
ID: autoconcrete
|
ID: autoconcrete
|
||||||
Label: Automatic Concrete
|
Label: automatic-concrete.label
|
||||||
Description: Concrete foundations are automatically created beneath buildings
|
Description: automatic-concrete.description
|
||||||
Enabled: False
|
Enabled: False
|
||||||
DisplayOrder: 7
|
DisplayOrder: 7
|
||||||
Prerequisites: global-auto-concrete
|
Prerequisites: global-auto-concrete
|
||||||
@@ -158,19 +158,19 @@ Player:
|
|||||||
Prerequisite: player.smuggler
|
Prerequisite: player.smuggler
|
||||||
Factions: smuggler
|
Factions: smuggler
|
||||||
ProvidesTechPrerequisite@low:
|
ProvidesTechPrerequisite@low:
|
||||||
Name: Low
|
Name: low
|
||||||
Prerequisites: techlevel.low
|
Prerequisites: techlevel.low
|
||||||
Id: low
|
Id: low
|
||||||
ProvidesTechPrerequisite@medium:
|
ProvidesTechPrerequisite@medium:
|
||||||
Name: Medium
|
Name: medium
|
||||||
Prerequisites: techlevel.low, techlevel.medium
|
Prerequisites: techlevel.low, techlevel.medium
|
||||||
Id: medium
|
Id: medium
|
||||||
ProvidesTechPrerequisite@nosuper:
|
ProvidesTechPrerequisite@nosuper:
|
||||||
Name: No Powers
|
Name: no-powers
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
||||||
Id: nopowers
|
Id: nopowers
|
||||||
ProvidesTechPrerequisite@all:
|
ProvidesTechPrerequisite@all:
|
||||||
Name: Unrestricted
|
Name: unrestricted
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||||
Id: unrestricted
|
Id: unrestricted
|
||||||
EnemyWatcher:
|
EnemyWatcher:
|
||||||
|
|||||||
@@ -157,8 +157,8 @@ World:
|
|||||||
Type: SandCrater
|
Type: SandCrater
|
||||||
Sequence: sandcraters
|
Sequence: sandcraters
|
||||||
MapCreeps:
|
MapCreeps:
|
||||||
CheckboxLabel: Worms
|
CheckboxLabel: map-worms.label
|
||||||
CheckboxDescription: Worms roam the map and devour unprepared forces
|
CheckboxDescription: map-worms.description
|
||||||
CheckboxDisplayOrder: 5
|
CheckboxDisplayOrder: 5
|
||||||
SpawnMapActors:
|
SpawnMapActors:
|
||||||
MapBuildRadius:
|
MapBuildRadius:
|
||||||
@@ -173,12 +173,12 @@ World:
|
|||||||
SeparateTeamSpawnsCheckboxDisplayOrder: 6
|
SeparateTeamSpawnsCheckboxDisplayOrder: 6
|
||||||
StartingUnits@mcv:
|
StartingUnits@mcv:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: mcv-only
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
Factions: atreides, ordos, harkonnen
|
Factions: atreides, ordos, harkonnen
|
||||||
StartingUnits@lightatreides:
|
StartingUnits@lightatreides:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: atreides
|
Factions: atreides
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, quad
|
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, quad
|
||||||
@@ -186,7 +186,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@lightharkonnen:
|
StartingUnits@lightharkonnen:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: harkonnen
|
Factions: harkonnen
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: light_inf, light_inf, light_inf, trooper, trooper, trike, quad
|
SupportActors: light_inf, light_inf, light_inf, trooper, trooper, trike, quad
|
||||||
@@ -194,7 +194,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@lightordos:
|
StartingUnits@lightordos:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: ordos
|
Factions: ordos
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, quad
|
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, quad
|
||||||
@@ -202,7 +202,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavyatreides:
|
StartingUnits@heavyatreides:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: atreides
|
Factions: atreides
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, combat_tank_a, missile_tank
|
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, combat_tank_a, missile_tank
|
||||||
@@ -210,7 +210,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavyharkonnen:
|
StartingUnits@heavyharkonnen:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: harkonnen
|
Factions: harkonnen
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, quad, combat_tank_h, siege_tank
|
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, quad, combat_tank_h, siege_tank
|
||||||
@@ -218,7 +218,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavyordos:
|
StartingUnits@heavyordos:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: ordos
|
Factions: ordos
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, combat_tank_o, missile_tank
|
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, combat_tank_o, missile_tank
|
||||||
|
|||||||
23
mods/ra/languages/rules/en.ftl
Normal file
23
mods/ra/languages/rules/en.ftl
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
## Player
|
||||||
|
infantry-only = Infantry Only
|
||||||
|
low = Low
|
||||||
|
medium = Medium
|
||||||
|
no-superweapons = No Superweapons
|
||||||
|
unrestricted = Unrestricted
|
||||||
|
|
||||||
|
kill-bounties =
|
||||||
|
.label = Kill Bounties
|
||||||
|
.description = Players receive cash bonuses when killing enemy units
|
||||||
|
|
||||||
|
redeployable-mcvs =
|
||||||
|
.label = Redeployable MCVs
|
||||||
|
.description = Allow undeploying Construction Yard
|
||||||
|
|
||||||
|
reusable-engineers =
|
||||||
|
.label = Reusable Engineers
|
||||||
|
.description = Engineers remain on the battlefield after capturing a structure
|
||||||
|
|
||||||
|
## World
|
||||||
|
mcv-only = MCV Only
|
||||||
|
light-support = Light Support
|
||||||
|
heavy-support = Heavy Support
|
||||||
@@ -140,6 +140,7 @@ ChromeLayout:
|
|||||||
|
|
||||||
Translations:
|
Translations:
|
||||||
common|languages/en.ftl
|
common|languages/en.ftl
|
||||||
|
ra|languages/rules/en.ftl
|
||||||
|
|
||||||
Weapons:
|
Weapons:
|
||||||
ra|weapons/explosions.yaml
|
ra|weapons/explosions.yaml
|
||||||
|
|||||||
@@ -125,22 +125,22 @@ Player:
|
|||||||
FogCheckboxDisplayOrder: 3
|
FogCheckboxDisplayOrder: 3
|
||||||
LobbyPrerequisiteCheckbox@GLOBALBOUNTY:
|
LobbyPrerequisiteCheckbox@GLOBALBOUNTY:
|
||||||
ID: bounty
|
ID: bounty
|
||||||
Label: Kill Bounties
|
Label: kill-bounties.label
|
||||||
Description: Players receive cash bonuses when killing enemy units
|
Description: kill-bounties.description
|
||||||
Enabled: False
|
Enabled: False
|
||||||
DisplayOrder: 8
|
DisplayOrder: 8
|
||||||
Prerequisites: global-bounty
|
Prerequisites: global-bounty
|
||||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||||
ID: factundeploy
|
ID: factundeploy
|
||||||
Label: Redeployable MCVs
|
Label: redeployable-mcvs.label
|
||||||
Description: Allow undeploying Construction Yard
|
Description: redeployable-mcvs.description
|
||||||
Enabled: True
|
Enabled: True
|
||||||
DisplayOrder: 7
|
DisplayOrder: 7
|
||||||
Prerequisites: global-factundeploy
|
Prerequisites: global-factundeploy
|
||||||
LobbyPrerequisiteCheckbox@REUSABLEENGINEERS:
|
LobbyPrerequisiteCheckbox@REUSABLEENGINEERS:
|
||||||
ID: reusable-engineers
|
ID: reusable-engineers
|
||||||
Label: Reusable Engineers
|
Label: reusable-engineers.label
|
||||||
Description: Engineers remain on the battlefield after capturing a structure
|
Description: reusable-engineers.description
|
||||||
Enabled: False
|
Enabled: False
|
||||||
DisplayOrder: 9
|
DisplayOrder: 9
|
||||||
Prerequisites: global-reusable-engineers
|
Prerequisites: global-reusable-engineers
|
||||||
@@ -151,23 +151,23 @@ Player:
|
|||||||
PlayerStatistics:
|
PlayerStatistics:
|
||||||
PlaceBeacon:
|
PlaceBeacon:
|
||||||
ProvidesTechPrerequisite@infonly:
|
ProvidesTechPrerequisite@infonly:
|
||||||
Name: Infantry Only
|
Name: infantry-only
|
||||||
Prerequisites: techlevel.infonly
|
Prerequisites: techlevel.infonly
|
||||||
Id: infantryonly
|
Id: infantryonly
|
||||||
ProvidesTechPrerequisite@low:
|
ProvidesTechPrerequisite@low:
|
||||||
Name: Low
|
Name: low
|
||||||
Prerequisites: techlevel.infonly, techlevel.low
|
Prerequisites: techlevel.infonly, techlevel.low
|
||||||
Id: low
|
Id: low
|
||||||
ProvidesTechPrerequisite@medium:
|
ProvidesTechPrerequisite@medium:
|
||||||
Name: Medium
|
Name: medium
|
||||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium
|
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium
|
||||||
Id: medium
|
Id: medium
|
||||||
ProvidesTechPrerequisite@high:
|
ProvidesTechPrerequisite@high:
|
||||||
Name: No Superweapons
|
Name: no-superweapons
|
||||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high
|
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high
|
||||||
Id: nosuperweapons
|
Id: nosuperweapons
|
||||||
ProvidesTechPrerequisite@unrestricted:
|
ProvidesTechPrerequisite@unrestricted:
|
||||||
Name: Unrestricted
|
Name: unrestricted
|
||||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high, techlevel.unrestricted
|
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high, techlevel.unrestricted
|
||||||
Id: unrestricted
|
Id: unrestricted
|
||||||
GrantConditionOnPrerequisiteManager:
|
GrantConditionOnPrerequisiteManager:
|
||||||
|
|||||||
@@ -228,12 +228,12 @@ World:
|
|||||||
CreateMapPlayers:
|
CreateMapPlayers:
|
||||||
StartingUnits@mcvonly:
|
StartingUnits@mcvonly:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: mcv-only
|
||||||
Factions: allies, england, france, germany, soviet, russia, ukraine
|
Factions: allies, england, france, germany, soviet, russia, ukraine
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
StartingUnits@lightallies:
|
StartingUnits@lightallies:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: allies, england, france, germany
|
Factions: allies, england, france, germany
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
|
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
|
||||||
@@ -241,7 +241,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@lightsoviet:
|
StartingUnits@lightsoviet:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light Support
|
ClassName: light-support
|
||||||
Factions: soviet, russia, ukraine
|
Factions: soviet, russia, ukraine
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,apc,ftrk
|
SupportActors: e1,e1,e1,e3,e3,apc,ftrk
|
||||||
@@ -249,7 +249,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavyallies:
|
StartingUnits@heavyallies:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: allies, england, france, germany
|
Factions: allies, england, france, germany
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
|
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
|
||||||
@@ -257,7 +257,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavysoviet:
|
StartingUnits@heavysoviet:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy Support
|
ClassName: heavy-support
|
||||||
Factions: soviet, russia, ukraine
|
Factions: soviet, russia, ukraine
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk
|
SupportActors: e1,e1,e1,e3,e3,apc,ftrk,3tnk,3tnk
|
||||||
|
|||||||
18
mods/ts/languages/rules/en.ftl
Normal file
18
mods/ts/languages/rules/en.ftl
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
## Player
|
||||||
|
low = Low
|
||||||
|
medium = Medium
|
||||||
|
no-powers = No Powers
|
||||||
|
unrestricted = Unrestricted
|
||||||
|
|
||||||
|
redeployable-mcvs =
|
||||||
|
.label = Redeployable MCVs
|
||||||
|
.description = Allow undeploying Construction Yard
|
||||||
|
|
||||||
|
## World
|
||||||
|
mcv-only = MCV Only
|
||||||
|
light = Light
|
||||||
|
heavy = Heavy
|
||||||
|
|
||||||
|
map-creeps =
|
||||||
|
.label = Creep Actors
|
||||||
|
.description = Hostile forces spawn on the battlefield
|
||||||
@@ -185,6 +185,7 @@ ChromeLayout:
|
|||||||
|
|
||||||
Translations:
|
Translations:
|
||||||
common|languages/en.ftl
|
common|languages/en.ftl
|
||||||
|
ts|languages/rules/en.ftl
|
||||||
|
|
||||||
Voices:
|
Voices:
|
||||||
ts|audio/voices.yaml
|
ts|audio/voices.yaml
|
||||||
|
|||||||
@@ -107,8 +107,8 @@ Player:
|
|||||||
FogCheckboxDisplayOrder: 3
|
FogCheckboxDisplayOrder: 3
|
||||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||||
ID: factundeploy
|
ID: factundeploy
|
||||||
Label: Redeployable MCVs
|
Label: redeployable-mcvs.label
|
||||||
Description: Allow undeploying Construction Yard
|
Description: redeployable-mcvs.description
|
||||||
Enabled: True
|
Enabled: True
|
||||||
DisplayOrder: 7
|
DisplayOrder: 7
|
||||||
Prerequisites: global-factundeploy
|
Prerequisites: global-factundeploy
|
||||||
@@ -127,19 +127,19 @@ Player:
|
|||||||
ArrowSequence:
|
ArrowSequence:
|
||||||
CircleSequence:
|
CircleSequence:
|
||||||
ProvidesTechPrerequisite@low:
|
ProvidesTechPrerequisite@low:
|
||||||
Name: Low
|
Name: low
|
||||||
Prerequisites: techlevel.low
|
Prerequisites: techlevel.low
|
||||||
Id: low
|
Id: low
|
||||||
ProvidesTechPrerequisite@medium:
|
ProvidesTechPrerequisite@medium:
|
||||||
Name: Medium
|
Name: medium
|
||||||
Prerequisites: techlevel.low, techlevel.medium
|
Prerequisites: techlevel.low, techlevel.medium
|
||||||
Id: medium
|
Id: medium
|
||||||
ProvidesTechPrerequisite@nosuper:
|
ProvidesTechPrerequisite@nosuper:
|
||||||
Name: No Powers
|
Name: no-powers
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
||||||
Id: nopowers
|
Id: nopowers
|
||||||
ProvidesTechPrerequisite@all:
|
ProvidesTechPrerequisite@all:
|
||||||
Name: Unrestricted
|
Name: unrestricted
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||||
Id: unrestricted
|
Id: unrestricted
|
||||||
ResourceStorageWarning:
|
ResourceStorageWarning:
|
||||||
|
|||||||
@@ -307,12 +307,12 @@ World:
|
|||||||
CreateMapPlayers:
|
CreateMapPlayers:
|
||||||
StartingUnits@MCV:
|
StartingUnits@MCV:
|
||||||
Class: none
|
Class: none
|
||||||
ClassName: MCV Only
|
ClassName: mcv-only
|
||||||
Factions: gdi, nod
|
Factions: gdi, nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
StartingUnits@light.gdi:
|
StartingUnits@light.gdi:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light
|
ClassName: light
|
||||||
Factions: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,smech
|
SupportActors: e1,e1,e1,smech
|
||||||
@@ -320,7 +320,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@light.nod:
|
StartingUnits@light.nod:
|
||||||
Class: light
|
Class: light
|
||||||
ClassName: Light
|
ClassName: light
|
||||||
Factions: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e1,bggy
|
SupportActors: e1,e1,e1,bggy
|
||||||
@@ -328,7 +328,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@med.gdi:
|
StartingUnits@med.gdi:
|
||||||
Class: medium
|
Class: medium
|
||||||
ClassName: Medium
|
ClassName: medium
|
||||||
Factions: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e2,e2,jumpjet,smech
|
SupportActors: e1,e1,e2,e2,jumpjet,smech
|
||||||
@@ -336,7 +336,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@med.nod:
|
StartingUnits@med.nod:
|
||||||
Class: medium
|
Class: medium
|
||||||
ClassName: Medium
|
ClassName: medium
|
||||||
Factions: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e3,e3,cyborg,bggy
|
SupportActors: e1,e1,e3,e3,cyborg,bggy
|
||||||
@@ -344,7 +344,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavy.gdi:
|
StartingUnits@heavy.gdi:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy
|
ClassName: heavy
|
||||||
Factions: gdi
|
Factions: gdi
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e2,e2,jumpjet,smech,smech,mmch
|
SupportActors: e1,e1,e2,e2,jumpjet,smech,smech,mmch
|
||||||
@@ -352,7 +352,7 @@ World:
|
|||||||
OuterSupportRadius: 5
|
OuterSupportRadius: 5
|
||||||
StartingUnits@heavy.nod:
|
StartingUnits@heavy.nod:
|
||||||
Class: heavy
|
Class: heavy
|
||||||
ClassName: Heavy
|
ClassName: heavy
|
||||||
Factions: nod
|
Factions: nod
|
||||||
BaseActor: mcv
|
BaseActor: mcv
|
||||||
SupportActors: e1,e1,e3,e3,cyborg,bggy,bike,ttnk
|
SupportActors: e1,e1,e3,e3,cyborg,bggy,bike,ttnk
|
||||||
|
|||||||
Reference in New Issue
Block a user