HTNOperatorStatus status;
if (_entManager.TryGetComponent<NPCMeleeCombatComponent>(owner, out var combat) &&
- blackboard.TryGetValue<EntityUid>(TargetKey, out var target, _entManager))
+ blackboard.TryGetValue<EntityUid>(TargetKey, out var target, _entManager) &&
+ target != EntityUid.Invalid)
{
combat.Target = target;
if (!_melee.TryGetWeapon(uid, out var weaponUid, out var weapon))
return;
+ if (!HasComp<TransformComponent>(melee.Target))
+ return;
+
var cdRemaining = weapon.NextAttack - _timing.CurTime;
var attackCooldown = TimeSpan.FromSeconds(1f / _melee.GetAttackRate(weaponUid, uid, weapon));