stabilized orange can now cool at most 5 per tick instead of infinite

robots only cool half, which means 5 per life tick (status effects fire twice per life tick total)

for robots, it cools towards ~ -100°C target temp, provided you are in a location that supports it.
This commit is contained in:
DeltaFire
2022-01-31 00:50:22 +01:00
parent e75bc8ff14
commit 04d806c700
5 changed files with 9 additions and 4 deletions

View File

@@ -32,7 +32,7 @@
coldmod = 0.5
heatmod = 1.2
cold_offset = -125 //Can handle pretty cold environments, but it's still a slightly bad idea if you enter a room thats full of near-absolute-zero gas
cold_offset = SYNTH_COLD_OFFSET //Can handle pretty cold environments, but it's still a slightly bad idea if you enter a room thats full of near-absolute-zero gas
blacklisted_quirks = list(/datum/quirk/coldblooded)
balance_point_values = TRUE

View File

@@ -15,7 +15,7 @@
coldmod = 0.5
heatmod = 1.2
cold_offset = -125 //Can handle pretty cold environments, but it's still a slightly bad idea if you enter a room thats full of near-absolute-zero gas
cold_offset = SYNTH_COLD_OFFSET //Can handle pretty cold environments, but it's still a slightly bad idea if you enter a room thats full of near-absolute-zero gas
blacklisted_quirks = list(/datum/quirk/coldblooded)
balance_point_values = TRUE

View File

@@ -12,7 +12,7 @@
coldmod = 0.5
heatmod = 1.2
cold_offset = -125 //Can handle pretty cold environments, but it's still a slightly bad idea if you enter a room thats full of near-absolute-zero gas
cold_offset = SYNTH_COLD_OFFSET //Can handle pretty cold environments, but it's still a slightly bad idea if you enter a room thats full of near-absolute-zero gas
blacklisted_quirks = list(/datum/quirk/coldblooded)
balance_point_values = TRUE

View File

@@ -495,7 +495,11 @@
/datum/status_effect/stabilized/orange/tick()
var/body_temperature_difference = BODYTEMP_NORMAL - owner.bodytemperature
owner.adjust_bodytemperature(min(5,body_temperature_difference))
var/cooling_cap = -5
if(HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM))
cooling_cap *= 0.5 //Only cools by half as much (which is 5 per life tick since this ticks twice as much as life) so it isn't true spaceproofness..
body_temperature_difference += SYNTH_COLD_OFFSET //.. But also cools towards a cold temp, provided there is nothing that counters it.
owner.adjust_bodytemperature(clamp(body_temperature_difference, cooling_cap, 5))
return ..()
/datum/status_effect/stabilized/purple