Add a unit test to check that maploaded simple/basic mobs are in an environment they can survive in. (#82180)

## About The Pull Request
I've recently noticed that the maploaded penguins from the snowdin away
mission were dying from unsafe atmos/temperature. This sparked the idea
of making a (focus only) unit test that would prevent this sort of
issues from happening.

This PR also implements the usage of the `atmos_requirements` and
`body_temp_sensitive` elements for simple animals too, cutting down the
copypaste.

## Why It's Good For The Game
More unit tests to make sure things are done correctly.

## Changelog

🆑
fix: Made sure that mapped critters (i.e. penguins on the snow cabin
away mission) can survive in the environment they're spawned in.
/🆑
This commit is contained in:
Ghom
2024-03-27 16:01:56 -06:00
committed by GitHub
parent 772d508e29
commit 95b7fa1fb7
56 changed files with 310 additions and 273 deletions
@@ -109,6 +109,11 @@
. = ..()
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/fast_web)
///Used in the caves away mission.
/mob/living/basic/spider/giant/hunter/away_caves
minimum_survivable_temperature = 0
gold_core_spawnable = NO_SPAWN
/**
* ### Scout Spider
* A subtype of the giant spider which is faster, has thermal vision, but less health and damage.
@@ -166,6 +171,11 @@
///The health HUD applied to the mob.
var/health_hud = DATA_HUD_MEDICAL_ADVANCED
///Used in the caves away mission.
/mob/living/basic/spider/giant/nurse/away_caves
minimum_survivable_temperature = 0
gold_core_spawnable = NO_SPAWN
/mob/living/basic/spider/giant/nurse/Initialize(mapload)
. = ..()
var/datum/atom_hud/datahud = GLOB.huds[health_hud]
@@ -464,7 +474,7 @@
*/
/mob/living/basic/spider/giant/ice
name = "giant ice spider"
habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
habitable_atmos = null
minimum_survivable_temperature = 0
maximum_survivable_temperature = 1500
color = rgb(114,228,250)
@@ -478,7 +488,7 @@
*/
/mob/living/basic/spider/giant/nurse/ice
name = "giant ice spider"
habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
habitable_atmos = null
minimum_survivable_temperature = 0
maximum_survivable_temperature = 1500
poison_type = /datum/reagent/consumable/frostoil
@@ -492,7 +502,7 @@
*/
/mob/living/basic/spider/giant/hunter/ice
name = "giant ice spider"
habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
habitable_atmos = null
minimum_survivable_temperature = 0
maximum_survivable_temperature = 1500
poison_type = /datum/reagent/consumable/frostoil