]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix cryopod interactions (#15045)
authorLeon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Sun, 2 Apr 2023 20:30:03 +0000 (08:30 +1200)
committerGitHub <noreply@github.com>
Sun, 2 Apr 2023 20:30:03 +0000 (06:30 +1000)
Content.Client/Medical/Cryogenics/CryoPodComponent.cs
Content.Server/Medical/Components/CryoPodComponent.cs
Content.Server/Medical/CryoPodSystem.cs
Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs

index 79a5d8a5e3f0097a0e14c8ed5bfc694c5e9739dd..e07d69ea713e57a1299eedafecc833dacf4dc6aa 100644 (file)
@@ -3,5 +3,5 @@ using Content.Shared.Medical.Cryogenics;
 
 namespace Content.Client.Medical.Cryogenics;
 
-[RegisterComponent]
+[RegisterComponent, ComponentReference(typeof(SharedCryoPodComponent))]
 public sealed class CryoPodComponent : SharedCryoPodComponent { }
index 6ede61b0e46e5f71cdff12d7e52ef03c2cdb84be..362576e10c368ba9597f6c895b9e9e3ecd3573b2 100644 (file)
@@ -4,7 +4,7 @@ using Content.Shared.Medical.Cryogenics;
 
 namespace Content.Server.Medical.Components;
 
-[RegisterComponent]
+[RegisterComponent, ComponentReference(typeof(SharedCryoPodComponent))]
 public sealed class CryoPodComponent: SharedCryoPodComponent
 {
     /// <summary>
index a778322caf940a1515cfdce119eeb8fdda553656..886922986bc55d1415706f1ffd58ba8b0268e01d 100644 (file)
@@ -53,7 +53,6 @@ public sealed partial class CryoPodSystem: SharedCryoPodSystem
     {
         base.Initialize();
 
-        SubscribeLocalEvent<CryoPodComponent, CanDropTargetEvent>(OnCryoPodCanDropOn);
         SubscribeLocalEvent<CryoPodComponent, ComponentInit>(OnComponentInit);
         SubscribeLocalEvent<CryoPodComponent, GetVerbsEvent<AlternativeVerb>>(AddAlternativeVerbs);
         SubscribeLocalEvent<CryoPodComponent, GotEmaggedEvent>(OnEmagged);
index 5aadbbaeb8e0725e0f8c2752110b76d4c91d7f3e..204f37ae92b0f9f187de30eeadec26b61a215727 100644 (file)
@@ -26,12 +26,16 @@ public abstract partial class SharedCryoPodSystem: EntitySystem
     {
         base.Initialize();
 
+        SubscribeLocalEvent<SharedCryoPodComponent, CanDropTargetEvent>(OnCryoPodCanDropOn);
         InitializeInsideCryoPod();
     }
 
-    protected void OnCryoPodCanDropOn(EntityUid uid, SharedCryoPodComponent component, ref CanDropTargetEvent args)
+    private void OnCryoPodCanDropOn(EntityUid uid, SharedCryoPodComponent component, ref CanDropTargetEvent args)
     {
-        args.CanDrop = args.CanDrop && HasComp<BodyComponent>(args.Dragged);
+        if (args.Handled)
+            return;
+
+        args.CanDrop = HasComp<BodyComponent>(args.Dragged);
         args.Handled = true;
     }