Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible (#71123)

## About The Pull Request

- Fully heal can be passed a series of flags detailing what all is
healed by the proc. This allows for things to provide
almost-but-not-quite fully heals.
- Uses this in Adminordrazine, so that it stops being a pain to update
every time fully heal is updated.

This includes some small balance changes which i'll go over, nothing
extremely noticable.

## Why It's Good For The Game

Allows for more precise control over full heals. 

## Changelog

🆑 Melbert
refactor: Fully heal can be passed a series of flags. As a result, some
things which previously did a full heal might heal slightly less, or
some things which did partial full heals might do slightly more.
fix: Adminordrazine will no longer completely break every facet of a
person
admin: Ahealing a changeling will refill all of their chems.
/🆑
This commit is contained in:
MrMelbert
2022-11-17 10:09:00 -08:00
committed by GitHub
parent 6b357f49e4
commit 79ffefa06d
83 changed files with 513 additions and 397 deletions
+2 -2
View File
@@ -34,7 +34,7 @@
TEST_ASSERT_EQUAL(actual_wound.type, iter_test_wound, "Patient has wound of incorrect severity. Expected: [initial(iter_test_wound.name)] Got: [actual_wound]")
threshold_penalty = actual_wound.threshold_penalty
i++
victim.fully_heal(TRUE) // should clear all wounds between types
victim.fully_heal(ADMIN_HEAL_ALL) // should clear all wounds between types
/// This test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)
@@ -84,4 +84,4 @@
TEST_ASSERT_EQUAL(actual_wound.type, iter_test_wound, "Patient has wound of incorrect severity. Expected: [initial(iter_test_wound.name)] Got: [actual_wound]")
threshold_penalty = actual_wound.threshold_penalty
i++
victim.fully_heal(TRUE) // should clear all wounds between types
victim.fully_heal(ADMIN_HEAL_ALL) // should clear all wounds between types