Hearthstone Gold Quests – Dropping 50 Gold Quests

hearthstone

There is already a question and good answer in place about dropping quests: Dropping Quests in Hearthstone

But Hearthstone has added new 50 gold quests and I'm not certain whether to drop them.

If I were to drop a 50 gold quests is it more likely that I would get a quest worth less gold, or more gold/a pack?

Best Answer

Starting from the list of quests and the fact that for each there are 9 different Two Class Victory/Dominance Quests and 9 different Class Victory Quests and considering the Watch and Learn quest to be worth 100 Gold, the quest pool looks like this:

  • 15: 40 Gold (Destroy Them All, Only the Mighty, The Meek Shall Inherit, Spell Master, Beat Down, 3 Victories!, and Two Class Victory x 9)
  • 9: 50 Gold (Class Victory x 9)
  • 10: 60 Gold (Everybody! Get in here! and Two Class Dominance x 9)
  • 2: 100 Gold (Total Dominance and Watch and Learn)

Since we are limited to 3 quests with 4 possible denominations, actually 5 denominations since there can be no quest as well, we can use combinations with repetition to find all possible quest states:

enter image description here

Of these 35 states we can't reach the 35th, where there are 3×100 Gold quests, and there isn't much we can drop when we have no quests, so we're really interested in 33 states.

http://hearthstone.gamepedia.com/Quest#Gaining_daily_quests outlines 2 restrictions placed upon the quests that may be obtained from this pool:

  1. Players will never be assigned a duplicate of a quest they are already on
  2. A player who Drops a quest will receive a different, random quest in its place

We can use leverage this information to find the transitions between the 33 states which will maximize daily gold. I've written a spreadsheet to show the weighted average of transitions. I'll post it at the end of this answer, but fundamentally you'll be comparing the "Value" (the Gold that could be obtained from immediately completing all quests), "Pre Roll Value" (the weighted average of the Value obtained by dropping the quest worth the least Gold before completing any quests), and "Post Roll Value" (the weighted average of the Value obtained by completing the quest worth the most Gold then dropping the quest worth the least Gold.)

  • If the "Value" is the highest, complete the highest value quest, then recheck the spreadsheet with the updated state
  • If the "Pre Roll Value" is the highest, drop the lowest value quest, and recheck the spreadsheet with the updated state, if the "Value" is still lower than that state's "Pre Roll Value" don't complete a quest today unless you have 3 quests, in which case complete the most valuable one
  • If the "Post Roll Value" is the highest, If it is possible to complete the highest value quest without completing a lower value quest do so, if that's not possible drop the blocking quest and then complete the highest value quest

enter image description here [Click this image for a high resolution view]

EDIT:

Halfwar has informed me that there may be a cool down on completed quests. If we define this of quests number as COOLDOWN, this means that we must preserve COOLDOWN quests to obtain our "Pre Roll Value", and COOLDOWN - 1 quests to obtain our "Post Roll Value".

There are 2087 possible combinations so that's obviously too large to do by hand, and unfortunately too large to post here as a table.

I've written some code to generate these combinations: http://ideone.com/6jJa1u Sadly I haven't found a cloud compiler that will allow for enough time to generate the whole file. But feel free to use the code to generate locally. I'm working on finding a way to post the generated spreadsheet anonymously.

Several thank yous to answers that helped me find a better way to do this on http://www.stackoverflow.com:

  1. I got the Technical Release 2 combination code from this answer: https://stackoverflow.com/a/35215540/2642059
  2. The string::operator* was suggested as an answer to this question: https://stackoverflow.com/q/35506712/2642059
  3. And I sadly decided to output by comma separated value in response to the answers to this question: https://stackoverflow.com/q/35747864/2642059