BaseTurfs (#699)
* tweaks * Baseturfs * dotnet messages * indentation * comment * Change requests * Smaller diff * Diff
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Server.GameObjects.Components.Mobs;
|
||||
using Content.Server.GameObjects.EntitySystems;
|
||||
@@ -46,8 +47,7 @@ namespace Content.Server.Explosions
|
||||
continue;
|
||||
|
||||
var distanceFromEntity = (int)entity.Transform.GridPosition.Distance(mapManager, coords);
|
||||
var exAct = entitySystemManager.GetEntitySystem<ActSystem>();
|
||||
var severity = ExplosionSeverity.Destruction;
|
||||
ExplosionSeverity severity;
|
||||
if (distanceFromEntity < devastationRange)
|
||||
{
|
||||
severity = ExplosionSeverity.Destruction;
|
||||
@@ -64,6 +64,7 @@ namespace Content.Server.Explosions
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var exAct = entitySystemManager.GetEntitySystem<ActSystem>();
|
||||
//exAct.HandleExplosion(Owner, entity, severity);
|
||||
exAct.HandleExplosion(null, entity, severity);
|
||||
}
|
||||
@@ -76,29 +77,33 @@ namespace Content.Server.Explosions
|
||||
foreach (var tile in tiles)
|
||||
{
|
||||
var tileLoc = mapGrid.GridTileToLocal(tile.GridIndices);
|
||||
var tileDef = (ContentTileDefinition)tileDefinitionManager[tile.Tile.TypeId];
|
||||
var distanceFromTile = (int)tileLoc.Distance(mapManager, coords);
|
||||
if (!string.IsNullOrWhiteSpace(tileDef.SubFloor))
|
||||
var tileDef = (ContentTileDefinition) tileDefinitionManager[tile.Tile.TypeId];
|
||||
var baseTurfs = tileDef.BaseTurfs;
|
||||
if (baseTurfs.Count == 0)
|
||||
{
|
||||
if (distanceFromTile < devastationRange)
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager["space"].TileId));
|
||||
if (distanceFromTile < heavyImpactRange)
|
||||
continue;
|
||||
}
|
||||
var distanceFromTile = (int) tileLoc.Distance(mapManager, coords);
|
||||
if (distanceFromTile < devastationRange)
|
||||
{
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager[baseTurfs[0]].TileId));
|
||||
}
|
||||
else if (distanceFromTile < heavyImpactRange)
|
||||
{
|
||||
if (robustRandom.Prob(80))
|
||||
{
|
||||
if (robustRandom.Prob(80))
|
||||
{
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager[tileDef.SubFloor].TileId));
|
||||
}
|
||||
else
|
||||
{
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager["space"].TileId));
|
||||
}
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager[baseTurfs[^1]].TileId));
|
||||
}
|
||||
if (distanceFromTile < lightImpactRange)
|
||||
else
|
||||
{
|
||||
if (robustRandom.Prob(50))
|
||||
{
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager[tileDef.SubFloor].TileId));
|
||||
}
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager[baseTurfs[0]].TileId));
|
||||
}
|
||||
}
|
||||
else if (distanceFromTile < lightImpactRange)
|
||||
{
|
||||
if (robustRandom.Prob(50))
|
||||
{
|
||||
mapGrid.SetTile(tileLoc, new Tile(tileDefinitionManager[baseTurfs[^1]].TileId));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user