Files
SVSimServer/SVSim.Bootstrap/Data/seeds/puzzle-groups.json
gamer147 0da8ebe1c1 refactor(bootstrap): migrate basic puzzles to seed files
Replaces GlobalsImporter's ImportPuzzleGroups/Puzzles/Missions methods (plus the
DeriveTargetPuzzleGroupId regex helper) with a dedicated PuzzleImporter that
reads three flat seed JSONs (puzzle-groups, puzzles, puzzle-missions) produced
by the Python extractor. Groups run before puzzles to satisfy the FK; missions
upsert by sequential id. Wired into Program.cs and SVSimTestFactory after
PaymentItemImporter so existing GlobalsImporterPuzzleTests continue to pass
unchanged via SeedGlobalsAsync. The original prod-capture JSONs are deleted now
that the seeds are authoritative.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 14:16:32 -04:00

306 lines
6.2 KiB
JSON

[
{
"id": 316,
"basic_title_text_id": "Puzzle_QuestSelect_0316",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Expert": "2"
}
},
{
"id": 315,
"basic_title_text_id": "Puzzle_QuestSelect_0315",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 314,
"basic_title_text_id": "Puzzle_QuestSelect_0314",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 313,
"basic_title_text_id": "Puzzle_QuestSelect_0313",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 312,
"basic_title_text_id": "Puzzle_QuestSelect_0312",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 311,
"basic_title_text_id": "Puzzle_QuestSelect_0311",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 310,
"basic_title_text_id": "Puzzle_QuestSelect_0310",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 309,
"basic_title_text_id": "Puzzle_QuestSelect_0309",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 308,
"basic_title_text_id": "Puzzle_QuestSelect_0308",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 307,
"basic_title_text_id": "Puzzle_QuestSelect_0307",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 306,
"basic_title_text_id": "Puzzle_QuestSelect_0306",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 305,
"basic_title_text_id": "Puzzle_QuestSelect_0305",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 304,
"basic_title_text_id": "Puzzle_QuestSelect_0304",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 303,
"basic_title_text_id": "Puzzle_QuestSelect_0303",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 302,
"basic_title_text_id": "Puzzle_QuestSelect_0302",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 301,
"basic_title_text_id": "Puzzle_QuestSelect_0301",
"puzzle_chara_id": 3704,
"chara_id": 3704,
"sort_type": 1,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 9,
"basic_title_text_id": "Puzzle_QuestSelect_0109",
"puzzle_chara_id": 600090,
"chara_id": 600090,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2",
"": "3"
}
},
{
"id": 8,
"basic_title_text_id": "Puzzle_QuestSelect_0108",
"puzzle_chara_id": 600080,
"chara_id": 600080,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2",
"": "3"
}
},
{
"id": 7,
"basic_title_text_id": "Puzzle_QuestSelect_0107",
"puzzle_chara_id": 600070,
"chara_id": 600070,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 6,
"basic_title_text_id": "Puzzle_QuestSelect_0106",
"puzzle_chara_id": 600060,
"chara_id": 600060,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2",
"": "3"
}
},
{
"id": 5,
"basic_title_text_id": "Puzzle_QuestSelect_0105",
"puzzle_chara_id": 3801,
"chara_id": 3801,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 4,
"basic_title_text_id": "Puzzle_QuestSelect_0104",
"puzzle_chara_id": 3603,
"chara_id": 3603,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2",
"": "3"
}
},
{
"id": 3,
"basic_title_text_id": "Puzzle_QuestSelect_0103",
"puzzle_chara_id": 3403,
"chara_id": 3403,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
},
{
"id": 2,
"basic_title_text_id": "Puzzle_QuestSelect_0102",
"puzzle_chara_id": 3208,
"chara_id": 2703,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2",
"": "3"
}
},
{
"id": 1,
"basic_title_text_id": "Puzzle_QuestSelect_0101",
"puzzle_chara_id": 600050,
"chara_id": 600050,
"sort_type": 2,
"difficulty_name_list": {
"Beginner": "0",
"Experienced": "1",
"Expert": "2"
}
}
]