Fix construction/crafting and maybe cargo selling (#12306)
This commit is contained in:
@@ -316,10 +316,12 @@ public sealed partial class CargoSystem
|
|||||||
foreach (var pallet in GetCargoPallets(component))
|
foreach (var pallet in GetCargoPallets(component))
|
||||||
{
|
{
|
||||||
// Containers should already get the sell price of their children so can skip those.
|
// Containers should already get the sell price of their children so can skip those.
|
||||||
foreach (var ent in _lookup.GetEntitiesIntersecting(pallet.Owner, LookupFlags.Anchored | LookupFlags.Approximate))
|
foreach (var ent in _lookup.GetEntitiesIntersecting(pallet.Owner, LookupFlags.Dynamic | LookupFlags.Sundries | LookupFlags.Approximate))
|
||||||
{
|
{
|
||||||
// Don't re-sell anything, sell anything anchored (e.g. light fixtures), or anything blacklisted
|
// Dont sell:
|
||||||
// (e.g. players).
|
// - anything already being sold
|
||||||
|
// - anything anchored (e.g. light fixtures)
|
||||||
|
// - anything blacklisted (e.g. players).
|
||||||
if (toSell.Contains(ent) ||
|
if (toSell.Contains(ent) ||
|
||||||
(xformQuery.TryGetComponent(ent, out var xform) && xform.Anchored))
|
(xformQuery.TryGetComponent(ent, out var xform) && xform.Anchored))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -79,8 +79,10 @@ namespace Content.Server.Construction
|
|||||||
|
|
||||||
var pos = Transform(user).MapPosition;
|
var pos = Transform(user).MapPosition;
|
||||||
|
|
||||||
foreach (var near in _lookupSystem.GetEntitiesInRange(user, 2f, LookupFlags.Approximate))
|
foreach (var near in _lookupSystem.GetEntitiesInRange(pos, 2f, LookupFlags.Contained | LookupFlags.Dynamic | LookupFlags.Sundries | LookupFlags.Approximate))
|
||||||
{
|
{
|
||||||
|
if (near == user)
|
||||||
|
continue;
|
||||||
if (_interactionSystem.InRangeUnobstructed(pos, near, 2f) && _container.IsInSameOrParentContainer(user, near))
|
if (_interactionSystem.InRangeUnobstructed(pos, near, 2f) && _container.IsInSameOrParentContainer(user, near))
|
||||||
yield return near;
|
yield return near;
|
||||||
}
|
}
|
||||||
@@ -306,7 +308,7 @@ namespace Content.Server.Construction
|
|||||||
var targetNode = constructionGraph.Nodes[constructionPrototype.TargetNode];
|
var targetNode = constructionGraph.Nodes[constructionPrototype.TargetNode];
|
||||||
var pathFind = constructionGraph.Path(startNode.Name, targetNode.Name);
|
var pathFind = constructionGraph.Path(startNode.Name, targetNode.Name);
|
||||||
|
|
||||||
if (args.SenderSession.AttachedEntity is not {Valid: true} user || _actionBlocker.CanInteract(user, null))
|
if (args.SenderSession.AttachedEntity is not {Valid: true} user || !_actionBlocker.CanInteract(user, null))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!HasComp<HandsComponent>(user))
|
if (!HasComp<HandsComponent>(user))
|
||||||
|
|||||||
Reference in New Issue
Block a user