]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
refactor toilet (#15406)
authordeltanedas <39013340+deltanedas@users.noreply.github.com>
Fri, 14 Apr 2023 08:45:58 +0000 (08:45 +0000)
committerGitHub <noreply@github.com>
Fri, 14 Apr 2023 08:45:58 +0000 (01:45 -0700)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Content.Server/Toilet/ToiletSystem.cs
Content.Shared/Toilet/SharedWaterclosetVisuals.cs [deleted file]
Content.Shared/Toilet/ToiletVisuals.cs [new file with mode: 0644]
Resources/Locale/en-US/toilet/toilet-component.ftl

index 03591433fb81ddaf5c4942973e84c8da47f3cf52..d158b71616a4c69b4aa79e9a9613880c4d3ff9b6 100644 (file)
@@ -25,11 +25,11 @@ namespace Content.Server.Toilet
     {
         [Dependency] private readonly IRobustRandom _random = default!;
         [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
-        [Dependency] private readonly BodySystem _bodySystem = default!;
+        [Dependency] private readonly BodySystem _body = default!;
         [Dependency] private readonly SharedAudioSystem _audio = default!;
         [Dependency] private readonly SecretStashSystem _secretStash = default!;
-        [Dependency] private readonly PopupSystem _popupSystem = default!;
-        [Dependency] private readonly SharedToolSystem _toolSystem = default!;
+        [Dependency] private readonly PopupSystem _popup = default!;
+        [Dependency] private readonly SharedToolSystem _tool = default!;
 
         public override void Initialize()
         {
@@ -49,16 +49,17 @@ namespace Content.Server.Toilet
                 return;
 
             // Check that victim has a head
-            if (EntityManager.TryGetComponent<BodyComponent>(args.Victim, out var body) &&
-                _bodySystem.BodyHasChildOfType(args.Victim, BodyPartType.Head, body))
+            // FIXME: since suiciding turns you into a ghost immediately, both messages are seen, not sure how this can be fixed
+            if (TryComp<BodyComponent>(args.Victim, out var body) &&
+                _body.BodyHasChildOfType(args.Victim, BodyPartType.Head, body))
             {
                 var othersMessage = Loc.GetString("toilet-component-suicide-head-message-others",
                     ("victim", Identity.Entity(args.Victim, EntityManager)), ("owner", uid));
-                _popupSystem.PopupEntity(othersMessage, uid, Filter.PvsExcept(args.Victim), true, PopupType.MediumCaution);
+                _popup.PopupEntity(othersMessage, uid, Filter.PvsExcept(args.Victim), true, PopupType.MediumCaution);
 
                 var selfMessage = Loc.GetString("toilet-component-suicide-head-message",
                     ("owner", uid));
-                _popupSystem.PopupEntity(selfMessage, uid, args.Victim, PopupType.LargeCaution);
+                _popup.PopupEntity(selfMessage, uid, args.Victim, PopupType.LargeCaution);
 
                 args.SetHandled(SuicideKind.Asphyxiation);
             }
@@ -66,11 +67,11 @@ namespace Content.Server.Toilet
             {
                 var othersMessage = Loc.GetString("toilet-component-suicide-message-others",
                     ("victim", Identity.Entity(args.Victim, EntityManager)), ("owner", uid));
-                _popupSystem.PopupEntity(othersMessage, uid, Filter.PvsExcept(uid), true, PopupType.MediumCaution);
+                _popup.PopupEntity(othersMessage, uid, Filter.PvsExcept(uid), true, PopupType.MediumCaution);
 
                 var selfMessage = Loc.GetString("toilet-component-suicide-message",
                     ("owner", uid));
-                _popupSystem.PopupEntity(selfMessage, uid, args.Victim, PopupType.LargeCaution);
+                _popup.PopupEntity(selfMessage, uid, args.Victim, PopupType.LargeCaution);
 
                 args.SetHandled(SuicideKind.Blunt);
             }
@@ -78,7 +79,7 @@ namespace Content.Server.Toilet
 
         private void OnInit(EntityUid uid, ToiletComponent component, ComponentInit args)
         {
-            EntityManager.EnsureComponent<SecretStashComponent>(uid);
+            EnsureComp<SecretStashComponent>(uid);
         }
 
         private void OnMapInit(EntityUid uid, ToiletComponent component, MapInitEvent args)
@@ -94,7 +95,7 @@ namespace Content.Server.Toilet
                 return;
 
             // are player trying place or lift of cistern lid?
-            if (_toolSystem.UseTool(args.Used, args.User, uid, component.PryLidTime, component.PryingQuality, new ToiletPryDoAfterEvent()))
+            if (_tool.UseTool(args.Used, args.User, uid, component.PryLidTime, component.PryingQuality, new ToiletPryDoAfterEvent()))
             {
                 args.Handled = true;
             }
@@ -124,11 +125,8 @@ namespace Content.Server.Toilet
 
             // just want to up/down seat?
             // check that nobody seats on seat right now
-            if (EntityManager.TryGetComponent(uid, out StrapComponent? strap))
-            {
-                if (strap.BuckledEntities.Count != 0)
-                    return;
-            }
+            if (TryComp<StrapComponent>(uid, out var strap) && strap.BuckledEntities.Count != 0)
+                return;
 
             ToggleToiletSeat(uid, component);
             args.Handled = true;
@@ -167,7 +165,7 @@ namespace Content.Server.Toilet
 
         private void UpdateSprite(EntityUid uid, ToiletComponent component)
         {
-            if (!EntityManager.TryGetComponent(uid, out AppearanceComponent? appearance))
+            if (!TryComp<AppearanceComponent>(uid, out var appearance))
                 return;
 
             _appearance.SetData(uid, ToiletVisuals.LidOpen, component.LidOpen, appearance);
diff --git a/Content.Shared/Toilet/SharedWaterclosetVisuals.cs b/Content.Shared/Toilet/SharedWaterclosetVisuals.cs
deleted file mode 100644 (file)
index 7471247..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-using Robust.Shared.Serialization;
-
-namespace Content.Shared.Toilet
-{
-    [Serializable, NetSerializable]
-    public enum ToiletVisuals
-    {
-        LidOpen,
-        SeatUp
-    }
-}
diff --git a/Content.Shared/Toilet/ToiletVisuals.cs b/Content.Shared/Toilet/ToiletVisuals.cs
new file mode 100644 (file)
index 0000000..c5992bc
--- /dev/null
@@ -0,0 +1,10 @@
+using Robust.Shared.Serialization;
+
+namespace Content.Shared.Toilet;
+
+[Serializable, NetSerializable]
+public enum ToiletVisuals
+{
+    LidOpen,
+    SeatUp
+}
index f5021e7451acddc91feef3e443fca7afb6177e88..2cbfdfbff19a30fa7a2e8e0d155c42a78de26e44 100644 (file)
@@ -1,6 +1,6 @@
 ## ToiletComponent
 
-toilet-component-on-examine-found-hidden-item = There is [color=darkgreen]something[/color] inside cistern!
+toilet-component-on-examine-found-hidden-item = There is something inside of the cistern!
 toilet-component-suicide-head-message-others = {CAPITALIZE(THE($victim))} sticks their head into {THE($owner)} and flushes it!
 toilet-component-suicide-head-message = You stick your head into {THE($owner)} and flush it!
 toilet-component-suicide-message-others = {CAPITALIZE(THE($victim))} bashes themselves with {THE($owner)}!