From 761f11e71b8360d4c49e261b7ca83d80f34ff855 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 17 Sep 2022 20:45:19 +0200 Subject: [PATCH] [MIRROR] Significantly increases the volume of tritium combustion radiation pulses. All gas reactions that release radiation pulses will now have a constant radiation threshold. [MDB IGNORE] (#16283) * Significantly increases the volume of tritium combustion radiation pulses. All gas reactions that release radiation pulses will now have a constant radiation threshold. (#69749) Gas reaction radiation. Sets TRITIUM_RADIATION_RANGE_DIVISOR to 0.5, from 1.5. This effectively makes the range behave as if there are 10 times the tritium getting burned than before. Renamed TRITIUM_RADIATION_THRESHOLD_BASE, PN_TRITIUM_RAD_THRESHOLD_BASE, and PN_BZASE_RAD_THRESHOLD_BASE to TRITIUM_RADIATION_THRESHOLD, PN_TRITIUM_RAD_THRESHOLD, and PN_BZASE_RAD_THRESHOLD. Updates description for these defines, and sets them to 0.3. The radiation threshold for tritium combustion, proto-nitrate tritium response, and proto-nitrate bz response has been changed to be their radiation threshold defines, instead of a scaling factor from 1 to 0. * Significantly increases the volume of tritium combustion radiation pulses. All gas reactions that release radiation pulses will now have a constant radiation threshold. Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> --- code/__DEFINES/reactions.dm | 16 ++++++++-------- .../atmospherics/gasmixtures/reactions.dm | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 686a7cf298e..6a6b6f18d56 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -80,9 +80,9 @@ /// The minimum released energy necessary for tritium to release radiation during combustion. (at a mix volume of [CELL_VOLUME]). #define TRITIUM_RADIATION_RELEASE_THRESHOLD (FIRE_TRITIUM_ENERGY_RELEASED) /// A scaling factor for the range of radiation pulses produced by tritium fires. -#define TRITIUM_RADIATION_RANGE_DIVISOR 1.5 -/// A scaling factor for the irradiation threshold of radiation pulses produced by tritium fires. -#define TRITIUM_RADIATION_THRESHOLD_BASE 15 +#define TRITIUM_RADIATION_RANGE_DIVISOR 0.5 +/// The threshold of the tritium combustion's radiation. Lower values means it will be able to penetrate through more structures. +#define TRITIUM_RADIATION_THRESHOLD 0.3 // - Freon: /// The maximum temperature freon can combust at. @@ -235,9 +235,9 @@ /// The minimum released energy necessary for proto-nitrate to release radiation when converting tritium. (With a reaction vessel volume of [CELL_VOLUME]) #define PN_TRITIUM_CONVERSION_RAD_RELEASE_THRESHOLD 10000 /// A scaling factor for the range of the radiation pulses generated when proto-nitrate converts tritium to hydrogen. -#define PN_TRITIUM_RAD_RANGE_DIVISOR 1.5 -/// A scaling factor for the threshold of the radiation pulses generated when proto-nitrate converts tritium to hydrogen. -#define PN_TRITIUM_RAD_THRESHOLD_BASE 15 +#define PN_TRITIUM_RAD_RANGE_DIVISOR 0.5 +/// The threshold of the radiation pulse released when proto-nitrate converts tritium into hydrogen. Lower values means it will be able to penetrate through more structures. +#define PN_TRITIUM_RAD_THRESHOLD 0.3 /// The minimum temperature proto-nitrate can break BZ down at. #define PN_BZASE_MIN_TEMP 260 @@ -249,8 +249,8 @@ #define PN_BZASE_RAD_RELEASE_THRESHOLD 60000 /// A scaling factor for the range of the radiation pulses generated when proto-nitrate breaks down BZ. #define PN_BZASE_RAD_RANGE_DIVISOR 1.5 -/// A scaling factor for the threshold of the radiation pulses generated when proto-nitrate breaks down BZ. -#define PN_BZASE_RAD_THRESHOLD_BASE 15 +/// The threshold of the radiation pulse released when proto-nitrate breaks down BZ. Lower values means it will be able to penetrate through more structures. +#define PN_BZASE_RAD_THRESHOLD 0.3 /// A scaling factor for the nuclear particle production generated when proto-nitrate breaks down BZ. #define PN_BZASE_NUCLEAR_PARTICLE_DIVISOR 5 /// The maximum amount of nuclear particles that can be produced from proto-nitrate breaking down BZ. diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 058beafcecb..251991e4250 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -333,7 +333,7 @@ var/energy_released = FIRE_TRITIUM_ENERGY_RELEASED * burned_fuel if(location && burned_fuel > TRITIUM_RADIATION_MINIMUM_MOLES && energy_released > TRITIUM_RADIATION_RELEASE_THRESHOLD * (air.volume / CELL_VOLUME) ** ATMOS_RADIATION_VOLUME_EXP && prob(10)) - radiation_pulse(location, max_range = min(sqrt(burned_fuel) / TRITIUM_RADIATION_RANGE_DIVISOR, GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE), threshold = TRITIUM_RADIATION_THRESHOLD_BASE * INVERSE(TRITIUM_RADIATION_THRESHOLD_BASE + burned_fuel)) + radiation_pulse(location, max_range = min(sqrt(burned_fuel) / TRITIUM_RADIATION_RANGE_DIVISOR, GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE), threshold = TRITIUM_RADIATION_THRESHOLD) if(energy_released > 0) var/new_heat_capacity = air.heat_capacity() @@ -1082,7 +1082,7 @@ else if(isatom(holder)) location = holder if (location && energy_released > PN_TRITIUM_CONVERSION_RAD_RELEASE_THRESHOLD * (air.volume / CELL_VOLUME) ** ATMOS_RADIATION_VOLUME_EXP) - radiation_pulse(location, max_range = min(sqrt(produced_amount) / PN_TRITIUM_RAD_RANGE_DIVISOR, GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE), threshold = PN_TRITIUM_RAD_THRESHOLD_BASE * INVERSE(PN_TRITIUM_RAD_THRESHOLD_BASE + produced_amount)) + radiation_pulse(location, max_range = min(sqrt(produced_amount) / PN_TRITIUM_RAD_RANGE_DIVISOR, GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE), threshold = PN_TRITIUM_RAD_THRESHOLD) if(energy_released) var/new_heat_capacity = air.heat_capacity() @@ -1138,7 +1138,7 @@ var/nuclear_particle_amount = min(round(consumed_amount / PN_BZASE_NUCLEAR_PARTICLE_DIVISOR), PN_BZASE_NUCLEAR_PARTICLE_MAXIMUM) for(var/i in 1 to nuclear_particle_amount) location.fire_nuclear_particle() - radiation_pulse(location, max_range = min(sqrt(consumed_amount - nuclear_particle_amount * PN_BZASE_NUCLEAR_PARTICLE_RADIATION_ENERGY_CONVERSION) / PN_BZASE_RAD_RANGE_DIVISOR, GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE), threshold = PN_BZASE_RAD_THRESHOLD_BASE * INVERSE(PN_BZASE_RAD_THRESHOLD_BASE + consumed_amount - nuclear_particle_amount * PN_BZASE_NUCLEAR_PARTICLE_RADIATION_ENERGY_CONVERSION)) + radiation_pulse(location, max_range = min(sqrt(consumed_amount - nuclear_particle_amount * PN_BZASE_NUCLEAR_PARTICLE_RADIATION_ENERGY_CONVERSION) / PN_BZASE_RAD_RANGE_DIVISOR, GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE), threshold = PN_BZASE_RAD_THRESHOLD) for(var/mob/living/carbon/L in location) L.hallucination += consumed_amount