Skip to content

Overheating

Simulates heating of weapons when firing with the following effects:

  • The hotter a weapon gets, the more likely a jam occurs.
  • Ammo can cook-off when exceeding m_fGunpowderAutoignitionTemperature (see Settings).
  • Temperature-dependent muzzle dispersion (i.e. weapon accuracy drops with temperature)
  • Barrel of MGs start glowing when exceeding m_fMinGlowTemperature (see Settings).
  • Try clearing jam with LShift+R (ACE default)
  • An interaction for checking the temperature is visible on the barrel in weapon inspection mode.
  • An interaction for swapping the barrel is visible on the barrel in weapon inspection mode.
  • Swapping barrels is only available for machine guns.
  • Barrel is not an inventory item yet, so you currently don’t need to carry anything to execute the action.
  • An interaction for cooling the barrel is available in weapon inspection mode when standing in water.

Certain aspects of this mod can be configured in the mission header section of a server config file. An overview of available fields is given below in the table:

FieldValueDescription
m_fHeatingScaleType: float**
Range: 0 to ∞
Default: 1.0
Scales the heat transferred to the barrel by a shot. The larger, the faster the temperature of the barrel increases.
m_fDefaultAirCoolingScaleType: float**
Range: 0 to ∞
Default: 1.0
Scale for how quickly a weapon gets cooled down by air. Cooling rate is multiplied by this scale.
m_fOpenBoltAirCoolingScaleType: float**
Range: 0 to ∞
Default: 1.3
Scale for how quickly a weapon gets cooled down by air for open bolt weapons.
m_fWaterCoolingScaleType: float**
Range: 0 to ∞
Default: 18.0
Scale for how quickly a weapon cools down in water.
m_fJamChanceScaleType: float**
Range: 0 to ∞
Default: 1.0
Scale for how likely a weapon jams.
m_fClearJamFailureChanceType: float**
Range: 0 to 1
Default: 0.1
Probability for clearing jam to fail.
m_fGunpowderAutoignitionTemperatureType: float**
Range: 0 to 1300
Default: 473.15
Temperature at which ammo can cook off [K].
m_fBaseHeatTransferCoefficientType: float**
Range: 0 to ∞
Default: 125.63
Base heat transfer coefficient for cooling of barrel from other channels than radiation and convection from wind and rain.
m_fBarrel2BulletMassScaledTemperatureRateConstantType: float**
Range: 0 to ∞
Default: 2.031
Mass-scaled temperature rate constant for heat exchange between barrel and bullet [g/s]. The larger, the faster a chambered bullet will heat up to barrel temperature.
m_fMuzzleDispersionScaleType: float**
Range: 0 to ∞
Default: 1.0
Scales the additional temperature-dependent dispersion of shots. Set to 0.0 to turn it off.
m_fMinSmokeTemperatureType: float**
Range: 0 to 1300
Default: 500.0
Temperature above which barrel starts smoking [K].
m_fMinGlowTemperatureType: float**
Range: 0 to 1300
Default: 800.0
Temperature above which barrel starts glowing [K].

** Note that floats need a decimal point to get properly read.

Example for the missionHeader in a server config:

"missionHeader": {
"m_ACE_Settings": {
"m_ACE_Overheating_Settings": {
"m_fHeatingScale": 1.0,
"m_fDefaultAirCoolingScale": 1.0,
"m_fOpenBoltAirCoolingScale": 1.3,
"m_fWaterCoolingScale": 18.0,
"m_fJamChanceScale": 1.0,
"m_fClearJamFailureChance": 0.1,
"m_fGunpowderAutoignitionTemperature": 473.15,
"m_fBaseHeatTransferCoefficient": 125.63,
"m_fBarrel2BulletMassScaledTemperatureRateConstant": 2.031,
"m_fMuzzleDispersionScale": 1.0,
"m_fMinSmokeTemperature": 500.0,
"m_fMinGlowTemperature": 800.0
}
}
}
  • ACE_Overheating_BarrelComponent as a child component of MuzzleComponent on the weapon prefab (already present if prefab inherits from Rifle_Base.et, Handgun_Base.et or MachineGun_Base.et).

Additional Requirements for Muzzle Dispersion

Section titled “Additional Requirements for Muzzle Dispersion”
  • ACE_Overheating_HelperAttachmentComponent slotted with ACE_Overheating_HelperAttachment.et as a child component of MuzzleComponent on the weapon prefab (already present if prefab inherits from Rifle_Base.et, Handgun_Base.et or MachineGun_Base.et).
  • SCR_WeaponStatsManagerComponent on the weapon prefab (already present if prefab inherits from Handgun_Base.et, MachineGun_Base.et or LongRangeRifle_Base.et).
  • ACE_Overheating_BarrelGlowEffectComponent as a child component of MuzzleComponent on the weapon prefab (already present if prefab inherits from MachineGun_Base.et).

  • Emissive map on the weapon’s emat with Emissive attribute bound to ACE_Overheating_BarrelGlowEffectComponent.m_vColor via Refs (see BIKI for docs on Refs )

    Example override of M60_Body2.emat:

    MatPBRBasic : "{51F0B466B57B2722}Assets/Weapons/MachineGuns/M60/Data/M60_Body2.emat" {
    Emissive 0 0 0 1
    EmissiveAbsoluteLV 0
    EmissiveMap "{E65ED29824A4834C}Assets/Weapons/MachineGuns/M60/Data/M60_Body2_EM.edds"
    Refs {
    "Emissive" "ACE_Overheating_BarrelGlowEffectComponent.m_vColor"
    }
    }

Additional Requirements for Smoking Muzzle

Section titled “Additional Requirements for Smoking Muzzle”
  • ACE_Overheating_SmokeEffectComponent as a child component of MuzzleComponent on the weapon prefab (already present if prefab inherits from Rifle_Base.et, Handgun_Base.et or MachineGun_Base.et).