-
-
Notifications
You must be signed in to change notification settings - Fork 682
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
Adds Combat mode, rclick functionality #11899
base: master
Are you sure you want to change the base?
Conversation
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
So the day has come |
Rip to all the screwdrivers that will be consumed by the autolate |
eh is it really golden? but well I guess any maint can give one. prolly deserving when it's a big port. |
I like it, good pr |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am running this locally and the hotkeys F/4 don't show up in the preferences menu and don't work. Do the hotkeys for this action actually exist?
The context menu is also enabled by default, and to turn it off you have to first press the shift key.
Holding shift also doesn't show the examine magnifying glass like other servers have.
About The Pull Request
This adds right-click functionality through the addition of the combat mode system.
Changes are as listed:
Major Codebase changes
Functional Item changes
Ports:
Why It's Good For The Game
Intents are by-and-large not a very well written system. The "grab" intent, for instance, has had a hotkey for years on ctrl-click.
The large goal of this PR is to address two fundamental issues:
For the first issue, nearly all of our intent checks in the codebase are just diametric checks for if a player is in harm or help mode. Grab is only checked when checking grab_state, which is attached to attack_hand, otherwise you can basically forget about the intent and just use the ctrl hotkey.
Disarm is in an even worse boat, its basically Harm Jr. in that players in combat will primarily be on harm while in combat and be spam-switching between the two only for the purpose of trying to stun them on a wall, table, or mob.
For the second issue, the most notable use of intents is martial arts. This is not to the boon of martial arts either, as the combination of moves that you have to do mid-combat is not very well done.
Allowing players to free up their mouse instead of the specific intents gives coders a lot more room and buttons to work with, and allow simplification for needlessly complex tasks like martial arts or construction.
Testing Photographs and Procedure
Screenshots&Videos
rclick welding
dreamseeker_3glRJS1Dp3.mp4
lclick/rclick syringes
dreamseeker_NzvFfxDE1k.mp4
grab states
dreamseeker_zvpHi0bMQQ.mp4
RCD rclick deconstruction
dreamseeker_Nez9ejXPHj.mp4
generic structure deconstruction
dreamseeker_uBsH8AheX2.mp4
CW/CCW mouse rotation
dreamseeker_LJmxLX3m8t.mp4
rclick girder construction
dreamseeker_8bMhahRAPx.mp4
Changelog
🆑 rkz, Qustinnus, Mothblocks, TJatPBnJ, IndieanaJones, KathyRyals, Arkatos, norill, Fikou, dragomagol, SgtHunk, JJRCop, ninjanomnom, cacogen, Timberpoes, LemonInTheDark, Ghommie, Sealed101, Ghilker, TheBonded, Timothymtorres, CameronWoof, ArcaneDefence, BurgerLUA, OneAsianTortoise, vincentiusvin, itseasytosee, AnturK
add: Adds combat mode
refactor: refactored syringe code to use flags
tweak: clicking on the turf of a airlock while combat mode is off will now close the airlock. No more pixel hunting!
balance: buffs to hook shotgun in addition to rclick functionality
code: renames RemoveComponent, component destroy will no longer runtime when parent is null
refactor: refactored simple rotation component
fix: fixed abandoned crates to not try to kill you if you perform actions on them AFTER they are unlocked
code: introduced variable weapon attack speed. No weapon utilizes this yet but admins can now varedit items to attack faster/slower.
code: unit tests reagent container transfer amounts
/:cl: