-
Notifications
You must be signed in to change notification settings - Fork 565
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
/tg/ Status effects part 1 - fluid status updates #4828
Conversation
Looks good TM it ✔️ |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Will break down what little i can in other PRs first so they can get reviewed |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
# About the pull request <!-- Remove this text and explain what the purpose of your PR is. Mention if you have tested your changes. If you changed a map, make sure you used the mapmerge tool. If this is an Issue Correction, you can type "Fixes Issue #169420" to link the PR to the corresponding Issue number #169420. Remember: something that is self-evident to you might not be to others. Explain your rationale fully, even if you feel it goes without saying. --> Part 2 - this includes porting the actual status_effect datum, modifying it to fit our purposes by backing it with timers similarly to old system, and finally implementing KD, KO and Stun with it. This contains Part 1 PR (#4828) so if you want to take a look at it I'd advise checking the last commits or setting up a compare between both branches. # Explain why it's good for the game Predictable status timers. Current ones are bogus in their handling of "life tick correction" and will "stack" time even when they're not supposed to. Also provides a more robust backend for general effects, and integrates status effects into it. # Testing Photographs and Procedure Summary testing of buckling interactions, explosion knock times, crawling, resting. Will have to be expanded once part 1 is ready # Changelog :cl: add: Added Buckled, Handcuffed and Legcuffed screen alerts code: Ported /tg/ status effects backend, modified with timers to let effects end at appropriate time code: Stun, Knockdown and Knockout now use the new effects backend balance: Due to backend change, all KO/KD/Stuns may behave differently timing wise. This is of course subject to adjustments. balance: Endurance is now set at 8% effect duration reduction per level above 1. However it now compounds with species bonus. Feel free to adjust. balance: Knockdowns are not inherently incapacitating anymore and many sources of it have been updated to also stun to make up for it. fix: KO/KD/Stuns do not artificially and randomly ''stack'' due to incorrect timer offset calculation anymore. fix: Stuns now correctly apply Stun reduction values instead of Knockdown reductions. fix: Crawling can now be interrupted by a normal move, if you are fit enough to do so. /:cl: --------- Co-authored-by: forest2001 <[email protected]>
CM Dev figured it out 9 years ago and nobody listened and kept tacking illogical conditions
About the pull request
Builds on previous "prelude" PRs in the following steps:
update_canmove
from existence completely as not needed anymoreBecause step 1 and 2 require updating all the gameplay logic using them, this PR modifies a lot of files.
Part 2 will move the actual status effects to /tg/ status_effects, resolving our timing problems.
Testing Photographs and Procedure
Testing Checklist!
knockoutsknockdown and sprite updatesSleeping, Waking up, Usage of items while sleeping- Can't really test this we have almost no sleep codeChangelog
🆑
code: Ported basic /tg/ Status Backend.
add: Human transform changes such as lying down, knock down, buckling, are now animated.
fix: Some statuses will now take effect immediately instead of waiting for a life tick, notably Resting.
balance: Many interaction requirements were changed to eg. fail upon stuns rather than if lying down.
/:cl: