]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix salvage dungeon spawn offset + remove mining (#16379)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Sat, 13 May 2023 15:42:37 +0000 (01:42 +1000)
committerGitHub <noreply@github.com>
Sat, 13 May 2023 15:42:37 +0000 (11:42 -0400)
Content.Server/Salvage/SalvageSystem.Expeditions.cs
Content.Server/Salvage/SpawnSalvageMissionJob.cs

index 2362331d3ff46981ef69bd99050a884d8d260c9a..046f0990028b00a6fbdeb061f15f2869291cf7b8 100644 (file)
@@ -232,6 +232,9 @@ public sealed partial class SalvageSystem
         if (configs.Count == 0)
             return;
 
+        // Temporarily removed coz it SUCKS
+        configs.Remove(SalvageMissionType.Mining);
+
         for (var i = 0; i < MissionLimit; i++)
         {
             _random.Shuffle(configs);
index 862e49561421a05c5d91bbddb098e75eeae4aae7..2d27927b45bb46fa74de96a1dc736f363536df76 100644 (file)
@@ -139,26 +139,19 @@ public sealed class SpawnSalvageMissionJob : Job<bool>
         _entManager.InitializeAndStartEntity(ftlUid);
 
         var landingPadRadius = 24;
-        var minDungeonOffset = landingPadRadius + 12;
+        var minDungeonOffset = landingPadRadius + 4;
 
+        // We'll use the dungeon rotation as the spawn angle
         var dungeonRotation = _dungeon.GetDungeonRotation(_missionParams.Seed);
-        var dungeonSpawnRotation = new Angle(random.NextDouble() * Math.Tau);
-
-        // If the dungeon were to spawn facing the landing pad then bump the offset a bit
-        // This isn't robust but fine for now.
-        if (Math.Abs((dungeonRotation - dungeonSpawnRotation).Theta) < Math.PI / 2)
-        {
-            minDungeonOffset += 16;
-        }
 
         Dungeon dungeon = default!;
 
         if (config != SalvageMissionType.Mining)
         {
-            var maxDungeonOffset = minDungeonOffset + 24;
+            var maxDungeonOffset = minDungeonOffset + 12;
             var dungeonOffsetDistance = minDungeonOffset + (maxDungeonOffset - minDungeonOffset) * random.NextFloat();
-            var dungeonOffset = new Vector2(dungeonOffsetDistance, 0f);
-            dungeonOffset = dungeonSpawnRotation.RotateVec(dungeonOffset);
+            var dungeonOffset = new Vector2(0f, dungeonOffsetDistance);
+            dungeonOffset = dungeonRotation.RotateVec(dungeonOffset);
             var dungeonMod = _prototypeManager.Index<SalvageDungeonMod>(mission.Dungeon);
             var dungeonConfig = _prototypeManager.Index<DungeonConfigPrototype>(dungeonMod.Proto);
             dungeon =