diff --git a/Content.Server/Salvage/FultonSystem.cs b/Content.Server/Salvage/FultonSystem.cs index a0921f3561..fab0709fd9 100644 --- a/Content.Server/Salvage/FultonSystem.cs +++ b/Content.Server/Salvage/FultonSystem.cs @@ -57,7 +57,10 @@ public sealed class FultonSystem : SharedFultonSystem var xform = Transform(uid); var oldCoords = xform.Coordinates; var offset = _random.NextVector2(1.5f); - TransformSystem.SetCoordinates(uid, new EntityCoordinates(beaconXform.ParentUid, offset)); + var localPos = TransformSystem.GetInvWorldMatrix(beaconXform.ParentUid) + .Transform(TransformSystem.GetWorldPosition(beaconXform)) + offset; + + TransformSystem.SetCoordinates(uid, new EntityCoordinates(beaconXform.ParentUid, localPos)); RaiseNetworkEvent(new FultonAnimationMessage() { diff --git a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs index 2c338a9aa5..e0706d4880 100644 --- a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs +++ b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs @@ -105,7 +105,7 @@ public abstract partial class SharedFultonSystem : EntitySystem private void OnFultonInteract(EntityUid uid, FultonComponent component, AfterInteractEvent args) { - if (args.Target == null || args.Handled) + if (args.Target == null || args.Handled || !args.CanReach) return; if (TryComp(args.Target, out var beacon)) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml index 9d41051f76..705d529c10 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml @@ -12,3 +12,5 @@ WeaponCrusher: 2 WeaponCrusherDagger: 2 WeaponProtoKineticAccelerator: 2 + FultonBeacon: 1 + Fulton: 2 diff --git a/Resources/Prototypes/Entities/Objects/Tools/fulton.yml b/Resources/Prototypes/Entities/Objects/Tools/fulton.yml index e22cae19cd..8e54b4277f 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/fulton.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/fulton.yml @@ -30,6 +30,7 @@ - type: Item size: 30 - type: Foldable + folded: true - type: Clickable - type: InteractionOutline - type: FultonBeacon diff --git a/Resources/Prototypes/Recipes/Lathes/salvage.yml b/Resources/Prototypes/Recipes/Lathes/salvage.yml index 9cec605b3e..57ae75b617 100644 --- a/Resources/Prototypes/Recipes/Lathes/salvage.yml +++ b/Resources/Prototypes/Recipes/Lathes/salvage.yml @@ -3,7 +3,9 @@ result: Fulton1 completetime: 5 materials: - Cloth: 200 + Steel: 200 + # TODO: Need better sources of cloth as otherwise these will never get made. + # Cloth: 200 - type: latheRecipe id: FultonBeacon