Fixes changing a monkey's species potentially modifying the name listed on someone's manifest record (#96429)

## About The Pull Request

Buckle up for this one, folks, this is one hell of a corner case.

When a `mob/living/carbon/human/species` with `use_random_name` set to
TRUE changes species, it calls `fully_replace_character_name`. When
`fully_replace_character_name` is called with a non-null `oldname`
argument, it searches for a manifest record whose listed name is
`oldname`, and changes the name on that record to the new name.

Changing a monkey's name to the name of someone on the manifest, such as
with a dna injector, means that their `oldname` is the same as a record
on the manifest. As a result, if their species is changed in any way,
such as disabling the monkified mutation, the record on the manifest is
changed to the new randomly generated name for the monkey.

This PR simply changes the call to `fully_replace_character_name` in
`mob/living/carbon/human/species/set_species` to not pass in an
`oldname`.

## Why It's Good For The Game

Fixes #96399

## Changelog

🆑
fix: Changing the species of most monkeys, whose names were changed to
those of individuals on the manifest, will no longer cause the names on
those individuals' records to be changed to the name the monkey ends up
with.
/🆑
This commit is contained in:
Y0SH1M4S73R
2026-06-11 08:24:51 +02:00
committed by GitHub
parent 29b58d5b81
commit 121cd73723
@@ -1045,7 +1045,7 @@
/mob/living/carbon/human/species/set_species(datum/species/mrace, icon_update, pref_load, replace_missing)
. = ..()
if(use_random_name)
fully_replace_character_name(real_name, generate_random_mob_name())
fully_replace_character_name(newname = generate_random_mob_name())
///Proc used to make monkey roles able to function like crew, but not be able to shift into humans easily.
/mob/living/carbon/human/proc/crewlike_monkify()