b-morgan / Skillet

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

finishing reagent for craft queue #94

Open ajrc0re opened 4 months ago

ajrc0re commented 4 months ago

Currently the support for finishing reagents in the craft queue is almost unusable. For example, I want to cook a bunch of feasts, so I add a number to the queue, which automatically adds all the sub-recipes in the correct quantities to the queue. The issue is that none of them will have a finish reagent attached, even if the original recipe was added to the queue with one. There is no simple/easy way to attach finishing reagents to items in the queue, the only way I found to do this was to open up the currently processing queue item and chose the reagent before processing the queue, which will make the reagent active for that specific item in the queue, you have to do this for every item as you move through the queue which is a ton of extra work/steps. Ideally, the queue would have some kind of finishing reagent support built in, each item in the queue having the finishing reagent dropdowns tot he side btween the name and quantity, or maybe you can set a "default finishing reagent" to a recipe that will always use a particular one (if available). So for example if I set all the sub-recipes to a dish with a default finishing reagent then when I add them all to the queue they would all craft with one attached.

b-morgan commented 4 months ago

Dragon Isles Professions added incredibly complex interactions. Skillet's support of this complexity is very basic. I'm not sure what you are asking for is doable without a massive undertaking.

My best Cooking toon doesn't have enough recipes learned to actually craft any of the feasts but I queued 'Gral's Devotion' with the finishing reagent 'Imposssibly Sharp Cutting Knife' as shown in the image below. I then used /skillet printqueue to show the details of the resulting queue. To my surprise, it appears that the finishing reagent was copied to the queued sub-recipes (but are not accounted for in the count of "knives" needed). Can you verify that the finishing reagent actually gets used by the sub-recipes?

image

[09:07:40] qpos= 1, command= {
['recipeLevel'] = 0
['recipeName'] = Impossibly Sharp Cutting Knife
['tradeID'] = 2550
['complex'] = true
['recipeType'] = 1
['op'] = iterate
['count'] = 1
['modifiedReagents'] =   {
  [1] =     {
    [1] =       {
      ['quantity'] = 0
      ['itemID'] = 190395
      ['dataSlotIndex'] = 1
      }
    [2] =       {
      ['quantity'] = 2
      ['itemID'] = 190396
      ['dataSlotIndex'] = 1
      }
    [3] =       {
      ['quantity'] = 0
      ['itemID'] = 190394
      ['dataSlotIndex'] = 1
      }
    }
  }
['modified'] = true
['level'] = 2
['recipeID'] = 381375
['tradeName'] = Cooking
}

[09:07:40] qpos= 2, command= {
['recipeLevel'] = 0
['recipeName'] = Roast Duck Delight
['tradeID'] = 2550
['recipeType'] = 1
['op'] = iterate
['count'] = 1
['complex'] = true
['finishingReagents'] =   {
  [1] =     {
    ['quantity'] = 1
    ['itemID'] = 197765
    ['dataSlotIndex'] = 1
    }
  }
['level'] = 1
['recipeID'] = 381407
['tradeName'] = Cooking
}

[09:07:40] qpos= 3, command= {
['recipeLevel'] = 0
['recipeName'] = Celebratory Cake
['tradeID'] = 2550
['recipeType'] = 1
['op'] = iterate
['count'] = 1
['finishingReagents'] =   {
  [1] =     {
    ['quantity'] = 1
    ['itemID'] = 197765
    ['dataSlotIndex'] = 1
    }
  }
['level'] = 1
['recipeID'] = 381378
['tradeName'] = Cooking
}

[09:07:40] qpos= 4, command= {
['recipeLevel'] = 0
['recipeName'] = Gral's Devotion
['tradeID'] = 2550
['recipeType'] = 1
['op'] = iterate
['count'] = 1
['complex'] = true
['finishingReagents'] =   {
  [1] =     {
    ['quantity'] = 1
    ['itemID'] = 197765
    ['dataSlotIndex'] = 1
    }
  }
['recipeID'] = 381418
['tradeName'] = Cooking
}