diff --git a/config/template.json b/config/template.json index 112004c49e..99af228c03 100644 --- a/config/template.json +++ b/config/template.json @@ -33,6 +33,7 @@ "ResearchRecord": "do_not", "CommissionRecord": "do_not", "CombatRecord": "do_not", + "NewShipRecord": "do_not", "OpsiRecord": "do_not", "MeowfficerBuy": "do_not", "MeowfficerTalent": "do_not" diff --git a/module/combat/combat.py b/module/combat/combat.py index e35efac737..8433ae0f87 100644 --- a/module/combat/combat.py +++ b/module/combat/combat.py @@ -400,7 +400,7 @@ def handle_exp_info(self): return False - def handle_get_ship(self, drop=None): + def handle_get_ship(self, drop=None, skip_first_screenshot=True): """ Args: drop (DropImage): @@ -408,15 +408,38 @@ def handle_get_ship(self, drop=None): Returns: bool: """ - if self.appear_then_click(GET_SHIP, interval=1): + if not self.appear(GET_SHIP, interval=5): + return False + + if 'save' in self.config.DropRecord_NewShipRecord: + confirm_timer = Timer(3) + else: + confirm_timer = Timer(1) + + confirm_timer.start() + while 1: + if skip_first_screenshot: + skip_first_screenshot = False + else: + self.device.screenshot() + + # End + if confirm_timer.reached(): + break + if self.appear(NEW_SHIP): logger.info('Get a new SHIP') if drop: drop.handle_add(self) + with self.stat.new( + genre='new_ship', + method=self.config.DropRecord_NewShipRecord + ) as drop2: + drop2.handle_add(self, before=1.0) self.config.GET_SHIP_TRIGGERED = True - return True - - return False + break + self.device.click(GET_SHIP) + return True def handle_combat_mis_click(self): """ diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 1773dc1927..58b3a3d2cd 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -260,6 +260,14 @@ "save" ] }, + "NewShipRecord": { + "type": "select", + "value": "do_not", + "option": [ + "do_not", + "save" + ] + }, "OpsiRecord": { "type": "select", "value": "do_not", diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index c898e35284..7d48581928 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -111,6 +111,9 @@ DropRecord: CombatRecord: value: do_not option: [ do_not, save ] + NewShipRecord: + value: do_not + option: [ do_not, save ] OpsiRecord: value: do_not option: [ do_not, save, upload, save_and_upload ] diff --git a/module/config/config_generated.py b/module/config/config_generated.py index f5e2ec2263..98c400537f 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -50,6 +50,7 @@ class GeneratedConfig: DropRecord_ResearchRecord = 'do_not' # do_not, save, upload, save_and_upload DropRecord_CommissionRecord = 'do_not' # do_not, save, upload, save_and_upload DropRecord_CombatRecord = 'do_not' # do_not, save + DropRecord_NewShipRecord = 'do_not' # do_not, save DropRecord_OpsiRecord = 'do_not' # do_not, save, upload, save_and_upload DropRecord_MeowfficerBuy = 'do_not' # do_not, save DropRecord_MeowfficerTalent = 'do_not' # do_not, save, upload, save_and_upload diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index ac6160ec4d..b194cc9c1e 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -553,6 +553,12 @@ "do_not": "Do nothing", "save": "Save" }, + "NewShipRecord": { + "name": "New Ship Record", + "help": "", + "do_not": "Do nothing", + "save": "Save" + }, "OpsiRecord": { "name": "OpSi Record", "help": "", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index bf0dfe3a6e..454b2d40b6 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -553,6 +553,12 @@ "do_not": "do_not", "save": "save" }, + "NewShipRecord": { + "name": "DropRecord.NewShipRecord.name", + "help": "DropRecord.NewShipRecord.help", + "do_not": "do_not", + "save": "save" + }, "OpsiRecord": { "name": "DropRecord.OpsiRecord.name", "help": "DropRecord.OpsiRecord.help", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index eefe4bec8f..d1bf7d3d1d 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -553,6 +553,12 @@ "do_not": "无操作", "save": "保存" }, + "NewShipRecord": { + "name": "新船只掉落截图", + "help": "", + "do_not": "无操作", + "save": "保存" + }, "OpsiRecord": { "name": "大世界掉落截图", "help": "", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 87f452bc95..8cd111ffcf 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -553,6 +553,12 @@ "do_not": "無操作", "save": "保存" }, + "NewShipRecord": { + "name": "新船掉落截圖", + "help": "", + "do_not": "無操作", + "save": "保存" + }, "OpsiRecord": { "name": "大世界掉落截圖", "help": "",