Shard (Prism)

What it is

A legendary-rarity Prism hovercraft hull — rotating but pinned at face-down (180°) at mission start, four weapon slots, front-loaded drag, with a balanced statline: 200/200 HP/shield, 360 acceleration, 200 top speed, 0.5 drag coefficient, 0.14 turn rate (the Prism-family standard), and a small 0.9× sprite scale. Starts with shotgun. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages. Star progression includes an off-curve ★4 pin that temporarily shrinks the hull to 0.75× before reverting at ★5.

★1 stats

StatValue
HP200
Shield200
Armor2
Speed200
Acceleration360
Drag0.5
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 scale0.9
Starting weaponshotgun L1

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

Stat★1★5
HP200250
Shield200250
Weapon damage %1012.5
Acceleration360450

The ★5 override block re-states many ★1 numerics in addition to the four deltas above (speed 200, drag 0.5, turn rate 0.14, weapon slots 4, armor 2, shipScale 0.9, regen and contact fields), so those are constant across stars by both the lerp endpoints and the explicit pin. Every other stat is constant.

Drive feel

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

Hovercraft-with-rotation behavior — the ship orients to the input direction (rotates: true) but the fixedAngleDeg: 180 field is dead config at runtime because the engine only honors fixed-angle when rotation is disabled. Linear thrust ramp into a front-loaded brake: when thrust is released, the deceleration is strong at first and then eases off, producing an arcade-car coast that bleeds the top end fast and lets the ship glide the last bit of speed before settling. The 0.14 turn rate is the Prism-family standard — slower-feeling rotation than Pearl (1.0) or Citrine (0.64), in the same range as Crystal, Jade, and Ruby. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages.

Hitbox

No custom polygon — the Prism_Shard hull is absent from the auto-generated HULL_HITBOXES table, so physics applies the shared 8-vertex octagon fallback. The fallback 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 Shard sprite scale of 0.9× (or 0.75× at ★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). Resolved at the hull’s rarity tier — Shard is legendary, the top tier on the rarity ladder, so the highest passive-rank scaling applies when rolled. Tier scaling moves with the star roll, not with stars on the same copy.

Faction and rarity

FieldValue
Factionsolaris (baseline fallback)
Hull faction tagPrism
Raritylegendary
Display gradeL
Outline colorffaa00
Accent colordd8800
Ship classmedium

The Faction enum in code is the four-faction set (angel_corp, crystal_casino, solaris, wrongsiders) and Prism hulls have no per-hull faction override, so the baseline solaris faction value is carried through. The Prism label here describes the hull-family prefix used in the sprite filename and rarity table, not a runtime Faction enum value. Rarity color is the legendary orange 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

Per-star resolved values. Lerp factor t = (star − 1) / 4. Exact-star pins win over lerp; otherwise the field lerps between ★1 and ★5 overrides:

StarHPShieldWeapon damage %AccelerationShip scale
★1200200103600.9
★2212.5212.510.625382.50.9
★322522511.254050.9
★4237.5237.511.875427.50.75
★525025012.54500.9

Shard’s ★3 pin (shipScale: 0.9) re-states the ★1 / ★5 value, so it is dead config — the lerp would land at 0.9 without it. Shard’s ★4 pin (shipScale: 0.75) is meaningful: it temporarily shrinks the hull by ~17% at ★4 before snapping back to 0.9 at ★5, producing a one-star “small variant” silhouette with the same statline as adjacent stars. The smaller scale also shrinks the hitbox proportionally, since shipScale multiplies the polygon (or fallback octagon) at runtime.

Star tier never changes the starting weapon (always shotgun L1), faction, rarity, hitbox (always the octagon fallback), drive feel flags (rotates, fixedAngleDeg, accelCurve, dragCurve), weapon-slot count, armor, speed, drag, turn rate, or heat curve — only the four lerped numerics, the ★4 ship-scale pin, and the mod backpack grid size.


EXTRACT-CANDIDATE flags

  • ★4 ship-scale pin is a designed discontinuity. Shard’s ★4 override sets shipScale: 0.75 while ★1, ★3, and ★5 all use 0.9. This is one of the only per-star pins in the file that affects a visual/physics field (most other off-curve pins are stat numbers like HP or acceleration). Worth a canonical paragraph on ships.md or the progression page on “how per-star pins can shift visuals and hitboxes, not just stats” — Shard is the cleanest example of a scale-based discontinuity. If unintentional, fix by removing the ★4 pin so the field stays flat at 0.9.
  • ★3 pin is dead config. Shard’s ★3 override (shipScale: 0.9) re-states the ★1 / ★5 value, so the lerp would land there with or without the pin. Either it was scaffolding for an experiment that got reverted, or evidence of a stat-tweaking session that never landed. Candidate for cleanup pass — SHIP_STATS_S3.Prism_Shard can be deleted with zero runtime effect.
  • ★5 override re-states ★1 numerics. Shard’s ★5 entry pins not just the four delta fields (hp, shield, weaponDamagePct, acceleration) but also weaponSlots, hpRegen, shieldRegenRate, shieldRegenDelay, armor, speed, drag, turnRate, heatBuildup, heatCooldown, burnoutSeverity, fireRatePct, meleeMult, luck, magnetRange, currencyBonus, ramSpeedBleed, contactSpeedBleed, terrainRestitution, terrainFriction, ramThreshold, ramDamageLo, ramDamageHi, pushRatio, enemySolidity, contactDecel, contactCooldown, shipScale, sprite fields, shake fields, stopSpringAmt, heatCurve. The actual deltas-from-★1 are hp 200→250, shield 200→250, weaponDamagePct 10→12.5, acceleration 360→450. This is the Bomber/Pearl-style “verbose ★5” shape — contrast with Crystal’s minimal 4-field ★5 block. Authoring-guide candidate on how to write a clean ★5 entry.
  • Crystal / Pearl / Shard near-duplicate stat blocks. Shard shares Crystal’s ★1 numerics almost exactly: hp 200, shield 200, armor 2, weapon slots 4, acceleration 360, speed 200, drag 0.5, turn rate 0.14. The only ★1 deltas from Crystal are ship scale (Shard 0.9 vs Crystal 1.0), rotates (Shard true vs Crystal false), and starting weapon (shotgun vs lightning). Crystal and Shard share the same ★5 deltas (hp 250, shield 250, weaponDmg 12.5, acc 450). Worth flagging on ships.md that the Prism legendary tier is a stat-clone trio (Crystal, Pearl, Shard) differentiated mostly by drive feel and starting weapon — either intentional design (template-driven balance pass) or a copy-paste artifact awaiting per-hull tuning.
  • fixedAngleDeg: 180 on a rotating ship. Shard sets rotates: true + fixedAngleDeg: 180. Same dead-config pattern flagged on Citrine, Jade, and Pearl — the engine only honors fixedAngleDeg when rotates: false, so this field is ignored at runtime for Shard. Either harmless or evidence of intent-drift. The fix is either drop the field on rotating Prism hulls or document that it’s a hint to UI / preview code (not runtime physics) — needs a one-line clarification on the data-schema page.
  • Missing hitbox entry. Prism_Shard is in SHIPS_V4_RARITY but absent from HULL_HITBOXES. Same gap exists for Prism_Crystal and likely other Prism hulls. All of these silently use the octagon fallback. Same “regenerate hitboxes + table of fallback hulls” candidate flagged on Crystal and Bomber. The 0.9 / 0.75 ship-scale variation across stars makes Shard a particularly bad case for the octagon fallback, since the coarse octagon scales with the hull and there is no sprite-fit refinement to lean on.
  • jack_of_all baseline passive on a legendary hull. Shard inherits the same baseline passive as every common-tier hull, with no per-hull legendary-specific passive override. Same flag raised on Crystal, Pearl, Bomber, and Glyph. The +3/6/10/15/22% all-stats curve is undocumented on passives.md or ships.md and needs a single canonical block. Whether legendaries should get unique passives is a design decision worth surfacing — currently rarity drives only the passive’s rank, not the passive’s identity.
  • Heat curve fully disabled across the entire Prism faction. Shard’s heatBuildup: 0 and heatCooldown: 0 match Citrine, Crystal, Jade, Pearl, and Ruby — the full Prism faction opts out of the overheat-boost loop. Worth a faction-identity paragraph on ships.md (or a Prism-faction page) describing “Prism ships do not overheat” as a deliberate faction trait, since this is currently buried in per-hull data and never surfaced to players.
  • Shotgun L1 starter is shared with the rifle starter pair. Shard’s startingWeapons: [{ id: 'shotgun', level: 1 }] matches the STARTER_WEAPONS = ['rifle', 'shotgun'] whitelist in challenges.ts, the same group used for prologue tutorials. The Prism legendary trio uses three different starters (Crystal: lightning, Pearl: railgun, Shard: shotgun), none of which match Prism’s other three hulls (Citrine: line, Jade: barrier, Ruby: flame), so the Prism faction as a whole has no shared starter-weapon identity. Worth flagging on ships.md that Prism starters are deliberately varied vs other factions (Industria heavily favors mortar/rifle, Junkrats varied) — could be a Prism faction-identity note.