Fix buckled patients standing up (#4316)

* Fix Standing up when Exiting Critical State (#1612)

<!-- Guidelines:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
<!-- NOTE: All code submitted to this repository is ALWAYS licensed
under the AGPL-3.0-or-later license.
The REUSE Specification headers or separate .license files indicate a
secondary license (e.g., MPL or MIT) solely to facilitate
integration for projects that do not use the AGPL license. This
secondary license does not replace the fact that AGPL-3.0-or-later
remains the primary and binding license.
Uncomment and modify the following line if you wish to change the
license from the default of AGPL.-->
<!--- LICENSE: AGPL -->
<!-- What did you change? -->
Made buckled Entities not stand up when recovering from critical state.
<!-- Discuss how this would affect game balance or explain why it was
changed. Link any relevant discussions or issues. -->
Just generally annoying having to buckle your patient again - Or have
them unbuckle from your rollerbed as you ferry them.
<!-- Summary of code changes for easier review. -->
Removed redunancies and inserted a check for being buckled before
calling the method to stand up when entering the Alive state.
<!-- Attach media if the PR makes ingame changes (clothing, items,
features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress
reports with credit. -->
<img width="104" height="148" alt="grafik"
src="https://github.com/user-attachments/assets/c26009f1-e46e-46ae-bd2e-f89f7431dc07"
/>

<!-- Confirm the following by placing an X in the brackets [X]: -->
- [X] I have read and am following the [Pull Request and Changelog
Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [X] I have added media to this PR or it does not require an ingame
showcase.
- [X] I have tested any changes or additions.
- [X] I can confirm this PR contains no AI-generated content, and did
not use any AI-generated content.
<!-- You should understand that not following the above may get your PR
closed at maintainer’s discretion -->

<!-- List any breaking changes, including namespaces, public
class/method/field changes, prototype renames; and provide instructions
for fixing them.
This will be posted in #codebase-changes. -->

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or
changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of
the comment block in order for it to show up.
Changelog must have a 🆑 symbol, so the bot recognizes the changes and
adds them to the game's changelog. -->
🆑
- fix: Fixed buckled patients standing up when recovering from crit. Now
they'll stay seated.

* Small fix

* Add Comments

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

* Fix comment?

* Returned Useless Import

* Update Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs

Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

* Update Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs

Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

* Update Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs

Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

---------

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Quanteey <61941975+Quanteey@users.noreply.github.com>
This commit is contained in:
Sir Warock 2025-10-16 11:04:21 +02:00 committed by GitHub
parent 53b23ffa05
commit cf38b86342
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 3 deletions

View File

@ -77,11 +77,11 @@ public partial class MobStateSystem
//unused
break;
case MobState.Critical:
_standing.Stand(target);
//_standing.Stand(target); // DeltaV - Remove Redundancy
break;
case MobState.Dead:
RemComp<CollisionWakeComponent>(target);
_standing.Stand(target);
//_standing.Stand(target); // DeltaV - Remove Redundancy
break;
case MobState.Invalid:
//unused
@ -102,7 +102,9 @@ public partial class MobStateSystem
switch (state)
{
case MobState.Alive:
_standing.Stand(target);
if (!TryComp(target, out BuckleComponent? buckle)
|| !buckle.Buckled) // DeltaV - Stop buckled mobs from standing up.
_standing.Stand(target);
_appearance.SetData(target, MobStateVisuals.State, MobState.Alive);
break;
case MobState.Critical: