About The Pull Request
Rewrites the entire preferences menu in tgui. Rewrites the entire backend to be built upon datumized preferences, rather than constant additions to the preferences base datum.
Splits game preferences into its own window.
Antagonists are now split into their individual rulesets. You can now be a roundstart heretic without signing up for latejoin heretic, as an example.
This iteration matches parity, and provides very little new functionality, but adding anything new will be much easier.
Fixes#60823Fixes#28907Fixes#44887Fixes#59912Fixes#58458Fixes#59181
Major TODOs
Quirk icons, from @Fikou (with some slight adjustments from me)
Lore text, from @EOBGames (4/6, need moths and then ethereal lore from @AMonkeyThatCodes)
Heavy documentation on how one would add new preferences, species, jobs, etc
A lot of specialized testing so that people's real data don't get corrupted
Changelog
cl Mothblocks, Floyd on lots of the design
refactor: The preferences menu has been completely rewritten in tgui.
refactor: The "Stop Sounds" verb has been moved to OOC.
/cl
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.
Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.
(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
This fixes the problem of the keybind conflict message being shown over and over again until you manually save your preferences with correct keybinds + resetting to classic keys works now
You had to manually save your prefs because the code didn't save the new unbound keys to the prefs file
Classic mode was broken because the emote hotkeys didn't have classic_keys set to Unbound by default
New hotkeys are now actually set to Unbound if no default key is set
This was broken for emote hotkeys because classic_keys = list("Unbound") was missing for them
It was also broken because the code assumed conflicting keys if some Unbound key already existed ...
The code also used classic key defaults even if you had hotkey mode enabled thats fixed now too
The intent_cycle hotkey for borgs was left behind during the combat mode switch. It does nothing on its own, but existing as a default hotkey blocks the actual combat mode hotkey unless unbound manually.
Closes#56668
Related to #56601
About The Pull Request
This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:
Disarm and Grab intents have been removed.
Harm/Help is now combat mode, toggled by F or 4 by default
The context/verb/popup menu now only works when you do shift+right-click
Right click is now disarm, both in and out of combat mode.
Grabbing is now on ctrl-click.
If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)
Minor interaction changes:
Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game
Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.
As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.
As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.
In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.
The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog
cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.
For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.
There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.
The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL
Fixes AIs being able to strip nearby people. They've lost their hands usage.
Adds a keybind for resting, it's odd that there's bind for all the UI buttons such as Resist, Throw, Drop but there isn't one for resting. The default key is now U
* keybind signal support, ported from TGMC
* Thank you linter
* remove unused and extra defines
* move signal defines up and fix emote keybind runtimes
* Apply suggestions
* Update keybinding.dm
* Missed this one in the upstream merge
* Ignore keybindings without names
* back to the OG
* Update living.dm
* Update living.dm
* got it
* trailing newline
* Update code/datums/keybinding/living.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* look_down
look_down
persistent look_up and look_down
* look_down
look_down
persistent look_up and look_down
* Now look prefer a hole in front of the astronauts
* up
* up
* up
* up
* Update living.dm
* Update living.dm
About The Pull Request
Adds a new hotkey, defaulted to V, which allows for swapping out equipment after a small delay. After the delay, you'll equip the currently held item into it's most preferred slot, and swapping out what was worn/equipped currently. This also allows for swapping out jumpsuits without dropping your pocket contents, belt, etc.
Why It's Good For The Game
QoL change that feels intuitive, and helps equipping feel more fluid.
Changelog
🆑
add: Equipment swapping, defaulted to V. Allows you to equip items while swapping out what you're already wearing after a small delay.
/🆑
About The Pull Request
Ports tgstation/TerraGov-Marine-Corps#2977, overrides click proc to return focus back to chat bar using winsets also ports tgstation/TerraGov-Marine-Corps#1904 which has two sets of defaults for hotkey and classic mode
fixes#47672fixes#47659
much credit to @Rohesie and the TGMC team for a bunch of these improvements
Why It's Good For The Game
lets the non-hotkey players walk and talk again
Changelog
cl
add: Custom keybinds will now check what style (classic / hotkey) you prefer when resetting if you use classic mode make sure to reset your keybinds to default!
add: multiple keybind support
tweak: non-hotkey mode keeps focus on chat
fix: pressing 4 as cyborg now properly cycles
fix: AI location hotkeys now work again
/cl
* fixes modifier hotkeys and adds alternative move intent toggle
* Fixes pulling keybind
* make the wrappers look more like the old popup windows
* it was the freaking save file
* bump up save file version
* reset keybindings to default
* custom keybindings
* Update _lists.dm
* Update robot.dm
* modify weights and clean up some vars
* Update say.dm
* Apply suggestions from code review
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* some review changes
* formatting
* include focus hack, remove me_wrapper, give default keybinds to new characters, misc fixes
* revert hack and more reviews
* remove another focus hack
this was causing issues with the keydown proc returning early