using Content.Server.GameTicking.Rules.Components; using Content.Server.Maps; using Content.Server._White.AspectsSystem.Aspects.Components; using Content.Server._White.AspectsSystem.Base; using Content.Server.GameTicking.Components; using Content.Shared.Maps; using Robust.Shared.Map; using Robust.Shared.Map.Components; namespace Content.Server._White.AspectsSystem.Aspects; public sealed class StolenFloorAspect : AspectSystem { [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!; [Dependency] private readonly TileSystem _tileSystem = default!; protected override void Started(EntityUid uid, StolenFloorAspectComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); if (!TryGetStationGrids(out _, out var grids)) return; foreach (var grid in grids) { foreach (var tile in Comp(grid).GetAllTiles()) { var tileDef = (ContentTileDefinition) _tileDefinitionManager[tile.Tile.TypeId]; if (!tileDef.CanCrowbar) continue; _tileSystem.DeconstructTile(tile, false); } } } }