mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 09:42:29 +00:00
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request I was planning on doing this a few years ago but didn't to let other people do it; no one did it so I just did it since it's still on the docket. Even easier in a post #90578 world <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Lot more lightweight as it were. This mob also doesn't really need to "live" either, so we can bypass the whole life chain as well to alleviate any struggles. The item does 95% of the work anyways lol. also damn you guys laxed up on the alphabetization requirements. touched all that up while in the areas i was fixing. soulscythes are in their own file now too instead of the bubblegum one or whatever <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 refactor: Soulscythes have undergone a mild refactor, but everything should work as it should. Report any issues. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
80 lines
3.9 KiB
Plaintext
80 lines
3.9 KiB
Plaintext
/// Tests that no new simple_animal subtypes are added.
|
|
/datum/unit_test/simple_animal_freeze
|
|
// !!! DO NOT ADD NEW ENTRIES TO THIS LIST !!!
|
|
// NO new simple animals are allowed.
|
|
// Use the new basic mobs system instead.
|
|
// If you are refactoring a simple_animal, REMOVE it from this list
|
|
var/list/allowed_types = list(
|
|
/mob/living/simple_animal/bot,
|
|
/mob/living/simple_animal/bot/mulebot,
|
|
/mob/living/simple_animal/bot/mulebot/paranormal,
|
|
/mob/living/simple_animal/bot/secbot,
|
|
/mob/living/simple_animal/bot/secbot/beepsky,
|
|
/mob/living/simple_animal/bot/secbot/beepsky/armsky,
|
|
/mob/living/simple_animal/bot/secbot/beepsky/jr,
|
|
/mob/living/simple_animal/bot/secbot/beepsky/officer,
|
|
/mob/living/simple_animal/bot/secbot/beepsky/ofitser,
|
|
/mob/living/simple_animal/bot/secbot/ed209,
|
|
/mob/living/simple_animal/bot/secbot/genesky,
|
|
/mob/living/simple_animal/bot/secbot/grievous,
|
|
/mob/living/simple_animal/bot/secbot/grievous/toy,
|
|
/mob/living/simple_animal/bot/secbot/pingsky,
|
|
/mob/living/simple_animal/hostile,
|
|
/mob/living/simple_animal/hostile/asteroid,
|
|
/mob/living/simple_animal/hostile/asteroid/elite,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/broodmother,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/herald,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/herald/mirror,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/legionnairehead,
|
|
/mob/living/simple_animal/hostile/asteroid/elite/pandora,
|
|
/mob/living/simple_animal/hostile/asteroid/polarbear,
|
|
/mob/living/simple_animal/hostile/asteroid/polarbear/lesser,
|
|
/mob/living/simple_animal/hostile/illusion,
|
|
/mob/living/simple_animal/hostile/illusion/escape,
|
|
/mob/living/simple_animal/hostile/illusion/mirage,
|
|
/mob/living/simple_animal/hostile/megafauna,
|
|
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner,
|
|
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom,
|
|
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/guidance,
|
|
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter,
|
|
/mob/living/simple_animal/hostile/megafauna/bubblegum,
|
|
/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination,
|
|
/mob/living/simple_animal/hostile/megafauna/clockwork_defender,
|
|
/mob/living/simple_animal/hostile/megafauna/colossus,
|
|
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner,
|
|
/mob/living/simple_animal/hostile/megafauna/dragon,
|
|
/mob/living/simple_animal/hostile/megafauna/dragon/lesser,
|
|
/mob/living/simple_animal/hostile/megafauna/hierophant,
|
|
/mob/living/simple_animal/hostile/megafauna/legion,
|
|
/mob/living/simple_animal/hostile/megafauna/legion/medium,
|
|
/mob/living/simple_animal/hostile/megafauna/legion/medium/eye,
|
|
/mob/living/simple_animal/hostile/megafauna/legion/medium/left,
|
|
/mob/living/simple_animal/hostile/megafauna/legion/medium/right,
|
|
/mob/living/simple_animal/hostile/megafauna/legion/small,
|
|
/mob/living/simple_animal/hostile/megafauna/wendigo,
|
|
/mob/living/simple_animal/hostile/megafauna/wendigo/noportal,
|
|
/mob/living/simple_animal/hostile/ooze,
|
|
/mob/living/simple_animal/hostile/ooze/gelatinous,
|
|
/mob/living/simple_animal/hostile/ooze/grapes,
|
|
// DO NOT ADD NEW ENTRIES TO THIS LIST
|
|
// READ THE COMMENT ABOVE
|
|
)
|
|
|
|
/datum/unit_test/simple_animal_freeze/Run()
|
|
var/list/seen = list()
|
|
|
|
// Sanity check, to prevent people from just doing a mass find and replace
|
|
for (var/allowed_type in allowed_types)
|
|
if (allowed_type in seen)
|
|
TEST_FAIL("[allowed_type] is in the allowlist more than once")
|
|
else
|
|
seen[allowed_type] = TRUE
|
|
|
|
TEST_ASSERT(ispath(allowed_type, /mob/living/simple_animal), "[allowed_type] is not a simple_animal. Remove it from the list.")
|
|
|
|
for (var/subtype in subtypesof(/mob/living/simple_animal))
|
|
if (!(subtype in allowed_types))
|
|
TEST_FAIL("No new simple_animal subtypes are allowed. Please refactor [subtype] into a basic mob.")
|