# Tater Twirl

> Tater Twirl is a base weapon in tibo.dog. Hash-brown wheels circle Tibo, spinning and hitting as fast as he runs. When he stands still they slow to a crawl.

Source page: https://www.tibodog.wiki/weapons/tater-twirl · Wiki updated 6 Nov 2026, 03:43 UTC · Game version 75 (`main-CSuyb4iv.js`, data synced 5 Nov 2026, 21:45 UTC)

Breadcrumb: [Main page](/) › [Weapons](/weapons)

| Tater Twirl | |
|---|---|
| Type | Base weapon |
| Trigger | Continuous; movement sets pace |
| Attack | Orbiting wheels spin and hit faster while moving (`twirl`) |
| Damage | 48 |
| Cooldown (s) | 0 |
| Amount | 1 |
| Area | 1 |
| Speed | 5 |
| Duration (s) | 0.5 |
| Pierce | 99 |
| Knockback | 1 |
| Interval (s) | 0.1 |
| Max level | 8 |
| Offer weight | 75 |
| Evolves into | [Tater Twister](/weapons/tater-twister) (with [Salt Shaker](/passives/salt-shaker)) |

**Tater Twirl** is a base weapon in tibo.dog. In-game description: “Hash-brown wheels circle Tibo, spinning and hitting as fast as he runs. When he stands still they slow to a crawl.”

## Overview

Tater Twirl is a base weapon: hash-brown wheels that orbit Tibo about 30 units out and hurt every pest they touch. How fast they spin and how often they can hit the same pest both depend on how fast Tibo is moving. At normal walking speed a pest in a wheel's path is hit every 0.2 s; standing still slows that to once every 1.7 s.

Tibo starts with 2 wheels (raw Amount 1 plus his base +1 projectile, see [Stats](/stats)) and gets a third at level 6. At level 8, with [Salt Shaker](/passives/salt-shaker) owned at any level, it evolves into [Tater Twister](/weapons/tater-twister) on the next [chest](/chests).

## How it works

- **Pace.** Every tick the weapon compares Tibo's movement with his base move speed (62 units per second). Walking at base speed gives a pace of 1; the pace is clamped between 0.12 (`crawl`) and 2 (`maxPace`), so move-speed bonuses can at most double it. [sim-BkfBhQfw.js: `i=60*A(n.x[r]-n.px[r],n.y[r]-n.py[r])/e.cfg.player.baseSpeed;return Math.max(t.crawl,Math.min(t.maxPace,i))`]
- **Speeding up and slowing down.** The wheels catch up with a faster pace within about 0.12 s (`riseSec`). Slowing down is gradual and uses the weapon's Duration (0.5 s plus Tibo's base +25%), so the wheels keep some speed for a moment after Tibo stops. [sim-BkfBhQfw.js: `s=o>a.pace?i/n.riseSec:i/Math.max(i,r.duration)`]
- **Hit rate.** A pest can be hit once every `hitInterval` ÷ pace seconds: 0.2 s at pace 1, 0.1 s at pace 2 and about 1.7 s at the crawl. This timer is shared by all wheels, so more wheels cover more of the circle but do not hit one pest more often. [sim-BkfBhQfw.js: `let c=Math.max(1,Math.round(60*n.hitInterval/a.pace))`]
- **Spin.** The wheels turn at the weapon's raw Speed in radians per second times the pace: 5 rad/s (about 0.8 turns per second) at walking pace, 5.6 rad/s from level 3. Projectile speed bonuses count only half for the spin. [sim-BkfBhQfw.js: `return t.raw.speed*(1+.5*(e.loadout.stats.projSpeedMult-1))}(e,t)*a.pace`]
- **Size.** The orbit radius is 30 units × √Area, and each wheel's hit circle has a radius of 8 units × Area.

**Measured** in the headless sim (`tools/play.mjs`, build 41 `main-B2gf34bA.js`, Standard, Normal, god mode, seeds `s1`, `s2` and `s3`; the seeded starting weapon removed, the weapon given with `give`, spawning stopped after 4 s of play and the pests already on the field held at fixed spots with 10⁹ HP): 2 wheels at level 1 to 5 and 3 from level 6, on a 30-unit orbit at level 1. A pest moved along with a wheel every tick was hit every 12 ticks (0.2 s) while Tibo walked and every 100 ticks (1.67 s) while he stood still. All three seeds gave the same figures.

## Tips

- Keep moving. A still Tibo gets about an eighth of the hits, and move-speed bonuses raise both spin and hit rate up to double.
- A dash moves Tibo 48 units in 9 ticks, several times walking speed, so it briefly pushes the wheels to their maximum pace.
- Damage, Amount and Area are the stats that matter; the spin also gets a small boost from projectile speed. The weapon has no cooldown, so cooldown reduction does nothing for it.

## Stats

Values are the raw numbers from the game's definitions, before Tibo's global stat multipliers, difficulty and time scaling. In play, Tibo's base stats add **+1 amount** to every weapon except aura, cone, nuke and ring weapons, and make every duration **×1.25** (see [Stats](/stats)). Field names in `code` are the game's internal names. Attack descriptions such as “Melee slash” are this wiki's summary of the internal attack `kind`.

### Level progression

Each level-up adds the listed change to the weapon's raw values. Totals are cumulative.

| Level | Change | Damage | Amount | Area | Speed |
|---|---|---|---|---|---|
| 1 | Acquired | 48 | 1 | 1 | 5 |
| 2 | +16 damage | 64 | 1 | 1 | 5 |
| 3 | +0.6 speed | 64 | 1 | 1 | 5.6 |
| 4 | +0.15 area | 64 | 1 | 1.15 | 5.6 |
| 5 | +24 damage | 88 | 1 | 1.15 | 5.6 |
| 6 | +1 amount | 88 | 2 | 1.15 | 5.6 |
| 7 | +32 damage | 120 | 2 | 1.15 | 5.6 |
| 8 | +0.15 area | 120 | 2 | 1.3 | 5.6 |

### Base values

| Stat | Level 1 |
|---|---|
| Damage | 48 |
| Cooldown (s) | 0 |
| Amount | 1 |
| Area | 1 |
| Speed | 5 |
| Duration (s) | 0.5 |
| Pierce | 99 |
| Knockback | 1 |
| Interval (s) | 0.1 |

### Behaviour parameters

Raw parameters of the attack (`behavior`), copied from the game definition. What they do in play is explained under [How it works](#how-it-works) above.

| Parameter | Value |
|---|---|
| `kind` | bigUpdate |
| `variant.kind` | twirl |
| `variant.size` | 8 |
| `variant.orbitRadius` | 30 |
| `variant.hitInterval` | 0.2 |
| `variant.crawl` | 0.12 |
| `variant.maxPace` | 2 |
| `variant.riseSec` | 0.12 |

## Obtaining

- Offered as a card on level-up (offer weight 75).

## Evolution

| Result | Requires | Type |
|---|---|---|
| [Tater Twister](/weapons/tater-twister) | [Tater Twirl](/weapons/tater-twirl) (max level) + [Salt Shaker](/passives/salt-shaker) | Evolution |

## Names in other languages

**Verified**: the name the game shows when another language is selected in Settings, from its translation files. [i18n-ja-content-DO6GrqHt.js: `"content.weapon.tater-twirl.name":["ポテトくるくる"]`] See [Languages](/controls#languages).

<details class="raw"><summary>Show names in 26 languages</summary>

| Language | Code | Name |
|---|---|---|
| 简体中文 · Simplified Chinese | `zh-CN` | 土豆转圈圈 |
| 繁體中文 · Traditional Chinese (Taiwan) | `zh-TW` | 馬鈴薯轉圈圈 |
| 日本語 · Japanese | `ja` | ポテトくるくる |
| 한국어 · Korean | `ko` | 빙글빙글 감자 |
| Español · Spanish | `es` | Remolino de papas |
| हिन्दी · Hindi | `hi` | आलू फिरकी |
| Deutsch · German | `de` | Pufferwirbel |
| Français · French | `fr` | Tourbillon patate |
| Português (Brasil) · Brazilian Portuguese | `pt` | Rodopio-batata |
| Türkçe · Turkish | `tr` | Mücver Fırıldağı |
| Bahasa Indonesia · Indonesian | `id` | Putaran Kentang |
| Русский · Russian | `ru` | Карусель драников |
| Bahasa Melayu · Malay | `ms` | Putaran Kentang |
| Filipino | `fil` | Ikot-Patatas |
| मराठी · Marathi | `mr` | बटाटा भिंगरी |
| Tiếng Việt · Vietnamese | `vi` | Khoai Xoay |
| తెలుగు · Telugu | `te` | ఆలూ బొంగరం |
| தமிழ் · Tamil | `ta` | பம்பர உருளை |
| বাংলা · Bengali | `bn` | আলুর লাট্টু |
| ไทย · Thai | `th` | มันหมุนติ้ว |
| Hausa | `ha` | Juyin Dankali |
| Naijá · Nigerian Pidgin | `pcm` | Potato Twirl |
| <bdi>العربية</bdi> · Arabic | `ar` | <bdi>رقصة البطاطس</bdi> |
| <bdi>فارسی</bdi> · Persian | `fa` | <bdi>چرخش سیب‌زمینی</bdi> |
| <bdi>עברית</bdi> · Hebrew | `he` | <bdi>סביבון תפודים</bdi> |
| <bdi>اردو</bdi> · Urdu | `ur` | <bdi>آلو لٹو</bdi> |

</details>

## Data

```json
{
  "id": "tater-twirl",
  "tier": "base",
  "base": {
    "damage": 48,
    "cooldown": 0,
    "amount": 1,
    "area": 1,
    "speed": 5,
    "duration": 0.5,
    "pierce": 99,
    "knockback": 1,
    "interval": 0.1
  },
  "levels": [
    {
      "damage": 16
    },
    {
      "speed": 0.6
    },
    {
      "area": 0.15
    },
    {
      "damage": 24
    },
    {
      "amount": 1
    },
    {
      "damage": 32
    },
    {
      "area": 0.15
    }
  ],
  "weight": 75,
  "behavior": {
    "kind": "bigUpdate",
    "variant": {
      "kind": "twirl",
      "size": 8,
      "orbitRadius": 30,
      "hitInterval": 0.2,
      "crawl": 0.12,
      "maxPace": 2,
      "riseSec": 0.12
    }
  }
}
```

## 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).
- 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`
- Names in other languages from the 26 `i18n-<code>-content` files of `main-CSuyb4iv.js` (`data/i18n-names.json`)
