Files
Bubberstation/code/datums/mutations
Bloop 3294d7bb2d Makes mutations clean up after themselves (#80107)
## About The Pull Request

They weren't doing this before. This was an issue because they hold refs
to a `mob/living/carbon/owner` as well as a `datum/dna`, making it a
potential source of hard dels.

As far as I can tell, I do not see this causing any issues as
`remove_mutation(mutation)` takes a type path as an arg rather than a
reference, same thing with `get_mutation(mutation)`. I couldn't find any
examples of a reference to a mutation being reused by anything after
being removed.

---

When I was investigating potential reasons for why it might have been
like this I found more problem code. Timed dna injectors were setting
`target` to the return value of `add_mutation()`/`remove_mutation()`
which is a bool. This made no sense and would cause runtimes as well as
mislead people into thinking that the return value of those procs was a
`mob/living/carbon`.

## Why It's Good For The Game

Fixes an oversight, and headache further down the line.

## Changelog

🆑
fix: fixed mutations holding onto refs after removal
fix: fixes timed dna injectors
/🆑
2023-12-06 19:59:32 -07:00
..
2023-10-31 17:10:15 +00:00