# Fry Lance

> Fry Lance is a base weapon in tibo.dog. One very long fry that pierces a whole line.

Source page: https://www.tibodog.wiki/weapons/fry-lance · 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)

| Fry Lance | |
|---|---|
| Type | Base weapon |
| Trigger | Automatic (cooldown) |
| Attack | Fires a beam (`beam`) |
| Damage | 22 |
| Cooldown (s) | 2.4 |
| Amount | 1 |
| Area | 1 |
| Speed | 0 |
| Duration (s) | 0.25 |
| Pierce | 0 |
| Knockback | 0.8 |
| Interval (s) | 0.15 |
| Max level | 8 |
| Offer weight | 80 |
| Evolves into | [Railfry](/weapons/railfry) (with [Spud Sneakers](/passives/spud-sneakers)) |

**Fry Lance** is a base weapon in tibo.dog. In-game description: “One very long fry that pierces a whole line.”

## Overview

Fry Lance thrusts very long fries at the nearest pest, each hitting every pest along a 170-unit line at once. At level 1 it throws 2 lances (its raw amount of 1 plus Tibo's base +1 amount, see [Stats](/stats)), 0.15 s apart, every 2.4 s for 22 damage per pest, with no limit on how many pests in the line it hits. The lance is 6 units wide and appears for a moment before vanishing.

By level 8 it deals 57 damage, fires every 2.1 s, throws 3 lances 0.15 s apart (raw amount 2 plus 1), and is wider and longer (area 1.5). Fry Lance is one of the possible starting weapons of a standard run (see [Level-up](/level-up)) and is also offered on level-up cards (offer weight 80). At level 8, a chest opened while Tibo holds [Spud Sneakers](/passives/spud-sneakers) evolves it into [Railfry](/weapons/railfry).

## How it works

- **Trigger and aim**: it fires only when a pest is within 224 units (0.7 × the 320-unit play field), and aims at the nearest pest within 1.2 × the lance length. [sim-BkfBhQfw.js: `Rh(e,1.2*n.length)+(i>0?s*Math.ceil(i/2)*.35:0)`] If no pest is that close, it points the way Tibo faces.
- **Extra lances fan out**: the second lance of a volley is turned 0.35 rad (about 20°) to one side, the third 0.35 rad to the other, and so on, each re-aimed at the nearest pest when it fires.
- **Size**: length is `length × √area` and width is `size × area`, so area bonuses widen the lance faster than they lengthen it. [sim-BkfBhQfw.js: `l=n.length*Math.sqrt(r.area),u=n.size*r.area`] At level 8 (area 1.5) the lance is about 208 units long and 9 wide.
- **Hits**: every pest whose body touches the line takes one hit; pierce is not used. `duration` (0.25 s) only sets how long the lance is drawn. [sim-BkfBhQfw.js: `Math.max(.12,r.duration)`]

**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 the nearest pest was hit twice per firing, 0.15 s apart, and the other 7 pests in the line once (the second lance is turned off the line), every 2.4 s; at level 8 the nearest pest was hit 3 times per firing, every 2.1 s. All three seeds gave the same figures.

## Tips

- Lances are strongest against pests that line up, such as a column chasing Tibo. Moving so the crowd is directly behind the nearest pest puts more of it on the line.
- Only the first lance of a volley aims at the target; the others go 20° or more off to the sides, so the extra lances are most useful against wide groups.

## 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 | Area |
|---|---|---|---|---|---|
| 1 | Acquired | 22 | 2.4 | 1 | 1 |
| 2 | +10 damage | 32 | 2.4 | 1 | 1 |
| 3 | +0.25 area | 32 | 2.4 | 1 | 1.25 |
| 4 | +1 amount | 32 | 2.4 | 2 | 1.25 |
| 5 | +10 damage | 42 | 2.4 | 2 | 1.25 |
| 6 | -0.3 cooldown | 42 | 2.1 | 2 | 1.25 |
| 7 | +0.25 area | 42 | 2.1 | 2 | 1.5 |
| 8 | +15 damage | 57 | 2.1 | 2 | 1.5 |

### Base values

| Stat | Level 1 |
|---|---|
| Damage | 22 |
| Cooldown (s) | 2.4 |
| Amount | 1 |
| Area | 1 |
| Speed | 0 |
| Duration (s) | 0.25 |
| Pierce | 0 |
| Knockback | 0.8 |
| Interval (s) | 0.15 |

### 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` | beam |
| `size` | 6 |
| `length` | 170 |

## Obtaining

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

## Evolution

| Result | Requires | Type |
|---|---|---|
| [Railfry](/weapons/railfry) | [Fry Lance](/weapons/fry-lance) (max level) + [Spud Sneakers](/passives/spud-sneakers) | 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.fry-lance.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` | Lanza de frita |
| हिन्दी · Hindi | `hi` | फ्राई भाला |
| Deutsch · German | `de` | Pommeslanze |
| Français · French | `fr` | Lance-frite |
| Português (Brasil) · Brazilian Portuguese | `pt` | Lança frita |
| Türkçe · Turkish | `tr` | Kızartma Mızrağı |
| Bahasa Indonesia · Indonesian | `id` | Tombak Kentang Goreng |
| Русский · Russian | `ru` | Фри-копьё |
| Bahasa Melayu · Malay | `ms` | Lembing Goreng |
| Filipino | `fil` | Sibat na Fries |
| मराठी · Marathi | `mr` | फ्राय भाला |
| Tiếng Việt · Vietnamese | `vi` | Thương Khoai |
| తెలుగు · Telugu | `te` | ఫ్రై బల్లెం |
| தமிழ் · Tamil | `ta` | ஃப்ரை ஈட்டி |
| বাংলা · Bengali | `bn` | ফ্রাই বর্শা |
| ไทย · Thai | `th` | หอกมันทอด |
| Hausa | `ha` | Mashin Soya |
| Naijá · Nigerian Pidgin | `pcm` | Fry Lance |
| <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": "fry-lance",
  "tier": "base",
  "base": {
    "damage": 22,
    "cooldown": 2.4,
    "amount": 1,
    "area": 1,
    "speed": 0,
    "duration": 0.25,
    "pierce": 0,
    "knockback": 0.8,
    "interval": 0.15
  },
  "levels": [
    {
      "damage": 10
    },
    {
      "area": 0.25
    },
    {
      "amount": 1
    },
    {
      "damage": 10
    },
    {
      "cooldown": -0.3
    },
    {
      "area": 0.25
    },
    {
      "damage": 15
    }
  ],
  "weight": 80,
  "behavior": {
    "kind": "beam",
    "size": 6,
    "length": 170
  }
}
```

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