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
| Stat | Value |
|---|---|
| HP | 196 |
| Shield | 65 |
| Armor | 3 |
| Speed | 81 |
| Acceleration | 130 |
| Drag | 0.34 |
| Turn rate | 0.14 |
| Weapon slots | 2 |
| Upgrade slots | 3 |
| Weapon damage % | 10 |
| Fire rate % | 5 |
| Heat buildup | 0 |
| Heat cooldown | 0 |
| Heat curve | linear |
| Burnout severity | 0.35 |
| Shield regen rate | 6 |
| Shield regen delay | 4 |
| HP regen | 0 |
| Melee mult | 1.0 |
| Luck | 8 |
| Magnet range | 130 |
| Currency bonus | 6 |
| Ship scale | 1.45 |
| Starting weapon | mortar L1 |
★5 endpoints (only fields that differ from ★1)
| Stat | ★1 | ★5 |
|---|---|---|
| Shield | 65 | 81 |
| Armor | 3 | 4 |
| Weapon damage % | 10 | 12.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
| Field | Value |
|---|---|
| Rotates | true |
| Fixed angle (deg) | 0 |
| Accel curve | linear |
| Drag curve | back_loaded |
| Stop shake intensity | 0 |
| Heat shake intensity | 0 |
| Heat shake threshold | 0.85 |
| Stop spring amount | 0 |
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).
| Property | Value |
|---|---|
| Source | FALLBACK_HULL_OCTAGON |
| Vertex count | 8 |
| X range | -0.90 to 0.90 |
| Y range | -0.90 to 0.90 |
Fallback octagon vertices (x, y):
| # | X | Y |
|---|---|---|
| 1 | -0.90 | 0.37 |
| 2 | -0.90 | -0.37 |
| 3 | -0.37 | -0.90 |
| 4 | 0.37 | -0.90 |
| 5 | 0.90 | -0.37 |
| 6 | 0.90 | 0.37 |
| 7 | 0.37 | 0.90 |
| 8 | -0.37 | 0.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
| Field | Value |
|---|---|
| Passive ID | jack_of_all |
| Passive name | Jack of All Trades |
| Effect | +{value}% to all stats |
| Stat target | all |
| Is percent | true |
| 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
| Field | Value |
|---|---|
| Faction | solaris |
| Hull faction tag | Junkrats |
| Rarity | common |
| Display grade | C |
| Outline color | ffffff |
| Accent color | #333333 |
| Ship class | medium |
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
| Star | XP required (cumulative dupes) | Mod backpack grid | Grid cells |
|---|---|---|---|
| ★1 | 0 | 3 × 3 | 9 |
| ★2 | 1 | 4 × 3 | 12 |
| ★3 | 3 | 4 × 4 | 16 |
| ★4 | 7 | 5 × 4 | 20 |
| ★5 | 17 | 5 × 5 | 25 |
Lerped per-star values for the three endpoints that differ between ★1 and ★5 (lerp factor t = (star − 1) / 4):
| Star | Shield | Armor | Weapon damage % |
|---|---|---|---|
| ★1 | 65 | 3 | 10 |
| ★2 | 69 | 3.25 | 10.625 |
| ★3 | 73 | 3.5 | 11.25 |
| ★4 | 77 | 3.75 | 11.875 |
| ★5 | 81 | 4 | 12.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_loadeddrag curve is rare. Tank is one of only two current-roster hulls usingback_loadeddrag (the other being Solaris Cargo). Every other Junkrats hull either usesexponential(Skewer / Stinger / Pierre) or inherits the BASELINEexponentialdefault. The drag-curve docstring describesback_loadedas “heavy cargo ship” feel — worth aphysics.mdorships.mdroll-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.mdthat 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
damageReductionis treated as an integer subtraction or a float at the consumer site — if float, this is fine; if it getsMath.floor-ed somewhere, ★2/★3 are equivalent to ★1 and ★4 is equivalent to ★3. Worth a quick combat-pipeline audit onphysics.mdor a dedicated armor-handling section onships.md. - Tank S5 explicitly re-asserts
fireRatePct: 5. Unlike Bomber and Pierre (where the ★5 override setsfireRatePct: 6.3, producing a lerp), Tank’s ★5 override pinsfireRatePct: 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 ?? s1Vallerp default ingetShipDefalready 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 —
factionfield vs. hull-key prefix. Tank’s datafactionreadssolarisbecause 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_Tankis inSHIPS_V4_RARITYbut absent fromHULL_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 onships.md) still applies. jack_of_allbaseline passive. Tank inherits the baselinejack_of_allpassive (no per-hull override). Same as Cargo, Bomber, and Pierre — the +3/6/10/15/22% all-stats curve isn’t currently documented onpassives.mdorships.mdand 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.mdorships.mdwould let entity pages reference it instead of re-pasting.