Tank (Junkrats)

What it is

A common-rarity Junkrats heavy hull built around a two-slot mortar mount, the highest baseline armor in the Junkrats roster (3), and the slowest top speed of any Junkrats hull (81). Pairs a 196 HP pool — tied for the largest in-faction with Junkrats Pierre’s ★5 endpoint — with a small 65 shield, a 1.45× sprite scale that puts it in the “big silhouette” tier alongside Bomber and Drifter, and the back_loaded drag curve (weak brake at high speed, strong brake at low speed) shared only with Solaris Cargo across the entire roster. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages and all damage comes from raw weapon-damage percentage and the starting mortar.

★1 stats

StatValue
HP196
Shield65
Armor3
Speed81
Acceleration130
Drag0.34
Turn rate0.14
Weapon slots2
Upgrade slots3
Weapon damage %10
Fire rate %5
Heat buildup0
Heat cooldown0
Heat curvelinear
Burnout severity0.35
Shield regen rate6
Shield regen delay4
HP regen0
Melee mult1.0
Luck8
Magnet range130
Currency bonus6
Ship scale1.45
Starting weaponmortar L1

★5 endpoints (only fields that differ from ★1)

Stat★1★5
Shield6581
Armor34
Weapon damage %1012.5

All other ★5 fields match ★1 — the per-hull ★5 override re-asserts the ★1 values for HP 196, weapon slots 2, acceleration 130, speed 81, drag 0.34, turn rate 0.14, ship scale 1.45, fire rate % 5, heat fields, regen fields, and the meta stats. No ★2/★3 pins exist for Tank, so intermediate stars lerp linearly between the three delta endpoints above; everything else is constant across all five stars. The ★4 override pins HP 196, speed 81, and ship scale 1.45 — all of which already match both endpoints, making the override inert.

Drive feel

FieldValue
Rotatestrue
Fixed angle (deg)0
Accel curvelinear
Drag curveback_loaded
Stop shake intensity0
Heat shake intensity0
Heat shake threshold0.85
Stop spring amount0

Free-rotating spaceship with linear thrust ramp and the back_loaded drag profile — weak brake at high speed, strong brake at low speed, described in the drag-curve docstring as “heavy cargo ship” feel. Tank is one of only two roster hulls on this curve (the other is Solaris Cargo); every other Junkrats hull uses either exponential (Skewer / Stinger / Pierre) or the BASELINE default exponential. Combined with the lowest top speed in the faction (81 vs. Pierre’s 145, Skewer’s 135) and the lowest acceleration tied with Orca (130), the result is a slow, late-decelerating heavy that picks up momentum gradually and bleeds it back gradually until the low-speed regime kicks in. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages.

Hitbox

No custom polygon — the Junkrats_Tank hull is absent from the auto-generated HULL_HITBOXES table, so physics applies the shared 8-vertex octagon fallback. This is coarser than a sprite-traced silhouette but keeps the Rapier body alive (without one, the loop force-resets ship position and velocity to zero each frame).

PropertyValue
SourceFALLBACK_HULL_OCTAGON
Vertex count8
X range-0.90 to 0.90
Y range-0.90 to 0.90

Fallback octagon vertices (x, y):

#XY
1-0.900.37
2-0.90-0.37
3-0.37-0.90
40.37-0.90
50.90-0.37
60.900.37
70.370.90
8-0.370.90

Regenerating the hitbox file with npx tsx scripts/generate-hull-hitboxes.ts would replace the octagon with a sprite-traced polygon. The Tank sprite scale of 1.45× is applied on top of whichever hitbox is in use.

Passive

FieldValue
Passive IDjack_of_all
Passive nameJack of All Trades
Effect+{value}% to all stats
Stat targetall
Is percenttrue
Values per rank (1–5)3, 6, 10, 15, 22

The default baseline passive (no per-hull override). Applies a percent buff to all stats at run start, scaling with passive rank.

Faction and rarity

FieldValue
Factionsolaris
Hull faction tagJunkrats
Raritycommon
Display gradeC
Outline colorffffff
Accent color#333333
Ship classmedium

Tank’s faction data field reads solaris because every hull inherits the baseline-default faction; the Junkrats prefix on the hull key is the visual/sprite faction grouping used by the rarity table and the sprite folder. Rarity color is the common white outline baked into the v5 sprite asset. Tank shares the common tier with Junkrats Stinger as the two common-rarity hulls in the eight-hull Junkrats faction.

Star progression notes

StarXP required (cumulative dupes)Mod backpack gridGrid cells
★103 × 39
★214 × 312
★334 × 416
★475 × 420
★5175 × 525

Lerped per-star values for the three endpoints that differ between ★1 and ★5 (lerp factor t = (star − 1) / 4):

StarShieldArmorWeapon damage %
★165310
★2693.2510.625
★3733.511.25
★4773.7511.875
★581412.5

Tank has no per-hull ★2/★3 pin entries; the ★4 entry pins HP 196, speed 81, and ship scale 1.45 (all matching both endpoints, so no effect). The lerp therefore runs straight from ★1 to ★5 with no breakpoints. Star tier never changes the starting weapon (always mortar L1), faction, rarity, hitbox, drive feel, ship scale, weapon-slot count, HP, speed, acceleration, drag, turn rate, or fire rate % — only the three lerped numerics above and the mod backpack grid size.


EXTRACT-CANDIDATE flags

  • back_loaded drag curve is rare. Tank is one of only two current-roster hulls using back_loaded drag (the other being Solaris Cargo). Every other Junkrats hull either uses exponential (Skewer / Stinger / Pierre) or inherits the BASELINE exponential default. The drag-curve docstring describes back_loaded as “heavy cargo ship” feel — worth a physics.md or ships.md roll-up table mapping which hulls use which curve, since the feel difference is load-bearing for player intuition and only two of 44 hulls use this variant.
  • HP unchanged from ★1 to ★5. Tank is the first per-entity page where HP does not change across star tiers (196 at both endpoints). Every other Junkrats hull documented so far (Bomber 165→206, Pierre 200→250) lerps HP up with stars. Worth flagging on ships.md that the star delta pattern is not uniform — some hulls scale shield + damage instead of HP + shield + damage. This may be intentional design (Tank gets armor up instead, going 3→4) or oversight; design decision needed.
  • Armor lerp produces non-integer values. Armor lerps 3 → 4 across stars, yielding 3.25 / 3.5 / 3.75 at ★2/★3/★4. Need to check whether damageReduction is treated as an integer subtraction or a float at the consumer site — if float, this is fine; if it gets Math.floor-ed somewhere, ★2/★3 are equivalent to ★1 and ★4 is equivalent to ★3. Worth a quick combat-pipeline audit on physics.md or a dedicated armor-handling section on ships.md.
  • Tank S5 explicitly re-asserts fireRatePct: 5. Unlike Bomber and Pierre (where the ★5 override sets fireRatePct: 6.3, producing a lerp), Tank’s ★5 override pins fireRatePct: 5 — identical to ★1, no lerp. Whether this is intentional (“common-tier hulls don’t get fire-rate scaling”) or oversight (“forgot to bump it”) is a design decision. Worth cross-referencing the other commons (Stinger, Industria Digbot, Industria Towncar, Solaris Cargo) once their pages exist to see if commons consistently skip the fire-rate bump.
  • ★5 override re-asserts ★1 values for no-change fields. The Tank ★5 entry explicitly re-states weapon slots 2, HP 196, acceleration 130, speed 81, drag 0.34, turn rate 0.14, ship scale 1.45, fire rate 5, heat fields, regen fields, and every meta stat — none of which differ from ★1. The s5Val ?? s1Val lerp default in getShipDef already handles missing fields, so all this redundant data could be pruned mechanically. Same pattern flagged on Bomber, Pierre, and Cargo — strong candidate for an authoring-guide rule and a one-shot cleanup pass.
  • ★4 override block is fully inert. The Junkrats S4 entry for Tank pins HP 196, speed 81, and ship scale 1.45 — every value already matches both ★1 and ★5 endpoints, so the override does literally nothing. This is the third Junkrats hull (Bomber 1.4 inert, Pierre 1.3 inert) and the most aggressive case — three inert fields rather than one. Worth a single cleanup pass deleting all five inert Junkrats ★4 entries (Bomber, Drifter, Skewer, Orca, Pierre, Tank) and any cross-faction equivalents.
  • Faction confusion — faction field vs. hull-key prefix. Tank’s data faction reads solaris because every hull inherits the baseline default. Fourth entity-page confirmation (Cargo, Bomber, Pierre, Tank) of dead config; the cleanup or canonical-page note is increasingly justified.
  • Missing hitbox entry. Junkrats_Tank is in SHIPS_V4_RARITY but absent from HULL_HITBOXES. Bomber flagged this gap for Tank specifically; this page now confirms it firsthand. The fallback octagon is in use. The Bomber-page recommendation (regenerate + roster table on ships.md) still applies.
  • jack_of_all baseline passive. Tank inherits the baseline jack_of_all passive (no per-hull override). Same as Cargo, Bomber, and Pierre — the +3/6/10/15/22% all-stats curve isn’t currently documented on passives.md or ships.md and would benefit from a single canonical block.
  • Hitbox vertex listing. Even though Tank uses the fallback octagon, this page lists all 8 vertices per the wiki rule (numeric tables may duplicate). A centralized “Fallback hitbox geometry” block on physics.md or ships.md would let entity pages reference it instead of re-pasting.