Files
Bubberstation/code/datums/mutations/adaptation.dm
f69a9634fa Standing overlay cleanup (#96593)
## About The Pull Request

Every standing overlay layer that wasn't actually a standing overlay
layer is now a "sub-standing layer", denoted with a decimal

Total number of standing overlay layers reduced from 39 to 23

Small refactors to mutation overlay/species handling and cult halo. 

## Why It's Good For The Game

Makes it easier to work with mob overlays. 

You can see at a glance which layers are applied with standing overlays
and which layers are manually handled, and more importantly you can see
how the layers sort themselves out by just looking at them. Very
convenient.

## Changelog

🆑 Melbert
code: Reorganized human layering, report any oddities with sprites, such
as mislayered equipment.
refactor: Refactored cult halos, report any oddities like them not
appearing when they should.
refactor: Refactored mutation visuals, they're now affected by height!
Report any oddities like them disappearing.
refactor: Refactored mutation species handling, report any oddities like
lizards with hulk.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2026-06-22 01:25:01 +00:00

53 lines
2.5 KiB
Plaintext

/datum/mutation/adaptation
name = "Adaptation"
desc = "A strange mutation that renders the host immune to damage from extreme temperatures. Does not protect from vacuums."
quality = POSITIVE
difficulty = 16
text_gain_indication = span_notice("Your body feels normal!")
instability = NEGATIVE_STABILITY_MAJOR
locked = TRUE // fake parent
conflicts = list(/datum/mutation/adaptation)
mutation_traits = list(TRAIT_WADDLING)
mutation_icon = 'icons/mob/effects/genetics.dmi'
/datum/mutation/adaptation/New(datum/mutation/copymut)
. = ..()
conflicts = typesof(/datum/mutation/adaptation)
/datum/mutation/adaptation/cold
name = "Cold Adaptation"
desc = "A strange mutation that renders the host immune to damage from low temperature environments. It also prevents the host from slipping on ice."
text_gain_indication = span_notice("Your body feels refreshingly cold.")
instability = POSITIVE_INSTABILITY_MODERATE
mutation_traits = list(TRAIT_RESISTCOLD, TRAIT_NO_SLIP_ICE)
mutation_icon_state = "cold"
locked = FALSE
/datum/mutation/adaptation/heat
name = "Heat Adaptation"
desc = "A strange mutation that renders the host immune to damage from high temperature, including being set alight, though the flame itself still burns clothing. It also seems to make the host resist ash storms."
text_gain_indication = span_notice("Your body feels invigoratingly warm.")
instability = POSITIVE_INSTABILITY_MODERATE
mutation_traits = list(TRAIT_RESISTHEAT, TRAIT_ASHSTORM_IMMUNE)
mutation_icon_state = "fire"
locked = FALSE
/datum/mutation/adaptation/thermal
name = "Thermal Adaptation"
desc = "A strange mutation that renders the host immune to damage from both low and high temperature environments. Does not protect from high or low pressure environments."
difficulty = 32
text_gain_indication = span_notice("Your body feels pleasantly room temperature.")
instability = POSITIVE_INSTABILITY_MAJOR
mutation_traits = list(TRAIT_RESISTHEAT, TRAIT_RESISTCOLD)
mutation_icon_state = "thermal"
locked = TRUE // recipe
/datum/mutation/adaptation/pressure
name = "Pressure Adaptation"
desc = "A strange mutation that renders the host immune to damage from both low and high pressure environments. Does not protect from temperature, including the cold of space."
text_gain_indication = span_notice("Your body feels impressively pressurized.")
instability = POSITIVE_INSTABILITY_MODERATE
mutation_icon_state = "pressure"
mutation_traits = list(TRAIT_RESISTLOWPRESSURE, TRAIT_RESISTHIGHPRESSURE)
locked = FALSE