public int ThrowLimit { get; private set; }
public bool SleepNodeSys { get; private set; }
public bool IncrementalTileBreaking { get; private set; }
- public int SingleTickAreaLimit {get; private set; }
+ public int SingleTickAreaLimit { get; private set; }
+ public bool CanCreateVacuum { get; private set; }
private void SubscribeCvars()
{
Subs.CVar(_cfg, CCVars.ExplosionMaxProcessingTime, value => MaxProcessingTime = value, true);
Subs.CVar(_cfg, CCVars.ExplosionIncrementalTileBreaking, value => IncrementalTileBreaking = value, true);
Subs.CVar(_cfg, CCVars.ExplosionSingleTickAreaLimit, value => SingleTickAreaLimit = value, true);
+ Subs.CVar(_cfg, CCVars.ExplosionCanCreateVacuum, value => CanCreateVacuum = value, true);
}
}
using System.Numerics;
+using Content.Server.Atmos.EntitySystems;
using Content.Shared.CCVar;
using Content.Shared.Damage;
using Content.Shared.Explosion;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using TimedDespawnComponent = Robust.Shared.Spawners.TimedDespawnComponent;
-using Content.Server.Atmos.EntitySystems;
namespace Content.Server.Explosion.EntitySystems;
if (_tileDefinitionManager[tileRef.Tile.TypeId] is not ContentTileDefinition tileDef)
return;
- if (tileDef.MapAtmosphere)
+ if (!CanCreateVacuum)
+ canCreateVacuum = false;
+ else if (tileDef.MapAtmosphere)
canCreateVacuum = true; // is already a vacuum.
int tileBreakages = 0;
+using Content.Shared.Maps;
using Robust.Shared;
using Robust.Shared.Configuration;
public static readonly CVarDef<int> ExplosionSingleTickAreaLimit =
CVarDef.Create("explosion.single_tick_area_limit", 400, CVar.SERVERONLY);
+ /// <summary>
+ /// Whether or not explosions are allowed to create tiles that have
+ /// <see cref="ContentTileDefinition.MapAtmosphere"/> set to true.
+ /// </summary>
+ public static readonly CVarDef<bool> ExplosionCanCreateVacuum =
+ CVarDef.Create("explosion.can_create_vacuum", true, CVar.SERVERONLY);
+
/*
* Radiation
*/
// Clippy!
public static readonly CVarDef<string> TippyEntity =
CVarDef.Create("tippy.entity", "Tippy", CVar.SERVER | CVar.REPLICATED);
-
+
/*
* DEBUG
*/