Compare commits

...

1 Commits

Author SHA1 Message Date
Redrover1760 d2fc7e991f gives hydrakin 50% damage resistance from low pressures 2026-02-18 23:05:19 -05:00
3 changed files with 15 additions and 4 deletions
@@ -42,6 +42,15 @@ namespace Content.Server.Atmos.Components
[ViewVariables]
public float LowPressureModifier = 0f;
/// <summary>
/// Damage Modifier Values - Mono
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
public float LowPressureDamageModifier = 1;
[ViewVariables(VVAccess.ReadWrite)]
public float HighPressureDamageModifier = 1;
/// <summary>
/// Whether the entity is immuned to pressure (i.e possess the PressureImmunity component)
/// </summary>
@@ -257,8 +257,8 @@ namespace Content.Server.Atmos.EntitySystems
if (pressure <= Atmospherics.HazardLowPressure)
{
// Deal damage and ignore resistances. Resistance to pressure damage should be done via pressure protection gear.
_damageableSystem.TryChangeDamage(uid, barotrauma.Damage * Atmospherics.LowPressureDamage, true, false, origin: uid, canSever: false);
// Deal damage and ignore resistances. Resistance to pressure damage should be done via pressure protection gear. - Mono: added damage modifier
_damageableSystem.TryChangeDamage(uid, barotrauma.Damage * Atmospherics.LowPressureDamage * barotrauma.LowPressureDamageModifier, true, false, origin: uid, canSever: false);
if (!barotrauma.TakingDamage)
{
@@ -272,8 +272,8 @@ namespace Content.Server.Atmos.EntitySystems
{
var damageScale = MathF.Min(((pressure / Atmospherics.HazardHighPressure) - 1) * Atmospherics.PressureDamageCoefficient, Atmospherics.MaxHighPressureDamage);
// Deal damage and ignore resistances. Resistance to pressure damage should be done via pressure protection gear.
_damageableSystem.TryChangeDamage(uid, barotrauma.Damage * damageScale, true, false, origin: uid, canSever: false);
// Deal damage and ignore resistances. Resistance to pressure damage should be done via pressure protection gear. - Mono: added damage modifier
_damageableSystem.TryChangeDamage(uid, barotrauma.Damage * damageScale * barotrauma.HighPressureDamageModifier, true, false, origin: uid, canSever: false);
if (!barotrauma.TakingDamage)
{
@@ -74,6 +74,8 @@
ignoreHeatResistance: true
- type: PressureProtection
lowPressureMultiplier: 1.2
- type: Barotrauma # Innate low pressure damage resist TODO: implement it into pressureprotection, maybe, maybe not.
LowPressureDamageModifier: 0.5
- type: Inventory
speciesId: hydrakin
templateId: hydrakin