28 lines
1.5 KiB
JSON
28 lines
1.5 KiB
JSON
{
|
||
"_art": "texture/frameWidth/frameHeight/frame = the spritesheet (frame 0 = the starter ship, 256×256 frames; the ship is drawn centered in its frame and rotates about that center). artFacing = the direction the art points in its frame — the code applies a constant render offset so heading math stays identical. If the sheet is missing, the built-in procedural dart is drawn instead (it faces east). size = hull length in world px (also its collision 'diameter'); scale multiplies it (1 = as designed).",
|
||
"texture": "assets/images/ships-player.png",
|
||
"frameWidth": 256,
|
||
"frameHeight": 256,
|
||
"frame": 0,
|
||
"artFacing": "north",
|
||
"size": 46,
|
||
"color": "#dfe7ff",
|
||
"cockpitColor": "#41c7ff",
|
||
"scale": 1,
|
||
"thrust": 900,
|
||
"maxSpeed": 480,
|
||
"drag": 2.4,
|
||
"rotSpeed": 10,
|
||
"brakeDistance": 260,
|
||
"arriveRadius": 8,
|
||
"arriveSpeed": 50,
|
||
"stats": {
|
||
"_comment": "Base stats — the ship's starting condition, before any upgrades (builds/research layer deltas on top). hullIntegrity = the hull's max health (damage it can take); shields = damage absorbed in front of the hull; cargoHold = goods capacity; mineralStorage = minerals capacity (the hold's max load — the player's current minerals live in ship.minerals, loaded by the mining sequence); miningSpeed = multiplier on mining rate (1 = baseline). Exposed as ship.stats (js/entities/Ship.js); combat/trading/mining systems will read these as capacities.",
|
||
"hullIntegrity": 100,
|
||
"shields": 0,
|
||
"cargoHold": 100,
|
||
"mineralStorage": 250,
|
||
"miningSpeed": 1
|
||
}
|
||
}
|