From b0b2f7c15040613034e897efe57b864b510f5fdc Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Wed, 22 Feb 2023 12:46:04 +1100 Subject: [PATCH] Fix bonkable error spam (#14213) --- Content.Shared/Climbing/BonkSystem.cs | 37 +++++++++++++-------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/Content.Shared/Climbing/BonkSystem.cs b/Content.Shared/Climbing/BonkSystem.cs index dcf534058d..02c3686041 100644 --- a/Content.Shared/Climbing/BonkSystem.cs +++ b/Content.Shared/Climbing/BonkSystem.cs @@ -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) -- 2.52.0