Bomber (Junkrats)

What it is

An epic-rarity Junkrats heavy hull built around a four-slot weapon mount and a balanced HP/shield pool that exceeds every other Junkrats hull except the legendary Pierre. Pairs the cannon starting weapon with thin baseline armor (2), aggressive acceleration (200), and a 1.4× sprite scale that puts it in the “big silhouette” tier alongside Drifter and Towncar. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages and all damage comes from raw fire-rate and weapon-damage percentage.

★1 stats

StatValue
HP165
Shield175
Armor2
Speed130
Acceleration200
Drag0.40
Turn rate0.14
Weapon slots4
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.4
Starting weaponcannon L1

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

Stat★1★5
HP165206
Shield175219
Weapon damage %1012.5
Fire rate %56.3

All other ★5 fields match ★1 — the per-hull ★5 override re-asserts the ★1 values for armor 2, acceleration 200, speed 130, drag 0.40, turn rate 0.14, weapon slots 4, ship scale 1.4, heat fields, regen fields, and the meta stats. The ★4 override pins ship scale at 1.4, which equals both endpoints and so produces no visible step. No ★2/★3 pins exist, so intermediate stars lerp linearly between the four delta endpoints above; everything else is constant across all five stars.

Drive feel

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

Free-rotating spaceship with linear thrust ramp and an exponential drag profile — when thrust is released, velocity multiplies by a constant factor each frame, producing the characteristic “space drag” coast where the ship bleeds speed quickly off the top end and asymptotically approaches zero. Heavier brake than the Junkrats lights (Stinger / Skewer / Drifter all share 0.40 drag with Bomber, while the lighter Marco runs 0.40 too — Bomber distinguishes itself by combining the exponential brake with the highest acceleration in the faction outside Pierre). Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages.

Hitbox

No custom polygon — the Junkrats_Bomber 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 Bomber sprite scale of 1.4× 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
Rarityepic
Display gradeS
Outline colorcc66ff
Accent coloraa44dd
Ship classmedium

The Bomber’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 epic purple outline baked into the v5 sprite asset.

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 four endpoints that differ between ★1 and ★5 (lerp factor t = (star − 1) / 4):

StarHPShieldWeapon damage %Fire rate %
★1165175105
★2175.2518610.6255.325
★3185.519711.255.65
★4195.7520811.8755.975
★520621912.56.3

Bomber has no per-hull ★2/★3 pin entries; the ★4 entry only pins ship scale at 1.4 (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 cannon L1), faction, rarity, hitbox, drive feel, ship scale, or weapon-slot count — only the four lerped numerics above and the mod backpack grid size.


EXTRACT-CANDIDATE flags

  • Per-hull ★1 stat block format. Same ★1 stat table layout as the Cargo entry — the HP / Shield / Armor / Speed / Accel / Drag / TurnRate / WeapSlots / WeapDmg% / FireRate% / Heat fields / Regen fields / Meta fields / ShipScale / StartWeapon shape is now confirmed across two factions (Solaris common and Junkrats epic). Already flagged on the Cargo page as a candidate for a per-faction roll-up that omits the meta-stat tail; this page reinforces the case.
  • Faction confusion — faction field vs. hull-key prefix. Every hull defaults faction: 'solaris' via BASELINE_STATS and no per-hull override changes it, so the faction field is effectively dead config — the real faction grouping is the prefix on the hull-class key (Junkrats_*, Solaris_*, Prism_*, Ancients_*, Backwater_*, Industria_*). Worth a canonical paragraph on ships.md clarifying this or a cleanup that either populates the field per-faction or deletes it. Same shape as the dead shipClass taxonomy flagged on Cargo.
  • Missing hitbox entries. Junkrats_Bomber is in SHIPS_V4_RARITY (the source of HULL_CLASSES) but absent from HULL_HITBOXES, where the closest entry is Junkrats_Bombadier (likely a legacy rename). Grepping the hitbox file shows the same gap for several other current-roster hulls (e.g. Junkrats_Skewer, Junkrats_Stinger, Junkrats_Tank). All of these silently use the octagon fallback. Worth a one-shot regenerate + a ships.md reference table of “which hulls currently use the octagon fallback.”
  • ★5 override re-asserts ★1 values for no-change fields. The Bomber ★5 entry explicitly re-states armor 2, acceleration 200, speed 130, drag 0.4, turn rate 0.14, weapon slots 4, etc. — none of which differ from ★1. This is the same pattern Cargo flagged. The s5Val ?? s1Val lerp default in getShipDef already handles missing fields, so all this redundant data could be pruned mechanically. Authoring guide for “how to add a new ship” should call this out so future entries don’t re-paste the boilerplate.
  • ★4 pins that match both endpoints. The Junkrats S4 override block pins shipScale: 1.4 for Bomber, Drifter, and Orca (1.2) — but for Bomber the value already matches both endpoints, making the override inert. Same shape for the Junkrats_Pierre and Junkrats_Skewer S4 entries. Likely leftover scaffolding from when per-star scale lerping was being tested; safe to delete.
  • jack_of_all baseline passive. Bomber inherits the baseline jack_of_all passive (no per-hull override). Same as Cargo’s flag — 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 this hull uses the fallback octagon, the page lists all 8 vertices. Per the wiki rule (numeric tables may duplicate), this is allowed; a centralized “Fallback hitbox geometry” block on physics.md or ships.md would let entity pages reference it instead of re-pasting.