b-morgan / Skillet

World of Warcraft addon
GNU General Public License v3.0
14 stars 5 forks source link

Ledendary Stays in Queue after crafted #22

Closed Galthariel closed 2 years ago

Galthariel commented 2 years ago

Skillet-4.33

This is is not intermittent. Happens all the time. Was trying to pay attention and remove it from the queue after craft however, yesterday I've craft two waists because of this issue. Not a big issue if I manage to sell it but I think you would like to know about the issue. Happy to jump into Discord, Share my screen and show you the issue if needed :-)

Thanks,

Galth

b-morgan commented 2 years ago

I'm going to take you up on your offer to demonstrate. I need a reproduceable case to have the best chance to fix it, and these are expensive items to be playing with. We'll probably try some real-time debugging as well.

b-morgan commented 2 years ago

I've uncommented some debug statements and I'd like you to install this version SkilletQueue.lua and enable debugging with the following chat commands:

/skillet debuglevel 3
/skillet tabledump on
/skillet debugshow on
/skillet traceshow on

You can use a /skillet cleardebuglog just before you craft the item and then close the Skillet frame and logoff. The per character saved variables file Skillet.lua will contain all the debug output that was sent to chat. /skillet debugshow off and /skillet traceshow off will return control of chat to you. I may still need that demonstration.

SkilletQueue.zip

Galthariel commented 2 years ago

OK. I've replaced the original SkilletQueue.lua by this one you sent. then I use the commands you post it above. Think I forgot to use the /skillet cleardebuglog before craft. Hope isn't a problem.

Here is what I did:

Craft a Regular piece of Gear (Desolate Leather Treads) - No issues Craft a Rank 1 Umbrahide Gauntlets which I have not made any before meaning it still at Rank 1 - No Issues Craft a Vestige of Origins - No Issues Craft a Rank 4 Umbrahide Leggings + Vestige of Origins (level 262) - Item remained in the queue.

Along with the my Character Skillet.lua here are also the screenshots.

Screenshots.zip Skillet.zip

So it seems it happens only with Rank 4 and above or maybe Rank 2 and above (Haven't tested). Hope this helps since I had to buy 30x Enchanted Callous Hide and 60x Orboreal Shards for the above tests :-P

b-morgan commented 2 years ago

I see the problem but I'm not sure how to fix it. Damn Blizzard for making a change like this only for items that cost a fortune to create. This was working in 9.0.5 so its a change in 9.1.0.

Works:

    "Wed Aug 11 21:03:12 2021(D1): Crafting: 1 of Vestige of Origins (352444)", -- [1791]
    "Wed Aug 11 21:03:12 2021(D1): Optional: level= 0", -- [1792]
    "Wed Aug 11 21:03:12 2021(D1): Optional: recipeLevel= 0, optionalReagentsArray= { }", -- [1793]
    "Wed Aug 11 21:03:14 2021(T): UNIT_SPELLCAST_SUCCEEDED(player, Cast-3-4225-2222-27890-352444-000014653F, 352444, nil, nil)", -- [1794]

Fails:

    "Wed Aug 11 21:04:35 2021(D1): Crafting: 1 of Umbrahide Leggings (309202)", -- [3924]
    "Wed Aug 11 21:04:35 2021(D1): Optional: level= 4", -- [3925]
    "Wed Aug 11 21:04:35 2021(D2): i= 1, reagentID= 185960", -- [3926]
    "Wed Aug 11 21:04:35 2021(D1): Optional: recipeLevel= 4, optionalReagentsArray= { [1] = { ['count'] = 1, ['itemID'] = 185960, ['slot'] = 1 } }", -- [3927]
    "Wed Aug 11 21:04:38 2021(T): UNIT_SPELLCAST_SUCCEEDED(player, Cast-3-4225-2222-27890-338983-0001146592, 338983, nil, nil)", -- [3928]

The SPELLCAST_SUCCEEDED spell (338983) is not the spell that was cast (309202).

I hate to do this but I have another change I need you to make. I uncommented some additional events so I can hopefully capture where this change is taking place. Skillet.zip

I do however, have a suggestion which might save some gold. Install the PTR and install Skillet on the PTR (copy over from retail). Buy the materials on retail and logoff. Copy your character to the PTR and do the crafting there. Delete your character on the PTR and then copy it over again and you should now have the materials for the next experiment.

The following SkilletQueue.lua should fix this problem by just assuming that the UNIT_SPELLCAST_SUCCEEDED event corresponds to the C_TradeSkillUI.CraftRecipe API call. What other problems this might cause is unknown.

SkilletQueue.zip

Galthariel commented 2 years ago

I really don't want to install PTR. So let me try spam the Trade Chat offering my services to make a Legendary 262 just in excahnge of the mats. I'll keep you posted. There are two sip files above. Do you want me to install both? Both should go to the Addon Folder?

b-morgan commented 2 years ago

With Blizzard's new folder structure, installing the PTR is quick and painless but I understand if you don't want to do it.

Yes, there are two zip files, both go in the ...\Interface\Addons\Skillet folder. The first one (Skillet.zip) is a replacement for Skillet.lua that registers for more events that, in the past, didn't have any bearing on Skillet doing its job. The second one has another SkilletQueue.lua. This is definitely a experimental fix as I'll have to test a bunch of cases that worked with the old one to make sure they still work with the new one and test that activities other that crafting don't cause Skillet to go nuts.

If you leave /skillet traceshow on you will see just how many UNIT_SPELLCAST_SUCCEEDED events happen. In a major city, you'll see both your own events as well as events from those around you. Join a group or a raid and kill stuff and your chat log will go nuts!

Galthariel commented 2 years ago

going to turn traceshow off until I get someone for me to make him the Legendary...please bear with me while I find someone :-)

Galthariel commented 2 years ago

I haven't done/craft anything so far but these are the errors I'm getting at login. Not even used Skillet at all. Not a complain, just trying to help you to narrow down the issues. I'm always glad to help addon devs to test things.

Error 1

4x Skillet\Skillet-4.33.lua:765: attempt to index field 'data' (a nil value) [string "@Skillet\Skillet-4.33.lua"]:765: in function `?' [string "@Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>

[string "@Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:29: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:25> [string "@Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:64: in function `Fire' [string "@Ace3\AceEvent-3.0\AceEvent-3.0-4.lua"]:120: in function <Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>

Error 2

28x Skillet\Inventory.lua:42: attempt to index field 'data' (a nil value) [string "@Skillet\Inventory.lua"]:42: in function InventoryReagentCraftability' [string "@Skillet\Inventory.lua"]:207: in functionInventoryScan' [string "@Skillet\UI\ShoppingList.lua"]:200: in function GetShoppingList' [string "@Skillet\UI\ShoppingList.lua"]:298: in function <Skillet\UI\ShoppingList.lua:293> [string "@Skillet\UI\ShoppingList.lua"]:500: in function?' [string "@Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>

[string "@Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:29: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:25> [string "@Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:64: in function `Fire' [string "@Ace3\AceEvent-3.0\AceEvent-3.0-4.lua"]:120: in function <Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>

Error 3

2x Skillet\Skillet-4.33.lua:327: attempt to call method 'InitializeSkillLevels' (a nil value) [string "@Skillet\Skillet-4.33.lua"]:327: in function <Skillet\Skillet.lua:199>

[string "@Ace3\AceAddon-3.0\AceAddon-3.0-13.lua"]:70: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:65> [string "@Ace3\AceAddon-3.0\AceAddon-3.0-13.lua"]:498: in function `InitializeAddon' [string "@Ace3\AceAddon-3.0\AceAddon-3.0-13.lua"]:623: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:615>

Galthariel commented 2 years ago

Just tried to use Skillet and not even opens. Had to revert to the original version

b-morgan commented 2 years ago

My bad. I gave you files with more than one in progress change. Let me go ahead and build a new alpha with all the changes.

b-morgan commented 2 years ago

Skillet-4.34-alpha3 should work better. This has all the changes from this issue.

Galthariel commented 2 years ago

Heads up. Just sold the one I made last week and made a new one. NO ISSUES. Queue was cleared after making the Rank 4 (6) (262) Umbrahide Waistguard.

THANKS A LOT for the Fix :-)