Files
metro-puzzle-jp/resources/data/levels/001-flygplatsen.json
claude 915c684dc2
All checks were successful
release / build-release (push) Successful in 1m46s
M8: progression, items, bankarta och sparfil
- internal/progress: katalog (skills.json 12 noder, items.json 25 items)
  med validering; XP/nivåer (150·n(n+1)/2) och skillpoäng; skillträd med
  krav och kostnad; items per plats med buffar, genvägar (JR Pass, kartor,
  powerbank) och färgton; banresultat och upplåsning (huvudbanor i ordning,
  sidospår efter föräldern); 33 %-regeln som test
- internal/save: versionerad JSON med kunskap, plånbok, debuffar,
  progression och pågående bana + seed; atomisk skrivning; migrering;
  ~/.config/metro-puzzle-jp/save.json resp. %AppData%
- sim: RunOptions får Extra/FogRadius/Landmarks/FreeGates/RevealAll/
  InfiniteBattery; luck påverkar trängselzonen; Fog.RevealAll och extra
  landmärken
- game: bankarta i spelbrädesstil ersätter menyn (⟳ återupptar med sparad
  seed), skillträd (T), garderob (I), butik i kiosken (B), XP/nivå/items/
  upplåsningar på resultatet, spelaren tonas av skins; autospar vid banstart,
  efter banan och vid köp; flaggor -save/-nosave
- level: kind/order/parent/rewards/shop; ny sidobana 002b Kabukicho som
  belönar skinnet Kimono; 001 belönar Salaryman-skinnet; butikssortiment
  på 002/003
- tools/shots: demo-sparfil (build/, aldrig den riktiga), bilder av karta,
  skills, garderob och butik; alla körningar med -nosave
- docs/README/wiki uppdaterade

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-24 11:29:30 +02:00

102 lines
2.4 KiB
JSON

{
"id": "001-flygplatsen",
"kind": "main",
"order": 1,
"name": {
"sv": "Flygplatsen",
"en": "The Airport",
"ja": "空港"
},
"difficulty": 1,
"party": 2,
"destination": {
"ja": "新宿",
"romaji": "Shinjuku",
"sv": "Shinjuku",
"en": "Shinjuku"
},
"timeLimitSec": 0,
"fareYen": 200,
"rewards": {
"items": [
"skin_salaryman"
]
},
"grid": [
"####################",
"#S.....#.....i.....#",
"#.###.##.###.#.###.#",
"#...#....#..K#...#.#",
"###.######.#####.#.#",
"#...#....#.....#.#.#",
"#.###.##.#####.#.#.#",
"#W....#T.......#...#",
"#######.#########.##",
"#....GG......i..GG.#",
"#..p.############P.#",
"####################"
],
"trains": [
{
"platform": "P",
"line": {
"ja": "成田エクスプレス",
"romaji": "Narita Ekusupuresu",
"en": "Narita Express"
},
"destination": {
"ja": "新宿",
"romaji": "Shinjuku",
"en": "Shinjuku"
},
"correct": true,
"track": "2",
"schedule": {
"offsetSec": 0,
"intervalSec": 30,
"dwellSec": 12
}
},
{
"platform": "p",
"line": {
"ja": "京成本線",
"romaji": "Keisei Honsen",
"en": "Keisei Main Line"
},
"destination": {
"ja": "京成上野",
"romaji": "Keisei-Ueno",
"en": "Keisei-Ueno"
},
"correct": false,
"track": "1",
"schedule": {
"offsetSec": 8,
"intervalSec": 30,
"dwellSec": 12
}
}
],
"signs": [
{
"x": 13,
"y": 1,
"text": {
"sv": "Till tågen: följ gången neråt. Spår 1 Keisei-linjen till vänster, spår 2 Narita Express till höger.",
"en": "To the trains: follow the corridor down. Track 1 Keisei Line to the left, track 2 Narita Express to the right.",
"ja": "のりば ↓ 1番線 京成線 ← 2番線 成田エクスプレス →"
}
},
{
"x": 13,
"y": 9,
"text": {
"sv": "Spärrar. <- Spår 1: Keisei-linjen mot Keisei-Ueno. -> Spår 2: Narita Express mot Shinjuku.",
"en": "Ticket gates. <- Track 1: Keisei Line for Keisei-Ueno. -> Track 2: Narita Express for Shinjuku.",
"ja": "改札 ← 1番線 京成線 京成上野方面 → 2番線 成田エクスプレス 新宿方面"
}
}
]
}