diff --git a/Content.Client/Shuttles/UI/NavScreen.xaml b/Content.Client/Shuttles/UI/NavScreen.xaml index 8d080f8d613..df038708f5f 100644 --- a/Content.Client/Shuttles/UI/NavScreen.xaml +++ b/Content.Client/Shuttles/UI/NavScreen.xaml @@ -74,7 +74,6 @@ Text="{controls:Loc 'shuttle-console-dock-toggle'}" TextAlign="Center" ToggleMode="True"/> - diff --git a/Content.Server/Shuttles/Components/ShuttleComponent.cs b/Content.Server/Shuttles/Components/ShuttleComponent.cs index 488f1d3a21b..6ef92abdf83 100644 --- a/Content.Server/Shuttles/Components/ShuttleComponent.cs +++ b/Content.Server/Shuttles/Components/ShuttleComponent.cs @@ -66,9 +66,9 @@ public sealed partial class ShuttleComponent : Component /// Damping applied to the shuttle's physics component when not in FTL. /// [DataField("linearDamping"), ViewVariables(VVAccess.ReadWrite)] - public float LinearDamping = 0.05f; + public float LinearDamping = 0.005f; // Frontier PR 1298 0.005f < 0.05f [DataField("angularDamping"), ViewVariables(VVAccess.ReadWrite)] - public float AngularDamping = 0.05f; + public float AngularDamping = 0.6f; // Frontier PR 1298 0.6f < 0.05f } } diff --git a/Content.Server/Shuttles/Systems/DockingSystem.cs b/Content.Server/Shuttles/Systems/DockingSystem.cs index 59a030e83c9..13f0200bd2e 100644 --- a/Content.Server/Shuttles/Systems/DockingSystem.cs +++ b/Content.Server/Shuttles/Systems/DockingSystem.cs @@ -9,6 +9,9 @@ using Content.Shared.Shuttles.Components; using Content.Shared.Shuttles.Events; using Content.Shared.Shuttles.Systems; +using Content.Server.Shuttles.Components; +using Content.Server.Shuttles.Events; +using Content.Server.Shuttles.Systems; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Physics; @@ -176,8 +179,11 @@ private void OnStartup(Entity entity, ref ComponentStartup arg } } - private void OnAnchorChange(Entity entity, ref AnchorStateChangedEvent args) + public void OnAnchorChange(Entity entity, ref AnchorStateChangedEvent args) { + + _console.RefreshShuttleConsoles(); // frontier + if (!args.Anchored) { Undock(entity); diff --git a/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs index bb4a1ee962f..bf40aed2d0f 100644 --- a/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs +++ b/Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs @@ -37,6 +37,7 @@ public sealed partial class ShuttleConsoleSystem : SharedShuttleConsoleSystem [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly ShuttleSystem _shuttle = default!; + [Dependency] private readonly DockingSystem _docking = default!; [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly TagSystem _tags = default!; [Dependency] private readonly UserInterfaceSystem _ui = default!; @@ -46,7 +47,7 @@ public sealed partial class ShuttleConsoleSystem : SharedShuttleConsoleSystem private EntityQuery _xformQuery; private readonly HashSet> _consoles = new(); - + private readonly HashSet> _docks = new(); public override void Initialize() { base.Initialize(); @@ -83,6 +84,7 @@ public override void Initialize() SubscribeLocalEvent(OnEmpPulse); SubscribeLocalEvent(OnToolUseAttempt); + InitializeFTL(); } @@ -101,6 +103,11 @@ private void OnDock(DockEvent ev) RefreshShuttleConsoles(); } + private void OnDockAnchorChange(Entity entity, ref AnchorStateChangedEvent args) + { + RefreshShuttleConsoles(); + } + private void OnUndock(UndockEvent ev) { RefreshShuttleConsoles(); diff --git a/Content.Shared/Doors/Components/DoorComponent.cs b/Content.Shared/Doors/Components/DoorComponent.cs index 21fad142b3a..ec8a1fb1f61 100644 --- a/Content.Shared/Doors/Components/DoorComponent.cs +++ b/Content.Shared/Doors/Components/DoorComponent.cs @@ -291,9 +291,11 @@ private float? SecondsUntilStateChange [DataField] public bool ClickOpen = true; + [ViewVariables(VVAccess.ReadWrite)] [DataField(customTypeSerializer: typeof(ConstantSerializer))] public int OpenDrawDepth = (int) DrawDepth.DrawDepth.Doors; + [ViewVariables(VVAccess.ReadWrite)] [DataField(customTypeSerializer: typeof(ConstantSerializer))] public int ClosedDrawDepth = (int) DrawDepth.DrawDepth.Doors; } diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml index 0a1aea23cd7..7c433ee4a21 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml @@ -1221,7 +1221,7 @@ tags: - Wall - type: Physics - bodyType: Static + bodyType: Dynamic - type: Fixtures fixtures: fix1: diff --git a/Resources/Prototypes/Entities/World/Debris/asteroids.yml b/Resources/Prototypes/Entities/World/Debris/asteroids.yml index 90007fe4773..97f8dfb890f 100644 --- a/Resources/Prototypes/Entities/World/Debris/asteroids.yml +++ b/Resources/Prototypes/Entities/World/Debris/asteroids.yml @@ -5,6 +5,9 @@ abstract: true components: - type: MapGrid + - type: Shuttle #frontier + linearDamping: 0.02 + angulerDamping: 0.02 - type: BlobFloorPlanBuilder floorTileset: - FloorAsteroidSand diff --git a/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml b/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml index 158eae93dcc..0c107678fad 100644 --- a/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml +++ b/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml @@ -24,5 +24,7 @@ AirlockGlassFlatpack: 20 AirlockShuttleFlatpack: 20 AirlockGlassShuttleFlatpack: 20 + IronMassFlatpack: 50 + DockingMagnetFlatpack: 50 emaggedInventory: HoverbikeFlatpack: 1 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml b/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml index 464a1404327..9511bbb1b53 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml @@ -457,6 +457,24 @@ - type: Flatpack entity: AirlockGlassShuttle +- type: entity + parent: AirlockFlatpack + id: DockingMagnetFlatpack + name: docking magnet flatpack + description: A flatpack used for constructing a docking magnet. + components: + - type: Flatpack + entity: AirlockDockingMagnet + +- type: entity + parent: AirlockFlatpack + id: IronMassFlatpack + name: iron mass flatpack + description: A flatpack used for constructing an iron mass, used to connect to a docking magnet. + components: + - type: Flatpack + entity: AirlockIronMass + # Musical instruments - type: entity parent: BaseNFFlatpack @@ -631,3 +649,14 @@ entity: VehicleHoverbikeNfsdKey - type: StaticPrice price: 750 + +- type: entity + parent: HoverbikeFlatpack + id: HoverbikeSyndicateFlatpack + name: syndicate hoverbike flatpack + description: A flatpack used for constructing a hoverbike. Keys already slotted in the ignition. + components: + - type: Flatpack + entity: VehicleHoverbikeSyndicateKey + - type: StaticPrice + price: 750 diff --git a/Resources/Prototypes/_NF/Entities/Structures/Doors/Airlocks/airlocks.yml b/Resources/Prototypes/_NF/Entities/Structures/Doors/Airlocks/airlocks.yml index a3e9561393d..8fefad017cc 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Doors/Airlocks/airlocks.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Doors/Airlocks/airlocks.yml @@ -50,3 +50,39 @@ components: - type: PriorityDock tag: DockTransit + +- type: entity + id: AirlockDockingMagnet #frontier + parent: AirlockShuttle + name: docking magnet + description: Necessary for connecting a spacecraft to salvage or asteroids. It can be spun while unanchored. + components: + - type: Docking + - type: Anchorable + - type: Rotatable + rotateWhileAnchored: false + - type: Transform + anchored: true + - type: Weldable + isWelded: true + time: 10000000 + - type: Occluder + enabled: false + - type: Door + clickOpen: false + bumpOpen: false + occludes: false + openDrawDepth: -2 + - type: Sprite + sprite: _NF/Structures/Doors/Airlocks/Glass/magnet.rsi + snapCardinals: false + +- type: entity + id: AirlockIronMass + name: iron mass + parent: AirlockDockingMagnet + description: A hunk of iron meant to be bolted down and attached to a docking magnet. It can be spun while unanchored. + components: + - type: Sprite + sprite: _NF/Structures/Doors/Airlocks/Glass/ironmass.rsi + snapCardinals: false \ No newline at end of file diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/assembly.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/assembly.png new file mode 100644 index 00000000000..5c261e3bb30 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/assembly.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/bolted_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/bolted_unlit.png new file mode 100644 index 00000000000..7bfe27d7033 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/bolted_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closed.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closed.png new file mode 100644 index 00000000000..6586a28c58f Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closed.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closed_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closed_unlit.png new file mode 100644 index 00000000000..dbe2e3e5d5e Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closed_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closing.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closing.png new file mode 100644 index 00000000000..76339a07090 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closing.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closing_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closing_unlit.png new file mode 100644 index 00000000000..02e6d16c7b0 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/closing_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/deny_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/deny_unlit.png new file mode 100644 index 00000000000..1da747f5365 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/deny_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/emergency_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/emergency_unlit.png new file mode 100644 index 00000000000..cfbbe2ec9f1 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/emergency_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/meta.json b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/meta.json new file mode 100644 index 00000000000..ded8386db5c --- /dev/null +++ b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/meta.json @@ -0,0 +1,146 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from CEV-Eris at commit https://github.com/discordia-space/CEV-Eris/commit/14517938186858388656a6aee14bf47af9e9649f - then modified by 20kdc & AJCM-git, glass by Peptide90", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly" + }, + { + "name": "bolted_unlit" + }, + { + "name": "closed" + }, + { + "name": "closed_unlit" + }, + { + "name": "closing", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "closing_unlit", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "deny_unlit", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "open" + }, + { + "name": "opening", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "opening_unlit", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "panel_closing", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "panel_open" + }, + { + "name": "panel_opening", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "welded" + }, + { + "name": "emergency_unlit", + "delays": [ + [ + 0.4, + 0.4 + ] + ] + } + ] +} diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/open.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/open.png new file mode 100644 index 00000000000..fcb918236d5 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/open.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/opening.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/opening.png new file mode 100644 index 00000000000..88e1d4dfffd Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/opening.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/opening_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/opening_unlit.png new file mode 100644 index 00000000000..e08ad581cc9 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/opening_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_closing.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_closing.png new file mode 100644 index 00000000000..cfde871f933 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_closing.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_open.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_open.png new file mode 100644 index 00000000000..4b1c26d373a Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_open.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_opening.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_opening.png new file mode 100644 index 00000000000..37d0826b421 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/panel_opening.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/welded.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/welded.png new file mode 100644 index 00000000000..da558e6a7a9 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/ironmass.rsi/welded.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/assembly.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/assembly.png new file mode 100644 index 00000000000..6fdc64f7fbd Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/assembly.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/bolted_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/bolted_unlit.png new file mode 100644 index 00000000000..7bfe27d7033 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/bolted_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closed.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closed.png new file mode 100644 index 00000000000..1e13f20bf7a Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closed.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closed_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closed_unlit.png new file mode 100644 index 00000000000..dbe2e3e5d5e Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closed_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closing.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closing.png new file mode 100644 index 00000000000..7280a00cf07 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closing.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closing_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closing_unlit.png new file mode 100644 index 00000000000..02e6d16c7b0 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/closing_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/deny_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/deny_unlit.png new file mode 100644 index 00000000000..1da747f5365 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/deny_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/emergency_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/emergency_unlit.png new file mode 100644 index 00000000000..cfbbe2ec9f1 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/emergency_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/meta.json b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/meta.json new file mode 100644 index 00000000000..ded8386db5c --- /dev/null +++ b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/meta.json @@ -0,0 +1,146 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from CEV-Eris at commit https://github.com/discordia-space/CEV-Eris/commit/14517938186858388656a6aee14bf47af9e9649f - then modified by 20kdc & AJCM-git, glass by Peptide90", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly" + }, + { + "name": "bolted_unlit" + }, + { + "name": "closed" + }, + { + "name": "closed_unlit" + }, + { + "name": "closing", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "closing_unlit", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "deny_unlit", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "open" + }, + { + "name": "opening", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "opening_unlit", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "panel_closing", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "panel_open" + }, + { + "name": "panel_opening", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "welded" + }, + { + "name": "emergency_unlit", + "delays": [ + [ + 0.4, + 0.4 + ] + ] + } + ] +} diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/open.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/open.png new file mode 100644 index 00000000000..2fe0029a653 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/open.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/opening.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/opening.png new file mode 100644 index 00000000000..f5d7857fc0f Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/opening.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/opening_unlit.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/opening_unlit.png new file mode 100644 index 00000000000..e08ad581cc9 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/opening_unlit.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_closing.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_closing.png new file mode 100644 index 00000000000..cfde871f933 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_closing.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_open.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_open.png new file mode 100644 index 00000000000..4b1c26d373a Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_open.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_opening.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_opening.png new file mode 100644 index 00000000000..37d0826b421 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/panel_opening.png differ diff --git a/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/welded.png b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/welded.png new file mode 100644 index 00000000000..da558e6a7a9 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Doors/Airlocks/Glass/magnet.rsi/welded.png differ