From ebbb5253c95602a0e7554fef34326a01a3fb491b Mon Sep 17 00:00:00 2001 From: Evgeniy Sergeev Date: Sat, 13 Jun 2026 14:18:36 +0300 Subject: [PATCH] Added ftl strings --- mods/d2/chrome/assetbrowser.yaml | 14 ++--- mods/d2/chrome/ingame-observer.yaml | 84 ++++++++++++++-------------- mods/d2/chrome/ingame-player.yaml | 22 ++++---- mods/d2/chrome/missionbrowser.yaml | 18 +++--- mods/d2/fluent/mod.ftl | 55 ++++++++++++++++++ mods/d2/hotkeys.yaml | 16 +++--- mods/d2/mod.yaml | 17 ++++-- mods/d2/rules/ai.yaml | 6 +- mods/d2/rules/aircrafthusk.yaml | 2 +- mods/d2/rules/arrakis.yaml | 2 +- mods/d2/rules/barracks.yaml | 8 +-- mods/d2/rules/building.yaml | 2 +- mods/d2/rules/carryall.yaml | 6 +- mods/d2/rules/combat_tank.yaml | 4 +- mods/d2/rules/concrete.yaml | 6 +- mods/d2/rules/construction_yard.yaml | 8 +-- mods/d2/rules/devastator.yaml | 4 +- mods/d2/rules/deviator.yaml | 4 +- mods/d2/rules/fremen.yaml | 6 +- mods/d2/rules/frigate.yaml | 4 +- mods/d2/rules/gun_turret.yaml | 4 +- mods/d2/rules/harvester.yaml | 4 +- mods/d2/rules/heavy_factory.yaml | 8 +-- mods/d2/rules/high_tech_factory.yaml | 8 +-- mods/d2/rules/husk.yaml | 2 +- mods/d2/rules/husks.yaml | 4 +- mods/d2/rules/infantry.yaml | 2 +- mods/d2/rules/light_factory.yaml | 8 +-- mods/d2/rules/light_inf.yaml | 4 +- mods/d2/rules/light_squad.yaml | 4 +- mods/d2/rules/mcv.yaml | 4 +- mods/d2/rules/misc.yaml | 8 +-- mods/d2/rules/missile_tank.yaml | 4 +- mods/d2/rules/ornithopter.yaml | 6 +- mods/d2/rules/outpost.yaml | 4 +- mods/d2/rules/palace.yaml | 16 +++--- mods/d2/rules/plane.yaml | 2 +- mods/d2/rules/player.yaml | 8 +-- mods/d2/rules/quad.yaml | 4 +- mods/d2/rules/raider.yaml | 4 +- mods/d2/rules/refinery.yaml | 4 +- mods/d2/rules/repair_pad.yaml | 4 +- mods/d2/rules/research_centre.yaml | 4 +- mods/d2/rules/rocket_turret.yaml | 4 +- mods/d2/rules/saboteur.yaml | 4 +- mods/d2/rules/sandworm.yaml | 4 +- mods/d2/rules/sardaukar.yaml | 4 +- mods/d2/rules/siege_tank.yaml | 4 +- mods/d2/rules/silo.yaml | 4 +- mods/d2/rules/sonic_tank.yaml | 4 +- mods/d2/rules/spicebloom.yaml | 4 +- mods/d2/rules/starport.yaml | 4 +- mods/d2/rules/trike.yaml | 4 +- mods/d2/rules/trooper.yaml | 4 +- mods/d2/rules/trooper_squad.yaml | 4 +- mods/d2/rules/vechicle.yaml | 2 +- mods/d2/rules/wall.yaml | 6 +- mods/d2/rules/wind_trap.yaml | 4 +- mods/d2/rules/wor.yaml | 8 +-- mods/d2/rules/world.yaml | 50 ++++++++--------- 60 files changed, 293 insertions(+), 233 deletions(-) diff --git a/mods/d2/chrome/assetbrowser.yaml b/mods/d2/chrome/assetbrowser.yaml index 6a901e1..33abac0 100644 --- a/mods/d2/chrome/assetbrowser.yaml +++ b/mods/d2/chrome/assetbrowser.yaml @@ -13,7 +13,7 @@ Background@ASSETBROWSER_PANEL: Height: 25 Font: Bold Align: Center - Text: Asset Browser + Text: label-assetbrowser-title Label@SOURCE_SELECTOR_DESC: X: 20 Y: 35 @@ -21,14 +21,14 @@ Background@ASSETBROWSER_PANEL: Height: 25 Font: TinyBold Align: Center - Text: Select asset source + Text: label-assetbrowser-source-desc DropDownButton@SOURCE_SELECTOR: X: 20 Y: 60 Width: 160 Height: 25 Font: Bold - Text: Folders + Text: dropdownbutton-assetbrowser-source-selector ScrollPanel@ASSET_LIST: X: 20 Y: 90 @@ -54,7 +54,7 @@ Background@ASSETBROWSER_PANEL: Height: 25 Font: TinyBold Align: Center - Text: Filter by name + Text: label-assetbrowser-filename-desc TextField@FILENAME_INPUT: X: 20 Y: 395 @@ -67,7 +67,7 @@ Background@ASSETBROWSER_PANEL: Height: 25 Font: Bold Align: Right - Text: Palette: + Text: label-assetbrowser-palette-desc DropDownButton@PALETTE_SELECTOR: X: PARENT_WIDTH - WIDTH - 110 Y: 60 @@ -105,7 +105,7 @@ Background@ASSETBROWSER_PANEL: Height: 330 Align: Center Visible: false - Text: Error displaying file. See assetbrowser.log for details. + Text: label-assetbrowser-error Container@FRAME_SELECTOR: X: 190 Y: 425 @@ -200,4 +200,4 @@ Background@ASSETBROWSER_PANEL: Width: 160 Height: 25 Font: Bold - Text: Close + Text: button-close diff --git a/mods/d2/chrome/ingame-observer.yaml b/mods/d2/chrome/ingame-observer.yaml index eb2fd08..021a7d0 100644 --- a/mods/d2/chrome/ingame-observer.yaml +++ b/mods/d2/chrome/ingame-observer.yaml @@ -8,7 +8,7 @@ Container@OBSERVER_WIDGETS: Y: 5 Width: 160 Height: 25 - Text: Options (Esc) + Text: button-observer-widget-options Font: Bold Key: escape DisableWorldSounds: true @@ -96,7 +96,7 @@ Container@OBSERVER_WIDGETS: Width: 26 Height: 26 Key: Pause - TooltipText: Pause + TooltipText: button-replay-player-pause-tooltip TooltipContainer: TOOLTIP_CONTAINER IgnoreChildMouseOver: true Children: @@ -112,7 +112,7 @@ Container@OBSERVER_WIDGETS: Height: 26 Key: Pause IgnoreChildMouseOver: true - TooltipText: Play + TooltipText: button-missionbrowser-panel-play TooltipContainer: TOOLTIP_CONTAINER Children: Image@IMAGE_PLAY: @@ -126,9 +126,9 @@ Container@OBSERVER_WIDGETS: Width: 36 Height: 20 Key: ReplaySpeedSlow - TooltipText: Slow speed + TooltipText: button-replay-player-slow.tooltip TooltipContainer: TOOLTIP_CONTAINER - Text: 50% + Text: button-replay-player-slow.label Font: TinyBold Button@BUTTON_REGULAR: X: 55 + 45 @@ -136,9 +136,9 @@ Container@OBSERVER_WIDGETS: Width: 38 Height: 20 Key: ReplaySpeedRegular - TooltipText: Regular speed + TooltipText: button-replay-player-regular.tooltip TooltipContainer: TOOLTIP_CONTAINER - Text: 100% + Text: button-replay-player-regular.label Font: TinyBold Button@BUTTON_FAST: X: 55 + 45 * 2 @@ -146,9 +146,9 @@ Container@OBSERVER_WIDGETS: Width: 38 Height: 20 Key: ReplaySpeedFast - TooltipText: Fast speed + TooltipText: button-replay-player-fast.tooltip TooltipContainer: TOOLTIP_CONTAINER - Text: 200% + Text: button-replay-player-fast.label Font: TinyBold Button@BUTTON_MAXIMUM: X: 55 + 45 * 3 @@ -156,9 +156,9 @@ Container@OBSERVER_WIDGETS: Width: 38 Height: 20 Key: ReplaySpeedMax - TooltipText: Maximum speed + TooltipText: button-replay-player-maximum.tooltip TooltipContainer: TOOLTIP_CONTAINER - Text: MAX + Text: button-replay-player-maximum.label Font: TinyBold Container@INGAME_OBSERVERSTATS_BG: Logic: ObserverStatsLogic @@ -215,7 +215,7 @@ Container@OBSERVER_WIDGETS: Width: 120 Height: PARENT_HEIGHT Font: Bold - Text: Player + Text: label-basic-stats-player-header Align: Left Shadow: True Label@CASH_HEADER: @@ -224,7 +224,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Cash + Text: label-basic-stats-cash-header Align: Right Shadow: True Label@POWER_HEADER: @@ -233,7 +233,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Power + Text: label-basic-stats-power-header Align: Center Shadow: True Label@KILLS_HEADER: @@ -242,7 +242,7 @@ Container@OBSERVER_WIDGETS: Width: 40 Height: PARENT_HEIGHT Font: Bold - Text: Kills + Text: label-basic-stats-kills-header Align: Right Shadow: True Label@DEATHS_HEADER: @@ -251,7 +251,7 @@ Container@OBSERVER_WIDGETS: Width: 60 Height: PARENT_HEIGHT Font: Bold - Text: Deaths + Text: label-basic-stats-deaths-header Align: Right Shadow: True Label@ASSETS_DESTROYED_HEADER: @@ -260,7 +260,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Destroyed + Text: label-basic-stats-assets-destroyed-header Align: Right Shadow: True Label@ASSETS_LOST_HEADER: @@ -269,7 +269,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Lost + Text: label-basic-stats-assets-lost-header Align: Right Shadow: True Label@EXPERIENCE_HEADER: @@ -278,7 +278,7 @@ Container@OBSERVER_WIDGETS: Width: 60 Height: PARENT_HEIGHT Font: Bold - Text: Score + Text: label-basic-stats-experience-header Align: Right Shadow: True Label@ACTIONS_MIN_HEADER: @@ -287,7 +287,7 @@ Container@OBSERVER_WIDGETS: Width: 60 Height: PARENT_HEIGHT Font: Bold - Text: APM + Text: label-basic-stats-actions-min-header Align: Right Shadow: True Container@ECONOMY_STATS_HEADERS: @@ -314,14 +314,14 @@ Container@OBSERVER_WIDGETS: Width: 120 Height: PARENT_HEIGHT Font: Bold - Text: Player + Text: label-basic-stats-player-header Shadow: True Label@CASH_HEADER: X: 155 Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Cash + Text: label-basic-stats-cash-header Align: Right Shadow: True Label@INCOME_HEADER: @@ -329,7 +329,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Income + Text: label-economy-stats-income-header Align: Right Shadow: True Label@ASSETS_HEADER: @@ -337,7 +337,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Assets + Text: label-economy-stats-assets-header Align: Right Shadow: True Label@EARNED_HEADER: @@ -345,7 +345,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Earned + Text: label-economy-stats-earned-header Align: Right Shadow: True Label@SPENT_HEADER: @@ -353,7 +353,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Spent + Text: label-economy-stats-spent-header Align: Right Shadow: True Label@HARVESTERS_HEADER: @@ -361,7 +361,7 @@ Container@OBSERVER_WIDGETS: Width: 80 Height: PARENT_HEIGHT Font: Bold - Text: Harvesters + Text: label-economy-stats-harvesters-header Align: Right Shadow: True Container@PRODUCTION_STATS_HEADERS: @@ -389,7 +389,7 @@ Container@OBSERVER_WIDGETS: Width: 120 Height: PARENT_HEIGHT Font: Bold - Text: Player + Text: label-basic-stats-player-header Align: Left Shadow: True Label@PRODUCTION_HEADER: @@ -398,7 +398,7 @@ Container@OBSERVER_WIDGETS: Width: 100 Height: PARENT_HEIGHT Font: Bold - Text: Production + Text: label-production-stats-header Shadow: True Container@SUPPORT_POWERS_HEADERS: X: 0 @@ -425,7 +425,7 @@ Container@OBSERVER_WIDGETS: Width: 120 Height: PARENT_HEIGHT Font: Bold - Text: Player + Text: label-basic-stats-player-header Align: Left Shadow: True Label@SUPPORT_POWERS_HEADER: @@ -434,7 +434,7 @@ Container@OBSERVER_WIDGETS: Width: 100 Height: PARENT_HEIGHT Font: Bold - Text: Support Powers + Text: label-support-powers-header Shadow: True Container@ARMY_HEADERS: X: 0 @@ -461,7 +461,7 @@ Container@OBSERVER_WIDGETS: Width: 120 Height: PARENT_HEIGHT Font: Bold - Text: Player + Text: label-basic-stats-player-header Align: Left Shadow: True Label@ARMY_HEADER: @@ -470,7 +470,7 @@ Container@OBSERVER_WIDGETS: Width: 100 Height: PARENT_HEIGHT Font: Bold - Text: Army + Text: label-army-header Shadow: True Container@COMBAT_STATS_HEADERS: X: 0 @@ -497,7 +497,7 @@ Container@OBSERVER_WIDGETS: Width: 120 Height: PARENT_HEIGHT Font: Bold - Text: Player + Text: label-basic-stats-player-header Align: Left Shadow: True Label@ASSETS_DESTROYED_HEADER: @@ -506,7 +506,7 @@ Container@OBSERVER_WIDGETS: Width: 75 Height: PARENT_HEIGHT Font: Bold - Text: Destroyed + Text: label-basic-stats-assets-destroyed-header Align: Right Shadow: True Label@ASSETS_LOST_HEADER: @@ -515,7 +515,7 @@ Container@OBSERVER_WIDGETS: Width: 75 Height: PARENT_HEIGHT Font: Bold - Text: Lost + Text: label-basic-stats-assets-lost-header Align: Right Shadow: True Label@UNITS_KILLED_HEADER: @@ -524,7 +524,7 @@ Container@OBSERVER_WIDGETS: Width: 75 Height: PARENT_HEIGHT Font: Bold - Text: U. Killed + Text: label-combat-stats-units-killed-header Align: Right Shadow: True Label@UNITS_DEAD_HEADER: @@ -533,7 +533,7 @@ Container@OBSERVER_WIDGETS: Width: 75 Height: PARENT_HEIGHT Font: Bold - Text: U. Lost + Text: label-combat-stats-units-dead-header Align: Right Shadow: True Label@BUILDINGS_KILLED_HEADER: @@ -542,7 +542,7 @@ Container@OBSERVER_WIDGETS: Width: 75 Height: PARENT_HEIGHT Font: Bold - Text: B. Killed + Text: label-combat-stats-buildings-killed-header Align: Right Shadow: True Label@BUILDINGS_DEAD_HEADER: @@ -551,7 +551,7 @@ Container@OBSERVER_WIDGETS: Width: 75 Height: PARENT_HEIGHT Font: Bold - Text: B. Lost + Text: label-combat-stats-buildings-dead-header Align: Right Shadow: True Label@ARMY_VALUE_HEADER: @@ -560,7 +560,7 @@ Container@OBSERVER_WIDGETS: Width: 90 Height: PARENT_HEIGHT Font: Bold - Text: Army Value + Text: label-combat-stats-army-value-header Align: Right Shadow: True Label@VISION_HEADER: @@ -569,7 +569,7 @@ Container@OBSERVER_WIDGETS: Width: 60 Height: PARENT_HEIGHT Font: Bold - Text: Vision + Text: label-combat-stats-vision-header Align: Right Shadow: True ScrollPanel@PLAYER_STATS_PANEL: diff --git a/mods/d2/chrome/ingame-player.yaml b/mods/d2/chrome/ingame-player.yaml index 77eafd3..35c7342 100644 --- a/mods/d2/chrome/ingame-player.yaml +++ b/mods/d2/chrome/ingame-player.yaml @@ -46,7 +46,7 @@ Container@PLAYER_WIDGETS: Width: 78 Height: 15 Background: - TooltipText: Options + TooltipText: button-top-buttons-options-tooltip TooltipContainer: TOOLTIP_CONTAINER DisableWorldSounds: true VisualHeight: 0 @@ -65,7 +65,7 @@ Container@PLAYER_WIDGETS: Width: 50 Height: 22 Font: Bold - Text: {0} + Text: label-resource-value TooltipContainer: TOOLTIP_CONTAINER TooltipTemplate: SIMPLE_TOOLTIP LabelWithTooltip@POWER: @@ -76,7 +76,7 @@ Container@PLAYER_WIDGETS: Height: 22 Align: Right Font: Bold - Text: {0} + Text: label-resource-value TooltipContainer: TOOLTIP_CONTAINER TooltipTemplate: SIMPLE_TOOLTIP Children: @@ -175,28 +175,28 @@ Container@PLAYER_WIDGETS: Width: 208 Height: 34 VisualHeight: 0 - Text: ATTACK + Text: button-d2-command-attack D2Button@MOVE: X: 5 Y: 146 Width: 208 Height: 34 VisualHeight: 0 - Text: MOVE + Text: button-d2-command-move D2Button@RETREAT: X: 5 Y: 182 Width: 208 Height: 34 VisualHeight: 0 - Text: RETREAT + Text: button-d2-command-retreat D2Button@GUARD: X: 5 Y: 218 Width: 208 Height: 34 VisualHeight: 0 - Text: GUARD + Text: button-d2-command-guard Container@HORIZONTAL_LINE_1: X: 0 Y: 257 @@ -334,8 +334,8 @@ Container@PLAYER_WIDGETS: X: 39 Y: 1 TooltipContainer: TOOLTIP_CONTAINER - ReadyText: READY - HoldText: ON HOLD + ReadyText: productionpalette-sidebar-production-palette.ready + HoldText: productionpalette-sidebar-production-palette.hold IconSize: 58, 48 IconMargin: 2, 0 IconSpriteOffset: 0, 0 @@ -354,7 +354,7 @@ Container@PLAYER_WIDGETS: Height: 25 VisualHeight: 0 Background: sidebar-button - TooltipText: Scroll up + TooltipText: button-production-types-scroll-up-tooltip TooltipContainer: TOOLTIP_CONTAINER Children: Image@ICON: @@ -368,7 +368,7 @@ Container@PLAYER_WIDGETS: Height: 25 VisualHeight: 0 Background: sidebar-button - TooltipText: Scroll down + TooltipText: button-production-types-scroll-down-tooltip TooltipContainer: TOOLTIP_CONTAINER Children: Image@ICON: diff --git a/mods/d2/chrome/missionbrowser.yaml b/mods/d2/chrome/missionbrowser.yaml index acf1fe3..9c6c78f 100644 --- a/mods/d2/chrome/missionbrowser.yaml +++ b/mods/d2/chrome/missionbrowser.yaml @@ -9,7 +9,7 @@ Background@MISSIONBROWSER_PANEL: Y: 20 Width: PARENT_WIDTH Height: 25 - Text: Missions + Text: label-missions-title Align: Center Font: Bold ScrollPanel@MISSION_LIST: @@ -44,7 +44,7 @@ Background@MISSIONBROWSER_PANEL: Y: 468 Width: 56 Height: 25 - Text: Difficulty: + Text: dropdown-missionbrowser-difficulty.label Align: Right DropDownButton@DIFFICULTY_DROPDOWNBUTTON: X: 210 - WIDTH @@ -57,7 +57,7 @@ Background@MISSIONBROWSER_PANEL: Y: 508 Width: 120 Height: 25 - Text: Speed: + Text: dropdown-missionbrowser-gamespeed Align: Right DropDownButton@GAMESPEED_DROPDOWNBUTTON: X: 210 - WIDTH @@ -100,42 +100,42 @@ Background@MISSIONBROWSER_PANEL: Y: PARENT_HEIGHT - 45 Width: 130 Height: 25 - Text: Watch Briefing + Text: button-missionbrowser-panel-start-briefing-video Font: Bold Button@STOP_BRIEFING_VIDEO_BUTTON: X: 220 Y: PARENT_HEIGHT - 45 Width: 130 Height: 25 - Text: Stop Briefing + Text: button-missionbrowser-panel-stop-briefing-video Font: Bold Button@START_INFO_VIDEO_BUTTON: X: 360 Y: PARENT_HEIGHT - 45 Width: 130 Height: 25 - Text: Watch Info Video + Text: button-missionbrowser-panel-start-info-video Font: Bold Button@STOP_INFO_VIDEO_BUTTON: X: 360 Y: PARENT_HEIGHT - 45 Width: 130 Height: 25 - Text: Stop Info Video + Text: button-missionbrowser-panel-stop-info-video Font: Bold Button@STARTGAME_BUTTON: X: PARENT_WIDTH - 140 - 130 Y: PARENT_HEIGHT - 45 Width: 120 Height: 25 - Text: Play + Text: button-missionbrowser-panel-play Font: Bold Button@BACK_BUTTON: X: PARENT_WIDTH - 140 Y: PARENT_HEIGHT - 45 Width: 120 Height: 25 - Text: Back + Text: button-back Font: Bold Key: escape Background@MISSION_BIN: diff --git a/mods/d2/fluent/mod.ftl b/mods/d2/fluent/mod.ftl index 8e4df84..8e24eeb 100644 --- a/mods/d2/fluent/mod.ftl +++ b/mods/d2/fluent/mod.ftl @@ -1,3 +1,58 @@ ## Metadata mod-title = d2 mod +mod-windowtitle = OpenRA - d2 mod loadscreen-loading = Loading... + +label-resource-value = { $value } + +button-d2-command-attack = ATTACK +button-d2-command-move = MOVE +button-d2-command-retreat = RETREAT +button-d2-command-guard = GUARD + +label-assetbrowser-title = Asset Browser +label-assetbrowser-source-desc = Select asset source +dropdownbutton-assetbrowser-source-selector = Folders +label-assetbrowser-filename-desc = Filter by name +label-assetbrowser-palette-desc = Palette: +label-assetbrowser-error = Error displaying file. See assetbrowser.log for details. +button-close = Close + +bot-cyril = + .name = Cyril +bot-radnor = + .name = Radnor +bot-ammon = + .name = Ammon + +options-starting-units = + .conyard-only = Con. Yard Only + .medium-support = Medium Support + +actor-frigate-description = Supply spacecraft + +actor-light-squad = + .name = Light Infantry Squad + +actor-combat-tank = + .name = Combat Tank + +actor-ornithopter = + .description = + Light aircraft armed with missiles. + Automatically attacks nearby targets, can't be manually controlled. + +actor-sandworm = + .description = + Attracted by vibrations in the sand. + Will eat units whole and has a large appetite. + +actor-wor = + .name = WOR + .description = + Trains heavy infantry. + Cannot be captured. + +actor-upgrade-wor = + .name = WOR Upgrade + .description = Unlocks trooper squads diff --git a/mods/d2/hotkeys.yaml b/mods/d2/hotkeys.yaml index f7db18e..e1f9dc4 100644 --- a/mods/d2/hotkeys.yaml +++ b/mods/d2/hotkeys.yaml @@ -1,31 +1,31 @@ ProductionTypeBuilding: E - Description: Building Tab + Description: hotkey-description-productiontypebuilding Types: Production ProductionTypeUpgrade: R - Description: Upgrade Tab + Description: hotkey-description-productiontypeupgrade Types: Production ProductionTypeInfantry: T - Description: Infantry Tab + Description: hotkey-description-productiontypeinfantry Types: Production ProductionTypeVehicle: Y - Description: Vehicle Tab + Description: hotkey-description-productiontypevehicle Types: Production ProductionTypeAircraft: U - Description: Aircraft Tab + Description: hotkey-description-productiontypeaircraft Types: Production ProductionTypeTank: I - Description: Tank Tab + Description: hotkey-description-productiontypetank Types: Production ProductionTypeMerchant: O - Description: Starport Tab + Description: hotkey-description-productiontypemerchant Types: Production PowerDown: X - Description: Power-down mode + Description: hotkey-description-powerdown Types: OrderGenerator diff --git a/mods/d2/mod.yaml b/mods/d2/mod.yaml index b5f2477..c128de4 100644 --- a/mods/d2/mod.yaml +++ b/mods/d2/mod.yaml @@ -3,6 +3,7 @@ Metadata: Version: release-20250330 Website: https://www.github.com/OpenRA/d2 WebIcon32: https://www.openra.net/images/icons/d2k_32x32.png + WindowTitle: mod-windowtitle ModCredits: ModTabTitle: d2 mod @@ -281,6 +282,10 @@ FluentMessages: common|fluent/chrome.ftl common|fluent/hotkeys.ftl common|fluent/rules.ftl + d2k|fluent/d2k.ftl + d2k|fluent/chrome.ftl + d2k|fluent/hotkeys.ftl + d2k|fluent/rules.ftl d2|fluent/mod.ftl AllowUnusedFluentMessagesInExternalPackages: true @@ -369,26 +374,26 @@ GameSpeeds: DefaultSpeed: default Speeds: slowest: - Name: slowest + Name: options-game-speed.slowest Timestep: 80 OrderLatency: 2 slower: - Name: slower + Name: options-game-speed.slower Timestep: 50 OrderLatency: 3 default: - Name: normal + Name: options-game-speed.normal Timestep: 40 OrderLatency: 3 fast: - Name: fast + Name: options-game-speed.fast Timestep: 35 OrderLatency: 4 faster: - Name: faster + Name: options-game-speed.faster Timestep: 30 OrderLatency: 4 fastest: - Name: fastest + Name: options-game-speed.fastest Timestep: 20 OrderLatency: 6 diff --git a/mods/d2/rules/ai.yaml b/mods/d2/rules/ai.yaml index 5de1846..5329178 100644 --- a/mods/d2/rules/ai.yaml +++ b/mods/d2/rules/ai.yaml @@ -1,12 +1,12 @@ Player: ModularBot@Cyril: - Name: Cyril + Name: bot-cyril.name Type: cyril ModularBot@Radnor: - Name: Radnor + Name: bot-radnor.name Type: radnor ModularBot@Ammon: - Name: Ammon + Name: bot-ammon.name Type: ammon SupportPowerBotModule: RequiresCondition: enable-cyril-ai || enable-radnor-ai || enable-ammon-ai diff --git a/mods/d2/rules/aircrafthusk.yaml b/mods/d2/rules/aircrafthusk.yaml index 4fe970d..362a2a1 100644 --- a/mods/d2/rules/aircrafthusk.yaml +++ b/mods/d2/rules/aircrafthusk.yaml @@ -1,7 +1,7 @@ ^AircraftHusk: Inherits: ^Husk Tooltip: - Name: Destroyed Unit + Name: meta-husk-generic-name WithShadow: FallsToEarth: Moves: True diff --git a/mods/d2/rules/arrakis.yaml b/mods/d2/rules/arrakis.yaml index 4a7753a..41acc70 100644 --- a/mods/d2/rules/arrakis.yaml +++ b/mods/d2/rules/arrakis.yaml @@ -1,7 +1,7 @@ sietch: Inherits: ^Building Tooltip: - Name: Fremen Sietch + Name: actor-sietch-name D2Building: Footprint: xx xx Dimensions: 2,2 diff --git a/mods/d2/rules/barracks.yaml b/mods/d2/rules/barracks.yaml index 4098170..53f0c0f 100644 --- a/mods/d2/rules/barracks.yaml +++ b/mods/d2/rules/barracks.yaml @@ -6,13 +6,13 @@ barracks: BuildPaletteOrder: 100 BuildDuration: 900 BuildDurationModifier: 40 - Description: Trains infantry\n Cannot be captured. + Description: actor-barracks.description Selectable: Bounds: 2048, 2048 Valued: Cost: 300 Tooltip: - Name: Barracks + Name: actor-barracks.name D2Building: Footprint: xx xx Dimensions: 2,2 @@ -85,14 +85,14 @@ upgrade.barracks: Interactable: ScriptTriggers: Tooltip: - Name: Barracks Upgrade + Name: actor-upgrade-barracks.name Buildable: BuildPaletteOrder: 999 Queue: Infantry BuildLimit: 1 BuildDuration: 250 BuildDurationModifier: 40 - Description: Unlocks infantry squads + Description: actor-upgrade-barracks.description Valued: Cost: 150 RenderSprites: diff --git a/mods/d2/rules/building.yaml b/mods/d2/rules/building.yaml index 24cd75f..e5179c4 100644 --- a/mods/d2/rules/building.yaml +++ b/mods/d2/rules/building.yaml @@ -2,7 +2,7 @@ Inherits@1: ^ExistsInWorld Inherits@2: ^SpriteActor Tooltip: - GenericName: Structure + GenericName: meta-building-generic-name Huntable: SelectionDecorations: WithSpriteControlGroupDecoration: diff --git a/mods/d2/rules/carryall.yaml b/mods/d2/rules/carryall.yaml index 88333fa..dc03109 100644 --- a/mods/d2/rules/carryall.yaml +++ b/mods/d2/rules/carryall.yaml @@ -3,7 +3,7 @@ carryall.reinforce: Valued: Cost: 800 Tooltip: - Name: Carryall + Name: actor-carryall-reinforce.name Health: HP: 100 Armor: @@ -44,7 +44,7 @@ carryall.reinforce: Buildable: BuildDuration: 800 BuildDurationModifier: 40 - Description: Large winged, planet-bound ship\n Automatically lifts harvesters from and to Spice.\n Lifts vehicles to Repair Pads when ordered. + Description: actor-carryall-reinforce.description carryall: Inherits: carryall.reinforce @@ -72,7 +72,7 @@ carryall: carryall.husk: Inherits: ^AircraftHusk Tooltip: - Name: Carryall + Name: actor-carryall-reinforce.name Aircraft: TurnSpeed: 16 Speed: 144 diff --git a/mods/d2/rules/combat_tank.yaml b/mods/d2/rules/combat_tank.yaml index 4342954..c563afd 100644 --- a/mods/d2/rules/combat_tank.yaml +++ b/mods/d2/rules/combat_tank.yaml @@ -7,11 +7,11 @@ combat_tank: BuildDuration: 800 BuildDurationModifier: 40 Prerequisites: heavy_factory - Description: Main Battle Tank\n Strong vs Tanks\n Weak vs Infantry, Aircraft\n + Description: meta-combat-tank-description Valued: Cost: 300 Tooltip: - Name: Combat Tank + Name: actor-combat-tank.name Health: HP: 200 Armor: diff --git a/mods/d2/rules/concrete.yaml b/mods/d2/rules/concrete.yaml index 13a6509..532d76d 100644 --- a/mods/d2/rules/concrete.yaml +++ b/mods/d2/rules/concrete.yaml @@ -10,8 +10,8 @@ AreaTypes: building Adjacent: 1 Tooltip: - Name: Concrete - GenericName: Structure + Name: actor-concrete-a.name + GenericName: meta-building-generic-name RenderSprites: KillsSelf: RemoveInstead: true @@ -20,7 +20,7 @@ Queue: Building Prerequisites: construction_yard BuildPaletteOrder: 10 - Description: Provides a strong foundation that prevents\ndamage from the terrain. + Description: meta-concrete.description concretea: Inherits: ^concrete diff --git a/mods/d2/rules/construction_yard.yaml b/mods/d2/rules/construction_yard.yaml index 0b219a0..cf583e3 100644 --- a/mods/d2/rules/construction_yard.yaml +++ b/mods/d2/rules/construction_yard.yaml @@ -1,7 +1,7 @@ construction_yard: Inherits: ^Building Buildable: - Description: Produces structures. + Description: actor-construction-yard.description D2Building: Footprint: xx xx Dimensions: 2,2 @@ -36,7 +36,7 @@ construction_yard: Valued: Cost: 400 Tooltip: - Name: Construction Yard + Name: actor-construction-yard.name BaseBuilding: Power: Amount: 0 @@ -83,14 +83,14 @@ upgrade.conyard: Interactable: ScriptTriggers: Tooltip: - Name: Construction Yard Upgrade + Name: actor-upgrade-conyard.name Buildable: BuildPaletteOrder: 999 Queue: Building BuildLimit: 1 BuildDuration: 250 BuildDurationModifier: 40 - Description: Unlocks new construction options + Description: actor-upgrade-conyard.description Valued: Cost: 200 RenderSprites: diff --git a/mods/d2/rules/devastator.yaml b/mods/d2/rules/devastator.yaml index c7ba58f..2a1b334 100644 --- a/mods/d2/rules/devastator.yaml +++ b/mods/d2/rules/devastator.yaml @@ -7,11 +7,11 @@ devastator: Prerequisites: ~heavy.harkonnen, research_centre, ~techlevel.high BuildDuration: 1300 BuildDurationModifier: 40 - Description: Super Heavy Tank\n Strong vs Tanks\n Weak vs Artillery, Aircraft + Description: actor-devastator.description Valued: Cost: 800 Tooltip: - Name: Devastator + Name: actor-devastator.name Health: HP: 400 Armor: diff --git a/mods/d2/rules/deviator.yaml b/mods/d2/rules/deviator.yaml index a4b855b..712b79d 100644 --- a/mods/d2/rules/deviator.yaml +++ b/mods/d2/rules/deviator.yaml @@ -4,14 +4,14 @@ deviator: Valued: Cost: 750 Tooltip: - Name: Deviator + Name: actor-deviator.name Buildable: Queue: Armor BuildPaletteOrder: 50 BuildDuration: 1000 BuildDurationModifier: 40 Prerequisites: ~heavy.ordos, research_centre, ~techlevel.high - Description: Fires a warhead which changes\nthe allegiance of enemy vehicles + Description: actor-deviator.description Mobile: TurnSpeed: 12 Speed: 53 diff --git a/mods/d2/rules/fremen.yaml b/mods/d2/rules/fremen.yaml index c359753..18811a5 100644 --- a/mods/d2/rules/fremen.yaml +++ b/mods/d2/rules/fremen.yaml @@ -2,12 +2,12 @@ fremen: Inherits: ^Infantry Inherits@AUTOTARGET: ^AutoTargetGroundAssaultMove Tooltip: - Name: Fremen + Name: actor-fremen.name Buildable: Queue: Infantry BuildPaletteOrder: 100 Prerequisites: ~disabled - Description: Elite sniper infantry unit\n Strong vs Infantry\n Weak vs Vehicles\n Special Ability: Invisibility + Description: actor-fremen.description Mobile: Speed: 43 Valued: @@ -44,7 +44,7 @@ nsfremen: Buildable: BuildPaletteOrder: 105 Prerequisites: ~disabled - Description: Elite sniper infantry unit\n Strong vs Infantry\n Weak vs Vehicles + Description: actor-nsfremen-description RenderSprites: Image: fremen -Cloak: diff --git a/mods/d2/rules/frigate.yaml b/mods/d2/rules/frigate.yaml index 12b8636..7a71761 100644 --- a/mods/d2/rules/frigate.yaml +++ b/mods/d2/rules/frigate.yaml @@ -4,7 +4,7 @@ frigate: DropRange: 1c0 Interactable: Tooltip: - Name: Frigate + Name: actor-frigate-name Health: HP: 500 Aircraft: @@ -20,7 +20,7 @@ frigate: MaxWeight: 20 RejectsOrders: Buildable: - Description: Supply spacecraft + Description: actor-frigate-description WithCargoPipsDecoration: Position: BottomLeft RequiresSelection: true diff --git a/mods/d2/rules/gun_turret.yaml b/mods/d2/rules/gun_turret.yaml index 36ea336..da83221 100644 --- a/mods/d2/rules/gun_turret.yaml +++ b/mods/d2/rules/gun_turret.yaml @@ -7,11 +7,11 @@ gun_turret: BuildPaletteOrder: 80 BuildDuration: 800 BuildDurationModifier: 40 - Description: Defensive structure\n Strong vs Tanks\n Weak vs Infantry, Aircraft + Description: actor-medium-gun-turret.description Valued: Cost: 125 Tooltip: - Name: Gun Turret + Name: actor-medium-gun-turret.name D2Building: BuildSounds: CHUNG.WAV RequiresBuildableArea: diff --git a/mods/d2/rules/harvester.yaml b/mods/d2/rules/harvester.yaml index 3dc401f..d6f5181 100644 --- a/mods/d2/rules/harvester.yaml +++ b/mods/d2/rules/harvester.yaml @@ -7,11 +7,11 @@ harvester: BuildPaletteOrder: 10 BuildDuration: 800 BuildDurationModifier: 40 - Description: Collects Spice for processing\n Unarmed + Description: actor-harvester.description Valued: Cost: 300 Tooltip: - Name: Spice Harvester + Name: actor-harvester.name Selectable: Class: harvester Priority: 7 diff --git a/mods/d2/rules/heavy_factory.yaml b/mods/d2/rules/heavy_factory.yaml index 5679eff..a3d6dfa 100644 --- a/mods/d2/rules/heavy_factory.yaml +++ b/mods/d2/rules/heavy_factory.yaml @@ -6,13 +6,13 @@ heavy_factory: BuildPaletteOrder: 130 BuildDuration: 1800 BuildDurationModifier: 40 - Description: Produces heavy vehicles + Description: actor-heavy-factory.description Selectable: Bounds: 3072, 2048 Valued: Cost: 600 Tooltip: - Name: Heavy Factory + Name: actor-heavy-factory.name D2Building: Footprint: xxx xxx Dimensions: 3,2 @@ -80,14 +80,14 @@ upgrade.heavy: AlwaysVisible: Interactable: Tooltip: - Name: Heavy Factory Upgrade + Name: actor-upgrade-heavy.name Buildable: BuildPaletteOrder: 999 Queue: Armor BuildLimit: 1 BuildDuration: 250 BuildDurationModifier: 40 - Description: Unlocks advanced technology and heavy weapons + Description: actor-upgrade-heavy.description Valued: Cost: 300 RenderSprites: diff --git a/mods/d2/rules/high_tech_factory.yaml b/mods/d2/rules/high_tech_factory.yaml index e21c7a9..220c3b9 100644 --- a/mods/d2/rules/high_tech_factory.yaml +++ b/mods/d2/rules/high_tech_factory.yaml @@ -6,13 +6,13 @@ high_tech_factory: BuildPaletteOrder: 140 BuildDuration: 1500 BuildDurationModifier: 40 - Description: Unlocks advanced technology + Description: actor-high-tech-factory.description Selectable: Bounds: 3072, 2048 Valued: Cost: 500 Tooltip: - Name: High Tech Factory + Name: actor-high-tech-factory.name ProductionFromMapEdge: Produces: Aircraft ProductionBar: @@ -67,7 +67,7 @@ upgrade.hightech: Interactable: ScriptTriggers: Tooltip: - Name: High Tech Factory Upgrade + Name: actor-upgrade-hightech.name Buildable: BuildPaletteOrder: 999 Prerequisites: ~aircraft.atreides_or_ordos, ~techlevel.high @@ -75,7 +75,7 @@ upgrade.hightech: BuildLimit: 1 BuildDuration: 250 BuildDurationModifier: 40 - Description: Unlocks ornithopters + Description: actor-upgrade-hightech.description Valued: Cost: 200 RenderSprites: diff --git a/mods/d2/rules/husk.yaml b/mods/d2/rules/husk.yaml index e7286ff..3b3a2cc 100644 --- a/mods/d2/rules/husk.yaml +++ b/mods/d2/rules/husk.yaml @@ -8,7 +8,7 @@ HiddenUnderFog: Type: CenterPosition Tooltip: - Name: Destroyed Unit + Name: meta-husk-generic-name ScriptTriggers: WithFacingSpriteBody: HitShape: diff --git a/mods/d2/rules/husks.yaml b/mods/d2/rules/husks.yaml index 53169ba..57402cd 100644 --- a/mods/d2/rules/husks.yaml +++ b/mods/d2/rules/husks.yaml @@ -3,14 +3,14 @@ mcv.husk: Health: HP: 175 Tooltip: - Name: Destroyed Mobile Construction Vehicle + Name: actor-mcv-husk-name harvester.husk: Inherits: ^VehicleHusk Health: HP: 150 Tooltip: - Name: Destroyed Spice Harvester + Name: actor-harvester-husk-name TransformOnCapture: IntoActor: harvester diff --git a/mods/d2/rules/infantry.yaml b/mods/d2/rules/infantry.yaml index abe8d96..695c9b4 100644 --- a/mods/d2/rules/infantry.yaml +++ b/mods/d2/rules/infantry.yaml @@ -2,7 +2,7 @@ Inherits@1: ^ExistsInWorld Inherits@3: ^SpriteActor Tooltip: - GenericName: Unit + GenericName: meta-vehicle-generic-name Huntable: Health: Armor: diff --git a/mods/d2/rules/light_factory.yaml b/mods/d2/rules/light_factory.yaml index e29fe83..abb4830 100644 --- a/mods/d2/rules/light_factory.yaml +++ b/mods/d2/rules/light_factory.yaml @@ -6,13 +6,13 @@ light_factory: BuildPaletteOrder: 110 BuildDuration: 1200 BuildDurationModifier: 40 - Description: Produces light vehicles + Description: actor-light-factory.description Selectable: Bounds: 2048, 2048 Valued: Cost: 400 Tooltip: - Name: Light Factory + Name: actor-light-factory.name D2Building: Footprint: xx xx Dimensions: 2,2 @@ -83,7 +83,7 @@ upgrade.light: Interactable: ScriptTriggers: Tooltip: - Name: Light Factory Upgrade + Name: actor-upgrade-light.name Buildable: BuildPaletteOrder: 999 Prerequisites: ~light.atreides_or_ordos @@ -91,7 +91,7 @@ upgrade.light: BuildLimit: 1 BuildDuration: 250 BuildDurationModifier: 40 - Description: Unlocks additional light units + Description: actor-upgrade-light.description Valued: Cost: 200 RenderSprites: diff --git a/mods/d2/rules/light_inf.yaml b/mods/d2/rules/light_inf.yaml index 067183c..ed1692d 100644 --- a/mods/d2/rules/light_inf.yaml +++ b/mods/d2/rules/light_inf.yaml @@ -6,11 +6,11 @@ light_inf: BuildPaletteOrder: 10 BuildDuration: 400 BuildDurationModifier: 40 - Description: General-purpose infantry\n Strong vs Infantry\n Weak vs Vehicles, Artillery + Description: actor-light-inf.description Valued: Cost: 60 Tooltip: - Name: Light Infantry + Name: actor-light-inf.name Health: HP: 20 Mobile: diff --git a/mods/d2/rules/light_squad.yaml b/mods/d2/rules/light_squad.yaml index 67388d2..7b7502c 100644 --- a/mods/d2/rules/light_squad.yaml +++ b/mods/d2/rules/light_squad.yaml @@ -7,11 +7,11 @@ light_squad: BuildDuration: 400 BuildDurationModifier: 40 Prerequisites: upgrade.barracks, ~techlevel.medium - Description: General-purpose infantry\n Strong vs Infantry\n Weak vs Vehicles, Artillery + Description: actor-light-inf.description Valued: Cost: 100 Tooltip: - Name: Light Infantry Squad + Name: actor-light-squad.name Health: HP: 50 Mobile: diff --git a/mods/d2/rules/mcv.yaml b/mods/d2/rules/mcv.yaml index bafebb1..7d00122 100644 --- a/mods/d2/rules/mcv.yaml +++ b/mods/d2/rules/mcv.yaml @@ -7,11 +7,11 @@ mcv: BuildPaletteOrder: 110 BuildDuration: 1000 BuildDurationModifier: 40 - Description: Deploys into another Construction Yard\n Unarmed + Description: actor-mcv.description Valued: Cost: 900 Tooltip: - Name: Mobile Construction Vehicle + Name: actor-mcv.name Selectable: Class: mcv Priority: 3 diff --git a/mods/d2/rules/misc.yaml b/mods/d2/rules/misc.yaml index 1549acd..fcfc2a5 100644 --- a/mods/d2/rules/misc.yaml +++ b/mods/d2/rules/misc.yaml @@ -1,7 +1,7 @@ mpspawn: Interactable: EditorOnlyTooltip: - Name: (multiplayer player starting point) + Name: actor-mpspawn-name AlwaysVisible: Immobile: OccupiesSpace: false @@ -15,7 +15,7 @@ mpspawn: waypoint: Interactable: EditorOnlyTooltip: - Name: (waypoint for scripted behavior) + Name: actor-waypoint-name AlwaysVisible: Immobile: OccupiesSpace: false @@ -29,7 +29,7 @@ waypoint: camera: Interactable: EditorOnlyTooltip: - Name: (reveals area to owner) + Name: actor-camera-name AlwaysVisible: RenderSpritesEditorOnly: WithSpriteBody: @@ -46,7 +46,7 @@ camera: wormspawner: Interactable: EditorOnlyTooltip: - Name: (worm spawning location) + Name: actor-wormspawner-name AlwaysVisible: Immobile: OccupiesSpace: false diff --git a/mods/d2/rules/missile_tank.yaml b/mods/d2/rules/missile_tank.yaml index 86054ff..60470e0 100644 --- a/mods/d2/rules/missile_tank.yaml +++ b/mods/d2/rules/missile_tank.yaml @@ -2,14 +2,14 @@ missile_tank: Inherits: ^Tank Inherits@AUTOTARGET: ^AutoTargetAllAssaultMove Tooltip: - Name: Missile Tank + Name: actor-missile-tank.name Buildable: Queue: Armor Prerequisites: ~heavy.missiletank, upgrade.heavy, research_centre, ~techlevel.high BuildPaletteOrder: 60 BuildDuration: 900 BuildDurationModifier: 40 - Description: Rocket Artillery\n Strong vs Vehicles, Buildings, Aircraft\n Weak vs Infantry + Description: actor-missile-tank.description Valued: Cost: 450 Mobile: diff --git a/mods/d2/rules/ornithopter.yaml b/mods/d2/rules/ornithopter.yaml index 6d6c309..b067002 100644 --- a/mods/d2/rules/ornithopter.yaml +++ b/mods/d2/rules/ornithopter.yaml @@ -14,7 +14,7 @@ ornithopter: Queue: Aircraft BuildPaletteOrder: 130 Prerequisites: research_centre, upgrade.hightech, ~aircraft.atreides_or_ordos, ~techlevel.high - Description: Light aircraft armed with missiles.\nAutomatically attacks nearby targets, can't be manually controlled. + Description: actor-ornithopter.description AttackMove: AttackMoveBlockedCursor: AssaultMoveCursor: @@ -41,7 +41,7 @@ ornithopter: IdleTurnSpeed: 8 CanSlide: False Tooltip: - Name: Ornithopter + Name: actor-ornithopter.name SpawnActorOnDeath: Actor: ornithopter.husk OwnerType: InternalName @@ -52,7 +52,7 @@ ornithopter: ornithopter.husk: Inherits: ^AircraftHusk Tooltip: - Name: Ornithopter + Name: actor-ornithopter.name Aircraft: TurnSpeed: 20 Speed: 224 diff --git a/mods/d2/rules/outpost.yaml b/mods/d2/rules/outpost.yaml index 71b9ba0..0d5f373 100644 --- a/mods/d2/rules/outpost.yaml +++ b/mods/d2/rules/outpost.yaml @@ -7,13 +7,13 @@ outpost: BuildPaletteOrder: 50 BuildDuration: 1000 BuildDurationModifier: 40 - Description: Provides a radar map of the battlefield\n Requires power to operate\n Cannot be captured. + Description: actor-outpost.description Selectable: Bounds: 2048, 2048 Valued: Cost: 400 Tooltip: - Name: Outpost + Name: actor-outpost.name D2Building: Footprint: xx xx Dimensions: 2,2 diff --git a/mods/d2/rules/palace.yaml b/mods/d2/rules/palace.yaml index c778d9e..ec7f503 100644 --- a/mods/d2/rules/palace.yaml +++ b/mods/d2/rules/palace.yaml @@ -7,13 +7,13 @@ palace: BuildPaletteOrder: 170 BuildDuration: 1620 BuildDurationModifier: 40 - Description: Unlocks elite infantry and weapons\n Cannot be captured. + Description: actor-palace.description Selectable: Bounds: 3072, 3072 Valued: Cost: 999 Tooltip: - Name: Palace + Name: actor-palace.name D2Building: Footprint: xxx xxx xxx Dimensions: 3,3 @@ -62,8 +62,8 @@ palace: PauseOnCondition: disabled Prerequisites: ~techlevel.superweapons, ~palace.nuke ChargeInterval: 7500 - Name: Death Hand - Description: Launches an atomic missile at a target location + Name: actor-palace.nukepower-name + Description: actor-palace.nukepower-description BeginChargeSpeechNotification: DeathHandMissilePrepping EndChargeSpeechNotification: DeathHandMissileReady DetectedSpeechNotification: MissileLaunchDetected @@ -77,8 +77,8 @@ palace: CircleSequence: circles MissileImage: atomic ProduceActorPower@fremen: - Name: Recruit Fremen - Description: Elite infantry unit armed with assault rifles and rockets\n Strong vs Infantry, Vehicles\n Weak vs Artillery\n Special Ability: Invisibility + Name: actor-palace.produceactorpower-fremen-name + Description: actor-palace.produceactorpower-fremen-description Icon: fremen PauseOnCondition: disabled RequiresCondition: atreides @@ -90,8 +90,8 @@ palace: BlockedAudio: NoRoom OrderName: ProduceActorPower.Fremen ProduceActorPower@saboteur: - Name: Recruit Saboteur - Description: Sneaky infantry, armed with explosives\n Strong vs Buildings\n Weak vs Everything\n Special Ability: destroy buildings + Name: actor-palace.produceactorpower-saboteur-name + Description: actor-palace.produceactorpower-saboteur-description Icon: saboteur PauseOnCondition: disabled RequiresCondition: ordos diff --git a/mods/d2/rules/plane.yaml b/mods/d2/rules/plane.yaml index a031da6..6e74f2d 100644 --- a/mods/d2/rules/plane.yaml +++ b/mods/d2/rules/plane.yaml @@ -3,7 +3,7 @@ Inherits@2: ^SpriteActor Interactable: Tooltip: - GenericName: Unit + GenericName: meta-vehicle-generic-name Huntable: OwnerLostAction: Action: Kill diff --git a/mods/d2/rules/player.yaml b/mods/d2/rules/player.yaml index b8076d7..0e4c0b7 100644 --- a/mods/d2/rules/player.yaml +++ b/mods/d2/rules/player.yaml @@ -62,19 +62,19 @@ Player: Prerequisite: player.smuggler Factions: smuggler ProvidesTechPrerequisite@low: - Name: Low + Name: options-tech-level.low Prerequisites: techlevel.low Id: low ProvidesTechPrerequisite@medium: - Name: Medium + Name: options-tech-level.medium Prerequisites: techlevel.low, techlevel.medium Id: medium ProvidesTechPrerequisite@nosuper: - Name: No Powers + Name: options-tech-level.no-powers Prerequisites: techlevel.low, techlevel.medium, techlevel.high Id: nopowers ProvidesTechPrerequisite@all: - Name: Unrestricted + Name: options-tech-level.unrestricted Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons Id: unrestricted EnemyWatcher: diff --git a/mods/d2/rules/quad.yaml b/mods/d2/rules/quad.yaml index 1fe62c7..3fe637b 100644 --- a/mods/d2/rules/quad.yaml +++ b/mods/d2/rules/quad.yaml @@ -7,11 +7,11 @@ quad: BuildPaletteOrder: 20 BuildDuration: 600 BuildDurationModifier: 40 - Description: Missile Scout\n Strong vs Vehicles\n Weak vs Infantry + Description: actor-quad.description Valued: Cost: 200 Tooltip: - Name: Missile Quad + Name: actor-quad.name Health: HP: 130 Armor: diff --git a/mods/d2/rules/raider.yaml b/mods/d2/rules/raider.yaml index 9519098..7023777 100644 --- a/mods/d2/rules/raider.yaml +++ b/mods/d2/rules/raider.yaml @@ -7,11 +7,11 @@ raider: BuildDuration: 500 BuildDurationModifier: 40 Prerequisites: ~light.ordos - Description: Fast scout vehicle with low armor\n Strong vs Infantry\n Weak vs Tanks, Aircraft + Description: actor-raider.description Valued: Cost: 150 Tooltip: - Name: Raider Trike + Name: actor-raider.name Health: HP: 80 Armor: diff --git a/mods/d2/rules/refinery.yaml b/mods/d2/rules/refinery.yaml index 099bbdc..378c3c6 100644 --- a/mods/d2/rules/refinery.yaml +++ b/mods/d2/rules/refinery.yaml @@ -6,13 +6,13 @@ refinery: BuildPaletteOrder: 30 BuildDuration: 1000 BuildDurationModifier: 40 - Description: Harvesters unload Spice here for processing + Description: actor-refinery.description Selectable: Bounds: 3072, 2048 Valued: Cost: 400 Tooltip: - Name: Spice Refinery + Name: actor-refinery.name D2Building: Footprint: xx= xx= Dimensions: 3,2 diff --git a/mods/d2/rules/repair_pad.yaml b/mods/d2/rules/repair_pad.yaml index 6de69e4..691bb35 100644 --- a/mods/d2/rules/repair_pad.yaml +++ b/mods/d2/rules/repair_pad.yaml @@ -6,11 +6,11 @@ repair_pad: BuildPaletteOrder: 160 BuildDuration: 1000 BuildDurationModifier: 40 - Description: Repairs vehicles\n Allows construction of MCVs + Description: actor-repair-pad.description Valued: Cost: 700 Tooltip: - Name: Repair Pad + Name: actor-repair-pad.name D2Building: Footprint: xxx xxx Dimensions: 3,2 diff --git a/mods/d2/rules/research_centre.yaml b/mods/d2/rules/research_centre.yaml index 68c9246..5cea1f3 100644 --- a/mods/d2/rules/research_centre.yaml +++ b/mods/d2/rules/research_centre.yaml @@ -6,13 +6,13 @@ research_centre: BuildPaletteOrder: 150 BuildDuration: 1500 BuildDurationModifier: 40 - Description: Unlocks experimental tanks\n Cannot be captured. + Description: actor-research-centre.description Selectable: Bounds: 2048, 2048 Valued: Cost: 500 Tooltip: - Name: Ix Lab + Name: actor-research-centre.name D2Building: Footprint: xx xx Dimensions: 2,2 diff --git a/mods/d2/rules/rocket_turret.yaml b/mods/d2/rules/rocket_turret.yaml index aa9336d..790fd19 100644 --- a/mods/d2/rules/rocket_turret.yaml +++ b/mods/d2/rules/rocket_turret.yaml @@ -10,11 +10,11 @@ rocket_turret: BuildPaletteOrder: 90 BuildDuration: 1200 BuildDurationModifier: 40 - Description: Defensive structure\n Strong vs Infantry, Aircraft\n Weak vs Tanks\n\n Requires power to operate + Description: actor-large-gun-turret.description Valued: Cost: 250 Tooltip: - Name: Rocket Turret + Name: actor-large-gun-turret.name D2Building: BuildSounds: CHUNG.WAV RequiresBuildableArea: diff --git a/mods/d2/rules/saboteur.yaml b/mods/d2/rules/saboteur.yaml index f9f7de1..a3be506 100644 --- a/mods/d2/rules/saboteur.yaml +++ b/mods/d2/rules/saboteur.yaml @@ -4,11 +4,11 @@ saboteur: Queue: Infantry BuildPaletteOrder: 100 Prerequisites: ~disabled - Description: Sneaky infantry, armed with explosives\n Strong vs Buildings\n Weak vs Everything\n Special Ability: destroy buildings + Description: actor-palace.produceactorpower-saboteur-description Valued: Cost: 300 ## actually 0, but spawns from support power at Palace Tooltip: - Name: Saboteur + Name: actor-saboteur.name Health: HP: 10 Mobile: diff --git a/mods/d2/rules/sandworm.yaml b/mods/d2/rules/sandworm.yaml index 2dff95c..e3c13d9 100644 --- a/mods/d2/rules/sandworm.yaml +++ b/mods/d2/rules/sandworm.yaml @@ -2,7 +2,7 @@ sandworm: Inherits@1: ^SpriteActor Interactable: Tooltip: - Name: Sandworm + Name: actor-sandworm-name Health: HP: 1000 HitShape: @@ -47,4 +47,4 @@ sandworm: Duration: 50 Radius: 2c512 Buildable: - Description: Attracted by vibrations in the sand.\nWill eat units whole and has a large appetite. + Description: actor-sandworm.description diff --git a/mods/d2/rules/sardaukar.yaml b/mods/d2/rules/sardaukar.yaml index 78af599..01b613e 100644 --- a/mods/d2/rules/sardaukar.yaml +++ b/mods/d2/rules/sardaukar.yaml @@ -7,11 +7,11 @@ sardaukar: BuildDuration: 700 BuildDurationModifier: 40 Prerequisites: ~barracks.harkonnen, palace, ~techlevel.high - Description: Elite assault infantry\n Strong vs Infantry, Vehicles\n Weak vs Artillery + Description: actor-sardaukar.description Valued: Cost: 200 Tooltip: - Name: Sardaukar + Name: actor-sardaukar.name Health: HP: 1000 Mobile: diff --git a/mods/d2/rules/siege_tank.yaml b/mods/d2/rules/siege_tank.yaml index 2967194..1826fff 100644 --- a/mods/d2/rules/siege_tank.yaml +++ b/mods/d2/rules/siege_tank.yaml @@ -7,11 +7,11 @@ siege_tank: BuildPaletteOrder: 50 BuildDuration: 1200 BuildDurationModifier: 40 - Description: Siege Artillery\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft + Description: actor-siege-tank.description Valued: Cost: 600 Tooltip: - Name: Siege Tank + Name: actor-siege-tank.name Health: HP: 300 Armor: diff --git a/mods/d2/rules/silo.yaml b/mods/d2/rules/silo.yaml index ae495d4..3e599bd 100644 --- a/mods/d2/rules/silo.yaml +++ b/mods/d2/rules/silo.yaml @@ -6,13 +6,13 @@ silo: BuildPaletteOrder: 60 BuildDuration: 600 BuildDurationModifier: 40 - Description: Stores excess harvested Spice + Description: actor-silo.description Selectable: Bounds: 2048, 2048 Valued: Cost: 150 Tooltip: - Name: Silo + Name: actor-silo.name RequiresBuildableArea: Adjacent: 1 D2Building: diff --git a/mods/d2/rules/sonic_tank.yaml b/mods/d2/rules/sonic_tank.yaml index d1e5c7a..251e34a 100644 --- a/mods/d2/rules/sonic_tank.yaml +++ b/mods/d2/rules/sonic_tank.yaml @@ -7,11 +7,11 @@ sonic_tank: BuildDuration: 1300 BuildDurationModifier: 40 Prerequisites: ~heavy.atreides, research_centre, ~techlevel.high - Description: Fires sonic shocks\n Strong vs Infantry, Vehicles\n Weak vs Artillery, Aircraft + Description: actor-sonic-tank.description Valued: Cost: 600 Tooltip: - Name: Sonic Tank + Name: actor-sonic-tank.name Health: HP: 110 Armor: diff --git a/mods/d2/rules/spicebloom.yaml b/mods/d2/rules/spicebloom.yaml index 9816f4d..27c466e 100644 --- a/mods/d2/rules/spicebloom.yaml +++ b/mods/d2/rules/spicebloom.yaml @@ -1,7 +1,7 @@ spicebloom.spawnpoint: Interactable: EditorOnlyTooltip: - Name: Spice Bloom spawnpoint + Name: actor-spicebloom-spawnpoint-name AlwaysVisible: RenderSpritesEditorOnly: Image: spicebloom @@ -36,7 +36,7 @@ spicebloom: UseLocation: true WithSpriteBody: Tooltip: - Name: Spice Bloom + Name: actor-spicebloom-name FireWarheadsOnDeath: Weapon: BloomExplosion EmptyWeapon: BloomExplosion diff --git a/mods/d2/rules/starport.yaml b/mods/d2/rules/starport.yaml index bf092e1..bdd78ef 100644 --- a/mods/d2/rules/starport.yaml +++ b/mods/d2/rules/starport.yaml @@ -1,14 +1,14 @@ starport: Inherits: ^Building Tooltip: - Name: Starport + Name: actor-starport.name Buildable: Prerequisites: wind_trap, refinery, ~techlevel.high Queue: Building BuildPaletteOrder: 120 BuildDuration: 1500 BuildDurationModifier: 40 - Description: Dropzone for quick reinforcements, at a price.\n Requires power to operate + Description: actor-starport.description Valued: Cost: 500 D2Building: diff --git a/mods/d2/rules/trike.yaml b/mods/d2/rules/trike.yaml index f9bbcd2..0a4613f 100644 --- a/mods/d2/rules/trike.yaml +++ b/mods/d2/rules/trike.yaml @@ -7,11 +7,11 @@ trike: BuildDuration: 500 BuildDurationModifier: 40 Prerequisites: ~light.atreides - Description: Scout vehicle with decent armor\n Strong vs Infantry\n Weak vs Tanks, Aircraft + Description: actor-trike.description Valued: Cost: 150 Tooltip: - Name: Trike + Name: actor-trike.name Selectable: Class: trike Health: diff --git a/mods/d2/rules/trooper.yaml b/mods/d2/rules/trooper.yaml index 4c02606..f44708e 100644 --- a/mods/d2/rules/trooper.yaml +++ b/mods/d2/rules/trooper.yaml @@ -6,11 +6,11 @@ trooper: BuildPaletteOrder: 20 BuildDuration: 700 BuildDurationModifier: 40 - Description: Anti-tank/Anti-aircraft infantry\n Strong vs Tanks, Aircraft\n Weak vs Infantry, Artillery + Description: actor-trooper.description Valued: Cost: 100 Tooltip: - Name: Trooper + Name: actor-trooper.name Health: HP: 45 Mobile: diff --git a/mods/d2/rules/trooper_squad.yaml b/mods/d2/rules/trooper_squad.yaml index 7fd8b76..392bf24 100644 --- a/mods/d2/rules/trooper_squad.yaml +++ b/mods/d2/rules/trooper_squad.yaml @@ -7,11 +7,11 @@ trooper_squad: BuildDuration: 700 BuildDurationModifier: 40 Prerequisites: upgrade.wor, ~techlevel.medium - Description: Anti-tank/Anti-aircraft infantry\n Strong vs Tanks, Aircraft\n Weak vs Infantry, Artillery + Description: actor-trooper.description Valued: Cost: 200 Tooltip: - Name: Trooper + Name: actor-trooper.name Health: HP: 110 Mobile: diff --git a/mods/d2/rules/vechicle.yaml b/mods/d2/rules/vechicle.yaml index 1c35537..adaeff2 100644 --- a/mods/d2/rules/vechicle.yaml +++ b/mods/d2/rules/vechicle.yaml @@ -2,7 +2,7 @@ Inherits@1: ^ExistsInWorld Inherits@3: ^SpriteActor Tooltip: - GenericName: Unit + GenericName: meta-vehicle-generic-name Huntable: Mobile: Locomotor: vehicle diff --git a/mods/d2/rules/wall.yaml b/mods/d2/rules/wall.yaml index f02bbc8..ae32c37 100644 --- a/mods/d2/rules/wall.yaml +++ b/mods/d2/rules/wall.yaml @@ -10,15 +10,15 @@ wall: BuildPaletteOrder: 70 BuildDuration: 500 BuildDurationModifier: 40 - Description: Stop units and blocks enemy fire. + Description: actor-wall.description SoundOnDamageTransition: DamagedSounds: DestroyedSounds: EXPLSML4.WAV Valued: Cost: 50 Tooltip: - Name: Concrete Wall - GenericName: Structure + Name: actor-wall.name + GenericName: meta-building-generic-name AppearsOnRadar: D2Building: BuildSounds: CHUNG.WAV diff --git a/mods/d2/rules/wind_trap.yaml b/mods/d2/rules/wind_trap.yaml index f015748..566ec72 100644 --- a/mods/d2/rules/wind_trap.yaml +++ b/mods/d2/rules/wind_trap.yaml @@ -5,13 +5,13 @@ wind_trap: BuildPaletteOrder: 20 BuildDuration: 600 BuildDurationModifier: 40 - Description: Provides power for other structures + Description: actor-wind-trap.description Selectable: Bounds: 2048, 2048 Valued: Cost: 300 Tooltip: - Name: Wind Trap + Name: actor-wind-trap.name D2Building: Footprint: xx xx Dimensions: 2,2 diff --git a/mods/d2/rules/wor.yaml b/mods/d2/rules/wor.yaml index 1960baa..e136127 100644 --- a/mods/d2/rules/wor.yaml +++ b/mods/d2/rules/wor.yaml @@ -6,13 +6,13 @@ wor: BuildPaletteOrder: 100 BuildDuration: 1300 BuildDurationModifier: 40 - Description: Trains heavy infantry\n Cannot be captured. + Description: actor-wor.description Selectable: Bounds: 2048, 2048 Valued: Cost: 400 Tooltip: - Name: WOR + Name: actor-wor.name D2Building: Footprint: xx xx Dimensions: 2,2 @@ -83,14 +83,14 @@ upgrade.wor: Interactable: ScriptTriggers: Tooltip: - Name: WOR Upgrade + Name: actor-upgrade-wor.name Buildable: BuildPaletteOrder: 999 Queue: Trooper BuildLimit: 1 BuildDuration: 250 BuildDurationModifier: 40 - Description: Unlocks troopers squads + Description: actor-upgrade-wor.description Valued: Cost: 150 RenderSprites: diff --git a/mods/d2/rules/world.yaml b/mods/d2/rules/world.yaml index e045abc..7f8d22c 100644 --- a/mods/d2/rules/world.yaml +++ b/mods/d2/rules/world.yaml @@ -92,36 +92,36 @@ SpiceSand: 100 Spice: 100 Faction@Random: - Name: Any + Name: faction-random.name InternalName: Random RandomFactionMembers: atreides, harkonnen, ordos - Description: Select a random House. + Description: faction-random.description Faction@Atreides: - Name: Atreides + Name: faction-atreides.name InternalName: atreides - Description: House Atreides\nThe noble Atreides, from the water world of Caladan,\nrely on their ornithopters to ensure air superiority.\nThey have allied themselves with the Fremen, the fearsome\nnative warriors of Dune that can move undetected in battle.\n\nFaction Variations:\n - Combat tanks are balanced in terms of speed and durability\n\nSpecial Units:\n - Grenadier\n - Fremen\n - Sonic Tank\n\nSuperweapon:\n - Airstrike + Description: faction-atreides.description Faction@Harkonnen: - Name: Harkonnen + Name: faction-harkonnen.name InternalName: harkonnen - Description: House Harkonnen\nThe evil Harkonnen will stop at nothing to gain control of the spice.\nThey rely on brute force and atomic weapons to achieve their goals:\nwealth, and the destruction of House Atreides.\n\nFaction Variations:\n - Combat Tanks are more durable but slower \n\nSpecial Units:\n - Sardaukar\n - Devastator\n\nSuperweapon: \n - Death Hand Missile + Description: faction-harkonnen.description Faction@Ordos: - Name: Ordos + Name: faction-ordos.name InternalName: ordos - Description: House Ordos\nThe insidious Ordos of the icy planet Sigma Draconis IV\nare known for their wealth, greed and treachery.\nRelying heavily on mercenaries they often resort\nto sabotage and forbidden Ixian technologies.\n\nFaction Variations: \n - Trikes are replaced by Raider Trikes\n - Combat Tanks are faster but less durable\n\nSpecial Units:\n - Raider Trike\n - Stealth Raider Trike\n - Saboteur\n - Deviator + Description: faction-ordos.description Faction@Corrino: - Name: Corrino + Name: faction-corrino.name InternalName: corrino Selectable: false Faction@Mercenaries: - Name: Mercenaries + Name: faction-mercenaries.name InternalName: mercenary Selectable: false Faction@Smugglers: - Name: Smugglers + Name: faction-smugglers.name InternalName: smuggler Selectable: false Faction@Fremen: - Name: Fremen + Name: actor-fremen.name InternalName: fremen Selectable: false D2ResourceRenderer: @@ -129,7 +129,7 @@ Spice: Sequences: spice Palette: d2 - Name: Spice + Name: resource-spice World: Inherits: ^BaseWorld @@ -170,8 +170,8 @@ World: SmokeImage: smoke_m SmokeSequences: idle MapCreeps: - CheckboxLabel: Worms - CheckboxDescription: Worms roam the map and devour unprepared forces + CheckboxLabel: dropdown-map-worms.label + CheckboxDescription: dropdown-map-worms.description CheckboxDisplayOrder: 5 SpawnMapActors: MapBuildRadius: @@ -186,12 +186,12 @@ World: SeparateTeamSpawnsCheckboxDisplayOrder: 6 StartingUnits@conyard: Class: none - ClassName: Con. Yard Only + ClassName: options-starting-units.conyard-only BaseActor: construction_yard Factions: atreides, ordos, harkonnen StartingUnits@lightatreides: Class: light - ClassName: Light Support + ClassName: options-starting-units.light-support Factions: atreides BaseActor: construction_yard SupportActors: light_inf, light_inf, light_inf, light_squad, light_squad, trike, quad @@ -199,7 +199,7 @@ World: OuterSupportRadius: 5 StartingUnits@lightharkonnen: Class: light - ClassName: Light Support + ClassName: options-starting-units.light-support Factions: harkonnen BaseActor: construction_yard SupportActors: trooper, trooper, trooper, trooper_squad, trooper_squad, quad, quad @@ -207,7 +207,7 @@ World: OuterSupportRadius: 5 StartingUnits@lightordos: Class: light - ClassName: Light Support + ClassName: options-starting-units.light-support Factions: ordos BaseActor: construction_yard SupportActors: light_inf, light_inf, light_squad, trooper, trooper_squad, raider, quad @@ -215,7 +215,7 @@ World: OuterSupportRadius: 5 StartingUnits@mediumatreides: Class: medium - ClassName: Medium Support + ClassName: options-starting-units.medium-support Factions: atreides BaseActor: construction_yard SupportActors: light_inf, light_inf, light_squad, light_squad, light_squad, trike, quad, combat_tank, missile_tank, siege_tank @@ -223,7 +223,7 @@ World: OuterSupportRadius: 5 StartingUnits@mediumharkonnen: Class: medium - ClassName: Medium Support + ClassName: options-starting-units.medium-support Factions: harkonnen BaseActor: construction_yard SupportActors: trooper, trooper, trooper_squad, trooper_squad, trooper_squad, quad, quad, combat_tank, missile_tank, siege_tank @@ -231,7 +231,7 @@ World: OuterSupportRadius: 5 StartingUnits@mediumordos: Class: medium - ClassName: Medium Support + ClassName: options-starting-units.medium-support Factions: ordos BaseActor: construction_yard SupportActors: light_inf, light_squad, light_squad, trooper, trooper_squad, raider, quad, combat_tank, missile_tank, siege_tank @@ -239,7 +239,7 @@ World: OuterSupportRadius: 5 StartingUnits@heavyatreides: Class: heavy - ClassName: Heavy Support + ClassName: options-starting-units.heavy-support Factions: atreides BaseActor: construction_yard SupportActors: light_squad, light_squad, light_squad, light_squad, light_squad, trike, quad, combat_tank, combat_tank, missile_tank, siege_tank, sonic_tank @@ -247,7 +247,7 @@ World: OuterSupportRadius: 5 StartingUnits@heavyharkonnen: Class: heavy - ClassName: Heavy Support + ClassName: options-starting-units.heavy-support Factions: harkonnen BaseActor: construction_yard SupportActors: trooper_squad, trooper_squad, trooper_squad, trooper_squad, trooper_squad, quad, quad, combat_tank, combat_tank, missile_tank, siege_tank, devastator @@ -255,7 +255,7 @@ World: OuterSupportRadius: 5 StartingUnits@heavyordos: Class: heavy - ClassName: Heavy Support + ClassName: options-starting-units.heavy-support Factions: ordos BaseActor: construction_yard SupportActors: light_squad, light_squad, light_squad, trooper_squad, trooper_squad, raider, quad, combat_tank, combat_tank, missile_tank, siege_tank, deviator