feat(tutorial): /tutorial/pack_open emits tutorial_step=100, advances viewer state
Stack [HttpPost("/tutorial/pack_open")] alias on PackController.Open. Detect
isTutorialPath via HttpContext.Request.Path; gate the type_detail rejection,
currency switch, open-count tracking, and currency reward_list entries behind
!isTutorialPath so the starter legendary pack (99047/990047, type_detail=5)
bypasses the purchasable-pack code path. After grant, set MissionData.TutorialState=100
and emit tutorial_step=100 in PackOpenResponse — this is the sole END transition,
per live-traffic capture. Add pack 99047 to test-fixture packs.json.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -61,6 +61,46 @@
|
||||
],
|
||||
"banners": []
|
||||
},
|
||||
{
|
||||
"parent_gacha_id": 99047,
|
||||
"base_pack_id": 90001,
|
||||
"gacha_type": 1,
|
||||
"pack_category": 1,
|
||||
"poster_type": 0,
|
||||
"commence_date": "2026-05-01 02:00:00",
|
||||
"complete_date": "2030-12-31 23:59:59",
|
||||
"sleeve_id": 5090001,
|
||||
"special_sleeve_id": 0,
|
||||
"override_draw_effect_pack_id": 90001,
|
||||
"override_ui_effect_pack_id": 90001,
|
||||
"gacha_detail": "A pack contains 8 cards, including at least one legendary card from Throwback Rotation (Altersphere - Colosseum)!",
|
||||
"is_hide": true,
|
||||
"is_new": false,
|
||||
"is_pre_release": false,
|
||||
"open_count_limit": 0,
|
||||
"sales_period_time": null,
|
||||
"gacha_point": null,
|
||||
"child_gachas": [
|
||||
{
|
||||
"gacha_id": 990047,
|
||||
"type_detail": 5,
|
||||
"cost": 1,
|
||||
"card_count": 8,
|
||||
"item_id": 90001,
|
||||
"is_daily_single": false,
|
||||
"override_increase_gacha_point": 0,
|
||||
"purchase_limit_count": 0,
|
||||
"free_gacha_campaign_id": null,
|
||||
"campaign_name": null
|
||||
}
|
||||
],
|
||||
"banners": [
|
||||
{
|
||||
"banner_name": "card_pack_99047_dialog",
|
||||
"dialog_title": "Dia_BuyCard_006_Title"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"parent_gacha_id": 92001,
|
||||
"base_pack_id": 90001,
|
||||
|
||||
Reference in New Issue
Block a user