Original Post — Direct link
almost 5 years ago - /u/Supercell-Seth - Direct link

Originally posted by Puzomor

min_elixir is a variable in case a new whole number is discovered that is greater than 0 but less than 1, am I right?

Hey there! Here's how this happened:

While reworking Quests, we decided to re-write the lines into a simpler syntax. For example:

"Play cards that cost 6 Elixir or more 30 times" -> "Play 30 cards that cost 6 or more Elixir". The latter reads more naturally. When we got to "2 or less Elixir" string, we decided to rewrite it as "1 or 2 Elixir". In the Quests data, that's a simple change to make Min_Elixir = 1 (it was null before). Each Quest has its own min/max elixir setting, which is how we added the new Play 3-Cost, Play 4-Cost, etc Quests. Min and Max is just set to that number.

When the update goes live, the strings updated but the data of each Quest was saved from the moment you got the quest. So even though the conditions of new Quests were updated, any existing ones used their stored data. Since the Quests had null for min_elixir, the updated string didn't have a number to reference and that's why it displays as the variable name.

This is also why old Quests didn't work in 2v2/Challenges, because they retained the state of the quest when it was initially received, and didn't magically update to include the new conditions. If I could do it over again, we would have just deleted/rerolled all 3 Quest slots for players (to ensure everyone got fresh/working Quests) but we did not forsee this bug happening.