# Level-up

> XP curve, level-up cards, rerolls, skips, banishes and offer weights in tibo.dog.

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

## XP per level

**Verified**: going from level *L* to *L*+1 needs `round(5 + 5·(L−1) + (L−1)^2.5)` XP. [sim-BkfBhQfw.js: `return Math.round(e.xpFirst+e.xpLinear*n+e.xpCurve*Re(n,e.xpExponent))`] Powers use the game's deterministic power function imported from `boot-CPW8VVmR.js`. Picked-up XP is multiplied by XP gain (`growthMult`); extra levels queue up. [sim-BkfBhQfw.js: `n.xp-=n.xpNext,n.level++,n.xpNext=jr(e.cfg.levelUp,n.level),n.pendingLevels++`]

| Level | XP to next level | Total XP to reach |
|---|---|---|
| 1 | 5 | 0 |
| 2 | 11 | 5 |
| 3 | 21 | 16 |
| 4 | 36 | 37 |
| 5 | 57 | 73 |
| 10 | 293 | 735 |
| 15 | 808 | 3103 |
| 20 | 1674 | 8723 |
| 25 | 2947 | 19464 |
| 30 | 4679 | 37470 |
| 40 | 9699 | 105046 |
| 50 | 17057 | 233094 |
| 60 | 27038 | 446306 |
| 70 | 39898 | 772080 |

Computed from the formula.

## Cards

- **Verified**: 3 cards, plus a 4th with chance `min(1, luck)`. [sim-BkfBhQfw.js: `Math.min(1,e.loadout.stats.luck/t.luckForFourthChoice)`]
- **Verified**: Tibo has 6 weapon and 6 passive slots. Without limit breaks, base weapons reach level 8, passives level 5; evolutions and unions stay at level 1. [sim-BkfBhQfw.js: `function el(e){return e.tier===`base`?Math.min(8,e.levels.length+1):1}`] A [Spud Forge](/points-of-interest#spud-forge) resets a maxed target to level 1 with stronger damage or bonuses, opening another 8 weapon levels (including evolutions/unions) or the passive's normal level range. Weapon cards, whetstones and chest level rewards all recognize broken weapons.
- **Verified**: cards are drawn by weight without replacement.

Limit-broken weapon and passive level labels show a cyan star and the number of breaks before the ordinary level, for example **★2 LV 3**. This separates the break count from the level gained since the last break; it does not change the bonuses. [limit-break-look-BhebNsLu.js: `r.textContent=`★${e(n.breaks)}`,t.replaceChildren(r,n.text)`] [deferred-ui-C-ONpuUo.js: `O(c,{breaks:r.broken.breaks,text:X(r.level)})`]

### Offer weights

**Verified** (offer code in `sim-BkfBhQfw.js`):

| Card | Weight |
|---|---|
| Level up an owned base weapon | `max(30, weight) × 3` |
| New base weapon (needs a free slot) | `weight × 0.35 × min(1, 1926 / total base weight)`, ×4 if it is a union partner of a weapon you hold |
| Level up an owned passive | `weight × 3 × 0.8`, ×4 if it is the catalyst of an item you hold |
| New passive (needs a free slot) | `weight × 0.35 × min(1, 1720 / total passive weight)`, ×4 if it is an item catalyst |

So owned weapons and passives are offered far more often than new ones.

### Catalyst guarantee

**Verified**: if you have a free passive slot and own a base weapon at level 4 or higher whose evolution catalyst you do not own (and have not banished), the last card is replaced by that catalyst (level 6 in Story mode). This also applies to the new weapons. [sim-BkfBhQfw.js: `if(r.def.tier!==`base`||r.level<n)continue;let i=ge(e.bigUpdate).evolutionOf(r.def.id)?.catalyst`]

### When nothing is left

**Verified**: if the pool is empty you get “Sack of Gold” (+25 gold) and “Baked Potato” (heal 30). At full HP the gold is taken automatically. [sim-BkfBhQfw.js: `name:`Sack of Gold`,desc:`+25 gold.`,amount:25`]

## Reroll, skip and banish

Keys R, X and B (or the buttons) while you have charges. In-game: “reroll redraws, skip passes, banish bans a card for the run.”

- **Reroll** spends 1 and draws a new set.
- **Skip** spends 1 and closes the level-up with nothing.
- **Banish** spends 1, removes that weapon or passive from offers for the rest of the run, then redraws. Owned equipment stays equipped. [sim-BkfBhQfw.js: `n.banishes--,n.banished.add(i.id)`]

Charges start at 0 (**Inference**: no starting grant in the config; the loadout starts `rerolls=0;skips=0;banishes=0`). They come from [pickups](/pickups), the [Seed Vault](/points-of-interest#seed-vault), [Tater Lanterns](/points-of-interest#tater-lantern), elite kills and the [Frank](/dogs/dachshund).

## Auto-pick in Story mode

In Story mode the recommended card is picked for you after 8 seconds without input; any key press or tap restarts the timer, as do rerolls and banishes (developer's [Story state chart](https://x.com/poteto/status/2117043478140276847)). **Verified**: only Story auto-picks. [levelup-lesson-run-DyVI4ToG.js: `if(e.state.mode!==`story`||t?.kind!==`levelUp`)return-1`]

## Recommended picks

Settings has a **Recommended picks** option, on by default, that marks one card as recommended. The heuristic (from the game's picks code) favours levelling a weapon whose catalyst you own, catalyst passives for weapons close to max level, a small bonus for Peeler, Mash Wave and Tot Toss, and healing below 50% HP. Details are in the [mechanics reference](/mechanics-reference#8-controls-and-settings). It is a hint, not the only good pick.

## Spud Whetstone

The [Spud Whetstone](/points-of-interest#spud-whetstone) offers up to 3 eligible non-max weapons to level up, outside the normal level-up. This includes limit-broken evolutions and unions.

## 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`
