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
| Stat | Value |
|---|---|
| HP | 200 |
| Shield | 200 |
| Armor | 2 |
| Speed | 200 |
| Acceleration | 360 |
| Drag | 0.50 |
| Turn rate | 0.14 |
| Weapon slots | 4 |
| 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.0 |
| Starting weapon | lightning L1 |
★5 endpoints (only fields that differ from ★1)
| Stat | ★1 | ★5 |
|---|---|---|
| HP | 200 | 250 |
| Shield | 200 | 250 |
| Weapon damage % | 10 | 12.5 |
| Acceleration | 360 | 450 |
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
| Field | Value |
|---|---|
| Rotates | false |
| Fixed angle (deg) | 180 |
| Accel curve | linear |
| Drag curve | front_loaded |
| Stop shake intensity | 0 |
| Heat shake intensity | 0 |
| Heat shake threshold | 0.85 |
| Stop spring amount | 0 |
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.
| 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 Crystal sprite scale of 1.0× 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). 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
| Field | Value |
|---|---|
| Faction | solaris (baseline fallback) |
| Hull faction tag | Prism |
| Rarity | legendary |
| Display grade | L |
| Outline color | ffaa00 |
| Accent color | dd8800 |
| Ship class | medium |
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
| 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 four endpoints that differ between ★1 and ★5 (lerp factor t = (star − 1) / 4):
| Star | HP | Shield | Weapon damage % | Acceleration |
|---|---|---|---|---|
| ★1 | 200 | 200 | 10 | 360 |
| ★2 | 212.5 | 212.5 | 10.625 | 382.5 |
| ★3 | 225 | 225 | 11.25 | 405 |
| ★4 | 237.5 | 237.5 | 11.875 | 427.5 |
| ★5 | 250 | 250 | 12.5 | 450 |
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 usedragCurve: 'front_loaded'andfixedAngleDeg: 180, but only Crystal and Ruby setrotates: false— Citrine, Jade, Pearl, and Shard keeprotates: truedespite the 180° fixed angle. Worth a canonical paragraph onships.mdclarifying 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 honorsfixedAngleDegwhenrotates: 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 onships.mdthat 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: 180on rotating Prism hulls. Citrine, Jade, Pearl, Shard all setfixedAngleDeg: 180despiterotates: true. The engine only appliesfixedAngleDegwhenrotates: 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 thatfixedAngleDegis ignored on rotating ships.- Missing hitbox entries.
Prism_Crystalis inSHIPS_V4_RARITYbut absent fromHULL_HITBOXES— and the file contains aPrism_Crystalisentry 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_allbaseline 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 onpassives.mdorships.mdand 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.