Marco (Junkrats)

What it is

An uncommon-rarity Junkrats two-slot hull built around a railgun starting weapon and the largest sprite footprint of any Junkrats ★1 entry (1.5×, larger than Bomber/Drifter/Towncar’s 1.4× and Stinger’s 2.0× being the only larger Junkrats silhouette). Pairs the lightweight Junkrats two-slot stat block — 110 HP, 120 shield, armor 2, 170 acceleration, 130 speed, 0.40 drag — with the exponential drag curve shared by every Junkrats hull outside Tank and Orca. Star scaling is unusual: across ★1 → ★5 the ship physically shrinks from 1.5× scale to 1.0×, while HP, shield, weapon damage %, and fire rate % all climb. 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, fire-rate percentage, and the starting railgun.

Identity

FieldValue
Factionsolaris
Hull faction tagJunkrats
Rarityuncommon
Display gradeB
Outline color50ff78
Accent color38cc58
Ship classmedium
Starting weaponrailgun L1

Marco’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 uncommon green outline baked into the v5 sprite asset. Marco sits in the uncommon tier of the eight-hull Junkrats faction alongside Drifter and Skewer.

Star-1 stats

StatValue
HP110
Shield120
Armor2
Speed130
Acceleration170
Drag0.40
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.5
Starting weaponrailgun L1

Star deltas

Five fields differ between the ★1 and ★5 overrides:

Stat★1★5
HP110138
Shield120150
Weapon damage %1012.5
Fire rate %56.3
Ship scale1.51.0

All other ★5 fields re-assert the ★1 values — armor 2, acceleration 170, speed 130, drag 0.40, turn rate 0.14, weapon slots 2, heat fields, regen fields, and every meta stat. Marco has no per-hull ★2/★3/★4 pin entries (the Junkrats ★4 block contains entries for Bomber, Drifter, Orca, Pierre, Skewer, Stinger, and Tank but not Marco), so intermediate stars lerp linearly between the five delta endpoints above with no breakpoints. Star tier never changes the starting weapon (always railgun L1), faction, rarity, hitbox, drive feel, or weapon-slot count — only the five lerped numerics above and the mod backpack grid size.

Per-star lerp values (lerp factor t = (star − 1) / 4):

StarHPShieldWeapon damage %Fire rate %Ship scale
★11101201051.5
★2117127.510.6255.3251.375
★312413511.255.651.25
★4131142.511.8755.9751.125
★513815012.56.31.0

Star progression XP and grid sizing:

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

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 a linear thrust ramp and an exponential drag profile — release thrust and velocity multiplies by a constant factor per frame, producing the “space drag” coast that bleeds top-end speed quickly and approaches zero asymptotically. Marco’s 0.40 drag matches Bomber, Pierre, Skewer, and Stinger; Drifter is slightly higher at 0.42, Tank lower at 0.34, Orca lowest at 0.28. Acceleration (170) ties Drifter and undercuts Pierre (235), Bomber (200), and Skewer (175), while top speed (130) sits in the middle of the Junkrats pack — slower than Pierre (145) and Skewer (135), faster than Tank (81) and Orca (100), tied with Bomber, Drifter, and Stinger at 130. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages and all damage scaling comes from raw fire-rate and weapon-damage percentage.

Hitbox

Custom 11-vertex polygon traced from the v5 sprite alpha channel by the auto-generator (convex hull from boundary pixels, simplified via Visvalingam-Whyatt, then shrunk 5% and rotated −90° CW from sprite-south to engine-right convention). Normalized against the sprite content bounding box.

PropertyValue
SourceHULL_HITBOXES (sprite-traced)
Vertex count11
X range−0.95 to 0.95
Y range−0.603 to 0.603

Polygon vertices (x, y) in source order:

#XY
1−0.5910.603
2−0.9500.501
3−0.950−0.218
4−0.899−0.501
5−0.591−0.603
6−0.462−0.603
7−0.359−0.578
80.924−0.013
90.9500.013
10−0.3340.578
11−0.4110.603

Shape is a forward-pointed wedge — the X axis spans the full normalized range (−0.95 to 0.95) while the Y axis is compressed (−0.603 to 0.603), and vertices 8 and 9 form a narrow nose at the +X end while the rear (vertices 2–4) takes up the full −0.95 X edge. The ship scale (1.5× at ★1, lerping down to 1.0× at ★5) is applied on top of the normalized polygon at physics time — so Marco’s hitbox physically shrinks as it stars up.

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 — Marco has no per-hull override, so it inherits Jack of All Trades like every other current-roster hull. Applies a percent buff to all stats at run start, scaling with passive rank.


EXTRACT-CANDIDATE

  • Ship scale lerps DOWN across stars — first observed instance. Marco is the first per-entity page where ship scale visibly changes across stars (1.5× ★1 → 1.0× ★5) rather than being held constant or pinned redundantly at one value. Every other Junkrats hull documented so far (Bomber, Pierre, Tank) holds ship scale fixed across all five stars. The visual implication — your ship physically shrinks as you progress — is unusual enough to be worth a callout on ships.md or physics.md. Combined with the hitbox-scaling note (the normalized polygon is multiplied by ship scale at physics time), this means Marco’s hitbox also shrinks as you star up; whether this is intended (“smaller target as you progress”) or oversight (“forgot to keep scale fixed”) is a design decision. Worth a quick roster sweep for other hulls with non-flat shipScale curves.
  • Marco has no ★4 pin at all. Every other Junkrats hull (Bomber, Drifter, Orca, Pierre, Skewer, Stinger, Tank) appears in the SHIP_STATS_S4 override block — most of them pin ship scale to a value that already matches both endpoints (inert). Marco is the only Junkrats hull NOT in the S4 block. Whether this is intentional (“Marco’s scale is meant to lerp, so no pin”) or oversight (“forgot Marco when the others were scaffolded”) is unclear — but combined with the unique shipScale lerp, the absence may actually be deliberate. Worth a one-shot pattern check against the other six factions to see if any other hulls have intentional shipScale lerps.
  • ★5 override re-asserts ★1 values for no-change fields. Marco’s ★5 entry explicitly re-states weapon slots 2, armor 2, acceleration 170, speed 130, drag 0.40, turn rate 0.14, heat fields, regen fields, and every meta stat — none of which differ from ★1. Same pattern flagged on Bomber, Cargo, Pierre, and Tank — strong candidate for an authoring-guide rule and a one-shot cleanup pass. The s5Val ?? s1Val lerp default in getShipDef already handles missing fields.
  • Faction confusion — faction field vs. hull-key prefix. Marco’s data faction reads solaris because every hull inherits the baseline default. Fifth entity-page confirmation (Cargo, Bomber, Pierre, Tank, Marco) of dead config; cleanup or canonical-page note is increasingly justified.
  • jack_of_all baseline passive on an uncommon hull. Marco inherits the baseline jack_of_all passive (no per-hull override). Same as every other documented hull — 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. The pattern across rarity tiers (common → legendary) all inheriting the same passive is itself worth flagging as a design decision point.
  • First ship-traced Junkrats hitbox documented. Marco is the first Junkrats hull entity-page that uses a real sprite-traced polygon rather than the octagon fallback (Bomber and Tank both fall back to the 8-vertex octagon). The 11-vertex Marco polygon proves the auto-generator does cover at least some Junkrats hulls — a roster sweep would confirm which Junkrats hulls have entries (Drifter? Orca? Pierre? Skewer? Stinger?) and which fall back. Worth a single ships.md reference table mapping hull → hitbox source.
  • Hitbox shrinks with stars (consequence of shipScale lerp). Because shipScale is applied multiplicatively on top of the normalized polygon at physics time, Marco’s hitbox at ★5 is two-thirds the linear size of its hitbox at ★1 (1.0 / 1.5 ≈ 0.667). This compounds with the ship sprite shrink and may have non-obvious gameplay consequences (smaller hitbox = harder for enemies to hit; smaller sprite = harder for player to see ship). Worth a design-decision callout on ships.md or physics.md.
  • Starting weapon railgun L1 on a two-slot hull. Marco starts with railgun — a heavy, slow-firing, high-damage weapon that benefits disproportionately from fire-rate scaling. With only two weapon slots and Marco’s ★5 6.3% fire-rate bonus, the railgun-on-Marco loadout may interact in interesting ways with mods. Worth a cross-reference on the railgun weapon page and possibly the weapons.md roll-up.
  • Hitbox vertex listing. Per the wiki rule (numeric tables may duplicate), listing all 11 vertices on the entity page is allowed. A centralized “Hitbox format” explainer on physics.md or ships.md would let entity pages reference the normalization, shrink, and rotation rules instead of re-stating them in prose each time.