Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the pull request
Fixes #6612 . More accurately, not being able to examine interface buttons is normal, its that the right-click Examine option appeared in the first place was the issue.
A recent change adjusted what objects right-click Examine appears for:
https://github.com/cmss13-devs/cmss13/pull/6591/files#diff-574e8bc8332bd8c31272b0986d27302f529a6414a8011ae367b178a46284dc57L487-R487
Before, with
view()
(effectivelyview(usr)
):Examine verb only visible on objects in-world & visible to the usr's mob, within default view range. Examine works on all these objects. The option to Examine interface items did not exist. If client's view range is longer than the default, Examine does not appear as an option on objects beyond that range.
After, with
view(client)
(effectivelyview(src.client)
):Examine verb visible on any object the client can see out to the client's view range, including nullspace objects like interface buttons. Examine only works on in-world objects, and produces weird content in the command bar for nullspace objects and inventory items.
The way a verb's
in view(...)
works is super bespoke. I can't find a way for it to work with a user's dynamic view range and exclude interface items. Closest I can come is:in view(28, usr)
: works as in Before, but will work out to a range of 28 (highest view range in the codebase)in world
: works on all objects anywhere, even interface buttons (which aren't really meant to be examined and have descriptions like "That's Minimap.")I went with
view(28, usr)
in order to more closely match the previous functionality.Explain why it's good for the game
The right-click Examine option should not appear for objects that were never intended to be examined.
Testing Photographs and Procedure
Right-click Examine exists and works on world objects and inventory items, out to a ghost's maximum zoom out (view range 28). Does not exist for interface buttons.
Changelog
🆑
fix: right-click Examine no longer appears for interface buttons
/:cl: