# Frozen Fries

> Frozen Fries is a base weapon in tibo.dog. Shoots frozen fries that freeze enemies in place.

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

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

| Frozen Fries | |
|---|---|
| Type | Base weapon |
| Trigger | Automatic (cooldown) |
| Attack | Shoots at a targeted enemy (`targetShot`) |
| On hit | Freezes (1 s) |
| Damage | 9 |
| Cooldown (s) | 1.6 |
| Amount | 1 |
| Area | 1 |
| Speed | 200 |
| Duration (s) | 1.5 |
| Pierce | 1 |
| Knockback | 1 |
| Interval (s) | 0.12 |
| Max level | 8 |
| Offer weight | 75 |
| Evolves into | [Permafrost Fries](/weapons/permafrost-fries) (with [Thick Skin](/passives/thick-skin)) |

**Frozen Fries** is a base weapon in tibo.dog. In-game description: “Shoots frozen fries that freeze enemies in place.”

## Overview

Frozen Fries shoots frozen fries at the nearest pest, freezing each pest it hits in place for 1 s. At level 1 it fires 2 fries (its raw amount of 1 plus Tibo's base +1 amount, see [Stats](/stats)), 0.12 s apart, every 1.6 s for 9 damage; each fry passes through one pest and hits a second. Levels add fries and pierce: by level 8 it fires 5 fries per volley (raw amount 4 plus 1) every 1.3 s, each dealing 21 damage and hitting up to 4 pests.

Frozen Fries is one of the possible starting weapons of a standard run (see [Level-up](/level-up)) and is also offered on level-up cards. At level 8, a chest opened while Tibo holds [Thick Skin](/passives/thick-skin) evolves it into [Permafrost Fries](/weapons/permafrost-fries).

## How it works

- **Targeting**: it fires only when a pest is within 0.7 × the larger side of the play field (224 units on the 320 × 320 field) and aims at the nearest one. [sim-BkfBhQfw.js: `function Ih(e){return .7*Math.max(e.field.width,e.field.height)}`]
- **Volley spread**: the first fry of a volley flies straight at the target; each later fry gets a random angle offset that grows with its place in the volley (up to ±0.08 rad × its index), so bigger volleys fan out. [sim-BkfBhQfw.js: `Rh(e,Ih(e))+e.rng.range(-.08,.08)*i`]
- **Freeze**: a frozen pest stops moving. The freeze lasts 1 s times Tibo's duration stat, and a new freeze never shortens one already running. **Bosses cannot be frozen**: the freeze status is skipped for them. [sim-BkfBhQfw.js: ``case`freeze`:r||(e.freezeT[t]=Math.max(e.freezeT[t],n.seconds*i))``]
- **Pierce**: a fry with pierce N hits N + 1 pests, as with other projectiles.

**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; Tibo standing still, facing right, with 8 pests in a line 20 to 90 units to his right): at level 1 it fired 2 fries 0.12 s apart every 1.6 s and only the 2 nearest pests were ever hit; at level 8 it fired 5 fries every 1.3 s and only the 4 nearest pests were hit. Each hit set the pest's freeze timer to 1.25 s (1 s × the base duration stat). In a separate run with the clock warped to 9:58 so the 10:00 boss (Great Wireworm) spawns, and the boss held 40 units from Tibo, Frozen Fries hit the boss 6–7 times in 21 s and its freeze timer never left 0, while 24–27 ordinary pests were frozen. All three seeds gave the same figures.

## Tips

- The freeze is crowd control, not boss control. Against a [boss](/bosses) it is just a projectile.
- Pierce makes the freeze spread through a line of pests, which matters more than raw damage early on.

## 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 | Cooldown (s) | Amount | Pierce |
|---|---|---|---|---|---|
| 1 | Acquired | 9 | 1.6 | 1 | 1 |
| 2 | +1 amount | 9 | 1.6 | 2 | 1 |
| 3 | +4 damage | 13 | 1.6 | 2 | 1 |
| 4 | +1 pierce, +1 damage | 14 | 1.6 | 2 | 2 |
| 5 | +1 amount, +1 damage | 15 | 1.6 | 3 | 2 |
| 6 | -0.3 cooldown, +1 damage | 16 | 1.3 | 3 | 2 |
| 7 | +1 pierce, +2 damage | 18 | 1.3 | 3 | 3 |
| 8 | +1 amount, +3 damage | 21 | 1.3 | 4 | 3 |

### Base values

| Stat | Level 1 |
|---|---|
| Damage | 9 |
| Cooldown (s) | 1.6 |
| Amount | 1 |
| Area | 1 |
| Speed | 200 |
| Duration (s) | 1.5 |
| Pierce | 1 |
| Knockback | 1 |
| Interval (s) | 0.12 |

### 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` | targetShot |
| `size` | 3 |
| `onHit.kind` | freeze |
| `onHit.seconds` | 1 |

## Obtaining

- Offered as a card on level-up (offer weight 75).
- Listed in the game's `player.startWeapons` pool (see [Level-up](/level-up)).

## Evolution

| Result | Requires | Type |
|---|---|---|
| [Permafrost Fries](/weapons/permafrost-fries) | [Frozen Fries](/weapons/frozen-fries) (max level) + [Thick Skin](/passives/thick-skin) | 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.frozen-fries.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` | Papas fritas heladas |
| हिन्दी · Hindi | `hi` | जमे आलू फ्राई |
| Deutsch · German | `de` | TK-Pommes |
| Français · French | `fr` | Frites gelées |
| Português (Brasil) · Brazilian Portuguese | `pt` | Fritas congeladas |
| Türkçe · Turkish | `tr` | Donuk Kızartma |
| Bahasa Indonesia · Indonesian | `id` | Kentang Goreng Beku |
| Русский · Russian | `ru` | Мороженая фри |
| Bahasa Melayu · Malay | `ms` | Kentang Goreng Beku |
| Filipino | `fil` | Frozen Fries |
| मराठी · Marathi | `mr` | गोठलेले फ्राईज |
| Tiếng Việt · Vietnamese | `vi` | Khoai Băng |
| తెలుగు · Telugu | `te` | మంచు ఫ్రైస్ |
| தமிழ் · Tamil | `ta` | உறைந்த ஃப்ரைஸ் |
| বাংলা · Bengali | `bn` | জমাট ফ্রাই |
| ไทย · Thai | `th` | มันทอดแช่แข็ง |
| Hausa | `ha` | Dankalin Soya Mai Ƙanƙara |
| Naijá · Nigerian Pidgin | `pcm` | Frozen Fries |
| <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": "frozen-fries",
  "tier": "base",
  "base": {
    "damage": 9,
    "cooldown": 1.6,
    "amount": 1,
    "area": 1,
    "speed": 200,
    "duration": 1.5,
    "pierce": 1,
    "knockback": 1,
    "interval": 0.12
  },
  "levels": [
    {
      "amount": 1
    },
    {
      "damage": 4
    },
    {
      "pierce": 1,
      "damage": 1
    },
    {
      "amount": 1,
      "damage": 1
    },
    {
      "cooldown": -0.3,
      "damage": 1
    },
    {
      "pierce": 1,
      "damage": 2
    },
    {
      "amount": 1,
      "damage": 3
    }
  ],
  "weight": 75,
  "behavior": {
    "kind": "targetShot",
    "size": 3,
    "onHit": {
      "kind": "freeze",
      "seconds": 1
    }
  }
}
```

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