Batwing (Backwater)
What it is
An uncommon-rarity Backwater hull — rotating chassis, fixed default 0° facing at spawn, 2-weapon-slot loadout starting with the burst weapon. Mid-HP (170) body with a thin shield (60) and a front_loaded heat curve, but no heat buildup or cooldown is dialed in at ★1, so the boost loop is dormant until a mod or designer pin enables it. The hull renders 1.2× sprite scale at every star, making the on-screen footprint visibly larger than the 1.0 baseline.
★1 stats
| Stat | Value |
|---|---|
| HP | 170 |
| Shield | 60 |
| Armor | 4 |
| Speed | 145 |
| Acceleration | 170 |
| Drag | 0.36 |
| Turn rate | 0.14 |
| Weapon slots | 2 |
| Upgrade slots | 3 |
| Weapon damage % | 10 |
| Fire rate % | 5 |
| Heat buildup | 0 |
| Heat cooldown | 0 |
| Heat curve | front_loaded |
| 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.2 |
| Starting weapon | burst L1 |
★5 endpoints (only fields that differ from ★1)
| Stat | ★1 | ★5 |
|---|---|---|
| HP | 170 | 213 |
| Shield | 60 | 75 |
| Armor | 4 | 5 |
| Weapon damage % | 10 | 12.5 |
All other ★5 fields match ★1 — the per-hull ★5 override re-pins every numeric to its ★1 value except for the four deltas above (and sets heatCurve: 'front_loaded' again, which is a no-op since ★1 already pins it).
Drive feel
| Field | Value |
|---|---|
| Rotates | true |
| Fixed angle (deg) | 0 |
| Accel curve | linear |
| Drag curve | exponential |
| Stop shake intensity | 0 |
| Heat shake intensity | 0 |
| Heat shake threshold | 0.85 |
| Stop spring amount | 0 |
Standard rotating-ship behavior — angle lerps toward the input direction, thrust applies along the ship’s facing. fixedAngleDeg: 0 only matters for non-rotating hulls, so Batwing reads it as inert metadata. Acceleration is constant (linear ramp); deceleration follows the exponential space-drag default. No camera shake on hard stop, no heat-shake (and no heat to trigger one, since heatBuildup: 0).
Hitbox
Custom convex polygon (no octagon fallback). Normalized to the sprite content box on a ±0.95 / ±0.95 envelope — close to a square footprint — and applied at the rendered sprite size (scale 1.2).
| Property | Value |
|---|---|
| Vertex count | 18 |
| X range | -0.794 to 0.794 |
| Y range | -0.950 to 0.950 |
Vertices (x, y):
| # | X | Y |
|---|---|---|
| 1 | -0.109 | 0.950 |
| 2 | -0.234 | 0.888 |
| 3 | -0.358 | 0.763 |
| 4 | -0.794 | 0.234 |
| 5 | -0.794 | -0.202 |
| 6 | -0.358 | -0.763 |
| 7 | -0.234 | -0.888 |
| 8 | -0.171 | -0.919 |
| 9 | -0.078 | -0.950 |
| 10 | 0.202 | -0.950 |
| 11 | 0.296 | -0.919 |
| 12 | 0.358 | -0.888 |
| 13 | 0.514 | -0.732 |
| 14 | 0.794 | -0.171 |
| 15 | 0.794 | 0.171 |
| 16 | 0.514 | 0.732 |
| 17 | 0.358 | 0.888 |
| 18 | 0.234 | 0.950 |
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 — Batwing is uncommon, so it applies +6% to all stats at run start. Tier scaling moves with the star roll, not with stars on the same copy.
Faction and rarity
| Field | Value |
|---|---|
| Faction | solaris (baseline fallback) |
| Rarity | uncommon |
| Display grade | B |
| Outline color | 50ff78 |
| Accent color | 38cc58 |
| Ship class | medium |
The Faction type in code is the four-faction set (angel_corp, crystal_casino, solaris, wrongsiders) and Backwater hulls have no per-hull faction override, so the baseline solaris faction value is carried through. The Backwater label here describes the hull-family prefix used in the sprite filename and rarity table, not a runtime Faction enum value.
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 | Armor | Weapon damage % |
|---|---|---|---|---|
| ★1 | 170 | 60 | 4 | 10 |
| ★2 | 180.75 | 63.75 | 4.25 | 10.625 |
| ★3 | 191.5 | 67.5 | 4.5 | 11.25 |
| ★4 | 202.25 | 71.25 | 4.75 | 11.875 |
| ★5 | 213 | 75 | 5 | 12.5 |
Batwing has a single per-hull ★4 pin entry (shipScale: 1.2), but ★1 and ★5 both already declare shipScale: 1.2, so the pin is functionally a no-op — every star renders at 1.2× scale. Star tier never changes the starting weapon (always burst L1), faction, rarity, hitbox, drive feel, rotation, fixed angle, ship scale, weapon-slot count, speed, acceleration, drag, turn rate, or heat curve — only the four lerped numerics above and the mod backpack grid size.
EXTRACT-CANDIDATE flags
- Heat curve declared without heat values. Batwing pins
heatCurve: 'front_loaded'at both ★1 and ★5 but shipsheatBuildup: 0andheatCooldown: 0at every star, so the curve type is read but never engages. Three of the four Backwater hulls do the same thing in reverse — Caiman, Killer Croc, and Lizard all pairfront_loadedwith non-zero buildup/cooldown (12/10), while Batwing alone zeros them. Either an intentional “off-by-default boost loop” the player has to unlock through mods, or an oversight relative to the other Backwater hulls. Worth a designer note onships.mdclarifying the Backwater hull-family heat pattern. - Redundant ★5 re-pinning of ★1 values. Batwing’s ★5 entry restates every baseline-equivalent field (weaponSlots, hpRegen, shieldRegenRate, … through stopSpringAmt and heatCurve) even though
getShipDefonly reads ★5 for fields that lerp away from ★1. The redundant block is harmless but adds ~30 lines of dead override per hull and obscures the four actual deltas. A canonical note onships.mdor a code cleanup task to strip pin-equal-to-baseline fields would shrink the per-hull data by ~80%. - ★4 pin matches both endpoints. The
SHIP_STATS_S4.Backwater_Batwing: { shipScale: 1.2 }pin is a no-op because ★1 and ★5 both already declare 1.2. Same pattern shows up for Industria_Caravan, Industria_Drillbot, Junkrats_Bomber, Junkrats_Drifter, Junkrats_Orca, Junkrats_Pierre, Junkrats_Skewer, Junkrats_Stinger, Solaris_Armada, Solaris_Cargo. Could be flagged on a roster-wide audit page as “redundant ★4 pins” or stripped from data. - Faction label vs Faction enum mismatch. The hull prefix “Backwater_” suggests a Backwater faction, but the Faction enum only has four values (angel_corp, crystal_casino, solaris, wrongsiders) and every Backwater hull inherits the baseline solaris faction. Same issue called out on the Ancients pages — single canonical paragraph on
ships.mdwould resolve it once for all hull families. - Burst starting weapon. Batwing is the only hull in the entire roster (across all 44 hull classes in
SHIPS_V4_RARITY) that starts with theburstweapon. Worth a one-line note onships.mdor the weapons page about which starting weapons map to which hull families. - Square-ish hitbox at ±0.95. Batwing’s hitbox reaches the full ±0.95 envelope on both axes (most rotating hulls are wider than tall or vice-versa, ±0.95 × ±0.4-ish). Combined with the 1.2× scale, the collision footprint is one of the larger ones in the roster despite being an uncommon-tier ship. Worth a sanity-check on
physics.mdagainst the canonical hitbox catalog.