diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 869882e762f..5973eab8b82 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -48,3 +48,4 @@ #define FUSION_RAD_MAX 2000 #define FUSION_RAD_COEFFICIENT (-1000) #define FUSION_INSTABILITY_ENDOTHERMALITY 2 +#define FUSION_MAXIMUM_TEMPERATURE 1e8 diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 67ee93422b3..bae795a68be 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -302,7 +302,9 @@ reaction_energy += delta_plasma*PLASMA_BINDING_ENERGY //Energy is gained or lost corresponding to the creation or destruction of mass. if(instability < FUSION_INSTABILITY_ENDOTHERMALITY) - reaction_energy = max(reaction_energy,0) //Stable reactions don't end up endothermic. + reaction_energy = max(reaction_energy,0) //Stable reactions don't end up exothermic. + else if(air.temperature > FUSION_MAXIMUM_TEMPERATURE && reaction_energy > 0) //Makes the reaction neutral if above max temp. + reaction_energy = 0 else if (reaction_energy < 0) reaction_energy *= (instability-FUSION_INSTABILITY_ENDOTHERMALITY)**0.5