Cleanup some lookup stuff (#18738)
This commit is contained in:
@@ -25,6 +25,7 @@ using Content.Shared.Tag;
|
|||||||
using Content.Shared.Weapons.Melee;
|
using Content.Shared.Weapons.Melee;
|
||||||
using Content.Shared.Weapons.Melee.Events;
|
using Content.Shared.Weapons.Melee.Events;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Physics.Events;
|
using Robust.Shared.Physics.Events;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
@@ -34,22 +35,23 @@ namespace Content.Server.Electrocution;
|
|||||||
|
|
||||||
public sealed class ElectrocutionSystem : SharedElectrocutionSystem
|
public sealed class ElectrocutionSystem : SharedElectrocutionSystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly EntityLookupSystem _entityLookup = default!;
|
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
|
||||||
[Dependency] private readonly IRobustRandom _random = default!;
|
[Dependency] private readonly IMapManager _mapManager = default!;
|
||||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||||
|
[Dependency] private readonly IRobustRandom _random = default!;
|
||||||
|
[Dependency] private readonly DamageableSystem _damageable = default!;
|
||||||
|
[Dependency] private readonly EntityLookupSystem _entityLookup = default!;
|
||||||
|
[Dependency] private readonly MeleeWeaponSystem _meleeWeapon = default!;
|
||||||
|
[Dependency] private readonly NodeContainerSystem _nodeContainer = default!;
|
||||||
|
[Dependency] private readonly NodeGroupSystem _nodeGroup = default!;
|
||||||
|
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||||
|
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||||
[Dependency] private readonly StatusEffectsSystem _statusEffects = default!;
|
[Dependency] private readonly StatusEffectsSystem _statusEffects = default!;
|
||||||
[Dependency] private readonly SharedJitteringSystem _jittering = default!;
|
[Dependency] private readonly SharedJitteringSystem _jittering = default!;
|
||||||
[Dependency] private readonly MeleeWeaponSystem _meleeWeapon = default!;
|
[Dependency] private readonly SharedPopupSystem _popup = default!;
|
||||||
[Dependency] private readonly SharedStunSystem _stun = default!;
|
[Dependency] private readonly SharedStunSystem _stun = default!;
|
||||||
[Dependency] private readonly SharedStutteringSystem _stuttering = default!;
|
[Dependency] private readonly SharedStutteringSystem _stuttering = default!;
|
||||||
[Dependency] private readonly SharedPopupSystem _popup = default!;
|
|
||||||
[Dependency] private readonly DamageableSystem _damageable = default!;
|
|
||||||
[Dependency] private readonly NodeGroupSystem _nodeGroup = default!;
|
|
||||||
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
|
|
||||||
[Dependency] private readonly TagSystem _tag = default!;
|
[Dependency] private readonly TagSystem _tag = default!;
|
||||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
|
||||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
|
||||||
[Dependency] private readonly NodeContainerSystem _nodeContainer = default!;
|
|
||||||
|
|
||||||
private const string StatusEffectKey = "Electrocution";
|
private const string StatusEffectKey = "Electrocution";
|
||||||
private const string DamageType = "Shock";
|
private const string DamageType = "Shock";
|
||||||
@@ -138,10 +140,15 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem
|
|||||||
return false;
|
return false;
|
||||||
if (electrified.NoWindowInTile)
|
if (electrified.NoWindowInTile)
|
||||||
{
|
{
|
||||||
foreach (var entity in transform.Coordinates.GetEntitiesInTile(LookupFlags.Approximate | LookupFlags.Static, _entityLookup))
|
var tileRef = transform.Coordinates.GetTileRef(EntityManager, _mapManager);
|
||||||
|
|
||||||
|
if (tileRef != null)
|
||||||
{
|
{
|
||||||
if (_tag.HasTag(entity, "Window"))
|
foreach (var entity in _entityLookup.GetEntitiesIntersecting(tileRef.Value, flags: LookupFlags.StaticSundries))
|
||||||
return false;
|
{
|
||||||
|
if (_tag.HasTag(entity, "Window"))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (electrified.UsesApcPower)
|
if (electrified.UsesApcPower)
|
||||||
|
|||||||
@@ -454,7 +454,7 @@ public sealed partial class PathfindingSystem
|
|||||||
// var isBorder = x < 0 || y < 0 || x == ChunkSize - 1 || y == ChunkSize - 1;
|
// var isBorder = x < 0 || y < 0 || x == ChunkSize - 1 || y == ChunkSize - 1;
|
||||||
|
|
||||||
tileEntities.Clear();
|
tileEntities.Clear();
|
||||||
var available = _lookup.GetEntitiesIntersecting(tile);
|
var available = _lookup.GetEntitiesIntersecting(tile, flags: LookupFlags.Dynamic | LookupFlags.Static);
|
||||||
|
|
||||||
foreach (var ent in available)
|
foreach (var ent in available)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user