tibo.dog Wiki Game v75 Play tibo.dog

The Harvester

The Harvester, End of the Season, is a boss in tibo.dog. In-game description: “A combine harvester. It charges down long lanes. Every potato's last fear.”

Overview

The Harvester is the last of the 13 bosses and the one the game config names as win.finalBoss. It is the minute-20 wave boss, arriving at 20:00 on the wave schedule, the same moment the run counts as survived. Beating it is not required to survive: the run carries on into overtime either way (see After 20:00). After that it returns as the last boss in the overtime cycle, first at 27:00 and then every seven minutes.

It is by far the toughest boss. Its 16000 base HP is multiplied by the ×6 boss HP step that starts at 20:00, which gives 96000 HP before the difficulty multiplier and 62400 on Normal (boss HP ×0.65, see Modes), more with curse. It has the highest contact damage of any boss (60 before time scaling) and walks at speed 36, a little over half of Tibo's base speed of 62. Boss walking speed does not grow with time.[1]

Boss Lairs never wake the Harvester: they pick from the boss order but stop one short of its end.[2]

Like every boss, it drops a chest, an XP gem worth its 300 XP and a 25-gold coin (both multiplied by the biome's XP and gold multipliers).

Measured (headless tools/play.mjs, build main-B2gf34bA, seed wiki, standard mode, --god; the clock warped to 2 s before each minute and stepped across it; level-up offers taken first-in-order except Rotten Spud, so curse stays at the difficulty's start value): it spawned at exactly 20:00 on all four difficulties, with 48,000 HP on Easy, 62,400 on Normal, 67,200 on Hard and 100,320 on Nightmare. The Nightmare figure is 10% above base HP × the difficulty multiplier because Nightmare starts every run with one curse, and boss HP is multiplied by 1 + curse.[3][4] Seeds s1 to s4 gave the same Normal times and HP. The Nightmare value comes from a run where each earlier boss was removed on arrival, because a stationary god-mode Tibo was killed by stacked boss hits at 17:59 otherwise.

Fight

The Harvester walks towards Tibo and alternates two bullet patterns while walking. Every 2.6 s of walking it stops to charge. The pattern timer pauses during the warning and the charge, and the 2.6 s countdown restarts only once the charge ends. Its first charge comes 1.56 s after it spawns and its first pattern 1.2 s after.[5]

Combine charge

When the attack is ready, the Harvester stops and locks onto the direction Tibo is in at that moment. A 70-unit-wide warning lane, 418 units long, shows its path for 1 s. It then drives along that line at speed 380 for 1.1 s, which covers the whole lane, and does not steer. A full cycle of walking, warning and charging takes 4.7 s.

The charge damage comes from touching the boss, not from the lane. While charging, its body hitbox widens from its normal radius of 22 to half the lane width (35), and contact damage is ×1.5, which is 90 before time scaling.[6]

Homing volleys

The first pattern fires 3 volleys at Tibo, 0.25 s apart, after a 0.7 s warning. Each volley is a line of bullets fired in the same direction at falling speeds: the first at full speed (140), each later one 15% slower, so the line stretches out as it flies.[7] The aim is fixed when the warning starts. From 0.1 s to 0.6 s after launch, each bullet turns towards Tibo by up to 1.6 radians per second, but only while he is ahead of it and only if he has not dashed since it was fired. A dash ends the homing for every bullet already in the air.[8]

Stalling rings

The second pattern fires two rings of 24 bullets, 0.4 s apart, after a 0.9 s warning. The second ring is rotated by half a gap, so it covers the first ring's holes. The bullets launch at speed 85, slow to a fifth of that by 0.4 s, hang almost still until 0.9 s, then speed up to 1.6× (136) by 1.2 s. In practice the double ring stalls around the Harvester before bursting outward.

Late-game numbers

Enemy bullet counts, fire rates and bullet speeds all grow with run time (see Enemy bullets). They are worked out when each pattern starts, so they are already high when the Harvester arrives at 20:00: ×1.8 bullet count, ×1.6 fire rate, ×1.3 bullet speed.[9] At 20:00 that means:

  • Homing volleys: 7 bullets per line instead of 4, lead bullet at speed 182, volleys 0.16 s apart.
  • Stalling rings: 43 bullets per ring instead of 24, rings 0.25 s apart, bursting out at about 177.
  • A new pattern every 1.5 s of walking instead of 2.4 s, so it usually fires one or two patterns between charges.

Measured (headless tools/play.mjs, build main-B2gf34bA, seed wiki, standard mode, --god, Normal; the clock warped to just before 20:00; every other boss and every pest removed each tick, so the sim's hostile-shot counter only counts this boss): three 7-bullet volleys 0.15 s apart at 1.85 s, two 43-bullet rings 0.23 s apart at 5.65 s, the volleys again at 9.05 s and the rings at 10.75 s after it spawned.

The charge is not affected: its timing and speed are fixed.

Tips

  • Sidestep the charge early. The direction is locked when the lane appears, so leaving the lane is enough. To be safe, Tibo needs to be about 40 units from the lane's centre line (35 for the hitbox plus his own size). At base speed that is about 0.65 s of the 1 s warning, so start moving as soon as the lane appears. A dash covers 48 units in 0.15 s and clears it on its own (see dash details).
  • Stay out of its path after it stops. The charge always runs the full 418 units, so standing just past where Tibo was is not safe either.
  • Dash after the volleys are fired, not before. Dashing once the bullets are in the air ends their homing, and they fly straight from then on. With only one dash charge and a 5 s recharge, it may be worth saving the dash for the charge and walking out of the volleys instead. Butter Socks adds dash charges and makes this choice easier.
  • Don't try to slip through a ring while it stalls near the boss. With 43 bullets per ring at 20:00, the gaps only become wide enough for Tibo once the ring is about 90 units out. Before the ring bursts, either back off or wait for it to pass.
  • Armor is weaker here. Bosses count as 10 levels higher than the run time against armor, so the same armor blocks less of the Harvester's hits than of normal pests'. Avoiding hits matters more than tanking them.
  • For damage, Bacon Bits (+12% damage to elites and bosses per level) and Boss Buster (+15%) apply to every hit on it. Inferno Basket deals double damage to bosses, but its cone is short, so Tibo has to stay close to a boss that hits hard on contact.
  • Freeze effects such as Frozen Fries don't freeze bosses[10], and the Harvester has more HP than anything else, so plan to whittle it down while dodging rather than to lock it in place.

Main attack

Parameter Value
kind charge
dashSpeed 380
dashTime 1.1
width 70

Nightmare ground attack

Verified: Nightmare adds the wheel ground layout; other difficulties keep the ordinary attack. Its anchor captures Tibo's position when placed, rather than following him. A radius-18 hub and outer ring (56–70) strike together, then five width-14 spokes strike 0.5 seconds later. The charge still happens. Distances above are raw values: multiply them by Nightmare's areaScale of 1.45, but not counts, angles, ratios or times. This does not enlarge every enemy attack.[11][12][13]

Bullet patterns

Pattern Count Bursts Bullet damage Speed Telegraph (s) Extra
aimed 4 3 16 140 0.7 motion: {"home":{"rate":1.6,"after":0.1,"until":0.6}}
ring 24 2 12 85 0.9 motion: {"speed":[{"at":0.4,"to":0.2},{"at":0.9,"to":0.2},{"at":1.2,"to":1.6}]}

HP scaling

Boss HP is multiplied by a step factor depending on the run time (bosses.hpSteps), and by the difficulty's boss HP multiplier (see Modes).

From minute HP × The Harvester HP (Normal)
0 1 10400
16 3 31200
18 4 41600
20 6 62400

The Normal column includes Normal's boss HP ×0.65, without curse. Other time scaling may also apply; see Enemy scaling.

Names in other languages

Verified: the name the game shows when another language is selected in Settings, from its translation files.[14] See Languages.

Show names in 26 languages
Language Code Name Title
简体中文 · Simplified Chinese zh-CN 收割机 季节终结者
繁體中文 · Traditional Chinese (Taiwan) zh-TW 收割機 季節終結者
日本語 · Japanese ja ハーベスター 季節の終わり
한국어 · Korean ko 수확기 계절의 끝
Español · Spanish es La cosechadora Fin de temporada
हिन्दी · Hindi hi हार्वेस्टर सीज़न का अंत
Deutsch · German de Der Vollernter Ende der Saison
Français · French fr La moissonneuse Fin de saison
Português (Brasil) · Brazilian Portuguese pt A Colheitadeira Fim da safra
Türkçe · Turkish tr Biçerdöver Sezonun Sonu
Bahasa Indonesia · Indonesian id Si Pemanen Akhir Musim
Русский · Russian ru Комбайн Конец сезона
Bahasa Melayu · Malay ms Sang Penuai Penghujung Musim
Filipino fil Mang-aani Wakas ng Anihan
मराठी · Marathi mr हार्वेस्टर हंगामाचा अंत
Tiếng Việt · Vietnamese vi Cỗ Máy Gặt Hồi Kết Mùa Vụ
తెలుగు · Telugu te హార్వెస్టర్ సీజన్ అంతం
தமிழ் · Tamil ta ஹார்வெஸ்டர் பருவத்தின் முடிவு
বাংলা · Bengali bn হারভেস্টার মৌসুমের শেষ
ไทย · Thai th จอมเก็บเกี่ยว จุดจบแห่งฤดูกาล
Hausa ha Injin Girbi Ƙarshen Damina
Naijá · Nigerian Pidgin pcm Di Harvester Season Don End
العربية · Arabic ar الحصّادة نهاية الموسم
فارسی · Persian fa دروگر پایان فصل
עברית · Hebrew he הקוצר סוף העונה
اردو · Urdu ur ہارویسٹر موسم کا انجام

Data

Show raw game data
{
  "id": "harvester",
  "hp": 16000,
  "speed": 36,
  "damage": 60,
  "radius": 22,
  "attackEvery": 2.6,
  "telegraph": 1,
  "attack": {
    "kind": "charge",
    "dashSpeed": 380,
    "dashTime": 1.1,
    "width": 70
  },
  "sharpAttack": {
    "kind": "charge",
    "dashSpeed": 380,
    "dashTime": 1.1,
    "width": 70,
    "layout": "wheel"
  },
  "patternEvery": 2.4,
  "patterns": [
    {
      "kind": "aimed",
      "count": 4,
      "speed": 140,
      "radius": 2.5,
      "damage": 16,
      "bursts": 3,
      "interval": 0.25,
      "telegraph": 0.7,
      "motion": {
        "home": {
          "rate": 1.6,
          "after": 0.1,
          "until": 0.6
        }
      }
    },
    {
      "kind": "ring",
      "count": 24,
      "speed": 85,
      "radius": 2.5,
      "damage": 12,
      "bursts": 2,
      "interval": 0.4,
      "telegraph": 0.9,
      "motion": {
        "speed": [
          {
            "at": 0.4,
            "to": 0.2
          },
          {
            "at": 0.9,
            "to": 0.2
          },
          {
            "at": 1.2,
            "to": 1.6
          }
        ]
      }
    }
  ],
  "xp": 300
}

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 bosses.hpSteps and win.finalBoss from sim-BkfBhQfw.js
  • Names in other languages from the 26 i18n-<code>-content files of main-CSuyb4iv.js (data/i18n-names.json)

Code references

  1. sim-BkfBhQfw.js n.speed[r]=i.speed,n.damage[r]=i.damage*o.dmg
  2. sim-BkfBhQfw.js r=n[Math.max(1,Math.min(n.length-2,Math.floor(e.runClock/120)+Math.floor(t.tier/2)))]
  3. sim-BkfBhQfw.js startCurses:1,tierLag:2,wallPests:.6
  4. sim-BkfBhQfw.js n.maxHp[r]=i.hp*t.hpMult*(1+e.loadout.stats.curse)
  5. sim-BkfBhQfw.js n.timer[r]=.6*i.attackEvery,n.patternT[r]=.5*i.patternEvery
  6. sim-BkfBhQfw.js e.bosses.state[t]===2&&r.attack.kind===`charge`?1.5:1
  7. sim-BkfBhQfw.js case`aimed`:return Z.angle=s,Z.speed=c/(1+.15*n)
  8. sim-BkfBhQfw.js c!==void 0&&r>=c.after&&r<c.until&&mp.dashAgo>Math.round(r/i)
  9. sim-BkfBhQfw.js a.count[o]=Math.max(1,Math.round(t.count*d.bulletCount)),a.speed[o]=t.speed*d.bulletSpeed
  10. sim-BkfBhQfw.js case`freeze`:r||(e.freezeT[t]=Math.max(e.freezeT[t],n.seconds*i))
  11. sim-BkfBhQfw.js return e.level.sharpAttacks&&n!==void 0?n:t.attack
  12. run-extras-l2haGSVw.js kind:wheel,hub:18,radius:70,rim:14,spokes:5,spoke:14,wave:.5
  13. run-extras-l2haGSVw.js j.cx=e.player.x[e.me],j.cy=e.player.y[e.me],j.scale=e.cfg.level.areaScale
  14. i18n-ja-content-DO6GrqHt.js "content.boss.harvester.name":["ハーベスター"]