@@ -79,6 +79,19 @@ async def caravan_dish_sell(self, season_id: int, block_id: int, dish_list: List
7979 req .surplus_dish_list = surplus_dish_list
8080 return await self .request (req )
8181
82+ async def caravan_spots_choice (self , season_id : int , choice : int ):
83+ req = CaravanSpotsChoiceRequest ()
84+ req .season_id = season_id
85+ req .choice = choice
86+ return await self .request (req )
87+
88+ async def caravan_dice_reroll (self , season_id : int , current_count : int , roll_num : int ):
89+ req = CaravanDiceRerollRequest ()
90+ req .season_id = season_id
91+ req .current_count = current_count
92+ req .roll_num = roll_num
93+ return await self .request (req )
94+
8295 async def caravan_dice_roll (self , season_id : int , current_num : int , roll_num : int ):
8396 req = CaravanDiceRollRequest ()
8497 req .season_id = season_id
@@ -135,6 +148,18 @@ async def caravan_gacha_block_exec(self, season_id: int, block_id: int, gacha_ty
135148 req .current_currency_num = current_currency_num
136149 return await self .request (req )
137150
151+ async def caravan_minigame_bs_start (self , season_id : int ):
152+ req = CaravanMinigameCccBsStartRequest ()
153+ req .season_id = season_id
154+ return await self .request (req )
155+
156+ async def caravan_minigame_bs_finish (self , season_id : int , play_id : int , items : Dict [int , int ]):
157+ req = CaravanMinigameCccBsFinishRequest ()
158+ req .season_id = season_id
159+ req .play_id = play_id
160+ req .object_list = [CccFinishItemCountInfo (ccc_object_id = item_id , count = count ) for item_id , count in items .items ()]
161+ return await self .request (req )
162+
138163 async def caravan_minigame_start (self ):
139164 req = CaravanMinigameCccStartRequest ()
140165 return await self .request (req )
@@ -609,6 +634,11 @@ async def read_story(self, story_id: int):
609634 await self .story_check (story_id )
610635 return await self .story_view (story_id )
611636
637+ async def read_xac_story (self , sub_story_id : int ):
638+ req = SubStoryXacReadStoryRequest ()
639+ req .sub_story_id = sub_story_id
640+ await self .request (req )
641+
612642 async def read_asb_story (self , sub_story_id : int ):
613643 req = SubStoryAsbReadStoryRequest ()
614644 req .sub_story_id = sub_story_id
@@ -1202,6 +1232,8 @@ async def unlock_quest_id(self, quest: int):
12021232 async def quest_skip_aware (self , quest : int , times : int , recover : bool = False , is_total : bool = False ):
12031233 name = db .get_quest_name (quest )
12041234 if db .is_hatsune_quest (quest ):
1235+ if not quest in db .quest_to_event :
1236+ raise AbortError (f"任务{ name } 不存在" )
12051237 event = db .quest_to_event [quest ].event_id
12061238 if not quest in self .data .hatsune_quest_dict [event ]:
12071239 raise AbortError (f"任务{ name } 未通关或不存在" )
0 commit comments