if (data.Comp.ActiveEntities != null)
{
// Handle mobrestrictions getting deleted
- var query = AllEntityQuery<SalvageMobRestrictionsComponent>();
+ var query = AllEntityQuery<SalvageMobRestrictionsComponent, MobStateComponent>();
- while (query.MoveNext(out var salvUid, out var salvMob))
+ while (query.MoveNext(out var salvUid, out var salvMob, out var salvMobState))
{
- if (data.Comp.ActiveEntities.Contains(salvMob.LinkedEntity))
+ if (data.Comp.ActiveEntities.Contains(salvMob.LinkedEntity) && _mobState.IsAlive(salvUid, salvMobState))
{
QueueDel(salvUid);
}
uid = _transform.GetParentUid(uid);
if (_mobStateQuery.HasComp(uid))
return true;
- }
- while (uid != xform.GridUid && uid != EntityUid.Invalid);
+ } while (uid != xform.GridUid && uid != EntityUid.Invalid);
return false;
}