|
|
|
|
@@ -225,31 +225,32 @@
|
|
|
|
|
process_reagents()
|
|
|
|
|
|
|
|
|
|
/obj/machinery/pool/controller/proc/process_pool()
|
|
|
|
|
if(!drained)
|
|
|
|
|
for(var/mob/living/M in mobs_in_pool)
|
|
|
|
|
switch(temperature) //Apply different effects based on what the temperature is set to.
|
|
|
|
|
if(POOL_SCALDING) //Scalding
|
|
|
|
|
M.adjust_bodytemperature(50,0,500)
|
|
|
|
|
if(POOL_WARM) //Warm
|
|
|
|
|
M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up
|
|
|
|
|
//Normal temp does nothing, because it's just room temperature water.
|
|
|
|
|
if(POOL_COOL)
|
|
|
|
|
M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up
|
|
|
|
|
if(POOL_FRIGID) //Freezing
|
|
|
|
|
M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough.
|
|
|
|
|
if(M.bodytemperature <= 50 && !M.stat)
|
|
|
|
|
M.apply_status_effect(/datum/status_effect/freon)
|
|
|
|
|
if(ishuman(M))
|
|
|
|
|
var/mob/living/carbon/human/drownee = M
|
|
|
|
|
if(!drownee || drownee.stat == DEAD)
|
|
|
|
|
return
|
|
|
|
|
if(drownee.resting && !drownee.internal)
|
|
|
|
|
if(drownee.stat != CONSCIOUS)
|
|
|
|
|
drownee.adjustOxyLoss(9)
|
|
|
|
|
else
|
|
|
|
|
drownee.adjustOxyLoss(4)
|
|
|
|
|
if(prob(35))
|
|
|
|
|
to_chat(drownee, "<span class='danger'>You're drowning!</span>")
|
|
|
|
|
if(drained)
|
|
|
|
|
return
|
|
|
|
|
for(var/mob/living/M in mobs_in_pool)
|
|
|
|
|
switch(temperature) //Apply different effects based on what the temperature is set to.
|
|
|
|
|
if(POOL_SCALDING) //Scalding
|
|
|
|
|
M.adjust_bodytemperature(50,0,500)
|
|
|
|
|
if(POOL_WARM) //Warm
|
|
|
|
|
M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up
|
|
|
|
|
//Normal temp does nothing, because it's just room temperature water.
|
|
|
|
|
if(POOL_COOL)
|
|
|
|
|
M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up
|
|
|
|
|
if(POOL_FRIGID) //Freezing
|
|
|
|
|
M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough.
|
|
|
|
|
if(M.bodytemperature <= 50 && !M.stat)
|
|
|
|
|
M.apply_status_effect(/datum/status_effect/freon)
|
|
|
|
|
if(ishuman(M))
|
|
|
|
|
var/mob/living/carbon/human/drownee = M
|
|
|
|
|
if(!drownee || drownee.stat == DEAD)
|
|
|
|
|
return
|
|
|
|
|
if(drownee.resting && !drownee.internal)
|
|
|
|
|
if(drownee.stat != CONSCIOUS)
|
|
|
|
|
drownee.adjustOxyLoss(9)
|
|
|
|
|
else
|
|
|
|
|
drownee.adjustOxyLoss(4)
|
|
|
|
|
if(prob(35))
|
|
|
|
|
to_chat(drownee, "<span class='danger'>You're drowning!</span>")
|
|
|
|
|
|
|
|
|
|
/obj/machinery/pool/controller/proc/set_bloody(state)
|
|
|
|
|
if(bloody == state)
|
|
|
|
|
|