Skip to content
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

Finishes the Mobility Refactor #10083

Merged
merged 16 commits into from
Jul 30, 2024

Conversation

Tsar-Salat
Copy link
Contributor

@Tsar-Salat Tsar-Salat commented Oct 23, 2023

Status

Limbs

Removing update_mobility

Fixes

About The Pull Request

Status:

  • The player checkhealth status now says if a limb is disabled.

Limbs A:

  • Makes losing limbs event-based, as opposed to going through several long proc chains.
  • Losing your legs gives you the floored trait, as long as not flying/floating.
  • Losing your arms and legs gives you the immobile trait, as long as not flying/floating.
  • Flying, even if you dont have limbs, will never apply limbless slowdown
  • hacky get_legs_ignore() deprecated.
  • renamed the dumb disabled to bodypart_disabled, so you can actually find it in searches
  • relaymove() and driver_move() parameters properly typed and set.
  • canBeHandcuffed() replaces the hacky get_arm_ignore()
  • Miscellaneous Fixes

Limbs B:

  • Fixes a bug with the previous PR in which paralysis did nothing. lmao
  • kills is_disabled()
  • changes several variable changes into events
  • bodypart_disabled boolean'd
  • Reduces an unnecessary amount of updates, as only extremity limbs really suffer from being disabled

Removing update_mobility

  • Title

Fixes

  • Stuff that Rohesie broke, that they later fixed

Additionally:

  • I had to clean up how stamina was applies & heals a tiny bit. I made sure to inherit bacon's changes where Stamina heals slowly after the first second, rather than clearing in 10 like tg does. I think its clean, but tell me if the math looks wrong.

TODO:

  • Initial
  • Stamcrit applied correctly by weapons
  • Stamcrit heals slowly (previous behavior not overwritten)
  • Ensure no unintentional wound code ported over
  • All mobility traits apply as expected
  • 515 compatibility
  • Paraplegic quirk people cannot walk
  • Firefighter carrying still works

Why It's Good For The Game

This was an atomization, but the recent change to contributing.md and something bacon said changed my mind. We are finishing this in one pr. No more broken mobility, no more incorrect procs. One PR, fixing it here.

Mobility atomization, more responsive mobility overall
Mobility is a pretty bad proccall, as we need to call an update_x proc literally whenever something changes, or it wont take effect.

This makes that not happen, it just took 15 months.

Testing Photographs and Procedure

Screenshots&Videos

Disabler Stamcrit

dreamseeker_tjSeMZc4G9.mp4

Stungun stamcrit

dreamseeker_Djxeh8HJn1.mp4

Limb removal & nuggeting

dreamseeker_JZzdHNBXnM.mp4

Firefighter carrying

image

Roundstart Paraplegics cannot walk

dreamseeker_RvhQUOFBrW.mp4

Changelog

🆑 rkz, rohesie, tralezab, dwasint
add: You can now see if a limb is disabled through checkhealth (HUD, healthanalyzer, ghostscan)
tweak: being limbless while flying will never apply the limbless slowdown (because you are movin just fine, right?)
fix: minor stamina fixes in the way it is applied & healed
code: kills a lot of unecessary limb updating
code: makes Limb removal & disabling event-based. Extricate it from update_mobility
/:cl:

@Tsar-Salat
Copy link
Contributor Author

Tsar-Salat commented Oct 23, 2023

#10078 is included in this, that should be merged prior to this one.

This will also need a "Needs TestMerge" label. Ive tested all the traits, which have all applied as expected. Stamina applies & heals as expected.

However, this PR is big enough that I think it would be smart to TM it

EDIT: 6/1/2024, 8 months after my original comment, this doesnt matter anymore. We are fine. Maints disregard.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Tsar-Salat Tsar-Salat marked this pull request as ready for review November 2, 2023 20:25
@Tsar-Salat Tsar-Salat requested a review from itsmeow as a code owner November 2, 2023 20:25
@Tsar-Salat
Copy link
Contributor Author

Can confirm no intentional wounds code crossover as of 694274b

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Tsar-Salat Tsar-Salat marked this pull request as draft December 16, 2023 16:59
@Tsar-Salat
Copy link
Contributor Author

Going to redo my tests after the psyphoza merge

@Tsar-Salat
Copy link
Contributor Author

Tsar-Salat commented Jan 6, 2024

Ive gotten it to the point where everything basically works as expected... except parapalegia doesnt fucking do anything. At all.

Stamcrit works
missing limbs work
adding the limbs back work

but no, the Kiera Katsuras of the world get to walk. Travesty.

guhhh

@Tsar-Salat
Copy link
Contributor Author

lets try... again.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Tsar-Salat Tsar-Salat marked this pull request as ready for review June 16, 2024 14:06
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@PowerfulBacon
Copy link
Member

I trust whatever my old review said

@PowerfulBacon PowerfulBacon added this pull request to the merge queue Jul 30, 2024
@Tsar-Salat
Copy link
Contributor Author

please dont break please dont break please dont break

Merged via the queue into BeeStation:master with commit 1b023c3 Jul 30, 2024
8 checks passed
@Tsar-Salat Tsar-Salat deleted the mobility-atomization-6 branch August 11, 2024 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants