Crystal (Prism)

What it is

A legendary-rarity Prism hovercraft hull — non-rotating, omnidirectional thrust, locked to face-down (180°) at mission start with a front-loaded drag profile. Carries the highest baseline HP/shield pool in the Prism faction (200/200, matching Pearl and Shard) on a four-weapon-slot mount, the lightning starting weapon, and an aggressive 360 acceleration paired with a 0.50 drag coefficient. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages.

★1 stats

StatValue
HP200
Shield200
Armor2
Speed200
Acceleration360
Drag0.50
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.0
Starting weaponlightning L1

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

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

All other ★5 fields match ★1 (the per-hull ★5 override only delta-pins the four numerics above). No ★2 / ★3 / ★4 pins exist for Crystal, so intermediate stars lerp linearly between the four endpoints; every other stat is constant across all five stars.

Drive feel

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

Hovercraft behavior — the ship does not rotate to face the input direction and stays pinned at 180° (facing down) for the entire run. Thrust applies along the input vector directly (omnidirectional). 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. Heat curve is fully disabled (0 buildup / 0 cooldown), so the overheat-boost loop never engages.

Hitbox

No custom polygon — the Prism_Crystal hull is absent from the auto-generated HULL_HITBOXES table, so physics applies the shared 8-vertex octagon fallback. (The closest entry in the hitbox file, Prism_Crystalis, is a different hull and is not referenced for Crystal at runtime.) 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 Crystal sprite scale of 1.0× 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 — Crystal 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

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

StarHPShieldWeapon damage %Acceleration
★120020010360
★2212.5212.510.625382.5
★322522511.25405
★4237.5237.511.875427.5
★525025012.5450

Crystal has no per-hull ★2 / ★3 / ★4 pin entries, so the lerp runs straight from ★1 to ★5 with no breakpoints. Star tier never changes the starting weapon (always lightning L1), faction, rarity, hitbox, drive feel, hovercraft non-rotation, fixed 180° facing, front-loaded drag curve, ship scale, weapon-slot count, armor, speed, drag, turn rate, or heat curve — only the four lerped numerics above and the mod backpack grid size.


EXTRACT-CANDIDATE flags

  • Hovercraft + front-loaded drag combo. Crystal pairs rotates: false + fixedAngleDeg: 180 + dragCurve: 'front_loaded'. The full Prism faction (Citrine, Crystal, Jade, Pearl, Ruby, Shard) all use dragCurve: 'front_loaded' and fixedAngleDeg: 180, but only Crystal and Ruby set rotates: false — Citrine, Jade, Pearl, and Shard keep rotates: true despite the 180° fixed angle. Worth a canonical paragraph on ships.md clarifying that the Prism faction is “front-loaded drag tribe” and listing which Prism hulls are hovercraft vs free-rotating, since the fixed-angle field is set on rotating Prism hulls but ignored at runtime (the engine only honors fixedAngleDeg when rotates: false).
  • Crystal vs Pearl vs Shard near-duplicate stat blocks. Crystal, Pearl, and Shard share identical ★1 numerics for hp 200, shield 200, armor 2, weapon slots 4, drag 0.50/0.34/0.5 (Pearl deviates), and the same ★5 endpoints hp: 250, shield: 250, weaponDamagePct: 12.5. The only meaningful ★1 deltas are acceleration (Crystal 360, Pearl 471, Shard 360), speed (Crystal 200, Pearl 181, Shard 200), drag (Crystal 0.50, Pearl 0.34, Shard 0.5), turn rate (Crystal 0.14, Pearl 1.0, Shard 0.14), ship scale (Shard 0.9 vs 1.0), rotates (Crystal false, Pearl true, Shard true), and starting weapon (lightning / railgun / shotgun). Worth flagging on ships.md that the Prism legendary tier is a stat-clone trio 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 rotating Prism hulls. Citrine, Jade, Pearl, Shard all set fixedAngleDeg: 180 despite rotates: true. The engine only applies fixedAngleDeg when rotates: false, so this is dead config on those four hulls. Either harmless or evidence of intent-drift; either way, flag for a one-shot cleanup pass or a canonical note that fixedAngleDeg is ignored on rotating ships.
  • Missing hitbox entries. Prism_Crystal is in SHIPS_V4_RARITY but absent from HULL_HITBOXES — and the file contains a Prism_Crystalis entry that is not referenced by any current hull key, suggesting a legacy rename. Same gap exists for Prism_Shard and likely other Prism hulls. All of these silently use the octagon fallback. Same “regenerate hitboxes + table of fallback hulls” candidate flagged on Bomber.
  • ★5 override is a tight 4-field delta. Crystal’s ★5 entry only pins hp, shield, weaponDamagePct, and acceleration — the cleanest per-hull ★5 block in the file, with no redundant re-statement of ★1 fields. Worth contrasting against the Bomber pattern (where ★5 re-states every ★1 value) on the authoring-guide page for “how to add a new ship” — the Crystal shape is the minimal correct form.
  • jack_of_all baseline passive on a legendary hull. Crystal inherits the same baseline passive as every common-tier hull, with no per-hull legendary-specific passive override. Same flag raised on 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. The fact that legendaries don’t get a unique passive ID may be intentional (rarity drives the rank, not the effect) or a gap awaiting per-rarity passive variants.