You get 3 missions a day from a board of 6, plus one free refresh.
Every mission pays out 4 reward slots. Each slot independently rolls one of the six resources at 1 in 6 odds, so a mission can roll four of the same thing or four different things.
The amount is not random. This is the part people get wrong. Each resource has a fixed base amount set by the mission's level — a goo slot on a given mission always pays the same number. So a mission is never "a big one" or "a small one": the only thing that varies is which six resources its four slots land on.
Mission level comes from your Hammer Thief level, which unlocks a bracket of levels the board can roll from. Level moves the base amounts by roughly 1% per level, and your bracket only spans 6–10 levels, so level is worth a few percent at most. The reward mix is what matters, by a mile. Goo is the one exception worth knowing about: it is a small stepped integer rather than a smooth curve, so it can jump from 6 to 7 to 8 inside a single bracket.
Because the board can roll any level in your bracket, the per-slot figures below are averages across that range. The range is shown next to each one.
A range means the mission's level decides which end you land on. Bonus applies to goo only, and changes what you collect, not which missions are worth running.
Rate each resource 0–10. This is value per slot, not per unit: "how happy am I to see this land in a slot, compared to the others?" Everything below is recalculated live.
Score a mission by adding up the ratings of its four slots, using the numbers you just set — . That is the whole calculation. Highest possible is , lowest is 0.
Two examples, showing what each slot pays and then the score it works out to. Amounts are the top of your bracket's range.
The bar a mission has to clear rises as you spend your three runs, because a fresh board's best pick is worth more than its third-best pick — so the refresh should buy you a fresh first pick, never a fresh third pick.
Pick the four slots you're looking at:
MissionRewardLibrary.json; level
brackets cross-checked against the in-game Refresh Info table; board size, slot count and daily energy from
MissionBaseConfig.json.