Skip to content
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

Implement rangechecking with IsActionInRange() #38

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Anonomit
Copy link
Contributor

Implements #37. More detailed explanation can be found in the issue description. TL;DR: Allows items/macros on your actionbar to be used for range checking to friendly targets during combat.

A valid macro for rangechecking should look like the following:

/use item:123456

Any item in the list of FriendItems is valid (ex. 8149). The item or macro must be placed on an actionbar slot, but it never needs to actually be used.

I haven't heard anything back yet from the issue report so I'm unsure if this is something you even want to implement, but here it is for your consideration. I haven't bumped the minor version number - didn't know if that would be something you'd want in a separate commit or not.

@Stanzilla
Copy link
Contributor

Thank you for your PR!

I'm not actually sure if this is a good thing to add. It kinda feels like a maintenance burden that 99% of users will never use because they don't know about it. The fact that it relies on an item being on your bar is kind of a deal breaker.

Will let the others chime in though and sorry for not responding to your ticket earlier!

@InfusOnWoW
Copy link
Contributor

I think we should report that work-around as a bug to blizzard and not merge.

@Anonomit
Copy link
Contributor Author

Thanks for the responses!

I understand the different opinions. Though this is not something I would consider a bug, it obviously wouldn't hurt to talk to Blizzard anyway. There's no way that they aren't aware that actionbars can test range (and they specifically didn't restrict that function), but it hasn't been widely used before.

As for the maintenance burden comment - I hope that you're underestimating the number of players who would benefit. Many players have some of these common items on their bars already, such as bandages or scrolls. I also have a larger list of items to submit once I'm done working on it. Similar to how rangecheck results are dependent on the player's class/spec/spells, players don't need to know exactly how their range is being determined to get some benefit from it. The additions for this feature amount to about 100 lines, and could be reduced at the cost of performance.

Even without addon support, putting an item or macro on your bars and just looking at it will show you if you're in range. I would be very surprised if that ever changed. My concerns are mostly about Classic builds of the game, since the rangechecking restrictions are more out of place there. The arguments have already been made elsewhere about lack of visual effects on spells and other accessibility concerns, so I'll just say that I hope a solution can be worked out that allows players to deal with positioning mechanics in Classic in a better way than "eyeballing" it.

@Anonomit
Copy link
Contributor Author

Sorry about the minor wall of text above. Currently I'm looking ahead to the next raid tier in Season of Discovery, which releases in early December. It includes a fight where where it's very important to be a set range away from other players, yet there are no ingame indicators for the mechanic. This is normal for early WoW fights, and players at the time were using LibRangeCheck-1.0.

Ideally, Action rangechecking would be supported by this library before then (so long as we haven't heard anything contrary from Blizzard). Alternatively, maybe this form of rangechecking could be optional through the API, or limited to Classic? Other options include releasing as a stand-alone addon/library, or a module for LibRangeCheck-3.0 (which I have currently set up for myself). I'll almost certainly end up pasting it into a WeakAura if this isn't out in time, since I'll want an easy way to share the features with my guild. Performance would be better with official support, of course.

@Anonomit
Copy link
Contributor Author

Any update on this? AQ40 release in a week - would be nice to have official support before then. It feels messy to be releasing a custom patcher/module/whatever for a feature that could just be a toggle or something, but it seems like that might be the direction this is heading? Assuming we're more comfortable with unofficial support?

@mrbuds
Copy link
Contributor

mrbuds commented Nov 30, 2024

Working around blizzard deliberated limitations to their API tends to make them add more limitations to more API and break working addons.

@Anonomit
Copy link
Contributor Author

I raised the same concern in the initial issue report (#37). Ideally we can just ask Blizzard and then remove anything they say is too far. There was mention of contacting them but I don't know if it's happened.

I'm not aware of any way to directly contact the dev team besides tweeting at them. There's a community issue tracker for UI bugs, but I don't think that really fits. Using the suggestion feature ingame specifically says that there will be no response. I haven't seen anyone open a topic on the forums. Unsurprisingly, there's no relevant category for UI questions/suggestions. I don't want to be a nuisance by pinging devs in class discord servers or anything like that.

If anyone knows if there's a preferred way to contact a dev, or if it's already been done, then please advise. I'll try messaging the the mods on the unofficial wow discord to see if they can direct me or forward the issue themselves.

@mrbuds
Copy link
Contributor

mrbuds commented Nov 30, 2024

https://github.com/Stanzilla/WoWUIBugs is fine for this

@Anonomit
Copy link
Contributor Author

Thanks, I've posted an issue there as well.

@Anonomit Anonomit force-pushed the action-rangechecking branch from 0af1280 to 30ee99c Compare January 4, 2025 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants