Files
Bubberstation/code/modules/research
Gboster-0 31846bc965 Makes slimes all share the same slime_type (#92664)
## About The Pull Request

- All slimes of the same color share the same `slime_type`, saving a
tiny amount of memory whenever a xenobiologist exists
> Also slime_types were never manually deleted by the code, only
possibly being deleted by the GC later on. This makes the whole thing a
bit a bit more sane.

<details>
<summary>Minor changes</summary>

- Charged rainbow now properly uses `/mob/living/basic/slime/random`
instead of `/mob/living/basic/slime` and then randomizing its color
- `set_slime_type` now actually updates its name and icons like it says
in the comment description instead of them being set at initialize()
- `random_colour` was deleted, being replaced by calling
`set_slime_type` with no argument or with null as its argument
- the random color slime subtype now calls the `set_slime_type` proc and
lets it randomize the color instead of doing it itself

</details>

## Why It's Good For The Game

> All slimes of the same color share the same `slime_type`, saving a
tiny amount of memory whenever a xenobiologist exists
- Its a slight improvement but its still good since most shifts will
have a xenobiologist making a good chunk of slimes

<details>
<summary>Minor change explanations</summary>

> Charged rainbow now properly uses `/mob/living/basic/slime/random`
instead of `/mob/living/basic/slime` and then randomizing its color
- Very minor nitpick, still should be just spawning that subtype
> `set_slime_type` now actually updates its name and icons like it says
in the comment description instead of them being set at initialize()
- if any admin or a future coder wants to change a slime's color now it
should properly work with just that proc
> `random_colour` was deleted, being replaced by calling
`set_slime_type` with no argument or with null as its argument
- there are 2 places calling it, 1 of them that shouldn't be calling it
in the first place, i think its fine to squish it under that proc
> the random color slime subtype now calls the `set_slime_type` proc and
lets it randomize the color instead of doing it itself
- Its a bit cleaner

</details>

## Changelog
Edited this out since these aren't player-facing changes. - Ghommie

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-08-22 03:45:55 +02:00
..
2025-08-13 07:42:53 +10:00
2025-06-25 17:36:10 -07:00