The reward screen feels like a gift. It is an invoice with the rates printed in code — and once you know them, you can tell when a drop is normal and when you got away with something.

The common/uncommon/rare roll

Every StS1 combat card roll is one number 0–99 off cardRng, plus a pity offset. Base thresholds by room:

RoomRare ≤Uncommon ≤Rest common
Monster / event340
Elite1050
Shop946hooks not applied
Bossalways RAREunconditional

The pity system moves those numbers. cardBlizzRandomizer starts each run at 5 and grows by 1 on every common rolled (down to −40); rolling a rare resets it to 5 (blizzard_pity). At full pity the effective rare chance hits 3+5+40 = 48% — the game refuses to starve you forever.

StS2 runs the same shape in decimals: regular encounters 0.60/0.37/0.03, elites 0.50/0.40/0.10, boss guaranteed rare, with a pity offset that starts at −0.05 and grows +0.01 per non-rare to a cap of +0.4. Its Scarcity ascension swaps in worse tables — rare 0.0149 on regular fights.

Elite bonus slots

An elite's generosity isn't just rarity. In StS1 the elite room adds a relic on top of the card stack, tier-rolled 50/33/17 common/uncommon/rare off relicRng (relic_rewards.elite_combat.tier_roll; Black Star grants a second roll). StS2's eliteRoom composes identically — gold at full range, potion roll, 3-card reward at elite odds, plus RelicReward (combatRewards.eliteRoom) — and its relic tier comes from a 0.5/0.33/0.17 float roll (relicRarity.distribution). Same design, two number systems.

Gold curves by floor and ascension

StS1 prints three bands (gold_rewards): normal combat draws treasureRng.random(10, 20), elites draw random(25, 35), bosses pay 100±5; at Ascension 13+ boss gold rounds down ×0.75. Escaped monsters pay nothing. StS2 hardcodes the same three brackets as ranges: Monster [10,20], Elite [35,45], Boss [100,100], with a poverty multiplier of 0.75 under its money-hungry ascension (combatRewards.goldRanges). The curves rhyme because they are the same curve — elites pay ~3× a trash fight, bosses ~10×, and ascension taxes only the top end.

Chest tier odds

Chests come in three sizes rolled 50/33/17 per act; act 4 forces medium only (chests.chest_size_roll). What's inside rolls separately (contents_roll):

ChestCommonUncommonRareGold chanceGold amt
Small752505025
Medium3550153550
Large075255075

Gold amounts then wobble ±10% around the flat value unless it's a daily run (gold_amount). A large chest can never hand you a common relic — that's why opening one feels different.

Potion drop chance

Base 40% per monster fight, elite or event room alike (potion_rewards.base_chance), with a ±10 pity oscillator: fail → +10, success → −10. White Beast Statue pins the chance at 100. Rarity inside the drop splits 65/25/10 common/uncommon/rare. StS2's version targets 0.5 from a starting chance of 0.4, steps ±0.10 with no clamp, and gives elites +0.125 effective.

Boss relic choice mechanics

Three boss relics, every time, from the boss pool — drawn FIFO after a seeded shuffle, so the pool order was fixed before the run began (boss_rewards.boss_relic_choice). StS2's bossRoom likewise guarantees a rare card reward and pays full gold (combatRewards.bossRoom), but its boss relic analog flows through the shared grab bag with shop pulls taken from the opposite end (relicGrabBag.pulls: rewards PullFromFront, shops PullFromBack). Taking a boss relic early reshuffles nothing; it empties a queue someone else was queuing on. See the relic pools guide for what's actually in those queues, and the full StS1 relic index for the artifacts themselves — with the card index covering what those rare slots can print.

Side-by-side odds table

Only constants present in both extractions get cells; anything absent renders "—" rather than a guess.

RollStS1StS2
Regular card rare3% base (+pity to 48%)0.03 (+pity offset ≤0.4)
Regular uncommon37%0.37
Elite card rare10%0.10
Elite relic tier split50/33/170.50/0.33/0.17
Normal goldband via treasureRng[10, 20]
Elite goldrandom(25, 35)[35, 45]
Boss gold100±5 (×0.75 at A13+)[100, 100] (×0.75 poverty)
Potion base40% (±10 pity)0.4 start → 0.5 target (±0.10)
Potion rarity C/U/R65/25/10— (not in extraction)
Chest tiers50/33/17 per act— (no chests key)
Card upgrade-on-reward0 / 25% / 50% by act (A12+: 12.5%/25%)— (not in extraction)

Two absences worth naming honestly: the StS2 extraction records no potion rarity table and no chest-tier table — so this guide claims none.