diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index d6137e1b237..a56a648e878 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -16,6 +16,11 @@ Ask ninjanomnom if they're around #define RAD_OVERDOSE_REDUCTION 0.000001 // Coefficient to the reduction in applied rads once the thing, usualy mob, has too much radiation // WARNING: This number is highly sensitive to change, graph is first for best results #define RAD_BURN_THRESHOLD 1000 // Applied radiation must be over this to burn +//Holy shit test after you tweak anything it's said like 6 times in here +//You probably want to plot any tweaks you make so you can see the curves visually +#define RAD_BURN_LOG_BASE 1.1 +#define RAD_BURN_LOG_GRADIENT 10000 +#define RAD_BURN_CURVE(X) log(1+((X-RAD_BURN_THRESHOLD)/RAD_BURN_LOG_GRADIENT))/log(RAD_BURN_LOG_BASE) #define RAD_MOB_SAFE 500 // How much stored radiation in a mob with no ill effects diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index f9ad5382fa7..3ac625f56fa 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1038,7 +1038,7 @@ var/blocked = getarmor(null, "rad") if(amount > RAD_BURN_THRESHOLD) - apply_damage(log(amount)*2, BURN, null, blocked) + apply_damage(RAD_BURN_CURVE(amount), BURN, null, blocked) apply_effect((amount*RAD_MOB_COEFFICIENT)/max(1, (radiation**2)*RAD_OVERDOSE_REDUCTION), EFFECT_IRRADIATE, blocked)