# Chests

> Chest sizes, evolutions from chests, item rarity weights and where chests come from in tibo.dog.

Source page: https://tibodog-wiki.vercel.app/chests · Wiki updated 5 Nov 2026, 21:46 UTC · Game version 75 (`main-CSuyb4iv.js`, data synced 5 Nov 2026, 21:45 UTC)

Chests are the only way to evolve weapons and items.

## Chest size

**Verified**: 5 rewards if a roll is below `0.02 × (1 + luck)`, 3 rewards if below `0.19999999999999998 × (1 + luck)`, otherwise 1. [sim-BkfBhQfw.js: `return r<t.chanceFive*n?5:r<(t.chanceFive+t.chanceThree)*n?3:1`] A 5-reward chest is announced as “Jackpot chest!”.

| Luck | 1 reward | 3 rewards | 5 rewards |
|---|---|---|---|
| 0 | 80% | 18% | 2% |
| 0.1 | 78% | 19.8% | 2.2% |
| 0.3 | 74% | 23.4% | 2.6% |
| 0.5 | 70% | 27% | 3% |
| 1 | 60% | 36% | 4% |

Computed from the formula.

## What each reward is

**Verified**: each reward slot is, in order of priority: [sim-BkfBhQfw.js: `function hu(e,t){if(e.runClock>=e.cfg.chests.evolutionGateSec){let n=vu(e,t.pending)`]

1. An **evolution or union**, if one is ready (see [Evolutions](/evolutions)). If a weapon can both evolve and unite, you choose: “Evolve or unite?”.
2. Otherwise a **level-up of your highest-level non-max weapon**, including a limit-broken evolution or union (ties go to the one that dealt more damage).
3. Otherwise a **random non-max passive level**.
4. Otherwise **gold**: `20 × gold gain × gold scale`.

There is no time gate (`evolutionGateSec` = 0).

Item evolutions that are ready happen on top of these slots when the chest opens; they do not use up a slot (see [Evolutions](/evolutions)). [sim-BkfBhQfw.js: `dc(e,s.rewards)`]

## Loot notices outside Story

**Verified**: an item pickup or a chest with no evolution/union choice to make can show its loot as an icon notice while the run keeps going. Story keeps the panels, and a chest with a choice still opens a panel. A chest kept open for a choice is not silently dismissed after that choice. This automatic handling waits for the notice text to load and requires auto-continue to be enabled. [choices-BiyKHFKO.js: `return e.kind===`item`||e.kind===`chest`&&e.forks.length===0`] [run-extras-l2haGSVw.js: `n=e.over||t.mode===`story`||this.app.chestPanels||!this.app.offers.autoContinue`]

Loot notices merge if the previous notice is still queued and the next arrives within 1.5 s; the notice lifetime is renewed to 3 s. Repeated weapon/passive rewards show the final level, gold amounts are summed, and evolutions have their own icon banners. [boot-CPW8VVmR.js: `chestBanners:{mergeSec:1.5,lifeSec:3}`] This changes presentation, not chest reward rolls.

**Verified**: the HUD loads its base icon sheet first, then adds expansion icons without waiting to show the base icons. Weapon and passive slots whose icons have just become available are refreshed, along with loot banners. This changes icon loading, not rewards. [boot-CPW8VVmR.js: `Ir().then(async t=>{e.useIcons(t),this.sheet=t;let n=await Lr(t);e.addIcons(n),this.sheet=n}`] [boot-CPW8VVmR.js: `for(let n of[...this.weapons,...this.passives])!0!==t?.has(n.id)&&e.frames.has(n.id)&&(n.id=``)`]

## Gold in chests

**Verified**: chest gold is `round(random(12–30) × rewards × gold gain × gold scale)`, where gold scale = `min(2, 1 + 0.05 × minutes)` for boss and elite chests and 1 otherwise. [sim-BkfBhQfw.js: `return Math.min(n.goldCap,1+n.goldPerMinute*(e.runClock/60))`]

A [Tater Slots](/points-of-interest#tater-slots) triple adds 4 current spin prices of bonus gold **after** that calculation; the bonus itself is not multiplied by gold gain. [sim-BkfBhQfw.js: `*e.loadout.stats.greedMult*o)+a`] Gold awarded as a fallback reward slot is separate from this chest gold.

## Where chests come from

- **Elites** always drop a chest (plus gold, 50% reroll, 25% banish, 10% Bot Beacon). See [Pickups](/pickups).
- **Bosses** drop a chest, an XP gem and 25 gold.
- **Cursed extra** elites and bosses drop 1 chest each.
- [Beetle Nests](/points-of-interest#beetle-nest) spawn an elite; [Boss Lairs](/points-of-interest#boss-lair) wake a boss.
- [Tater Slots](/points-of-interest#tater-slots): three of a kind gives a 1-reward chest plus 4 spin prices of bonus gold.
- [poteto's gift](/visitors) is a 5-reward chest.

Potato Crates, the Fry Cart and the Microwave give **items**, not chest rolls, so they never evolve anything.

## Item rarity

**Verified**: rarity weights are `[59,25,10,4,2]` (Common to Legendary), and the weight of rarity *n* is multiplied by `(1 + luck)^n`. [sim-BkfBhQfw.js: `e.cfg.economy.rarityWeights.map((e,n)=>e*ve(1+t,n))`]

| Rarity | Weight | Chance (luck 0) | Chance (luck 0.5) | Chance (luck 1) |
|---|---|---|---|---|
| Common | 59 | 59% | 41.37% | 27.7% |
| Uncommon | 25 | 25% | 26.29% | 23.47% |
| Rare | 10 | 10% | 15.78% | 18.78% |
| Epic | 4 | 4% | 9.47% | 15.02% |
| Legendary | 2 | 2% | 7.1% | 15.02% |

Computed from the formula. Second Spud is removed from the item pool on difficulties without revives.

## Sources

Game version 75: `main-CSuyb4iv.js` / `boot-CPW8VVmR.js` / `sim-BkfBhQfw.js` from https://tibo.dog/, researched 2026-11-05. See [Versions & updates](/versions).
- Game config and formulas in `sim-BkfBhQfw.js`
