я устала босс

This commit is contained in:
Remuchi
2024-03-27 19:30:19 +07:00
parent 8514b94683
commit c04b962141
45 changed files with 693 additions and 927 deletions

View File

@@ -1,16 +1,16 @@
using Content.Server.Atmos.EntitySystems;
using Content.Server.Popups;
using Content.Server.Pulling;
using Content.Server.Station.Systems;
using Content.Server.Station.Components;
using Content.Server._White.Cult.Items.Components;
using Content.Shared._White.Cult.Components;
using Content.Shared.Hands.EntitySystems;
using Content.Shared.Interaction;
using Content.Shared.Item;
using Content.Shared.Mind.Components;
using Content.Shared.Physics;
using Content.Shared._White.Cult;
using Content.Shared._White.Cult.Items;
using Content.Shared.Movement.Pulling.Systems;
using Robust.Server.GameObjects;
using Robust.Shared.Map.Components;
using Robust.Shared.Physics;
@@ -18,7 +18,6 @@ using Robust.Shared.Physics.Components;
using Robust.Shared.Player;
using Robust.Shared.Random;
using Robust.Shared.Timing;
using CultistComponent = Content.Shared._White.Cult.Components.CultistComponent;
namespace Content.Server._White.Cult.Items.Systems;
@@ -36,6 +35,7 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
[Dependency] private readonly UserInterfaceSystem _ui = default!;
[Dependency] private readonly PullingSystem _pulling = default!;
[Dependency] private readonly MapSystem _map = default!;
public override void Initialize()
{
@@ -104,18 +104,18 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
provider.ItemSelected = args.Target;
var cultists = EntityQuery<CultistComponent>();
var cultistsQuery = EntityQueryEnumerator<CultistComponent>();
var list = new Dictionary<string, string>();
foreach (var cultist in cultists)
while (cultistsQuery.MoveNext(out var cultistUid, out _))
{
if (!TryComp<MetaDataComponent>(cultist.Owner, out var meta))
if (!TryComp<MetaDataComponent>(cultistUid, out var meta))
return;
if (cultist.Owner == args.User)
if (cultistUid == args.User)
continue;
list.Add(meta.Owner.ToString(), meta.EntityName);
list.Add(cultistUid.ToString(), meta.EntityName);
}
if (list.Count == 0)
@@ -138,12 +138,12 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
TorchWindowItemSelectedMessage args)
{
var entityUid = args.Session.AttachedEntity;
var cultists = EntityQuery<CultistComponent>();
var cultistsQuery = EntityQueryEnumerator<CultistComponent>();
foreach (var cultist in cultists)
while (cultistsQuery.MoveNext(out var cultistUid, out _))
{
if (cultist.Owner.ToString() == args.EntUid)
entityUid = cultist.Owner;
if (cultistUid.ToString() == args.EntUid)
entityUid = cultistUid;
}
if (entityUid == args.Session.AttachedEntity && entityUid != null)
@@ -182,7 +182,7 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
return;
}
if (_pulling.GetPulled(args.User) != args.Target.Value)
if (_pulling.TryGetPulledEntity(args.User, out var pulled) || pulled != args.Target.Value)
{
return;
}
@@ -226,7 +226,7 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
// don't spawn inside of solid objects
var physQuery = GetEntityQuery<PhysicsComponent>();
var valid = true;
foreach (var ent in gridComp.GetAnchoredEntities(tile))
foreach (var ent in _map.GetAnchoredEntities(grid, gridComp, tile))
{
if (!physQuery.TryGetComponent(ent, out var body))
continue;
@@ -243,7 +243,7 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
if (!valid)
continue;
targetCoords = gridComp.GridTileToLocal(tile);
targetCoords = _map.GridTileToLocal(grid, gridComp, tile);
break;
}
@@ -275,4 +275,4 @@ public sealed class TorchCultistsProviderSystem : EntitySystem
_pointLight.SetEnabled(torch, false, light);
}
}
}
}