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.")]
|
||||
public class ShroudInfo : TraitInfo, ILobbyOptions
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool FogCheckboxEnabled = true;
|
||||
@@ -36,11 +38,13 @@ namespace OpenRA.Traits
|
||||
[Desc("Display order for the fog checkbox in the lobby.")]
|
||||
public readonly int FogCheckboxDisplayOrder = 0;
|
||||
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool ExploredMapCheckboxEnabled = false;
|
||||
@@ -56,9 +60,11 @@ namespace OpenRA.Traits
|
||||
|
||||
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);
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -540,8 +540,8 @@ namespace OpenRA.Traits
|
||||
IReadOnlyDictionary<string, string> values, string defaultValue, bool locked)
|
||||
{
|
||||
Id = id;
|
||||
Name = name;
|
||||
Description = description;
|
||||
Name = Game.ModData.Translation.GetString(name);
|
||||
Description = Game.ModData.Translation.GetString(description);
|
||||
IsVisible = visible;
|
||||
DisplayOrder = displayorder;
|
||||
Values = values;
|
||||
|
||||
@@ -20,11 +20,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Desc("Attach this to the player actor.")]
|
||||
public class DeveloperModeInfo : TraitInfo, ILobbyOptions
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool CheckboxEnabled = false;
|
||||
|
||||
@@ -22,10 +22,12 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Desc("Internal id for this checkbox.")]
|
||||
public readonly string ID = null;
|
||||
|
||||
[TranslationReference]
|
||||
[FieldLoader.Require]
|
||||
[Desc("Display name for this checkbox.")]
|
||||
public readonly string Label = null;
|
||||
|
||||
[TranslationReference]
|
||||
[Desc("Description name for this checkbox.")]
|
||||
public readonly string Description = null;
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Desc("Internal id for this tech level.")]
|
||||
public readonly string Id;
|
||||
|
||||
[TranslationReference]
|
||||
[Desc("Name shown in the lobby options.")]
|
||||
public readonly string Name;
|
||||
|
||||
|
||||
@@ -21,11 +21,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[TraitLocation(SystemActors.World)]
|
||||
public class CrateSpawnerInfo : TraitInfo, ILobbyOptions
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool CheckboxEnabled = true;
|
||||
|
||||
@@ -18,11 +18,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Desc("Controls the build radius checkboxes in the lobby options.")]
|
||||
public class MapBuildRadiusInfo : TraitInfo, ILobbyOptions
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
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.")]
|
||||
public readonly int AllyBuildRadiusCheckboxDisplayOrder = 0;
|
||||
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool BuildRadiusCheckboxEnabled = true;
|
||||
|
||||
@@ -18,11 +18,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[TraitLocation(SystemActors.World)]
|
||||
public class MapCreepsInfo : TraitInfo, ILobbyOptions
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
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.")]
|
||||
public class MapOptionsInfo : TraitInfo, ILobbyOptions, IRulesetLoaded
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
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.")]
|
||||
public readonly int ShortGameCheckboxDisplayOrder = 0;
|
||||
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
public readonly string TechLevelDropdownDescription = "The units and abilities that players can use";
|
||||
public readonly string TechLevelDropdownDescription = "tech-level.description";
|
||||
|
||||
[Desc("Default tech level.")]
|
||||
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.")]
|
||||
public readonly int TechLevelDropdownDisplayOrder = 0;
|
||||
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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).")]
|
||||
public readonly string GameSpeed = null;
|
||||
@@ -79,7 +85,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
ShortGameCheckboxVisible, ShortGameCheckboxDisplayOrder, ShortGameCheckboxEnabled, ShortGameCheckboxLocked);
|
||||
|
||||
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)
|
||||
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);
|
||||
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool SeparateTeamSpawnsCheckboxEnabled = true;
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Desc("Internal class ID.")]
|
||||
public readonly string Class = "none";
|
||||
|
||||
[TranslationReference]
|
||||
[Desc("Exposed via the UI to the player.")]
|
||||
public readonly string ClassName = "Unlabeled";
|
||||
|
||||
|
||||
@@ -24,11 +24,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public readonly string StartingUnitsClass = "none";
|
||||
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
public readonly bool DropdownLocked = false;
|
||||
@@ -45,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
// Duplicate classes are defined for different race variants
|
||||
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)
|
||||
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.")]
|
||||
public class TimeLimitManagerInfo : TraitInfo, ILobbyOptions, IRulesetLoaded
|
||||
{
|
||||
[TranslationReference]
|
||||
[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.")]
|
||||
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.")]
|
||||
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");
|
||||
}
|
||||
|
||||
[TranslationReference]
|
||||
const string NoTimeLimit = "no-time-limit";
|
||||
|
||||
[TranslationReference("minutes")]
|
||||
const string TimeLimitOption = "time-limit-options";
|
||||
|
||||
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)
|
||||
return "No limit";
|
||||
if (m == 0)
|
||||
return Game.ModData.Translation.GetString(NoTimeLimit);
|
||||
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,
|
||||
@@ -93,6 +101,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public class TimeLimitManager : INotifyTimeLimit, ITick, IWorldLoaded
|
||||
{
|
||||
[TranslationReference]
|
||||
const string TimeLimitExpired = "time-limit-expired";
|
||||
|
||||
readonly TimeLimitManagerInfo info;
|
||||
readonly int ticksPerSecond;
|
||||
LabelWidget countdownLabel;
|
||||
@@ -170,7 +181,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
countdownLabel.GetText = () => null;
|
||||
|
||||
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:
|
||||
common|languages/en.ftl
|
||||
cnc|languages/rules/en.ftl
|
||||
|
||||
Voices:
|
||||
cnc|audio/voices.yaml
|
||||
|
||||
@@ -42,15 +42,15 @@ Player:
|
||||
FogCheckboxDisplayOrder: 3
|
||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||
ID: factundeploy
|
||||
Label: Redeployable MCVs
|
||||
Description: Allow undeploying Construction Yard
|
||||
Label: redeployable-mcvs.label
|
||||
Description: redeployable-mcvs.description
|
||||
Enabled: True
|
||||
DisplayOrder: 7
|
||||
Prerequisites: global-factundeploy
|
||||
LobbyPrerequisiteCheckbox@GLOBALC17STEALTH:
|
||||
ID: C17-Stealth
|
||||
Label: Stealth Deliveries
|
||||
Description: Nod's delivery plane is cloaked
|
||||
Label: stealth-deliveries.label
|
||||
Description: stealth-deliveries.description
|
||||
Enabled: False
|
||||
DisplayOrder: 8
|
||||
Prerequisites: global-C17-stealth
|
||||
@@ -58,19 +58,19 @@ Player:
|
||||
FrozenActorLayer:
|
||||
PlaceBeacon:
|
||||
ProvidesTechPrerequisite@low:
|
||||
Name: Low
|
||||
Name: low
|
||||
Prerequisites: techlevel.low
|
||||
Id: low
|
||||
ProvidesTechPrerequisite@medium:
|
||||
Name: Medium
|
||||
Name: medium
|
||||
Prerequisites: techlevel.low, techlevel.medium
|
||||
Id: medium
|
||||
ProvidesTechPrerequisite@nosuper:
|
||||
Name: No Powers
|
||||
Name: no-powers
|
||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
||||
Id: nopowers
|
||||
ProvidesTechPrerequisite@all:
|
||||
Name: Unrestricted
|
||||
Name: unrestricted
|
||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||
Id: unrestricted
|
||||
GrantConditionOnPrerequisiteManager:
|
||||
|
||||
@@ -208,42 +208,42 @@ World:
|
||||
CreateMapPlayers:
|
||||
StartingUnits@mcvonly:
|
||||
Class: none
|
||||
ClassName: MCV Only
|
||||
ClassName: mcv-only
|
||||
Factions: gdi, nod
|
||||
BaseActor: mcv
|
||||
StartingUnits@defaultgdia:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: gdi
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e1,e1,e3,e3,jeep
|
||||
StartingUnits@defaultnoda:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: nod
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e1,e1,e1,e3,e3,bggy
|
||||
StartingUnits@heavynoda:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: nod
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e1,e3,e3,ltnk,ltnk,ftnk
|
||||
StartingUnits@heavynodb:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: nod
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e1,e1,e3,e3,e3,ftnk,ftnk
|
||||
StartingUnits@heavygdia:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: gdi
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e1,e3,e3,jeep,mtnk,mtnk
|
||||
StartingUnits@heavygdib:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: gdi
|
||||
BaseActor: mcv
|
||||
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
|
||||
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:
|
||||
common|languages/en.ftl
|
||||
d2k|languages/rules/en.ftl
|
||||
|
||||
Weapons:
|
||||
d2k|weapons/debris.yaml
|
||||
|
||||
@@ -126,8 +126,8 @@ Player:
|
||||
FogCheckboxDisplayOrder: 3
|
||||
LobbyPrerequisiteCheckbox@AUTOCONCRETE:
|
||||
ID: autoconcrete
|
||||
Label: Automatic Concrete
|
||||
Description: Concrete foundations are automatically created beneath buildings
|
||||
Label: automatic-concrete.label
|
||||
Description: automatic-concrete.description
|
||||
Enabled: False
|
||||
DisplayOrder: 7
|
||||
Prerequisites: global-auto-concrete
|
||||
@@ -158,19 +158,19 @@ Player:
|
||||
Prerequisite: player.smuggler
|
||||
Factions: smuggler
|
||||
ProvidesTechPrerequisite@low:
|
||||
Name: Low
|
||||
Name: low
|
||||
Prerequisites: techlevel.low
|
||||
Id: low
|
||||
ProvidesTechPrerequisite@medium:
|
||||
Name: Medium
|
||||
Name: medium
|
||||
Prerequisites: techlevel.low, techlevel.medium
|
||||
Id: medium
|
||||
ProvidesTechPrerequisite@nosuper:
|
||||
Name: No Powers
|
||||
Name: no-powers
|
||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
||||
Id: nopowers
|
||||
ProvidesTechPrerequisite@all:
|
||||
Name: Unrestricted
|
||||
Name: unrestricted
|
||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||
Id: unrestricted
|
||||
EnemyWatcher:
|
||||
|
||||
@@ -157,8 +157,8 @@ World:
|
||||
Type: SandCrater
|
||||
Sequence: sandcraters
|
||||
MapCreeps:
|
||||
CheckboxLabel: Worms
|
||||
CheckboxDescription: Worms roam the map and devour unprepared forces
|
||||
CheckboxLabel: map-worms.label
|
||||
CheckboxDescription: map-worms.description
|
||||
CheckboxDisplayOrder: 5
|
||||
SpawnMapActors:
|
||||
MapBuildRadius:
|
||||
@@ -173,12 +173,12 @@ World:
|
||||
SeparateTeamSpawnsCheckboxDisplayOrder: 6
|
||||
StartingUnits@mcv:
|
||||
Class: none
|
||||
ClassName: MCV Only
|
||||
ClassName: mcv-only
|
||||
BaseActor: mcv
|
||||
Factions: atreides, ordos, harkonnen
|
||||
StartingUnits@lightatreides:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: atreides
|
||||
BaseActor: mcv
|
||||
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, quad
|
||||
@@ -186,7 +186,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@lightharkonnen:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: harkonnen
|
||||
BaseActor: mcv
|
||||
SupportActors: light_inf, light_inf, light_inf, trooper, trooper, trike, quad
|
||||
@@ -194,7 +194,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@lightordos:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: ordos
|
||||
BaseActor: mcv
|
||||
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, raider, quad
|
||||
@@ -202,7 +202,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavyatreides:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: atreides
|
||||
BaseActor: mcv
|
||||
SupportActors: light_inf, light_inf, light_inf, trooper, grenadier, trike, combat_tank_a, missile_tank
|
||||
@@ -210,7 +210,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavyharkonnen:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: harkonnen
|
||||
BaseActor: mcv
|
||||
SupportActors: light_inf, light_inf, light_inf, trooper, engineer, quad, combat_tank_h, siege_tank
|
||||
@@ -218,7 +218,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavyordos:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: ordos
|
||||
BaseActor: mcv
|
||||
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:
|
||||
common|languages/en.ftl
|
||||
ra|languages/rules/en.ftl
|
||||
|
||||
Weapons:
|
||||
ra|weapons/explosions.yaml
|
||||
|
||||
@@ -125,22 +125,22 @@ Player:
|
||||
FogCheckboxDisplayOrder: 3
|
||||
LobbyPrerequisiteCheckbox@GLOBALBOUNTY:
|
||||
ID: bounty
|
||||
Label: Kill Bounties
|
||||
Description: Players receive cash bonuses when killing enemy units
|
||||
Label: kill-bounties.label
|
||||
Description: kill-bounties.description
|
||||
Enabled: False
|
||||
DisplayOrder: 8
|
||||
Prerequisites: global-bounty
|
||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||
ID: factundeploy
|
||||
Label: Redeployable MCVs
|
||||
Description: Allow undeploying Construction Yard
|
||||
Label: redeployable-mcvs.label
|
||||
Description: redeployable-mcvs.description
|
||||
Enabled: True
|
||||
DisplayOrder: 7
|
||||
Prerequisites: global-factundeploy
|
||||
LobbyPrerequisiteCheckbox@REUSABLEENGINEERS:
|
||||
ID: reusable-engineers
|
||||
Label: Reusable Engineers
|
||||
Description: Engineers remain on the battlefield after capturing a structure
|
||||
Label: reusable-engineers.label
|
||||
Description: reusable-engineers.description
|
||||
Enabled: False
|
||||
DisplayOrder: 9
|
||||
Prerequisites: global-reusable-engineers
|
||||
@@ -151,23 +151,23 @@ Player:
|
||||
PlayerStatistics:
|
||||
PlaceBeacon:
|
||||
ProvidesTechPrerequisite@infonly:
|
||||
Name: Infantry Only
|
||||
Name: infantry-only
|
||||
Prerequisites: techlevel.infonly
|
||||
Id: infantryonly
|
||||
ProvidesTechPrerequisite@low:
|
||||
Name: Low
|
||||
Name: low
|
||||
Prerequisites: techlevel.infonly, techlevel.low
|
||||
Id: low
|
||||
ProvidesTechPrerequisite@medium:
|
||||
Name: Medium
|
||||
Name: medium
|
||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium
|
||||
Id: medium
|
||||
ProvidesTechPrerequisite@high:
|
||||
Name: No Superweapons
|
||||
Name: no-superweapons
|
||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high
|
||||
Id: nosuperweapons
|
||||
ProvidesTechPrerequisite@unrestricted:
|
||||
Name: Unrestricted
|
||||
Name: unrestricted
|
||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.high, techlevel.unrestricted
|
||||
Id: unrestricted
|
||||
GrantConditionOnPrerequisiteManager:
|
||||
|
||||
@@ -228,12 +228,12 @@ World:
|
||||
CreateMapPlayers:
|
||||
StartingUnits@mcvonly:
|
||||
Class: none
|
||||
ClassName: MCV Only
|
||||
ClassName: mcv-only
|
||||
Factions: allies, england, france, germany, soviet, russia, ukraine
|
||||
BaseActor: mcv
|
||||
StartingUnits@lightallies:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: allies, england, france, germany
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk
|
||||
@@ -241,7 +241,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@lightsoviet:
|
||||
Class: light
|
||||
ClassName: Light Support
|
||||
ClassName: light-support
|
||||
Factions: soviet, russia, ukraine
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e3,e3,apc,ftrk
|
||||
@@ -249,7 +249,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavyallies:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: allies, england, france, germany
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,e3,e3,jeep,1tnk,2tnk,2tnk,2tnk
|
||||
@@ -257,7 +257,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavysoviet:
|
||||
Class: heavy
|
||||
ClassName: Heavy Support
|
||||
ClassName: heavy-support
|
||||
Factions: soviet, russia, ukraine
|
||||
BaseActor: mcv
|
||||
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:
|
||||
common|languages/en.ftl
|
||||
ts|languages/rules/en.ftl
|
||||
|
||||
Voices:
|
||||
ts|audio/voices.yaml
|
||||
|
||||
@@ -107,8 +107,8 @@ Player:
|
||||
FogCheckboxDisplayOrder: 3
|
||||
LobbyPrerequisiteCheckbox@GLOBALFACTUNDEPLOY:
|
||||
ID: factundeploy
|
||||
Label: Redeployable MCVs
|
||||
Description: Allow undeploying Construction Yard
|
||||
Label: redeployable-mcvs.label
|
||||
Description: redeployable-mcvs.description
|
||||
Enabled: True
|
||||
DisplayOrder: 7
|
||||
Prerequisites: global-factundeploy
|
||||
@@ -127,19 +127,19 @@ Player:
|
||||
ArrowSequence:
|
||||
CircleSequence:
|
||||
ProvidesTechPrerequisite@low:
|
||||
Name: Low
|
||||
Name: low
|
||||
Prerequisites: techlevel.low
|
||||
Id: low
|
||||
ProvidesTechPrerequisite@medium:
|
||||
Name: Medium
|
||||
Name: medium
|
||||
Prerequisites: techlevel.low, techlevel.medium
|
||||
Id: medium
|
||||
ProvidesTechPrerequisite@nosuper:
|
||||
Name: No Powers
|
||||
Name: no-powers
|
||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high
|
||||
Id: nopowers
|
||||
ProvidesTechPrerequisite@all:
|
||||
Name: Unrestricted
|
||||
Name: unrestricted
|
||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||
Id: unrestricted
|
||||
ResourceStorageWarning:
|
||||
|
||||
@@ -307,12 +307,12 @@ World:
|
||||
CreateMapPlayers:
|
||||
StartingUnits@MCV:
|
||||
Class: none
|
||||
ClassName: MCV Only
|
||||
ClassName: mcv-only
|
||||
Factions: gdi, nod
|
||||
BaseActor: mcv
|
||||
StartingUnits@light.gdi:
|
||||
Class: light
|
||||
ClassName: Light
|
||||
ClassName: light
|
||||
Factions: gdi
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,smech
|
||||
@@ -320,7 +320,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@light.nod:
|
||||
Class: light
|
||||
ClassName: Light
|
||||
ClassName: light
|
||||
Factions: nod
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e1,bggy
|
||||
@@ -328,7 +328,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@med.gdi:
|
||||
Class: medium
|
||||
ClassName: Medium
|
||||
ClassName: medium
|
||||
Factions: gdi
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e2,e2,jumpjet,smech
|
||||
@@ -336,7 +336,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@med.nod:
|
||||
Class: medium
|
||||
ClassName: Medium
|
||||
ClassName: medium
|
||||
Factions: nod
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e3,e3,cyborg,bggy
|
||||
@@ -344,7 +344,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavy.gdi:
|
||||
Class: heavy
|
||||
ClassName: Heavy
|
||||
ClassName: heavy
|
||||
Factions: gdi
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e2,e2,jumpjet,smech,smech,mmch
|
||||
@@ -352,7 +352,7 @@ World:
|
||||
OuterSupportRadius: 5
|
||||
StartingUnits@heavy.nod:
|
||||
Class: heavy
|
||||
ClassName: Heavy
|
||||
ClassName: heavy
|
||||
Factions: nod
|
||||
BaseActor: mcv
|
||||
SupportActors: e1,e1,e3,e3,cyborg,bggy,bike,ttnk
|
||||
|
||||
Reference in New Issue
Block a user