]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Localize planet dataset names (#33398)
authorMilenVolf <63782763+MilenVolf@users.noreply.github.com>
Wed, 20 Nov 2024 00:57:43 +0000 (03:57 +0300)
committerGitHub <noreply@github.com>
Wed, 20 Nov 2024 00:57:43 +0000 (11:57 +1100)
* Localize planet names (borer)

* DatasetPrototype -> LocalizedDatasetPrototype

* Apply requested changes

Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs
Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs
Content.Server/Salvage/SpawnSalvageMissionJob.cs
Content.Server/Shuttles/Components/GridSpawnComponent.cs
Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs
Content.Server/Shuttles/Systems/ShuttleSystem.cs
Content.Shared/Salvage/SharedSalvageSystem.cs
Resources/Locale/en-US/datasets/names/borer.ftl [new file with mode: 0644]
Resources/Prototypes/Datasets/Names/borer.yml
Resources/Prototypes/Entities/Stations/base.yml

index 7dcd42e06fa0f65a1661cf0bc4f17d42905a4d43..666d1045174c5f3303e8fe14e9384e54da4f861a 100644 (file)
@@ -34,10 +34,11 @@ public sealed class GatewayGeneratorSystem : EntitySystem
     [Dependency] private readonly GatewaySystem _gateway = default!;
     [Dependency] private readonly MetaDataSystem _metadata = default!;
     [Dependency] private readonly SharedMapSystem _maps = default!;
+    [Dependency] private readonly SharedSalvageSystem _salvage = default!;
     [Dependency] private readonly TileSystem _tile = default!;
 
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string PlanetNames = "names_borer";
+    [ValidatePrototypeId<LocalizedDatasetPrototype>]
+    private const string PlanetNames = "NamesBorer";
 
     // TODO:
     // Fix shader some more
@@ -102,7 +103,7 @@ public sealed class GatewayGeneratorSystem : EntitySystem
         var mapId = _mapManager.CreateMap();
         var mapUid = _mapManager.GetMapEntityId(mapId);
 
-        var gatewayName = SharedSalvageSystem.GetFTLName(_protoManager.Index<DatasetPrototype>(PlanetNames), seed);
+        var gatewayName = _salvage.GetFTLName(_protoManager.Index<LocalizedDatasetPrototype>(PlanetNames), seed);
         _metadata.SetEntityName(mapUid, gatewayName);
 
         var origin = new Vector2i(random.Next(-MaxOffset, MaxOffset), random.Next(-MaxOffset, MaxOffset));
index d031418476702b59f854a6da9c41dad4f8ab8531..a9d8314f57cc4f8fa1b54855c64d6869186e84f8 100644 (file)
@@ -28,7 +28,7 @@ public sealed partial class SalvageSystem
         var mission = GetMission(_prototypeManager.Index<SalvageDifficultyPrototype>(missionparams.Difficulty), missionparams.Seed);
         data.NextOffer = _timing.CurTime + mission.Duration + TimeSpan.FromSeconds(1);
 
-        _labelSystem.Label(cdUid, GetFTLName(_prototypeManager.Index<DatasetPrototype>("names_borer"), missionparams.Seed));
+        _labelSystem.Label(cdUid, GetFTLName(_prototypeManager.Index<LocalizedDatasetPrototype>("NamesBorer"), missionparams.Seed));
         _audio.PlayPvs(component.PrintSound, uid);
 
         UpdateConsoles((station.Value, data));
index 525fe01a1f82852046f6541833b9ebab3be066f6..31c6b73253dcdbc59d5dcf2e4900bdc2690dc043 100644 (file)
@@ -104,7 +104,9 @@ public sealed class SpawnSalvageMissionJob : Job<bool>
         destComp.BeaconsOnly = true;
         destComp.RequireCoordinateDisk = true;
         destComp.Enabled = true;
-        _metaData.SetEntityName(mapUid, SharedSalvageSystem.GetFTLName(_prototypeManager.Index<DatasetPrototype>("names_borer"), _missionParams.Seed));
+        _metaData.SetEntityName(
+            mapUid,
+            _entManager.System<SharedSalvageSystem>().GetFTLName(_prototypeManager.Index<LocalizedDatasetPrototype>("NamesBorer"), _missionParams.Seed));
         _entManager.AddComponent<FTLBeaconComponent>(mapUid);
 
         // Saving the mission mapUid to a CD is made optional, in case one is somehow made in a process without a CD entity
index 430c9c8df285c60551534235c2068c475c0b6c74..18959dd7f376d1a8b68c24d7c21aed37f8472b0c 100644 (file)
@@ -32,7 +32,7 @@ public interface IGridSpawnGroup
     public float MaximumDistance { get;  }
 
     /// <inheritdoc />
-    public ProtoId<DatasetPrototype>? NameDataset { get; }
+    public ProtoId<LocalizedDatasetPrototype>? NameDataset { get; }
 
     /// <inheritdoc />
     int MinCount { get; set; }
@@ -75,7 +75,7 @@ public sealed class DungeonSpawnGroup : IGridSpawnGroup
     public float MaximumDistance { get; }
 
     /// <inheritdoc />
-    public ProtoId<DatasetPrototype>? NameDataset { get; }
+    public ProtoId<LocalizedDatasetPrototype>? NameDataset { get; }
 
     /// <inheritdoc />
     public int MinCount { get; set; } = 1;
@@ -106,7 +106,7 @@ public sealed class GridSpawnGroup : IGridSpawnGroup
 
     /// <inheritdoc />
     public float MaximumDistance { get; }
-    public ProtoId<DatasetPrototype>? NameDataset { get; }
+    public ProtoId<LocalizedDatasetPrototype>? NameDataset { get; }
     public int MinCount { get; set; } = 1;
     public int MaxCount { get; set; } = 1;
     public ComponentRegistry AddComponents { get; set; } = new();
index 5ad94699bed166693da6c7c101006220493c49da..de0593b26f0fd8538e83e9fe42caa47349735f29 100644 (file)
@@ -208,7 +208,7 @@ public sealed partial class ShuttleSystem
 
                 if (_protoManager.TryIndex(group.NameDataset, out var dataset))
                 {
-                    _metadata.SetEntityName(spawned, SharedSalvageSystem.GetFTLName(dataset, _random.Next()));
+                    _metadata.SetEntityName(spawned, _salvage.GetFTLName(dataset, _random.Next()));
                 }
 
                 if (group.Hide)
index 054c42f934a85686cab5cf2a9c1d92f2eb98d7d0..6e8c1a9e204f2d691bd8de8792acdba5484c6744 100644 (file)
@@ -8,6 +8,7 @@ using Content.Server.Station.Systems;
 using Content.Server.Stunnable;
 using Content.Shared.GameTicking;
 using Content.Shared.Mobs.Systems;
+using Content.Shared.Salvage;
 using Content.Shared.Shuttles.Systems;
 using Content.Shared.Throwing;
 using JetBrains.Annotations;
@@ -51,6 +52,7 @@ public sealed partial class ShuttleSystem : SharedShuttleSystem
     [Dependency] private readonly SharedAudioSystem _audio = default!;
     [Dependency] private readonly SharedPhysicsSystem _physics = default!;
     [Dependency] private readonly SharedTransformSystem _transform = default!;
+    [Dependency] private readonly SharedSalvageSystem _salvage = default!;
     [Dependency] private readonly ShuttleConsoleSystem _console = default!;
     [Dependency] private readonly StationSystem _station = default!;
     [Dependency] private readonly StunSystem _stuns = default!;
index 0c56f4f556e8e01eca9f24d2b65ed1e379eeffed..12d0a26449c35a8f875ea51a40c0acce7d4ddb19 100644 (file)
@@ -26,10 +26,10 @@ public abstract partial class SharedSalvageSystem : EntitySystem
     [ValidatePrototypeId<SalvageLootPrototype>]
     public const string ExpeditionsLootProto = "SalvageLoot";
 
-    public static string GetFTLName(DatasetPrototype dataset, int seed)
+    public string GetFTLName(LocalizedDatasetPrototype dataset, int seed)
     {
         var random = new System.Random(seed);
-        return $"{dataset.Values[random.Next(dataset.Values.Count)]}-{random.Next(10, 100)}-{(char) (65 + random.Next(26))}";
+        return $"{Loc.GetString(dataset.Values[random.Next(dataset.Values.Count)])}-{random.Next(10, 100)}-{(char) (65 + random.Next(26))}";
     }
 
     public SalvageMission GetMission(SalvageDifficultyPrototype difficulty, int seed)
diff --git a/Resources/Locale/en-US/datasets/names/borer.ftl b/Resources/Locale/en-US/datasets/names/borer.ftl
new file mode 100644 (file)
index 0000000..17cae85
--- /dev/null
@@ -0,0 +1,69 @@
+names-borer-dataset-1 = Alcyonium
+names-borer-dataset-2 = Anomia
+names-borer-dataset-3 = Aphrodita
+names-borer-dataset-4 = Arca
+names-borer-dataset-5 = Argonauta
+names-borer-dataset-6 = Ascaris
+names-borer-dataset-7 = Asterias
+names-borer-dataset-8 = Buccinum
+names-borer-dataset-9 = Bulla
+names-borer-dataset-10 = Cardium
+names-borer-dataset-11 = Chama
+names-borer-dataset-12 = Chiton
+names-borer-dataset-13 = Conus
+names-borer-dataset-14 = Corallina
+names-borer-dataset-15 = Cypraea
+names-borer-dataset-16 = Dentalium
+names-borer-dataset-17 = Donax
+names-borer-dataset-18 = Doris
+names-borer-dataset-19 = Echinus
+names-borer-dataset-20 = Eschara
+names-borer-dataset-21 = Fasciola
+names-borer-dataset-22 = Furia
+names-borer-dataset-23 = Gordius
+names-borer-dataset-24 = Gorgonia
+names-borer-dataset-25 = Haliotis
+names-borer-dataset-26 = Helix
+names-borer-dataset-27 = Hirudo
+names-borer-dataset-28 = Holothuria
+names-borer-dataset-29 = Hydra
+names-borer-dataset-30 = Isis
+names-borer-dataset-31 = Lepas
+names-borer-dataset-32 = Lernaea
+names-borer-dataset-33 = Limax
+names-borer-dataset-34 = Lumbricus
+names-borer-dataset-35 = Madrepora
+names-borer-dataset-36 = Medusa
+names-borer-dataset-37 = Millepora
+names-borer-dataset-38 = Murex
+names-borer-dataset-39 = Myes
+names-borer-dataset-40 = Mytilus
+names-borer-dataset-41 = Myxine
+names-borer-dataset-42 = Nautilus
+names-borer-dataset-43 = Nereis
+names-borer-dataset-44 = Neritha
+names-borer-dataset-45 = Ostrea
+names-borer-dataset-46 = Patella
+names-borer-dataset-47 = Pennatula
+names-borer-dataset-48 = Pholas
+names-borer-dataset-49 = Pinna
+names-borer-dataset-50 = Priapus
+names-borer-dataset-51 = Scyllaea
+names-borer-dataset-52 = Sepia
+names-borer-dataset-53 = Serpula
+names-borer-dataset-54 = Sertularia
+names-borer-dataset-55 = Solen
+names-borer-dataset-56 = Spondylus
+names-borer-dataset-57 = Strombus
+names-borer-dataset-58 = Taenia
+names-borer-dataset-59 = Tellina
+names-borer-dataset-60 = Teredo
+names-borer-dataset-61 = Tethys
+names-borer-dataset-62 = Triton
+names-borer-dataset-63 = Trochus
+names-borer-dataset-64 = Tubipora
+names-borer-dataset-65 = Tubularia
+names-borer-dataset-66 = Turbo
+names-borer-dataset-67 = Venus
+names-borer-dataset-68 = Voluta
+names-borer-dataset-69 = Volvox
index 03667f67a7a5e54ac2832bd348f89f242c476433..e8d741e6a9646f72bec36e7e34a491998064c07f 100644 (file)
@@ -1,72 +1,5 @@
-- type: dataset
-  id: names_borer
+- type: localizedDataset
+  id: NamesBorer
   values:
-  - Alcyonium
-  - Anomia
-  - Aphrodita
-  - Arca
-  - Argonauta
-  - Ascaris
-  - Asterias
-  - Buccinum
-  - Bulla
-  - Cardium
-  - Chama
-  - Chiton
-  - Conus
-  - Corallina
-  - Cypraea
-  - Dentalium
-  - Donax
-  - Doris
-  - Echinus
-  - Eschara
-  - Fasciola
-  - Furia
-  - Gordius
-  - Gorgonia
-  - Haliotis
-  - Helix
-  - Hirudo
-  - Holothuria
-  - Hydra
-  - Isis
-  - Lepas
-  - Lernaea
-  - Limax
-  - Lumbricus
-  - Madrepora
-  - Medusa
-  - Millepora
-  - Murex
-  - Myes
-  - Mytilus
-  - Myxine
-  - Nautilus
-  - Nereis
-  - Neritha
-  - Ostrea
-  - Patella
-  - Pennatula
-  - Pholas
-  - Pinna
-  - Priapus
-  - Scyllaea
-  - Sepia
-  - Serpula
-  - Sertularia
-  - Solen
-  - Spondylus
-  - Strombus
-  - Taenia
-  - Tellina
-  - Teredo
-  - Tethys
-  - Triton
-  - Trochus
-  - Tubipora
-  - Tubularia
-  - Turbo
-  - Venus
-  - Voluta
-  - Volvox
+    prefix: names-borer-dataset-
+    count: 69
index effb391404da7fbf5d210a7df7298b97a0a95a7f..5d95e7cbe0628c0c9dcaff9ae64e6ec632acb612 100644 (file)
@@ -73,7 +73,7 @@
         vgroid: !type:DungeonSpawnGroup
           minimumDistance: 300
           maximumDistance: 350
-          nameDataset: names_borer
+          nameDataset: NamesBorer
           stationGrid: false
           addComponents:
           - type: Gravity