Files
Leland KembleandGitHub e5f29ab03c Fixes random slimes not being random & slimes not being revived with the correct icon (#95078)
## About The Pull Request

Random slimes didn't have their type randomized because the check in
`set_slime_type()` that causes randomization is checking for `null`, and
the way this was supposed to be activating was passing `null` through
the `/random` subtype's `Initialize()` arguments, but apparently even if
you pass `null` in the arguments explicitly, default values get
applied(in this case, grey slime). This has been resolved by switching
out `null` for a non-null define.

Also, slimes revived via aheals and probably other stuff would have
their icon reset to grey slime baby, regardless of their actual state,
because `icon_living` was not being set. `icon_living` is now being set
along with `icon_dead`.

## Why It's Good For The Game

fixes #95072
fixes fake grey slimes

## Changelog
🆑

fix: Sources of random slimes will now produce random slimes
fix: Slimes revived via magic will now continue to look as they should

/🆑
2026-02-03 22:15:37 -05:00

70 lines
2.2 KiB
Plaintext

///This slime is a baby
#define SLIME_LIFE_STAGE_BABY "baby"
///This slime is an adult
#define SLIME_LIFE_STAGE_ADULT "adult"
///This lowest charge a slime can have
#define SLIME_MIN_POWER 0
///Dangerous levels of charge
#define SLIME_MEDIUM_POWER 5
///The highest level of charge a slime can have
#define SLIME_MAX_POWER 10
///The maximum amount of nutrition a slime can contain
#define SLIME_MAX_NUTRITION 200
///The starting nutrition of a slime
#define SLIME_STARTING_NUTRITION 100
/// Above it we grow our amount_grown and our power_level, below it we can eat
#define SLIME_GROW_NUTRITION 150
/// Below this, we feel hungry
#define SLIME_HUNGER_NUTRITION 50
/// Below this, we feel starving
#define SLIME_STARVE_NUTRITION 10
///The slime is not hungry. It might try to feed anyways.
#define SLIME_HUNGER_NONE 0
///The slime is more likely to feed on people
#define SLIME_HUNGER_HUNGRY 1
///The slime is very likely to feed on anything
#define SLIME_HUNGER_STARVING 2
#define SLIME_MOOD_NONE "none"
#define SLIME_MOOD_ANGRY "angry"
#define SLIME_MOOD_MISCHIEVOUS "mischievous"
#define SLIME_MOOD_POUT "pout"
#define SLIME_MOOD_SAD "sad"
#define SLIME_MOOD_SMILE ":3"
// Just slimin' here.
// Warning: These defines are used for slime icon states, so if you
// touch these names, remember to update icons/mob/simple/slimes.dmi!
#define SLIME_TYPE_ADAMANTINE "adamantine"
#define SLIME_TYPE_BLACK "black"
#define SLIME_TYPE_BLUE "blue"
#define SLIME_TYPE_BLUESPACE "bluespace"
#define SLIME_TYPE_CERULEAN "cerulean"
#define SLIME_TYPE_DARK_BLUE "dark-blue"
#define SLIME_TYPE_DARK_PURPLE "dark-purple"
#define SLIME_TYPE_GOLD "gold"
#define SLIME_TYPE_GREEN "green"
#define SLIME_TYPE_GREY "grey"
#define SLIME_TYPE_LIGHT_PINK "light-pink"
#define SLIME_TYPE_METAL "metal"
#define SLIME_TYPE_OIL "oil"
#define SLIME_TYPE_ORANGE "orange"
#define SLIME_TYPE_PINK "pink"
#define SLIME_TYPE_PURPLE "purple"
#define SLIME_TYPE_PYRITE "pyrite"
#define SLIME_TYPE_RAINBOW "rainbow"
#define SLIME_TYPE_RED "red"
#define SLIME_TYPE_SEPIA "sepia"
#define SLIME_TYPE_SILVER "silver"
#define SLIME_TYPE_YELLOW "yellow"
// Not a real slime type, used to create random slimes
#define SLIME_TYPE_RANDOM "random"
// The alpha value of transperent slime types
#define SLIME_TRANSPARENCY_ALPHA 180