From 01f9ec08ab5d587e961aa6a4fef720dd67f9eeb1 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Tue, 11 Oct 2022 19:17:29 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E6=96=87=E4=BB=B6=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../addition/Roguelike2/resource/tasks.json | 735 --- resource/tasks.json | 5402 ++++++++++------- .../Mizuki@Roguelike@Abandon.png} | Bin ... => Mizuki@Roguelike@ChooseDifficulty.png} | Bin .../Mizuki@Roguelike@CloseCollection.png} | Bin ...Mizuki@Roguelike@CloseCollectionClose.png} | Bin ...uki@Roguelike@CloseCollectionContinue.png} | Bin .../Mizuki@Roguelike@CloseEvent.png} | Bin ...oguelike@CommissionedMissionCompleted.png} | Bin .../Mizuki@Roguelike@Continue.png} | Bin .../Mizuki@Roguelike@DataTraceback.png} | Bin .../Mizuki@Roguelike@DiceConfirm.png} | Bin .../Mizuki@Roguelike@EnterAfterRecruit.png} | Bin .../Mizuki@Roguelike@GamePass.png} | Bin .../Mizuki@Roguelike@GamePassSkip1.png} | Bin ...Mizuki@Roguelike@GamePassSkip1Confirm.png} | Bin .../Mizuki@Roguelike@GetDrop1.png} | Bin .../Mizuki@Roguelike@GetDrop2.png} | Bin .../Mizuki@Roguelike@GetDrop3.png} | Bin .../Mizuki@Roguelike@GetDropBox.png} | Bin .../Mizuki@Roguelike@GetDropBoxSelect.png} | Bin .../Mizuki@Roguelike@GetDropCompleted.png} | Bin .../Mizuki@Roguelike@GetDropLeave.png} | Bin .../Mizuki@Roguelike@GetDropRecruit.png} | Bin .../Mizuki@Roguelike@GetDropSelect.png} | Bin .../Mizuki@Roguelike@GetDropSelectReward.png} | Bin ...op.png => Mizuki@Roguelike@InitalDrop.png} | Bin .../Mizuki@Roguelike@LastReward.png} | Bin .../Mizuki@Roguelike@LastReward2.png} | Bin .../Mizuki@Roguelike@LastReward3.png} | Bin .../Mizuki@Roguelike@LastReward4.png} | Bin .../Mizuki@Roguelike@LastRewardRand.png} | Bin .../Mizuki@Roguelike@MapObject.png} | Bin .../Mizuki@Roguelike@MissionFailedFlag.png} | Bin .../Mizuki@Roguelike@MissionFailedFlag2.png} | Bin .../Mizuki@Roguelike@Recruit.png} | Bin .../Mizuki@Roguelike@Recruit1.png} | Bin .../Mizuki@Roguelike@RecruitConfirm.png} | Bin .../Mizuki@Roguelike@StageBoons.png} | Bin .../Mizuki@Roguelike@StageCambatDps.png} | Bin .../Mizuki@Roguelike@StageCambatDpsEnter.png} | Bin .../Mizuki@Roguelike@StageDreadfulFoe-5.png} | Bin ...uki@Roguelike@StageDreadfulFoe-5Enter.png} | Bin .../Mizuki@Roguelike@StageDreadfulFoe.png} | Bin ...izuki@Roguelike@StageDreadfulFoeEnter.png} | Bin .../Mizuki@Roguelike@StageEmergencyDps.png} | Bin ...zuki@Roguelike@StageEmergencyDpsEnter.png} | Bin ...oguelike@StageEmergencyTransportation.png} | Bin .../Mizuki@Roguelike@StageEncounter.png} | Bin .../Mizuki@Roguelike@StageEncounterEnter.png} | Bin .../Mizuki@Roguelike@StageEncounterFree.png} | Bin .../Mizuki@Roguelike@StageEncounterLeave.png} | Bin ...@Roguelike@StageEncounterLeaveConfirm.png} | Bin ...@Roguelike@StageEncounterSpecialClose.png} | Bin ...izuki@Roguelike@StageEncounterUnknown.png} | Bin .../Mizuki@Roguelike@StageGambling.png} | Bin ...@Roguelike@StageRegionalCommissioning.png} | Bin .../Mizuki@Roguelike@StageSafeHouse.png} | Bin .../Mizuki@Roguelike@StageSafeHouseEnter.png} | Bin .../Mizuki@Roguelike@StageTrader.png} | Bin .../Mizuki@Roguelike@StageTraderEnter.png} | Bin .../Mizuki@Roguelike@StageWindAndRain.png} | Bin .../Mizuki@Roguelike@Start.png} | Bin .../Mizuki@Roguelike@Team3.png} | Bin ...m.png => Mizuki@Roguelike@TeamConfirm.png} | Bin .../Mizuki@Roguelike@TodoEnter.png} | Bin ...ndon.png => Phantom@Roguelike@Abandon.png} | Bin .../Phantom@Roguelike@ChooseDifficulty.png | Bin 0 -> 6909 bytes ... => Phantom@Roguelike@CloseCollection.png} | Bin ...nue.png => Phantom@Roguelike@Continue.png} | Bin ...> Phantom@Roguelike@EnterAfterRecruit.png} | Bin ...ass.png => Phantom@Roguelike@GamePass.png} | Bin ...ng => Phantom@Roguelike@GamePassSkip1.png} | Bin ...hantom@Roguelike@GamePassSkip1Confirm.png} | Bin ...op1.png => Phantom@Roguelike@GetDrop1.png} | Bin ...op2.png => Phantom@Roguelike@GetDrop2.png} | Bin ...op3.png => Phantom@Roguelike@GetDrop3.png} | Bin ...=> Phantom@Roguelike@GetDropCompleted.png} | Bin ...png => Phantom@Roguelike@GetDropLeave.png} | Bin ...g => Phantom@Roguelike@GetDropRecruit.png} | Bin ...ng => Phantom@Roguelike@GetDropSelect.png} | Bin ...Phantom@Roguelike@GetDropSelectReward.png} | Bin .../template/Phantom@Roguelike@InitalDrop.png | Bin 0 -> 2974 bytes ...d.png => Phantom@Roguelike@LastReward.png} | Bin ....png => Phantom@Roguelike@LastReward2.png} | Bin ....png => Phantom@Roguelike@LastReward3.png} | Bin ...g => Phantom@Roguelike@LastRewardRand.png} | Bin ...> Phantom@Roguelike@MissionFailedFlag.png} | Bin ... Phantom@Roguelike@MissionFailedFlag2.png} | Bin ...ruit.png => Phantom@Roguelike@Recruit.png} | Bin ...it1.png => Phantom@Roguelike@Recruit1.png} | Bin ...g => Phantom@Roguelike@RecruitConfirm.png} | Bin ...s.png => Phantom@Roguelike@StageBoons.png} | Bin ...g => Phantom@Roguelike@StageCambatDps.png} | Bin ...Phantom@Roguelike@StageCambatDpsEnter.png} | Bin ...=> Phantom@Roguelike@StageDreadfulFoe.png} | Bin ...antom@Roguelike@StageDreadfulFoeEnter.png} | Bin ...> Phantom@Roguelike@StageEmergencyDps.png} | Bin ...ntom@Roguelike@StageEmergencyDpsEnter.png} | Bin ...g => Phantom@Roguelike@StageEncounter.png} | Bin ...Phantom@Roguelike@StageEncounterEnter.png} | Bin ... Phantom@Roguelike@StageEncounterFree.png} | Bin ...Phantom@Roguelike@StageEncounterLeave.png} | Bin ...@Roguelike@StageEncounterLeaveConfirm.png} | Bin ...m@Roguelike@StageEncounterSpecialClose.png | Bin 0 -> 2937 bytes ...antom@Roguelike@StageEncounterUnknown.png} | Bin ...g => Phantom@Roguelike@StageSafeHouse.png} | Bin ...Phantom@Roguelike@StageSafeHouseEnter.png} | Bin ....png => Phantom@Roguelike@StageTrader.png} | Bin ...=> Phantom@Roguelike@StageTraderEnter.png} | Bin ...1Start.png => Phantom@Roguelike@Start.png} | Bin ...1Team3.png => Phantom@Roguelike@Team3.png} | Bin .../Phantom@Roguelike@TeamConfirm.png | Bin 0 -> 19679 bytes ...er.png => Phantom@Roguelike@TodoEnter.png} | Bin resource/template/Roguelike1ShoppingFlag.png | Bin 1643 -> 0 bytes ...nfirm.png => Roguelike@AbandonConfirm.png} | Bin ...rm.png => Roguelike@ChooseOperConfirm.png} | Bin ...ialogSkip.png => Roguelike@DialogSkip.png} | Bin ...rm.png => Roguelike@DialogSkipConfirm.png} | Bin ...1DropsFlag.png => Roguelike@DropsFlag.png} | Bin ...ndon.png => Roguelike@ExitThenAbandon.png} | Bin ...irm.png => Roguelike@FormationConfirm.png} | Bin ...sSkip2.png => Roguelike@GamePassSkip2.png} | Bin ...ng => Roguelike@GamePassTheEndConfirm.png} | Bin ....png => Roguelike@GetDropLeaveConfirm.png} | Bin ...png => Roguelike@MissionCompletedFlag.png} | Bin ...ation.png => Roguelike@QuickFormation.png} | Bin ...de.png => Roguelike@RecruitCloseGuide.png} | Bin ...ke@StageEncounterGiveUpRecruitConfirm.png} | Bin ... => Roguelike@StageTraderInvestCancel.png} | Bin ...=> Roguelike@StageTraderInvestConfirm.png} | Bin ... => Roguelike@StageTraderInvestSystem.png} | Bin ...oguelike@StageTraderInvestSystemEnter.png} | Bin ...oguelike@StageTraderInvestSystemError.png} | Bin ...oguelike@StageTraderInvestSystemLeave.png} | Bin ...ave.png => Roguelike@StageTraderLeave.png} | Bin ... => Roguelike@StageTraderLeaveConfirm.png} | Bin ...rtAction.png => Roguelike@StartAction.png} | Bin ...png => Roguelike@TraderRandomShopping.png} | Bin ...Roguelike@TraderRandomShoppingConfirm.png} | Bin ...Abandon.png => RoguelikeBattleAbandon.png} | Bin ....png => RoguelikeBattleAbandonConfirm.png} | Bin ...Begin.png => RoguelikeBattleExitBegin.png} | Bin ...ionOper.png => RoguelikeFormationOper.png} | Bin ...guelikeQuickFormationClearAndReselect.png} | Bin ...tElite0.png => RoguelikeRecruitElite0.png} | Bin ...tElite1.png => RoguelikeRecruitElite1.png} | Bin ...tElite2.png => RoguelikeRecruitElite2.png} | Bin ...crFlag.png => RoguelikeRecruitOcrFlag.png} | Bin ...ag.png => RoguelikeSkillSelectionFlag.png} | Bin ...ng => RoguelikeSkillSelectionTeamFull.png} | Bin 151 files changed, 3207 insertions(+), 2930 deletions(-) delete mode 100644 resource/addition/Roguelike2/resource/tasks.json rename resource/{addition/Roguelike2/resource/template/Roguelike1Abandon.png => template/Mizuki@Roguelike@Abandon.png} (100%) rename resource/template/{Roguelike1ChooseDifficulty.png => Mizuki@Roguelike@ChooseDifficulty.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1CloseCollection.png => template/Mizuki@Roguelike@CloseCollection.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2CloseCollectionClose.png => template/Mizuki@Roguelike@CloseCollectionClose.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2CloseCollectionContinue.png => template/Mizuki@Roguelike@CloseCollectionContinue.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2CloseEvent.png => template/Mizuki@Roguelike@CloseEvent.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2CommissionedMissionCompleted.png => template/Mizuki@Roguelike@CommissionedMissionCompleted.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1Continue.png => template/Mizuki@Roguelike@Continue.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2DataTraceback.png => template/Mizuki@Roguelike@DataTraceback.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2DiceConfirm.png => template/Mizuki@Roguelike@DiceConfirm.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1EnterAfterRecruit.png => template/Mizuki@Roguelike@EnterAfterRecruit.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GamePass.png => template/Mizuki@Roguelike@GamePass.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GamePassSkip1.png => template/Mizuki@Roguelike@GamePassSkip1.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GamePassSkip1Confirm.png => template/Mizuki@Roguelike@GamePassSkip1Confirm.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDrop1.png => template/Mizuki@Roguelike@GetDrop1.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDrop2.png => template/Mizuki@Roguelike@GetDrop2.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDrop3.png => template/Mizuki@Roguelike@GetDrop3.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2GetDropBox.png => template/Mizuki@Roguelike@GetDropBox.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2GetDropBoxSelect.png => template/Mizuki@Roguelike@GetDropBoxSelect.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDropCompleted.png => template/Mizuki@Roguelike@GetDropCompleted.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDropLeave.png => template/Mizuki@Roguelike@GetDropLeave.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDropRecruit.png => template/Mizuki@Roguelike@GetDropRecruit.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDropSelect.png => template/Mizuki@Roguelike@GetDropSelect.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1GetDropSelectReward.png => template/Mizuki@Roguelike@GetDropSelectReward.png} (100%) rename resource/template/{Roguelike1InitalDrop.png => Mizuki@Roguelike@InitalDrop.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1LastReward.png => template/Mizuki@Roguelike@LastReward.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1LastReward2.png => template/Mizuki@Roguelike@LastReward2.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1LastReward3.png => template/Mizuki@Roguelike@LastReward3.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2LastReward4.png => template/Mizuki@Roguelike@LastReward4.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1LastRewardRand.png => template/Mizuki@Roguelike@LastRewardRand.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2MapObject.png => template/Mizuki@Roguelike@MapObject.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1MissionFailedFlag.png => template/Mizuki@Roguelike@MissionFailedFlag.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1MissionFailedFlag2.png => template/Mizuki@Roguelike@MissionFailedFlag2.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1Recruit.png => template/Mizuki@Roguelike@Recruit.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1Recruit1.png => template/Mizuki@Roguelike@Recruit1.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1RecruitConfirm.png => template/Mizuki@Roguelike@RecruitConfirm.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageBoons.png => template/Mizuki@Roguelike@StageBoons.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageCambatDps.png => template/Mizuki@Roguelike@StageCambatDps.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageCambatDpsEnter.png => template/Mizuki@Roguelike@StageCambatDpsEnter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5.png => template/Mizuki@Roguelike@StageDreadfulFoe-5.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5Enter.png => template/Mizuki@Roguelike@StageDreadfulFoe-5Enter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoe.png => template/Mizuki@Roguelike@StageDreadfulFoe.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoeEnter.png => template/Mizuki@Roguelike@StageDreadfulFoeEnter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEmergencyDps.png => template/Mizuki@Roguelike@StageEmergencyDps.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEmergencyDpsEnter.png => template/Mizuki@Roguelike@StageEmergencyDpsEnter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2StageEmergencyTransportation.png => template/Mizuki@Roguelike@StageEmergencyTransportation.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEncounter.png => template/Mizuki@Roguelike@StageEncounter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEncounterEnter.png => template/Mizuki@Roguelike@StageEncounterEnter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEncounterFree.png => template/Mizuki@Roguelike@StageEncounterFree.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEncounterLeave.png => template/Mizuki@Roguelike@StageEncounterLeave.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEncounterLeaveConfirm.png => template/Mizuki@Roguelike@StageEncounterLeaveConfirm.png} (100%) rename resource/template/{Roguelike1StageEncounterSpecialClose.png => Mizuki@Roguelike@StageEncounterSpecialClose.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageEncounterUnknown.png => template/Mizuki@Roguelike@StageEncounterUnknown.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2StageGambling.png => template/Mizuki@Roguelike@StageGambling.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2StageRegionalCommissioning.png => template/Mizuki@Roguelike@StageRegionalCommissioning.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageSafeHouse.png => template/Mizuki@Roguelike@StageSafeHouse.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageSafeHouseEnter.png => template/Mizuki@Roguelike@StageSafeHouseEnter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageTrader.png => template/Mizuki@Roguelike@StageTrader.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1StageTraderEnter.png => template/Mizuki@Roguelike@StageTraderEnter.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike2StageWindAndRain.png => template/Mizuki@Roguelike@StageWindAndRain.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1Start.png => template/Mizuki@Roguelike@Start.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1Team3.png => template/Mizuki@Roguelike@Team3.png} (100%) rename resource/template/{Roguelike1TeamConfirm.png => Mizuki@Roguelike@TeamConfirm.png} (100%) rename resource/{addition/Roguelike2/resource/template/Roguelike1TodoEnter.png => template/Mizuki@Roguelike@TodoEnter.png} (100%) rename resource/template/{Roguelike1Abandon.png => Phantom@Roguelike@Abandon.png} (100%) create mode 100644 resource/template/Phantom@Roguelike@ChooseDifficulty.png rename resource/template/{Roguelike1CloseCollection.png => Phantom@Roguelike@CloseCollection.png} (100%) rename resource/template/{Roguelike1Continue.png => Phantom@Roguelike@Continue.png} (100%) rename resource/template/{Roguelike1EnterAfterRecruit.png => Phantom@Roguelike@EnterAfterRecruit.png} (100%) rename resource/template/{Roguelike1GamePass.png => Phantom@Roguelike@GamePass.png} (100%) rename resource/template/{Roguelike1GamePassSkip1.png => Phantom@Roguelike@GamePassSkip1.png} (100%) rename resource/template/{Roguelike1GamePassSkip1Confirm.png => Phantom@Roguelike@GamePassSkip1Confirm.png} (100%) rename resource/template/{Roguelike1GetDrop1.png => Phantom@Roguelike@GetDrop1.png} (100%) rename resource/template/{Roguelike1GetDrop2.png => Phantom@Roguelike@GetDrop2.png} (100%) rename resource/template/{Roguelike1GetDrop3.png => Phantom@Roguelike@GetDrop3.png} (100%) rename resource/template/{Roguelike1GetDropCompleted.png => Phantom@Roguelike@GetDropCompleted.png} (100%) rename resource/template/{Roguelike1GetDropLeave.png => Phantom@Roguelike@GetDropLeave.png} (100%) rename resource/template/{Roguelike1GetDropRecruit.png => Phantom@Roguelike@GetDropRecruit.png} (100%) rename resource/template/{Roguelike1GetDropSelect.png => Phantom@Roguelike@GetDropSelect.png} (100%) rename resource/template/{Roguelike1GetDropSelectReward.png => Phantom@Roguelike@GetDropSelectReward.png} (100%) create mode 100644 resource/template/Phantom@Roguelike@InitalDrop.png rename resource/template/{Roguelike1LastReward.png => Phantom@Roguelike@LastReward.png} (100%) rename resource/template/{Roguelike1LastReward2.png => Phantom@Roguelike@LastReward2.png} (100%) rename resource/template/{Roguelike1LastReward3.png => Phantom@Roguelike@LastReward3.png} (100%) rename resource/template/{Roguelike1LastRewardRand.png => Phantom@Roguelike@LastRewardRand.png} (100%) rename resource/template/{Roguelike1MissionFailedFlag.png => Phantom@Roguelike@MissionFailedFlag.png} (100%) rename resource/template/{Roguelike1MissionFailedFlag2.png => Phantom@Roguelike@MissionFailedFlag2.png} (100%) rename resource/template/{Roguelike1Recruit.png => Phantom@Roguelike@Recruit.png} (100%) rename resource/template/{Roguelike1Recruit1.png => Phantom@Roguelike@Recruit1.png} (100%) rename resource/template/{Roguelike1RecruitConfirm.png => Phantom@Roguelike@RecruitConfirm.png} (100%) rename resource/template/{Roguelike1StageBoons.png => Phantom@Roguelike@StageBoons.png} (100%) rename resource/template/{Roguelike1StageCambatDps.png => Phantom@Roguelike@StageCambatDps.png} (100%) rename resource/template/{Roguelike1StageCambatDpsEnter.png => Phantom@Roguelike@StageCambatDpsEnter.png} (100%) rename resource/template/{Roguelike1StageDreadfulFoe.png => Phantom@Roguelike@StageDreadfulFoe.png} (100%) rename resource/template/{Roguelike1StageDreadfulFoeEnter.png => Phantom@Roguelike@StageDreadfulFoeEnter.png} (100%) rename resource/template/{Roguelike1StageEmergencyDps.png => Phantom@Roguelike@StageEmergencyDps.png} (100%) rename resource/template/{Roguelike1StageEmergencyDpsEnter.png => Phantom@Roguelike@StageEmergencyDpsEnter.png} (100%) rename resource/template/{Roguelike1StageEncounter.png => Phantom@Roguelike@StageEncounter.png} (100%) rename resource/template/{Roguelike1StageEncounterEnter.png => Phantom@Roguelike@StageEncounterEnter.png} (100%) rename resource/template/{Roguelike1StageEncounterFree.png => Phantom@Roguelike@StageEncounterFree.png} (100%) rename resource/template/{Roguelike1StageEncounterLeave.png => Phantom@Roguelike@StageEncounterLeave.png} (100%) rename resource/template/{Roguelike1StageEncounterLeaveConfirm.png => Phantom@Roguelike@StageEncounterLeaveConfirm.png} (100%) create mode 100644 resource/template/Phantom@Roguelike@StageEncounterSpecialClose.png rename resource/template/{Roguelike1StageEncounterUnknown.png => Phantom@Roguelike@StageEncounterUnknown.png} (100%) rename resource/template/{Roguelike1StageSafeHouse.png => Phantom@Roguelike@StageSafeHouse.png} (100%) rename resource/template/{Roguelike1StageSafeHouseEnter.png => Phantom@Roguelike@StageSafeHouseEnter.png} (100%) rename resource/template/{Roguelike1StageTrader.png => Phantom@Roguelike@StageTrader.png} (100%) rename resource/template/{Roguelike1StageTraderEnter.png => Phantom@Roguelike@StageTraderEnter.png} (100%) rename resource/template/{Roguelike1Start.png => Phantom@Roguelike@Start.png} (100%) rename resource/template/{Roguelike1Team3.png => Phantom@Roguelike@Team3.png} (100%) create mode 100644 resource/template/Phantom@Roguelike@TeamConfirm.png rename resource/template/{Roguelike1TodoEnter.png => Phantom@Roguelike@TodoEnter.png} (100%) delete mode 100644 resource/template/Roguelike1ShoppingFlag.png rename resource/template/{Roguelike1AbandonConfirm.png => Roguelike@AbandonConfirm.png} (100%) rename resource/template/{Roguelike1ChooseOperConfirm.png => Roguelike@ChooseOperConfirm.png} (100%) rename resource/template/{Roguelike1DialogSkip.png => Roguelike@DialogSkip.png} (100%) rename resource/template/{Roguelike1DialogSkipConfirm.png => Roguelike@DialogSkipConfirm.png} (100%) rename resource/template/{Roguelike1DropsFlag.png => Roguelike@DropsFlag.png} (100%) rename resource/template/{Roguelike1ExitThenAbandon.png => Roguelike@ExitThenAbandon.png} (100%) rename resource/template/{Roguelike1FormationConfirm.png => Roguelike@FormationConfirm.png} (100%) rename resource/template/{Roguelike1GamePassSkip2.png => Roguelike@GamePassSkip2.png} (100%) rename resource/template/{Roguelike1GamePassTheEndConfirm.png => Roguelike@GamePassTheEndConfirm.png} (100%) rename resource/template/{Roguelike1GetDropLeaveConfirm.png => Roguelike@GetDropLeaveConfirm.png} (100%) rename resource/template/{Roguelike1MissionCompletedFlag.png => Roguelike@MissionCompletedFlag.png} (100%) rename resource/template/{Roguelike1QuickFormation.png => Roguelike@QuickFormation.png} (100%) rename resource/template/{Roguelike1RecruitCloseGuide.png => Roguelike@RecruitCloseGuide.png} (100%) rename resource/template/{Roguelike1StageEncounterGiveUpRecruitConfirm.png => Roguelike@StageEncounterGiveUpRecruitConfirm.png} (100%) rename resource/template/{Roguelike1StageTraderInvestCancel.png => Roguelike@StageTraderInvestCancel.png} (100%) rename resource/template/{Roguelike1StageTraderInvestConfirm.png => Roguelike@StageTraderInvestConfirm.png} (100%) rename resource/template/{Roguelike1StageTraderInvestSystem.png => Roguelike@StageTraderInvestSystem.png} (100%) rename resource/template/{Roguelike1StageTraderInvestSystemEnter.png => Roguelike@StageTraderInvestSystemEnter.png} (100%) rename resource/template/{Roguelike1StageTraderInvestSystemError.png => Roguelike@StageTraderInvestSystemError.png} (100%) rename resource/template/{Roguelike1StageTraderInvestSystemLeave.png => Roguelike@StageTraderInvestSystemLeave.png} (100%) rename resource/template/{Roguelike1StageTraderLeave.png => Roguelike@StageTraderLeave.png} (100%) rename resource/template/{Roguelike1StageTraderLeaveConfirm.png => Roguelike@StageTraderLeaveConfirm.png} (100%) rename resource/template/{Roguelike1StartAction.png => Roguelike@StartAction.png} (100%) rename resource/template/{Roguelike1TraderRandomShopping.png => Roguelike@TraderRandomShopping.png} (100%) rename resource/template/{Roguelike1TraderRandomShoppingConfirm.png => Roguelike@TraderRandomShoppingConfirm.png} (100%) rename resource/template/{Roguelike1BattleAbandon.png => RoguelikeBattleAbandon.png} (100%) rename resource/template/{Roguelike1BattleAbandonConfirm.png => RoguelikeBattleAbandonConfirm.png} (100%) rename resource/template/{Roguelike1BattleExitBegin.png => RoguelikeBattleExitBegin.png} (100%) rename resource/template/{Roguelike1FormationOper.png => RoguelikeFormationOper.png} (100%) rename resource/template/{Roguelike1QuickFormationClearAndReselect.png => RoguelikeQuickFormationClearAndReselect.png} (100%) rename resource/template/{Roguelike1RecruitElite0.png => RoguelikeRecruitElite0.png} (100%) rename resource/template/{Roguelike1RecruitElite1.png => RoguelikeRecruitElite1.png} (100%) rename resource/template/{Roguelike1RecruitElite2.png => RoguelikeRecruitElite2.png} (100%) rename resource/template/{Roguelike1RecruitOcrFlag.png => RoguelikeRecruitOcrFlag.png} (100%) rename resource/template/{Roguelike1SkillSelectionFlag.png => RoguelikeSkillSelectionFlag.png} (100%) rename resource/template/{Roguelike1SkillSelectionTeamFull.png => RoguelikeSkillSelectionTeamFull.png} (100%) diff --git a/resource/addition/Roguelike2/resource/tasks.json b/resource/addition/Roguelike2/resource/tasks.json deleted file mode 100644 index d34ff866c0..0000000000 --- a/resource/addition/Roguelike2/resource/tasks.json +++ /dev/null @@ -1,735 +0,0 @@ -{ - "Roguelike1StageEncounter": { - "Doc": "不期而遇(随机奖励)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.96, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageBoons": { - "Doc": "古堡馈赠(随机奖励)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageCambatDps": { - "Doc": "普通作战", - "action": "ClickSelf", - "cache": false, - "templThreshold": 0.95, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "next": [ - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageEmergencyDps": { - "Doc": "紧急作战", - "action": "ClickSelf", - "cache": false, - "templThreshold": 0.95, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "next": [ - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageRegionalCommissioning": { - "Doc": "地区委托(随机奖励)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageEmergencyTransportation": { - "Doc": "紧急运输,拒绝可以获取3希望", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageWindAndRain": { - "Doc": "风雨际会,拒绝可以获取4生命值", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageGambling": { - "Doc": "骰子关卡", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageDreadfulFoe-5": { - "Doc": "第五层的boss关卡", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.85, - "next": [ - "Roguelike2StageDreadfulFoe-5Enter", - "Roguelike1StageDreadfulFoeEnter", - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageDreadfulFoe-5Enter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1036, - 371, - 223, - 223 - ], - "next": [ - "Roguelike1QuickFormation" - ] - }, - "Roguelike1StageTrader": { - "Doc": "诡意行商(交易所)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageTraderEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageSafeHouse": { - "Doc": "安全的角落", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1StageSafeHouseEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageDreadfulFoe": { - "Doc": "险路恶敌(boss关卡)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "next": [ - "Roguelike1StageDreadfulFoeEnter", - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ], - "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" - }, - "Roguelike2DiceConfirm": { - "Doc": "骰子的确认按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 551, - 577, - 174, - 143 - ], - "templThreshold": 0.95, - "rearDelay": 1000, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike2GetDropBox": { - "Doc": "漂流密匣“打开”按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 471, - 1280, - 157 - ], - "templThreshold": 0.85, - "rearDelay": 1000, - "next": [ - "Roguelike1DropsFlag", - "Roguelike2GetDropBoxSelect", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike2GetDropBoxSelect": { - "Doc": "漂流密匣-锤子砸开“选择”按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 830, - 438, - 276, - 140 - ], - "templThreshold": 0.85, - "rearDelay": 1000, - "next": [ - "Roguelike1DropsFlag", - "Roguelike1ChooseOperFlag", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike2LastReward4": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 174, - 151, - 935, - 533 - ], - "next": [ - "Roguelike1LastRewardConfirm" - ] - }, - "Roguelike2CloseCollectionContinue": { - "action": "ClickSelf", - "templThreshold": 0.9, - "cache": false, - "roi": [ - 549, - 440, - 123, - 130 - ], - "maskRange": [ - 100, - 255 - ], - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1DropsFlag", - "Roguelike2CloseEvent", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike2CloseCollectionClose": { - "action": "ClickSelf", - "cache": false, - "templThreshold": 0.9, - "roi": [ - 572, - 434, - 144, - 141 - ], - "maskRange": [ - 100, - 255 - ], - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1DropsFlag", - "Roguelike2CloseEvent", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike2CloseEvent": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 567, - 584, - 145, - 136 - ], - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1DropsFlag", - "Roguelike2CloseEvent" - ] - }, - "Roguelike2CommissionedMissionCompleted": { - "action": "ClickRect", - "specificRect": [ - 600, - 600, - 50, - 50 - ], - "rearDelay": 1000, - "cache": false, - "roi": [ - 519, - 202, - 282, - 154 - ], - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2DiceConfirmThenAbandon": { - "Doc": "骰子的确认按钮", - "action": "ClickSelf", - "template": "Roguelike2DiceConfirm.png", - "cache": false, - "roi": [ - 551, - 577, - 174, - 143 - ], - "templThreshold": 0.95, - "next": [ - "Roguelike1ExitThenAbandon" - ] - }, - "Roguelike2MapObject": { - "action": "DoNothing", - "cache": false, - "roi": [ - 257, - 488, - 189, - 123 - ], - "next": [ - "Roguelike1RecruitOther" - ] - }, - "Roguelike2NextLevel": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "cache": false, - "text": [ - "天光海岸", - "离岸孤岛", - "波涛略地", - "隐秘温床", - "失尘岩洞", - "幽海丛林", - "绀碧摇篮" - ], - "roi": [ - 522, - 431, - 245, - 144 - ], - "next": [ - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2DataTraceback": { - "action": "DoNothing", - "cache": false, - "roi": [ - 56, - 277, - 243, - 152 - ], - "next": [ - "Roguelike1ClickToStartPoint" - ] - }, - "Roguelike1StageEncounterFree": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1100, - 0, - 180, - 700 - ], - "maskRange": [ - 5, - 255 - ], - "preDelay": 500, - "next": [ - "Roguelike1StageEncounterLeaveConfirm", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterFree", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1StageEncounterLeave": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1100, - 0, - 180, - 700 - ], - "maskRange": [ - 5, - 255 - ], - "preDelay": 500, - "next": [ - "Roguelike1StageEncounterLeaveConfirm", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterLeave", - "Roguelike1ChooseOperFlag" - ] - } -} diff --git a/resource/tasks.json b/resource/tasks.json index 5824ad433b..857295edf6 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4425,53 +4425,6 @@ 300 ] }, - "RoguelikeRecruitSwipeToTheLeftBegin": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 1080, - 200, - 200, - 300 - ], - "preDelay": 300, - "rearDelay": 1000, - "maxTimes": 2, - "Doc": "这里的preDelay作为滑动duration使用,rearDelay作为滑动额外延时使用,maxTimes作为重复次数使用" - }, - "RoguelikeRecruitSwipeToTheLeftEnd": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 400, - 200, - 200, - 300 - ] - }, - "RoguelikeRecruitSlowlySwipeRightRect": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 980, - 200, - 100, - 300 - ], - "preDelay": 1500, - "rearDelay": 300, - "Doc": "这里的preDelay作为滑动duration使用,rearDelay作为滑动额外延时使用" - }, - "RoguelikeRecruitSlowlySwipeLeftRect": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 560, - 200, - 100, - 300 - ] - }, "InfrastOperMoodProgressBar": { "template": "empty.png", "templThreshold_Doc": "这里的templThreshold,作为进度条最小灰度阈值使用", @@ -6514,60 +6467,6 @@ "07e01e78700e6006e007e007e0076006700e1ffe011800700060008001800700" ] }, - "Roguelike1BattleExitBegin": { - "action": "ClickSelf", - "roi": [ - 3, - 0, - 153, - 154 - ], - "maskRange": [ - 100, - 255 - ], - "next": [ - "Roguelike1BattleAbandon", - "Roguelike1BattleExitBegin" - ] - }, - "Roguelike1BattleAbandon": { - "action": "ClickSelf", - "roi": [ - 648, - 229, - 220, - 246 - ], - "next": [ - "Roguelike1BattleAbandonConfirm", - "Roguelike1BattleAbandon" - ] - }, - "Roguelike1BattleAbandonConfirm": { - "action": "ClickSelf", - "roi": [ - 716, - 416, - 259, - 153 - ], - "next": [ - "Roguelike1BattleAbandonConfirm", - "Stop" - ] - }, - "Roguelike1BattleSpeedUp": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 1070, - 20, - 60, - 60 - ], - "preDelay": 3000 - }, "BattleSkillReady": { "roi": [ 0, @@ -6626,2099 +6525,6 @@ 30 ] }, - "Roguelike1@Main": { - "template": "Terminal.png", - "action": "ClickSelf", - "roi": [ - 880, - 100, - 180, - 120 - ], - "next": [ - "Roguelike1@Main", - "Roguelike1@CloseAnno", - "Roguelike1TodoEnter", - "IntegratedStrategies" - ], - "rearDelay": 1000 - }, - "Roguelike1TodoEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 908, - 54, - 372, - 500 - ], - "maskRange": [ - 1, - 255 - ], - "next": [ - "Roguelike1TodoEnter", - "Roguelike1Begin" - ] - }, - "IntegratedStrategies": { - "action": "ClickSelf", - "roi": [ - 963, - 599, - 148, - 121 - ], - "next": [ - "IntegratedStrategies", - "IntegratedStrategiesToRoguelike1" - ] - }, - "IntegratedStrategiesToRoguelike1": { - "algorithm": "OcrDetect", - "action": "ClickSelf", - "text": [ - "进入主题" - ], - "roi": [ - 1006, - 445, - 246, - 157 - ], - "next": [ - "IntegratedStrategiesToRoguelike1", - "Roguelike1Begin" - ] - }, - "Roguelike1@ReturnTo": { - "template": "Return.png", - "templThreshold": 0.7, - "cache": false, - "action": "ClickSelf", - "roi": [ - 0, - 0, - 180, - 80 - ], - "next": [ - "Roguelike1ChooseDifficulty", - "Roguelike1Start", - "Roguelike1ExitThenAbandon", - "Roguelike1Abandon", - "Roguelike1@Main", - "Roguelike1@ReturnTo", - "Roguelike1@ReturnToConfirm", - "Roguelike1@CloseAnno", - "Roguelike1@FromStageSN" - ] - }, - "Roguelike1Begin": { - "algorithm": "JustReturn", - "next": [ - "Roguelike1ChooseDifficulty", - "Roguelike1Start", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike2CloseEvent", - "Roguelike2NextLevel", - "Roguelike1ExitThenAbandon", - "Roguelike1Abandon", - "Roguelike1@TodaysSupplies", - "Roguelike1@Main", - "Roguelike1@CloseAnno", - "Roguelike1TodoEnter", - "Roguelike1Continue", - "Roguelike1@ReturnTo", - "Roguelike1@ReturnToConfirm", - "Roguelike1@OfflineConfirm", - "Roguelike1@StartToWakeUp", - "Roguelike1@StartUpConnectingFlag", - "Roguelike1@FromStageSN" - ] - }, - "Roguelike1Continue": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1032, - 487, - 248, - 215 - ], - "rearDelay": 500, - "next": [ - "Roguelike1MissionFailedFlag2", - "Roguelike1ExitThenAbandon" - ] - }, - "Roguelike1ChooseDifficulty": { - "action": "ClickSelf", - "roi": [ - 1061, - 373, - 208, - 71 - ], - "next": [ - "Roguelike1Start" - ] - }, - "Roguelike1Start": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1026, - 470, - 254, - 248 - ], - "rearDelay": 2000, - "next": [ - "Roguelike1Recruit1", - "Roguelike1InitalDrop", - "Roguelike1Start" - ] - }, - "Roguelike1InitalDrop": { - "Doc": "古堡观光(简单模式)初始会有一个免费道具,点确认。月度小队也有,再多几次", - "action": "ClickSelf", - "roi": [ - 569, - 583, - 141, - 137 - ], - "next": [ - "Roguelike1Recruit1", - "Roguelike1InitalDrop" - ] - }, - "Roguelike1DialogSkip": { - "Doc": "月度小队,跳过对话", - "action": "ClickSelf", - "roi": [ - 1106, - 0, - 174, - 139 - ], - "next": [ - "Roguelike1DialogSkip", - "Roguelike1DialogSkipConfirm" - ] - }, - "Roguelike1DialogSkipConfirm": { - "action": "ClickSelf", - "roi": [ - 725, - 409, - 249, - 169 - ], - "next": [ - "Roguelike1DialogSkip", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1LastReward": { - "Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援——热水壶", - "action": "ClickSelf", - "cache": false, - "roi": [ - 174, - 151, - 935, - 533 - ], - "next": [ - "Roguelike1LastRewardConfirm" - ] - }, - "Roguelike1LastReward2": { - "Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 5 源石锭", - "action": "ClickSelf", - "cache": false, - "roi": [ - 174, - 151, - 935, - 533 - ], - "next": [ - "Roguelike1LastRewardConfirm" - ] - }, - "Roguelike1LastReward3": { - "Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 3 目标生命", - "action": "ClickSelf", - "cache": false, - "roi": [ - 174, - 151, - 935, - 533 - ], - "next": [ - "Roguelike1LastRewardConfirm" - ] - }, - "Roguelike2LastReward4": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike1LastRewardRand": { - "Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 问号", - "action": "ClickSelf", - "cache": false, - "roi": [ - 174, - 151, - 935, - 533 - ], - "next": [ - "Roguelike1LastRewardConfirm" - ] - }, - "Roguelike1LastRewardConfirm": { - "template": "Roguelike1RecruitConfirm.png", - "action": "ClickSelf", - "cache": false, - "roi": [ - 174, - 151, - 935, - 533 - ], - "next": [ - "Roguelike1Team3", - "Roguelike1CloseCollection" - ] - }, - "Roguelike1Custom-HijackSquad": { - "algorithm": "OcrDetect", - "text": [], - "roi": [ - 0, - 383, - 1280, - 142 - ], - "ocrReplace": [] - }, - "Roguelike1Custom-HijackRoles": { - "algorithm": "OcrDetect", - "text": [], - "roi": [ - 54, - 356, - 1172, - 183 - ], - "ocrReplace": [] - }, - "Roguelike1Custom-HijackCoChar": { - "algorithm": "OcrDetect", - "text": [], - "roi": [ - 186, - 298, - 913, - 200 - ], - "ocrReplace": [], - "preDelay": 1000 - }, - "Roguelike1Recruit1": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 153, - 1280, - 532 - ], - "next": [ - "Roguelike1RecruitConfirm" - ] - }, - "Roguelike1RecruitConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 483, - 1280, - 200 - ], - "next": [ - "Roguelike1LastReward", - "Roguelike1LastReward2", - "Roguelike1LastReward3", - "Roguelike2LastReward4", - "Roguelike1LastRewardRand", - "Roguelike1Team3", - "Roguelike1CloseCollection", - "Roguelike1DialogSkip", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike2MapObject" - ] - }, - "Roguelike1CloseCollection": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 569, - 400, - 140, - 139 - ], - "next": [ - "Roguelike1LastReward", - "Roguelike1LastReward2", - "Roguelike1LastReward3", - "Roguelike2LastReward4", - "Roguelike1LastRewardRand", - "Roguelike1Team3" - ] - }, - "Roguelike1Team3": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 601, - 153, - 363, - 529 - ], - "next": [ - "Roguelike1TeamConfirm" - ] - }, - "Roguelike1TeamConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 153, - 1280, - 529 - ], - "next": [ - "Roguelike1RecruitMain" - ] - }, - "Roguelike2MapObject": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike1RecruitMain": { - "action": "ClickSelf", - "template": "Roguelike1Recruit.png", - "templThreshold": 0.6, - "cache": false, - "roi": [ - 190, - 470, - 300, - 154 - ], - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1RecruitCloseGuide" - ], - "rearDelay": 1000 - }, - "Roguelike1RecruitOther": { - "action": "ClickSelf", - "template": "Roguelike1Recruit.png", - "templThreshold": 0.6, - "cache": false, - "roi": [ - 190, - 470, - 900, - 154 - ], - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1RecruitCloseGuide" - ], - "rearDelay": 1000 - }, - "Roguelike1RecruitCloseGuide": { - "action": "ClickSelf", - "roi": [ - 56, - 41, - 194, - 134 - ], - "next": [ - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1ChooseOper": { - "Doc": "本任务注册了插件 RoguelikeRecruitTaskPlugin", - "algorithm": "JustReturn", - "action": "DoNothing", - "next": [ - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1ChooseOperConfirm" - ] - }, - "Roguelike1RecruitSwipeMaxTime": { - "template": "empty.png", - "maxTimes_Doc": "这个参数是肉鸽招募时,向右划动的最大次数", - "maxTimes": 4 - }, - "Roguelike1RecruitOcrFlag": { - "roi": [ - 525, - 110, - 640, - 500 - ], - "templThreshold": 0.9 - }, - "Roguelike1RecruitOcr": { - "algorithm": "OcrDetect", - "text": [], - "fullMatch": true, - "roi": [ - 13, - 26, - 120, - 23 - ], - "specificRect": [ - 100, - 0, - 0, - 0 - ], - "specificRect_Doc": "x拿来当文字灰度二值化下限用" - }, - "Roguelike1RecruitElite0": { - "roi": [ - -170, - -60, - 60, - 50 - ] - }, - "Roguelike1RecruitElite1": { - "roi": [ - -170, - -60, - 60, - 50 - ] - }, - "Roguelike1RecruitElite2": { - "roi": [ - -170, - -60, - 60, - 50 - ] - }, - "Roguelike1RecruitLevel": { - "template": "empty.png", - "roi": [ - -171, - 0, - 15, - 11 - ] - }, - "Roguelike1ChooseOperFlag": { - "template": "Roguelike1ChooseOperConfirm.png", - "action": "DoNothing", - "roi": [ - 1016, - 602, - 264, - 118 - ], - "next": [ - "Roguelike1ChooseOper", - "Roguelike1RecruitCloseGuide" - ] - }, - "Roguelike1ChooseOperConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1016, - 602, - 264, - 118 - ], - "next": [ - "Roguelike1RecruitSkip", - "Roguelike1TraderRandomShopping", - "Roguelike1StageEncounterGiveUpRecruitConfirm", - "Roguelike1ChooseOperConfirm", - "Roguelike1RecruitWithoutButton" - ] - }, - "Roguelike1RecruitSkip": { - "template": "RecruitSkip.png", - "action": "ClickSelf", - "roi": [ - 1100, - 0, - 180, - 150 - ], - "next": [ - "Roguelike1RecruitSkip", - "Roguelike1RecruitOther", - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave", - "Roguelike1DropsFlag", - "Roguelike1ChooseOperFlag", - "Roguelike1RecruitWithoutButton" - ] - }, - "Roguelike1RecruitWithoutButton": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 1180, - 15, - 85, - 60 - ], - "next": [ - "Roguelike1RecruitOther", - "Roguelike1EnterAfterRecruit", - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave", - "Roguelike1DropsFlag", - "Roguelike1ChooseOperFlag", - "Roguelike2DiceConfirm", - "Roguelike1RecruitWithoutButton" - ] - }, - "Roguelike1EnterAfterRecruit": { - "action": "ClickSelf", - "roi": [ - 1078, - 234, - 202, - 239 - ], - "rearDelay": 3000, - "next": [ - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageTrader": { - "Doc": "诡意行商(交易所)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.85, - "next": [ - "Roguelike1StageTraderEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageTraderEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1035, - 374, - 226, - 220 - ], - "rearDelay": 3000, - "next": [ - "Roguelike1StageTraderInvestSystem", - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave" - ] - }, - "Roguelike1TraderRandomShopping": { - "Doc": "该任务注册了 RoguelikeShoppingTaskPlugin,若是点完了仍在当前界面,说明没啥要买的,直接离开商店(next 里的 Roguelike1StageTraderLeave)", - "action": "ClickSelf", - "templThreshold": 0.7, - "cache": false, - "roi": [ - 480, - 240, - 750, - 280 - ], - "rectMove": [ - -40, - -100, - 20, - 60 - ], - "next": [ - "Roguelike1TraderRandomShoppingConfirm", - "Roguelike1TraderRandomShoppingCancel", - "Roguelike1StageTraderLeave", - "Roguelike1StageTraderLeaveConfirm" - ], - "maskRange": [ - 1, - 255 - ] - }, - "Roguelike1TraderShopping": { - "template": "Roguelike1TraderRandomShopping.png", - "templThreshold": 0.7, - "roi": [ - 480, - 240, - 750, - 280 - ], - "maskRange": [ - 1, - 255 - ] - }, - "Roguelike1TraderShoppingOcr": { - "algorithm": "OcrDetect", - "text": [], - "roi": [ - -120, - -160, - 190, - 35 - ], - "ocrReplace": [] - }, - "Roguelike1TraderShoppingOver": { - "template": "Roguelike1StageTraderLeave.png", - "action": "ClickSelf", - "cache": false, - "roi": [ - 1046, - 443, - 234, - 204 - ] - }, - "Roguelike1TraderRandomShoppingConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 872, - 425, - 221, - 136 - ], - "next": [ - "Roguelike1TraderRandomShopping", - "Roguelike1ChooseOperFlag", - "Roguelike1StageTraderLeave" - ] - }, - "Roguelike1TraderRandomShoppingCancel": { - "template": "Roguelike1StageTraderInvestCancel.png", - "action": "ClickSelf", - "cache": false, - "roi": [ - 350, - 350, - 500, - 250 - ], - "next": [ - "Roguelike1StageTraderLeave" - ] - }, - "Roguelike1StageSafeHouse": { - "Doc": "安全的角落", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.85, - "next": [ - "Roguelike1StageSafeHouseEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2StageRegionalCommissioning": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike2StageGambling": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike2DiceConfirm": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike1StageSafeHouseEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1037, - 374, - 221, - 221 - ], - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterClickToLeave" - ] - }, - "Roguelike1StageTraderInvestSystem": { - "templThreshold": 0.75, - "action": "ClickSelf", - "roi": [ - 365, - 51, - 276, - 216 - ], - "exceededNext": [ - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave" - ], - "next": [ - "Roguelike1StageTraderInvestSystemEnter", - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave" - ] - }, - "Roguelike1StageTraderInvestSystemEnter": { - "action": "ClickSelf", - "roi": [ - 417, - 228, - 502, - 247 - ], - "next": [ - "Roguelike1StageTraderInvestSystemError", - "Roguelike1StageTraderInvestConfirm", - "Roguelike1StageTraderInvestCancel" - ] - }, - "Roguelike1StageTraderInvestConfirm": { - "action": "ClickSelf", - "roi": [ - 852, - 422, - 278, - 144 - ], - "rearDelay": 500, - "next": [ - "Roguelike1StageTraderInvestSystemError", - "Roguelike1StageTraderInvestSystemFull", - "Roguelike1StageTraderInvestConfirm", - "Roguelike1StageTraderInvestCancel" - ] - }, - "Roguelike1StageTraderInvestSystemError": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 508, - 204, - 235, - 240 - ], - "next": [ - "Roguelike1StageTraderInvestCancel" - ] - }, - "Roguelike1StageTraderInvestSystemFull": { - "algorithm": "OcrDetect", - "cache": false, - "reduceOtherTimes": [ - "Roguelike1StageTraderInvestConfirm" - ], - "text": [ - "当前储备余额已达上限", - "当前", - "上限" - ], - "roi": [ - 982, - 28, - 298, - 289 - ], - "next": [ - "Roguelike1StageTraderInvestCancel" - ] - }, - "Roguelike1StageTraderInvestCancel": { - "action": "ClickSelf", - "roi": [ - 507, - 418, - 242, - 149 - ], - "exceededNext": [ - "Roguelike1ExitThenAbandon" - ], - "next": [ - "Roguelike1StageTraderInvestSystemLeave" - ] - }, - "Roguelike1StageTraderInvestSystemLeave": { - "action": "ClickSelf", - "roi": [ - 682, - 420, - 245, - 143 - ], - "next": [ - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave" - ] - }, - "Roguelike1StageTraderLeave": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1046, - 443, - 234, - 204 - ], - "next": [ - "Roguelike1StageTraderLeaveConfirm", - "Roguelike1StageTraderLeave" - ] - }, - "Roguelike1ExitThenAbandon": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 0, - 320, - 160 - ], - "next": [ - "Roguelike1ExitThenAbandon", - "Roguelike1Abandon", - "Roguelike2DiceConfirmThenAbandon", - "Roguelike2DataTraceback" - ] - }, - "Roguelike2DataTraceback": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike1Abandon": { - "action": "ClickSelf", - "roi": [ - 1076, - 243, - 177, - 179 - ], - "next": [ - "Roguelike1AbandonConfirm", - "Roguelike1Abandon" - ] - }, - "Roguelike1AbandonConfirm": { - "action": "ClickSelf", - "roi": [ - 720, - 413, - 249, - 168 - ], - "next": [ - "Roguelike1MissionFailedFlag2", - "Roguelike1Start" - ] - }, - "Roguelike1StageTraderLeaveConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 985, - 447, - 295, - 203 - ], - "exceededNext": [ - "Roguelike2DiceConfirmThenAbandon", - "Roguelike1ExitThenAbandon" - ], - "next": [ - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike2DiceConfirmThenAbandon": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike2CloseCollectionContinue": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike2CloseCollectionClose": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike1StageEncounter": { - "Doc": "不期而遇(随机奖励)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.85, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageBoons": { - "Doc": "古堡馈赠(随机奖励)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "templThreshold": 0.85, - "next": [ - "Roguelike1StageEncounterEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ] - }, - "Roguelike1StageEncounterEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1037, - 374, - 221, - 221 - ], - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterClickToLeave" - ] - }, - "Roguelike1StageEncounterFree": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1100, - 0, - 180, - 700 - ], - "preDelay": 500, - "templThreshold": 0.99, - "next": [ - "Roguelike1StageEncounterLeaveConfirm", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterFree", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1StageEncounterLeave": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1100, - 0, - 180, - 700 - ], - "preDelay": 500, - "templThreshold": 0.97, - "next": [ - "Roguelike1StageEncounterLeaveConfirm", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterLeave", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1StageEncounterUnknown": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 950, - 50, - 320, - 580 - ], - "templThreshold": 0.91, - "preDelay": 1500, - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterLeaveConfirm", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown" - ] - }, - "Roguelike1StageEncounterLeaveConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1069, - 0, - 211, - 700 - ], - "rearDelay": 1000, - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterSpecialClose", - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1StageEncounterSpecialClose": { - "Doc": "关掉“大锁”", - "action": "ClickSelf", - "roi": [ - 570, - 400, - 140, - 138 - ], - "next": [ - "Roguelike1StageEncounterSpecialClose", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1StageEncounterGiveUpRecruitConfirm": { - "action": "ClickSelf", - "roi": [ - 613, - 410, - 424, - 171 - ], - "next": [ - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave", - "Roguelike1DropsFlag", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1StageEncounterClickToLeave": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 600, - 600, - 50, - 50 - ], - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterClickToLeave" - ] - }, - "Roguelike1StageCambatDps": { - "Doc": "普通作战", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "next": [ - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ], - "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" - }, - "Roguelike1StageCambatDpsEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1036, - 371, - 223, - 223 - ], - "next": [ - "Roguelike1QuickFormation" - ] - }, - "Roguelike1StageEmergencyDps": { - "Doc": "紧急作战", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "next": [ - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ], - "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" - }, - "Roguelike1StageEmergencyDpsEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1036, - 371, - 223, - 223 - ], - "next": [ - "Roguelike1QuickFormation" - ] - }, - "Roguelike1StageDreadfulFoe": { - "Doc": "险路恶敌(boss关卡)", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 53, - 1280, - 554 - ], - "next": [ - "Roguelike1StageDreadfulFoeEnter", - "Roguelike1StageEmergencyDpsEnter", - "Roguelike1StageCambatDpsEnter", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose" - ], - "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" - }, - "Roguelike2StageDreadfulFoe-5": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike2StageEmergencyTransportation": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike2StageWindAndRain": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike1StageDreadfulFoeEnter": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 1036, - 371, - 223, - 223 - ], - "next": [ - "Roguelike1QuickFormation" - ] - }, - "Roguelike1QuickFormation": { - "Doc": "本任务注册了插件 RoguelikeFormationTaskPlugin", - "action": "ClickSelf", - "roi": [ - 817, - 0, - 402, - 146 - ], - "next": [ - "Roguelike1FormationConfirm" - ], - "rearDelay": 2000 - }, - "Roguelike1QuickFormationDelay": { - "algorithm": "JustReturn", - "action": "DoNothing", - "rearDelay": 100 - }, - "Roguelike1QuickFormationClearAndReselect": { - "action": "ClickSelf", - "roi": [ - 821, - 608, - 139, - 112 - ], - "next": [ - "Roguelike1QuickFormationClearAndReselect-Confirm" - ] - }, - "Roguelike1QuickFormationClearAndReselect-Confirm": { - "template": "Roguelike1FormationConfirm.png", - "action": "ClickSelf", - "roi": [ - 1015, - 601, - 265, - 119 - ], - "next": [ - "Roguelike1QuickFormationClearAndReselect-Formation", - "Roguelike1QuickFormationClearAndReselect-Confirm" - ] - }, - "Roguelike1QuickFormationClearAndReselect-Formation": { - "template": "Roguelike1QuickFormation.png", - "action": "ClickSelf", - "roi": [ - 817, - 0, - 402, - 146 - ], - "next": [ - "Roguelike1QuickFormationClearAndReselect-Formation", - "Stop" - ], - "rearDelay": 2000 - }, - "Roguelike1FormationOper": { - "cache": false, - "roi": [ - 363, - 11, - 891, - 668 - ], - "maskRange": [ - 1, - 255 - ], - "templThreshold": 0.9 - }, - "Roguelike1FormationOperSelected": { - "template": "empty.png", - "templThreshold": 1000, - "templThreshold_Doc": "这个任务中作为符合range的像素点数量阈值", - "maskRange_Doc": "拿来做H通道的范围", - "maskRange": [ - 95, - 105 - ], - "specificRect_Doc": "拿来做S、V通道的范围", - "specificRect": [ - 170, - 210, - 70, - 140 - ] - }, - "Roguelike1FormationConfirm": { - "action": "ClickSelf", - "roi": [ - 1015, - 601, - 265, - 119 - ], - "next": [ - "Roguelike1StartAction" - ] - }, - "Roguelike1SkillSelectionFlag": { - "templThreshold": 0.9, - "maskRange": [ - 1, - 255 - ] - }, - "Roguelike1SkillSelectionName": { - "algorithm": "OcrDetect", - "fullMatch": true, - "text": [], - "roi": [ - 210, - 8, - 120, - 20 - ], - "specificRect": [ - 100, - 0, - 0, - 0 - ], - "specificRect_Doc": "x拿来当文字灰度二值化下限用" - }, - "Roguelike1SkillSelectionMove1": { - "algorithm": "JustReturn", - "rectMove_Doc": "技能1相对flag的坐标", - "rectMove": [ - 180, - -40, - 40, - 30 - ], - "rearDelay": 200 - }, - "Roguelike1SkillSelectionMove2": { - "algorithm": "JustReturn", - "rectMove_Doc": "技能2相对flag的坐标", - "rectMove": [ - 240, - -40, - 30, - 30 - ] - }, - "Roguelike1SkillSelectionMove3": { - "algorithm": "JustReturn", - "rectMove_Doc": "技能3相对flag的坐标", - "rectMove": [ - 300, - -40, - 30, - 30 - ] - }, - "Roguelike1SkillSelectionTeamFull": { - "cache": false, - "roi": [ - 135, - 22, - 1032, - 668 - ], - "maskRange": [ - 200, - 255 - ] - }, - "Roguelike1StartAction": { - "template": "Roguelike1StartAction.png", - "Doc": "本任务注册了插件 RoguelikeSkillSelectionTaskPlugin、RoguelikeBattleTaskPlugin", - "action": "ClickSelf", - "preDelay": 500, - "roi": [ - 905, - 593, - 375, - 127 - ], - "next": [ - "Roguelike1InBattleFlag", - "Roguelike1MissionCompletedFlag", - "Roguelike1MissionFailedFlag", - "Roguelike1MissionFailedFlag2", - "Roguelike1GamePassSkip1", - "Roguelike1GamePassTheEndConfirm", - "Roguelike1GamePass" - ] - }, - "Roguelike2NextLevel": { - "template": "empty.png", - "templThreshold": 2.0 - }, - "Roguelike1GamePassSkip1": { - "action": "ClickSelf", - "roi": [ - 1090, - 0, - 190, - 144 - ], - "next": [ - "Roguelike1GamePassSkip1Confirm" - ] - }, - "Roguelike1GamePassSkip1Confirm": { - "action": "ClickSelf", - "roi": [ - 715, - 282, - 171, - 155 - ], - "next": [ - "Roguelike2DataTraceback", - "Roguelike1GamePassSkip2", - "Roguelike1GamePassTheEndConfirm", - "Roguelike1GamePass" - ] - }, - "Roguelike1GamePassSkip2": { - "action": "ClickSelf", - "roi": [ - 1109, - 0, - 171, - 138 - ], - "next": [ - "Roguelike1GamePassTheEndConfirm", - "Roguelike1GamePass", - "Roguelike1ClickToStartPoint" - ] - }, - "Roguelike1GamePassTheEndConfirm": { - "action": "ClickSelf", - "roi": [ - 554, - 512, - 177, - 161 - ], - "next": [ - "Roguelike1GamePass" - ] - }, - "Roguelike1GamePass": { - "cache": false, - "roi": [ - 400, - 0, - 500, - 300 - ], - "next": [ - "Roguelike1ClickToStartPoint" - ] - }, - "Roguelike1WaitBattleStart": { - "Doc": "点了开始行动之后,可能会网络不好一直loading,用这个任务等一会", - "template": "Roguelike1QuickFormation.png", - "action": "DoNothing", - "roi": [ - 817, - 0, - 402, - 146 - ], - "next": [ - "Roguelike1WaitBattleStart" - ] - }, - "Roguelike1InBattleFlag": { - "template": "BattleOfficiallyBegin.png", - "roi": [ - 1165, - 20, - 65, - 65 - ], - "maskRange": [ - 100, - 255 - ], - "action": "DoNothing", - "rearDelay": 5000, - "next": [ - "Roguelike1InBattleFlag", - "Roguelike1MissionCompletedFlag", - "Roguelike1MissionFailedFlag", - "Roguelike1MissionFailedFlag2" - ] - }, - "Roguelike1MissionCompletedFlag": { - "roi": [ - 0, - 0, - 148, - 143 - ], - "next": [ - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1ClickToDrops": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 600, - 600, - 50, - 50 - ], - "rearDelay": 500, - "next": [ - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterSpecialClose", - "Roguelike1TraderRandomShopping", - "Roguelike1StageTraderLeave", - "Roguelike1DropsFlag", - "Roguelike1@TodaysSupplies", - "Roguelike1@Main", - "Roguelike1@CloseAnno", - "Roguelike1@OfflineConfirm", - "Roguelike1@StartToWakeUp", - "Roguelike1@StartUpConnectingFlag", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1DropsFlag": { - "roi": [ - 875, - 601, - 152, - 119 - ], - "next": [ - "Roguelike1GetDrop1", - "Roguelike1GetDrop2", - "Roguelike1GetDrop3", - "Roguelike1GetDropSelect", - "Roguelike1GetDropRecruit", - "Roguelike2GetDropBox", - "Roguelike1GetDropCompleted", - "Roguelike1GetDropLeave", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1ChooseOperFlag", - "Roguelike1StageEncounterFree", - "Roguelike1StageEncounterLeave", - "Roguelike1StageEncounterUnknown", - "Roguelike1StageEncounterSpecialClose", - "Roguelike1EnterAfterRecruit", - "Roguelike1StageTraderLeave", - "Roguelike2CloseEvent", - "Roguelike1DialogSkip" - ] - }, - "Roguelike2CloseEvent": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike1GetDrop1": { - "Doc": "源石锭,绿色的“拿走”按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 471, - 1280, - 157 - ], - "templThreshold": 0.85, - "rearDelay": 1000, - "next": [ - "Roguelike1DropsFlag", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1GetDrop2": { - "Doc": "希望,黄色的“拿走”按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 471, - 1280, - 157 - ], - "templThreshold": 0.85, - "rearDelay": 1000, - "next": [ - "Roguelike1DropsFlag", - "Roguelike1ChooseOperFlag", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1GetDrop3": { - "Doc": "未知的剧目,黄色的“翻开”按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 471, - 1280, - 157 - ], - "rearDelay": 1000, - "templThreshold": 0.85, - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike2GetDropBox": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike1GetDropRecruit": { - "Doc": "招募券,白色的“招募”按钮", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 471, - 1280, - 157 - ], - "rearDelay": 1000, - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1GetDrop1", - "Roguelike1GetDrop2", - "Roguelike1GetDrop3", - "Roguelike1GetDropSelect", - "Roguelike1GetDropRecruit", - "Roguelike2GetDropBox", - "Roguelike1GetDropCompleted", - "Roguelike1GetDropLeave" - ] - }, - "Roguelike1GetDropSelect": { - "Doc": "“选择”按钮,有可能是招募二选一,也有收藏品二选一", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 471, - 1280, - 157 - ], - "rearDelay": 2000, - "next": [ - "Roguelike1GetDropSelectRecruit", - "Roguelike1GetDropSelectReward", - "Roguelike1ChooseOperFlag", - "Roguelike1GetDropCompleted", - "Roguelike1GetDropSelect" - ] - }, - "Roguelike1GetDropSelectRecruit": { - "template": "Roguelike1GetDropRecruit.png", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 420, - 1280, - 175 - ], - "rearDelay": 1000, - "templThreshold": 0.85, - "next": [ - "Roguelike1ChooseOperFlag", - "Roguelike1GetDropSelectRecruit" - ] - }, - "Roguelike1GetDropSelectReward": { - "cache": false, - "action": "ClickSelf", - "roi": [ - 0, - 420, - 1280, - 175 - ], - "rearDelay": 1000, - "next": [ - "Roguelike1ClickToDrops", - "Roguelike1GetDropSelectReward", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1GetDropCompleted": { - "action": "ClickRect", - "specificRect": [ - 600, - 600, - 50, - 50 - ], - "roi": [ - 488, - 206, - 302, - 289 - ], - "rearDelay": 3000, - "next": [ - "Roguelike1GetDrop1", - "Roguelike1GetDrop2", - "Roguelike1GetDrop3", - "Roguelike1GetDropSelect", - "Roguelike1GetDropRecruit", - "Roguelike2GetDropBox", - "Roguelike1ChooseOperFlag", - "Roguelike1ClickToDrops" - ] - }, - "Roguelike1GetDropLeave": { - "Doc": "不要了,走了(", - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 218, - 1280, - 296 - ], - "next": [ - "Roguelike1GetDropLeaveConfirm", - "Roguelike1DropsFlag", - "Roguelike1ChooseOperFlag" - ] - }, - "Roguelike1GetDropLeaveConfirm": { - "action": "ClickSelf", - "cache": false, - "roi": [ - 0, - 484, - 1280, - 138 - ], - "next": [ - "Roguelike1DropsFlag" - ] - }, - "Roguelike1MissionFailedFlag": { - "roi": [ - 504, - 163, - 480, - 267 - ], - "next": [ - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1ClickToStartPoint" - ] - }, - "Roguelike1MissionFailedFlag2": { - "cache": false, - "roi": [ - 473, - 0, - 351, - 194 - ], - "next": [ - "Roguelike1ClickToStartPoint" - ] - }, - "Roguelike2CommissionedMissionCompleted": { - "template": "empty.png", - "templThreshold": 2.0, - "templThreshold_Doc": "means disabled" - }, - "Roguelike1ClickToStartPoint": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 600, - 600, - 50, - 50 - ], - "rearDelay": 1000, - "next": [ - "Roguelike1Start", - "Roguelike1StageTrader", - "Roguelike1StageSafeHouse", - "Roguelike2StageWindAndRain", - "Roguelike2StageEmergencyTransportation", - "Roguelike1StageEncounter", - "Roguelike1StageBoons", - "Roguelike1StageCambatDps", - "Roguelike1StageEmergencyDps", - "Roguelike1StageDreadfulFoe", - "Roguelike2StageDreadfulFoe-5", - "Roguelike2StageRegionalCommissioning", - "Roguelike2StageGambling", - "Roguelike2CommissionedMissionCompleted", - "Roguelike2DiceConfirm", - "Roguelike2CloseCollectionContinue", - "Roguelike2CloseCollectionClose", - "Roguelike1GamePass", - "Roguelike1@TodaysSupplies", - "Roguelike1@Main", - "Roguelike1@CloseAnno", - "Roguelike1TodoEnter", - "Roguelike1Continue", - "Roguelike1@ReturnTo", - "Roguelike1@ReturnToConfirm", - "Roguelike1@OfflineConfirm", - "Roguelike1@StartToWakeUp", - "Roguelike1@StartUpConnectingFlag", - "Roguelike1ClickToStartPoint" - ] - }, "StageDrops-StageName": { "algorithm": "OcrDetect", "action": "DoNothing", @@ -9052,5 +6858,3211 @@ 254, 138 ] + }, + "RoguelikeRecruitSwipeToTheLeftBegin": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 1080, + 200, + 200, + 300 + ], + "preDelay": 300, + "rearDelay": 1000, + "maxTimes": 2, + "Doc": "这里的preDelay作为滑动duration使用,rearDelay作为滑动额外延时使用,maxTimes作为重复次数使用" + }, + "RoguelikeRecruitSwipeToTheLeftEnd": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 400, + 200, + 200, + 300 + ] + }, + "RoguelikeRecruitSlowlySwipeRightRect": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 980, + 200, + 100, + 300 + ], + "preDelay": 1500, + "rearDelay": 300, + "Doc": "这里的preDelay作为滑动duration使用,rearDelay作为滑动额外延时使用" + }, + "RoguelikeRecruitSlowlySwipeLeftRect": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 560, + 200, + 100, + 300 + ] + }, + "RoguelikeBattleSpeedUp": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 1070, + 20, + 60, + 60 + ], + "preDelay": 3000 + }, + "RoguelikeCustom-HijackSquad": { + "algorithm": "OcrDetect", + "text": [], + "roi": [ + 0, + 383, + 1280, + 142 + ], + "ocrReplace": [] + }, + "RoguelikeCustom-HijackRoles": { + "algorithm": "OcrDetect", + "text": [], + "roi": [ + 54, + 356, + 1172, + 183 + ], + "ocrReplace": [] + }, + "RoguelikeCustom-HijackCoChar": { + "algorithm": "OcrDetect", + "text": [], + "roi": [ + 186, + 298, + 913, + 200 + ], + "ocrReplace": [], + "preDelay": 1000 + }, + "RoguelikeRecruitSwipeMaxTime": { + "template": "empty.png", + "maxTimes_Doc": "这个参数是肉鸽招募时,向右划动的最大次数", + "maxTimes": 4 + }, + "RoguelikeRecruitOcrFlag": { + "roi": [ + 525, + 110, + 640, + 500 + ], + "templThreshold": 0.9 + }, + "RoguelikeRecruitOcr": { + "algorithm": "OcrDetect", + "text": [], + "fullMatch": true, + "roi": [ + 13, + 26, + 120, + 23 + ], + "specificRect_Doc": "x拿来当文字灰度二值化下限用", + "specificRect": [ + 100, + 0, + 0, + 0 + ] + }, + "RoguelikeRecruitElite0": { + "roi": [ + -170, + -60, + 60, + 50 + ] + }, + "RoguelikeRecruitElite1": { + "roi": [ + -170, + -60, + 60, + 50 + ] + }, + "RoguelikeRecruitElite2": { + "roi": [ + -170, + -60, + 60, + 50 + ] + }, + "RoguelikeRecruitLevel": { + "template": "empty.png", + "roi": [ + -171, + 0, + 15, + 11 + ] + }, + "RoguelikeTraderShopping": { + "template": "Roguelike@TraderRandomShopping.png", + "templThreshold": 0.7, + "roi": [ + 480, + 240, + 750, + 280 + ], + "maskRange": [ + 1, + 255 + ] + }, + "RoguelikeTraderShoppingOcr": { + "algorithm": "OcrDetect", + "text": [], + "roi": [ + -120, + -160, + 190, + 35 + ], + "ocrReplace": [] + }, + "RoguelikeTraderShoppingOver": { + "template": "Roguelike@StageTraderLeave.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1046, + 443, + 234, + 204 + ] + }, + "RoguelikeQuickFormationDelay": { + "algorithm": "JustReturn", + "action": "DoNothing", + "rearDelay": 100 + }, + "RoguelikeQuickFormationClearAndReselect": { + "action": "ClickSelf", + "roi": [ + 821, + 608, + 139, + 112 + ], + "next": [ + "RoguelikeQuickFormationClearAndReselect-Confirm" + ] + }, + "RoguelikeQuickFormationClearAndReselect-Confirm": { + "template": "Roguelike@FormationConfirm.png", + "action": "ClickSelf", + "roi": [ + 1015, + 601, + 265, + 119 + ], + "next": [ + "RoguelikeQuickFormationClearAndReselect-Formation", + "RoguelikeQuickFormationClearAndReselect-Confirm" + ] + }, + "RoguelikeQuickFormationClearAndReselect-Formation": { + "template": "Roguelike@QuickFormation.png", + "action": "ClickSelf", + "roi": [ + 817, + 0, + 402, + 146 + ], + "next": [ + "RoguelikeQuickFormationClearAndReselect-Formation", + "Stop" + ], + "rearDelay": 2000 + }, + "RoguelikeFormationOper": { + "cache": false, + "roi": [ + 363, + 11, + 891, + 668 + ], + "maskRange": [ + 1, + 255 + ], + "templThreshold": 0.9 + }, + "RoguelikeFormationOperSelected": { + "template": "empty.png", + "templThreshold": 1000, + "templThreshold_Doc": "这个任务中作为符合range的像素点数量阈值", + "maskRange_Doc": "拿来做H通道的范围", + "maskRange": [ + 95, + 105 + ], + "specificRect_Doc": "拿来做S、V通道的范围", + "specificRect": [ + 170, + 210, + 70, + 140 + ] + }, + "RoguelikeSkillSelectionFlag": { + "templThreshold": 0.9, + "maskRange": [ + 1, + 255 + ] + }, + "RoguelikeSkillSelectionName": { + "algorithm": "OcrDetect", + "fullMatch": true, + "text": [], + "roi": [ + 210, + 8, + 120, + 20 + ], + "specificRect_Doc": "x拿来当文字灰度二值化下限用", + "specificRect": [ + 100, + 0, + 0, + 0 + ] + }, + "RoguelikeSkillSelectionMove1": { + "algorithm": "JustReturn", + "rectMove_Doc": "技能1相对flag的坐标", + "rectMove": [ + 180, + -40, + 40, + 30 + ], + "rearDelay": 200 + }, + "RoguelikeSkillSelectionMove2": { + "algorithm": "JustReturn", + "rectMove_Doc": "技能2相对flag的坐标", + "rectMove": [ + 240, + -40, + 30, + 30 + ] + }, + "RoguelikeSkillSelectionMove3": { + "algorithm": "JustReturn", + "rectMove_Doc": "技能3相对flag的坐标", + "rectMove": [ + 300, + -40, + 30, + 30 + ] + }, + "RoguelikeSkillSelectionTeamFull": { + "cache": false, + "roi": [ + 135, + 22, + 1032, + 668 + ], + "maskRange": [ + 200, + 255 + ] + }, + "RoguelikeWaitBattleStart": { + "Doc": "点了开始行动之后,可能会网络不好一直loading,用这个任务等一会", + "template": "Roguelike@QuickFormation.png", + "action": "DoNothing", + "roi": [ + 817, + 0, + 402, + 146 + ], + "next": [ + "RoguelikeWaitBattleStart" + ] + }, + "Begin": { + "Doc": "Roguelike base task", + "algorithm": "JustReturn" + }, + "FromIntegratedStrategies": { + "algorithm": "OcrDetect", + "action": "ClickSelf", + "text": [ + "进入主题" + ], + "roi": [ + 1006, + 445, + 246, + 157 + ], + "next": [ + "FromIntegratedStrategies", + "Begin" + ] + }, + "IntegratedStrategies": { + "action": "ClickSelf", + "roi": [ + 963, + 599, + 148, + 121 + ], + "next": [ + "IntegratedStrategies", + "FromIntegratedStrategies" + ] + }, + "RoguelikeBattleExitBegin": { + "action": "ClickSelf", + "roi": [ + 3, + 0, + 153, + 154 + ], + "maskRange": [ + 100, + 255 + ], + "next": [ + "RoguelikeBattleAbandon", + "RoguelikeBattleExitBegin" + ] + }, + "RoguelikeBattleAbandon": { + "action": "ClickSelf", + "roi": [ + 648, + 229, + 220, + 246 + ], + "next": [ + "RoguelikeBattleAbandonConfirm", + "RoguelikeBattleAbandon" + ] + }, + "RoguelikeBattleAbandonConfirm": { + "action": "ClickSelf", + "roi": [ + 716, + 416, + 259, + 153 + ], + "next": [ + "RoguelikeBattleAbandonConfirm", + "Stop" + ] + }, + "Roguelike@Main": { + "template": "Terminal.png", + "action": "ClickSelf", + "roi": [ + 880, + 100, + 180, + 120 + ], + "next": [ + "Roguelike@Main", + "Roguelike@CloseAnno", + "Roguelike@TodoEnter", + "Roguelike@IntegratedStrategies" + ], + "rearDelay": 1000 + }, + "Roguelike@TodoEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 908, + 54, + 372, + 500 + ], + "maskRange": [ + 1, + 255 + ], + "next": [ + "Roguelike@TodoEnter", + "Roguelike@Begin" + ] + }, + "Phantom@Roguelike@TodoEnter": {}, + "Roguelike@ReturnTo": { + "template": "Return.png", + "templThreshold": 0.7, + "cache": false, + "action": "ClickSelf", + "roi": [ + 0, + 0, + 180, + 80 + ], + "next": [ + "Roguelike@ChooseDifficulty", + "Roguelike@Start", + "Roguelike@ExitThenAbandon", + "Roguelike@Abandon", + "Roguelike@Main", + "Roguelike@ReturnTo", + "Roguelike@ReturnToConfirm", + "Roguelike@CloseAnno", + "Roguelike@FromStageSN" + ] + }, + "Phantom@Roguelike@Begin": { + "algorithm": "JustReturn", + "next": [ + "Phantom@Roguelike@ChooseDifficulty", + "Phantom@Roguelike@Start", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe", + "Phantom@Roguelike@ExitThenAbandon", + "Phantom@Roguelike@Abandon", + "Phantom@Roguelike@TodaysSupplies", + "Phantom@Roguelike@Main", + "Phantom@Roguelike@CloseAnno", + "Phantom@Roguelike@TodoEnter", + "Phantom@Roguelike@Continue", + "Phantom@Roguelike@ReturnTo", + "Phantom@Roguelike@ReturnToConfirm", + "Phantom@Roguelike@OfflineConfirm", + "Phantom@Roguelike@StartToWakeUp", + "Phantom@Roguelike@StartUpConnectingFlag", + "Phantom@Roguelike@FromStageSN" + ] + }, + "Roguelike@Continue": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1032, + 487, + 248, + 215 + ], + "rearDelay": 500, + "next": [ + "Roguelike@MissionFailedFlag2", + "Roguelike@ExitThenAbandon" + ] + }, + "Phantom@Roguelike@Continue": {}, + "Roguelike@ChooseDifficulty": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 1061, + 373, + 208, + 71 + ], + "next": [ + "Roguelike@Start" + ] + }, + "Phantom@Roguelike@ChooseDifficulty": {}, + "Mizuki@Roguelike@ChooseDifficulty": {}, + "Roguelike@Start": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1026, + 470, + 254, + 248 + ], + "rearDelay": 2000, + "next": [ + "Roguelike@Recruit1", + "Roguelike@InitalDrop", + "Roguelike@Start" + ] + }, + "Phantom@Roguelike@Start": {}, + "Mizuki@Roguelike@Start": {}, + "Roguelike@InitalDrop": { + "Doc": "base_task", + "Doc2": "古堡观光(简单模式)初始会有一个免费道具,点确认。月度小队也有,再多几次", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 569, + 583, + 141, + 137 + ], + "next": [ + "Roguelike@Recruit1", + "Roguelike@InitalDrop" + ] + }, + "Phantom@Roguelike@InitalDrop": {}, + "Roguelike@DialogSkip": { + "Doc": "月度小队,跳过对话", + "action": "ClickSelf", + "roi": [ + 1106, + 0, + 174, + 139 + ], + "next": [ + "Roguelike@DialogSkip", + "Roguelike@DialogSkipConfirm" + ] + }, + "Roguelike@DialogSkipConfirm": { + "action": "ClickSelf", + "roi": [ + 725, + 409, + 249, + 169 + ] + }, + "Phantom@Roguelike@DialogSkipConfirm": { + "template": "Roguelike@DialogSkipConfirm.png", + "next": [ + "Phantom@Roguelike@DialogSkip", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@LastReward": { + "Doc": "base_task", + "Doc2": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援——热水壶", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Roguelike@LastRewardConfirm" + ] + }, + "Phantom@Roguelike@LastReward": {}, + "Roguelike@LastReward2": { + "Doc": "base_task", + "Doc2": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 5 源石锭", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Roguelike@LastRewardConfirm" + ] + }, + "Phantom@Roguelike@LastReward2": {}, + "Roguelike@LastReward3": { + "Doc": "base_task", + "Doc2": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 3 目标生命", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Roguelike@LastRewardConfirm" + ] + }, + "Phantom@Roguelike@LastReward3": {}, + "Roguelike@LastRewardRand": { + "Doc": "base_task", + "Doc2": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 问号", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Roguelike@LastRewardConfirm" + ] + }, + "Phantom@Roguelike@LastRewardRand": {}, + "Roguelike@LastRewardConfirm": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Roguelike@Team3", + "Roguelike@CloseCollection" + ] + }, + "Phantom@Roguelike@LastRewardConfirm": { + "template": "Phantom@Roguelike@RecruitConfirm.png" + }, + "Roguelike@Recruit1": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 153, + 1280, + 532 + ], + "next": [ + "Roguelike@RecruitConfirm" + ] + }, + "Phantom@Roguelike@Recruit1": {}, + "Roguelike@RecruitConfirm": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 483, + 1280, + 200 + ] + }, + "Phantom@Roguelike@RecruitConfirm": { + "next": [ + "Phantom@Roguelike@LastReward", + "Phantom@Roguelike@LastReward2", + "Phantom@Roguelike@LastReward3", + "Phantom@Roguelike@LastRewardRand", + "Phantom@Roguelike@Team3", + "Phantom@Roguelike@CloseCollection", + "Phantom@Roguelike@DialogSkip", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@CloseCollection": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 569, + 400, + 140, + 139 + ] + }, + "Phantom@Roguelike@CloseCollection": { + "next": [ + "Phantom@Roguelike@LastReward", + "Phantom@Roguelike@LastReward2", + "Phantom@Roguelike@LastReward3", + "Phantom@Roguelike@LastRewardRand", + "Phantom@Roguelike@Team3" + ] + }, + "Roguelike@Team3": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 601, + 153, + 363, + 529 + ], + "next": [ + "Roguelike@TeamConfirm" + ] + }, + "Phantom@Roguelike@Team3": {}, + "Roguelike@TeamConfirm": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 153, + 1280, + 529 + ], + "next": [ + "Roguelike@RecruitMain" + ] + }, + "Phantom@Roguelike@TeamConfirm": {}, + "Roguelike@RecruitMain": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "templThreshold": 0.6, + "cache": false, + "roi": [ + 190, + 470, + 300, + 154 + ], + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@RecruitCloseGuide" + ], + "rearDelay": 1000 + }, + "Phantom@Roguelike@RecruitMain": { + "template": "Phantom@Roguelike@Recruit.png" + }, + "Roguelike@RecruitOther": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "templThreshold": 0.6, + "cache": false, + "roi": [ + 190, + 470, + 900, + 154 + ], + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@RecruitCloseGuide" + ], + "rearDelay": 1000 + }, + "Phantom@Roguelike@RecruitOther": { + "template": "Phantom@Roguelike@Recruit.png" + }, + "Roguelike@RecruitCloseGuide": { + "action": "ClickSelf", + "roi": [ + 56, + 41, + 194, + 134 + ], + "next": [ + "Roguelike@ChooseOperFlag" + ] + }, + "Roguelike@ChooseOper": { + "Doc": "本任务注册了插件 RoguelikeRecruitTaskPlugin", + "algorithm": "JustReturn", + "action": "DoNothing" + }, + "Phantom@Roguelike@ChooseOper": { + "next": [ + "Phantom@Roguelike@ChooseOperConfirm" + ] + }, + "Roguelike@ChooseOperFlag": { + "Doc": "base_task", + "template": "empty.png", + "action": "DoNothing", + "roi": [ + 1016, + 602, + 264, + 118 + ], + "next": [ + "Roguelike@ChooseOper", + "Roguelike@RecruitCloseGuide" + ] + }, + "Roguelike@ChooseOperFlag": { + "template": "Roguelike@ChooseOperConfirm.png" + }, + "Roguelike@ChooseOperConfirm": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 1016, + 602, + 264, + 118 + ], + "next": [ + "Roguelike@RecruitSkip", + "Roguelike@TraderRandomShopping", + "Roguelike@StageEncounterGiveUpRecruitConfirm", + "Roguelike@ChooseOperConfirm", + "Roguelike@RecruitWithoutButton" + ] + }, + "Roguelike@RecruitSkip": { + "template": "RecruitSkip.png", + "action": "ClickSelf", + "roi": [ + 1100, + 0, + 180, + 150 + ], + "next": [ + "Roguelike@RecruitSkip", + "Roguelike@RecruitOther", + "Roguelike@TraderRandomShopping", + "Roguelike@StageTraderLeave", + "Roguelike@DropsFlag", + "Roguelike@ChooseOperFlag", + "Roguelike@RecruitWithoutButton" + ] + }, + "Roguelike@RecruitWithoutButton": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 1180, + 15, + 85, + 60 + ] + }, + "Phantom@Roguelike@RecruitWithoutButton": { + "next": [ + "Phantom@Roguelike@RecruitOther", + "Phantom@Roguelike@EnterAfterRecruit", + "Phantom@Roguelike@TraderRandomShopping", + "Phantom@Roguelike@StageTraderLeave", + "Phantom@Roguelike@DropsFlag", + "Phantom@Roguelike@ChooseOperFlag", + "Phantom@Roguelike@RecruitWithoutButton" + ] + }, + "Roguelike@EnterAfterRecruit": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 1078, + 234, + 202, + 239 + ], + "rearDelay": 3000 + }, + "Phantom@Roguelike@EnterAfterRecruit": { + "next": [ + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageTrader": { + "Doc": "base_task", + "Doc2": "诡意行商(交易所)", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageTrader": { + "templThreshold": 0.85, + "next": [ + "Phantom@Roguelike@StageTraderEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageTraderEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1035, + 374, + 226, + 220 + ], + "rearDelay": 3000, + "next": [ + "Roguelike@StageTraderInvestSystem", + "Roguelike@TraderRandomShopping", + "Roguelike@StageTraderLeave" + ] + }, + "Phantom@Roguelike@StageTraderEnter": {}, + "Roguelike@TraderRandomShopping": { + "Doc": "该任务注册了 RoguelikeShoppingTaskPlugin,若是点完了仍在当前界面,说明没啥要买的,直接离开商店(next 里的 PhantomStageTraderLeave)", + "action": "ClickSelf", + "templThreshold": 0.7, + "cache": false, + "roi": [ + 480, + 240, + 750, + 280 + ], + "rectMove": [ + -40, + -100, + 20, + 60 + ], + "next": [ + "Roguelike@TraderRandomShoppingConfirm", + "Roguelike@TraderRandomShoppingCancel", + "Roguelike@StageTraderLeave", + "Roguelike@StageTraderLeaveConfirm" + ], + "maskRange": [ + 1, + 255 + ] + }, + "Roguelike@TraderRandomShoppingConfirm": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 872, + 425, + 221, + 136 + ], + "next": [ + "Roguelike@TraderRandomShopping", + "Roguelike@ChooseOperFlag", + "Roguelike@StageTraderLeave" + ] + }, + "Roguelike@TraderRandomShoppingCancel": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 350, + 350, + 500, + 250 + ], + "next": [ + "Roguelike@StageTraderLeave" + ] + }, + "Roguelike@StageSafeHouse": { + "Doc": "base_task", + "Doc2": "安全的角落", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageSafeHouse": { + "templThreshold": 0.85, + "next": [ + "Phantom@Roguelike@StageSafeHouseEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageSafeHouseEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1037, + 374, + 221, + 221 + ], + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@StageEncounterFree", + "Roguelike@StageEncounterLeave", + "Roguelike@StageEncounterUnknown", + "Roguelike@StageEncounterClickToLeave" + ] + }, + "Phantom@Roguelike@StageSafeHouseEnter": {}, + "Roguelike@StageTraderInvestSystem": { + "templThreshold": 0.75, + "action": "ClickSelf", + "roi": [ + 365, + 51, + 276, + 216 + ], + "exceededNext": [ + "Roguelike@TraderRandomShopping", + "Roguelike@StageTraderLeave" + ], + "next": [ + "Roguelike@StageTraderInvestSystemEnter", + "Roguelike@TraderRandomShopping", + "Roguelike@StageTraderLeave" + ] + }, + "Roguelike@StageTraderInvestSystemEnter": { + "action": "ClickSelf", + "roi": [ + 417, + 228, + 502, + 247 + ], + "next": [ + "Roguelike@StageTraderInvestSystemError", + "Roguelike@StageTraderInvestConfirm", + "Roguelike@StageTraderInvestCancel" + ] + }, + "Roguelike@StageTraderInvestConfirm": { + "action": "ClickSelf", + "roi": [ + 852, + 422, + 278, + 144 + ], + "rearDelay": 500, + "next": [ + "Roguelike@StageTraderInvestSystemError", + "Roguelike@StageTraderInvestSystemFull", + "Roguelike@StageTraderInvestConfirm", + "Roguelike@StageTraderInvestCancel" + ] + }, + "Roguelike@StageTraderInvestSystemError": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 508, + 204, + 235, + 240 + ], + "next": [ + "Roguelike@StageTraderInvestCancel" + ] + }, + "Roguelike@StageTraderInvestSystemFull": { + "algorithm": "OcrDetect", + "cache": false, + "reduceOtherTimes": [ + "Roguelike@StageTraderInvestConfirm" + ], + "text": [ + "当前储备余额已达上限", + "当前", + "上限" + ], + "roi": [ + 982, + 28, + 298, + 289 + ], + "next": [ + "Roguelike@StageTraderInvestCancel" + ] + }, + "Phantom@Roguelike@StageTraderInvestSystemFull": {}, + "Roguelike@StageTraderInvestCancel": { + "action": "ClickSelf", + "roi": [ + 507, + 418, + 242, + 149 + ], + "exceededNext": [ + "Roguelike@ExitThenAbandon" + ], + "next": [ + "Roguelike@StageTraderInvestSystemLeave" + ] + }, + "Roguelike@StageTraderInvestSystemLeave": { + "action": "ClickSelf", + "roi": [ + 682, + 420, + 245, + 143 + ], + "next": [ + "Roguelike@TraderRandomShopping", + "Roguelike@StageTraderLeave" + ] + }, + "Roguelike@StageTraderLeave": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 1046, + 443, + 234, + 204 + ], + "next": [ + "Roguelike@StageTraderLeaveConfirm", + "Roguelike@StageTraderLeave" + ] + }, + "Roguelike@ExitThenAbandon": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 0, + 320, + 160 + ] + }, + "Phantom@Roguelike@ExitThenAbandon": { + "template": "Roguelike@ExitThenAbandon.png", + "next": [ + "Phantom@Roguelike@ExitThenAbandon", + "Phantom@Roguelike@Abandon" + ] + }, + "Roguelike@Abandon": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 1076, + 243, + 177, + 179 + ], + "next": [ + "Roguelike@AbandonConfirm", + "Roguelike@Abandon" + ] + }, + "Phantom@Roguelike@Abandon": {}, + "Roguelike@AbandonConfirm": { + "action": "ClickSelf", + "roi": [ + 720, + 413, + 249, + 168 + ], + "next": [ + "Roguelike@MissionFailedFlag2", + "Roguelike@Start" + ] + }, + "Roguelike@StageTraderLeaveConfirm": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 985, + 447, + 295, + 203 + ] + }, + "Phantom@Roguelike@StageTraderLeaveConfirm": { + "template": "Roguelike@StageTraderLeaveConfirm.png", + "exceededNext": [ + "Phantom@Roguelike@ExitThenAbandon" + ], + "next": [ + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageEncounter": { + "Doc": "base_task", + "Doc2": "不期而遇(随机奖励)", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageEncounter": { + "templThreshold": 0.85, + "next": [ + "Phantom@Roguelike@StageEncounterEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageBoons": { + "Doc": "base_task", + "Doc2": "古堡馈赠(随机奖励)", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageBoons": { + "templThreshold": 0.85, + "next": [ + "Phantom@Roguelike@StageEncounterEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageEncounterEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1037, + 374, + 221, + 221 + ], + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@StageEncounterFree", + "Roguelike@StageEncounterLeave", + "Roguelike@StageEncounterUnknown", + "Roguelike@StageEncounterClickToLeave" + ] + }, + "Phantom@Roguelike@StageEncounterEnter": {}, + "Roguelike@StageEncounterFree": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1100, + 0, + 180, + 700 + ], + "preDelay": 500 + }, + "Phantom@Roguelike@StageEncounterFree": { + "templThreshold": 0.99, + "next": [ + "Phantom@Roguelike@StageEncounterLeaveConfirm", + "Phantom@Roguelike@StageEncounterLeave", + "Phantom@Roguelike@StageEncounterUnknown", + "Phantom@Roguelike@StageEncounterFree", + "Phantom@Roguelike@ChooseOperFlag" + ] + }, + "Roguelike@StageEncounterLeave": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1100, + 0, + 180, + 700 + ], + "preDelay": 500 + }, + "Phantom@Roguelike@StageEncounterLeave": { + "templThreshold": 0.97, + "next": [ + "Phantom@Roguelike@StageEncounterLeaveConfirm", + "Phantom@Roguelike@StageEncounterFree", + "Phantom@Roguelike@StageEncounterUnknown", + "Phantom@Roguelike@StageEncounterLeave", + "Phantom@Roguelike@ChooseOperFlag" + ] + }, + "Roguelike@StageEncounterUnknown": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 950, + 50, + 320, + 580 + ], + "preDelay": 1500 + }, + "Phantom@Roguelike@StageEncounterUnknown": { + "templThreshold": 0.91, + "next": [ + "Phantom@Roguelike@ChooseOperFlag", + "Phantom@Roguelike@StageEncounterLeaveConfirm", + "Phantom@Roguelike@StageEncounterFree", + "Phantom@Roguelike@StageEncounterLeave", + "Phantom@Roguelike@StageEncounterUnknown" + ] + }, + "Roguelike@StageEncounterLeaveConfirm": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1069, + 0, + 211, + 700 + ], + "rearDelay": 1000, + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@StageEncounterFree", + "Roguelike@StageEncounterLeave", + "Roguelike@StageEncounterUnknown", + "Roguelike@StageEncounterSpecialClose", + "Roguelike@StageCambatDpsEnter", + "Roguelike@StageEmergencyDpsEnter", + "Roguelike@ClickToDrops" + ] + }, + "Phantom@Roguelike@StageEncounterLeaveConfirm": {}, + "Roguelike@StageEncounterSpecialClose": { + "Doc": "base_task", + "Doc2": "关掉“大锁”", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 570, + 400, + 140, + 138 + ], + "next": [ + "Roguelike@StageEncounterSpecialClose", + "Roguelike@ClickToDrops" + ] + }, + "Phantom@Roguelike@StageEncounterSpecialClose": {}, + "Roguelike@StageEncounterGiveUpRecruitConfirm": { + "action": "ClickSelf", + "roi": [ + 613, + 410, + 424, + 171 + ], + "next": [ + "Roguelike@TraderRandomShopping", + "Roguelike@StageTraderLeave", + "Roguelike@DropsFlag", + "Roguelike@ClickToDrops" + ] + }, + "Roguelike@StageEncounterClickToLeave": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 600, + 600, + 50, + 50 + ], + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@StageEncounterFree", + "Roguelike@StageEncounterLeave", + "Roguelike@StageEncounterUnknown", + "Roguelike@StageEncounterClickToLeave" + ] + }, + "Roguelike@StageCambatDps": { + "Doc": "base_task", + "Doc2": "普通作战", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageCambatDps": { + "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错", + "next": [ + "Phantom@Roguelike@StageCambatDpsEnter", + "Phantom@Roguelike@StageEmergencyDpsEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageCambatDpsEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1036, + 371, + 223, + 223 + ], + "next": [ + "Roguelike@QuickFormation" + ] + }, + "Phantom@Roguelike@StageCambatDpsEnter": {}, + "Roguelike@StageEmergencyDps": { + "Doc": "base_task", + "Doc2": "紧急作战", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageEmergencyDps": { + "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错", + "next": [ + "Phantom@Roguelike@StageEmergencyDpsEnter", + "Phantom@Roguelike@StageCambatDpsEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageEmergencyDpsEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1036, + 371, + 223, + 223 + ], + "next": [ + "Roguelike@QuickFormation" + ] + }, + "Phantom@Roguelike@StageEmergencyDpsEnter": {}, + "Phantom@Roguelike@StageDreadfulFoe": { + "Doc": "base_task", + "Doc2": "险路恶敌(boss关卡)", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ] + }, + "Phantom@Roguelike@StageDreadfulFoe": { + "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错", + "next": [ + "Phantom@Roguelike@StageDreadfulFoeEnter", + "Phantom@Roguelike@StageEmergencyDpsEnter", + "Phantom@Roguelike@StageCambatDpsEnter", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe" + ] + }, + "Roguelike@StageDreadfulFoeEnter": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 1036, + 371, + 223, + 223 + ], + "next": [ + "Roguelike@QuickFormation" + ] + }, + "Phantom@Roguelike@StageDreadfulFoeEnter": {}, + "Roguelike@QuickFormation": { + "Doc": "本任务注册了插件 RoguelikeFormationTaskPlugin", + "action": "ClickSelf", + "roi": [ + 817, + 0, + 402, + 146 + ], + "next": [ + "Roguelike@FormationConfirm" + ], + "rearDelay": 2000 + }, + "Roguelike@FormationConfirm": { + "action": "ClickSelf", + "roi": [ + 1015, + 601, + 265, + 119 + ], + "next": [ + "Roguelike@StartAction" + ] + }, + "Roguelike@StartAction": { + "Doc": "本任务注册了插件 RoguelikeSkillSelectionTaskPlugin、RoguelikeBattleTaskPlugin", + "action": "ClickSelf", + "preDelay": 500, + "roi": [ + 905, + 593, + 375, + 127 + ], + "next": [ + "Roguelike@InBattleFlag", + "Roguelike@MissionCompletedFlag", + "Roguelike@MissionFailedFlag", + "Roguelike@MissionFailedFlag2", + "Roguelike@GamePassSkip1", + "Roguelike@GamePassTheEndConfirm", + "Roguelike@GamePass" + ] + }, + "Roguelike@GamePassSkip1": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 1090, + 0, + 190, + 144 + ], + "next": [ + "Roguelike@GamePassSkip1Confirm" + ] + }, + "Phantom@Roguelike@GamePassSkip1": {}, + "Roguelike@GamePassSkip1Confirm": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "roi": [ + 715, + 282, + 171, + 155 + ] + }, + "Phantom@Roguelike@GamePassSkip1Confirm": { + "next": [ + "Phantom@Roguelike@GamePassSkip2", + "Phantom@Roguelike@GamePassTheEndConfirm", + "Phantom@Roguelike@GamePass" + ] + }, + "Roguelike@GamePassSkip2": { + "action": "ClickSelf", + "roi": [ + 1109, + 0, + 171, + 138 + ], + "next": [ + "Roguelike@GamePassTheEndConfirm", + "Roguelike@GamePass", + "Roguelike@ClickToStartPoint" + ] + }, + "Roguelike@GamePassTheEndConfirm": { + "action": "ClickSelf", + "roi": [ + 554, + 512, + 177, + 161 + ], + "next": [ + "Roguelike@GamePass" + ] + }, + "Roguelike@GamePass": { + "Doc": "base_task", + "template": "empty.png", + "cache": false, + "roi": [ + 400, + 0, + 500, + 300 + ], + "next": [ + "Roguelike@ClickToStartPoint" + ] + }, + "Phantom@Roguelike@GamePass": {}, + "Roguelike@InBattleFlag": { + "template": "BattleOfficiallyBegin.png", + "roi": [ + 1165, + 20, + 65, + 65 + ], + "maskRange": [ + 100, + 255 + ], + "action": "DoNothing", + "rearDelay": 5000, + "next": [ + "Roguelike@InBattleFlag", + "Roguelike@MissionCompletedFlag", + "Roguelike@MissionFailedFlag", + "Roguelike@MissionFailedFlag2" + ] + }, + "Roguelike@MissionCompletedFlag": { + "roi": [ + 0, + 0, + 148, + 143 + ], + "next": [ + "Roguelike@ClickToDrops" + ] + }, + "Roguelike@ClickToDrops": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 600, + 600, + 50, + 50 + ], + "rearDelay": 500 + }, + "Phantom@Roguelike@ClickToDrops": { + "next": [ + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe", + "Phantom@Roguelike@ChooseOperFlag", + "Phantom@Roguelike@StageEncounterSpecialClose", + "Phantom@Roguelike@TraderRandomShopping", + "Phantom@Roguelike@StageTraderLeave", + "Phantom@Roguelike@DropsFlag", + "Phantom@Roguelike@TodaysSupplies", + "Phantom@Roguelike@Main", + "Phantom@Roguelike@CloseAnno", + "Phantom@Roguelike@OfflineConfirm", + "Phantom@Roguelike@StartToWakeUp", + "Phantom@Roguelike@StartUpConnectingFlag", + "Phantom@Roguelike@ClickToDrops" + ] + }, + "Roguelike@DropsFlag": { + "roi": [ + 875, + 601, + 152, + 119 + ] + }, + "Phantom@Roguelike@DropsFlag": { + "template": "Roguelike@DropsFlag.png", + "next": [ + "Phantom@Roguelike@GetDrop1", + "Phantom@Roguelike@GetDrop2", + "Phantom@Roguelike@GetDrop3", + "Phantom@Roguelike@GetDropSelect", + "Phantom@Roguelike@GetDropRecruit", + "Phantom@Roguelike@GetDropCompleted", + "Phantom@Roguelike@GetDropLeave", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe", + "Phantom@Roguelike@ChooseOperFlag", + "Phantom@Roguelike@StageEncounterFree", + "Phantom@Roguelike@StageEncounterLeave", + "Phantom@Roguelike@StageEncounterUnknown", + "Phantom@Roguelike@StageEncounterSpecialClose", + "Phantom@Roguelike@EnterAfterRecruit", + "Phantom@Roguelike@StageTraderLeave", + "Phantom@Roguelike@DialogSkip" + ] + }, + "Roguelike@GetDrop1": { + "Doc": "base_task", + "Doc2": "源石锭,绿色的“拿走”按钮", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 471, + 1280, + 157 + ], + "templThreshold": 0.85, + "rearDelay": 1000, + "next": [ + "Roguelike@DropsFlag", + "Roguelike@ChooseOperFlag" + ] + }, + "Phantom@Roguelike@GetDrop1": {}, + "Roguelike@GetDrop2": { + "Doc": "base_task", + "Doc2": "希望,黄色的“拿走”按钮", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 471, + 1280, + 157 + ], + "templThreshold": 0.85, + "rearDelay": 1000, + "next": [ + "Roguelike@DropsFlag", + "Roguelike@ChooseOperFlag", + "Roguelike@ClickToDrops" + ] + }, + "Phantom@Roguelike@GetDrop2": {}, + "Roguelike@GetDrop3": { + "Doc": "base_task", + "Doc2": "未知的剧目,黄色的“翻开”按钮", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 471, + 1280, + 157 + ], + "rearDelay": 1000, + "templThreshold": 0.85, + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@ClickToDrops" + ] + }, + "Phantom@Roguelike@GetDrop3": {}, + "Roguelike@GetDropRecruit": { + "Doc": "base_task", + "Doc2": "招募券,白色的“招募”按钮", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 471, + 1280, + 157 + ], + "rearDelay": 1000 + }, + "Phantom@Roguelike@GetDropRecruit": { + "next": [ + "Phantom@Roguelike@ChooseOperFlag", + "Phantom@Roguelike@GetDrop1", + "Phantom@Roguelike@GetDrop2", + "Phantom@Roguelike@GetDrop3", + "Phantom@Roguelike@GetDropSelect", + "Phantom@Roguelike@GetDropRecruit", + "Phantom@Roguelike@GetDropCompleted", + "Phantom@Roguelike@GetDropLeave" + ] + }, + "Roguelike@GetDropSelect": { + "Doc": "base_task", + "Doc2": "“选择”按钮,有可能是招募二选一,也有收藏品二选一", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 471, + 1280, + 157 + ], + "rearDelay": 2000, + "next": [ + "Roguelike@GetDropSelectRecruit", + "Roguelike@GetDropSelectReward", + "Roguelike@ChooseOperFlag", + "Roguelike@GetDropCompleted", + "Roguelike@GetDropSelect" + ] + }, + "Phantom@Roguelike@GetDropSelect": {}, + "Roguelike@GetDropSelectRecruit": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 420, + 1280, + 175 + ], + "rearDelay": 1000, + "templThreshold": 0.85, + "next": [ + "Roguelike@ChooseOperFlag", + "Roguelike@GetDropSelectRecruit" + ] + }, + "Phantom@Roguelike@GetDropSelectRecruit": { + "template": "Phantom@Roguelike@GetDropRecruit.png" + }, + "Roguelike@GetDropSelectReward": { + "Doc": "base_task", + "template": "empty.png", + "cache": false, + "action": "ClickSelf", + "roi": [ + 0, + 420, + 1280, + 175 + ], + "rearDelay": 1000, + "next": [ + "Roguelike@ClickToDrops", + "Roguelike@GetDropSelectReward", + "Roguelike@ChooseOperFlag" + ] + }, + "Phantom@Roguelike@GetDropSelectReward": {}, + "Roguelike@GetDropCompleted": { + "Doc": "base_task", + "template": "empty.png", + "action": "ClickRect", + "specificRect": [ + 600, + 600, + 50, + 50 + ], + "roi": [ + 488, + 206, + 302, + 289 + ], + "rearDelay": 3000 + }, + "Phantom@Roguelike@GetDropCompleted": { + "next": [ + "Phantom@Roguelike@GetDrop1", + "Phantom@Roguelike@GetDrop2", + "Phantom@Roguelike@GetDrop3", + "Phantom@Roguelike@GetDropSelect", + "Phantom@Roguelike@GetDropRecruit", + "Phantom@Roguelike@ChooseOperFlag", + "Phantom@Roguelike@ClickToDrops" + ] + }, + "Roguelike@GetDropLeave": { + "Doc": "base_task", + "Doc2": "不要了,走了(", + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 218, + 1280, + 296 + ], + "next": [ + "Roguelike@GetDropLeaveConfirm", + "Roguelike@DropsFlag", + "Roguelike@ChooseOperFlag" + ] + }, + "Phantom@Roguelike@GetDropLeave": {}, + "Roguelike@GetDropLeaveConfirm": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 484, + 1280, + 138 + ], + "next": [ + "Roguelike@DropsFlag" + ] + }, + "Roguelike@MissionFailedFlag": { + "Doc": "base_task", + "template": "empty.png" + }, + "Phantom@Roguelike@MissionFailedFlag": { + "roi": [ + 504, + 163, + 480, + 267 + ], + "next": [ + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe", + "Phantom@Roguelike@ClickToStartPoint" + ] + }, + "Roguelike@MissionFailedFlag2": { + "Doc": "base_task", + "template": "empty.png", + "cache": false, + "roi": [ + 473, + 0, + 351, + 194 + ], + "next": [ + "Roguelike@ClickToStartPoint" + ] + }, + "Phantom@Roguelike@MissionFailedFlag2": {}, + "Roguelike@ClickToStartPoint": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [ + 600, + 600, + 50, + 50 + ], + "rearDelay": 1000 + }, + "Phantom@Roguelike@ClickToStartPoint": { + "next": [ + "Phantom@Roguelike@Start", + "Phantom@Roguelike@StageTrader", + "Phantom@Roguelike@StageSafeHouse", + "Phantom@Roguelike@StageEncounter", + "Phantom@Roguelike@StageBoons", + "Phantom@Roguelike@StageCambatDps", + "Phantom@Roguelike@StageEmergencyDps", + "Phantom@Roguelike@StageDreadfulFoe", + "Phantom@Roguelike@GamePass", + "Phantom@Roguelike@TodaysSupplies", + "Phantom@Roguelike@Main", + "Phantom@Roguelike@CloseAnno", + "Phantom@Roguelike@TodoEnter", + "Phantom@Roguelike@Continue", + "Phantom@Roguelike@ReturnTo", + "Phantom@Roguelike@ReturnToConfirm", + "Phantom@Roguelike@OfflineConfirm", + "Phantom@Roguelike@StartToWakeUp", + "Phantom@Roguelike@StartUpConnectingFlag", + "Phantom@Roguelike@ClickToStartPoint" + ] + }, + "Mizuki@Roguelike@TodoEnter": {}, + "Mizuki@Roguelike@Begin": { + "algorithm": "JustReturn", + "next": [ + "Mizuki@Roguelike@ChooseDifficulty", + "Mizuki@Roguelike@Start", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@CloseEvent", + "Mizuki@Roguelike@NextLevel", + "Mizuki@Roguelike@ExitThenAbandon", + "Mizuki@Roguelike@Abandon", + "Mizuki@Roguelike@TodaysSupplies", + "Mizuki@Roguelike@Main", + "Mizuki@Roguelike@CloseAnno", + "Mizuki@Roguelike@TodoEnter", + "Mizuki@Roguelike@Continue", + "Mizuki@Roguelike@ReturnTo", + "Mizuki@Roguelike@ReturnToConfirm", + "Mizuki@Roguelike@OfflineConfirm", + "Mizuki@Roguelike@StartToWakeUp", + "Mizuki@Roguelike@StartUpConnectingFlag", + "Mizuki@Roguelike@FromStageSN" + ] + }, + "Mizuki@Roguelike@Continue": {}, + "Mizuki@Roguelike@InitalDrop": {}, + "Mizuki@Roguelike@DialogSkipConfirm": { + "template": "Roguelike@DialogSkipConfirm.png", + "next": [ + "Mizuki@Roguelike@DialogSkip", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@LastReward": {}, + "Mizuki@Roguelike@LastReward2": {}, + "Mizuki@Roguelike@LastReward3": {}, + "Mizuki@Roguelike@LastReward4": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Mizuki@Roguelike@LastRewardConfirm" + ] + }, + "Mizuki@Roguelike@LastRewardRand": {}, + "Mizuki@Roguelike@LastRewardConfirm": { + "template": "Mizuki@Roguelike@RecruitConfirm.png" + }, + "Mizuki@Roguelike@Recruit1": {}, + "Mizuki@Roguelike@RecruitConfirm": { + "next": [ + "Mizuki@Roguelike@LastReward", + "Mizuki@Roguelike@LastReward2", + "Mizuki@Roguelike@LastReward3", + "Mizuki@Roguelike@LastReward4", + "Mizuki@Roguelike@LastRewardRand", + "Mizuki@Roguelike@Team3", + "Mizuki@Roguelike@CloseCollection", + "Mizuki@Roguelike@DialogSkip", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@MapObject" + ] + }, + "Mizuki@Roguelike@CloseCollection": { + "next": [ + "Mizuki@Roguelike@LastReward", + "Mizuki@Roguelike@LastReward2", + "Mizuki@Roguelike@LastReward3", + "Mizuki@Roguelike@LastReward4", + "Mizuki@Roguelike@LastRewardRand", + "Mizuki@Roguelike@Team3" + ] + }, + "Mizuki@Roguelike@Team3": {}, + "Mizuki@Roguelike@TeamConfirm": {}, + "Mizuki@Roguelike@MapObject": { + "action": "DoNothing", + "cache": false, + "roi": [ + 257, + 488, + 189, + 123 + ], + "next": [ + "Mizuki@Roguelike@RecruitOther" + ] + }, + "Mizuki@Roguelike@RecruitMain": { + "template": "Mizuki@Roguelike@Recruit.png" + }, + "Mizuki@Roguelike@RecruitOther": { + "template": "Mizuki@Roguelike@Recruit.png" + }, + "Mizuki@Roguelike@ChooseOper": { + "next": [ + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@ChooseOperConfirm" + ] + }, + "Mizuki@Roguelike@RecruitWithoutButton": { + "next": [ + "Mizuki@Roguelike@RecruitOther", + "Mizuki@Roguelike@EnterAfterRecruit", + "Mizuki@Roguelike@TraderRandomShopping", + "Mizuki@Roguelike@StageTraderLeave", + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@RecruitWithoutButton" + ] + }, + "Mizuki@Roguelike@EnterAfterRecruit": { + "next": [ + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageTrader": { + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageTraderEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageTraderEnter": {}, + "Mizuki@Roguelike@StageSafeHouse": { + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageSafeHouseEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageRegionalCommissioning": { + "Doc": "地区委托(随机奖励)", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ], + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageGambling": { + "Doc": "骰子关卡", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ], + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@DiceConfirm": { + "Doc": "骰子的确认按钮", + "action": "ClickSelf", + "cache": false, + "roi": [ + 551, + 577, + 174, + 143 + ], + "templThreshold": 0.95, + "rearDelay": 1000, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@ClickToDrops" + ] + }, + "Mizuki@Roguelike@StageSafeHouseEnter": {}, + "Mizuki@Roguelike@StageTraderInvestSystemFull": {}, + "Mizuki@Roguelike@ExitThenAbandon": { + "template": "Roguelike@ExitThenAbandon.png", + "next": [ + "Mizuki@Roguelike@ExitThenAbandon", + "Mizuki@Roguelike@Abandon", + "Mizuki@Roguelike@DiceConfirmThenAbandon", + "Mizuki@Roguelike@DataTraceback" + ] + }, + "Mizuki@Roguelike@DataTraceback": { + "action": "DoNothing", + "cache": false, + "roi": [ + 56, + 277, + 243, + 152 + ], + "next": [ + "Mizuki@Roguelike@ClickToStartPoint" + ] + }, + "Mizuki@Roguelike@Abandon": {}, + "Mizuki@Roguelike@StageTraderLeaveConfirm": { + "template": "Roguelike@StageTraderLeaveConfirm.png", + "exceededNext": [ + "Mizuki@Roguelike@DiceConfirmThenAbandon", + "Mizuki@Roguelike@ExitThenAbandon" + ], + "next": [ + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@DiceConfirmThenAbandon": { + "Doc": "骰子的确认按钮", + "action": "ClickSelf", + "template": "Mizuki@Roguelike@DiceConfirm.png", + "cache": false, + "roi": [ + 551, + 577, + 174, + 143 + ], + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@ExitThenAbandon" + ] + }, + "Mizuki@Roguelike@CloseCollectionContinue": { + "action": "ClickSelf", + "templThreshold": 0.9, + "cache": false, + "roi": [ + 549, + 440, + 123, + 130 + ], + "maskRange": [ + 100, + 255 + ], + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@CloseEvent", + "Mizuki@Roguelike@ChooseOperFlag" + ] + }, + "Mizuki@Roguelike@CloseCollectionClose": { + "action": "ClickSelf", + "cache": false, + "templThreshold": 0.9, + "roi": [ + 572, + 434, + 144, + 141 + ], + "maskRange": [ + 100, + 255 + ], + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@CloseEvent", + "Mizuki@Roguelike@ChooseOperFlag" + ] + }, + "Mizuki@Roguelike@StageEncounter": { + "templThreshold": 0.96, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageBoons": { + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageEncounterEnter": {}, + "Mizuki@Roguelike@StageEncounterFree": { + "maskRange": [ + 5, + 255 + ], + "next": [ + "Mizuki@Roguelike@StageEncounterLeaveConfirm", + "Mizuki@Roguelike@StageEncounterLeave", + "Mizuki@Roguelike@StageEncounterUnknown", + "Mizuki@Roguelike@StageEncounterFree", + "Mizuki@Roguelike@ChooseOperFlag" + ] + }, + "Mizuki@Roguelike@StageEncounterLeave": { + "maskRange": [ + 5, + 255 + ], + "next": [ + "Mizuki@Roguelike@StageEncounterLeaveConfirm", + "Mizuki@Roguelike@StageEncounterFree", + "Mizuki@Roguelike@StageEncounterUnknown", + "Mizuki@Roguelike@StageEncounterLeave", + "Mizuki@Roguelike@ChooseOperFlag" + ] + }, + "Mizuki@Roguelike@StageEncounterUnknown": { + "templThreshold": 0.91, + "next": [ + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@StageEncounterLeaveConfirm", + "Mizuki@Roguelike@StageEncounterFree", + "Mizuki@Roguelike@StageEncounterLeave", + "Mizuki@Roguelike@StageEncounterUnknown" + ] + }, + "Mizuki@Roguelike@StageEncounterLeaveConfirm": {}, + "Mizuki@Roguelike@StageEncounterSpecialClose": {}, + "Mizuki@Roguelike@StageCambatDps": { + "templThreshold": 0.95, + "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错", + "next": [ + "Mizuki@Roguelike@StageCambatDpsEnter", + "Mizuki@Roguelike@StageEmergencyDpsEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageCambatDpsEnter": {}, + "Mizuki@Roguelike@StageEmergencyDps": { + "templThreshold": 0.95, + "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错", + "next": [ + "Mizuki@Roguelike@StageEmergencyDpsEnter", + "Mizuki@Roguelike@StageCambatDpsEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageEmergencyDpsEnter": {}, + "Mizuki@Roguelike@StageDreadfulFoe": { + "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错", + "next": [ + "Mizuki@Roguelike@StageDreadfulFoeEnter", + "Mizuki@Roguelike@StageEmergencyDpsEnter", + "Mizuki@Roguelike@StageCambatDpsEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageDreadfulFoe-5": { + "Doc": "第五层的boss关卡", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ], + "templThreshold": 0.85, + "next": [ + "Mizuki@Roguelike@StageDreadfulFoe-5Enter", + "Mizuki@Roguelike@StageDreadfulFoeEnter", + "Mizuki@Roguelike@StageEmergencyDpsEnter", + "Mizuki@Roguelike@StageCambatDpsEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageEmergencyTransportation": { + "Doc": "紧急运输,拒绝可以获取3希望", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ], + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageWindAndRain": { + "Doc": "风雨际会,拒绝可以获取4生命值", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 53, + 1280, + 554 + ], + "templThreshold": 0.95, + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@StageDreadfulFoeEnter": {}, + "Mizuki@Roguelike@NextLevel": { + "algorithm": "OcrDetect", + "action": "ClickSelf", + "cache": false, + "text": [ + "天光海岸", + "离岸孤岛", + "波涛略地", + "隐秘温床", + "失尘岩洞", + "幽海丛林", + "绀碧摇篮" + ], + "roi": [ + 522, + 431, + 245, + 144 + ], + "next": [ + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@GamePassSkip1": {}, + "Mizuki@Roguelike@GamePassSkip1Confirm": { + "next": [ + "Mizuki@Roguelike@DataTraceback", + "Mizuki@Roguelike@GamePassSkip2", + "Mizuki@Roguelike@GamePassTheEndConfirm", + "Mizuki@Roguelike@GamePass" + ] + }, + "Mizuki@Roguelike@GamePass": {}, + "Mizuki@Roguelike@ClickToDrops": { + "next": [ + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@StageEncounterSpecialClose", + "Mizuki@Roguelike@TraderRandomShopping", + "Mizuki@Roguelike@StageTraderLeave", + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@TodaysSupplies", + "Mizuki@Roguelike@Main", + "Mizuki@Roguelike@CloseAnno", + "Mizuki@Roguelike@OfflineConfirm", + "Mizuki@Roguelike@StartToWakeUp", + "Mizuki@Roguelike@StartUpConnectingFlag", + "Mizuki@Roguelike@ClickToDrops" + ] + }, + "Mizuki@Roguelike@DropsFlag": { + "template": "Roguelike@DropsFlag.png", + "next": [ + "Mizuki@Roguelike@GetDrop1", + "Mizuki@Roguelike@GetDrop2", + "Mizuki@Roguelike@GetDrop3", + "Mizuki@Roguelike@GetDropSelect", + "Mizuki@Roguelike@GetDropRecruit", + "Mizuki@Roguelike@GetDropBox", + "Mizuki@Roguelike@GetDropCompleted", + "Mizuki@Roguelike@GetDropLeave", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@StageEncounterFree", + "Mizuki@Roguelike@StageEncounterLeave", + "Mizuki@Roguelike@StageEncounterUnknown", + "Mizuki@Roguelike@StageEncounterSpecialClose", + "Mizuki@Roguelike@EnterAfterRecruit", + "Mizuki@Roguelike@StageTraderLeave", + "Mizuki@Roguelike@CloseEvent", + "Mizuki@Roguelike@DialogSkip" + ] + }, + "Mizuki@Roguelike@CloseEvent": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 567, + 584, + 145, + 136 + ], + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@CloseEvent" + ] + }, + "Mizuki@Roguelike@GetDrop1": {}, + "Mizuki@Roguelike@GetDrop2": {}, + "Mizuki@Roguelike@GetDrop3": {}, + "Mizuki@Roguelike@GetDropBox": { + "Doc": "漂流密匣“打开”按钮", + "action": "ClickSelf", + "cache": false, + "roi": [ + 0, + 471, + 1280, + 157 + ], + "templThreshold": 0.85, + "rearDelay": 1000, + "next": [ + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@GetDropBoxSelect", + "Mizuki@Roguelike@ChooseOperFlag" + ] + }, + "Mizuki@Roguelike@GetDropRecruit": { + "next": [ + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@GetDrop1", + "Mizuki@Roguelike@GetDrop2", + "Mizuki@Roguelike@GetDrop3", + "Mizuki@Roguelike@GetDropSelect", + "Mizuki@Roguelike@GetDropRecruit", + "Mizuki@Roguelike@GetDropBox", + "Mizuki@Roguelike@GetDropCompleted", + "Mizuki@Roguelike@GetDropLeave" + ] + }, + "Mizuki@Roguelike@GetDropSelect": {}, + "Roguelike@GetDropSelectRecruit": { + "template": "Mizuki@Roguelike@GetDropRecruit.png" + }, + "Mizuki@Roguelike@GetDropSelectReward": {}, + "Mizuki@Roguelike@GetDropCompleted": { + "next": [ + "Mizuki@Roguelike@GetDrop1", + "Mizuki@Roguelike@GetDrop2", + "Mizuki@Roguelike@GetDrop3", + "Mizuki@Roguelike@GetDropSelect", + "Mizuki@Roguelike@GetDropRecruit", + "Mizuki@Roguelike@GetDropBox", + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@ClickToDrops" + ] + }, + "Mizuki@Roguelike@GetDropLeave": {}, + "Mizuki@Roguelike@MissionFailedFlag": { + "roi": [ + 504, + 163, + 480, + 267 + ], + "next": [ + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@ClickToStartPoint" + ] + }, + "Mizuki@Roguelike@MissionFailedFlag2": {}, + "Mizuki@Roguelike@CommissionedMissionCompleted": { + "action": "ClickRect", + "specificRect": [ + 600, + 600, + 50, + 50 + ], + "rearDelay": 1000, + "cache": false, + "roi": [ + 519, + 202, + 282, + 154 + ], + "next": [ + "Mizuki@Roguelike@StageEncounterEnter", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose" + ] + }, + "Mizuki@Roguelike@ClickToStartPoint": { + "next": [ + "Mizuki@Roguelike@Start", + "Mizuki@Roguelike@StageTrader", + "Mizuki@Roguelike@StageSafeHouse", + "Mizuki@Roguelike@StageWindAndRain", + "Mizuki@Roguelike@StageEmergencyTransportation", + "Mizuki@Roguelike@StageEncounter", + "Mizuki@Roguelike@StageBoons", + "Mizuki@Roguelike@StageCambatDps", + "Mizuki@Roguelike@StageEmergencyDps", + "Mizuki@Roguelike@StageDreadfulFoe", + "Mizuki@Roguelike@StageDreadfulFoe-5", + "Mizuki@Roguelike@StageRegionalCommissioning", + "Mizuki@Roguelike@StageGambling", + "Mizuki@Roguelike@CommissionedMissionCompleted", + "Mizuki@Roguelike@DiceConfirm", + "Mizuki@Roguelike@CloseCollectionContinue", + "Mizuki@Roguelike@CloseCollectionClose", + "Mizuki@Roguelike@GamePass", + "Mizuki@Roguelike@TodaysSupplies", + "Mizuki@Roguelike@Main", + "Mizuki@Roguelike@CloseAnno", + "Mizuki@Roguelike@TodoEnter", + "Mizuki@Roguelike@Continue", + "Mizuki@Roguelike@ReturnTo", + "Mizuki@Roguelike@ReturnToConfirm", + "Mizuki@Roguelike@OfflineConfirm", + "Mizuki@Roguelike@StartToWakeUp", + "Mizuki@Roguelike@StartUpConnectingFlag", + "Mizuki@Roguelike@ClickToStartPoint" + ] + }, + "Mizuki@Roguelike@StageDreadfulFoe-5Enter": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 1036, + 371, + 223, + 223 + ], + "next": [ + "Mizuki@Roguelike@QuickFormation" + ] + }, + "Mizuki@Roguelike@GetDropBoxSelect": { + "Doc": "漂流密匣-锤子砸开“选择”按钮", + "action": "ClickSelf", + "cache": false, + "roi": [ + 830, + 438, + 276, + 140 + ], + "templThreshold": 0.85, + "rearDelay": 1000, + "next": [ + "Mizuki@Roguelike@DropsFlag", + "Mizuki@Roguelike@ChooseOperFlag", + "Mizuki@Roguelike@ClickToDrops" + ] } -} +} \ No newline at end of file diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Abandon.png b/resource/template/Mizuki@Roguelike@Abandon.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1Abandon.png rename to resource/template/Mizuki@Roguelike@Abandon.png diff --git a/resource/template/Roguelike1ChooseDifficulty.png b/resource/template/Mizuki@Roguelike@ChooseDifficulty.png similarity index 100% rename from resource/template/Roguelike1ChooseDifficulty.png rename to resource/template/Mizuki@Roguelike@ChooseDifficulty.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1CloseCollection.png b/resource/template/Mizuki@Roguelike@CloseCollection.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1CloseCollection.png rename to resource/template/Mizuki@Roguelike@CloseCollection.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionClose.png b/resource/template/Mizuki@Roguelike@CloseCollectionClose.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionClose.png rename to resource/template/Mizuki@Roguelike@CloseCollectionClose.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionContinue.png b/resource/template/Mizuki@Roguelike@CloseCollectionContinue.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionContinue.png rename to resource/template/Mizuki@Roguelike@CloseCollectionContinue.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2CloseEvent.png b/resource/template/Mizuki@Roguelike@CloseEvent.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2CloseEvent.png rename to resource/template/Mizuki@Roguelike@CloseEvent.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2CommissionedMissionCompleted.png b/resource/template/Mizuki@Roguelike@CommissionedMissionCompleted.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2CommissionedMissionCompleted.png rename to resource/template/Mizuki@Roguelike@CommissionedMissionCompleted.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Continue.png b/resource/template/Mizuki@Roguelike@Continue.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1Continue.png rename to resource/template/Mizuki@Roguelike@Continue.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2DataTraceback.png b/resource/template/Mizuki@Roguelike@DataTraceback.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2DataTraceback.png rename to resource/template/Mizuki@Roguelike@DataTraceback.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2DiceConfirm.png b/resource/template/Mizuki@Roguelike@DiceConfirm.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2DiceConfirm.png rename to resource/template/Mizuki@Roguelike@DiceConfirm.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1EnterAfterRecruit.png b/resource/template/Mizuki@Roguelike@EnterAfterRecruit.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1EnterAfterRecruit.png rename to resource/template/Mizuki@Roguelike@EnterAfterRecruit.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GamePass.png b/resource/template/Mizuki@Roguelike@GamePass.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GamePass.png rename to resource/template/Mizuki@Roguelike@GamePass.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GamePassSkip1.png b/resource/template/Mizuki@Roguelike@GamePassSkip1.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GamePassSkip1.png rename to resource/template/Mizuki@Roguelike@GamePassSkip1.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GamePassSkip1Confirm.png b/resource/template/Mizuki@Roguelike@GamePassSkip1Confirm.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GamePassSkip1Confirm.png rename to resource/template/Mizuki@Roguelike@GamePassSkip1Confirm.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDrop1.png b/resource/template/Mizuki@Roguelike@GetDrop1.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDrop1.png rename to resource/template/Mizuki@Roguelike@GetDrop1.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDrop2.png b/resource/template/Mizuki@Roguelike@GetDrop2.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDrop2.png rename to resource/template/Mizuki@Roguelike@GetDrop2.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDrop3.png b/resource/template/Mizuki@Roguelike@GetDrop3.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDrop3.png rename to resource/template/Mizuki@Roguelike@GetDrop3.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2GetDropBox.png b/resource/template/Mizuki@Roguelike@GetDropBox.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2GetDropBox.png rename to resource/template/Mizuki@Roguelike@GetDropBox.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2GetDropBoxSelect.png b/resource/template/Mizuki@Roguelike@GetDropBoxSelect.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2GetDropBoxSelect.png rename to resource/template/Mizuki@Roguelike@GetDropBoxSelect.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDropCompleted.png b/resource/template/Mizuki@Roguelike@GetDropCompleted.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDropCompleted.png rename to resource/template/Mizuki@Roguelike@GetDropCompleted.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDropLeave.png b/resource/template/Mizuki@Roguelike@GetDropLeave.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDropLeave.png rename to resource/template/Mizuki@Roguelike@GetDropLeave.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDropRecruit.png b/resource/template/Mizuki@Roguelike@GetDropRecruit.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDropRecruit.png rename to resource/template/Mizuki@Roguelike@GetDropRecruit.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDropSelect.png b/resource/template/Mizuki@Roguelike@GetDropSelect.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDropSelect.png rename to resource/template/Mizuki@Roguelike@GetDropSelect.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1GetDropSelectReward.png b/resource/template/Mizuki@Roguelike@GetDropSelectReward.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1GetDropSelectReward.png rename to resource/template/Mizuki@Roguelike@GetDropSelectReward.png diff --git a/resource/template/Roguelike1InitalDrop.png b/resource/template/Mizuki@Roguelike@InitalDrop.png similarity index 100% rename from resource/template/Roguelike1InitalDrop.png rename to resource/template/Mizuki@Roguelike@InitalDrop.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1LastReward.png b/resource/template/Mizuki@Roguelike@LastReward.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1LastReward.png rename to resource/template/Mizuki@Roguelike@LastReward.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1LastReward2.png b/resource/template/Mizuki@Roguelike@LastReward2.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1LastReward2.png rename to resource/template/Mizuki@Roguelike@LastReward2.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1LastReward3.png b/resource/template/Mizuki@Roguelike@LastReward3.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1LastReward3.png rename to resource/template/Mizuki@Roguelike@LastReward3.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2LastReward4.png b/resource/template/Mizuki@Roguelike@LastReward4.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2LastReward4.png rename to resource/template/Mizuki@Roguelike@LastReward4.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1LastRewardRand.png b/resource/template/Mizuki@Roguelike@LastRewardRand.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1LastRewardRand.png rename to resource/template/Mizuki@Roguelike@LastRewardRand.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2MapObject.png b/resource/template/Mizuki@Roguelike@MapObject.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2MapObject.png rename to resource/template/Mizuki@Roguelike@MapObject.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1MissionFailedFlag.png b/resource/template/Mizuki@Roguelike@MissionFailedFlag.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1MissionFailedFlag.png rename to resource/template/Mizuki@Roguelike@MissionFailedFlag.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1MissionFailedFlag2.png b/resource/template/Mizuki@Roguelike@MissionFailedFlag2.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1MissionFailedFlag2.png rename to resource/template/Mizuki@Roguelike@MissionFailedFlag2.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Recruit.png b/resource/template/Mizuki@Roguelike@Recruit.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1Recruit.png rename to resource/template/Mizuki@Roguelike@Recruit.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Recruit1.png b/resource/template/Mizuki@Roguelike@Recruit1.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1Recruit1.png rename to resource/template/Mizuki@Roguelike@Recruit1.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1RecruitConfirm.png b/resource/template/Mizuki@Roguelike@RecruitConfirm.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1RecruitConfirm.png rename to resource/template/Mizuki@Roguelike@RecruitConfirm.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageBoons.png b/resource/template/Mizuki@Roguelike@StageBoons.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageBoons.png rename to resource/template/Mizuki@Roguelike@StageBoons.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageCambatDps.png b/resource/template/Mizuki@Roguelike@StageCambatDps.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageCambatDps.png rename to resource/template/Mizuki@Roguelike@StageCambatDps.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageCambatDpsEnter.png b/resource/template/Mizuki@Roguelike@StageCambatDpsEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageCambatDpsEnter.png rename to resource/template/Mizuki@Roguelike@StageCambatDpsEnter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5.png b/resource/template/Mizuki@Roguelike@StageDreadfulFoe-5.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5.png rename to resource/template/Mizuki@Roguelike@StageDreadfulFoe-5.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5Enter.png b/resource/template/Mizuki@Roguelike@StageDreadfulFoe-5Enter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5Enter.png rename to resource/template/Mizuki@Roguelike@StageDreadfulFoe-5Enter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoe.png b/resource/template/Mizuki@Roguelike@StageDreadfulFoe.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoe.png rename to resource/template/Mizuki@Roguelike@StageDreadfulFoe.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoeEnter.png b/resource/template/Mizuki@Roguelike@StageDreadfulFoeEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoeEnter.png rename to resource/template/Mizuki@Roguelike@StageDreadfulFoeEnter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEmergencyDps.png b/resource/template/Mizuki@Roguelike@StageEmergencyDps.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEmergencyDps.png rename to resource/template/Mizuki@Roguelike@StageEmergencyDps.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEmergencyDpsEnter.png b/resource/template/Mizuki@Roguelike@StageEmergencyDpsEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEmergencyDpsEnter.png rename to resource/template/Mizuki@Roguelike@StageEmergencyDpsEnter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2StageEmergencyTransportation.png b/resource/template/Mizuki@Roguelike@StageEmergencyTransportation.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2StageEmergencyTransportation.png rename to resource/template/Mizuki@Roguelike@StageEmergencyTransportation.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEncounter.png b/resource/template/Mizuki@Roguelike@StageEncounter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEncounter.png rename to resource/template/Mizuki@Roguelike@StageEncounter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterEnter.png b/resource/template/Mizuki@Roguelike@StageEncounterEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterEnter.png rename to resource/template/Mizuki@Roguelike@StageEncounterEnter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterFree.png b/resource/template/Mizuki@Roguelike@StageEncounterFree.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterFree.png rename to resource/template/Mizuki@Roguelike@StageEncounterFree.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterLeave.png b/resource/template/Mizuki@Roguelike@StageEncounterLeave.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterLeave.png rename to resource/template/Mizuki@Roguelike@StageEncounterLeave.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterLeaveConfirm.png b/resource/template/Mizuki@Roguelike@StageEncounterLeaveConfirm.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterLeaveConfirm.png rename to resource/template/Mizuki@Roguelike@StageEncounterLeaveConfirm.png diff --git a/resource/template/Roguelike1StageEncounterSpecialClose.png b/resource/template/Mizuki@Roguelike@StageEncounterSpecialClose.png similarity index 100% rename from resource/template/Roguelike1StageEncounterSpecialClose.png rename to resource/template/Mizuki@Roguelike@StageEncounterSpecialClose.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterUnknown.png b/resource/template/Mizuki@Roguelike@StageEncounterUnknown.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageEncounterUnknown.png rename to resource/template/Mizuki@Roguelike@StageEncounterUnknown.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2StageGambling.png b/resource/template/Mizuki@Roguelike@StageGambling.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2StageGambling.png rename to resource/template/Mizuki@Roguelike@StageGambling.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2StageRegionalCommissioning.png b/resource/template/Mizuki@Roguelike@StageRegionalCommissioning.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2StageRegionalCommissioning.png rename to resource/template/Mizuki@Roguelike@StageRegionalCommissioning.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageSafeHouse.png b/resource/template/Mizuki@Roguelike@StageSafeHouse.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageSafeHouse.png rename to resource/template/Mizuki@Roguelike@StageSafeHouse.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageSafeHouseEnter.png b/resource/template/Mizuki@Roguelike@StageSafeHouseEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageSafeHouseEnter.png rename to resource/template/Mizuki@Roguelike@StageSafeHouseEnter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageTrader.png b/resource/template/Mizuki@Roguelike@StageTrader.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageTrader.png rename to resource/template/Mizuki@Roguelike@StageTrader.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageTraderEnter.png b/resource/template/Mizuki@Roguelike@StageTraderEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageTraderEnter.png rename to resource/template/Mizuki@Roguelike@StageTraderEnter.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2StageWindAndRain.png b/resource/template/Mizuki@Roguelike@StageWindAndRain.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike2StageWindAndRain.png rename to resource/template/Mizuki@Roguelike@StageWindAndRain.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Start.png b/resource/template/Mizuki@Roguelike@Start.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1Start.png rename to resource/template/Mizuki@Roguelike@Start.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Team3.png b/resource/template/Mizuki@Roguelike@Team3.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1Team3.png rename to resource/template/Mizuki@Roguelike@Team3.png diff --git a/resource/template/Roguelike1TeamConfirm.png b/resource/template/Mizuki@Roguelike@TeamConfirm.png similarity index 100% rename from resource/template/Roguelike1TeamConfirm.png rename to resource/template/Mizuki@Roguelike@TeamConfirm.png diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1TodoEnter.png b/resource/template/Mizuki@Roguelike@TodoEnter.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1TodoEnter.png rename to resource/template/Mizuki@Roguelike@TodoEnter.png diff --git a/resource/template/Roguelike1Abandon.png b/resource/template/Phantom@Roguelike@Abandon.png similarity index 100% rename from resource/template/Roguelike1Abandon.png rename to resource/template/Phantom@Roguelike@Abandon.png diff --git a/resource/template/Phantom@Roguelike@ChooseDifficulty.png b/resource/template/Phantom@Roguelike@ChooseDifficulty.png new file mode 100644 index 0000000000000000000000000000000000000000..1adf20cc4809f8417456f3c22803a04f3df054c2 GIT binary patch literal 6909 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 DaqBDo literal 0 HcmV?d00001 diff --git a/resource/template/Roguelike1CloseCollection.png b/resource/template/Phantom@Roguelike@CloseCollection.png similarity index 100% rename from resource/template/Roguelike1CloseCollection.png rename to resource/template/Phantom@Roguelike@CloseCollection.png diff --git a/resource/template/Roguelike1Continue.png b/resource/template/Phantom@Roguelike@Continue.png similarity index 100% rename from resource/template/Roguelike1Continue.png rename to resource/template/Phantom@Roguelike@Continue.png diff --git a/resource/template/Roguelike1EnterAfterRecruit.png b/resource/template/Phantom@Roguelike@EnterAfterRecruit.png similarity index 100% rename from resource/template/Roguelike1EnterAfterRecruit.png rename to resource/template/Phantom@Roguelike@EnterAfterRecruit.png diff --git a/resource/template/Roguelike1GamePass.png b/resource/template/Phantom@Roguelike@GamePass.png similarity index 100% rename from resource/template/Roguelike1GamePass.png rename to resource/template/Phantom@Roguelike@GamePass.png diff --git a/resource/template/Roguelike1GamePassSkip1.png b/resource/template/Phantom@Roguelike@GamePassSkip1.png similarity index 100% rename from resource/template/Roguelike1GamePassSkip1.png rename to resource/template/Phantom@Roguelike@GamePassSkip1.png diff --git a/resource/template/Roguelike1GamePassSkip1Confirm.png b/resource/template/Phantom@Roguelike@GamePassSkip1Confirm.png similarity index 100% rename from resource/template/Roguelike1GamePassSkip1Confirm.png rename to resource/template/Phantom@Roguelike@GamePassSkip1Confirm.png diff --git a/resource/template/Roguelike1GetDrop1.png b/resource/template/Phantom@Roguelike@GetDrop1.png similarity index 100% rename from resource/template/Roguelike1GetDrop1.png rename to resource/template/Phantom@Roguelike@GetDrop1.png diff --git a/resource/template/Roguelike1GetDrop2.png b/resource/template/Phantom@Roguelike@GetDrop2.png similarity index 100% rename from resource/template/Roguelike1GetDrop2.png rename to resource/template/Phantom@Roguelike@GetDrop2.png diff --git a/resource/template/Roguelike1GetDrop3.png b/resource/template/Phantom@Roguelike@GetDrop3.png similarity index 100% rename from resource/template/Roguelike1GetDrop3.png rename to resource/template/Phantom@Roguelike@GetDrop3.png diff --git a/resource/template/Roguelike1GetDropCompleted.png b/resource/template/Phantom@Roguelike@GetDropCompleted.png similarity index 100% rename from resource/template/Roguelike1GetDropCompleted.png rename to resource/template/Phantom@Roguelike@GetDropCompleted.png diff --git a/resource/template/Roguelike1GetDropLeave.png b/resource/template/Phantom@Roguelike@GetDropLeave.png similarity index 100% rename from resource/template/Roguelike1GetDropLeave.png rename to resource/template/Phantom@Roguelike@GetDropLeave.png diff --git a/resource/template/Roguelike1GetDropRecruit.png b/resource/template/Phantom@Roguelike@GetDropRecruit.png similarity index 100% rename from resource/template/Roguelike1GetDropRecruit.png rename to resource/template/Phantom@Roguelike@GetDropRecruit.png diff --git a/resource/template/Roguelike1GetDropSelect.png b/resource/template/Phantom@Roguelike@GetDropSelect.png similarity index 100% rename from resource/template/Roguelike1GetDropSelect.png rename to resource/template/Phantom@Roguelike@GetDropSelect.png diff --git a/resource/template/Roguelike1GetDropSelectReward.png b/resource/template/Phantom@Roguelike@GetDropSelectReward.png similarity index 100% rename from resource/template/Roguelike1GetDropSelectReward.png rename to resource/template/Phantom@Roguelike@GetDropSelectReward.png diff --git a/resource/template/Phantom@Roguelike@InitalDrop.png b/resource/template/Phantom@Roguelike@InitalDrop.png new file mode 100644 index 0000000000000000000000000000000000000000..f368ad94132913e25d747410a0abd81f768e0e2c GIT binary patch literal 2974 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 literal 0 HcmV?d00001 diff --git a/resource/template/Roguelike1StageEncounterUnknown.png b/resource/template/Phantom@Roguelike@StageEncounterUnknown.png similarity index 100% rename from resource/template/Roguelike1StageEncounterUnknown.png rename to resource/template/Phantom@Roguelike@StageEncounterUnknown.png diff --git a/resource/template/Roguelike1StageSafeHouse.png b/resource/template/Phantom@Roguelike@StageSafeHouse.png similarity index 100% rename from resource/template/Roguelike1StageSafeHouse.png rename to resource/template/Phantom@Roguelike@StageSafeHouse.png diff --git a/resource/template/Roguelike1StageSafeHouseEnter.png b/resource/template/Phantom@Roguelike@StageSafeHouseEnter.png similarity index 100% rename from resource/template/Roguelike1StageSafeHouseEnter.png rename to resource/template/Phantom@Roguelike@StageSafeHouseEnter.png diff --git a/resource/template/Roguelike1StageTrader.png b/resource/template/Phantom@Roguelike@StageTrader.png similarity index 100% rename from resource/template/Roguelike1StageTrader.png rename to resource/template/Phantom@Roguelike@StageTrader.png diff --git a/resource/template/Roguelike1StageTraderEnter.png b/resource/template/Phantom@Roguelike@StageTraderEnter.png similarity index 100% rename from resource/template/Roguelike1StageTraderEnter.png rename to resource/template/Phantom@Roguelike@StageTraderEnter.png diff --git a/resource/template/Roguelike1Start.png b/resource/template/Phantom@Roguelike@Start.png similarity index 100% rename from resource/template/Roguelike1Start.png rename to resource/template/Phantom@Roguelike@Start.png diff --git a/resource/template/Roguelike1Team3.png b/resource/template/Phantom@Roguelike@Team3.png similarity index 100% rename from resource/template/Roguelike1Team3.png rename to resource/template/Phantom@Roguelike@Team3.png diff --git a/resource/template/Phantom@Roguelike@TeamConfirm.png b/resource/template/Phantom@Roguelike@TeamConfirm.png new file mode 100644 index 0000000000000000000000000000000000000000..c1990edd1520fffa880c6e1ba995f9997f0cd27f GIT binary patch literal 19679 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

>&=HfXPE&;g=@@6 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�rPx`0wX!lS4f=&EnFH;BE$P6i-9h`9uKid5w=xr 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