Rejig pressure protection (#7560)
This commit is contained in:
@@ -1,8 +1,5 @@
|
|||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
|
||||||
using Robust.Shared.ViewVariables;
|
|
||||||
|
|
||||||
namespace Content.Server.Atmos.Components
|
namespace Content.Server.Atmos.Components
|
||||||
{
|
{
|
||||||
@@ -24,5 +21,11 @@ namespace Content.Server.Atmos.Components
|
|||||||
/// Used to keep track of when damage starts/stops. Useful for logs.
|
/// Used to keep track of when damage starts/stops. Useful for logs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool TakingDamage = false;
|
public bool TakingDamage = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// These are the inventory slots that are checked for pressure protection. If a slot is missing protection, no protection is applied.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("protectionSlots")]
|
||||||
|
public List<string> ProtectionSlots = new() { "head", "outerClothing" };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using System;
|
|
||||||
using Content.Server.Administration.Logs;
|
using Content.Server.Administration.Logs;
|
||||||
using Content.Server.Atmos.Components;
|
using Content.Server.Atmos.Components;
|
||||||
using Content.Shared.Alert;
|
using Content.Shared.Alert;
|
||||||
@@ -6,8 +5,8 @@ using Content.Shared.Atmos;
|
|||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Content.Shared.Database;
|
using Content.Shared.Database;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using Robust.Shared.GameObjects;
|
using Content.Shared.Inventory;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.Containers;
|
||||||
|
|
||||||
namespace Content.Server.Atmos.EntitySystems
|
namespace Content.Server.Atmos.EntitySystems
|
||||||
{
|
{
|
||||||
@@ -17,6 +16,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
[Dependency] private readonly DamageableSystem _damageableSystem = default!;
|
[Dependency] private readonly DamageableSystem _damageableSystem = default!;
|
||||||
[Dependency] private readonly AlertsSystem _alertsSystem = default!;
|
[Dependency] private readonly AlertsSystem _alertsSystem = default!;
|
||||||
[Dependency] private readonly AdminLogSystem _logSystem = default!;
|
[Dependency] private readonly AdminLogSystem _logSystem = default!;
|
||||||
|
[Dependency] private readonly InventorySystem _inventorySystem = default!;
|
||||||
|
|
||||||
private const float UpdateTimer = 1f;
|
private const float UpdateTimer = 1f;
|
||||||
private float _timer;
|
private float _timer;
|
||||||
@@ -39,27 +39,72 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
args.Multiplier *= component.LowPressureMultiplier;
|
args.Multiplier *= component.LowPressureMultiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
private float CalculateFeltPressure(float environmentPressure, PressureEvent pressureEvent)
|
public float GetFeltLowPressure(BarotraumaComponent baro, float environmentPressure)
|
||||||
{
|
{
|
||||||
environmentPressure += pressureEvent.Modifier;
|
var modifier = float.MaxValue;
|
||||||
environmentPressure *= pressureEvent.Multiplier;
|
var multiplier = float.MaxValue;
|
||||||
return environmentPressure;
|
|
||||||
}
|
|
||||||
|
|
||||||
public float GetFeltLowPressure(EntityUid uid, float environmentPressure)
|
TryComp(baro.Owner, out InventoryComponent? inv);
|
||||||
{
|
TryComp(baro.Owner, out ContainerManagerComponent? contMan);
|
||||||
|
|
||||||
|
// TODO: cache this & update when equipment changes?
|
||||||
|
// This continuously raises events for every player in space.
|
||||||
|
|
||||||
|
// First, check if for protective equipment
|
||||||
|
foreach (var slot in baro.ProtectionSlots)
|
||||||
|
{
|
||||||
|
if (!_inventorySystem.TryGetSlotEntity(baro.Owner, slot, out var equipment, inv, contMan)
|
||||||
|
|| ! TryComp(equipment, out PressureProtectionComponent? protection))
|
||||||
|
{
|
||||||
|
// Missing protection, skin is exposed.
|
||||||
|
modifier = 0;
|
||||||
|
multiplier = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
modifier = Math.Min(protection.LowPressureModifier, modifier);
|
||||||
|
multiplier = Math.Min(protection.LowPressureMultiplier, multiplier);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then apply any generic, non-clothing related modifiers.
|
||||||
var lowPressureEvent = new LowPressureEvent(environmentPressure);
|
var lowPressureEvent = new LowPressureEvent(environmentPressure);
|
||||||
RaiseLocalEvent(uid, lowPressureEvent, false);
|
RaiseLocalEvent(baro.Owner, lowPressureEvent, false);
|
||||||
|
|
||||||
return CalculateFeltPressure(environmentPressure, lowPressureEvent);
|
return (environmentPressure + modifier + lowPressureEvent.Modifier) * (multiplier * lowPressureEvent.Multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetFeltHighPressure(EntityUid uid, float environmentPressure)
|
public float GetFeltHighPressure(BarotraumaComponent baro, float environmentPressure)
|
||||||
{
|
{
|
||||||
var highPressureEvent = new HighPressureEvent(environmentPressure);
|
var modifier = float.MinValue;
|
||||||
RaiseLocalEvent(uid, highPressureEvent, false);
|
var multiplier = float.MinValue;
|
||||||
|
|
||||||
return CalculateFeltPressure(environmentPressure, highPressureEvent);
|
TryComp(baro.Owner, out InventoryComponent? inv);
|
||||||
|
TryComp(baro.Owner, out ContainerManagerComponent? contMan);
|
||||||
|
|
||||||
|
// TODO: cache this & update when equipment changes?
|
||||||
|
// Not as import and as low-pressure, but probably still useful.
|
||||||
|
|
||||||
|
// First, check if for protective equipment
|
||||||
|
foreach (var slot in baro.ProtectionSlots)
|
||||||
|
{
|
||||||
|
if (!_inventorySystem.TryGetSlotEntity(baro.Owner, slot, out var equipment, inv, contMan)
|
||||||
|
|| !TryComp(equipment, out PressureProtectionComponent? protection))
|
||||||
|
{
|
||||||
|
// Missing protection, skin is exposed.
|
||||||
|
modifier = 0;
|
||||||
|
multiplier = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
modifier = Math.Max(protection.LowPressureModifier, modifier);
|
||||||
|
multiplier = Math.Max(protection.LowPressureMultiplier, multiplier);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then apply any generic, non-clothing related modifiers.
|
||||||
|
var highPressureEvent = new HighPressureEvent(environmentPressure);
|
||||||
|
RaiseLocalEvent(baro.Owner, highPressureEvent, false);
|
||||||
|
|
||||||
|
return (environmentPressure + modifier + highPressureEvent.Modifier) * (multiplier * highPressureEvent.Multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void Update(float frameTime)
|
||||||
@@ -94,7 +139,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
{
|
{
|
||||||
// Low pressure.
|
// Low pressure.
|
||||||
case <= Atmospherics.WarningLowPressure:
|
case <= Atmospherics.WarningLowPressure:
|
||||||
pressure = GetFeltLowPressure(barotrauma.Owner, pressure);
|
pressure = GetFeltLowPressure(barotrauma, pressure);
|
||||||
|
|
||||||
if (pressure > Atmospherics.WarningLowPressure)
|
if (pressure > Atmospherics.WarningLowPressure)
|
||||||
goto default;
|
goto default;
|
||||||
@@ -119,7 +164,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
|
|
||||||
// High pressure.
|
// High pressure.
|
||||||
case >= Atmospherics.WarningHighPressure:
|
case >= Atmospherics.WarningHighPressure:
|
||||||
pressure = GetFeltHighPressure(barotrauma.Owner, pressure);
|
pressure = GetFeltHighPressure(barotrauma, pressure);
|
||||||
|
|
||||||
if(pressure < Atmospherics.WarningHighPressure)
|
if(pressure < Atmospherics.WarningHighPressure)
|
||||||
goto default;
|
goto default;
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
using Content.Shared.Inventory;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
|
|
||||||
namespace Content.Server.Atmos
|
namespace Content.Server.Atmos
|
||||||
{
|
{
|
||||||
public abstract class PressureEvent : EntityEventArgs, IInventoryRelayEvent
|
public abstract class PressureEvent : EntityEventArgs
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The environment pressure.
|
/// The environment pressure.
|
||||||
@@ -29,11 +26,6 @@ namespace Content.Server.Atmos
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
public float Multiplier { get; set; } = 1f;
|
public float Multiplier { get; set; } = 1f;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The inventory slots that should be checked for pressure protecting equipment.
|
|
||||||
/// </summary>
|
|
||||||
public SlotFlags TargetSlots { get; } = ~SlotFlags.POCKET;
|
|
||||||
|
|
||||||
protected PressureEvent(float pressure)
|
protected PressureEvent(float pressure)
|
||||||
{
|
{
|
||||||
Pressure = pressure;
|
Pressure = pressure;
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ namespace Content.Server.Inventory
|
|||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<InventoryComponent, HighPressureEvent>(RelayInventoryEvent);
|
|
||||||
SubscribeLocalEvent<InventoryComponent, LowPressureEvent>(RelayInventoryEvent);
|
|
||||||
SubscribeLocalEvent<InventoryComponent, ModifyChangedTemperatureEvent>(RelayInventoryEvent);
|
SubscribeLocalEvent<InventoryComponent, ModifyChangedTemperatureEvent>(RelayInventoryEvent);
|
||||||
|
|
||||||
SubscribeLocalEvent<ClothingComponent, UseInHandEvent>(OnUseInHand);
|
SubscribeLocalEvent<ClothingComponent, UseInHandEvent>(OnUseInHand);
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
size: 10
|
size: 10
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.6
|
highPressureMultiplier: 0.6
|
||||||
lowPressureMultiplier: 10
|
lowPressureMultiplier: 1000
|
||||||
- type: TemperatureProtection
|
- type: TemperatureProtection
|
||||||
coefficient: 0.2
|
coefficient: 0.2
|
||||||
- type: IngestionBlocker
|
- type: IngestionBlocker
|
||||||
@@ -52,8 +52,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
size: 15
|
size: 15
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.6
|
highPressureMultiplier: 0.3
|
||||||
lowPressureMultiplier: 10
|
lowPressureMultiplier: 1000
|
||||||
- type: TemperatureProtection
|
- type: TemperatureProtection
|
||||||
coefficient: 0.1
|
coefficient: 0.1
|
||||||
- type: Armor
|
- type: Armor
|
||||||
|
|||||||
@@ -44,8 +44,8 @@
|
|||||||
- state: inhand-right-unshaded
|
- state: inhand-right-unshaded
|
||||||
shader: unshaded
|
shader: unshaded
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.40
|
highPressureMultiplier: 0.08
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: Armor
|
- type: Armor
|
||||||
modifiers:
|
modifiers:
|
||||||
coefficients:
|
coefficients:
|
||||||
@@ -67,6 +67,9 @@
|
|||||||
sprite: Clothing/Head/Hardsuits/capspace.rsi
|
sprite: Clothing/Head/Hardsuits/capspace.rsi
|
||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/capspace.rsi
|
sprite: Clothing/Head/Hardsuits/capspace.rsi
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.3
|
||||||
|
lowPressureMultiplier: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: HatBase
|
parent: HatBase
|
||||||
@@ -78,6 +81,9 @@
|
|||||||
sprite: Clothing/Head/Hardsuits/deathsquad.rsi
|
sprite: Clothing/Head/Hardsuits/deathsquad.rsi
|
||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/deathsquad.rsi
|
sprite: Clothing/Head/Hardsuits/deathsquad.rsi
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.27
|
||||||
|
lowPressureMultiplier: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -90,8 +96,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/engineering.rsi
|
sprite: Clothing/Head/Hardsuits/engineering.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.40
|
highPressureMultiplier: 0.26
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -103,6 +109,9 @@
|
|||||||
sprite: Clothing/Head/Hardsuits/engineering-white.rsi
|
sprite: Clothing/Head/Hardsuits/engineering-white.rsi
|
||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/engineering-white.rsi
|
sprite: Clothing/Head/Hardsuits/engineering-white.rsi
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.24
|
||||||
|
lowPressureMultiplier: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: HatBase
|
parent: HatBase
|
||||||
@@ -115,8 +124,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/ihsvoid.rsi
|
sprite: Clothing/Head/Hardsuits/ihsvoid.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.60
|
highPressureMultiplier: 0.3
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -129,8 +138,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/medical.rsi
|
sprite: Clothing/Head/Hardsuits/medical.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.80
|
highPressureMultiplier: 0.6
|
||||||
lowPressureMultiplier: 55
|
lowPressureMultiplier: 5500
|
||||||
- type: DiseaseProtection
|
- type: DiseaseProtection
|
||||||
protection: 0.15
|
protection: 0.15
|
||||||
|
|
||||||
@@ -145,8 +154,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/rd.rsi
|
sprite: Clothing/Head/Hardsuits/rd.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.80
|
highPressureMultiplier: 0.60
|
||||||
lowPressureMultiplier: 55
|
lowPressureMultiplier: 5500
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -159,8 +168,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/salvage.rsi
|
sprite: Clothing/Head/Hardsuits/salvage.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.70
|
highPressureMultiplier: 0.525
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -173,8 +182,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/security.rsi
|
sprite: Clothing/Head/Hardsuits/security.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.70
|
highPressureMultiplier: 0.525
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -187,8 +196,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/security-red.rsi
|
sprite: Clothing/Head/Hardsuits/security-red.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.60
|
highPressureMultiplier: 0.45
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -202,6 +211,9 @@
|
|||||||
sprite: Clothing/Head/Hardsuits/syndicate.rsi
|
sprite: Clothing/Head/Hardsuits/syndicate.rsi
|
||||||
- type: PointLight
|
- type: PointLight
|
||||||
color: green
|
color: green
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.27
|
||||||
|
lowPressureMultiplier: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -213,6 +225,9 @@
|
|||||||
sprite: Clothing/Head/Hardsuits/wizard.rsi
|
sprite: Clothing/Head/Hardsuits/wizard.rsi
|
||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/wizard.rsi
|
sprite: Clothing/Head/Hardsuits/wizard.rsi
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.27
|
||||||
|
lowPressureMultiplier: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitBase
|
parent: ClothingHeadHardsuitBase
|
||||||
@@ -225,8 +240,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/Head/Hardsuits/lingspacehelmet.rsi
|
sprite: Clothing/Head/Hardsuits/lingspacehelmet.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.5
|
highPressureMultiplier: 0.225
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase
|
parent: ClothingHeadHardsuitWithLightBase
|
||||||
@@ -274,5 +289,5 @@
|
|||||||
- state: inhand-right-unshaded
|
- state: inhand-right-unshaded
|
||||||
shader: unshaded
|
shader: unshaded
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.8
|
highPressureMultiplier: 0.72
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
|
|||||||
@@ -202,6 +202,9 @@
|
|||||||
Piercing: 0.95
|
Piercing: 0.95
|
||||||
Heat: 0.65
|
Heat: 0.65
|
||||||
Radiation: 1
|
Radiation: 1
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.65
|
||||||
|
lowPressureMultiplier: 25
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadHardsuitWithLightBase # hardsuitlight base for light and protection
|
parent: ClothingHeadHardsuitWithLightBase # hardsuitlight base for light and protection
|
||||||
@@ -224,6 +227,9 @@
|
|||||||
Piercing: 0.95
|
Piercing: 0.95
|
||||||
Heat: 0.5
|
Heat: 0.5
|
||||||
Radiation: .95
|
Radiation: .95
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.45
|
||||||
|
lowPressureMultiplier: 25
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHeadBase
|
parent: ClothingHeadBase
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
name: base hardsuit
|
name: base hardsuit
|
||||||
components:
|
components:
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.5
|
highPressureMultiplier: 0.3
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: TemperatureProtection
|
- type: TemperatureProtection
|
||||||
coefficient: 0.001 # yes it needs to be this low, fires are fucking deadly apparently!!!!
|
coefficient: 0.001 # yes it needs to be this low, fires are fucking deadly apparently!!!!
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
@@ -42,8 +42,8 @@
|
|||||||
name: base EVA Suit
|
name: base EVA Suit
|
||||||
components:
|
components:
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 1
|
highPressureMultiplier: 0.6
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: TemperatureProtection
|
- type: TemperatureProtection
|
||||||
coefficient: 0.01 # Not complete protection from fire
|
coefficient: 0.01 # Not complete protection from fire
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/atmospherics.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/atmospherics.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.2
|
highPressureMultiplier: 0.08
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.65
|
walkModifier: 0.65
|
||||||
sprintModifier: 0.7
|
sprintModifier: 0.7
|
||||||
@@ -36,8 +36,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/capspace.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/capspace.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.5
|
highPressureMultiplier: 0.3
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.8
|
walkModifier: 0.8
|
||||||
sprintModifier: 0.8
|
sprintModifier: 0.8
|
||||||
@@ -61,8 +61,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/deathsquad.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/deathsquad.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.45
|
highPressureMultiplier: 0.27
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 1.0
|
walkModifier: 1.0
|
||||||
sprintModifier: 1.0
|
sprintModifier: 1.0
|
||||||
@@ -86,8 +86,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/engineering.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/engineering.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.65
|
highPressureMultiplier: 0.26
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.65
|
walkModifier: 0.65
|
||||||
sprintModifier: 0.65
|
sprintModifier: 0.65
|
||||||
@@ -111,8 +111,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/engineering-white.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/engineering-white.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.4
|
highPressureMultiplier: 0.24
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.75
|
walkModifier: 0.75
|
||||||
sprintModifier: 0.8
|
sprintModifier: 0.8
|
||||||
@@ -136,10 +136,12 @@
|
|||||||
sprite: Clothing/OuterClothing/Hardsuits/ihsvoid.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/ihsvoid.rsi
|
||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/ihsvoid.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/ihsvoid.rsi
|
||||||
- type: PressureProtection
|
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.8
|
walkModifier: 0.8
|
||||||
sprintModifier: 0.8
|
sprintModifier: 0.8
|
||||||
|
- type: PressureProtection
|
||||||
|
highPressureMultiplier: 0.3
|
||||||
|
lowPressureMultiplier: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingOuterEVASuitBase
|
parent: ClothingOuterEVASuitBase
|
||||||
@@ -187,8 +189,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/medical.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/medical.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.75
|
highPressureMultiplier: 0.6
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 5500
|
||||||
- type: DiseaseProtection
|
- type: DiseaseProtection
|
||||||
protection: 0.2
|
protection: 0.2
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
@@ -211,8 +213,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/rd.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/rd.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.75
|
highPressureMultiplier: 0.60
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 5500
|
||||||
- type: Armor
|
- type: Armor
|
||||||
modifiers:
|
modifiers:
|
||||||
coefficients:
|
coefficients:
|
||||||
@@ -236,8 +238,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/salvage.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/salvage.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.75
|
highPressureMultiplier: 0.525
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.6 #changing these values around so its only a tiny bit faster so less salvages get stuck floating in space
|
walkModifier: 0.6 #changing these values around so its only a tiny bit faster so less salvages get stuck floating in space
|
||||||
sprintModifier: 0.65
|
sprintModifier: 0.65
|
||||||
@@ -261,8 +263,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/security.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/security.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.75
|
highPressureMultiplier: 0.525
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: Armor
|
- type: Armor
|
||||||
modifiers:
|
modifiers:
|
||||||
coefficients:
|
coefficients:
|
||||||
@@ -283,8 +285,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/security-red.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/security-red.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.75
|
highPressureMultiplier: 0.45
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.7
|
walkModifier: 0.7
|
||||||
sprintModifier: 0.7
|
sprintModifier: 0.7
|
||||||
@@ -308,8 +310,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/syndicate.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/syndicate.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.45
|
highPressureMultiplier: 0.27
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 1.0
|
walkModifier: 1.0
|
||||||
sprintModifier: 1.0
|
sprintModifier: 1.0
|
||||||
@@ -333,8 +335,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/wizard.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/wizard.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.45
|
highPressureMultiplier: 0.27
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 1000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.8
|
walkModifier: 0.8
|
||||||
sprintModifier: 0.8
|
sprintModifier: 0.8
|
||||||
@@ -358,8 +360,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/lingspacesuit.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/lingspacesuit.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.45
|
highPressureMultiplier: 0.225
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: .8
|
walkModifier: .8
|
||||||
sprintModifier: .8
|
sprintModifier: .8
|
||||||
@@ -383,8 +385,8 @@
|
|||||||
- type: Clothing
|
- type: Clothing
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/spatio.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/spatio.rsi
|
||||||
- type: PressureProtection
|
- type: PressureProtection
|
||||||
highPressureMultiplier: 0.9
|
highPressureMultiplier: 0.72
|
||||||
lowPressureMultiplier: 100
|
lowPressureMultiplier: 10000
|
||||||
- type: ClothingSpeedModifier
|
- type: ClothingSpeedModifier
|
||||||
walkModifier: 0.9 #mildly better than eva, might adjust this down if its heavily abused but want to see how it plays out in game first
|
walkModifier: 0.9 #mildly better than eva, might adjust this down if its heavily abused but want to see how it plays out in game first
|
||||||
sprintModifier: 0.8
|
sprintModifier: 0.8
|
||||||
|
|||||||
Reference in New Issue
Block a user