orbit/data/research/mining.json

34 lines
2.0 KiB
JSON

{
"_comment": "MINING — the player's ability to extract. All three techs are BLUEPRINTS (effects: {}): the descriptions are written \"Once built, ...\" because the effect lands on the SHIP-UPGRADE BUILD in data/builds.json — the node's `unlocks.builds` declares it and the build's `requires: [\"mining/<node id>\"]` is the authoritative gate (dev/research-builds.test.mjs keeps both sides in lock-step). improved_arm is Tier 1 (the root); advanced_arm + improved_storage are Tier 2 (they require improved_arm). Node contract is the same as data/research/exploration.json: `requires` = parents that must be RESEARCHED first (the DAG edges — authoritative); `unlocks` = { builds, research } declaration; `effects` = what the scene applies on completion (empty here — the build carries it); `starting` = already researched on a fresh run (none here — everything is researched, never granted). duration is in research.timeUnit (seconds).",
"starting": [],
"nodes": {
"improved_arm": {
"label": "Improved Mining Arm",
"description": "Once built, an Improved Mining Arm can mine asteroids at 50% increased speed.",
"icon": "mining",
"duration": 60,
"requires": [],
"unlocks": { "builds": ["mining-arm-improved"], "research": ["advanced_arm", "improved_storage"] },
"effects": {}
},
"advanced_arm": {
"label": "Advanced Mining Arm",
"description": "Once built, an Advanced Mining Arm is twice as fast as a standard mining arm",
"icon": "mining2",
"duration": 60,
"requires": ["improved_arm"],
"unlocks": { "builds": ["mining-arm-advanced"], "research": [] },
"effects": {}
},
"improved_storage": {
"label": "Improved Mining Storage",
"description": "Once built, your ship will be able to store 100 more minerals (350 total)",
"icon": "storage",
"duration": 60,
"requires": ["improved_arm"],
"unlocks": { "builds": ["mining-storage-improved"], "research": [] },
"effects": {}
}
}
}