]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
More salvage fixes (#15618)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Fri, 21 Apr 2023 07:16:49 +0000 (17:16 +1000)
committerGitHub <noreply@github.com>
Fri, 21 Apr 2023 07:16:49 +0000 (17:16 +1000)
Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs
Content.Server/Salvage/SalvageSystem.Runner.cs
Resources/Locale/en-US/procedural/expeditions.ftl

index eeb737f90b64e7cd192523fd4706f7ca70528b73..843dc2a50219c4442ba367aaa5ca39293dda56a9 100644 (file)
@@ -46,5 +46,6 @@ public enum ExpeditionStage : byte
     Added,
     Running,
     Countdown,
+    MusicCountdown,
     FinalCountdown,
 }
index a1be3e4838e0289c5c79cd77f83e780ed97b3784..9512908b696c2624dc054eb71bcdbdb36e4b7767 100644 (file)
@@ -126,12 +126,17 @@ public sealed partial class SalvageSystem
                 comp.Stage = ExpeditionStage.FinalCountdown;
                 Announce(uid, Loc.GetString("salvage-expedition-announcement-countdown-seconds", ("duration", TimeSpan.FromSeconds(30).Seconds)));
             }
-            else if (comp.Stage < ExpeditionStage.Countdown && remaining < TimeSpan.FromMinutes(2))
+            else if (comp.Stage < ExpeditionStage.Countdown && remaining < TimeSpan.FromMinutes(5))
+            {
+                comp.Stage = ExpeditionStage.Countdown;
+                Announce(uid, Loc.GetString("salvage-expedition-announcement-countdown-minutes", ("duration", TimeSpan.FromMinutes(5).Minutes)));
+            }
+            else if (comp.Stage < ExpeditionStage.MusicCountdown && remaining < TimeSpan.FromMinutes(2))
             {
                 // TODO: Some way to play audio attached to a map for players.
                comp.Stream = _audio.PlayGlobal(new SoundPathSpecifier("/Audio/Misc/salvage.ogg"),
                     Filter.BroadcastMap(Comp<MapComponent>(uid).MapId), true, AudioParams.Default.WithVolume(-7));
-                comp.Stage = ExpeditionStage.Countdown;
+                comp.Stage = ExpeditionStage.MusicCountdown;
                 Announce(uid, Loc.GetString("salvage-expedition-announcement-countdown-minutes", ("duration", TimeSpan.FromMinutes(2).Minutes)));
             }
             // Auto-FTL out any shuttles
@@ -192,6 +197,12 @@ public sealed partial class SalvageSystem
             {
                 Announce(uid, Loc.GetString("salvage-expedition-structure-remaining", ("count", structure.Structures.Count)));
             }
+
+            if (structure.Structures.Count == 0)
+            {
+                comp.Completed = true;
+                Announce(uid, Loc.GetString("salvage-expedition-completed"));
+            }
         }
     }
 }
index 62e59445f56c32ca0471eacca85a032dc8d37c90..b7258d365d46b219b434dedbd2b94d5a7fea0801 100644 (file)
@@ -1,5 +1,8 @@
 salvage-expedition-structure-examine = This is a [color=#B02E26]destruction[/color] objective
-salvage-expedition-structure-remaining = {$count} structures remaining.
+salvage-expedition-structure-remaining = {$count ->
+    [one] {$count} structure remaining.
+    *[other] {$count} structures remaining.
+}
 
 salvage-expedition-window-title = Salvage expeditions
 salvage-expedition-window-difficulty = Difficulty:
@@ -18,12 +21,15 @@ salvage-expedition-window-next = Next offer
 # Expedition descriptions
 salvage-expedition-desc-mining = Collect resources inside the area.
 #  You will be taxed {$tax}% of the resources collected.
-salvage-expedition-desc-structure = Destroy {$count} {$structure} inside the area.
+salvage-expedition-desc-structure = {$count ->
+    [one] Destroy {$count} {$structure} inside the area.
+    *[other] Destroy {$count} {$structure}s inside the area.
+}
 
 salvage-expedition-type-Mining = Mining
 salvage-expedition-type-Destruction = Destruction
 
-salvage-expedition-difficulty-None = Minimal
+salvage-expedition-difficulty-Minimal = Minimal
 salvage-expedition-difficulty-Minor = Minor
 salvage-expedition-difficulty-Moderate = Moderate
 salvage-expedition-difficulty-Hazardous = Hazardous
@@ -33,3 +39,4 @@ salvage-expedition-difficulty-Extreme = Extreme
 salvage-expedition-announcement-countdown-minutes = {$duration} minutes remaining to complete the expedition.
 salvage-expedition-announcement-countdown-seconds = {$duration} seconds remaining to complete the expedition.
 salvage-expedition-announcement-dungeon = Dungeon is located {$direction}.
+salvage-expedition-completed = Expedition is completed.