Adding radiation feeding to dionaea, tweaking species values, adding shock to lighting checks, adding light checks to diona nymphs.

This commit is contained in:
Zuhayr
2013-08-25 02:08:09 -07:00
parent eb1068a12e
commit 64e705ba33
4 changed files with 55 additions and 7 deletions
@@ -215,6 +215,7 @@
adjustCloneLoss(0.1)
proc/handle_mutations_and_radiation()
if(getFireLoss())
if((COLD_RESISTANCE in mutations) || (prob(1)))
heal_organ_damage(0,1)
@@ -237,6 +238,16 @@
radiation = 0
else
if(species.flags & RAD_ABSORB)
var/rads = radiation/25
radiation -= rads
nutrition += rads
heal_overall_damage(rads,rads)
adjustOxyLoss(-(rads))
adjustToxLoss(-(rads))
updatehealth()
return
var/damage = 0
switch(radiation)
if(1 to 49)
@@ -850,6 +861,8 @@
if(A.lighting_use_dynamic) light_amount = min(10,T.lighting_lumcount) - 5 //hardcapped so it's not abused by having a ton of flashlights
else light_amount = 5
nutrition += light_amount
traumatic_shock -= light_amount
if(nutrition > 500)
nutrition = 500
if(light_amount > 2) //if there's enough light, heal
@@ -902,6 +915,7 @@
if(species.flags & REQUIRE_LIGHT)
if(nutrition < 200)
take_overall_damage(2,0)
traumatic_shock++
if (drowsyness)
drowsyness--
@@ -117,6 +117,17 @@
emote("collapse")
if (radiation)
if(istype(src,/mob/living/carbon/monkey/diona)) //Filthy check. Dionaea don't take rad damage.
var/rads = radiation/25
radiation -= rads
nutrition += rads
heal_overall_damage(rads,rads)
adjustOxyLoss(-(rads))
adjustToxLoss(-(rads))
updatehealth()
return
if (radiation > 100)
radiation = 100
Weaken(10)
@@ -408,6 +419,25 @@
proc/handle_chemicals_in_body()
if(istype(src,/mob/living/carbon/monkey/diona)) //Filthy check. Dionaea nymphs need light or they get sad.
var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing
if(isturf(loc)) //else, there's considered to be no light
var/turf/T = loc
var/area/A = T.loc
if(A)
if(A.lighting_use_dynamic) light_amount = min(10,T.lighting_lumcount) - 5 //hardcapped so it's not abused by having a ton of flashlights
else light_amount = 5
nutrition += light_amount
traumatic_shock -= light_amount
if(nutrition > 500)
nutrition = 500
if(light_amount > 2) //if there's enough light, heal
heal_overall_damage(1,1)
adjustToxLoss(-1)
adjustOxyLoss(-1)
if(reagents) reagents.metabolize(src)
if (drowsyness)
+9 -5
View File
@@ -111,10 +111,14 @@
primitive = /mob/living/carbon/monkey/diona
warning_low_pressure = 50
hazard_low_pressure = 0
hazard_low_pressure = -1
heat_level_1 = 500
heat_level_2 = 700
heat_level_3 = 1200
cold_level_1 = 50
cold_level_2 = -1
cold_level_3 = -1
flags = WHITELISTED | NO_EAT | NO_BREATHE | REQUIRE_LIGHT | NON_GENDERED | NO_SCAN | IS_PLANT
heat_level_1 = 2000
heat_level_2 = 3000
heat_level_3 = 4000
flags = WHITELISTED | NO_BREATHE | REQUIRE_LIGHT | NON_GENDERED | NO_SCAN | IS_PLANT | RAD_ABSORB