More anomalies (#13766)

This commit is contained in:
Nemanja
2023-02-06 00:03:53 -05:00
committed by GitHub
parent 3656d3cc21
commit f450398df7
41 changed files with 855 additions and 47 deletions

View File

@@ -3,6 +3,7 @@ using Content.Server.Decals;
using Content.Shared.Decals;
using Content.Shared.Maps;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Random;
namespace Content.Server.Maps;
@@ -54,6 +55,28 @@ public sealed class TileSystem : EntitySystem
return DeconstructTile(tileRef);
}
public bool ReplaceTile(TileRef tileref, ContentTileDefinition replacementTile)
{
if (!TryComp<MapGridComponent>(tileref.GridUid, out var grid))
return false;
return ReplaceTile(tileref, replacementTile, tileref.GridUid, grid);
}
public bool ReplaceTile(TileRef tileref, ContentTileDefinition replacementTile, EntityUid grid, MapGridComponent? component = null)
{
if (!Resolve(grid, ref component))
return false;
var variant = _robustRandom.Pick(replacementTile.PlacementVariants);
var decals = _decal.GetDecalsInRange(tileref.GridUid, tileref.GridPosition().SnapToGrid(EntityManager, _mapManager).Position, 0.5f);
foreach (var (id, _) in decals)
{
_decal.RemoveDecal(tileref.GridUid, id);
}
component.SetTile(tileref.GridIndices, new Tile(replacementTile.TileId, 0, variant));
return true;
}
private bool DeconstructTile(TileRef tileRef)
{
var indices = tileRef.GridIndices;