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 23:01:56 +01:00
committed by GitHub
parent 772d508e29
commit 95b7fa1fb7
56 changed files with 310 additions and 273 deletions
@@ -38,6 +38,13 @@
collar_icon_state = "bullterrier"
held_state = "bullterrier"
/mob/living/basic/pet/dog/bullterrier/lavaland_party
name = "Saint Nick's Helpful Associate"
desc = "Undergraduate in 'Being a Good Boy'."
habitable_atmos = null
gold_core_spawnable = NO_SPAWN
unique_pet = TRUE
/mob/living/basic/pet/dog/breaddog //Most of the code originates from Cak
name = "Kobun"
real_name = "Kobun"
@@ -72,3 +72,10 @@
// A more docile subtype that won't attack other animals.
/mob/living/basic/pet/fox/docile
ai_controller = /datum/ai_controller/basic_controller/fox/docile
/mob/living/basic/pet/fox/icemoon
name = "icemoon fox"
desc = "A fox, scraping by the icemoon hostile atmosphere."
gold_core_spawnable = NO_SPAWN
habitable_atmos = null
minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE
@@ -13,7 +13,7 @@
light_range = 6
light_color = "#64bee1"
health = 100
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
unsuitable_atmos_damage = 0
can_buckle_to = FALSE
density = FALSE
@@ -196,4 +196,10 @@
/mob/living/basic/pet/penguin/baby/permanent
can_grow_up = FALSE
/mob/living/basic/pet/penguin/emperor/snowdin
minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE
gold_core_spawnable = NO_SPAWN
/mob/living/basic/pet/penguin/baby/permanent/snowdin
minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE
gold_core_spawnable = NO_SPAWN