]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix: mops with liquid can hit people again (#38486)
authorPerry Fraser <perryprog@users.noreply.github.com>
Sat, 21 Jun 2025 22:23:39 +0000 (18:23 -0400)
committerGitHub <noreply@github.com>
Sat, 21 Jun 2025 22:23:39 +0000 (00:23 +0200)
Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
Content.Shared/Fluids/Components/SpillableComponent.cs
Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

index 296b39714638ddb6f88c16574fcf1962da477d08..880a4395b4cf20a28c4b3f4049738b604b902368 100644 (file)
@@ -69,7 +69,8 @@ public sealed partial class PuddleSystem
         if (totalSplit == 0)
             return;
 
-        args.Handled = true;
+        // Optionally allow further melee handling occur
+        args.Handled = entity.Comp.PreventMelee;
 
         // First update the hit count so anything that is not reactive wont count towards the total!
         foreach (var hit in args.HitEntities)
index cc57dbf2b60bb598cfc475890033b8d326607e74..d320be7dacde36f412364708ccbf386d0a333dea 100644 (file)
@@ -28,4 +28,12 @@ public sealed partial class SpillableComponent : Component
     /// </summary>
     [DataField]
     public bool SpillWhenThrown = true;
+
+    /// <summary>
+    ///     If true, melee processing will stop if any reagent is transferred.
+    ///     Otherwise, melee processing keeps occuring allowing both reagent
+    ///     transfer and melee damage to happen.
+    /// </summary>
+    [DataField]
+    public bool PreventMelee = true;
 }
index a1c36e140df02b3f76491d6b425652d6491f674e..49287d4a2ac844a171b13159b1ecf7b8a96fc9e3 100644 (file)
@@ -26,6 +26,7 @@
   - type: Spillable
     solution: absorbed
     spillWhenThrown: false
+    preventMelee: false
   - type: DrainableSolution
     solution: absorbed
   - type: Wieldable
@@ -84,6 +85,7 @@
     - type: Spillable
       solution: absorbed
       spillWhenThrown: false
+      preventMelee: false
     - type: DrainableSolution
       solution: absorbed
     - type: Wieldable