public sealed partial class TemperatureProtectionComponent : Component
{
/// <summary>
- /// How much to multiply temperature deltas by.
+ /// Multiplier for the transferred heat when heating up
/// </summary>
[DataField]
- public float Coefficient = 1.0f;
+ public float HeatingCoefficient = 1.0f;
+
+ /// <summary>
+ /// Multiplier for the transferred heat when cooling down
+ /// </summary>
+ [DataField]
+ public float CoolingCoefficient = 1.0f;
}
/// <summary>
private void OnTemperatureChangeAttempt(EntityUid uid, TemperatureProtectionComponent component,
InventoryRelayedEvent<ModifyChangedTemperatureEvent> args)
{
- var ev = new GetTemperatureProtectionEvent(component.Coefficient);
+ var coefficient = args.Args.TemperatureDelta < 0
+ ? component.CoolingCoefficient
+ : component.HeatingCoefficient;
+
+ var ev = new GetTemperatureProtectionEvent(coefficient);
RaiseLocalEvent(uid, ref ev);
args.Args.TemperatureDelta *= ev.Coefficient;
highPressureMultiplier: 0.6
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.2
+ heatingCoefficient: 0.2
+ coolingCoefficient: 0.2
- type: IngestionBlocker
- type: Clothing
#Copies ClothingHeadHardsuitBase behavior
highPressureMultiplier: 0.3
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.1
+ heatingCoefficient: 0.1
+ coolingCoefficient: 0.1
- type: Armor
modifiers:
coefficients:
quickEquip: false
slots: [ HEAD ]
- type: TemperatureProtection
- coefficient: 0.7
+ heatingCoefficient: 1.05
+ coolingCoefficient: 0.7
- type: GroupExamine
- type: HideLayerClothing
slots:
- type: Clothing
sprite: Clothing/Head/Helmets/paramedhelm.rsi
- type: TemperatureProtection
- coefficient: 0.1
+ heatingCoefficient: 0.1
+ coolingCoefficient: 0.1
- type: Armor
modifiers:
coefficients:
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.005
+ heatingCoefficient: 0.005
+ coolingCoefficient: 0.005
- type: FireProtection
reduction: 0.2
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.005
+ heatingCoefficient: 0.005
+ coolingCoefficient: 0.005
- type: FireProtection
reduction: 0.2
- type: Armor
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.005
+ heatingCoefficient: 0.005
+ coolingCoefficient: 0.005
- type: Armor
modifiers:
coefficients:
quickEquip: true
- type: IngestionBlocker
- type: TemperatureProtection
- coefficient: 0.005
+ heatingCoefficient: 0.01
+ coolingCoefficient: 0.2
- type: FireProtection
reduction: 0.15 # not fully sealed so less protection
- type: IdentityBlocker
quickEquip: true
- type: IngestionBlocker
- type: TemperatureProtection
- coefficient: 0.005
+ heatingCoefficient: 0.01
+ coolingCoefficient: 0.2
- type: FireProtection
reduction: 0.2
- type: PressureProtection
highPressureMultiplier: 0.6
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.2
+ heatingCoefficient: 0.2
+ coolingCoefficient: 0.2
- type: BreathMask
# this is on the hood so you only fool the fish if you wear the whole set
# wear carp suit and security helmet, they'll know you are fake
highPressureMultiplier: 0.3
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.01
+ heatingCoefficient: 0.01
+ coolingCoefficient: 0.01
- type: ClothingSpeedModifier
walkModifier: 0.4
sprintModifier: 0.6
highPressureMultiplier: 0.6
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.01 # Not complete protection from fire
+ heatingCoefficient: 0.01 # Not complete protection from fire
+ coolingCoefficient: 0.01
- type: ClothingSpeedModifier
walkModifier: 0.8
sprintModifier: 0.8
- type: Clothing
sprite: Clothing/OuterClothing/Coats/trenchcoat.rsi
- type: TemperatureProtection
- coefficient: 0.1
+ heatingCoefficient: 0.1
+ coolingCoefficient: 0.1
- type: Armor
modifiers:
coefficients:
highPressureMultiplier: 0.02
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.001
+ heatingCoefficient: 0.001
+ coolingCoefficient: 0.001
- type: FireProtection
reduction: 0.8
- type: ExplosionResistance
- type: ExplosionResistance
damageCoefficient: 0.2
- type: TemperatureProtection
- coefficient: 0.001
+ heatingCoefficient: 0.001
+ coolingCoefficient: 0.001
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetHardsuitMaxim
highPressureMultiplier: 0.02
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.001
+ heatingCoefficient: 0.001
+ coolingCoefficient: 0.001
- type: ExplosionResistance
damageCoefficient: 0.2
- type: FireProtection
highPressureMultiplier: 0.02
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.001
+ heatingCoefficient: 0.001
+ coolingCoefficient: 0.001
- type: ExplosionResistance
damageCoefficient: 0.2
- type: FireProtection
highPressureMultiplier: 0.02
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.001
+ heatingCoefficient: 0.001
+ coolingCoefficient: 0.001
- type: ExplosionResistance
damageCoefficient: 0.7
- type: Armor
- state: equipped-OUTERCLOTHING-lines
color: "#000000"
- type: TemperatureProtection
- coefficient: 0.3
+ coolingCoefficient: 0.3
- type: entity
parent: ClothingOuterBase
- state: equipped-OUTERCLOTHING-lines
color: "#000000"
- type: TemperatureProtection
- coefficient: 0.3
+ coolingCoefficient: 0.3
- type: entity
parent: ClothingOuterBase
- state: equipped-OUTERCLOTHING-lines
color: "#000000"
- type: TemperatureProtection
- coefficient: 0.3
+ coolingCoefficient: 0.3
- type: entity
parent: ClothingOuterBase
sprintModifier: 0.7
- type: HeldSpeedModifier
- type: TemperatureProtection
- coefficient: 0.5
+ heatingCoefficient: 0.75
+ coolingCoefficient: 0.5
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetEVALarge
slot: head
sprintModifier: 0.9
- type: HeldSpeedModifier
- type: TemperatureProtection
- coefficient: 0.1
+ heatingCoefficient: 0.1
+ coolingCoefficient: 0.1
- type: Armor
modifiers:
coefficients:
- type: PressureProtection
highPressureMultiplier: 0.04
- type: TemperatureProtection
- coefficient: 0.005
+ heatingCoefficient: 0.005
+ coolingCoefficient: 0.05
- type: FireProtection
reduction: 0.65 # doesnt have a full seal so not as good
- type: Armor
highPressureMultiplier: 0.02
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.001
+ heatingCoefficient: 0.001
+ coolingCoefficient: 0.05
- type: FireProtection
reduction: 0.8 # atmos firesuit offers best protection, hardsuits are a little vulnerable
- type: Armor
highPressureMultiplier: 0.6
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.01
+ heatingCoefficient: 0.01
+ coolingCoefficient: 0.01
- type: Armor
modifiers:
coefficients:
highPressureMultiplier: 0.6
lowPressureMultiplier: 1000
- type: TemperatureProtection
- coefficient: 0.01
+ heatingCoefficient: 0.01
+ coolingCoefficient: 0.01
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetHardsuitCarp
- type: Clothing
sprite: Clothing/OuterClothing/WinterCoats/coat.rsi
- type: TemperatureProtection
- coefficient: 0.1
+ heatingCoefficient: 1.1
+ coolingCoefficient: 0.1
- type: Item
size: Normal
- type: Armor
description: Fluffy boots to help survive even the coldest of winters.
components:
- type: TemperatureProtection
- coefficient: 0.2
+ heatingCoefficient: 1.025
+ coolingCoefficient: 0.5