]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix bonkable error spam (#14213)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Wed, 22 Feb 2023 01:46:04 +0000 (12:46 +1100)
committerGitHub <noreply@github.com>
Wed, 22 Feb 2023 01:46:04 +0000 (12:46 +1100)
Content.Shared/Climbing/BonkSystem.cs

index dcf534058d31ddce9aa653795e4237ea13847d18..02c3686041a6f2653e9b2529b1af0c2d35d2d207 100644 (file)
@@ -27,33 +27,32 @@ public sealed class BonkSystem : EntitySystem
 
     public bool TryBonk(EntityUid user, EntityUid bonkableUid, BonkableComponent? bonkableComponent = null)
     {
-        if (Resolve(bonkableUid, ref bonkableComponent))
+        if (!Resolve(bonkableUid, ref bonkableComponent, false))
+            return false;
+
+        if (!_cfg.GetCVar(CCVars.GameTableBonk))
         {
-            if (!_cfg.GetCVar(CCVars.GameTableBonk))
-            {
-                // Not set to always bonk, try clumsy roll.
-                if (!_interactionSystem.TryRollClumsy(user, bonkableComponent.BonkClumsyChance))
-                    return false;
-            }
+            // Not set to always bonk, try clumsy roll.
+            if (!_interactionSystem.TryRollClumsy(user, bonkableComponent.BonkClumsyChance))
+                return false;
+        }
 
-            // BONK!
-            var userName = Identity.Entity(user, EntityManager);
-            var bonkableName = Identity.Entity(bonkableUid, EntityManager);
+        // BONK!
+        var userName = Identity.Entity(user, EntityManager);
+        var bonkableName = Identity.Entity(bonkableUid, EntityManager);
 
-            _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)), user, Filter.PvsExcept(user), true);
+        _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)), user, Filter.PvsExcept(user), true);
 
-            _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-user", ("user", userName), ("bonkable", bonkableName)), user, user);
+        _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-user", ("user", userName), ("bonkable", bonkableName)), user, user);
 
-            _audioSystem.PlayPvs(bonkableComponent.BonkSound, bonkableComponent.Owner);
-            _stunSystem.TryParalyze(user, TimeSpan.FromSeconds(bonkableComponent.BonkTime), true);
+        _audioSystem.PlayPvs(bonkableComponent.BonkSound, bonkableUid);
+        _stunSystem.TryParalyze(user, TimeSpan.FromSeconds(bonkableComponent.BonkTime), true);
 
-            if (bonkableComponent.BonkDamage is { } bonkDmg)
-                _damageableSystem.TryChangeDamage(user, bonkDmg, true, origin: user);
+        if (bonkableComponent.BonkDamage is { } bonkDmg)
+            _damageableSystem.TryChangeDamage(user, bonkDmg, true, origin: user);
 
-            return true;
-        }
+        return true;
 
-        return false;
     }
 
     private void OnDragDrop(EntityUid uid, BonkableComponent bonkableComponent, ref DragDropTargetEvent args)