From: osjarw <62134478+osjarw@users.noreply.github.com> Date: Sun, 14 Jul 2024 03:26:38 +0000 (+0300) Subject: NPC exits MeleeOperator on invalid EntityUid (#30005) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=922be642904ede5988835a9143357d47be731b8d;p=space-station-14.git NPC exits MeleeOperator on invalid EntityUid (#30005) EntityUid 0 problem fix --- diff --git a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Combat/Melee/MeleeOperator.cs b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Combat/Melee/MeleeOperator.cs index 32be027ec4..5a02b86201 100644 --- a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Combat/Melee/MeleeOperator.cs +++ b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Combat/Melee/MeleeOperator.cs @@ -89,7 +89,8 @@ public sealed partial class MeleeOperator : HTNOperator, IHtnConditionalShutdown HTNOperatorStatus status; if (_entManager.TryGetComponent(owner, out var combat) && - blackboard.TryGetValue(TargetKey, out var target, _entManager)) + blackboard.TryGetValue(TargetKey, out var target, _entManager) && + target != EntityUid.Invalid) { combat.Target = target; diff --git a/Content.Server/NPC/Systems/NPCJukeSystem.cs b/Content.Server/NPC/Systems/NPCJukeSystem.cs index da9fa1f761..94a30feb0c 100644 --- a/Content.Server/NPC/Systems/NPCJukeSystem.cs +++ b/Content.Server/NPC/Systems/NPCJukeSystem.cs @@ -143,6 +143,9 @@ public sealed class NPCJukeSystem : EntitySystem if (!_melee.TryGetWeapon(uid, out var weaponUid, out var weapon)) return; + if (!HasComp(melee.Target)) + return; + var cdRemaining = weapon.NextAttack - _timing.CurTime; var attackCooldown = TimeSpan.FromSeconds(1f / _melee.GetAttackRate(weaponUid, uid, weapon));