reverted illegal code added by oniks

This commit is contained in:
Valtos
2024-09-19 14:23:49 +03:00
parent 17e2020f14
commit ebb15a911b
9 changed files with 79 additions and 254 deletions

View File

@@ -12,14 +12,9 @@ namespace Content.Server.Atmos.EntitySystems
public float SpaceWindPressureForceDivisorPush { get; private set; } public float SpaceWindPressureForceDivisorPush { get; private set; }
public float SpaceWindMaxVelocity { get; private set; } public float SpaceWindMaxVelocity { get; private set; }
public float SpaceWindMaxPushForce { get; private set; } public float SpaceWindMaxPushForce { get; private set; }
public float SpaceWindMinimumCalculatedMass { get; private set; }
public float SpaceWindMaximumCalculatedInverseMass { get; private set; }
public bool MonstermosUseExpensiveAirflow { get; private set; }
public bool MonstermosEqualization { get; private set; } public bool MonstermosEqualization { get; private set; }
public bool MonstermosDepressurization { get; private set; } public bool MonstermosDepressurization { get; private set; }
public bool MonstermosRipTiles { get; private set; } public bool MonstermosRipTiles { get; private set; }
public float MonstermosRipTilesMinimumPressure { get; private set; }
public float MonstermosRipTilesPressureOffset { get; private set; }
public bool GridImpulse { get; private set; } public bool GridImpulse { get; private set; }
public float SpacingEscapeRatio { get; private set; } public float SpacingEscapeRatio { get; private set; }
public float SpacingMinGas { get; private set; } public float SpacingMinGas { get; private set; }
@@ -31,7 +26,6 @@ namespace Content.Server.Atmos.EntitySystems
public float AtmosTickRate { get; private set; } public float AtmosTickRate { get; private set; }
public float Speedup { get; private set; } public float Speedup { get; private set; }
public float HeatScale { get; private set; } public float HeatScale { get; private set; }
public float HumanoidThrowMultiplier { get; private set; }
/// <summary> /// <summary>
/// Time between each atmos sub-update. If you are writing an atmos device, use AtmosDeviceUpdateEvent.dt /// Time between each atmos sub-update. If you are writing an atmos device, use AtmosDeviceUpdateEvent.dt
@@ -47,14 +41,9 @@ namespace Content.Server.Atmos.EntitySystems
Subs.CVar(_cfg, CCVars.SpaceWindPressureForceDivisorPush, value => SpaceWindPressureForceDivisorPush = value, true); Subs.CVar(_cfg, CCVars.SpaceWindPressureForceDivisorPush, value => SpaceWindPressureForceDivisorPush = value, true);
Subs.CVar(_cfg, CCVars.SpaceWindMaxVelocity, value => SpaceWindMaxVelocity = value, true); Subs.CVar(_cfg, CCVars.SpaceWindMaxVelocity, value => SpaceWindMaxVelocity = value, true);
Subs.CVar(_cfg, CCVars.SpaceWindMaxPushForce, value => SpaceWindMaxPushForce = value, true); Subs.CVar(_cfg, CCVars.SpaceWindMaxPushForce, value => SpaceWindMaxPushForce = value, true);
Subs.CVar(_cfg, CCVars.SpaceWindMinimumCalculatedMass, value => SpaceWindMinimumCalculatedMass = value, true);
Subs.CVar(_cfg, CCVars.SpaceWindMaximumCalculatedInverseMass, value => SpaceWindMaximumCalculatedInverseMass = value, true);
Subs.CVar(_cfg, CCVars.MonstermosUseExpensiveAirflow, value => MonstermosUseExpensiveAirflow = value, true);
Subs.CVar(_cfg, CCVars.MonstermosEqualization, value => MonstermosEqualization = value, true); Subs.CVar(_cfg, CCVars.MonstermosEqualization, value => MonstermosEqualization = value, true);
Subs.CVar(_cfg, CCVars.MonstermosDepressurization, value => MonstermosDepressurization = value, true); Subs.CVar(_cfg, CCVars.MonstermosDepressurization, value => MonstermosDepressurization = value, true);
Subs.CVar(_cfg, CCVars.MonstermosRipTiles, value => MonstermosRipTiles = value, true); Subs.CVar(_cfg, CCVars.MonstermosRipTiles, value => MonstermosRipTiles = value, true);
Subs.CVar(_cfg, CCVars.MonstermosRipTilesMinimumPressure, value => MonstermosRipTilesMinimumPressure = value, true);
Subs.CVar(_cfg, CCVars.MonstermosRipTilesPressureOffset, value => MonstermosRipTilesPressureOffset = value, true);
Subs.CVar(_cfg, CCVars.AtmosGridImpulse, value => GridImpulse = value, true); Subs.CVar(_cfg, CCVars.AtmosGridImpulse, value => GridImpulse = value, true);
Subs.CVar(_cfg, CCVars.AtmosSpacingEscapeRatio, value => SpacingEscapeRatio = value, true); Subs.CVar(_cfg, CCVars.AtmosSpacingEscapeRatio, value => SpacingEscapeRatio = value, true);
Subs.CVar(_cfg, CCVars.AtmosSpacingMinGas, value => SpacingMinGas = value, true); Subs.CVar(_cfg, CCVars.AtmosSpacingMinGas, value => SpacingMinGas = value, true);
@@ -66,7 +55,6 @@ namespace Content.Server.Atmos.EntitySystems
Subs.CVar(_cfg, CCVars.AtmosHeatScale, value => { HeatScale = value; InitializeGases(); }, true); Subs.CVar(_cfg, CCVars.AtmosHeatScale, value => { HeatScale = value; InitializeGases(); }, true);
Subs.CVar(_cfg, CCVars.ExcitedGroups, value => ExcitedGroups = value, true); Subs.CVar(_cfg, CCVars.ExcitedGroups, value => ExcitedGroups = value, true);
Subs.CVar(_cfg, CCVars.ExcitedGroupsSpaceIsAllConsuming, value => ExcitedGroupsSpaceIsAllConsuming = value, true); Subs.CVar(_cfg, CCVars.ExcitedGroupsSpaceIsAllConsuming, value => ExcitedGroupsSpaceIsAllConsuming = value, true);
Subs.CVar(_cfg, CCVars.AtmosHumanoidThrowMultiplier, value => HumanoidThrowMultiplier = value, true);
} }
} }
} }

View File

@@ -1,6 +1,5 @@
using Content.Server.Atmos.Components; using Content.Server.Atmos.Components;
using Content.Shared.Atmos; using Content.Shared.Atmos;
using Content.Shared.Humanoid;
using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Components;
using Content.Shared.Physics; using Content.Shared.Physics;
using Robust.Shared.Audio; using Robust.Shared.Audio;
@@ -50,7 +49,8 @@ namespace Content.Server.Atmos.EntitySystems
comp.Accumulator = 0f; comp.Accumulator = 0f;
toRemove.Add(ent); toRemove.Add(ent);
if (TryComp<PhysicsComponent>(uid, out var body)) if (HasComp<MobStateComponent>(uid) &&
TryComp<PhysicsComponent>(uid, out var body))
{ {
_physics.SetBodyStatus(uid, body, BodyStatus.OnGround); _physics.SetBodyStatus(uid, body, BodyStatus.OnGround);
} }
@@ -70,10 +70,27 @@ namespace Content.Server.Atmos.EntitySystems
} }
} }
private void AddMobMovedByPressure(EntityUid uid, MovedByPressureComponent component, PhysicsComponent body)
{
if (!TryComp<FixturesComponent>(uid, out var fixtures))
return;
_physics.SetBodyStatus(uid, body, BodyStatus.InAir);
foreach (var (id, fixture) in fixtures.Fixtures)
{
_physics.RemoveCollisionMask(uid, id, fixture, (int) CollisionGroup.TableLayer, manager: fixtures);
}
// TODO: Make them dynamic type? Ehh but they still want movement so uhh make it non-predicted like weightless?
// idk it's hard.
component.Accumulator = 0f;
_activePressures.Add((uid, component));
}
private void HighPressureMovements(Entity<GridAtmosphereComponent> gridAtmosphere, TileAtmosphere tile, EntityQuery<PhysicsComponent> bodies, EntityQuery<TransformComponent> xforms, EntityQuery<MovedByPressureComponent> pressureQuery, EntityQuery<MetaDataComponent> metas) private void HighPressureMovements(Entity<GridAtmosphereComponent> gridAtmosphere, TileAtmosphere tile, EntityQuery<PhysicsComponent> bodies, EntityQuery<TransformComponent> xforms, EntityQuery<MovedByPressureComponent> pressureQuery, EntityQuery<MetaDataComponent> metas)
{ {
if (tile.PressureDifference < SpaceWindMinimumCalculatedMass * SpaceWindMinimumCalculatedMass)
return;
// TODO ATMOS finish this // TODO ATMOS finish this
// Don't play the space wind sound on tiles that are on fire... // Don't play the space wind sound on tiles that are on fire...
@@ -104,7 +121,7 @@ namespace Content.Server.Atmos.EntitySystems
// If we're using monstermos, smooth out the yeet direction to follow the flow // If we're using monstermos, smooth out the yeet direction to follow the flow
//TODO This is bad, don't run this. It just makes the throws worse by somehow rounding them to orthogonal //TODO This is bad, don't run this. It just makes the throws worse by somehow rounding them to orthogonal
if (!MonstermosEqualization) if (MonstermosEqualization)
{ {
// We step through tiles according to the pressure direction on the current tile. // We step through tiles according to the pressure direction on the current tile.
// The goal is to get a general direction of the airflow in the area. // The goal is to get a general direction of the airflow in the area.
@@ -144,7 +161,7 @@ namespace Content.Server.Atmos.EntitySystems
(entity, pressureMovements), (entity, pressureMovements),
gridAtmosphere.Comp.UpdateCounter, gridAtmosphere.Comp.UpdateCounter,
tile.PressureDifference, tile.PressureDifference,
tile.PressureDirection, tile.PressureDirection, 0,
tile.PressureSpecificTarget != null ? _mapSystem.ToCenterCoordinates(tile.GridIndex, tile.PressureSpecificTarget.GridIndices) : EntityCoordinates.Invalid, tile.PressureSpecificTarget != null ? _mapSystem.ToCenterCoordinates(tile.GridIndex, tile.PressureSpecificTarget.GridIndices) : EntityCoordinates.Invalid,
gridWorldRotation, gridWorldRotation,
xforms.GetComponent(entity), xforms.GetComponent(entity),
@@ -165,29 +182,12 @@ namespace Content.Server.Atmos.EntitySystems
tile.PressureDirection = differenceDirection; tile.PressureDirection = differenceDirection;
} }
//INFO The EE version of this function drops pressureResistanceProbDelta, since it's not needed. If you are for whatever reason calling this function
//INFO And if it isn't working, you've probably still got the pressureResistanceProbDelta line included.
/// <notes>
/// EXPLANATION:
/// pressureDifference = Force of Air Flow on a given tile
/// physics.Mass = Mass of the object potentially being thrown
/// physics.InvMass = 1 divided by said Mass. More CPU efficient way to do division.
///
/// Objects can only be thrown if the force of air flow is greater than the SQUARE of their mass or {SpaceWindMinimumCalculatedMass}, whichever is heavier
/// This means that the heavier an object is, the exponentially more force is required to move it
/// The force of a throw is equal to the force of air pressure, divided by an object's mass. So not only are heavier objects
/// less likely to be thrown, they are also harder to throw,
/// while lighter objects are yeeted easily, and from great distance.
///
/// For a human sized entity with a standard weight of 80kg and a spacing between a hard vacuum and a room pressurized at 101kpa,
/// The human shall only be moved if he is either very close to the hole, or is standing in a region of high airflow
/// </notes>
public void ExperiencePressureDifference( public void ExperiencePressureDifference(
Entity<MovedByPressureComponent> ent, Entity<MovedByPressureComponent> ent,
int cycle, int cycle,
float pressureDifference, float pressureDifference,
AtmosDirection direction, AtmosDirection direction,
float pressureResistanceProbDelta,
EntityCoordinates throwTarget, EntityCoordinates throwTarget,
Angle gridWorldRotation, Angle gridWorldRotation,
TransformComponent? xform = null, TransformComponent? xform = null,
@@ -200,28 +200,50 @@ namespace Content.Server.Atmos.EntitySystems
if (!Resolve(uid, ref xform)) if (!Resolve(uid, ref xform))
return; return;
// TODO ATMOS stuns?
if (physics.BodyType != BodyType.Static var maxForce = MathF.Sqrt(pressureDifference) * 2.25f;
&& !float.IsPositiveInfinity(component.MoveResist)) var moveProb = 100f;
if (component.PressureResistance > 0)
moveProb = MathF.Abs((pressureDifference / component.PressureResistance * MovedByPressureComponent.ProbabilityBasePercent) -
MovedByPressureComponent.ProbabilityOffset);
// Can we yeet the thing (due to probability, strength, etc.)
if (moveProb > MovedByPressureComponent.ProbabilityOffset && _robustRandom.Prob(MathF.Min(moveProb / 100f, 1f))
&& !float.IsPositiveInfinity(component.MoveResist)
&& (physics.BodyType != BodyType.Static
&& (maxForce >= (component.MoveResist * MovedByPressureComponent.MoveForcePushRatio)))
|| (physics.BodyType == BodyType.Static && (maxForce >= (component.MoveResist * MovedByPressureComponent.MoveForceForcePushRatio))))
{ {
var moveForce = pressureDifference * MathF.Max(physics.InvMass, SpaceWindMaximumCalculatedInverseMass); if (HasComp<MobStateComponent>(uid))
if (HasComp<HumanoidAppearanceComponent>(ent))
moveForce *= HumanoidThrowMultiplier;
if (moveForce > physics.Mass)
{ {
AddMobMovedByPressure(uid, component, physics);
}
if (maxForce > MovedByPressureComponent.ThrowForce)
{
var moveForce = maxForce;
moveForce /= (throwTarget != EntityCoordinates.Invalid) ? SpaceWindPressureForceDivisorThrow : SpaceWindPressureForceDivisorPush;
moveForce *= MathHelper.Clamp(moveProb, 0, 100);
// Apply a sanity clamp to prevent being thrown through objects.
var maxSafeForceForObject = SpaceWindMaxVelocity * physics.Mass;
moveForce = MathF.Min(moveForce, maxSafeForceForObject);
// Grid-rotation adjusted direction // Grid-rotation adjusted direction
var dirVec = (direction.ToAngle() + gridWorldRotation).ToWorldVec(); var dirVec = (direction.ToAngle() + gridWorldRotation).ToWorldVec();
moveForce *= MathF.Max(physics.InvMass, SpaceWindMaximumCalculatedInverseMass);
//TODO Consider replacing throw target with proper trigonometry angles. // TODO: Technically these directions won't be correct but uhh I'm just here for optimisations buddy not to fix my old bugs.
if (throwTarget != EntityCoordinates.Invalid) if (throwTarget != EntityCoordinates.Invalid)
{ {
var pos = throwTarget.ToMap(EntityManager, _transformSystem).Position - xform.WorldPosition + dirVec; var pos = ((throwTarget.ToMap(EntityManager, _transformSystem).Position - xform.WorldPosition).Normalized() + dirVec).Normalized();
_throwing.TryThrow(uid, pos.Normalized() * MathF.Min(moveForce, SpaceWindMaxVelocity), moveForce); _physics.ApplyLinearImpulse(uid, pos * moveForce, body: physics);
} }
else else
{ {
_throwing.TryThrow(uid, dirVec.Normalized() * MathF.Min(moveForce, SpaceWindMaxVelocity), moveForce); moveForce = MathF.Min(moveForce, SpaceWindMaxPushForce);
_physics.ApplyLinearImpulse(uid, dirVec * moveForce, body: physics);
} }
component.LastHighPressureMovementAirCycle = cycle; component.LastHighPressureMovementAirCycle = cycle;

View File

@@ -5,11 +5,8 @@ using Content.Server.Doors.Systems;
using Content.Shared.Atmos; using Content.Shared.Atmos;
using Content.Shared.Atmos.Components; using Content.Shared.Atmos.Components;
using Content.Shared.Database; using Content.Shared.Database;
using Content.Shared.Maps;
using Robust.Shared.Map;
using Robust.Shared.Map.Components; using Robust.Shared.Map.Components;
using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Random; using Robust.Shared.Random;
using Robust.Shared.Utility; using Robust.Shared.Utility;
namespace Content.Server.Atmos.EntitySystems namespace Content.Server.Atmos.EntitySystems
@@ -139,7 +136,7 @@ namespace Content.Server.Atmos.EntitySystems
var logN = MathF.Log2(tileCount); var logN = MathF.Log2(tileCount);
// Optimization - try to spread gases using an O(n log n) algorithm that has a chance of not working first to avoid O(n^2) // Optimization - try to spread gases using an O(n log n) algorithm that has a chance of not working first to avoid O(n^2)
if (!MonstermosUseExpensiveAirflow && giverTilesLength > logN && takerTilesLength > logN) if (giverTilesLength > logN && takerTilesLength > logN)
{ {
// Even if it fails, it will speed up the next part. // Even if it fails, it will speed up the next part.
Array.Sort(_equalizeTiles, 0, tileCount, _monstermosComparer); Array.Sort(_equalizeTiles, 0, tileCount, _monstermosComparer);
@@ -552,8 +549,7 @@ namespace Content.Server.Atmos.EntitySystems
} }
InvalidateVisuals(ent, otherTile); InvalidateVisuals(ent, otherTile);
if (MonstermosRipTiles && otherTile.PressureDifference > MonstermosRipTilesMinimumPressure) HandleDecompressionFloorRip(mapGrid, otherTile, otherTile.MonstermosInfo.CurrentTransferAmount);
HandleDecompressionFloorRip(mapGrid, otherTile, otherTile.PressureDifference);
} }
if (GridImpulse && tileCount > 0) if (GridImpulse && tileCount > 0)
@@ -685,14 +681,14 @@ namespace Content.Server.Atmos.EntitySystems
adj.MonstermosInfo[idx.ToOppositeDir()] -= amount; adj.MonstermosInfo[idx.ToOppositeDir()] -= amount;
} }
private void HandleDecompressionFloorRip(MapGridComponent mapGrid, TileAtmosphere tile, float delta) private void HandleDecompressionFloorRip(MapGridComponent mapGrid, TileAtmosphere tile, float sum)
{ {
if (!mapGrid.TryGetTileRef(tile.GridIndices, out var tileRef)) if (!MonstermosRipTiles)
return; return;
var tileref = tileRef.Tile;
var tileDef = (ContentTileDefinition) _tileDefinitionManager[tileref.TypeId]; var chance = MathHelper.Clamp(0.01f + (sum / SpacingMaxWind) * 0.3f, 0.003f, 0.3f);
if (!tileDef.Reinforced && tileDef.TileRipResistance < delta * MonstermosRipTilesPressureOffset)
if (sum > 20 && _robustRandom.Prob(chance))
PryTile(mapGrid, tile.GridIndices); PryTile(mapGrid, tile.GridIndices);
} }

View File

@@ -6,7 +6,6 @@ using Content.Server.NodeContainer.EntitySystems;
using Content.Shared.Atmos.EntitySystems; using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Doors.Components; using Content.Shared.Doors.Components;
using Content.Shared.Maps; using Content.Shared.Maps;
using Content.Shared.Throwing;
using JetBrains.Annotations; using JetBrains.Annotations;
using Robust.Server.GameObjects; using Robust.Server.GameObjects;
using Robust.Shared.Audio.Systems; using Robust.Shared.Audio.Systems;
@@ -38,7 +37,6 @@ public sealed partial class AtmosphereSystem : SharedAtmosphereSystem
[Dependency] private readonly TileSystem _tile = default!; [Dependency] private readonly TileSystem _tile = default!;
[Dependency] private readonly MapSystem _map = default!; [Dependency] private readonly MapSystem _map = default!;
[Dependency] public readonly PuddleSystem Puddle = default!; [Dependency] public readonly PuddleSystem Puddle = default!;
[Dependency] private readonly ThrowingSystem _throwing = default!;
private const float ExposedUpdateDelay = 1f; private const float ExposedUpdateDelay = 1f;
private float _exposedTimer = 0f; private float _exposedTimer = 0f;

View File

@@ -171,9 +171,7 @@ public sealed class TemperatureSystem : EntitySystem
{ {
return Atmospherics.MinimumHeatCapacity; return Atmospherics.MinimumHeatCapacity;
} }
if (physics.Mass < 1) return comp.SpecificHeat * physics.FixturesMass;
return comp.SpecificHeat;
else return comp.SpecificHeat * physics.FixturesMass;
} }
private void OnInit(EntityUid uid, InternalTemperatureComponent comp, MapInitEvent args) private void OnInit(EntityUid uid, InternalTemperatureComponent comp, MapInitEvent args)

View File

@@ -1037,7 +1037,7 @@ namespace Content.Shared.CCVar
/// Useful to prevent clipping through objects. /// Useful to prevent clipping through objects.
/// </summary> /// </summary>
public static readonly CVarDef<float> SpaceWindMaxVelocity = public static readonly CVarDef<float> SpaceWindMaxVelocity =
CVarDef.Create("atmos.space_wind_max_velocity", 7f, CVar.SERVERONLY); CVarDef.Create("atmos.space_wind_max_velocity", 30f, CVar.SERVERONLY);
/// <summary> /// <summary>
/// The maximum force that may be applied to an object by pushing (i.e. not throwing) atmospheric pressure differences. /// The maximum force that may be applied to an object by pushing (i.e. not throwing) atmospheric pressure differences.
@@ -1046,24 +1046,6 @@ namespace Content.Shared.CCVar
public static readonly CVarDef<float> SpaceWindMaxPushForce = public static readonly CVarDef<float> SpaceWindMaxPushForce =
CVarDef.Create("atmos.space_wind_max_push_force", 17f, CVar.SERVERONLY); CVarDef.Create("atmos.space_wind_max_push_force", 17f, CVar.SERVERONLY);
/// <summary>
/// If an object's mass is below this number, then this number is used in place of mass to determine whether air pressure can throw an object.
/// This has nothing to do with throwing force, only acting as a way of reducing the odds of tiny 5 gram objects from being yeeted by people's breath
/// </summary>
/// <remarks>
/// If you are reading this because you want to change it, consider looking into why almost every item in the game weighs only 5 grams
/// And maybe do your part to fix that? :)
/// </remarks>
public static readonly CVarDef<float> SpaceWindMinimumCalculatedMass =
CVarDef.Create("atmos.space_wind_minimum_calculated_mass", 10f, CVar.SERVERONLY);
/// <summary>
/// Calculated as 1/Mass, where Mass is the physics.Mass of the desired threshold.
/// If an object's inverse mass is lower than this, it is capped at this. Basically, an upper limit to how heavy an object can be before it stops resisting space wind more.
/// </summary>
public static readonly CVarDef<float> SpaceWindMaximumCalculatedInverseMass =
CVarDef.Create("atmos.space_wind_maximum_calculated_inverse_mass", 0.08f, CVar.SERVERONLY);
/// <summary> /// <summary>
/// Whether monstermos tile equalization is enabled. /// Whether monstermos tile equalization is enabled.
/// </summary> /// </summary>
@@ -1085,21 +1067,7 @@ namespace Content.Shared.CCVar
/// Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing. /// Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing.
/// </summary> /// </summary>
public static readonly CVarDef<bool> MonstermosRipTiles = public static readonly CVarDef<bool> MonstermosRipTiles =
CVarDef.Create("atmos.monstermos_rip_tiles", true, CVar.SERVERONLY); CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY);
/// <summary>
/// Taken as the cube of a tile's mass, this acts as a minimum threshold of mass for which air pressure calculates whether or not to rip a tile from the floor
/// This should be set by default to the cube of the game's lowest mass tile as defined in their prototypes, but can be increased for server performance reasons
/// </summary>
public static readonly CVarDef<float> MonstermosRipTilesMinimumPressure =
CVarDef.Create("atmos.monstermos_rip_tiles_min_pressure", 7500f, CVar.SERVERONLY);
/// <summary>
/// Taken after the minimum pressure is checked, the effective pressure is multiplied by this amount.
/// This allows server hosts to finely tune how likely floor tiles are to be ripped apart by air pressure
/// </summary>
public static readonly CVarDef<float> MonstermosRipTilesPressureOffset =
CVarDef.Create("atmos.monstermos_rip_tiles_pressure_offset", 0.44f, CVar.SERVERONLY);
/// <summary> /// <summary>
/// Whether explosive depressurization will cause the grid to gain an impulse. /// Whether explosive depressurization will cause the grid to gain an impulse.
@@ -1130,13 +1098,6 @@ namespace Content.Shared.CCVar
public static readonly CVarDef<float> AtmosSpacingMaxWind = public static readonly CVarDef<float> AtmosSpacingMaxWind =
CVarDef.Create("atmos.mmos_max_wind", 500f, CVar.SERVERONLY); CVarDef.Create("atmos.mmos_max_wind", 500f, CVar.SERVERONLY);
/// <summary>
/// Increases default airflow calculations to O(n^2) complexity, for use with heavy space wind optimizations. Potato servers BEWARE
/// This solves the problem of objects being trapped in an infinite loop of slamming into a wall repeatedly.
/// </summary>
public static readonly CVarDef<bool> MonstermosUseExpensiveAirflow =
CVarDef.Create("atmos.mmos_expensive_airflow", true, CVar.SERVERONLY);
/// <summary> /// <summary>
/// Whether atmos superconduction is enabled. /// Whether atmos superconduction is enabled.
/// </summary> /// </summary>
@@ -1193,13 +1154,6 @@ namespace Content.Shared.CCVar
public static readonly CVarDef<float> AtmosHeatScale = public static readonly CVarDef<float> AtmosHeatScale =
CVarDef.Create("atmos.heat_scale", 8f, CVar.SERVERONLY); CVarDef.Create("atmos.heat_scale", 8f, CVar.SERVERONLY);
/// <summary>
/// A multiplier on the amount of force applied to Humanoid entities, as tracked by HumanoidAppearanceComponent
/// This multiplier is added after all other checks are made, and applies to both throwing force, and how easy it is for an entity to be thrown.
/// </summary>
public static readonly CVarDef<float> AtmosHumanoidThrowMultiplier =
CVarDef.Create("atmos.humanoid_throw_multiplier", 2f, CVar.SERVERONLY);
/* /*
* MIDI instruments * MIDI instruments
*/ */

View File

@@ -117,11 +117,5 @@ namespace Content.Shared.Maps
{ {
TileId = id; TileId = id;
} }
[DataField]
public bool Reinforced = false;
[DataField]
public float TileRipResistance = 125f;
} }
} }

View File

@@ -22,7 +22,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.25 radius: 0.25
density: 0.8 density: 10
mask: mask:
- FlyingMobMask - FlyingMobMask
layer: layer:
@@ -89,7 +89,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.1 radius: 0.1
density: 0.1 density: 30
mask: mask:
- FlyingMobMask - FlyingMobMask
layer: layer:
@@ -325,7 +325,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.2 radius: 0.2
density: 0.0007 density: 100
mask: mask:
- SmallMobMask - SmallMobMask
layer: layer:
@@ -429,7 +429,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.2 radius: 0.2
density: 0.007 density: 100
mask: mask:
- SmallMobMask - SmallMobMask
layer: layer:
@@ -1565,7 +1565,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.2 radius: 0.2
density: 0.76 density: 100
mask: mask:
- SmallMobMask - SmallMobMask
layer: layer:
@@ -2532,7 +2532,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.35 radius: 0.35
density: 16.66 density: 50 #They actually are pretty light, I looked it up
mask: mask:
- MobMask - MobMask
layer: layer:
@@ -2609,7 +2609,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.35 radius: 0.35
density: 25.5 density: 50
mask: mask:
- MobMask - MobMask
layer: layer:
@@ -2758,7 +2758,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.35 radius: 0.35
density: 9 density: 15
mask: mask:
- MobMask - MobMask
layer: layer:
@@ -2927,17 +2927,6 @@
Base: caracal_flop Base: caracal_flop
Dead: Dead:
Base: caracal_dead Base: caracal_dead
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 30
mask:
- MobMask
layer:
- MobLayer
- type: entity - type: entity
name: kitten name: kitten
@@ -2971,17 +2960,6 @@
thresholds: thresholds:
0: Alive 0: Alive
25: Dead 25: Dead
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 2
mask:
- MobMask
layer:
- MobLayer
- type: entity - type: entity
name: sloth name: sloth
@@ -3062,7 +3040,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.35 radius: 0.35
density: 4 density: 5
mask: mask:
- MobMask - MobMask
layer: layer:
@@ -3141,7 +3119,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.2 radius: 0.2
density: 0.8 density: 120
mask: mask:
- SmallMobMask - SmallMobMask
layer: layer:
@@ -3263,7 +3241,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.35 radius: 0.35
density: 750 density: 250
mask: mask:
- MobMask - MobMask
layer: layer:
@@ -3348,7 +3326,7 @@
shape: shape:
!type:PhysShapeCircle !type:PhysShapeCircle
radius: 0.35 radius: 0.35
density: 15 density: 100 # High, because wood is heavy.
mask: mask:
- MobMask - MobMask
layer: layer:

View File

@@ -15,7 +15,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelCheckerLight id: FloorSteelCheckerLight
@@ -34,7 +33,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteelCheckerLight itemDrop: FloorTileItemSteelCheckerLight
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelCheckerDark id: FloorSteelCheckerDark
@@ -53,7 +51,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteelCheckerDark itemDrop: FloorTileItemSteelCheckerDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelMini id: FloorSteelMini
@@ -72,7 +69,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelPavement id: FloorSteelPavement
@@ -91,7 +87,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelDiagonal id: FloorSteelDiagonal
@@ -110,7 +105,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelOffset id: FloorSteelOffset
@@ -123,7 +117,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelMono id: FloorSteelMono
@@ -142,7 +135,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelPavementVertical id: FloorSteelPavementVertical
@@ -161,7 +153,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelHerringbone id: FloorSteelHerringbone
@@ -180,7 +171,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorSteelDiagonalMini id: FloorSteelDiagonalMini
@@ -199,7 +189,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorBrassFilled id: FloorBrassFilled
@@ -212,7 +201,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemBrassFilled itemDrop: FloorTileItemBrassFilled
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 220
- type: tile - type: tile
id: FloorBrassReebe id: FloorBrassReebe
@@ -225,7 +213,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemBrassReebe itemDrop: FloorTileItemBrassReebe
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 220
- type: tile - type: tile
id: FloorPlastic id: FloorPlastic
@@ -244,7 +231,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWood id: FloorWood
@@ -265,7 +251,6 @@
collection: BarestepWood collection: BarestepWood
itemDrop: FloorTileItemWood itemDrop: FloorTileItemWood
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhite id: FloorWhite
@@ -284,7 +269,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhiteMini id: FloorWhiteMini
@@ -303,7 +287,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhitePavement id: FloorWhitePavement
@@ -322,7 +305,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhiteDiagonal id: FloorWhiteDiagonal
@@ -341,7 +323,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhiteOffset id: FloorWhiteOffset
@@ -354,7 +335,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhiteMono id: FloorWhiteMono
@@ -373,7 +353,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhitePavementVertical id: FloorWhitePavementVertical
@@ -392,7 +371,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhiteHerringbone id: FloorWhiteHerringbone
@@ -411,7 +389,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhiteDiagonalMini id: FloorWhiteDiagonalMini
@@ -430,7 +407,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorWhitePlastic id: FloorWhitePlastic
@@ -449,7 +425,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemWhite itemDrop: FloorTileItemWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorDark id: FloorDark
@@ -468,7 +443,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkMini id: FloorDarkMini
@@ -487,7 +461,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkPavement id: FloorDarkPavement
@@ -506,7 +479,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkDiagonal id: FloorDarkDiagonal
@@ -525,7 +497,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkOffset id: FloorDarkOffset
@@ -538,7 +509,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkMono id: FloorDarkMono
@@ -557,7 +527,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkPavementVertical id: FloorDarkPavementVertical
@@ -576,7 +545,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkHerringbone id: FloorDarkHerringbone
@@ -595,7 +563,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkDiagonalMini id: FloorDarkDiagonalMini
@@ -614,7 +581,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorDarkPlastic id: FloorDarkPlastic
@@ -633,7 +599,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemDark itemDrop: FloorTileItemDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorTechMaint id: FloorTechMaint
@@ -646,7 +611,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemTechmaint itemDrop: FloorTileItemTechmaint
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 250
- type: tile - type: tile
id: FloorReinforced id: FloorReinforced
@@ -659,7 +623,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemReinforced itemDrop: FloorTileItemReinforced
heatCapacity: 10000 heatCapacity: 10000
reinforced: true
- type: tile - type: tile
id: FloorMono id: FloorMono
@@ -672,7 +635,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemMono itemDrop: FloorTileItemMono
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorLino id: FloorLino
@@ -685,7 +647,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemLino itemDrop: FloorTileItemLino
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorSteelDirty id: FloorSteelDirty
@@ -698,7 +659,6 @@
collection: FootstepPlating collection: FootstepPlating
itemDrop: FloorTileItemDirty itemDrop: FloorTileItemDirty
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorElevatorShaft id: FloorElevatorShaft
@@ -711,7 +671,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemElevatorShaft itemDrop: FloorTileItemElevatorShaft
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorMetalDiamond id: FloorMetalDiamond
@@ -724,7 +683,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemMetalDiamond itemDrop: FloorTileItemMetalDiamond
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorRockVault id: FloorRockVault
@@ -737,7 +695,6 @@
collection: FootstepAsteroid collection: FootstepAsteroid
itemDrop: FloorTileItemRockVault itemDrop: FloorTileItemRockVault
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 400
- type: tile - type: tile
id: FloorBlue id: FloorBlue
@@ -750,7 +707,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemBlue itemDrop: FloorTileItemBlue
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorSteelLime id: FloorSteelLime
@@ -769,7 +725,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemLime itemDrop: FloorTileItemLime
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorMining id: FloorMining
@@ -782,7 +737,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemMining itemDrop: FloorTileItemMining
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 250
- type: tile - type: tile
id: FloorMiningDark id: FloorMiningDark
@@ -795,7 +749,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemMiningDark itemDrop: FloorTileItemMiningDark
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 250
- type: tile - type: tile
id: FloorMiningLight id: FloorMiningLight
@@ -808,7 +761,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemMiningLight itemDrop: FloorTileItemMiningLight
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 250
# Departamental # Departamental
- type: tile - type: tile
@@ -822,7 +774,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemFreezer itemDrop: FloorTileItemFreezer
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorShowroom id: FloorShowroom
@@ -841,7 +792,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShowroom itemDrop: FloorTileItemShowroom
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorHydro id: FloorHydro
@@ -854,7 +804,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemHydro itemDrop: FloorTileItemHydro
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorBar id: FloorBar
@@ -873,7 +822,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemBar itemDrop: FloorTileItemBar
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100
- type: tile - type: tile
id: FloorClown id: FloorClown
@@ -886,7 +834,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemClown itemDrop: FloorTileItemClown
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorMime id: FloorMime
@@ -899,7 +846,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemMime itemDrop: FloorTileItemMime
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorKitchen id: FloorKitchen
@@ -912,7 +858,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemKitchen itemDrop: FloorTileItemKitchen
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorLaundry id: FloorLaundry
@@ -925,7 +870,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemLaundry itemDrop: FloorTileItemLaundry
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorSteelDamaged id: FloorSteelDamaged
@@ -945,7 +889,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel #This should probably be made null when it becomes possible to make it such, in SS13 prying destroyed tiles wouldn't give you anything. itemDrop: FloorTileItemSteel #This should probably be made null when it becomes possible to make it such, in SS13 prying destroyed tiles wouldn't give you anything.
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 175
- type: tile - type: tile
id: FloorSteelBurnt id: FloorSteelBurnt
@@ -962,7 +905,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemSteel #Same case as FloorSteelDamaged, make it null when possible itemDrop: FloorTileItemSteel #Same case as FloorSteelDamaged, make it null when possible
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 175
# Concrete # Concrete
@@ -984,7 +926,6 @@
itemDrop: FloorTileItemConcrete itemDrop: FloorTileItemConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorConcreteMono id: FloorConcreteMono
@@ -1004,7 +945,6 @@
itemDrop: FloorTileItemConcrete itemDrop: FloorTileItemConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorConcreteSmooth id: FloorConcreteSmooth
@@ -1024,7 +964,6 @@
itemDrop: FloorTileItemConcrete itemDrop: FloorTileItemConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorGrayConcrete id: FloorGrayConcrete
@@ -1044,7 +983,6 @@
itemDrop: FloorTileItemGrayConcrete itemDrop: FloorTileItemGrayConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorGrayConcreteMono id: FloorGrayConcreteMono
@@ -1064,7 +1002,6 @@
itemDrop: FloorTileItemGrayConcrete itemDrop: FloorTileItemGrayConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorGrayConcreteSmooth id: FloorGrayConcreteSmooth
@@ -1084,7 +1021,6 @@
itemDrop: FloorTileItemGrayConcrete itemDrop: FloorTileItemGrayConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorOldConcrete id: FloorOldConcrete
@@ -1104,7 +1040,6 @@
itemDrop: FloorTileItemOldConcrete itemDrop: FloorTileItemOldConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorOldConcreteMono id: FloorOldConcreteMono
@@ -1124,7 +1059,6 @@
itemDrop: FloorTileItemOldConcrete itemDrop: FloorTileItemOldConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
- type: tile - type: tile
id: FloorOldConcreteSmooth id: FloorOldConcreteSmooth
@@ -1144,7 +1078,6 @@
itemDrop: FloorTileItemOldConcrete itemDrop: FloorTileItemOldConcrete
heatCapacity: 10000 heatCapacity: 10000
weather: true weather: true
tileRipResistance: 300
# Carpets (non smoothing) # Carpets (non smoothing)
- type: tile - type: tile
@@ -1161,7 +1094,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemArcadeBlue itemDrop: FloorTileItemArcadeBlue
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorArcadeBlue2 id: FloorArcadeBlue2
@@ -1177,7 +1109,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemArcadeBlue2 itemDrop: FloorTileItemArcadeBlue2
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorArcadeRed id: FloorArcadeRed
@@ -1193,7 +1124,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemArcadeRed itemDrop: FloorTileItemArcadeRed
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorEighties id: FloorEighties
@@ -1209,7 +1139,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemEighties itemDrop: FloorTileItemEighties
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorCarpetClown id: FloorCarpetClown
@@ -1225,7 +1154,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemCarpetClown itemDrop: FloorTileItemCarpetClown
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorCarpetOffice id: FloorCarpetOffice
@@ -1241,7 +1169,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemCarpetOffice itemDrop: FloorTileItemCarpetOffice
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorBoxing id: FloorBoxing
@@ -1261,7 +1188,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemBoxing itemDrop: FloorTileItemBoxing
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorGym id: FloorGym
@@ -1281,7 +1207,6 @@
friction: 0.25 friction: 0.25
itemDrop: FloorTileItemGym itemDrop: FloorTileItemGym
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
# Shuttle # Shuttle
- type: tile - type: tile
@@ -1300,7 +1225,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttleWhite itemDrop: FloorTileItemShuttleWhite
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorShuttleGrey id: FloorShuttleGrey
@@ -1319,7 +1243,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttleGrey itemDrop: FloorTileItemShuttleGrey
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorShuttleBlack id: FloorShuttleBlack
@@ -1338,7 +1261,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttleBlack itemDrop: FloorTileItemShuttleBlack
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorShuttleBlue id: FloorShuttleBlue
@@ -1356,7 +1278,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttleBlue itemDrop: FloorTileItemShuttleBlue
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorShuttleOrange id: FloorShuttleOrange
@@ -1374,7 +1295,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttleOrange itemDrop: FloorTileItemShuttleOrange
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorShuttlePurple id: FloorShuttlePurple
@@ -1392,7 +1312,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttlePurple itemDrop: FloorTileItemShuttlePurple
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
- type: tile - type: tile
id: FloorShuttleRed id: FloorShuttleRed
@@ -1410,7 +1329,6 @@
collection: FootstepFloor collection: FootstepFloor
itemDrop: FloorTileItemShuttleRed itemDrop: FloorTileItemShuttleRed
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 4500
# Materials # Materials
@@ -1425,7 +1343,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemGold itemDrop: FloorTileItemGold
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 600
- type: tile - type: tile
id: FloorSilver id: FloorSilver
@@ -1438,7 +1355,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: FloorTileItemSilver itemDrop: FloorTileItemSilver
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 500
- type: tile - type: tile
id: FloorGlass id: FloorGlass
@@ -1451,7 +1367,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: SheetGlass1 itemDrop: SheetGlass1
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 150
- type: tile - type: tile
id: FloorRGlass id: FloorRGlass
@@ -1470,7 +1385,6 @@
collection: FootstepTile collection: FootstepTile
itemDrop: SheetRGlass1 itemDrop: SheetRGlass1
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 175
# Circuits # Circuits
- type: tile - type: tile
@@ -1484,7 +1398,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemGCircuit itemDrop: FloorTileItemGCircuit
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 225
- type: tile - type: tile
id: FloorBlueCircuit id: FloorBlueCircuit
@@ -1497,7 +1410,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemBCircuit itemDrop: FloorTileItemBCircuit
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 225
# Terrain # Terrain
- type: tile - type: tile
@@ -1783,7 +1695,6 @@
itemDrop: FloorTileItemFlesh itemDrop: FloorTileItemFlesh
friction: 0.05 #slippy friction: 0.05 #slippy
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 80
- type: tile - type: tile
id: FloorTechMaint2 id: FloorTechMaint2
@@ -1796,7 +1707,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemSteelMaint itemDrop: FloorTileItemSteelMaint
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 225
- type: tile - type: tile
id: FloorTechMaint3 id: FloorTechMaint3
@@ -1815,7 +1725,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemGratingMaint itemDrop: FloorTileItemGratingMaint
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 225
- type: tile - type: tile
id: FloorWoodTile id: FloorWoodTile
@@ -1836,7 +1745,6 @@
collection: BarestepWood collection: BarestepWood
itemDrop: FloorTileItemWoodPattern itemDrop: FloorTileItemWoodPattern
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 75
- type: tile - type: tile
id: FloorBrokenWood id: FloorBrokenWood
@@ -1860,7 +1768,6 @@
collection: BarestepWood collection: BarestepWood
itemDrop: MaterialWoodPlank1 itemDrop: MaterialWoodPlank1
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 60
- type: tile - type: tile
id: FloorWebTile id: FloorWebTile
@@ -1875,7 +1782,6 @@
collection: BarestepCarpet collection: BarestepCarpet
itemDrop: FloorTileItemWeb itemDrop: FloorTileItemWeb
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 30
- type: tile - type: tile
id: FloorChromite id: FloorChromite
@@ -1907,7 +1813,6 @@
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemSteel #probably should not be normally obtainable, but the game shits itself and dies when you try to put null here itemDrop: FloorTileItemSteel #probably should not be normally obtainable, but the game shits itself and dies when you try to put null here
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 500
- type: tile - type: tile
id: FloorHullReinforced id: FloorHullReinforced
@@ -1920,7 +1825,6 @@
itemDrop: FloorTileItemSteel itemDrop: FloorTileItemSteel
heatCapacity: 100000 #/tg/ has this set as "INFINITY." I don't know if that exists here so I've just added an extra 0 heatCapacity: 100000 #/tg/ has this set as "INFINITY." I don't know if that exists here so I've just added an extra 0
indestructible: true indestructible: true
reinforced: true
- type: tile - type: tile
id: FloorReinforcedHardened id: FloorReinforcedHardened
@@ -1931,7 +1835,6 @@
footstepSounds: footstepSounds:
collection: FootstepHull collection: FootstepHull
itemDrop: FloorTileItemReinforced #same case as FloorHull itemDrop: FloorTileItemReinforced #same case as FloorHull
reinforced: true
# Faux sci tiles # Faux sci tiles
@@ -1963,7 +1866,6 @@
collection: FootstepGrass collection: FootstepGrass
itemDrop: FloorTileItemAstroGrass itemDrop: FloorTileItemAstroGrass
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 50
- type: tile - type: tile
id: FloorMowedAstroGrass id: FloorMowedAstroGrass
@@ -1973,7 +1875,6 @@
isSubfloor: false isSubfloor: false
deconstructTools: [ Cutting ] deconstructTools: [ Cutting ]
itemDrop: FloorTileItemMowedAstroGrass itemDrop: FloorTileItemMowedAstroGrass
tileRipResistance: 50
- type: tile - type: tile
id: FloorJungleAstroGrass id: FloorJungleAstroGrass
@@ -1983,7 +1884,6 @@
isSubfloor: false isSubfloor: false
deconstructTools: [ Cutting ] deconstructTools: [ Cutting ]
itemDrop: FloorTileItemJungleAstroGrass itemDrop: FloorTileItemJungleAstroGrass
tileRipResistance: 50
# Ice # Ice
- type: tile - type: tile
@@ -1999,7 +1899,6 @@
mobFrictionNoInput: 0.05 mobFrictionNoInput: 0.05
mobAcceleration: 2 mobAcceleration: 2
itemDrop: FloorTileItemAstroIce itemDrop: FloorTileItemAstroIce
tileRipResistance: 50
- type: tile - type: tile
id: FloorAstroSnow id: FloorAstroSnow
@@ -2009,7 +1908,6 @@
isSubfloor: false isSubfloor: false
deconstructTools: [ Prying ] deconstructTools: [ Prying ]
itemDrop: FloorTileItemAstroSnow itemDrop: FloorTileItemAstroSnow
tileRipResistance: 50
- type: tile - type: tile
id: FloorWoodLarge id: FloorWoodLarge
@@ -2030,4 +1928,3 @@
collection: BarestepWood collection: BarestepWood
itemDrop: FloorTileItemWoodLarge itemDrop: FloorTileItemWoodLarge
heatCapacity: 10000 heatCapacity: 10000
tileRipResistance: 100