From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Wed, 22 Feb 2023 01:46:04 +0000 (+1100) Subject: Fix bonkable error spam (#14213) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=b0b2f7c15040613034e897efe57b864b510f5fdc;p=space-station-14.git Fix bonkable error spam (#14213) --- 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)