Don't despawn off-grid salv mob corpses (#37169)

This commit is contained in:
Nemanja
2025-05-04 01:47:11 -04:00
committed by GitHub
parent eac0585bf4
commit c4dd912106

View File

@@ -135,11 +135,11 @@ public sealed partial class SalvageSystem
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);
}
@@ -164,8 +164,7 @@ public sealed partial class SalvageSystem
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;
}