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

@@ -81,6 +81,7 @@
#define SYNTH_ACTIVE_COOLING_MIN_ADJUSTMENT 5 //What is the minimum amount of temp you move towards the target point, even if it would be less with default calculations?
#define SYNTH_INTEGRATION_COOLANT_PENALTY 0.4 //Integrating coolant is multiplied with this for calculation of impact on passive cooling.
#define SYNTH_INTEGRATION_COOLANT_CAP 0.25 //Integrating coolant is capped at counting as current_blood * this number. This is so you can't just run on salglu or whatever.
#define SYNTH_COLD_OFFSET -125 //How much colder temps Synths can tolerate. Used in their species.
#define BODYTEMP_NORMAL 310.15 //The natural temperature for a body
#define BODYTEMP_AUTORECOVERY_DIVISOR 11 //This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.

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