mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-26 09:32:21 +00:00
## About The Pull Request Fixes #78721 This PR does a handful of things behind the scenes to increase the consistency of shapechange health tracking. First of all we adjust the order of operations taken when you restore the original body. The implementation as-was would remove the status effect midway through and null a bunch of variables we tried to continue using. This would result in several runtimes and code failing to run, with the upshot that untransforming upon death would leave the caster completely alive, with the corpse of its transformed shape at its feet. Oops. Additionally while testing this I realised that transferring the damagew as also kind of fucked. We wouldn't bother to do it at _all_ if you died, which is a shame, so I made it simply heal you instead of reviving you so we can always do it. Then as noted in the linked issue, we were applying all transferred damage to a single limb, which could exceed the health of the limb and remove damage. Now we spread it around the body. Finally, applying damage to a human using the "force" flag would often actually apply less damage to their _health_ than expected. This is because arms and legs contribute only 75% of their damage taken to a mob's overall health. Now instead of reading `health` we read `total damage` which ignores the limb damage modifier. The end result of this is that if you transform into a corgi, take 50% of your health, and transform back then you will have 50% of your health as a human. Previously the result would be that you'd have ~63%, then transforming into a corgi would leave you with ~63% of a corgi's health, then transforming back into a human would leave you at about 71%... and so on and so forth. Now it doesn't do that. ## Changelog 🆑 fix: Dying when using (most) shapeshift spells will now kill you rather than having you pop out of the corpse of your previous form. fix: Damage will now be accurately carried between forms rather than being slightly reduced upon each transformation. /🆑
5.1 KiB
5.1 KiB