- Add My Levels tab to website level selection for viewing private levels - Add profile page for generating/managing editor plugin tokens - Create user_tokens table and RPC functions for token-based auth - Fix cloudLevelService to use maybeSingle() for admin and level queries - Fix getLevelById to try authenticated client first for private levels - Add rotation support to asteroids, base, sun, and planets - Remove deprecated difficultyConfig from level files - Add editor script components for BabylonJS Editor integration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
145 lines
4.2 KiB
JSON
145 lines
4.2 KiB
JSON
{
|
|
"version": "1.0.11",
|
|
"levels": [
|
|
{
|
|
"id": "rookie-training",
|
|
"name": "Rookie Training",
|
|
"description": "Simple level to get the hang of things",
|
|
"version": "1.0",
|
|
"levelPath": "rookie-training.json",
|
|
"difficulty": "recruit",
|
|
"estimatedTime": "3-5 minutes",
|
|
"missionBrief": [
|
|
"Destroy the asteroids",
|
|
"Return to base after they're destroyed to complete the mission",
|
|
"Return to base if you need more fuel, ammo, or hull repairs",
|
|
"Don't get too far from base, if you run out of fuel, you'll be stranded",
|
|
"Don't run into things, it damages your hull"
|
|
],
|
|
"unlockRequirements": [],
|
|
"tags": [
|
|
"tutorial",
|
|
"easy"
|
|
],
|
|
"defaultLocked": false
|
|
},
|
|
{
|
|
"id": "asteroid-mania",
|
|
"name": "Asteroid Mania!!!",
|
|
"description": "Still low stakes, just more asteroids",
|
|
"version": "1.1",
|
|
"levelPath": "asteroid-mania.json",
|
|
"difficulty": "pilot",
|
|
"estimatedTime": "5-8 minutes",
|
|
"missionBrief": [
|
|
"More asteroids and increased difficulty",
|
|
"Manage your fuel and ammunition carefully",
|
|
"Complete the mission and return to base",
|
|
"Watch your hull integrity!",
|
|
"Some of the asteroids are a little more distant"
|
|
],
|
|
"unlockRequirements": [],
|
|
"tags": [
|
|
"medium"
|
|
],
|
|
"defaultLocked": true
|
|
},
|
|
{
|
|
"id": "deep-space-patrol",
|
|
"name": "Deep Space Patrol",
|
|
"description": "Extended patrol mission in dangerous territory",
|
|
"version": "1.0",
|
|
"levelPath": "deep-space-patrol.json",
|
|
"difficulty": "captain",
|
|
"estimatedTime": "8-12 minutes",
|
|
"missionBrief": [
|
|
"Large asteroid field requiring careful navigation",
|
|
"Fuel management is critical at this distance",
|
|
"Return to base for resupply as needed",
|
|
"Asteroids are faster and more dangerous",
|
|
"Plan your route carefully"
|
|
],
|
|
"unlockRequirements": [
|
|
"rescue-mission"
|
|
],
|
|
"tags": [
|
|
"hard"
|
|
],
|
|
"defaultLocked": true
|
|
},
|
|
{
|
|
"id": "enemy-territory",
|
|
"name": "Enemy Territory",
|
|
"description": "Hazardous mission in hostile space",
|
|
"version": "1.0",
|
|
"levelPath": "enemy-territory.json",
|
|
"difficulty": "commander",
|
|
"estimatedTime": "10-15 minutes",
|
|
"missionBrief": [
|
|
"Heavily defended asteroid field",
|
|
"Maximum asteroid count and speed",
|
|
"Expert fuel and ammunition management required",
|
|
"Multiple base trips may be necessary",
|
|
"Test your skills to the limit"
|
|
],
|
|
"unlockRequirements": [
|
|
"deep-space-patrol"
|
|
],
|
|
"tags": [
|
|
"very-hard",
|
|
"combat"
|
|
],
|
|
"defaultLocked": true
|
|
},
|
|
{
|
|
"id": "the-gauntlet",
|
|
"name": "The Gauntlet",
|
|
"description": "Survive the ultimate asteroid gauntlet",
|
|
"version": "1.0",
|
|
"levelPath": "the-gauntlet.json",
|
|
"difficulty": "commander",
|
|
"estimatedTime": "12-18 minutes",
|
|
"missionBrief": [
|
|
"Dense asteroid field with extreme hazards",
|
|
"High-speed rocks from all directions",
|
|
"This is a test of endurance and skill",
|
|
"Only the best pilots succeed",
|
|
"May the stars guide you"
|
|
],
|
|
"unlockRequirements": [
|
|
"enemy-territory"
|
|
],
|
|
"tags": [
|
|
"very-hard",
|
|
"endurance"
|
|
],
|
|
"defaultLocked": true
|
|
},
|
|
{
|
|
"id": "final-challenge",
|
|
"name": "Final Challenge",
|
|
"description": "The ultimate test for master pilots",
|
|
"version": "1.0",
|
|
"levelPath": "final-challenge.json",
|
|
"difficulty": "commander",
|
|
"estimatedTime": "15-20 minutes",
|
|
"missionBrief": [
|
|
"The pinnacle of difficulty",
|
|
"Everything you've learned will be tested",
|
|
"Maximum asteroid count and velocity",
|
|
"Precision flying and resource management essential",
|
|
"Complete this to prove your mastery",
|
|
"Good luck, Commander"
|
|
],
|
|
"unlockRequirements": [
|
|
"the-gauntlet"
|
|
],
|
|
"tags": [
|
|
"extreme",
|
|
"final-boss"
|
|
],
|
|
"defaultLocked": true
|
|
}
|
|
]
|
|
}
|