## About The Pull Request
Removes the IC tab in its entirety
- Some mobs (Blob Minion & Lightgeist) had manually removed the "pull"
verb, this replaces it with taking away their pull force.
- Lightgeist had their "Me" verb manually removed, this is replaced by
giving them Emotemute trait (the same that mime's bane gives)
- Floor Changer: You can now RMB the arrow buttons to look in a
direction w/o moving. Added a tip to help with this.
- Exit Hivemind: Already an action button and was removed without
further edits
### Removed entirely
Rest
Resist
Look Up/Down
Move Upwards/Down
Activate Held Object
Open Language Menu
Memories
View Skills
### Moved to command bar (secret verb ooh) because I am biased
Sleep
Navigate
### Martial Arts
Martial Arts had a button to see your current skills & the ability to
cycle between artstyles. This was replaced with 1 action button that
does both of these.
<img width="317" height="148" alt="image"
src="https://github.com/user-attachments/assets/afed910f-b6b6-441d-86cb-dade0e253044"
/>
Name auto-updates as you swap artstyle to whatever help verb the current
style uses. Mention of RMB in the name is only there if you have more
than 1 martial art, but the desc will remain just so players can see it
even if they only have one, for future reference.
## Why It's Good For The Game
Brings greater visibility to Martial Art stuff, and especially since the
stat panel is being made optional we should not be hiding ANYTHING in
there.
This also helps me with my project listed in
https://hackmd.io/443_dE5lRWeEAp9bjGcKYw?view
And also fixes some sorta-removed features due to removing verbs not
matching people's actual powers due to new features like "Custom Me" and
"Ctrl Clicking".
## Changelog
🆑 SirNightKnight (sprites), JohnFulpWillard
del: Deleted the "IC" tab of the stat panel.
fix: Lightgeists can't emote or pull as intended.
fix: Blob minions can't pull again.
qol: Martial Art users now have an action button for their
artstyle-related businesses, rather than it being in the stat panel.
qol: You can now right-click the move up/down UI buttons to look in the
direction without moving.
/🆑
## About The Pull Request
Since grabs that failed due to a comsig return or the grab being blocked
returned FALSE, they'd still result in the target being passively
grabbed from being pulled as that was called upon the grab failing. I've
added multiple return types to grabs to alleviate this.
Per anne's recommendation, hunter boxing is exempt from the grab
restriction (since it never functioned in the first place).
## Changelog
🆑
fix: Fixed boxing or successful blocking not preventing grabs
/🆑
## About The Pull Request
- Fixes#84471
Of course, you still can't grab a mob while lying down. That and other
grab/pull related functions when resting are unchanged
## Changelog
🆑
fix: you can hold your wound while resting via ctrl click
/🆑
## About The Pull Request
Was told that apparently recent changes have made it possible to grab
and strangle people at a distance with telekinesis... which then
teleports them to you.
Looking into it, it seems to be a missing flag in the following check
preceding pulling living things:
https://github.com/tgstation/tgstation/blob/fe7da20ea3ed26d9f177aed894910451127fd851/code/_onclick/click_ctrl.dm#L37-L38
Adding `FORBID_TELEKINESIS_REACH` fixes this.
## Why It's Good For The Game
I recall telekinesis isn't supposed to let you grab people from a
distance.
"Supposed to"s aside, being able to grab and obstruct people from a
distance with no difficulties in doing so is annoying at best and awful
at worst. The strangle teleporting is obviously just plain broken.
## Changelog
🆑
fix: Fixed telekinesis letting you grab people at a distance, and
teleport them to you by strangling them.
/🆑
## About The Pull Request
Improved code quality of both so they resemble each other. Some of the
new specs are as follows
1. Moved` COMSIG_CLICK_ALT` & `COMSIG_CLICK_ALT_SECONDARY` up i.e.
before `can_perform_action()` making them pure hooks not bound by any
action checks giving components full control over them
2. Removed range check(`CAN_I_SEE`) & view check(`is_blind()`) out of
the base alt click proc. They now only apply to living mobs and don't
apply to ghosts(ghosts don't get blind & see everything) & revenants
(the range check still applies for revenants though).
This was actually a bug because these 2 checks were only meant to see if
the loot panel could be opened (as stated in
https://github.com/tgstation/tgstation/pull/83736#discussion_r1628097941)
but because they are at the top of the proc they also apply to all alt
click actions which is not intended. Also, by moving these checks down
to mob subtype levels some of the snowflake checks like this
https://github.com/tgstation/tgstation/blob/7579e0e1734ee40b33ce1fd3fc5c2dd08fe30404/code/_onclick/click_alt.dm#L23
can be removed. We should not check for subtypes within the parent type
proc but instead have subtypes override their parent procs to implement
custom behaviour
3. Removed redundant signals like` COMSIG_XENO_SLIME_CLICK_ALT` in
favour of just `COMSIG_MOB_ALTCLICKON`
4. While looking for alt click signal overrides I found alt click for
style meter was run timing, that's fixed now
## Changelog
🆑
fix: alt click runtime no more when using style meter
code: improved alt & ctrl click code
/🆑
## About The Pull Request
The proc `can_perform_action()` now
- Accepts atoms & not just movables without runtiming. Fixes#83985
- It now uses `CanReach()` instead of `Adjacent()`. Allows you to
- Check if the target object is placed on top & not hidden
- Is the object inside another storage atom & such
- Properly checks for recursive locs. Before we were passing the direct
atom & not the type to `recursive_loc_check()` causing this proc to
always return true & giving us false positives. Now this proc has been
adjusted to accept both type paths & real atoms
- Removes `can_perform_turf_action()` since its now obsolete
## Changelog
🆑
fix: no more runtimes when dragging turfs onto other stuff
code: most actions now properly check for recursive locs & better
adjacency
/🆑
## About The Pull Request
Same idea as #82656 but for ctrl click & ctrl shift click cause why not
- Does your signal & `can_perform_action()` checks using
`interaction_flags_click` flags before delegating the event down to
`ctrl_click()` proc.
- The one new change now is that `ctrl_click()` proc is now blocking,
meaning returning `CLICK_ACTION_SUCCESS` or `CLICK_ACTION_BLOCKING` will
stop the object from getting grabbed/pulled. So remember to return these
values if you want to stop the grab action or return `NONE` if you want
to process the click but still want the object to get grabbed as well
## Changelog
🆑
refactor: Ctrl click & Ctrl shift click has been refactored. Please
report bugs on GitHub
/🆑