EskaTracker

EskaTracker

44.7k Downloads

quest item button does not work

killarny opened this issue ยท 5 comments

commented

Describe the bug
When a quest has an item tied to it, clicking the item button on the tracker doesn't do anything. Opening my bags and clicking on the item there works fine, so this is not a case of the item requirements not being met or whatever.

Do you have an error log of what happened?
There are no errors reported, as far as I can tell (I did enable console errors).

To Reproduce
Steps to reproduce the behavior:

  1. Accept a quest that needs you to use an item.
  2. Try to use the item by clicking the icon next to the quest name in the tracker.
  3. Nothing happens.

Expected behavior
Clicking the quest item icon should use the item.

Screenshots
Not sure how useful this will be, but here's a screenshot of me hovering over the quest item icon and trying to click it..
image

What is the version of EskaTracker you use ?
1.0.29-release

What are the versions of PLoop and Scorpio you use ?
(You can known that in opening the EskaTracker options)

  • PLoop: 'v225'
  • Scorpio: 'v24'

image

commented

Hi,
It's not a bug, but an intended behavior.

When you want to create an action button casts a spell or uses an item, you are forced to follow some Blizzard restrictions. One of them is you are unable to use some functions while you're in combat including the show/hide/anchor functions.

If i decide now to make them interactive, this will propagate the restrictions in the whole tracker. As this last often calls the anchors function for ordering the quest by distance, this will cause issues if you're in combat.

So the solution has been to:

  • Simply display the item texture with its tooltip for noticing you this quest has an item.
  • Let the interactive part to quest items bar you can create. I explain how to do that, here.
commented

I don't quite follow what you are saying above, but the quest item action bar solution you explained does at least provide something to click on. The problem is that the action bar buttons don't line up with the quests on the tracker, which would be ideal (similarly to how the default tracker works).

commented

Sure, this is an alternative solution.
I know what's you want (the same thing i would like) but Blizzard imposes restrictions on Action Buttons, preventing me to make it without causing serious issues to the whole tracker.

commented

I dunno if this will be of any help at all, but somehow the SorhaQuestLog addon has replicated that feature. I'm not sure what's different about their approach, unfortunately - maybe it doesn't apply here.

commented

It doesn't apply here, i'll explain more in detail why and what is my current thought.

Creating an action button for a quest item isn't hard, there are the restrictions to deal are.

What are these restrictions ?
Not be able to position, move, show and hide a frame while you're in combat.

How SorhaQuestLog handles that ?
Sorha will never display an action button while you're in combat because Blizzard prevents to do. In case where the player is in combat, Sorha will delay the process until you leave the combat.

Why do not that ?
There are two reasons:

  1. Personal opinion, i don't want apply these restrictions to the whole tracker. The trade off isn't worth for what you win.
  2. The final reason is it's incompatible with the scrolling system.

Incompatible ?
The scrolling system needs to move and changing the frame visibility, so it doesn't work when you are in combat.

Conclusion
I don't plan to add the action buttons alongside quests because there are serious trade off to do. If you are curious to see how EskaTracker behaves in case where an action button is contained in the tracker, you can make this change:

EskaTracker_Objectives/Classes/QuestItem.lua (line 53)
Change

self.frame = CreateFrame("Frame")` 

to

self.frame = CreateFrame("Frame", nil, nil, "SecureFrameTemplate")

This shows how EskaTracker will work if i would add the action button in the tracker.