Recipe quality
CraftingQuality 1 uses base amount. Qualities 2-3 use (quality-1)*perLevel; quality >=4 uses floor((4+(quality-4)/2)*perLevel + upgraderBase). Upgrader-only resources additionally add base amount and are selected by current station mode. Station level is max(1,minStationLevel)+quality-1. One-ingredient recipes select inventory input and add ceil((inputQuality-1)*baseOutput*qualityResultAmountMultiplier)+extraAmount before craft multiplier.

