[MIRROR] Fixes negative bodytemp in some cases and shivering not doing anything unless you're already very cold (#5674)

* Fixes negative bodytemp in some cases and shivering not doing anything unless you're already very cold (#35796)

* - Stop subtracting from bodytemp please
- Also fixes shivering

* - Jesus christ why did you make me do this

* - missed one

* Fixes negative bodytemp in some cases and shivering not doing anything unless you're already very cold
This commit is contained in:
CitadelStationBot
2018-02-23 17:42:57 -06:00
committed by Poojawa
parent f3b42842ad
commit 567c7fad8d
29 changed files with 114 additions and 130 deletions
@@ -54,7 +54,7 @@ Bonus
/datum/symptom/fever/proc/Heat(mob/living/M, datum/disease/advance/A)
var/get_heat = 6 * power
if(!unsafe)
M.bodytemperature = min(M.bodytemperature + (get_heat * A.stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1)
M.adjust_bodytemperature(get_heat * A.stage, 0, BODYTEMP_HEAT_DAMAGE_LIMIT - 1)
else
M.bodytemperature += (get_heat * A.stage)
M.adjust_bodytemperature(get_heat * A.stage)
return 1
@@ -384,11 +384,11 @@
to_chat(M, "<span class='notice'>You feel yourself absorbing plasma inside and around you...</span>")
if(M.bodytemperature > BODYTEMP_NORMAL)
M.bodytemperature = max(BODYTEMP_NORMAL, M.bodytemperature - (20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT))
M.adjust_bodytemperature(-20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT,BODYTEMP_NORMAL)
if(prob(5))
to_chat(M, "<span class='notice'>You feel less hot.</span>")
else if(M.bodytemperature < (BODYTEMP_NORMAL + 1))
M.bodytemperature = min(BODYTEMP_NORMAL, M.bodytemperature + (20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT))
M.adjust_bodytemperature(20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT,0,BODYTEMP_NORMAL)
if(prob(5))
to_chat(M, "<span class='notice'>You feel warmer.</span>")
@@ -47,13 +47,13 @@ Bonus
to_chat(M, "<span class='warning'>[pick("You feel cold.", "You shiver.")]</span>")
else
to_chat(M, "<span class='userdanger'>[pick("You feel your blood run cold.", "You feel ice in your veins.", "You feel like you can't heat up.", "You shiver violently." )]</span>")
if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT || unsafe)
if(M.bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT || unsafe)
Chill(M, A)
/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A)
var/get_cold = 6 * power
if(!unsafe)
M.bodytemperature = min(M.bodytemperature - (get_cold * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1)
else
M.bodytemperature -= (get_cold * A.stage)
var/limit = BODYTEMP_COLD_DAMAGE_LIMIT + 1
if(unsafe)
limit = 0
M.adjust_bodytemperature(-get_cold * A.stage, limit)
return 1