diff --git a/code/WorkInProgress/Yinadele/Supermatter.dm b/code/WorkInProgress/Yinadele/Supermatter.dm index 75ef4706e41..5b3f2e6e5b9 100644 --- a/code/WorkInProgress/Yinadele/Supermatter.dm +++ b/code/WorkInProgress/Yinadele/Supermatter.dm @@ -7,8 +7,8 @@ //These would be what you would get at point blank, decreases with distance -#define DETONATION_RADS 200 -#define DETONATION_HALLUCINATION 600 +#define DETONATION_RADS 300000 +#define DETONATION_HALLUCINATION 60000 #define WARNING_DELAY 60 //45 seconds between warnings. @@ -124,8 +124,8 @@ for(var/mob/living/mob in living_mob_list) if(istype(mob, /mob/living/carbon/human)) //Hilariously enough, running into a closet should make you get hit the hardest. - mob:hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) ) - var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(mob, src) + 1) ) + mob:hallucination += max(50, min(300, DETONATION_HALLUCINATION/((get_dist(mob, src)+1)**2) ) ) + var/rads = DETONATION_RADS/((get_dist(mob, src)+1)**2) mob.apply_effect(rads, IRRADIATE) explode() diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 1943242bce2..a26ce0fa693 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -37,14 +37,16 @@ if (radiation) if (radiation > 100) - radiation = 100 + radiation -= 3 + adjustToxLoss(3) + updatehealth() if(!container)//If it's not in an MMI src << "\red You feel weak." else//Fluff-wise, since the brain can't detect anything itself, the MMI handles thing like that src << "\red STATUS: CRITICAL AMOUNTS OF RADIATION DETECTED." switch(radiation) - if(1 to 49) + if(0 to 49) radiation-- if(prob(25)) adjustToxLoss(1) @@ -66,7 +68,6 @@ adjustToxLoss(3) updatehealth() - proc/handle_environment(datum/gas_mixture/environment) if(!environment) return diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 79e6bcb68bc..67f0d6f34dd 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -237,7 +237,6 @@ if (radiation) if (radiation > 100) - radiation = 100 Weaken(10) src << "\red You feel weak." emote("collapse") @@ -258,7 +257,7 @@ var/damage = 0 switch(radiation) - if(1 to 49) + if(0 to 49) radiation-- if(prob(25)) adjustToxLoss(1) @@ -287,6 +286,17 @@ emote("gasp") updatehealth() + else + radiation -= 5 + adjustToxLoss(5) + damage = 1 + if(prob(1)) + src << "\red You mutate!" + randmutb(src) + domutcheck(src,null) + emote("gasp") + updatehealth() + if(damage && organs.len) var/datum/organ/external/O = pick(organs) if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage)