-
-
Notifications
You must be signed in to change notification settings - Fork 681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mobility Refactor #8965
Mobility Refactor #8965
Conversation
Oh yeah, this one also doesn't conflict with #8204, as I included no blindness changes |
mfw |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Two down! Nice. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
im taking a break, Semester begins soon and this is affecting my mental health |
Ports /tg/:
Stasis supports multiple sources tgstation/tgstation#49237Add new lints tgstation/tgstation#49751lying to lying_angle and set proc tgstation/tgstation#50018Incapacitating status effects add a generic trait tgstation/tgstation#50270Fixes Stamcritting Not Making The User Incapacitated tgstation/tgstation#50327Adds a knockedout trait, begins refactoring mobility 2.0 tgstation/tgstation#51348Immobilized trait tgstation/tgstation#52578Floored trait tgstation/tgstation#52884Crit status refactor tgstation/tgstation#53117Adds a succumb alert prompt tgstation/tgstation#52892 (AFTER crit status refactor)Zombies can be decapped again, un-nerfs esword/armblade/etc wounding power, improvised cauterization tweaks tgstation/tgstation#53349Moblity refactor: hands blocked and restrained edition. tgstation/tgstation#53981About The Pull Request
Closes #8108
Contributes to #7213
This is an atomization and successor of #8474.
I decided to make a new pr because I wasnt proud of the previous pr. At the time I was much less experienced, and mostly relied on the Monke port, rather than understanding the source material.
Lets get into it. The main concept behind TG's mobility refactor is to make mobility more event-based, reduce stupid is_var checks, and move all these proc-based mobility shit to signals/status effects.
Doing so lets us append a LOT more behavior, it should lead to an easier time if we get to porting wounds or kapulimbs.
tl;dr the purpose of this is to kill the
/update_mobility
method, and compensate for the handling of that code instead of calling this one huge terrible methodWhy It's Good For The Game
This is an adequate summary of what this does for us.
Testing Photographs and Procedure
Screenshots&Videos
Rest control
Stasis applies properly to plasmameme
I busted my arm
cryo applies correctly
tucked in
Changelog
🆑 RKz, Rohesie, ExcessiveUseOfCobblestone
add: transitioning between resting and unresting is much more smooth, with an interruptable do_after
add: HUD feature that will allow you to succumb in Hardcrit. You dont have to type the ghost verb or whisper to kill yourself, just hit the HUD popup
add: with the addition of the succumb feature, you can no longer kill yourself accidentely while trying to whisper in a state of softcrit or hardcrit. You will speak, or not be able to in that instance.
tweak: Hardcrit is an actual state now, I moved most stuff that were intended for it from the unconscious state. The majority of checks will now check for both states however.
refactor: basically all the limb disabling system, makes it event-based
refactor: made a bunch of movement-related code signal-based instead of /proc/
code: carbon body position checks
code: made a bunch of overused redefines into setters
rscadd: ghost sprite for succumbing
/:cl: