# Curse

> What curse does in tibo.dog: extra elites and bosses, more XP and gold, and where curse comes from.

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

In-game: “Curse makes enemies tougher, faster and more numerous, and raises XP and gold.” [deferred-ui-C-ONpuUo.js: `Curse makes enemies tougher, faster and more numerous, and raises XP and gold.`]

## The curse stat

**Verified**:

- Pest HP × `(1 + curse)` and pest speed × `(1 + 0.3 × curse)`. [sim-BkfBhQfw.js: `e.scratch.hp=t.hp*(1+n)`]
- Elite and boss HP × `(1 + curse)`.
- The alive-enemy ceiling, the minimum crowd and the spawn rate × `(1 + curse)`. The ordinary ceiling is capped at 500 on Easy/Normal, 650 on Hard and 800 on Nightmare; Hard/Nightmare also use a [late ceiling floor](/modes#late-crowds).
- XP gain and gold gain × `(1 + 0.5 × curse)`. [sim-BkfBhQfw.js: `(1+n.curseRewardShare*Math.max(0,e.curse))`]

## Curses taken

**Verified**: separately from the stat, the game counts **curses taken** (+1 per Moldy Shrine accepted, +1 for Nightmare's starting curse). Every elite spawn adds `floor(cursesTaken × 1)` extra elites and every boss spawn adds `floor(cursesTaken × 0.25)` extra bosses. Each cursed extra drops 1 chest. [sim-BkfBhQfw.js: `function vs(e,t){return Math.floor(t*e.extraElitesPerCurse)}function ys(e,t){return Math.floor(t*e.extraBossesPerCurse)}`]

The first extra boss needs 4 curses taken: 4 Moldy Shrines on a level without a starting curse, or 3 on Nightmare because it starts with 1. Each extra boss is an extra chest.

## Sources of curse

- [Rotten Spud](/passives/rotten-spud): +0.1 curse per level (the curse stat only). It is also the catalyst for [Landmine Harvest](/weapons/landmine-harvest), [Moon Cleaver](/weapons/moon-cleaver) and [Kaboom Spud](/items/kaboom-spud).
- [Cursed Crown](/items/cursed-crown): +0.25 curse, +0.3 damage, +0.2 luck.
- [Moldy Shrine](/points-of-interest#moldy-shrine): +0.1 curse, +1 curse taken and `round((45 + 20 × minutes + 2 × minutes²) × gold gain)` gold. [sim-BkfBhQfw.js: `return Math.round((t.gold+t.goldPerMin*n+t.goldPerMinSq*n*n)*e.loadout.stats.greedMult)`]
- Nightmare: starts with 1 curse taken, which works like accepting a Moldy Shrine: +0.1 curse and +1 curse taken (no gold). [sim-BkfBhQfw.js: `shrineTotals.curse+=.1*t,n.cursesTaken+=t`]

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