Files
Bubberstation/code/modules/unit_tests/lesserform.dm
SkyratBot 0f7501ce75 [MIRROR] Monkeyize() now gives you an anonymous monkey name. [MDB IGNORE] (#22206)
* Monkeyize() now gives you an anonymous monkey name. (#76459)

## About The Pull Request

Previously Lesser Form would transform you into a monkey with the same
name as you had before transforming.
Nobody has complained about this because nobody uses Lesser Form for its
intended purpose, but it should probably work for that anyway.

Now when you use Lesser Form it will call you "monkey (420)" or
something instead, so it's less obvious that you're just larping as a
monkey.
I checked and you still get your name back if you're a normal human who
gets turned into one and back via DNA machine don't worry.

Also I unit test it.

## Why It's Good For The Game

Allows ability to be used for its presumed intended purpose.

## Changelog

🆑
fix: Lesser Form monkeys no longer maintain the name of the form you had
prior to transformation.
/🆑

* Monkeyize() now gives you an anonymous monkey name.

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-03 17:15:15 -04:00

27 lines
1.6 KiB
Plaintext

/// Unit test to ensure that changelings can consistently turn from monkeys to humans and back
/datum/unit_test/lesserform
/datum/unit_test/lesserform/Run()
var/mob/living/carbon/human/changeling = allocate(/mob/living/carbon/human/consistent)
var/name = changeling.name
changeling.mind_initialize()
var/datum/mind/mind = changeling.mind
var/datum/antagonist/changeling/changeling_datum = mind.add_antag_datum(/datum/antagonist/changeling)
changeling_datum.adjust_chemicals(INFINITY) // We don't care about how many chemicals they have
var/datum/action/changeling/lesserform/transform_ability = new(changeling)
transform_ability.transform_instantly = TRUE
transform_ability.Grant(changeling)
transform_ability.Trigger()
TEST_ASSERT(ismonkey(changeling), "Changeling failed to turn into a monkey after voluntarily transforming using lesser form.")
TEST_ASSERT_NOTEQUAL(name, changeling.name, "Monkeyisation failed to anonymise changeling's name.")
changeling.humanize(instant = TRUE)
transform_ability.Trigger()
TEST_ASSERT(ismonkey(changeling), "Changeling failed to turn into a monkey after involuntarily being made into a human.")
transform_ability.Trigger()
TEST_ASSERT(!ismonkey(changeling), "Changeling failed to stop being a monkey after voluntarily transforming using lesser form.")
TEST_ASSERT_EQUAL(name, changeling.name, "Returning from monkey form failed to restore original name.")
changeling.monkeyize(instant = TRUE)
transform_ability.Trigger()
TEST_ASSERT(!ismonkey(changeling), "Changeling failed to stop being a monkey after being involuntarily turned into one.")