tibo.dog Wiki Game v75 Play tibo.dog

Points of interest

Points of interest (POIs) are scattered across the world, placed per 256-unit chunk using each biome's weights.

Activation

Verified: stand inside a POI's radius. Its charge goes up 1 per tick (60 ticks per second) while you are inside and the POI can be used, and drops 2 per tick otherwise, including while you stand on a POI you cannot use (for example without enough gold). After it fires, a POI stays disarmed until you step out. It fires when the charge reaches activation.seconds × 60.[1] So stepping out briefly costs twice the time you were away. After 20:00 (21:00 on Easy), newly generated chunks get fewer POIs: the share drops by 1% per minute of overtime, down to 40%. Chunks already generated keep theirs, and Story turns the taper off.

Point of interest In-game description Activation (s)
Potato Crate Costs gold. Holds an item. Each crate costs more than the last. 1.5
Spud Shrine Stand inside to charge it, then pick a stat. 5
Moldy Shrine Take curse for a pile of gold. Curses bring extra elites and bosses. 1.5
Fry Cart Sells items for gold. 1.5
Microwave Stand by it to charge it, then copy one of your items. The copy melts another item of the same rarity. 1.5
Crop Patch Break it for gold and a snack. 1
Beetle Nest An elite waits here. It drops a chest. 1.5
Boss Lair A boss sleeps here. It guards a big chest. 3
Stray Dog A good dog looking for a friend. Walk up to it. 1
Bot Dock Stand by it to call a swarm of Grok Bots. 2
Spud Whetstone Stand by it to charge it, then level up one of your weapons. 1.5
Dinner Bell Ring it to call a ring of pests. They drop triple XP. 1.5
Tater Slots Pay gold to spin. Match two for an item. 1.5
Seed Vault Stand by it to charge it for rerolls, a skip and a banish. 2
Tater Magnet Stand by it to pull in every gem and coin. 1
Root Tunnel Stand by it to tunnel to a far place. 2
Tater Lantern Break it for a surprise. 1
Spud Freezer Stand by it to freeze every enemy on the map for 7.5 s. Bosses only slow down. 1.5
Frenzy Fryer Stand by it for a 20 s frenzy. 2
Golden Spud Shrine Stand by it to charge it, then pick a big blessing. 5
Dog Kennel Stand by it to buy up to three levels for your dogs. 1.5

Potato Crate

“Costs gold. Holds an item. Each crate costs more than the last.”

Spud Shrine

“Stand inside to charge it, then pick a stat.”

Moldy Shrine

“Take curse for a pile of gold. Curses bring extra elites and bosses.”

Fry Cart

“Sells items for gold.”

Microwave

“Stand by it to charge it, then copy one of your items. The copy melts another item of the same rarity.”

Crop Patch

“Break it for gold and a snack.”

Beetle Nest

“An elite waits here. It drops a chest.”

Boss Lair

“A boss sleeps here. It guards a big chest.”

Stray Dog

“A good dog looking for a friend. Walk up to it.”

Bot Dock

“Stand by it to call a swarm of Grok Bots.”

Spud Whetstone

“Stand by it to charge it, then level up one of your weapons.”

Dinner Bell

“Ring it to call a ring of pests. They drop triple XP.”

Tater Slots

“Pay gold to spin. Match two for an item.”

  • Internal kind taterSlots, radius 22, activation 1.5 s.
  • Costs half the current crate price, rounded up (including the purchase price multiplier).[20] Three reels of 4 symbols:
    • Three of a kind: a 1-reward chest, with 4 spin prices of extra gold on top of its normal chest gold.[21]
    • Two of a kind: a random item and 0.5 spin prices of gold, credited immediately.[22]
    • No match: nothing.

The extra gold is round(current spin price × payout multiplier), calculated when the reels pay out. It gets no further gold-gain multiplier. With a 15-gold spin price, a triple adds 60 gold and a pair gives 8 gold plus the item.[23]

Seed Vault

“Stand by it to charge it for rerolls, a skip and a banish.”

Tater Magnet

“Stand by it to pull in every gem and coin.”

Root Tunnel

“Stand by it to tunnel to a far place.”

Tater Lantern

“Break it for a surprise.”

Spud Freezer

“Stand by it to freeze every enemy on the map for 7.5 s. Bosses only slow down.”

Frenzy Fryer

“Stand by it for a 20 s frenzy.”

Golden Spud Shrine

“Stand by it to charge it, then pick a big blessing.”

Dog Kennel

“Stand by it to buy up to three levels for your dogs.”

Spud Forge

In Standard, every boss defeated from 20:00 raises a forge near the fight, on usable ground. It is not part of biome POI weights.[31][32] Stand inside for 20 seconds and choose an eligible maxed weapon or passive. The first limit break costs 2,500 gold; each purchase in that run multiplies the next price by 1.6, with your purchase-price discount applied and the result rounded.[33] A forge closes after one purchase (0.9 s forging animation).

A break resets the target to level 1 but keeps and strengthens its maxed shape. Weapons can level to 8 again; passives to their normal maximum. At break b and level l, the saved weapon damage is multiplied by 1.5^(b−1) × (1 + 0.5l/8). Passive bonuses use the same curve with their own max level instead of 8.[34] Passives with heat or special effects, or an amount, curse or dash-charge bonus, cannot be broken.[35] See Level-up for further levels and Enemy scaling for the late-game curve.

The forge has a pulsing boss-chest-style aura and a prominent arrival callout. Its choice panel states the shared price and limit-break rule once above the cards; each card shows the equipment name and Limit Break tag.[36][37][38]

Sources

Game version 75: main-CSuyb4iv.js / boot-CPW8VVmR.js / sim-BkfBhQfw.js from https://tibo.dog/, researched 2026-11-05. See Versions & updates.

  • Content registry exported by boot-CPW8VVmR.js; boss definitions and order exported by sim-BkfBhQfw.js; lazy endgame definitions from endgame-content-CyuS5vbP.js and catalog.generated-JnyrtBzy.js
  • English names and descriptions from i18n-en-content--0ALgcKX.js
  • Game config object exported by sim-BkfBhQfw.js (view, player, dash, difficulty, win, scaling, … keys)

Code references

  1. sim-BkfBhQfw.js function Of(e,t,n){return t?e+1:Math.max(0,e-n)}
  2. sim-BkfBhQfw.js r.gold-=i,e.run.goldSpent+=i,e.paidChestsBought++
  3. sim-BkfBhQfw.js n.chestPriceBase+n.chestPriceLinear*t+n.chestPriceQuad*t*t+n.chestPriceCubic*ve(Math.max(0,t-n.chestPriceKnee),3)
  4. sim-BkfBhQfw.js value:(i=n.stat,a=n.base*e.cfg.economy.rarityMult[r]
  5. sim-BkfBhQfw.js kind:curseShrine,poiId:t.id,gold:Cd(e),curse:.1
  6. sim-BkfBhQfw.js return Math.round((t.gold+t.goldPerMin*n+t.goldPerMinSq*n*n)*e.loadout.stats.greedMult)
  7. sim-BkfBhQfw.js Math.round(e.cfg.economy.vendorPrice[s.rarity]*(1+.06*n)*e.loadout.stats.chestPriceMult)
  8. sim-BkfBhQfw.js i.id!==e.id&&i.rarity===e.rarity&&(r===void 0||t.itemCount(i.id)<t.itemCount(r.id))
  9. sim-BkfBhQfw.js e.lootRng.chance(.35*(e.cfg.level.healDrops??1))&&V(e,heal,t.x,t.y-8,30)
  10. sim-BkfBhQfw.js tierBonus:Math.floor(t.tier/n.nestTierEvery),hpMult:1+t.tier*n.nestHpPerTier
  11. sim-BkfBhQfw.js o=Math.min(10,Math.floor(a/900))
  12. sim-BkfBhQfw.js e.dist<1200)return 0
  13. sim-BkfBhQfw.js let n=Xn.liveOrder,r=n[Math.max(1,Math.min(n.length-2,Math.floor(e.runClock/120)+Math.floor(t.tier/2)))]
  14. sim-BkfBhQfw.js casewhetstone:n.used=!0,e.choiceQueue.push({kind:whetstone,offers:vl(e)})
  15. sim-BkfBhQfw.js return t.broken===void 0?t.def.tier===`base`&&t.level<el(t.def)&&!e.loadout.banished.has(t.def.id):bi(e,t)
  16. sim-BkfBhQfw.js return e.bigUpdate.lateGame||e.bigUpdate.endgameHunt
  17. sim-BkfBhQfw.js i.state.used=!0,i.state.goneAt=t
  18. sim-BkfBhQfw.js n.has(r.pointing[t]??-1)&&(r.pointing[t]=-1)
  19. sim-BkfBhQfw.js r.xp[a]=(r.xp[a]??0)*n.xpMult,r.goldChance[a]=1
  20. sim-BkfBhQfw.js Math.ceil(hc(e)*
  21. sim-BkfBhQfw.js Cu(e,r.jackpotSpinPrices)
  22. sim-BkfBhQfw.js Cu(e,r.pairSpinPrices)
  23. sim-BkfBhQfw.js Math.round(Su(e)*t)
  24. sim-BkfBhQfw.js r.rerolls+=n.rerolls,r.skips+=n.skips,r.banishes+=n.banishes
  25. sim-BkfBhQfw.js c=(2*r.digTicks+r.riseTicks)/60;e.player.invuln[s]=Math.max(e.player.invuln[s]??0,c)
  26. sim-BkfBhQfw.js r=e.slowed,i=f(e.seconds);return n===0?
  27. sim-BkfBhQfw.js return zl(e)?e.cfg.frenzyFryer.fireRateMult:1
  28. scene-B2rwbRKj.js function BG(e,t,n){return n?0:Math.max(0,Math.min(1,1-zG(e,t)/6))}
  29. scene-B2rwbRKj.js o.fade=function(e){return Math.max(0,Math.min(1,e/1))}(r)
  30. sim-BkfBhQfw.js function Oc(e){return e.lootRng.chance(e.cfg.goldenShrine.legendaryChance)?4:3}
  31. sim-BkfBhQfw.js if(!function(e){return Cr(e)}(e)||e.runClock<1200)return;
  32. sim-BkfBhQfw.js e.world.placePoi(`bigUpdate`,{x:n.x,y:n.y,variant:{kind:`spudForge`}})
  33. sim-BkfBhQfw.js Or={price:2500,priceGrowth:1.6,damageGrowth:1.5,passiveGrowth:1.5,top:8}
  34. sim-BkfBhQfw.js ve(n,t-1)*(1+(n-1)*r/i)
  35. sim-BkfBhQfw.js oi=new Set([`amount`,`curse`,`dashCharges`])
  36. scene-B2rwbRKj.js forge:{from:1.8,to:2.6,glow:.4}
  37. reward-rows-C8w13-0m.js title:p(r.target),tag:b(r)
  38. limit-break-card-CkPxY7DN.js id:CJqwK7``