Merge pull request #69 from alex-gh/supermatter_rads

Supermatter explosions are more dangerous now. The damage follows the in...
This commit is contained in:
ZomgPonies
2013-11-26 23:51:39 -08:00
3 changed files with 20 additions and 9 deletions
+4 -4
View File
@@ -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()
+4 -3
View File
@@ -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
+12 -2
View File
@@ -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)