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>
231 lines
6.2 KiB
JSON
231 lines
6.2 KiB
JSON
[
|
|
{
|
|
"id": 1,
|
|
"mission_name": "Clear all Dragoncraft and Portalcraft puzzles puzzles in the Special Round",
|
|
"achieved_message": "Mission achieved",
|
|
"require_number": 2,
|
|
"campaign_commence_time": 1725670800,
|
|
"order_id": 5,
|
|
"reward_type": 4,
|
|
"reward_detail_id": 90001,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": null
|
|
},
|
|
{
|
|
"id": 2,
|
|
"mission_name": "Clear all Forestcraft, Shadowcraft and Bloodcraft puzzles in the Special Round",
|
|
"achieved_message": "Mission achieved",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1722646800,
|
|
"order_id": 4,
|
|
"reward_type": 4,
|
|
"reward_detail_id": 90001,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": null
|
|
},
|
|
{
|
|
"id": 3,
|
|
"mission_name": "Clear all Swordcraft, Runecraft and Havencraft puzzles in the Special Round",
|
|
"achieved_message": "Mission achieved",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1720227600,
|
|
"order_id": 3,
|
|
"reward_type": 4,
|
|
"reward_detail_id": 90001,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": null
|
|
},
|
|
{
|
|
"id": 4,
|
|
"mission_name": "Clear all Special Round puzzles",
|
|
"achieved_message": "Mission achieved",
|
|
"require_number": 8,
|
|
"campaign_commence_time": 1720227600,
|
|
"order_id": 2,
|
|
"reward_type": 7,
|
|
"reward_detail_id": 400004315,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": null
|
|
},
|
|
{
|
|
"id": 5,
|
|
"mission_name": "Clear all Round 15 puzzles",
|
|
"achieved_message": "Cleared all Round 15 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1716598800,
|
|
"order_id": 1,
|
|
"reward_type": 7,
|
|
"reward_detail_id": 400004314,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 315
|
|
},
|
|
{
|
|
"id": 6,
|
|
"mission_name": "Clear all Round 14 puzzles",
|
|
"achieved_message": "Cleared all Round 14 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1711760400,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3065004,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 314
|
|
},
|
|
{
|
|
"id": 7,
|
|
"mission_name": "Clear all Round 13 puzzles",
|
|
"achieved_message": "Cleared all Round 13 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1708736400,
|
|
"order_id": 1,
|
|
"reward_type": 7,
|
|
"reward_detail_id": 400004313,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 313
|
|
},
|
|
{
|
|
"id": 8,
|
|
"mission_name": "Clear all Round 12 puzzles",
|
|
"achieved_message": "Cleared all Round 12 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1703898000,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074009,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 312
|
|
},
|
|
{
|
|
"id": 9,
|
|
"mission_name": "Clear all Round 11 puzzles",
|
|
"achieved_message": "Cleared all Round 11 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1700269200,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074008,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 311
|
|
},
|
|
{
|
|
"id": 10,
|
|
"mission_name": "Clear all Round 10 puzzles",
|
|
"achieved_message": "Cleared all Round 10 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1692406800,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074007,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 310
|
|
},
|
|
{
|
|
"id": 11,
|
|
"mission_name": "Clear all Round 9 puzzles",
|
|
"achieved_message": "Cleared all Round 9 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1688173200,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074006,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 309
|
|
},
|
|
{
|
|
"id": 12,
|
|
"mission_name": "Clear all Round 8 puzzles",
|
|
"achieved_message": "Cleared all Round 8 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1684544400,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074005,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 308
|
|
},
|
|
{
|
|
"id": 13,
|
|
"mission_name": "Clear all Round 7 puzzles",
|
|
"achieved_message": "Cleared all Round 7 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1677286800,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074004,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 307
|
|
},
|
|
{
|
|
"id": 14,
|
|
"mission_name": "Clear all Round 6 puzzles",
|
|
"achieved_message": "Cleared all Round 6 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1672448400,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074003,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 306
|
|
},
|
|
{
|
|
"id": 15,
|
|
"mission_name": "Clear all Round 5 puzzles",
|
|
"achieved_message": "Cleared all Round 5 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1669424400,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074002,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 305
|
|
},
|
|
{
|
|
"id": 16,
|
|
"mission_name": "Clear all Round 4 puzzles",
|
|
"achieved_message": "Cleared all Round 4 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1660959000,
|
|
"order_id": 1,
|
|
"reward_type": 6,
|
|
"reward_detail_id": 3074001,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 304
|
|
},
|
|
{
|
|
"id": 17,
|
|
"mission_name": "Clear all Round 3 puzzles",
|
|
"achieved_message": "Cleared all Round 3 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1656725400,
|
|
"order_id": 1,
|
|
"reward_type": 7,
|
|
"reward_detail_id": 400004105,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 303
|
|
},
|
|
{
|
|
"id": 18,
|
|
"mission_name": "Clear all Round 2 puzzles",
|
|
"achieved_message": "Cleared all Round 2 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1653096600,
|
|
"order_id": 1,
|
|
"reward_type": 7,
|
|
"reward_detail_id": 400004104,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 302
|
|
},
|
|
{
|
|
"id": 19,
|
|
"mission_name": "Clear all Round 1 puzzles",
|
|
"achieved_message": "Cleared all Round 1 puzzles",
|
|
"require_number": 3,
|
|
"campaign_commence_time": 1651282200,
|
|
"order_id": 1,
|
|
"reward_type": 10,
|
|
"reward_detail_id": 3704,
|
|
"reward_number": 1,
|
|
"target_puzzle_group_id": 301
|
|
}
|
|
]
|