From 8b9c653845f84715834db768e12f41789e4ca344 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 26 May 2026 22:38:38 +0800 Subject: [PATCH 1/9] Add: [CN, EN, JP] dev_tools.island_extractor --- dev_tools/island_extractor.py | 1052 ++++++++++++++++++++++++++++ module/island/data.py | 1213 +++++++++++++++++++++++++++++++++ 2 files changed, 2265 insertions(+) create mode 100644 dev_tools/island_extractor.py create mode 100644 module/island/data.py diff --git a/dev_tools/island_extractor.py b/dev_tools/island_extractor.py new file mode 100644 index 0000000000..70fd74f8f6 --- /dev/null +++ b/dev_tools/island_extractor.py @@ -0,0 +1,1052 @@ +import re + +from dev_tools.slpp import slpp +from dev_tools.utils import LuaLoader + + +class IslandItem: + def __init__(self, item): + """ + In the file 'sharecfg/island_item_data_template.lua': + id: serial of this item + name: name in server, default to CN + pt_num: pt value of this item + manage_influence: restaurant influence + order_price: price in order system + """ + self.id = item['id'] + # self.name = item['name'] + self.pt_num = item['pt_num'] + self.manage_influence = item['manage_influence'] + self.order_price = item['order_price'] + + def encode(self): + data = { + # 'id': self.id, + 'name': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'pt_num': self.pt_num, + 'manage_influence': self.manage_influence, + 'order_price': self.order_price, + } + return data + + +class IslandItemExtractor: + def __init__(self): + self.item = {} + + data = LOADER.load('sharecfg/island_item_data_template.lua', keyword='pg.base.island_item_data_template') + for index, item in data.items(): + if not isinstance(index, int) or 1 < index < 1000 or index > 100000: + continue + + self.item[item['id']] = IslandItem(item).encode() + + for index, name in self.extract_item_name('zh-CN').items(): + self.item[index]['name']['cn'] = name + for index, name in self.extract_item_name('en-US').items(): + self.item[index]['name']['en'] = name + for index, name in self.extract_item_name('ja-JP').items(): + self.item[index]['name']['jp'] = name + # for index, name in self.extract_item_name('zh-TW').items(): + # self.item[index]['name']['tw'] = name + + def extract_item_name(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_item_data_template.lua', keyword='pg.base.island_item_data_template') + out = {} + for index, item in data.items(): + if not isinstance(index, int) or 1 < index < 1000 or index > 100000: + continue + out[item['id']] = item['name'] + + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_ITEM = {') + lines.append(" 0: {'name': {'cn': '岛屿开发PT', 'en': 'Island Development Points', 'jp': '離島開発Pt'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0},") + for index, item in self.item.items(): + lines.append(f' {index}: {item},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, 'w', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + +def unpack_ingredient_dic(dic): + try: + result = {} + for _, entry in dic.items(): + # print(entry) + result[entry[0]] = entry[1] + return result + except TypeError: + print(dic) + raise + + +class IslandRecipe: + def __init__(self, recipe): + """ + In the file 'sharecfg/island_formula.lua': + id: serial of this recipe + name: name in server, default to CN + workload: using time with unit 0.1 second. + commission_cost: a nested dict of ingredients, each being a pair of item id and count + production_limit: consecutive commission upper bound for one commission handle + commission_product: a nested dict of products, each (only one) being a pair of item id and count + second_product_display: a nested dict of products, each being a pair of item id and count. + """ + self.id = recipe['id'] + # self.name = recipe['name'] + self.workload = recipe['workload'] + self.commission_cost = recipe['commission_cost'] + self.production_limit = recipe['production_limit'] + self.commission_product = recipe['commission_product'] + self.second_product_display = recipe['second_product_display'] + + def encode(self): + data = { + self.id: { + 'name': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'workload': self.workload, + 'commission_cost': unpack_ingredient_dic(self.commission_cost), + 'production_limit': self.production_limit, + 'commission_product': unpack_ingredient_dic(self.commission_product), + 'second_product_display': unpack_ingredient_dic(self.second_product_display), + } + } + return data + + +class IslandRecipeExtractor: + def __init__(self): + self.recipe = {} + data = LOADER.load('sharecfg/island_formula.lua') + for index, item in data.items(): + if not isinstance(index, int) or not (index // 10000 < 700 or index // 10000 >= 990): + continue + if item['attribute'] in [1, 2, 3, 4, 6]: + self.recipe.update(IslandRecipe(item).encode()) + + # print(item['id'], + # item['name'], + # item['workload'] // 10, + # item['commission_cost'], + # item['production_limit'], + # item['commission_product'], + # item['second_product_display']) + for index, name in self.extract_item_name('zh-CN').items(): + if index in self.recipe: + self.recipe[index]['name']['cn'] = name + for index, name in self.extract_item_name('en-US').items(): + if index in self.recipe: + self.recipe[index]['name']['en'] = name + for index, name in self.extract_item_name('ja-JP').items(): + if index in self.recipe: + self.recipe[index]['name']['jp'] = name + # for index, name in self.extract_item_name('zh-TW').items(): + # if index in self.recipe: + # self.recipe[index]['name']['tw'] = name + + def extract_item_name(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_formula.lua') + out = {} + for index, item in data.items(): + if not isinstance(index, int) or not (index // 10000 < 700 or index // 10000 >= 990): + continue + if item['attribute'] in [1, 2, 3, 4, 6]: + out[item['id']] = item['name'] + + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_RECIPE = {') + for index, recipe in self.recipe.items(): + lines.append(f' {index}: {recipe},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, '', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + +def unpack_activity_formula(dic): + try: + result = [] + for _, entry in dic.items(): + result += [item for _, item in entry[1].items()] + return result + except TypeError: + print(dic) + + +class IslandProduction: + def __init__(self, slot): + """ + In the file 'sharecfg/island_production_slot.lua': + attribute: 1 = agriculture, 2 = mineral, 3 = animal, 4 = restaurant, 6 = industry + place: slot position + exclusion_slot: id of slots that are exclusive to this slot, not necessary for our implementation + formula: applicable recipes + activity_formula: activity id and activity recipes + """ + self.id = slot['id'] + self.attribute = slot['attribute'] + self.place = slot['place'] + self.formula = [item for _, item in slot['formula'].items()] + self.activity_formula = unpack_activity_formula(slot['activity_formula']) + + def encode(self): + data = { + self.id: { + 'attribute': self.attribute, + 'place': self.place, + 'formula': self.formula, + 'activity_formula': self.activity_formula, + } + } + return data + + +class IslandProductionExtractor: + def __init__(self): + self.slot = {} + data = LOADER.load('sharecfg/island_production_slot.lua') + for index, item in data.items(): + if not isinstance(index, int) or index < 9000 or index > 10000: + continue + # print(item['attribute'], item['place'], item['formula'], item['activity_formula']) + self.slot.update(IslandProduction(item).encode()) + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_SLOT = {') + for index, slot in self.slot.items(): + lines.append(f' {index}: {slot},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, 'w', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + +def island_time_to_sql_time(island_time): + """ + island_time is like {0: {0: 2026, 1: 2, 2: 5}, 1: {0: 12, 1: 0, 2: 0}} + """ + year = island_time[0][0] + month = island_time[0][1] + day = island_time[0][2] + hour = island_time[1][0] + minute = island_time[1][1] + second = island_time[1][2] + return f'{year:04}-{month:02}-{day:02} {hour:02}:{minute:02}:{second:02}' + + + +# class IslandSeason: +# def __init__(self, season): +# """ +# In the file 'sharecfg/island_season.lua': +# id: serial of this season +# time: time range of this season +# task_list: list of tasks in this season +# """ +# # self.id = season['id'] +# self.start_time = island_time_to_sql_time(season['time'][0]) +# self.end_time = island_time_to_sql_time(season['time'][1]) +# self.task_list = [task for _, task in season['task_list'].items()] + +# def encode(self): +# data = { +# 'start_time': self.start_time, +# 'end_time': self.end_time, +# 'task_list': self.task_list, +# } +# return data + +# class IslandSeasonExtractor: +# def __init__(self): +# self.season = {} +# data = LOADER.load('sharecfg/island_season.lua') +# for index, item in data.items(): +# if not isinstance(index, int): +# continue +# # print(item['task_list'].values()) +# self.season[item['id']] = IslandSeason(item).encode() +# # print(self.season) + +# def encode(self): +# lines = [] +# lines.append('DIC_ISLAND_SEASON = {') +# for index, season in self.season.items(): +# lines.append(f' {index}: {season},') +# lines.append('}') +# return lines + +# def write(self, file): +# print(f'writing {file}') +# with open(file, 'w', encoding='utf-8') as f: +# for text in self.encode(): +# f.write(text + '\n') + +# def get_latest_season_index(self): +# return list(self.season.keys())[-1] +class Activity: + def __init__(self, activity): + """ + In the file 'sharecfg/activity_template.lua': + id: serial of this activity + type: + 5001: Specialties, Pearl Trade + 5002: Order + 5003: Wild Gather + 5004: Recipe + 800: + config_data: config data of this activity + """ + self.id = activity['id'] + self.type = activity['type'] + self.config_data = [config for _, config in activity['config_data'].items()] + + def encode(self): + data = { + 'type': self.type, + 'start_time': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'end_time': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'config_data': self.config_data, + } + return data + + +class IslandActivityExtractor: + def __init__(self): + self.activity = {} + data = LOADER.load('sharecfg/island_activity_template.lua') + for index, item in data.items(): + if not isinstance(index, int) or index < 990000: + continue + self.activity[index] = None + data = LOADER.load('sharecfg/activity_template.lua') + for index, item in data.items(): + if not isinstance(index, int) or not index in self.activity: + continue + self.activity[index] = Activity(item).encode() + for index, item in self.extract_item_name('zh-CN').items(): + if item['time'] == 'always': + self.activity[index]['start_time']['cn'] = None + self.activity[index]['end_time']['cn'] = None + elif isinstance(item['time'], dict) and item['time'][0] == 'timer': + try: + self.activity[index]['start_time']['cn'] = island_time_to_sql_time(item['time'][1]) + self.activity[index]['end_time']['cn'] = island_time_to_sql_time(item['time'][2]) + except KeyError as e: + print(self.activity[index]) + raise e + for index, item in self.extract_item_name('en-US').items(): + if item['time'] == 'always': + self.activity[index]['start_time']['en'] = None + self.activity[index]['end_time']['en'] = None + elif isinstance(item['time'], dict) and item['time'][0] == 'timer': + self.activity[index]['start_time']['en'] = island_time_to_sql_time(item['time'][1]) + self.activity[index]['end_time']['en'] = island_time_to_sql_time(item['time'][2]) + for index, item in self.extract_item_name('ja-JP').items(): + if item['time'] == 'always': + self.activity[index]['start_time']['jp'] = None + self.activity[index]['end_time']['jp'] = None + elif isinstance(item['time'], dict) and item['time'][0] == 'timer': + self.activity[index]['start_time']['jp'] = island_time_to_sql_time(item['time'][1]) + self.activity[index]['end_time']['jp'] = island_time_to_sql_time(item['time'][2]) + # for index, item in self.extract_item_name('zh-TW').items(): + # if item['time'] == 'always': + # self.activity[index]['start_time']['tw'] = None + # self.activity[index]['end_time']['tw'] = None + # elif isinstance(item['time'], dict) and item['time'][0] == 'timer': + # self.activity[index]['start_time']['tw'] = island_time_to_sql_time(item['time'][1]) + # self.activity[index]['end_time']['tw'] = island_time_to_sql_time(item['time'][2]) + + def extract_item_name(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/activity_template.lua') + out = {} + for index, item in data.items(): + if not isinstance(index, int) or not index in self.activity: + continue + out[item['id']] = item + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_ACTIVITY = {') + for index, activity in self.activity.items(): + lines.append(f' {index}: {activity},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, 'w', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + + +class IslandWildGatherExtractor: + def __init__(self): + item_id_to_count = { + 2606: 1, + 4001: 4, + 4002: 8, + 4003: 12, + 4004: 3, + 4015: 4, + 4016: 8, + 4017: 12, + 4018: 4, + 4029: 8, + 4030: 8, + 4031: 4, + 4032: 8, + } + self.gather = {} + data = LOADER.load('sharecfg/island_wild_gather.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + item_id = int(item['icon'].split('_')[-1]) + self.gather[index] = { + 'activity_id': item['activity_id'], + 'product': {item_id: item_id_to_count[item_id]}, + } + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_WILD_GATHER = {') + for index, gather in self.gather.items(): + lines.append(f' {index}: {gather},') + lines.append('}') + return lines + + + +class IslandProductionMiningExtractor: + def __init__(self): + self.mining = {} + for index in range(40101, 40110): + self.mining[index] = {2700: 8} + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_PRODUCTION_MINING = {') + for index, mining in self.mining.items(): + lines.append(f' {index}: {mining},') + lines.append('}') + return lines + + +class IslandProductionLoggingExtractor: + def __init__(self): + self.logging = {} + for index in range(40201, 40210): + self.logging[index] = {2800: 8} + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_PRODUCTION_LOGGING = {') + for index, logging in self.logging.items(): + lines.append(f' {index}: {logging},') + lines.append('}') + return lines + +class IslandSeasonExtractor: + def __init__(self, activity_dict=None): + self.season = {} + data = LOADER.load('sharecfg/island_season.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + self.season[item['id']] = { + 'start_time': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'end_time': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'task_list': [task for _, task in item['task_list'].items()], + } + for index, item in self.extract_item_name('zh-CN').items(): + self.season[index]['start_time']['cn'] = island_time_to_sql_time(item['time'][0]) + self.season[index]['end_time']['cn'] = island_time_to_sql_time(item['time'][1]) + for index, item in self.extract_item_name('en-US').items(): + self.season[index]['start_time']['en'] = island_time_to_sql_time(item['time'][0]) + self.season[index]['end_time']['en'] = island_time_to_sql_time(item['time'][1]) + for index, item in self.extract_item_name('ja-JP').items(): + self.season[index]['start_time']['jp'] = island_time_to_sql_time(item['time'][0]) + self.season[index]['end_time']['jp'] = island_time_to_sql_time(item['time'][1]) + # for index, item in self.extract_item_name('zh-TW').items(): + # self.season[index]['start_time']['tw'] = island_time_to_sql_time(item['time'][0]) + # self.season[index]['end_time']['tw'] = island_time_to_sql_time(item['time'][1]) + if activity_dict is None: + print('activity_dict is None, skipping season-activity matching') + return + for index, season in self.season.items(): + for activity_id, activity in activity_dict.items(): + if season['start_time']['cn'] is not None and season['end_time']['cn'] is not None and activity['start_time']['cn'] is not None and activity['end_time']['cn'] is not None: + if season['start_time']['cn'] == activity['start_time']['cn'] and season['end_time']['cn'] == activity['end_time']['cn']: + season.setdefault('activity', []).append(activity_id) + + def extract_item_name(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_season.lua') + out = {} + for index, item in data.items(): + if not isinstance(index, int): + continue + out[item['id']] = item + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_SEASON = {') + for index, season in self.season.items(): + lines.append(f' {index}: {season},') + lines.append('}') + return lines + + +class IslandTaskExtractor: + def __init__(self): + self.task = {} + target_id_to_task_id = {} + data = LOADER.load('sharecfg/island_task.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + self.task[item['id']] = { + 'name': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'target_id': item['target_id'][0], + 'target': {}, + 'start_time': { + 'cn': None, + 'en': None, + 'jp': None, + # 'tw': None, + }, + 'end_time': { + 'cn': None, + 'en': None, + 'jp': None, + # 'tw': None, + }, + } + target_id_to_task_id[item['target_id'][0]] = item['id'] + for index, item in self.extract_item('zh-CN').items(): + self.task[index]['name']['cn'] = item['name'] + time_dict = item['unlock_time'] + if time_dict == 'stop': + self.task[index]['start_time']['cn'] = None + self.task[index]['end_time']['cn'] = None + elif time_dict == 'always': + self.task[index]['start_time']['cn'] = 'always' + self.task[index]['end_time']['cn'] = 'always' + else: + self.task[index]['start_time']['cn'] = island_time_to_sql_time(time_dict[0]) + self.task[index]['end_time']['cn'] = island_time_to_sql_time(time_dict[1]) + for index, item in self.extract_item('en-US').items(): + self.task[index]['name']['en'] = item['name'] + time_dict = item['unlock_time'] + if time_dict == 'stop': + self.task[index]['start_time']['en'] = None + self.task[index]['end_time']['en'] = None + elif time_dict == 'always': + self.task[index]['start_time']['en'] = 'always' + self.task[index]['end_time']['en'] = 'always' + else: + self.task[index]['start_time']['en'] = island_time_to_sql_time(time_dict[0]) + self.task[index]['end_time']['en'] = island_time_to_sql_time(time_dict[1]) + for index, item in self.extract_item('ja-JP').items(): + self.task[index]['name']['jp'] = item['name'] + time_dict = item['unlock_time'] + if time_dict == 'stop': + self.task[index]['start_time']['jp'] = None + self.task[index]['end_time']['jp'] = None + elif time_dict == 'always': + self.task[index]['start_time']['jp'] = 'always' + self.task[index]['end_time']['jp'] = 'always' + else: + self.task[index]['start_time']['jp'] = island_time_to_sql_time(time_dict[0]) + self.task[index]['end_time']['jp'] = island_time_to_sql_time(time_dict[1]) + # for index, item in self.extract_item('zh-TW').items(): + # self.task[index]['name']['tw'] = item['name'] + # time_dict = item['unlock_time'] + # if time_dict == 'stop': + # self.task[index]['start_time']['tw'] = None + # self.task[index]['end_time']['tw'] = None + # elif time_dict == 'always': + # self.task[index]['start_time']['tw'] = 'always' + # self.task[index]['end_time']['tw'] = 'always' + # else: + # self.task[index]['start_time']['tw'] = island_time_to_sql_time(time_dict[0]) + # self.task[index]['end_time']['tw'] = island_time_to_sql_time(time_dict[1]) + + data = LOADER.load('sharecfg/island_task_target.lua') + for index, item in data.items(): + if not isinstance(index, int) or not item['id'] in target_id_to_task_id: + continue + task_id = target_id_to_task_id[item['id']] + if isinstance(item['target_param'], dict): + self.task[task_id]['target'] = {item['target_param'][0]: item['target_num']} + + def extract_item(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_task.lua') + out = {} + for index, item in data.items(): + if not isinstance(index, int) or not item['id'] in self.task.keys(): + continue + out[item['id']] = item + + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_TASK = {') + for index, task in self.task.items(): + lines.append(f' {index}: {task},') + lines.append('}') + return lines + + +class IslandShopItemExtractor: + def __init__(self): + self.item = {} + data = LOADER.load('sharecfg/island_shop_goods.lua', keyword='pg.base.island_shop_goods') + for index, item in data.items(): + if not isinstance(index, int) or index < 100000 or index >= 412000: + continue + self.item[index] = { + 'name': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'resource_consume': {item['resource_consume'][1]: item['resource_consume'][2]}, + 'items': { + itm[1]: itm[2] for _, itm in item['items'].items() + }, + 'start_time': { + 'cn': None, + 'en': None, + 'jp': None, + # 'tw': None, + }, + 'end_time': { + 'cn': None, + 'en': None, + 'jp': None, + # 'tw': None, + } + } + + for index, item in self.extract_item('zh-CN').items(): + self.item[index]['name']['cn'] = item['goods_name'] + time_dict = item['time'] + if time_dict == 'always': + self.item[index]['start_time']['cn'] = 'always' + self.item[index]['end_time']['cn'] = 'always' + else: + self.item[index]['start_time']['cn'] = island_time_to_sql_time(time_dict[0]) + self.item[index]['end_time']['cn'] = island_time_to_sql_time(time_dict[1]) + for index, item in self.extract_item('en-US').items(): + self.item[index]['name']['en'] = item['goods_name'] + time_dict = item['time'] + if time_dict == 'always': + self.item[index]['start_time']['en'] = 'always' + self.item[index]['end_time']['en'] = 'always' + else: + self.item[index]['start_time']['en'] = island_time_to_sql_time(time_dict[0]) + self.item[index]['end_time']['en'] = island_time_to_sql_time(time_dict[1]) + for index, item in self.extract_item('ja-JP').items(): + self.item[index]['name']['jp'] = item['goods_name'] + time_dict = item['time'] + if time_dict == 'always': + self.item[index]['start_time']['jp'] = 'always' + self.item[index]['end_time']['jp'] = 'always' + else: + self.item[index]['start_time']['jp'] = island_time_to_sql_time(time_dict[0]) + self.item[index]['end_time']['jp'] = island_time_to_sql_time(time_dict[1]) + # for index, item in self.extract_item('zh-TW').items(): + # self.item[index]['name']['tw'] = item['goods_name'] + # time_dict = item['time'] + # if time_dict == 'always': + # self.item[index]['start_time']['tw'] = 'always' + # self.item[index]['end_time']['tw'] = 'always' + # else: + # self.item[index]['start_time']['tw'] = island_time_to_sql_time(time_dict[0]) + # self.item[index]['end_time']['tw'] = island_time_to + def extract_item(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_shop_goods.lua', keyword='pg.base.island_shop_goods') + out = {} + for index, item in data.items(): + if not isinstance(index, int) or index < 100000 or index >= 412000: + continue + out[index] = item + + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_SHOP_RECIPE = {') + for index, item in self.item.items(): + lines.append(f' {index}: {item},') + lines.append('}') + return lines + + + +class IslandExchangeRecipeExtractor: + def __init__(self): + self.item = {} + data = LOADER.load('sharecfg/island_exchange_template.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + self.item[index] = { + 'resource_consume': {item['origin_item']: 1}, + 'items': { + item['target_item']: item['target_num'] + }, + } + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_EXCHANGE_RECIPE = {') + for index, item in self.item.items(): + lines.append(f' {index}: {item},') + lines.append('}') + return lines + + +# class IslandSeasonalTaskExtractor(IslandSeasonExtractor): +# def __init__(self): +# super().__init__() +# self.target_id_to_task_id = {} +# current_season = self.get_latest_season_index() +# self.task_list = self.season[current_season]['task_list'] +# print(self.task_list) +# self.task = {} +# data = LOADER.load('sharecfg/island_task.lua', keyword='pg.base.island_task') +# for index, item in data.items(): +# if not isinstance(index, int): +# continue +# if item['id'] not in self.task_list: +# continue +# self.task[item['id']] = { +# 'name': { +# 'cn': '', +# 'en': '', +# 'jp': '', +# # 'tw': '', +# }, +# 'target_id': item['target_id'][0], +# } +# self.target_id_to_task_id[item['target_id'][0]] = item['id'] +# for index, name in self.extract_item_name('zh-CN').items(): +# self.task[index]['name']['cn'] = name +# for index, name in self.extract_item_name('en-US').items(): +# self.task[index]['name']['en'] = name +# for index, name in self.extract_item_name('ja-JP').items(): +# self.task[index]['name']['jp'] = name +# # for index, name in self.extract_item_name('zh-TW').items(): +# # self.item[index]['name']['tw'] = name +# data = LOADER.load('sharecfg/island_task_target.lua', keyword='pg.base.island_task_target') +# for index, item in data.items(): +# if not isinstance(index, int): +# continue +# if item['id'] not in self.target_id_to_task_id: +# continue +# task_id = self.target_id_to_task_id[item['id']] +# if isinstance(item['target_param'], dict): +# self.task[task_id]['target'] = {item['target_param'][0]: item['target_num']} +# else: +# self.task[task_id]['target'] = {} + +# def extract_item_name(self, server): +# LOADER.server = server +# data = LOADER.load('sharecfg/island_task.lua', keyword='pg.base.island_task') +# out = {} +# for index, item in data.items(): +# if not isinstance(index, int) or not item['id'] in self.task.keys(): +# continue +# out[item['id']] = item['name'] + +# return out + +# def encode(self): +# lines = [] +# lines.append('DIC_ISLAND_SEASONAL_TASK = {') +# for index, task in self.task.items(): +# lines.append(f' {index}: {task},') +# lines.append('}') +# return lines + +# def write(self, file): +# print(f'writing {file}') +# with open(file, 'w', encoding='utf-8') as f: +# for text in self.encode(): +# f.write(text + '\n') + + + + + +class IslandProductionCommission: + def __init__(self): + self.commission = {} + data = LOADER.load('sharecfg/island_production_commission.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + self.commission[index] = item['slot'] + + + +class IslandProductionPlaceExtractor(IslandProductionCommission): + def __init__(self): + super().__init__() + self.place = {} + data = LOADER.load('sharecfg/island_production_place.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + self.place[index] = { + 'name': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'slot': [self.commission[slot_id] for slot_id in item['commission_slot'].values()] + } + for index, name in self.extract_place_name('zh-CN').items(): + self.place[index]['name']['cn'] = name + for index, name in self.extract_place_name('en-US').items(): + self.place[index]['name']['en'] = name + for index, name in self.extract_place_name('ja-JP').items(): + self.place[index]['name']['jp'] = name + # for index, name in self.extract_place_name('zh-TW').items(): + # self.item[index]['name']['tw'] = name + + def extract_place_name(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_production_place.lua') + out = {} + for index, item in data.items(): + if not isinstance(index, int): + continue + out[item['id']] = item['name'] + + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_PRODUCTION_PLACE = {') + for index, place in self.place.items(): + lines.append(f' {index}: {place},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, 'w', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + +class IslandRestaurantExtractor: + def __init__(self): + self.restaurant = {} + data = LOADER.load('sharecfg/island_manage_restaurant.lua') + for index, item in data.items(): + if not isinstance(index, int): + continue + self.restaurant.update({ + item['id']: { + recipe[0]: recipe[1] for _, recipe in item['item_id'].items() + } + }) + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE = {') + for index, restaurant in self.restaurant.items(): + lines.append(f' {index}: {restaurant},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, 'w', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + +class IslandTechnology: + def __init__(self, item): + self.id = item['id'] + self.tech_belong = item['tech_belong'] + self.axis_x = item['axis'][0] + self.axis_y = item['axis'][1] + self.island_level = item['island_level'] + + def encode(self): + data = { + 'name': { + 'cn': '', + 'en': '', + 'jp': '', + # 'tw': '', + }, + 'tech_belong': self.tech_belong, + 'axis': (self.axis_x, self.axis_y), + 'island_level': self.island_level, + } + return data + +class IslandTechnologyExtractor: + def __init__(self): + self.item = {} + + data = LOADER.load('sharecfg/island_technology_template.lua', keyword='pg.base.island_technology_template') + for index, item in data.items(): + if not isinstance(index, int) or item['tech_belong'] == 1: + continue + + self.item[item['id']] = IslandTechnology(item).encode() + + for index, name in self.extract_item_name('zh-CN').items(): + self.item[index]['name']['cn'] = name + for index, name in self.extract_item_name('en-US').items(): + self.item[index]['name']['en'] = name + for index, name in self.extract_item_name('ja-JP').items(): + self.item[index]['name']['jp'] = name + # for index, name in self.extract_item_name('zh-TW').items(): + # self.item[index]['name']['tw'] = name + + # sort by id + self.item = dict(sorted(self.item.items(), key=lambda x: x[0])) + + def extract_item_name(self, server): + LOADER.server = server + data = LOADER.load('sharecfg/island_technology_template.lua', keyword='pg.base.island_technology_template') + out = {} + for index, item in data.items(): + if not isinstance(index, int) or item['tech_belong'] == 1: + continue + out[item['id']] = item['tech_name'] + + return out + + def encode(self): + lines = [] + lines.append('DIC_ISLAND_TECHNOLOGY = {') + for index, item in self.item.items(): + lines.append(f' {index}: {item},') + lines.append('}') + return lines + + def write(self, file): + print(f'writing {file}') + with open(file, 'w', encoding='utf-8') as f: + for text in self.encode(): + f.write(text + '\n') + + +if __name__ == '__main__': + FILE = '../AzurLaneLuaScripts' + LOADER = LuaLoader(FILE, server='CN') + save = './module/island/data.py' + + lines = [] + lines.append('# This file was automatically generated by dev_tools/island_extractor.py') + lines.append("# Don't modify it manually.") + lines.append('') + + lines += IslandItemExtractor().encode() + lines.append('') + lines += IslandRecipeExtractor().encode() + lines.append('') + lines += IslandProductionExtractor().encode() + lines.append('') + activity_extractor = IslandActivityExtractor() + lines += activity_extractor.encode() + lines.append('') + lines += IslandWildGatherExtractor().encode() + lines.append('') + lines += IslandProductionMiningExtractor().encode() + lines.append('') + lines += IslandProductionLoggingExtractor().encode() + lines.append('') + lines += IslandSeasonExtractor(activity_extractor.activity).encode() + lines.append('') + lines += IslandShopItemExtractor().encode() + lines.append('') + lines += IslandExchangeRecipeExtractor().encode() + lines.append('') + lines += IslandTaskExtractor().encode() + lines.append('') + lines += IslandRestaurantExtractor().encode() + lines.append('') + lines += IslandTechnologyExtractor().encode() + lines.append('') + lines += IslandProductionPlaceExtractor().encode() + with open(save, 'w', encoding='utf-8') as f: + for text in lines: + f.write(text + '\n') diff --git a/module/island/data.py b/module/island/data.py new file mode 100644 index 0000000000..e0b6919d68 --- /dev/null +++ b/module/island/data.py @@ -0,0 +1,1213 @@ +# This file was automatically generated by dev_tools/island_extractor.py +# Don't modify it manually. + +DIC_ISLAND_ITEM = { + 0: {'name': {'cn': '岛屿开发PT', 'en': 'Island Development Points', 'jp': '離島開発Pt'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1: {'name': {'cn': '开发资金', 'en': 'Development Funds', 'jp': '開発資金'}, 'pt_num': 0, 'manage_influence': 0, 'order_price': 1}, + 1000: {'name': {'cn': '小麦种子', 'en': 'Wheat Seeds', 'jp': '小麦の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1001: {'name': {'cn': '玉米种子', 'en': 'Corn Seeds', 'jp': 'とうもろこしの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1002: {'name': {'cn': '旱稻种子', 'en': 'Upland Rice Seeds', 'jp': '陸稲の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1003: {'name': {'cn': '白菜种子', 'en': 'Napa Cabbage Seeds', 'jp': '白菜の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1004: {'name': {'cn': '胡萝卜种子', 'en': 'Carrot Seeds', 'jp': 'ニンジンの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1005: {'name': {'cn': '土豆种子', 'en': 'Potato Seeds', 'jp': 'じゃがいもの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1006: {'name': {'cn': '大豆种子', 'en': 'Soy Bean Seeds', 'jp': '大豆の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1007: {'name': {'cn': '洋葱种子', 'en': 'Onion Seeds', 'jp': '玉ねぎの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1008: {'name': {'cn': '牧草种子', 'en': 'Grass Seeds', 'jp': '牧草の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1009: {'name': {'cn': '咖啡树种', 'en': 'Coffee Tree Seeds', 'jp': 'コーヒーの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1010: {'name': {'cn': '亚麻种子', 'en': 'Flax Seeds', 'jp': '亜麻の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1011: {'name': {'cn': '草莓种子', 'en': 'Strawberry Seeds', 'jp': 'いちごの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1012: {'name': {'cn': '棉花种子', 'en': 'Cotton Seeds', 'jp': '綿の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1014: {'name': {'cn': '茶树种子', 'en': 'Tea Tree Seeds', 'jp': '茶の木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1015: {'name': {'cn': '薰衣草种子', 'en': 'Lavender Seeds', 'jp': 'ラベンダーの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1016: {'name': {'cn': '苹果树种', 'en': 'Apple Tree Seeds', 'jp': 'りんごの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1017: {'name': {'cn': '柑橘树种', 'en': 'Citrus Fruit Tree Seeds', 'jp': '柑橘類の木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1018: {'name': {'cn': '香蕉树种', 'en': 'Banana Tree Seed', 'jp': 'バナナの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1019: {'name': {'cn': '芒果树种', 'en': 'Mango Tree Seeds', 'jp': 'マンゴーの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1020: {'name': {'cn': '柠檬树种', 'en': 'Lemon Tree Seed', 'jp': 'レモンの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1021: {'name': {'cn': '牛油果树种', 'en': 'Avocado Tree Seeds', 'jp': 'アボカドの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1022: {'name': {'cn': '橡胶树种', 'en': 'Rubber Tree Seeds', 'jp': 'ゴムの木の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1101: {'name': {'cn': '贝苗', 'en': 'Shellfish Spat', 'jp': '稚貝'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1102: {'name': {'cn': '鲶鱼苗', 'en': 'Catfish Fry', 'jp': 'ナマズの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1103: {'name': {'cn': '鲤鱼苗', 'en': 'Koi Carp Fry', 'jp': 'コイの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1104: {'name': {'cn': '鲫鱼苗', 'en': 'Common Carp Fry', 'jp': 'フナの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1105: {'name': {'cn': '小河虾苗', 'en': 'Freshwater Shrimp Fry', 'jp': '稚エビ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1106: {'name': {'cn': '小龙虾苗', 'en': 'Crayfish Fry', 'jp': '稚ザリ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1107: {'name': {'cn': '鲈鱼苗', 'en': 'Sea Bass Fry', 'jp': 'スズキの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1108: {'name': {'cn': '蟹苗', 'en': 'Juvenile Crab', 'jp': '稚ガニ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1201: {'name': {'cn': '鱿鱼苗', 'en': 'Squid Fry', 'jp': '稚イカ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1202: {'name': {'cn': '马鲛鱼苗', 'en': 'Mackerel Fry', 'jp': 'サワラの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1203: {'name': {'cn': '金枪鱼苗', 'en': 'Tuna Fry', 'jp': 'マグロの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1204: {'name': {'cn': '三文鱼苗', 'en': 'Salmon Fry', 'jp': 'サーモンの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1205: {'name': {'cn': '红鲷鱼苗', 'en': 'Red Sea Bream Fry', 'jp': 'マダイの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1206: {'name': {'cn': '黑鲷鱼苗', 'en': 'Black Porgy Fry', 'jp': 'クロダイの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1207: {'name': {'cn': '黄鳍金枪鱼苗', 'en': 'Yellowfin Tuna Fry', 'jp': 'キハダの稚魚'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1208: {'name': {'cn': '海参苗', 'en': 'Sea Cucumber Fry', 'jp': '稚ナマコ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 1500: {'name': {'cn': '蚯蚓', 'en': 'Earthworm', 'jp': 'ミミズ'}, 'pt_num': 0, 'manage_influence': 0, 'order_price': 0}, + 1501: {'name': {'cn': '玉米粒', 'en': 'Corn', 'jp': 'コーン'}, 'pt_num': 0, 'manage_influence': 0, 'order_price': 0}, + 1502: {'name': {'cn': '虾仁', 'en': 'Shelled Shrimp', 'jp': 'むきエビ'}, 'pt_num': 0, 'manage_influence': 0, 'order_price': 0}, + 1503: {'name': {'cn': '章鱼须', 'en': 'Octopus Arm', 'jp': 'タコ足'}, 'pt_num': 0, 'manage_influence': 0, 'order_price': 0}, + 2000: {'name': {'cn': '小麦', 'en': 'Wheat', 'jp': '小麦'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 8}, + 2001: {'name': {'cn': '玉米', 'en': 'Corn', 'jp': 'とうもろこし'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 8}, + 2002: {'name': {'cn': '大米', 'en': 'Rice', 'jp': '米'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 17}, + 2003: {'name': {'cn': '白菜', 'en': 'Napa Cabbage', 'jp': '白菜'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 14}, + 2004: {'name': {'cn': '胡萝卜', 'en': 'Carrot', 'jp': 'ニンジン'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 34}, + 2005: {'name': {'cn': '土豆', 'en': 'Potato', 'jp': 'じゃがいも'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 33}, + 2006: {'name': {'cn': '大豆', 'en': 'Soy Beans', 'jp': '大豆'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 14}, + 2007: {'name': {'cn': '洋葱', 'en': 'Onion', 'jp': '玉ねぎ'}, 'pt_num': 24, 'manage_influence': 0, 'order_price': 244}, + 2008: {'name': {'cn': '牧草', 'en': 'Grass', 'jp': '牧草'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 11}, + 2009: {'name': {'cn': '咖啡豆', 'en': 'Coffee Beans', 'jp': 'コーヒー豆'}, 'pt_num': 6, 'manage_influence': 0, 'order_price': 68}, + 2010: {'name': {'cn': '亚麻', 'en': 'Flax', 'jp': '亜麻'}, 'pt_num': 6, 'manage_influence': 0, 'order_price': 72}, + 2011: {'name': {'cn': '草莓', 'en': 'Strawberries', 'jp': 'いちご'}, 'pt_num': 5, 'manage_influence': 0, 'order_price': 54}, + 2012: {'name': {'cn': '棉花', 'en': 'Cotton', 'jp': '綿'}, 'pt_num': 6, 'manage_influence': 0, 'order_price': 92}, + 2014: {'name': {'cn': '茶叶', 'en': 'Tea Leaves', 'jp': '茶葉'}, 'pt_num': 14, 'manage_influence': 0, 'order_price': 118}, + 2015: {'name': {'cn': '薰衣草', 'en': 'Lavender', 'jp': 'ラベンダー'}, 'pt_num': 35, 'manage_influence': 0, 'order_price': 294}, + 2016: {'name': {'cn': '苹果', 'en': 'Apple', 'jp': 'りんご'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 50}, + 2017: {'name': {'cn': '柑橘', 'en': 'Citrus Fruit', 'jp': '柑橘フルーツ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 65}, + 2018: {'name': {'cn': '香蕉', 'en': 'Banana', 'jp': 'バナナ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 80}, + 2019: {'name': {'cn': '芒果', 'en': 'Mango', 'jp': 'マンゴー'}, 'pt_num': 18, 'manage_influence': 0, 'order_price': 180}, + 2020: {'name': {'cn': '柠檬', 'en': 'Lemon', 'jp': 'レモン'}, 'pt_num': 3, 'manage_influence': 0, 'order_price': 32}, + 2021: {'name': {'cn': '牛油果', 'en': 'Avocado', 'jp': 'アボカド'}, 'pt_num': 45, 'manage_influence': 0, 'order_price': 375}, + 2022: {'name': {'cn': '橡胶', 'en': 'Rubber', 'jp': 'ゴム'}, 'pt_num': 30, 'manage_influence': 0, 'order_price': 250}, + 2521: {'name': {'cn': '淡水鱼肉', 'en': 'Freshwater Fish Meat', 'jp': '淡水魚の肉'}, 'pt_num': 18, 'manage_influence': 0, 'order_price': 180}, + 2522: {'name': {'cn': '海水鱼肉', 'en': 'Saltwater Fish Meat', 'jp': '海水魚の肉'}, 'pt_num': 48, 'manage_influence': 0, 'order_price': 400}, + 2600: {'name': {'cn': '鲜肉', 'en': 'Fresh Meat', 'jp': '新鮮な肉'}, 'pt_num': 2, 'manage_influence': 0, 'order_price': 200}, + 2601: {'name': {'cn': '鸡蛋', 'en': 'Eggs', 'jp': '卵'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 55}, + 2602: {'name': {'cn': '禽肉', 'en': 'Poultry', 'jp': '鶏肉'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 20}, + 2603: {'name': {'cn': '牛奶', 'en': 'Milk', 'jp': '牛乳'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 136}, + 2604: {'name': {'cn': '皮料', 'en': 'Pelt', 'jp': '皮素材'}, 'pt_num': 10, 'manage_influence': 0, 'order_price': 95}, + 2605: {'name': {'cn': '羊毛', 'en': 'Wool', 'jp': '羊毛'}, 'pt_num': 72, 'manage_influence': 0, 'order_price': 600}, + 2606: {'name': {'cn': '新鲜蜂蜜', 'en': 'Fresh Honey', 'jp': '新鮮なはちみつ'}, 'pt_num': 2, 'manage_influence': 0, 'order_price': 200}, + 2700: {'name': {'cn': '煤炭', 'en': 'Coal', 'jp': '石炭'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 12}, + 2701: {'name': {'cn': '铜矿', 'en': 'Copper Ore', 'jp': '銅鉱石'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 100}, + 2702: {'name': {'cn': '铝矿', 'en': 'Bauxite Ore', 'jp': 'アルミ鉱石'}, 'pt_num': 30, 'manage_influence': 0, 'order_price': 300}, + 2703: {'name': {'cn': '铁矿', 'en': 'Iron Ore', 'jp': '鉄鉱石'}, 'pt_num': 18, 'manage_influence': 0, 'order_price': 180}, + 2704: {'name': {'cn': '硫矿', 'en': 'Sulfur', 'jp': '硫黄鉱石'}, 'pt_num': 80, 'manage_influence': 0, 'order_price': 700}, + 2705: {'name': {'cn': '银矿', 'en': 'Silver Ore', 'jp': '銀鉱石'}, 'pt_num': 240, 'manage_influence': 0, 'order_price': 1600}, + 2800: {'name': {'cn': '自然之木', 'en': 'Raw Timber', 'jp': '大自然の原木'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 12}, + 2801: {'name': {'cn': '实用之木', 'en': 'Workable Wood', 'jp': '実用の木材'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 125}, + 2802: {'name': {'cn': '精选之木', 'en': 'Premium Wood', 'jp': 'プレミアム木材'}, 'pt_num': 36, 'manage_influence': 0, 'order_price': 360}, + 2803: {'name': {'cn': '典雅之木', 'en': 'Elegant Wood', 'jp': 'エレガント木材'}, 'pt_num': 180, 'manage_influence': 0, 'order_price': 1200}, + 3000: {'name': {'cn': '咯咯鸡饲料', 'en': 'Clucky Clucky Bird Feed', 'jp': 'コッコートリの餌'}, 'pt_num': 3, 'manage_influence': 0, 'order_price': 25}, + 3001: {'name': {'cn': '哼哼猪饲料', 'en': 'Oinky Oinky Pig Feed', 'jp': 'ブーブーブタの餌'}, 'pt_num': 3, 'manage_influence': 0, 'order_price': 25}, + 3002: {'name': {'cn': '哞哞牛饲料', 'en': 'Moo Moo Cow Feed', 'jp': 'モーモーウシの餌'}, 'pt_num': 4, 'manage_influence': 0, 'order_price': 40}, + 3003: {'name': {'cn': '咩咩羊饲料', 'en': 'Baa Baa Sheep Feed', 'jp': 'メェメーヒツジの餌'}, 'pt_num': 4, 'manage_influence': 0, 'order_price': 40}, + 3004: {'name': {'cn': '面粉', 'en': 'Flour', 'jp': '小麦粉'}, 'pt_num': 6, 'manage_influence': 0, 'order_price': 50}, + 3005: {'name': {'cn': '冰咖啡', 'en': 'Iced Coffee', 'jp': 'アイスコーヒー'}, 'pt_num': 15, 'manage_influence': 190, 'order_price': 95}, + 3006: {'name': {'cn': '芝士', 'en': 'Cheese', 'jp': 'チーズ'}, 'pt_num': 55, 'manage_influence': 150, 'order_price': 550}, + 3007: {'name': {'cn': '拿铁', 'en': 'Latte', 'jp': 'ラテ'}, 'pt_num': 25, 'manage_influence': 180, 'order_price': 250}, + 3008: {'name': {'cn': '柑橘咖啡', 'en': 'Citrus Coffee', 'jp': 'シトラスコーヒー'}, 'pt_num': 25, 'manage_influence': 180, 'order_price': 190}, + 3009: {'name': {'cn': '苹果派', 'en': 'Apple Pie', 'jp': 'アップルパイ'}, 'pt_num': 35, 'manage_influence': 190, 'order_price': 385}, + 3010: {'name': {'cn': '草莓奶绿', 'en': 'Strawberry Milkshake', 'jp': 'いちごミルクシェイク'}, 'pt_num': 60, 'manage_influence': 240, 'order_price': 260}, + 3011: {'name': {'cn': '豆腐', 'en': 'Tofu', 'jp': '豆腐'}, 'pt_num': 35, 'manage_influence': 170, 'order_price': 340}, + 3012: {'name': {'cn': '肉末烧豆腐', 'en': 'Tofu with Minced Meat', 'jp': '肉そぼろ豆腐'}, 'pt_num': 155, 'manage_influence': 180, 'order_price': 1300}, + 3013: {'name': {'cn': '蛋包饭', 'en': 'Omurice', 'jp': 'オムライス'}, 'pt_num': 35, 'manage_influence': 240, 'order_price': 355}, + 3014: {'name': {'cn': '白菜豆腐汤', 'en': 'Cabbage and Tofu Soup', 'jp': '白菜と豆腐のスープ'}, 'pt_num': 65, 'manage_influence': 180, 'order_price': 425}, + 3015: {'name': {'cn': '蔬菜沙拉', 'en': 'Vegetable Salad', 'jp': '野菜サラダ'}, 'pt_num': 10, 'manage_influence': 160, 'order_price': 105}, + 3017: {'name': {'cn': '苹果汁', 'en': 'Apple Juice', 'jp': 'りんごジュース'}, 'pt_num': 10, 'manage_influence': 200, 'order_price': 105}, + 3018: {'name': {'cn': '香蕉芒果汁', 'en': 'Banana and Mango Juice', 'jp': 'バナナマンゴージュース'}, 'pt_num': 25, 'manage_influence': 190, 'order_price': 215}, + 3019: {'name': {'cn': '蜂蜜柠檬水', 'en': 'Honey and Lemon Water', 'jp': 'はちみつレモン水'}, 'pt_num': 15, 'manage_influence': 240, 'order_price': 140}, + 3020: {'name': {'cn': '草莓蜜沁', 'en': 'Strawberry Lemon Drink', 'jp': 'いちごレモンドリンク'}, 'pt_num': 50, 'manage_influence': 180, 'order_price': 270}, + 3021: {'name': {'cn': '薰衣草茶', 'en': 'Lavender Tea', 'jp': 'ラベンダーティー'}, 'pt_num': 240, 'manage_influence': 160, 'order_price': 1590}, + 3022: {'name': {'cn': '草莓蜂蜜冰沙', 'en': 'Strawberry Honey Frappé', 'jp': 'いちごのハニーフラッペ'}, 'pt_num': 95, 'manage_influence': 220, 'order_price': 790}, + 3023: {'name': {'cn': '玉米杯', 'en': 'Corn Cup', 'jp': 'コーンカップ'}, 'pt_num': 7, 'manage_influence': 180, 'order_price': 45}, + 3024: {'name': {'cn': '香橙派', 'en': 'Orange Pie', 'jp': 'オレンジパイ'}, 'pt_num': 35, 'manage_influence': 185, 'order_price': 375}, + 3025: {'name': {'cn': '芒果糯米饭', 'en': 'Sticky Rice with Mango', 'jp': 'マンゴーともち米の蒸し飯'}, 'pt_num': 60, 'manage_influence': 160, 'order_price': 510}, + 3026: {'name': {'cn': '香蕉可丽饼', 'en': 'Banana Crêpe', 'jp': 'バナナクレープ'}, 'pt_num': 30, 'manage_influence': 170, 'order_price': 230}, + 3028: {'name': {'cn': '草莓夏洛特', 'en': 'Strawberry Charlotte', 'jp': 'いちごシャルロット'}, 'pt_num': 200, 'manage_influence': 190, 'order_price': 1350}, + 3029: {'name': {'cn': '炭烤肉串', 'en': 'Coal-Roasted Skewer', 'jp': '炭火串焼き'}, 'pt_num': 40, 'manage_influence': 210, 'order_price': 390}, + 3030: {'name': {'cn': '禽肉土豆拼盘', 'en': "Chicken and Potato Hors d'Oeuvre", 'jp': '鶏肉とポテトの盛り合わせ'}, 'pt_num': 36, 'manage_influence': 230, 'order_price': 370}, + 3032: {'name': {'cn': '爆炒禽肉', 'en': 'Stir-Fried Chicken', 'jp': '鶏肉炒め'}, 'pt_num': 70, 'manage_influence': 220, 'order_price': 580}, + 3033: {'name': {'cn': '胡萝卜厚蛋烧', 'en': 'Rolled Carrot Omelette', 'jp': 'ニンジン厚焼き玉子'}, 'pt_num': 16, 'manage_influence': 180, 'order_price': 170}, + 3034: {'name': {'cn': '汉堡肉饭', 'en': 'Steak Bowl', 'jp': 'ハンバーグ丼'}, 'pt_num': 100, 'manage_influence': 150, 'order_price': 845}, + 3035: {'name': {'cn': '布料', 'en': 'Cloth', 'jp': '布生地'}, 'pt_num': 34, 'manage_influence': 0, 'order_price': 340}, + 3036: {'name': {'cn': '皮革', 'en': 'Leather', 'jp': '革'}, 'pt_num': 60, 'manage_influence': 0, 'order_price': 600}, + 3037: {'name': {'cn': '绳索', 'en': 'Rope', 'jp': 'ロープ'}, 'pt_num': 72, 'manage_influence': 0, 'order_price': 600}, + 3038: {'name': {'cn': '手套', 'en': 'Gloves', 'jp': '手袋'}, 'pt_num': 105, 'manage_influence': 0, 'order_price': 890}, + 3039: {'name': {'cn': '香囊', 'en': 'Aroma Sachet', 'jp': '香り袋'}, 'pt_num': 130, 'manage_influence': 0, 'order_price': 1100}, + 3040: {'name': {'cn': '鞋靴', 'en': 'Shoes', 'jp': '靴'}, 'pt_num': 350, 'manage_influence': 0, 'order_price': 2380}, + 3041: {'name': {'cn': '绷带', 'en': 'Wound Dressings', 'jp': '包帯'}, 'pt_num': 350, 'manage_influence': 0, 'order_price': 2380}, + 3042: {'name': {'cn': '炭笔', 'en': 'Charcoal Brush', 'jp': '木炭筆'}, 'pt_num': 30, 'manage_influence': 0, 'order_price': 300}, + 3043: {'name': {'cn': '电缆', 'en': 'Cable', 'jp': 'ケーブル'}, 'pt_num': 92, 'manage_influence': 0, 'order_price': 770}, + 3044: {'name': {'cn': '铁钉', 'en': 'Nails', 'jp': '鉄釘'}, 'pt_num': 66, 'manage_influence': 0, 'order_price': 660}, + 3045: {'name': {'cn': '硫酸', 'en': 'Chemicals', 'jp': '化学品'}, 'pt_num': 84, 'manage_influence': 0, 'order_price': 840}, + 3046: {'name': {'cn': '火药', 'en': 'Gunpowder', 'jp': '火薬'}, 'pt_num': 150, 'manage_influence': 0, 'order_price': 1200}, + 3047: {'name': {'cn': '刀叉餐具', 'en': 'Utensils', 'jp': '食器'}, 'pt_num': 380, 'manage_influence': 0, 'order_price': 2560}, + 3048: {'name': {'cn': '纸张', 'en': 'Paper', 'jp': '紙'}, 'pt_num': 6, 'manage_influence': 0, 'order_price': 175}, + 3049: {'name': {'cn': '记事本', 'en': 'Notebook', 'jp': 'メモ帳'}, 'pt_num': 120, 'manage_influence': 0, 'order_price': 1230}, + 3050: {'name': {'cn': '桌椅', 'en': 'Chair and Desk', 'jp': '机と椅子'}, 'pt_num': 80, 'manage_influence': 0, 'order_price': 810}, + 3051: {'name': {'cn': '精选木桶', 'en': 'Choice Wooden Barrel', 'jp': 'セレクション樽'}, 'pt_num': 190, 'manage_influence': 0, 'order_price': 1610}, + 3052: {'name': {'cn': '文件柜', 'en': 'Filing Cabinet', 'jp': 'ファイルキャビネット'}, 'pt_num': 430, 'manage_influence': 0, 'order_price': 2880}, + 3053: {'name': {'cn': '墨盒', 'en': 'Ink Cartridge', 'jp': 'インクカートリッジ'}, 'pt_num': 55, 'manage_influence': 0, 'order_price': 570}, + 3054: {'name': {'cn': '钟表', 'en': 'Clock', 'jp': '時計'}, 'pt_num': 310, 'manage_influence': 0, 'order_price': 2590}, + 3055: {'name': {'cn': '蓄电池', 'en': 'Battery', 'jp': '蓄電池'}, 'pt_num': 210, 'manage_influence': 0, 'order_price': 1750}, + 3056: {'name': {'cn': '净水滤芯', 'en': 'Water Filter', 'jp': '浄水フィルター'}, 'pt_num': 360, 'manage_influence': 0, 'order_price': 2400}, + 3059: {'name': {'cn': '欧姆蛋', 'en': 'Omelette', 'jp': 'オムレツ'}, 'pt_num': 2, 'manage_influence': 210, 'order_price': 50}, + 3101: {'name': {'cn': '经典豆腐套餐', 'en': 'Classic Tofu Combo', 'jp': '定番豆腐セット'}, 'pt_num': 230, 'manage_influence': 210, 'order_price': 1735}, + 3102: {'name': {'cn': '绵玉定食', 'en': 'Hearty Meal', 'jp': 'ふんわり定食'}, 'pt_num': 100, 'manage_influence': 220, 'order_price': 695}, + 3103: {'name': {'cn': '花香果韵', 'en': 'Floral and Fruity', 'jp': '香りも楽しめるフルーツセット'}, 'pt_num': 250, 'manage_influence': 210, 'order_price': 1700}, + 3104: {'name': {'cn': '缤纷果乐园', 'en': 'Colorful Fruit Paradise', 'jp': 'カラフル果物パラダイス'}, 'pt_num': 120, 'manage_influence': 215, 'order_price': 1000}, + 3105: {'name': {'cn': '阳光蜜水', 'en': 'Sunny Honey', 'jp': '太陽のハニー'}, 'pt_num': 70, 'manage_influence': 260, 'order_price': 410}, + 3106: {'name': {'cn': '香甜组合', 'en': 'Succulently Sweet', 'jp': 'スイートテイスト'}, 'pt_num': 70, 'manage_influence': 250, 'order_price': 560}, + 3107: {'name': {'cn': '果园二重奏', 'en': 'Orchard Duo', 'jp': '果樹園二重奏'}, 'pt_num': 70, 'manage_influence': 240, 'order_price': 615}, + 3108: {'name': {'cn': '莓果香橙甜点组', 'en': 'Berry and Orange Dessert', 'jp': 'ベリーオレンジスイーツ'}, 'pt_num': 260, 'manage_influence': 210, 'order_price': 1730}, + 3109: {'name': {'cn': '烤肉狂欢', 'en': 'The Carne-val', 'jp': '肉カーニバル'}, 'pt_num': 90, 'manage_influence': 230, 'order_price': 760}, + 3110: {'name': {'cn': '能量双拼套餐', 'en': 'Double Energy Combo', 'jp': 'エナジーダブルコンボ'}, 'pt_num': 210, 'manage_influence': 210, 'order_price': 1430}, + 3111: {'name': {'cn': '晨光活力组合', 'en': 'Morning Light Energy Combo', 'jp': '朝光活力コンビ'}, 'pt_num': 36, 'manage_influence': 250, 'order_price': 300}, + 3112: {'name': {'cn': '醒神套餐', 'en': 'The Wake-Up Call', 'jp': 'お目覚めブレックファスト'}, 'pt_num': 80, 'manage_influence': 240, 'order_price': 650}, + 3113: {'name': {'cn': '果香双杯乐', 'en': 'Fruity & Fruitier', 'jp': 'フルーツツインズ'}, 'pt_num': 90, 'manage_influence': 260, 'order_price': 450}, + 3114: {'name': {'cn': '炸鱼薯条', 'en': 'Fish & Chips', 'jp': 'フィッシュ&チップス'}, 'pt_num': 30, 'manage_influence': 280, 'order_price': 300}, + 3115: {'name': {'cn': '柠檬虾', 'en': 'Lemon Shrimp', 'jp': 'レモンエビ'}, 'pt_num': 60, 'manage_influence': 220, 'order_price': 500}, + 3116: {'name': {'cn': '洋葱蒸鱼', 'en': 'Steamed Fish with Onions', 'jp': '魚の玉ねぎ蒸し'}, 'pt_num': 57, 'manage_influence': 180, 'order_price': 420}, + 3117: {'name': {'cn': '装饰画', 'en': 'Ornamental Painting', 'jp': '装飾画'}, 'pt_num': 82, 'manage_influence': 0, 'order_price': 820}, + 3118: {'name': {'cn': '海鲜饭', 'en': 'Paella', 'jp': 'パエリア'}, 'pt_num': 187, 'manage_influence': 200, 'order_price': 900}, + 3119: {'name': {'cn': '爆炒小龙虾', 'en': 'Crayfish Stir-Fry', 'jp': 'ザリガニ炒め'}, 'pt_num': 152, 'manage_influence': 240, 'order_price': 720}, + 3120: {'name': {'cn': '佛跳墙', 'en': "Buddha's Temptation", 'jp': '佛跳牆'}, 'pt_num': 381, 'manage_influence': 150, 'order_price': 2000}, + 4001: {'name': {'cn': '秋菊', 'en': 'Autumn Chrysanthemum', 'jp': 'アキギク'}, 'pt_num': 40, 'manage_influence': 0, 'order_price': 400}, + 4002: {'name': {'cn': '芦苇花', 'en': 'Reed Flowers', 'jp': '葦の花'}, 'pt_num': 2, 'manage_influence': 0, 'order_price': 200}, + 4003: {'name': {'cn': '花生', 'en': 'Peanuts', 'jp': '落花生'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 150}, + 4004: {'name': {'cn': '松茸', 'en': 'Matsutake', 'jp': '松茸'}, 'pt_num': 95, 'manage_influence': 0, 'order_price': 800}, + 4005: {'name': {'cn': '秋月梨', 'en': 'Yoizuki Pear', 'jp': '宵月梨'}, 'pt_num': 5, 'manage_influence': 0, 'order_price': 70}, + 4006: {'name': {'cn': '秋月梨树种', 'en': 'Yoizuki Pear Seeds', 'jp': '宵月梨の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 4007: {'name': {'cn': '柿子', 'en': 'Kaki Persimmon', 'jp': '柿'}, 'pt_num': 24, 'manage_influence': 0, 'order_price': 200}, + 4008: {'name': {'cn': '柿子树种', 'en': 'Kaki Persimmon Seeds', 'jp': '柿の種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 4009: {'name': {'cn': '柿子饼', 'en': 'Dried Persimmon', 'jp': '干し柿'}, 'pt_num': 25, 'manage_influence': 280, 'order_price': 210}, + 4010: {'name': {'cn': '松茸鸡汤', 'en': 'Matsutake and Chicken Soup', 'jp': '松茸と鶏のスープ'}, 'pt_num': 135, 'manage_influence': 280, 'order_price': 900}, + 4011: {'name': {'cn': '秋季花束', 'en': 'Autumn Bouquet', 'jp': '秋のブーケ'}, 'pt_num': 70, 'manage_influence': 280, 'order_price': 705}, + 4012: {'name': {'cn': '花生油', 'en': 'Peanut Oil', 'jp': '落花生油'}, 'pt_num': 100, 'manage_influence': 280, 'order_price': 1005}, + 4013: {'name': {'cn': '胡萝卜秋梨汁', 'en': 'Carrot and Pear Juice', 'jp': 'ニンジンと梨のジュース'}, 'pt_num': 20, 'manage_influence': 280, 'order_price': 200}, + 4014: {'name': {'cn': '菊花茶', 'en': 'Chrysanthemum Tea', 'jp': '菊花の茶'}, 'pt_num': 100, 'manage_influence': 280, 'order_price': 840}, + 4015: {'name': {'cn': '春笋', 'en': 'Spring Bamboo Shoots', 'jp': '春タケノコ'}, 'pt_num': 75, 'manage_influence': 0, 'order_price': 600}, + 4016: {'name': {'cn': '荠菜', 'en': "Shepherd's Purse", 'jp': 'ナズナ'}, 'pt_num': 2, 'manage_influence': 0, 'order_price': 225}, + 4017: {'name': {'cn': '迎春花', 'en': 'Winter Jasmine', 'jp': 'オウバイ'}, 'pt_num': 18, 'manage_influence': 0, 'order_price': 180}, + 4018: {'name': {'cn': '风信子', 'en': 'Hyacinth', 'jp': 'ヒヤシンス'}, 'pt_num': 54, 'manage_influence': 0, 'order_price': 540}, + 4019: {'name': {'cn': '芦笋', 'en': 'Asparagus', 'jp': 'アスパラガス'}, 'pt_num': 5, 'manage_influence': 0, 'order_price': 50}, + 4020: {'name': {'cn': '芦笋种子', 'en': 'Asparagus Seeds', 'jp': 'アスパラガスの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 4021: {'name': {'cn': '凤梨', 'en': 'Pineapple', 'jp': 'パイナップル'}, 'pt_num': 11, 'manage_influence': 0, 'order_price': 70}, + 4022: {'name': {'cn': '凤梨种子', 'en': 'Pineapple Seeds', 'jp': 'パイナップルの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 0}, + 4023: {'name': {'cn': '鲜榨菠萝汁', 'en': 'Fresh Pineapple Juice', 'jp': '搾りたてパイナップルジュース'}, 'pt_num': 18, 'manage_influence': 250, 'order_price': 200}, + 4024: {'name': {'cn': '迎春花茶', 'en': 'Winter Jasmine Tea', 'jp': 'オウバイ茶'}, 'pt_num': 112, 'manage_influence': 250, 'order_price': 800}, + 4025: {'name': {'cn': '凉拌双笋', 'en': 'Cold Mixed Bamboo Shoots and Asparagus', 'jp': 'タケノコとアスパラの冷菜'}, 'pt_num': 72, 'manage_influence': 250, 'order_price': 800}, + 4026: {'name': {'cn': '芦笋炒虾仁', 'en': 'Shrimp and Asparagus Stir-Fry', 'jp': 'エビのアスパラ炒め物'}, 'pt_num': 180, 'manage_influence': 250, 'order_price': 600}, + 4027: {'name': {'cn': '袋装荠菜干', 'en': "Dried Shepherd's Purse", 'jp': '乾燥ナズナ'}, 'pt_num': 72, 'manage_influence': 0, 'order_price': 720}, + 4028: {'name': {'cn': '春季花束', 'en': 'Spring Bouquet', 'jp': '春の花束'}, 'pt_num': 108, 'manage_influence': 0, 'order_price': 1080}, + 4029: {'name': {'cn': '茉莉花', 'en': 'Jasmine', 'jp': 'ジャスミン'}, 'pt_num': 32, 'manage_influence': 0, 'order_price': 315}, + 4030: {'name': {'cn': '向日葵', 'en': 'Sunflower', 'jp': 'ヒマワリ'}, 'pt_num': 27, 'manage_influence': 0, 'order_price': 270}, + 4031: {'name': {'cn': '西瓜', 'en': 'Watermelon', 'jp': 'スイカ'}, 'pt_num': 54, 'manage_influence': 0, 'order_price': 540}, + 4032: {'name': {'cn': '红米苋', 'en': 'Amaranth Greens', 'jp': 'ヒユナ'}, 'pt_num': 2, 'manage_influence': 0, 'order_price': 225}, + 4033: {'name': {'cn': '番茄', 'en': 'Tomato', 'jp': 'トマト'}, 'pt_num': 3, 'manage_influence': 0, 'order_price': 30}, + 4034: {'name': {'cn': '番茄种子', 'en': 'Tomato Seeds', 'jp': 'トマトの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 1}, + 4035: {'name': {'cn': '黄瓜', 'en': 'Cucumber', 'jp': 'キュウリ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 20}, + 4036: {'name': {'cn': '黄瓜种子', 'en': 'Cucumber Seeds', 'jp': 'キュウリの種'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 1}, + 4037: {'name': {'cn': '黄瓜汁', 'en': 'Cucumber Juice', 'jp': 'キュウリジュース'}, 'pt_num': 1, 'manage_influence': 250, 'order_price': 100}, + 4038: {'name': {'cn': '西瓜汁', 'en': 'Watermelon Juice', 'jp': 'スイカジュース'}, 'pt_num': 60, 'manage_influence': 250, 'order_price': 600}, + 4039: {'name': {'cn': '苋菜饭团', 'en': 'Amaranth Onigiri', 'jp': 'ヒユナ入りおにぎり'}, 'pt_num': 8, 'manage_influence': 250, 'order_price': 800}, + 4040: {'name': {'cn': '番茄炒蛋', 'en': 'Tomato and Egg Stir-Fry', 'jp': 'トマトと卵の炒め'}, 'pt_num': 20, 'manage_influence': 250, 'order_price': 200}, + 4041: {'name': {'cn': '茉莉精油', 'en': 'Jasmine Essential Oil', 'jp': 'ジャスミン精油'}, 'pt_num': 165, 'manage_influence': 0, 'order_price': 1100}, + 4042: {'name': {'cn': '夏季花束', 'en': 'Summery Bouquet', 'jp': '夏の花束'}, 'pt_num': 90, 'manage_influence': 0, 'order_price': 900}, + 5001: {'name': {'cn': '贝类', 'en': 'Shellfish', 'jp': '貝'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 42}, + 5002: {'name': {'cn': '鲶鱼', 'en': 'Catfish', 'jp': 'ナマズ'}, 'pt_num': 2, 'manage_influence': 0, 'order_price': 250}, + 5003: {'name': {'cn': '鲤鱼', 'en': 'Koi Carp', 'jp': 'コイ'}, 'pt_num': 16, 'manage_influence': 0, 'order_price': 165}, + 5004: {'name': {'cn': '鲫鱼', 'en': 'Common Carp', 'jp': 'フナ'}, 'pt_num': 11, 'manage_influence': 0, 'order_price': 110}, + 5005: {'name': {'cn': '小河虾', 'en': 'Freshwater Shrimp', 'jp': '川エビ'}, 'pt_num': 12, 'manage_influence': 0, 'order_price': 100}, + 5006: {'name': {'cn': '小龙虾', 'en': 'Crayfish', 'jp': 'ザリガニ'}, 'pt_num': 13, 'manage_influence': 0, 'order_price': 115}, + 5007: {'name': {'cn': '鲈鱼', 'en': 'Sea Bass', 'jp': 'スズキ'}, 'pt_num': 16, 'manage_influence': 0, 'order_price': 136}, + 5008: {'name': {'cn': '螃蟹', 'en': 'Crab', 'jp': 'カニ'}, 'pt_num': 58, 'manage_influence': 0, 'order_price': 390}, + 5101: {'name': {'cn': '鱿鱼', 'en': 'Squid', 'jp': 'イカ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 116}, + 5102: {'name': {'cn': '马鲛鱼', 'en': 'Mackerel', 'jp': 'サワラ'}, 'pt_num': 27, 'manage_influence': 0, 'order_price': 270}, + 5103: {'name': {'cn': '金枪鱼', 'en': 'Tuna', 'jp': 'マグロ'}, 'pt_num': 104, 'manage_influence': 0, 'order_price': 870}, + 5104: {'name': {'cn': '三文鱼', 'en': 'Salmon', 'jp': 'サーモン'}, 'pt_num': 45, 'manage_influence': 0, 'order_price': 380}, + 5105: {'name': {'cn': '红鲷鱼', 'en': 'Red Sea Bream', 'jp': 'マダイ'}, 'pt_num': 1, 'manage_influence': 0, 'order_price': 172}, + 5106: {'name': {'cn': '黑鲷鱼', 'en': 'Black Porgy', 'jp': 'クロダイ'}, 'pt_num': 24, 'manage_influence': 0, 'order_price': 245}, + 5107: {'name': {'cn': '黄鳍金枪鱼', 'en': 'Yellowfin Tuna', 'jp': 'キハダ'}, 'pt_num': 198, 'manage_influence': 0, 'order_price': 1320}, + 5108: {'name': {'cn': '海参', 'en': 'Sea Cucumber', 'jp': 'ナマコ'}, 'pt_num': 162, 'manage_influence': 0, 'order_price': 1080}, + 9900: {'name': {'cn': '珍珠', 'en': 'Pearl', 'jp': '真珠'}, 'pt_num': 0, 'manage_influence': 0, 'order_price': 0}, +} + +DIC_ISLAND_RECIPE = { + 101001: {'name': {'cn': '小麦', 'en': 'Wheat', 'jp': '小麦'}, 'workload': 24000, 'commission_cost': {1000: 9}, 'production_limit': 12, 'commission_product': {2000: 162}, 'second_product_display': {}}, + 101002: {'name': {'cn': '玉米', 'en': 'Corn', 'jp': 'とうもろこし'}, 'workload': 24000, 'commission_cost': {1001: 9}, 'production_limit': 12, 'commission_product': {2001: 162}, 'second_product_display': {}}, + 101003: {'name': {'cn': '牧草', 'en': 'Grass', 'jp': '牧草'}, 'workload': 24000, 'commission_cost': {1008: 9}, 'production_limit': 12, 'commission_product': {2008: 108}, 'second_product_display': {}}, + 101004: {'name': {'cn': '咖啡豆', 'en': 'Coffee Beans', 'jp': 'コーヒー豆'}, 'workload': 84000, 'commission_cost': {1009: 9}, 'production_limit': 5, 'commission_product': {2009: 81}, 'second_product_display': {}}, + 101005: {'name': {'cn': '大米', 'en': 'Rice', 'jp': '米'}, 'workload': 48000, 'commission_cost': {1002: 9}, 'production_limit': 6, 'commission_product': {2002: 162}, 'second_product_display': {}}, + 101006: {'name': {'cn': '白菜', 'en': 'Napa Cabbage', 'jp': '白菜'}, 'workload': 24000, 'commission_cost': {1003: 9}, 'production_limit': 12, 'commission_product': {2003: 81}, 'second_product_display': {}}, + 101007: {'name': {'cn': '土豆', 'en': 'Potato', 'jp': 'じゃがいも'}, 'workload': 108000, 'commission_cost': {1005: 9}, 'production_limit': 5, 'commission_product': {2005: 243}, 'second_product_display': {}}, + 101008: {'name': {'cn': '大豆', 'en': 'Soy Beans', 'jp': '大豆'}, 'workload': 42000, 'commission_cost': {1006: 9}, 'production_limit': 6, 'commission_product': {2006: 243}, 'second_product_display': {}}, + 101013: {'name': {'cn': '鸡蛋', 'en': 'Eggs', 'jp': '卵'}, 'workload': 36000, 'commission_cost': {3000: 2}, 'production_limit': 8, 'commission_product': {2601: 5}, 'second_product_display': {2602: 4}}, + 101015: {'name': {'cn': '鲜肉', 'en': 'Fresh Meat', 'jp': '新鮮な肉'}, 'workload': 72000, 'commission_cost': {3001: 2}, 'production_limit': 5, 'commission_product': {2600: 4}, 'second_product_display': {}}, + 101016: {'name': {'cn': '牛奶', 'en': 'Milk', 'jp': '牛乳'}, 'workload': 54000, 'commission_cost': {3002: 2}, 'production_limit': 5, 'commission_product': {2603: 4}, 'second_product_display': {2604: 4}}, + 101018: {'name': {'cn': '羊毛', 'en': 'Wool', 'jp': '羊毛'}, 'workload': 180000, 'commission_cost': {3003: 2}, 'production_limit': 5, 'commission_product': {2605: 4}, 'second_product_display': {}}, + 201001: {'name': {'cn': '贝类', 'en': 'Shellfish', 'jp': '貝'}, 'workload': 54000, 'commission_cost': {1101: 1}, 'production_limit': 5, 'commission_product': {5001: 10}, 'second_product_display': {}}, + 201002: {'name': {'cn': '鲶鱼', 'en': 'Catfish', 'jp': 'ナマズ'}, 'workload': 72000, 'commission_cost': {1102: 1}, 'production_limit': 5, 'commission_product': {5002: 2}, 'second_product_display': {}}, + 201003: {'name': {'cn': '鲤鱼', 'en': 'Koi Carp', 'jp': 'コイ'}, 'workload': 72000, 'commission_cost': {1103: 1}, 'production_limit': 5, 'commission_product': {5003: 4}, 'second_product_display': {}}, + 201004: {'name': {'cn': '鲫鱼', 'en': 'Common Carp', 'jp': 'フナ'}, 'workload': 72000, 'commission_cost': {1104: 1}, 'production_limit': 5, 'commission_product': {5004: 6}, 'second_product_display': {}}, + 201005: {'name': {'cn': '小河虾', 'en': 'Freshwater Shrimp', 'jp': '川エビ'}, 'workload': 36000, 'commission_cost': {1105: 1}, 'production_limit': 8, 'commission_product': {5005: 12}, 'second_product_display': {}}, + 201006: {'name': {'cn': '小龙虾', 'en': 'Crayfish', 'jp': 'ザリガニ'}, 'workload': 90000, 'commission_cost': {1106: 1}, 'production_limit': 5, 'commission_product': {5006: 8}, 'second_product_display': {}}, + 201007: {'name': {'cn': '鲈鱼', 'en': 'Sea Bass', 'jp': 'スズキ'}, 'workload': 72000, 'commission_cost': {1107: 1}, 'production_limit': 5, 'commission_product': {5007: 6}, 'second_product_display': {}}, + 201008: {'name': {'cn': '螃蟹', 'en': 'Crab', 'jp': 'カニ'}, 'workload': 144000, 'commission_cost': {1108: 1}, 'production_limit': 5, 'commission_product': {5008: 4}, 'second_product_display': {}}, + 201101: {'name': {'cn': '鱿鱼', 'en': 'Squid', 'jp': 'イカ'}, 'workload': 54000, 'commission_cost': {1201: 1}, 'production_limit': 5, 'commission_product': {5101: 4}, 'second_product_display': {}}, + 201102: {'name': {'cn': '马鲛鱼', 'en': 'Mackerel', 'jp': 'サワラ'}, 'workload': 144000, 'commission_cost': {1202: 1}, 'production_limit': 5, 'commission_product': {5102: 4}, 'second_product_display': {}}, + 201103: {'name': {'cn': '金枪鱼', 'en': 'Tuna', 'jp': 'マグロ'}, 'workload': 216000, 'commission_cost': {1203: 1}, 'production_limit': 5, 'commission_product': {5103: 2}, 'second_product_display': {}}, + 201104: {'name': {'cn': '三文鱼', 'en': 'Salmon', 'jp': 'サーモン'}, 'workload': 180000, 'commission_cost': {1204: 1}, 'production_limit': 5, 'commission_product': {5104: 4}, 'second_product_display': {}}, + 201105: {'name': {'cn': '红鲷鱼', 'en': 'Red Sea Bream', 'jp': 'マダイ'}, 'workload': 108000, 'commission_cost': {1205: 1}, 'production_limit': 5, 'commission_product': {5105: 4}, 'second_product_display': {}}, + 201106: {'name': {'cn': '黑鲷鱼', 'en': 'Black Porgy', 'jp': 'クロダイ'}, 'workload': 126000, 'commission_cost': {1206: 1}, 'production_limit': 5, 'commission_product': {5106: 4}, 'second_product_display': {}}, + 201107: {'name': {'cn': '黄鳍金枪鱼', 'en': 'Yellowfin Tuna', 'jp': 'キハダ'}, 'workload': 288000, 'commission_cost': {1207: 1}, 'production_limit': 5, 'commission_product': {5107: 2}, 'second_product_display': {}}, + 201108: {'name': {'cn': '海参', 'en': 'Sea Cucumber', 'jp': 'ナマコ'}, 'workload': 216000, 'commission_cost': {1208: 1}, 'production_limit': 5, 'commission_product': {5108: 2}, 'second_product_display': {}}, + 401001: {'name': {'cn': '煤炭', 'en': 'Coal', 'jp': '石炭'}, 'workload': 12000, 'commission_cost': {}, 'production_limit': 12, 'commission_product': {2700: 8}, 'second_product_display': {}}, + 401002: {'name': {'cn': '铜矿', 'en': 'Copper Ore', 'jp': '銅鉱石'}, 'workload': 24000, 'commission_cost': {}, 'production_limit': 12, 'commission_product': {2701: 4}, 'second_product_display': {}}, + 401004: {'name': {'cn': '铝矿', 'en': 'Bauxite Ore', 'jp': 'アルミ鉱石'}, 'workload': 60000, 'commission_cost': {}, 'production_limit': 5, 'commission_product': {2702: 4}, 'second_product_display': {}}, + 401005: {'name': {'cn': '铁矿', 'en': 'Iron Ore', 'jp': '鉄鉱石'}, 'workload': 36000, 'commission_cost': {}, 'production_limit': 8, 'commission_product': {2703: 4}, 'second_product_display': {}}, + 401006: {'name': {'cn': '硫矿', 'en': 'Sulfur', 'jp': '硫黄鉱石'}, 'workload': 120000, 'commission_cost': {}, 'production_limit': 5, 'commission_product': {2704: 4}, 'second_product_display': {}}, + 401007: {'name': {'cn': '银矿', 'en': 'Silver Ore', 'jp': '銀鉱石'}, 'workload': 240000, 'commission_cost': {}, 'production_limit': 5, 'commission_product': {2705: 4}, 'second_product_display': {}}, + 402001: {'name': {'cn': '自然之木', 'en': 'Raw Timber', 'jp': '大自然の原木'}, 'workload': 12000, 'commission_cost': {}, 'production_limit': 12, 'commission_product': {2800: 8}, 'second_product_display': {}}, + 402002: {'name': {'cn': '实用之木', 'en': 'Workable Wood', 'jp': '実用の木材'}, 'workload': 30000, 'commission_cost': {}, 'production_limit': 9, 'commission_product': {2801: 4}, 'second_product_display': {}}, + 402003: {'name': {'cn': '精选之木', 'en': 'Premium Wood', 'jp': 'プレミアム木材'}, 'workload': 72000, 'commission_cost': {}, 'production_limit': 5, 'commission_product': {2802: 4}, 'second_product_display': {}}, + 402004: {'name': {'cn': '典雅之木', 'en': 'Elegant Wood', 'jp': 'エレガント木材'}, 'workload': 180000, 'commission_cost': {}, 'production_limit': 5, 'commission_product': {2803: 4}, 'second_product_display': {}}, + 501001: {'name': {'cn': '苹果', 'en': 'Apple', 'jp': 'りんご'}, 'workload': 45000, 'commission_cost': {1016: 4}, 'production_limit': 6, 'commission_product': {2016: 32}, 'second_product_display': {}}, + 501002: {'name': {'cn': '柑橘', 'en': 'Citrus Fruit', 'jp': '柑橘フルーツ'}, 'workload': 45000, 'commission_cost': {1017: 4}, 'production_limit': 6, 'commission_product': {2017: 32}, 'second_product_display': {}}, + 501003: {'name': {'cn': '香蕉', 'en': 'Banana', 'jp': 'バナナ'}, 'workload': 60000, 'commission_cost': {1018: 4}, 'production_limit': 5, 'commission_product': {2018: 32}, 'second_product_display': {}}, + 501004: {'name': {'cn': '芒果', 'en': 'Mango', 'jp': 'マンゴー'}, 'workload': 90000, 'commission_cost': {1019: 4}, 'production_limit': 5, 'commission_product': {2019: 32}, 'second_product_display': {}}, + 501005: {'name': {'cn': '柠檬', 'en': 'Lemon', 'jp': 'レモン'}, 'workload': 36000, 'commission_cost': {1020: 4}, 'production_limit': 8, 'commission_product': {2020: 48}, 'second_product_display': {}}, + 501006: {'name': {'cn': '牛油果', 'en': 'Avocado', 'jp': 'アボカド'}, 'workload': 120000, 'commission_cost': {1021: 4}, 'production_limit': 5, 'commission_product': {2021: 16}, 'second_product_display': {}}, + 501007: {'name': {'cn': '橡胶', 'en': 'Rubber', 'jp': 'ゴム'}, 'workload': 96000, 'commission_cost': {1022: 4}, 'production_limit': 5, 'commission_product': {2022: 32}, 'second_product_display': {}}, + 502001: {'name': {'cn': '亚麻', 'en': 'Flax', 'jp': '亜麻'}, 'workload': 24000, 'commission_cost': {1010: 3}, 'production_limit': 12, 'commission_product': {2010: 18}, 'second_product_display': {}}, + 502002: {'name': {'cn': '草莓', 'en': 'Strawberries', 'jp': 'いちご'}, 'workload': 54000, 'commission_cost': {1011: 3}, 'production_limit': 5, 'commission_product': {2011: 54}, 'second_product_display': {}}, + 502003: {'name': {'cn': '棉花', 'en': 'Cotton', 'jp': '綿'}, 'workload': 36000, 'commission_cost': {1012: 3}, 'production_limit': 8, 'commission_product': {2012: 18}, 'second_product_display': {}}, + 502004: {'name': {'cn': '茶叶', 'en': 'Tea Leaves', 'jp': '茶葉'}, 'workload': 54000, 'commission_cost': {1014: 3}, 'production_limit': 5, 'commission_product': {2014: 36}, 'second_product_display': {}}, + 502005: {'name': {'cn': '薰衣草', 'en': 'Lavender', 'jp': 'ラベンダー'}, 'workload': 108000, 'commission_cost': {1015: 3}, 'production_limit': 5, 'commission_product': {2015: 24}, 'second_product_display': {}}, + 502006: {'name': {'cn': '胡萝卜', 'en': 'Carrot', 'jp': 'ニンジン'}, 'workload': 24000, 'commission_cost': {1004: 3}, 'production_limit': 12, 'commission_product': {2004: 36}, 'second_product_display': {}}, + 502007: {'name': {'cn': '洋葱', 'en': 'Onion', 'jp': '玉ねぎ'}, 'workload': 54000, 'commission_cost': {1007: 3}, 'production_limit': 5, 'commission_product': {2007: 12}, 'second_product_display': {}}, + 601001: {'name': {'cn': '豆腐', 'en': 'Tofu', 'jp': '豆腐'}, 'workload': 24000, 'commission_cost': {2006: 15}, 'production_limit': 12, 'commission_product': {3011: 1}, 'second_product_display': {}}, + 601002: {'name': {'cn': '肉末烧豆腐', 'en': 'Tofu with Minced Meat', 'jp': '肉そぼろ豆腐'}, 'workload': 18000, 'commission_cost': {3011: 2, 2600: 1}, 'production_limit': 12, 'commission_product': {3012: 1}, 'second_product_display': {}}, + 601003: {'name': {'cn': '蛋包饭', 'en': 'Omurice', 'jp': 'オムライス'}, 'workload': 12000, 'commission_cost': {2601: 4, 2002: 9}, 'production_limit': 12, 'commission_product': {3013: 1}, 'second_product_display': {}}, + 601004: {'name': {'cn': '白菜豆腐汤', 'en': 'Cabbage and Tofu Soup', 'jp': '白菜と豆腐のスープ'}, 'workload': 18000, 'commission_cost': {2003: 6, 3011: 1}, 'production_limit': 12, 'commission_product': {3014: 1}, 'second_product_display': {}}, + 601005: {'name': {'cn': '蔬菜沙拉', 'en': 'Vegetable Salad', 'jp': '野菜サラダ'}, 'workload': 6000, 'commission_cost': {2004: 2, 2003: 3, 2001: 1}, 'production_limit': 12, 'commission_product': {3015: 1}, 'second_product_display': {}}, + 601006: {'name': {'cn': '炸鱼薯条', 'en': 'Fish & Chips', 'jp': 'フィッシュ&チップス'}, 'workload': 3000, 'commission_cost': {2522: 1, 2005: 2}, 'production_limit': 12, 'commission_product': {3114: 1}, 'second_product_display': {}}, + 601007: {'name': {'cn': '洋葱蒸鱼', 'en': 'Steamed Fish with Onions', 'jp': '魚の玉ねぎ蒸し'}, 'workload': 18000, 'commission_cost': {2521: 3, 2007: 1}, 'production_limit': 12, 'commission_product': {3116: 1}, 'second_product_display': {}}, + 601008: {'name': {'cn': '佛跳墙', 'en': "Buddha's Temptation", 'jp': '佛跳牆'}, 'workload': 36000, 'commission_cost': {5108: 1, 2602: 3, 2522: 2}, 'production_limit': 8, 'commission_product': {3120: 1}, 'second_product_display': {}}, + 601101: {'name': {'cn': '经典豆腐套餐', 'en': 'Classic Tofu Combo', 'jp': '定番豆腐セット'}, 'workload': 6000, 'commission_cost': {3012: 1, 3014: 1}, 'production_limit': 12, 'commission_product': {3101: 1}, 'second_product_display': {}}, + 601102: {'name': {'cn': '绵玉定食', 'en': 'Hearty Meal', 'jp': 'ふんわり定食'}, 'workload': 6000, 'commission_cost': {3013: 1, 3011: 1}, 'production_limit': 12, 'commission_product': {3102: 1}, 'second_product_display': {}}, + 602001: {'name': {'cn': '苹果汁', 'en': 'Apple Juice', 'jp': 'りんごジュース'}, 'workload': 6000, 'commission_cost': {2016: 2}, 'production_limit': 12, 'commission_product': {3017: 1}, 'second_product_display': {}}, + 602002: {'name': {'cn': '香蕉芒果汁', 'en': 'Banana and Mango Juice', 'jp': 'バナナマンゴージュース'}, 'workload': 9000, 'commission_cost': {2018: 1, 2019: 1}, 'production_limit': 12, 'commission_product': {3018: 1}, 'second_product_display': {}}, + 602003: {'name': {'cn': '蜂蜜柠檬水', 'en': 'Honey and Lemon Water', 'jp': 'はちみつレモン水'}, 'workload': 6000, 'commission_cost': {2020: 3, 2606: 1}, 'production_limit': 12, 'commission_product': {3019: 1}, 'second_product_display': {}}, + 602004: {'name': {'cn': '草莓蜜沁', 'en': 'Strawberry Lemon Drink', 'jp': 'いちごレモンドリンク'}, 'workload': 12000, 'commission_cost': {2011: 5, 2020: 2}, 'production_limit': 12, 'commission_product': {3020: 1}, 'second_product_display': {}}, + 602005: {'name': {'cn': '薰衣草茶', 'en': 'Lavender Tea', 'jp': 'ラベンダーティー'}, 'workload': 24000, 'commission_cost': {2014: 6, 2015: 4}, 'production_limit': 12, 'commission_product': {3021: 1}, 'second_product_display': {}}, + 602006: {'name': {'cn': '草莓蜂蜜冰沙', 'en': 'Strawberry Honey Frappé', 'jp': 'いちごのハニーフラッペ'}, 'workload': 18000, 'commission_cost': {2011: 10, 2606: 4}, 'production_limit': 12, 'commission_product': {3022: 1}, 'second_product_display': {}}, + 602101: {'name': {'cn': '花香果韵', 'en': 'Floral and Fruity', 'jp': '香りも楽しめるフルーツセット'}, 'workload': 3000, 'commission_cost': {3021: 1, 3017: 1}, 'production_limit': 12, 'commission_product': {3103: 1}, 'second_product_display': {}}, + 602102: {'name': {'cn': '缤纷果乐园', 'en': 'Colorful Fruit Paradise', 'jp': 'カラフル果物パラダイス'}, 'workload': 3000, 'commission_cost': {3018: 1, 3022: 1}, 'production_limit': 12, 'commission_product': {3104: 1}, 'second_product_display': {}}, + 602103: {'name': {'cn': '阳光蜜水', 'en': 'Sunny Honey', 'jp': '太陽のハニー'}, 'workload': 3000, 'commission_cost': {3020: 1, 3019: 1}, 'production_limit': 12, 'commission_product': {3105: 1}, 'second_product_display': {}}, + 603001: {'name': {'cn': '玉米杯', 'en': 'Corn Cup', 'jp': 'コーンカップ'}, 'workload': 3000, 'commission_cost': {2001: 3, 2603: 1}, 'production_limit': 12, 'commission_product': {3023: 1}, 'second_product_display': {}}, + 603002: {'name': {'cn': '苹果派', 'en': 'Apple Pie', 'jp': 'アップルパイ'}, 'workload': 18000, 'commission_cost': {3004: 5, 2016: 3}, 'production_limit': 12, 'commission_product': {3009: 1}, 'second_product_display': {}}, + 603003: {'name': {'cn': '香橙派', 'en': 'Orange Pie', 'jp': 'オレンジパイ'}, 'workload': 18000, 'commission_cost': {2017: 3, 3004: 6}, 'production_limit': 12, 'commission_product': {3024: 1}, 'second_product_display': {}}, + 603004: {'name': {'cn': '芒果糯米饭', 'en': 'Sticky Rice with Mango', 'jp': 'マンゴーともち米の蒸し飯'}, 'workload': 12000, 'commission_cost': {2019: 3, 2002: 2}, 'production_limit': 12, 'commission_product': {3025: 1}, 'second_product_display': {}}, + 603005: {'name': {'cn': '香蕉可丽饼', 'en': 'Banana Crêpe', 'jp': 'バナナクレープ'}, 'workload': 9000, 'commission_cost': {2018: 2, 3004: 2}, 'production_limit': 12, 'commission_product': {3026: 1}, 'second_product_display': {}}, + 603006: {'name': {'cn': '草莓夏洛特', 'en': 'Strawberry Charlotte', 'jp': 'いちごシャルロット'}, 'workload': 21000, 'commission_cost': {2011: 1, 3006: 2, 3004: 2}, 'production_limit': 12, 'commission_product': {3028: 1}, 'second_product_display': {}}, + 603007: {'name': {'cn': '海鲜饭', 'en': 'Paella', 'jp': 'パエリア'}, 'workload': 18000, 'commission_cost': {5008: 1, 5101: 2, 2002: 5}, 'production_limit': 12, 'commission_product': {3118: 1}, 'second_product_display': {}}, + 603101: {'name': {'cn': '香甜组合', 'en': 'Succulently Sweet', 'jp': 'スイートテイスト'}, 'workload': 3000, 'commission_cost': {3025: 1, 3023: 1}, 'production_limit': 12, 'commission_product': {3106: 1}, 'second_product_display': {}}, + 603102: {'name': {'cn': '果园二重奏', 'en': 'Orchard Duo', 'jp': '果樹園二重奏'}, 'workload': 3000, 'commission_cost': {3026: 1, 3009: 1}, 'production_limit': 12, 'commission_product': {3107: 1}, 'second_product_display': {}}, + 603103: {'name': {'cn': '莓果香橙甜点组', 'en': 'Berry and Orange Dessert', 'jp': 'ベリーオレンジスイーツ'}, 'workload': 3000, 'commission_cost': {3028: 1, 3024: 1}, 'production_limit': 12, 'commission_product': {3108: 1}, 'second_product_display': {}}, + 604001: {'name': {'cn': '炭烤肉串', 'en': 'Coal-Roasted Skewer', 'jp': '炭火串焼き'}, 'workload': 12000, 'commission_cost': {2600: 4}, 'production_limit': 12, 'commission_product': {3029: 1}, 'second_product_display': {}}, + 604002: {'name': {'cn': '禽肉土豆拼盘', 'en': "Chicken and Potato Hors d'Oeuvre", 'jp': '鶏肉とポテトの盛り合わせ'}, 'workload': 18000, 'commission_cost': {2005: 6, 2602: 5}, 'production_limit': 12, 'commission_product': {3030: 1}, 'second_product_display': {}}, + 604004: {'name': {'cn': '爆炒禽肉', 'en': 'Stir-Fried Chicken', 'jp': '鶏肉炒め'}, 'workload': 15000, 'commission_cost': {2602: 3, 2007: 1}, 'production_limit': 12, 'commission_product': {3032: 1}, 'second_product_display': {}}, + 604005: {'name': {'cn': '胡萝卜厚蛋烧', 'en': 'Rolled Carrot Omelette', 'jp': 'ニンジン厚焼き玉子'}, 'workload': 6000, 'commission_cost': {2601: 5, 2004: 2}, 'production_limit': 12, 'commission_product': {3033: 1}, 'second_product_display': {}}, + 604006: {'name': {'cn': '汉堡肉饭', 'en': 'Steak Bowl', 'jp': 'ハンバーグ丼'}, 'workload': 15000, 'commission_cost': {2002: 12, 2600: 6, 2003: 2}, 'production_limit': 12, 'commission_product': {3034: 1}, 'second_product_display': {}}, + 604007: {'name': {'cn': '柠檬虾', 'en': 'Lemon Shrimp', 'jp': 'レモンエビ'}, 'workload': 6000, 'commission_cost': {5005: 4, 2020: 1}, 'production_limit': 12, 'commission_product': {3115: 1}, 'second_product_display': {}}, + 604008: {'name': {'cn': '爆炒小龙虾', 'en': 'Crayfish Stir-Fry', 'jp': 'ザリガニ炒め'}, 'workload': 9000, 'commission_cost': {5006: 5}, 'production_limit': 12, 'commission_product': {3119: 1}, 'second_product_display': {}}, + 604101: {'name': {'cn': '烤肉狂欢', 'en': 'The Carne-val', 'jp': '肉カーニバル'}, 'workload': 6000, 'commission_cost': {3029: 1, 3030: 1}, 'production_limit': 12, 'commission_product': {3109: 1}, 'second_product_display': {}}, + 604102: {'name': {'cn': '能量双拼套餐', 'en': 'Double Energy Combo', 'jp': 'エナジーダブルコンボ'}, 'workload': 6000, 'commission_cost': {3034: 1, 3032: 1}, 'production_limit': 12, 'commission_product': {3110: 1}, 'second_product_display': {}}, + 701001: {'name': {'cn': '布料', 'en': 'Cloth', 'jp': '布生地'}, 'workload': 18000, 'commission_cost': {2010: 4}, 'production_limit': 12, 'commission_product': {3035: 1}, 'second_product_display': {}}, + 701002: {'name': {'cn': '皮革', 'en': 'Leather', 'jp': '革'}, 'workload': 60000, 'commission_cost': {2604: 1}, 'production_limit': 5, 'commission_product': {3036: 1}, 'second_product_display': {}}, + 701003: {'name': {'cn': '绳索', 'en': 'Rope', 'jp': 'ロープ'}, 'workload': 108000, 'commission_cost': {2012: 1, 2010: 1}, 'production_limit': 5, 'commission_product': {3037: 1}, 'second_product_display': {}}, + 701004: {'name': {'cn': '手套', 'en': 'Gloves', 'jp': '手袋'}, 'workload': 72000, 'commission_cost': {2022: 1, 3035: 1}, 'production_limit': 5, 'commission_product': {3038: 1}, 'second_product_display': {}}, + 701005: {'name': {'cn': '香囊', 'en': 'Aroma Sachet', 'jp': '香り袋'}, 'workload': 108000, 'commission_cost': {3035: 1, 2015: 1}, 'production_limit': 5, 'commission_product': {3039: 1}, 'second_product_display': {}}, + 701006: {'name': {'cn': '鞋靴', 'en': 'Shoes', 'jp': '靴'}, 'workload': 144000, 'commission_cost': {3036: 1, 2022: 1, 2605: 1}, 'production_limit': 5, 'commission_product': {3040: 1}, 'second_product_display': {}}, + 701007: {'name': {'cn': '绷带', 'en': 'Wound Dressings', 'jp': '包帯'}, 'workload': 48000, 'commission_cost': {2705: 1, 3035: 1, 2012: 1}, 'production_limit': 6, 'commission_product': {3041: 1}, 'second_product_display': {}}, + 701008: {'name': {'cn': '炭笔', 'en': 'Charcoal Brush', 'jp': '木炭筆'}, 'workload': 36000, 'commission_cost': {2700: 1, 2801: 1}, 'production_limit': 8, 'commission_product': {3042: 1}, 'second_product_display': {}}, + 701009: {'name': {'cn': '电缆', 'en': 'Cable', 'jp': 'ケーブル'}, 'workload': 108000, 'commission_cost': {2701: 1, 2022: 1}, 'production_limit': 5, 'commission_product': {3043: 1}, 'second_product_display': {}}, + 701010: {'name': {'cn': '铁钉', 'en': 'Nails', 'jp': '鉄釘'}, 'workload': 144000, 'commission_cost': {2703: 1}, 'production_limit': 5, 'commission_product': {3044: 1}, 'second_product_display': {}}, + 701011: {'name': {'cn': '硫酸', 'en': 'Chemicals', 'jp': '化学品'}, 'workload': 72000, 'commission_cost': {2704: 1}, 'production_limit': 5, 'commission_product': {3045: 1}, 'second_product_display': {}}, + 701012: {'name': {'cn': '火药', 'en': 'Gunpowder', 'jp': '火薬'}, 'workload': 72000, 'commission_cost': {3045: 1, 2700: 1}, 'production_limit': 5, 'commission_product': {3046: 1}, 'second_product_display': {}}, + 701013: {'name': {'cn': '刀叉餐具', 'en': 'Utensils', 'jp': '食器'}, 'workload': 216000, 'commission_cost': {2705: 1}, 'production_limit': 5, 'commission_product': {3047: 1}, 'second_product_display': {}}, + 701014: {'name': {'cn': '纸张', 'en': 'Paper', 'jp': '紙'}, 'workload': 36000, 'commission_cost': {2800: 10}, 'production_limit': 8, 'commission_product': {3048: 1}, 'second_product_display': {}}, + 701015: {'name': {'cn': '记事本', 'en': 'Notebook', 'jp': 'メモ帳'}, 'workload': 72000, 'commission_cost': {3048: 4, 2801: 1}, 'production_limit': 5, 'commission_product': {3049: 1}, 'second_product_display': {}}, + 701016: {'name': {'cn': '桌椅', 'en': 'Chair and Desk', 'jp': '机と椅子'}, 'workload': 108000, 'commission_cost': {2801: 1, 2702: 1}, 'production_limit': 5, 'commission_product': {3050: 1}, 'second_product_display': {}}, + 701017: {'name': {'cn': '精选木桶', 'en': 'Choice Wooden Barrel', 'jp': 'セレクション樽'}, 'workload': 108000, 'commission_cost': {2802: 1, 3044: 1}, 'production_limit': 5, 'commission_product': {3051: 1}, 'second_product_display': {}}, + 701018: {'name': {'cn': '文件柜', 'en': 'Filing Cabinet', 'jp': 'ファイルキャビネット'}, 'workload': 180000, 'commission_cost': {2803: 1, 3044: 1}, 'production_limit': 5, 'commission_product': {3052: 1}, 'second_product_display': {}}, + 701019: {'name': {'cn': '墨盒', 'en': 'Ink Cartridge', 'jp': 'インクカートリッジ'}, 'workload': 72000, 'commission_cost': {2700: 1, 2702: 1}, 'production_limit': 5, 'commission_product': {3053: 1}, 'second_product_display': {}}, + 701020: {'name': {'cn': '钟表', 'en': 'Clock', 'jp': '時計'}, 'workload': 216000, 'commission_cost': {2705: 1, 2703: 1, 2701: 1}, 'production_limit': 5, 'commission_product': {3054: 1}, 'second_product_display': {}}, + 701021: {'name': {'cn': '蓄电池', 'en': 'Battery', 'jp': '蓄電池'}, 'workload': 108000, 'commission_cost': {3045: 1, 2701: 1, 2703: 1}, 'production_limit': 5, 'commission_product': {3055: 1}, 'second_product_display': {}}, + 701022: {'name': {'cn': '净水滤芯', 'en': 'Water Filter', 'jp': '浄水フィルター'}, 'workload': 144000, 'commission_cost': {2700: 1, 2705: 1, 2012: 1}, 'production_limit': 5, 'commission_product': {3056: 1}, 'second_product_display': {}}, + 701023: {'name': {'cn': '装饰画', 'en': 'Ornamental Painting', 'jp': '装飾画'}, 'workload': 36000, 'commission_cost': {5001: 3, 3048: 3}, 'production_limit': 8, 'commission_product': {3117: 1}, 'second_product_display': {}}, + 901001: {'name': {'cn': '欧姆蛋', 'en': 'Omelette', 'jp': 'オムレツ'}, 'workload': 3000, 'commission_cost': {2601: 1}, 'production_limit': 12, 'commission_product': {3059: 1}, 'second_product_display': {}}, + 901002: {'name': {'cn': '冰咖啡', 'en': 'Iced Coffee', 'jp': 'アイスコーヒー'}, 'workload': 9000, 'commission_cost': {2009: 2}, 'production_limit': 12, 'commission_product': {3005: 1}, 'second_product_display': {}}, + 901003: {'name': {'cn': '芝士', 'en': 'Cheese', 'jp': 'チーズ'}, 'workload': 24000, 'commission_cost': {2603: 8}, 'production_limit': 12, 'commission_product': {3006: 1}, 'second_product_display': {}}, + 901004: {'name': {'cn': '拿铁', 'en': 'Latte', 'jp': 'ラテ'}, 'workload': 12000, 'commission_cost': {2009: 3, 2603: 2}, 'production_limit': 12, 'commission_product': {3007: 1}, 'second_product_display': {}}, + 901005: {'name': {'cn': '柑橘咖啡', 'en': 'Citrus Coffee', 'jp': 'シトラスコーヒー'}, 'workload': 9000, 'commission_cost': {2017: 1, 2009: 3}, 'production_limit': 12, 'commission_product': {3008: 1}, 'second_product_display': {}}, + 901006: {'name': {'cn': '草莓奶绿', 'en': 'Strawberry Milkshake', 'jp': 'いちごミルクシェイク'}, 'workload': 12000, 'commission_cost': {2014: 1, 2011: 1, 2603: 1}, 'production_limit': 12, 'commission_product': {3010: 1}, 'second_product_display': {}}, + 901101: {'name': {'cn': '晨光活力组合', 'en': 'Morning Light Energy Combo', 'jp': '朝光活力コンビ'}, 'workload': 6000, 'commission_cost': {3059: 1, 3007: 1}, 'production_limit': 12, 'commission_product': {3111: 1}, 'second_product_display': {}}, + 901102: {'name': {'cn': '醒神套餐', 'en': 'The Wake-Up Call', 'jp': 'お目覚めブレックファスト'}, 'workload': 6000, 'commission_cost': {3005: 1, 3006: 1}, 'production_limit': 12, 'commission_product': {3112: 1}, 'second_product_display': {}}, + 901103: {'name': {'cn': '果香双杯乐', 'en': 'Fruity & Fruitier', 'jp': 'フルーツツインズ'}, 'workload': 6000, 'commission_cost': {3008: 1, 3010: 1}, 'production_limit': 12, 'commission_product': {3113: 1}, 'second_product_display': {}}, + 9900001: {'name': {'cn': '秋月梨', 'en': 'Yoizuki Pear', 'jp': '宵月梨'}, 'workload': 18000, 'commission_cost': {4006: 1}, 'production_limit': 5, 'commission_product': {4005: 8}, 'second_product_display': {}}, + 9900002: {'name': {'cn': '柿子', 'en': 'Kaki Persimmon', 'jp': '柿'}, 'workload': 18000, 'commission_cost': {4008: 1}, 'production_limit': 5, 'commission_product': {4007: 4}, 'second_product_display': {}}, + 9900003: {'name': {'cn': '柿子饼', 'en': 'Dried Persimmon', 'jp': '干し柿'}, 'workload': 18000, 'commission_cost': {4007: 1}, 'production_limit': 5, 'commission_product': {4009: 1}, 'second_product_display': {}}, + 9900004: {'name': {'cn': '松茸鸡汤', 'en': 'Matsutake and Chicken Soup', 'jp': '松茸と鶏のスープ'}, 'workload': 18000, 'commission_cost': {2602: 2, 4004: 1}, 'production_limit': 5, 'commission_product': {4010: 1}, 'second_product_display': {}}, + 9900005: {'name': {'cn': '秋季花束', 'en': 'Autumn Bouquet', 'jp': '秋のブーケ'}, 'workload': 18000, 'commission_cost': {4002: 2, 4001: 1}, 'production_limit': 5, 'commission_product': {4011: 1}, 'second_product_display': {}}, + 9900006: {'name': {'cn': '花生油', 'en': 'Peanut Oil', 'jp': '落花生油'}, 'workload': 18000, 'commission_cost': {4003: 8}, 'production_limit': 5, 'commission_product': {4012: 1}, 'second_product_display': {}}, + 9900007: {'name': {'cn': '胡萝卜秋梨汁', 'en': 'Carrot and Pear Juice', 'jp': 'ニンジンと梨のジュース'}, 'workload': 18000, 'commission_cost': {4005: 3, 2004: 2}, 'production_limit': 5, 'commission_product': {4013: 1}, 'second_product_display': {}}, + 9900008: {'name': {'cn': '菊花茶', 'en': 'Chrysanthemum Tea', 'jp': '菊花の茶'}, 'workload': 18000, 'commission_cost': {4001: 2}, 'production_limit': 5, 'commission_product': {4014: 1}, 'second_product_display': {}}, + 9900009: {'name': {'cn': '芦笋', 'en': 'Asparagus', 'jp': 'アスパラガス'}, 'workload': 96000, 'commission_cost': {4020: 3}, 'production_limit': 5, 'commission_product': {4019: 18}, 'second_product_display': {}}, + 9900010: {'name': {'cn': '凤梨', 'en': 'Pineapple', 'jp': 'パイナップル'}, 'workload': 54000, 'commission_cost': {4022: 3}, 'production_limit': 5, 'commission_product': {4021: 12}, 'second_product_display': {}}, + 9900011: {'name': {'cn': '鲜榨菠萝汁', 'en': 'Fresh Pineapple Juice', 'jp': '搾りたてパイナップルジュース'}, 'workload': 6000, 'commission_cost': {4021: 2}, 'production_limit': 5, 'commission_product': {4023: 1}, 'second_product_display': {}}, + 9900012: {'name': {'cn': '迎春花茶', 'en': 'Winter Jasmine Tea', 'jp': 'オウバイ茶'}, 'workload': 24000, 'commission_cost': {4017: 3, 2014: 1}, 'production_limit': 5, 'commission_product': {4024: 1}, 'second_product_display': {}}, + 9900013: {'name': {'cn': '凉拌双笋', 'en': 'Cold Mixed Bamboo Shoots and Asparagus', 'jp': 'タケノコとアスパラの冷菜'}, 'workload': 9000, 'commission_cost': {4015: 2, 4019: 1}, 'production_limit': 5, 'commission_product': {4025: 1}, 'second_product_display': {}}, + 9900014: {'name': {'cn': '芦笋炒虾仁', 'en': 'Shrimp and Asparagus Stir-Fry', 'jp': 'エビのアスパラ炒め物'}, 'workload': 12000, 'commission_cost': {4019: 3, 5005: 6}, 'production_limit': 5, 'commission_product': {4026: 1}, 'second_product_display': {}}, + 9900015: {'name': {'cn': '袋装荠菜干', 'en': "Dried Shepherd's Purse", 'jp': '乾燥ナズナ'}, 'workload': 48000, 'commission_cost': {4016: 2}, 'production_limit': 5, 'commission_product': {4027: 1}, 'second_product_display': {}}, + 9900016: {'name': {'cn': '春季花束', 'en': 'Spring Bouquet', 'jp': '春の花束'}, 'workload': 18000, 'commission_cost': {4017: 2, 4018: 1}, 'production_limit': 5, 'commission_product': {4028: 1}, 'second_product_display': {}}, + 9900017: {'name': {'cn': '番茄', 'en': 'Tomato', 'jp': 'トマト'}, 'workload': 72000, 'commission_cost': {4034: 3}, 'production_limit': 5, 'commission_product': {4033: 18}, 'second_product_display': {}}, + 9900018: {'name': {'cn': '黄瓜', 'en': 'Cucumber', 'jp': 'キュウリ'}, 'workload': 36000, 'commission_cost': {4036: 3}, 'production_limit': 5, 'commission_product': {4035: 12}, 'second_product_display': {}}, + 9900019: {'name': {'cn': '黄瓜汁', 'en': 'Cucumber Juice', 'jp': 'キュウリジュース'}, 'workload': 6000, 'commission_cost': {4035: 4}, 'production_limit': 5, 'commission_product': {4037: 1}, 'second_product_display': {}}, + 9900020: {'name': {'cn': '西瓜汁', 'en': 'Watermelon Juice', 'jp': 'スイカジュース'}, 'workload': 6000, 'commission_cost': {4031: 1}, 'production_limit': 5, 'commission_product': {4038: 1}, 'second_product_display': {}}, + 9900021: {'name': {'cn': '苋菜饭团', 'en': 'Amaranth Onigiri', 'jp': 'ヒユナ入りおにぎり'}, 'workload': 18000, 'commission_cost': {4032: 4, 2002: 6}, 'production_limit': 5, 'commission_product': {4039: 1}, 'second_product_display': {}}, + 9900022: {'name': {'cn': '番茄炒蛋', 'en': 'Tomato and Egg Stir-Fry', 'jp': 'トマトと卵の炒め'}, 'workload': 9000, 'commission_cost': {4033: 4, 2601: 8}, 'production_limit': 5, 'commission_product': {4040: 1}, 'second_product_display': {}}, + 9900023: {'name': {'cn': '茉莉精油', 'en': 'Jasmine Essential Oil', 'jp': 'ジャスミン精油'}, 'workload': 48000, 'commission_cost': {4029: 3}, 'production_limit': 5, 'commission_product': {4041: 1}, 'second_product_display': {}}, + 9900024: {'name': {'cn': '夏季花束', 'en': 'Summery Bouquet', 'jp': '夏の花束'}, 'workload': 6000, 'commission_cost': {4029: 2, 4030: 2}, 'production_limit': 5, 'commission_product': {4042: 1}, 'second_product_display': {}}, +} + +DIC_ISLAND_SLOT = { + 9001: {'attribute': 1, 'place': 101, 'formula': [101001, 101002, 101003, 101004, 101005, 101006, 101007, 101008], 'activity_formula': []}, + 9002: {'attribute': 1, 'place': 101, 'formula': [101001, 101002, 101003, 101004, 101005, 101006, 101007, 101008], 'activity_formula': []}, + 9003: {'attribute': 1, 'place': 101, 'formula': [101001, 101002, 101003, 101004, 101005, 101006, 101007, 101008], 'activity_formula': []}, + 9004: {'attribute': 1, 'place': 101, 'formula': [101001, 101002, 101003, 101004, 101005, 101006, 101007, 101008], 'activity_formula': []}, + 9011: {'attribute': 2, 'place': 401, 'formula': [401001, 401002, 401004, 401005, 401006, 401007], 'activity_formula': []}, + 9012: {'attribute': 2, 'place': 401, 'formula': [401001, 401002, 401004, 401005, 401006, 401007], 'activity_formula': []}, + 9013: {'attribute': 2, 'place': 401, 'formula': [401001, 401002, 401004, 401005, 401006, 401007], 'activity_formula': []}, + 9014: {'attribute': 2, 'place': 401, 'formula': [401001, 401002, 401004, 401005, 401006, 401007], 'activity_formula': []}, + 9021: {'attribute': 2, 'place': 402, 'formula': [402001, 402002, 402003, 402004], 'activity_formula': []}, + 9022: {'attribute': 2, 'place': 402, 'formula': [402001, 402002, 402003, 402004], 'activity_formula': []}, + 9023: {'attribute': 2, 'place': 402, 'formula': [402001, 402002, 402003, 402004], 'activity_formula': []}, + 9024: {'attribute': 2, 'place': 402, 'formula': [402001, 402002, 402003, 402004], 'activity_formula': []}, + 9031: {'attribute': 3, 'place': 102, 'formula': [101013], 'activity_formula': []}, + 9032: {'attribute': 3, 'place': 102, 'formula': [101015], 'activity_formula': []}, + 9033: {'attribute': 3, 'place': 102, 'formula': [101016], 'activity_formula': []}, + 9034: {'attribute': 3, 'place': 102, 'formula': [101018], 'activity_formula': []}, + 9041: {'attribute': 4, 'place': 901, 'formula': [901001, 901002, 901003, 901004, 901005, 901006, 901101, 901102, 901103], 'activity_formula': []}, + 9042: {'attribute': 4, 'place': 901, 'formula': [901001, 901002, 901003, 901004, 901005, 901006, 901101, 901102, 901103], 'activity_formula': []}, + 9061: {'attribute': 4, 'place': 601, 'formula': [601001, 601002, 601003, 601004, 601005, 601006, 601007, 601008, 601101, 601102], 'activity_formula': [9900021, 9900022]}, + 9062: {'attribute': 4, 'place': 601, 'formula': [601001, 601002, 601003, 601004, 601005, 601006, 601007, 601008, 601101, 601102], 'activity_formula': [9900021, 9900022]}, + 9071: {'attribute': 4, 'place': 602, 'formula': [602001, 602002, 602003, 602004, 602005, 602006, 602101, 602102, 602103], 'activity_formula': [9900019, 9900020]}, + 9072: {'attribute': 4, 'place': 602, 'formula': [602001, 602002, 602003, 602004, 602005, 602006, 602101, 602102, 602103], 'activity_formula': [9900019, 9900020]}, + 9081: {'attribute': 4, 'place': 603, 'formula': [603001, 603002, 603003, 603004, 603005, 603006, 603007, 603101, 603102, 603103], 'activity_formula': []}, + 9082: {'attribute': 4, 'place': 603, 'formula': [603001, 603002, 603003, 603004, 603005, 603006, 603007, 603101, 603102, 603103], 'activity_formula': []}, + 9091: {'attribute': 4, 'place': 604, 'formula': [604001, 604002, 604004, 604005, 604006, 604007, 604008, 604101, 604102], 'activity_formula': []}, + 9092: {'attribute': 4, 'place': 604, 'formula': [604001, 604002, 604004, 604005, 604006, 604007, 604008, 604101, 604102], 'activity_formula': []}, + 9101: {'attribute': 1, 'place': 501, 'formula': [501001, 501002, 501003, 501004, 501005, 501006, 501007], 'activity_formula': []}, + 9102: {'attribute': 1, 'place': 501, 'formula': [501001, 501002, 501003, 501004, 501005, 501006, 501007], 'activity_formula': []}, + 9103: {'attribute': 1, 'place': 501, 'formula': [501001, 501002, 501003, 501004, 501005, 501006, 501007], 'activity_formula': []}, + 9104: {'attribute': 1, 'place': 501, 'formula': [501001, 501002, 501003, 501004, 501005, 501006, 501007], 'activity_formula': []}, + 9111: {'attribute': 1, 'place': 502, 'formula': [502001, 502002, 502003, 502004, 502005, 502006, 502007], 'activity_formula': [9900017, 9900018]}, + 9112: {'attribute': 1, 'place': 502, 'formula': [502001, 502002, 502003, 502004, 502005, 502006, 502007], 'activity_formula': [9900017, 9900018]}, + 9201: {'attribute': 6, 'place': 703, 'formula': [701014, 701015, 701016, 701017, 701018, 701023], 'activity_formula': []}, + 9202: {'attribute': 6, 'place': 703, 'formula': [701014, 701015, 701016, 701017, 701018, 701023], 'activity_formula': []}, + 9203: {'attribute': 6, 'place': 704, 'formula': [701008, 701009, 701010, 701011, 701012, 701013], 'activity_formula': []}, + 9204: {'attribute': 6, 'place': 704, 'formula': [701008, 701009, 701010, 701011, 701012, 701013], 'activity_formula': []}, + 9205: {'attribute': 6, 'place': 705, 'formula': [701019, 701020, 701021, 701022], 'activity_formula': []}, + 9206: {'attribute': 6, 'place': 705, 'formula': [701019, 701020, 701021, 701022], 'activity_formula': []}, + 9207: {'attribute': 6, 'place': 706, 'formula': [701001, 701002, 701003, 701004, 701005, 701006, 701007], 'activity_formula': [9900023, 9900024]}, + 9208: {'attribute': 6, 'place': 706, 'formula': [701001, 701002, 701003, 701004, 701005, 701006, 701007], 'activity_formula': [9900023, 9900024]}, + 9211: {'attribute': 3, 'place': 201, 'formula': [201001, 201002, 201003, 201004, 201005, 201006, 201007, 201008, 201101, 201102, 201103, 201104, 201105, 201106, 201107, 201108], 'activity_formula': []}, + 9212: {'attribute': 3, 'place': 201, 'formula': [201001, 201002, 201003, 201004, 201005, 201006, 201007, 201008, 201101, 201102, 201103, 201104, 201105, 201106, 201107, 201108], 'activity_formula': []}, + 9213: {'attribute': 3, 'place': 201, 'formula': [201001, 201002, 201003, 201004, 201005, 201006, 201007, 201008, 201101, 201102, 201103, 201104, 201105, 201106, 201107, 201108], 'activity_formula': []}, +} + +DIC_ISLAND_ACTIVITY = { + 990001: {'type': 5001, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}, 'config_data': [1]}, + 990002: {'type': 5002, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}, 'config_data': [100001, 100002, 100003, 100004, 100005, 100006, 100007, 100008, 100009, 100010, 100011, 100012, 100013, 100014, 100015]}, + 990003: {'type': 5003, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}, 'config_data': [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008]}, + 990004: {'type': 5004, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}, 'config_data': [9900001, 9900002, 9900003, 9900004, 9900005, 9900006, 9900007, 9900008]}, + 990005: {'type': 5001, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}, 'config_data': [3]}, + 990006: {'type': 5002, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}, 'config_data': [100016, 100017, 100018, 100019, 100020, 100021, 100022, 100023, 100024, 100025, 100026, 100027, 100028, 100029, 100030]}, + 990007: {'type': 5003, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}, 'config_data': [1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016]}, + 990008: {'type': 5004, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}, 'config_data': [9900009, 9900010, 9900011, 9900012, 9900013, 9900014, 9900015, 9900016]}, + 990011: {'type': 5001, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}, 'config_data': [2]}, + 990013: {'type': 801, 'start_time': {'cn': '2026-04-09 00:00:00', 'en': '2026-04-09 00:00:00', 'jp': '2026-04-09 00:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}, 'config_data': []}, + 990014: {'type': 89, 'start_time': {'cn': '2026-04-09 00:00:00', 'en': '2026-04-09 00:00:00', 'jp': '2026-04-09 00:00:00'}, 'end_time': {'cn': '2026-04-29 23:59:59', 'en': '2026-04-29 23:59:59', 'jp': '2026-04-29 23:59:59'}, 'config_data': [{0: 56248}, {0: 56249}, {0: 56250}, {0: 56251}, {0: 56252}]}, + 990015: {'type': 890, 'start_time': {'cn': '2026-04-09 00:00:00', 'en': '2026-04-09 00:00:00', 'jp': '2026-04-09 00:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}, 'config_data': []}, + 990016: {'type': 5001, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}, 'config_data': [4]}, + 990017: {'type': 5002, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}, 'config_data': [100031, 100032, 100033, 100034, 100035, 100036, 100037, 100038, 100039, 100040, 100041, 100042, 100043, 100044, 100045]}, + 990018: {'type': 5003, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}, 'config_data': [1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024]}, + 990019: {'type': 5004, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}, 'config_data': [9900017, 9900018, 9900019, 9900020, 9900021, 9900022, 9900023, 9900024]}, +} + +DIC_ISLAND_WILD_GATHER = { + 1: {'activity_id': 0, 'product': {2606: 1}}, + 2: {'activity_id': 0, 'product': {2606: 1}}, + 3: {'activity_id': 0, 'product': {2606: 1}}, + 4: {'activity_id': 0, 'product': {2606: 1}}, + 5: {'activity_id': 0, 'product': {2606: 1}}, + 6: {'activity_id': 0, 'product': {2606: 1}}, + 1001: {'activity_id': 990003, 'product': {4001: 4}}, + 1002: {'activity_id': 990003, 'product': {4001: 4}}, + 1003: {'activity_id': 990003, 'product': {4002: 8}}, + 1004: {'activity_id': 990003, 'product': {4002: 8}}, + 1005: {'activity_id': 990003, 'product': {4003: 12}}, + 1006: {'activity_id': 990003, 'product': {4003: 12}}, + 1007: {'activity_id': 990003, 'product': {4004: 3}}, + 1008: {'activity_id': 990003, 'product': {4004: 3}}, + 1009: {'activity_id': 990007, 'product': {4015: 4}}, + 1010: {'activity_id': 990007, 'product': {4015: 4}}, + 1011: {'activity_id': 990007, 'product': {4016: 8}}, + 1012: {'activity_id': 990007, 'product': {4016: 8}}, + 1013: {'activity_id': 990007, 'product': {4017: 12}}, + 1014: {'activity_id': 990007, 'product': {4017: 12}}, + 1015: {'activity_id': 990007, 'product': {4018: 4}}, + 1016: {'activity_id': 990007, 'product': {4018: 4}}, + 1017: {'activity_id': 990018, 'product': {4029: 8}}, + 1018: {'activity_id': 990018, 'product': {4029: 8}}, + 1019: {'activity_id': 990018, 'product': {4030: 8}}, + 1020: {'activity_id': 990018, 'product': {4030: 8}}, + 1021: {'activity_id': 990018, 'product': {4031: 4}}, + 1022: {'activity_id': 990018, 'product': {4031: 4}}, + 1023: {'activity_id': 990018, 'product': {4032: 8}}, + 1024: {'activity_id': 990018, 'product': {4032: 8}}, +} + +DIC_ISLAND_PRODUCTION_MINING = { + 40101: {2700: 8}, + 40102: {2700: 8}, + 40103: {2700: 8}, + 40104: {2700: 8}, + 40105: {2700: 8}, + 40106: {2700: 8}, + 40107: {2700: 8}, + 40108: {2700: 8}, + 40109: {2700: 8}, +} + +DIC_ISLAND_PRODUCTION_LOGGING = { + 40201: {2800: 8}, + 40202: {2800: 8}, + 40203: {2800: 8}, + 40204: {2800: 8}, + 40205: {2800: 8}, + 40206: {2800: 8}, + 40207: {2800: 8}, + 40208: {2800: 8}, + 40209: {2800: 8}, +} + +DIC_ISLAND_SEASON = { + 1: {'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}, 'task_list': [80001101, 80001102, 80001103, 80001104, 80001105, 80001106, 80001107, 80001108, 80001109, 80001110, 80001111, 80001112, 80001113, 80001114, 80001115, 80001116, 80001117, 80001118, 80001119, 80001120, 80001121, 80001122, 80001123, 80001124, 80001125, 80001126, 80001127, 80001128, 80001129, 80001130], 'activity': [990001, 990002, 990003, 990004]}, + 2: {'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}, 'task_list': [80001201, 80001202, 80001203, 80001204, 80001205, 80001206, 80001207, 80001208, 80001209, 80001210, 80001211, 80001212, 80001213, 80001214, 80001215, 80001216, 80001217, 80001218, 80001219, 80001220, 80001221, 80001222, 80001223, 80001224, 80001225, 80001226, 80001227, 80001228, 80001229, 80001230], 'activity': [990005, 990006, 990007, 990008]}, + 3: {'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}, 'task_list': [80001301, 80001302, 80001303, 80001304, 80001305, 80001306, 80001307, 80001308, 80001309, 80001310, 80001311, 80001312, 80001313, 80001314, 80001315, 80001316, 80001317, 80001318, 80001319, 80001320, 80001321, 80001322, 80001323, 80001324, 80001325, 80001326, 80001327, 80001328, 80001329, 80001330], 'activity': [990016, 990017, 990018, 990019]}, +} + +DIC_ISLAND_SHOP_RECIPE = { + 103000: {'name': {'cn': '咯咯鸡饲料', 'en': 'Clucky Clucky Bird Feed', 'jp': 'コッコートリの餌'}, 'resource_consume': {2000: 30}, 'items': {3000: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 103001: {'name': {'cn': '哼哼猪饲料', 'en': 'Oinky Oinky Pig Feed', 'jp': 'ブーブーブタの餌'}, 'resource_consume': {2001: 30}, 'items': {3001: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 103002: {'name': {'cn': '哞哞牛饲料', 'en': 'Moo Moo Cow Feed', 'jp': 'モーモーウシの餌'}, 'resource_consume': {2008: 30}, 'items': {3002: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 103003: {'name': {'cn': '咩咩羊饲料', 'en': 'Baa Baa Sheep Feed', 'jp': 'メェメーヒツジの餌'}, 'resource_consume': {2008: 30}, 'items': {3003: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 103004: {'name': {'cn': '面粉', 'en': 'Flour', 'jp': '小麦粉'}, 'resource_consume': {2000: 6}, 'items': {3004: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111500: {'name': {'cn': '蚯蚓', 'en': 'Earthworm', 'jp': 'ミミズ'}, 'resource_consume': {1: 10000}, 'items': {1500: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111502: {'name': {'cn': '虾仁', 'en': 'Shelled Shrimp', 'jp': 'むきエビ'}, 'resource_consume': {1: 25000}, 'items': {1502: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111503: {'name': {'cn': '章鱼须', 'en': 'Octopus Arm', 'jp': 'タコ足'}, 'resource_consume': {1: 25000}, 'items': {1503: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111101: {'name': {'cn': '贝苗', 'en': 'Shellfish Spat', 'jp': '稚貝'}, 'resource_consume': {1: 100}, 'items': {1101: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111102: {'name': {'cn': '鲶鱼苗', 'en': 'Catfish Fry', 'jp': 'ナマズの稚魚'}, 'resource_consume': {1: 100}, 'items': {1102: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111103: {'name': {'cn': '鲤鱼苗', 'en': 'Koi Carp Fry', 'jp': 'コイの稚魚'}, 'resource_consume': {1: 150}, 'items': {1103: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111104: {'name': {'cn': '鲫鱼苗', 'en': 'Common Carp Fry', 'jp': 'フナの稚魚'}, 'resource_consume': {1: 150}, 'items': {1104: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111105: {'name': {'cn': '小河虾苗', 'en': 'Freshwater Shrimp Fry', 'jp': '稚エビ'}, 'resource_consume': {1: 200}, 'items': {1105: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111106: {'name': {'cn': '小龙虾苗', 'en': 'Crayfish Fry', 'jp': '稚ザリ'}, 'resource_consume': {1: 200}, 'items': {1106: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111107: {'name': {'cn': '鲈鱼苗', 'en': 'Sea Bass Fry', 'jp': 'スズキの稚魚'}, 'resource_consume': {1: 200}, 'items': {1107: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111108: {'name': {'cn': '蟹苗', 'en': 'Juvenile Crab', 'jp': '稚ガニ'}, 'resource_consume': {1: 300}, 'items': {1108: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111201: {'name': {'cn': '鱿鱼苗', 'en': 'Squid Fry', 'jp': '稚イカ'}, 'resource_consume': {1: 120}, 'items': {1201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111202: {'name': {'cn': '马鲛鱼苗', 'en': 'Mackerel Fry', 'jp': 'サワラの稚魚'}, 'resource_consume': {1: 180}, 'items': {1202: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111203: {'name': {'cn': '金枪鱼苗', 'en': 'Tuna Fry', 'jp': 'マグロの稚魚'}, 'resource_consume': {1: 240}, 'items': {1203: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111204: {'name': {'cn': '三文鱼苗', 'en': 'Salmon Fry', 'jp': 'サーモンの稚魚'}, 'resource_consume': {1: 240}, 'items': {1204: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111205: {'name': {'cn': '红鲷鱼苗', 'en': 'Red Sea Bream Fry', 'jp': 'マダイの稚魚'}, 'resource_consume': {1: 120}, 'items': {1205: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111206: {'name': {'cn': '黑鲷鱼苗', 'en': 'Black Porgy Fry', 'jp': 'クロダイの稚魚'}, 'resource_consume': {1: 180}, 'items': {1206: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111207: {'name': {'cn': '黄鳍金枪鱼苗', 'en': 'Yellowfin Tuna Fry', 'jp': 'キハダの稚魚'}, 'resource_consume': {1: 360}, 'items': {1207: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 111208: {'name': {'cn': '海参苗', 'en': 'Sea Cucumber Fry', 'jp': '稚ナマコ'}, 'resource_consume': {1: 360}, 'items': {1208: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411000: {'name': {'cn': '小麦种子', 'en': 'Wheat Seeds', 'jp': '小麦の種'}, 'resource_consume': {1: 20}, 'items': {1000: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411001: {'name': {'cn': '玉米种子', 'en': 'Corn Seeds', 'jp': 'とうもろこしの種'}, 'resource_consume': {1: 40}, 'items': {1001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411002: {'name': {'cn': '旱稻种子', 'en': 'Upland Rice Seeds', 'jp': '陸稲の種'}, 'resource_consume': {1: 40}, 'items': {1002: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411003: {'name': {'cn': '白菜种子', 'en': 'Napa Cabbage Seeds', 'jp': '白菜の種'}, 'resource_consume': {1: 60}, 'items': {1003: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411004: {'name': {'cn': '胡萝卜种子', 'en': 'Carrot Seeds', 'jp': 'ニンジンの種'}, 'resource_consume': {1: 100}, 'items': {1004: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411005: {'name': {'cn': '土豆种子', 'en': 'Potato Seeds', 'jp': 'じゃがいもの種'}, 'resource_consume': {1: 20}, 'items': {1005: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411006: {'name': {'cn': '大豆种子', 'en': 'Soy Bean Seeds', 'jp': '大豆の種'}, 'resource_consume': {1: 60}, 'items': {1006: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411007: {'name': {'cn': '洋葱种子', 'en': 'Onion Seeds', 'jp': '玉ねぎの種'}, 'resource_consume': {1: 120}, 'items': {1007: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411008: {'name': {'cn': '牧草种子', 'en': 'Grass Seeds', 'jp': '牧草の種'}, 'resource_consume': {1: 20}, 'items': {1008: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411009: {'name': {'cn': '咖啡树种', 'en': 'Coffee Tree Seeds', 'jp': 'コーヒーの木の種'}, 'resource_consume': {1: 120}, 'items': {1009: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411010: {'name': {'cn': '亚麻种子', 'en': 'Flax Seeds', 'jp': '亜麻の種'}, 'resource_consume': {1: 60}, 'items': {1010: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411011: {'name': {'cn': '草莓种子', 'en': 'Strawberry Seeds', 'jp': 'いちごの種'}, 'resource_consume': {1: 120}, 'items': {1011: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411012: {'name': {'cn': '棉花种子', 'en': 'Cotton Seeds', 'jp': '綿の種'}, 'resource_consume': {1: 80}, 'items': {1012: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411014: {'name': {'cn': '茶树种子', 'en': 'Tea Tree Seeds', 'jp': '茶の木の種'}, 'resource_consume': {1: 150}, 'items': {1014: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411015: {'name': {'cn': '薰衣草种子', 'en': 'Lavender Seeds', 'jp': 'ラベンダーの種'}, 'resource_consume': {1: 160}, 'items': {1015: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411016: {'name': {'cn': '苹果树种', 'en': 'Apple Tree Seeds', 'jp': 'りんごの木の種'}, 'resource_consume': {1: 100}, 'items': {1016: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411017: {'name': {'cn': '柑橘树种', 'en': 'Citrus Fruit Tree Seeds', 'jp': '柑橘類の木の種'}, 'resource_consume': {1: 120}, 'items': {1017: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411018: {'name': {'cn': '香蕉树种', 'en': 'Banana Tree Seed', 'jp': 'バナナの木の種'}, 'resource_consume': {1: 140}, 'items': {1018: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411019: {'name': {'cn': '芒果树种', 'en': 'Mango Tree Seeds', 'jp': 'マンゴーの木の種'}, 'resource_consume': {1: 180}, 'items': {1019: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411020: {'name': {'cn': '柠檬树种', 'en': 'Lemon Tree Seed', 'jp': 'レモンの木の種'}, 'resource_consume': {1: 80}, 'items': {1020: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411021: {'name': {'cn': '牛油果树种', 'en': 'Avocado Tree Seeds', 'jp': 'アボカドの木の種'}, 'resource_consume': {1: 240}, 'items': {1021: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411022: {'name': {'cn': '橡胶树种', 'en': 'Rubber Tree Seeds', 'jp': 'ゴムの木の種'}, 'resource_consume': {1: 280}, 'items': {1022: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 411023: {'name': {'cn': '秋月梨树种', 'en': 'Yoizuki Pear Seeds', 'jp': '宵月梨の種'}, 'resource_consume': {1: 120}, 'items': {4006: 1}, 'start_time': {'cn': '2025-09-25 00:00:00', 'en': '2025-09-25 00:00:00', 'jp': '2025-09-25 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}}, + 411024: {'name': {'cn': '柿子树种', 'en': 'Kaki Persimmon Seeds', 'jp': '柿の種'}, 'resource_consume': {1: 180}, 'items': {4008: 1}, 'start_time': {'cn': '2025-09-25 00:00:00', 'en': '2025-09-25 00:00:00', 'jp': '2025-09-25 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-04 23:59:59', 'jp': '2026-02-05 16:00:00'}}, + 411025: {'name': {'cn': '芦笋种子', 'en': 'Asparagus Seeds', 'jp': 'アスパラガスの種'}, 'resource_consume': {1: 120}, 'items': {4020: 1}, 'start_time': {'cn': '2026-02-05 00:00:00', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 00:00:00'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}}, + 411026: {'name': {'cn': '凤梨种子', 'en': 'Pineapple Seeds', 'jp': 'パイナップルの種'}, 'resource_consume': {1: 180}, 'items': {4022: 1}, 'start_time': {'cn': '2026-02-05 00:00:00', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 00:00:00'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-07 16:00:00'}}, + 411027: {'name': {'cn': '番茄种子', 'en': 'Tomato Seeds', 'jp': 'トマトの種'}, 'resource_consume': {1: 120}, 'items': {4034: 1}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 411028: {'name': {'cn': '黄瓜种子', 'en': 'Cucumber Seeds', 'jp': 'キュウリの種'}, 'resource_consume': {1: 80}, 'items': {4036: 1}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:01'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, +} + +DIC_ISLAND_EXCHANGE_RECIPE = { + 101: {'resource_consume': {5002: 1}, 'items': {2521: 4}}, + 102: {'resource_consume': {5003: 1}, 'items': {2521: 3}}, + 103: {'resource_consume': {5004: 1}, 'items': {2521: 2}}, + 104: {'resource_consume': {5007: 1}, 'items': {2521: 3}}, + 201: {'resource_consume': {5102: 1}, 'items': {2522: 3}}, + 202: {'resource_consume': {5103: 1}, 'items': {2522: 12}}, + 203: {'resource_consume': {5104: 1}, 'items': {2522: 5}}, + 204: {'resource_consume': {5105: 1}, 'items': {2522: 1}}, + 205: {'resource_consume': {5106: 1}, 'items': {2522: 2}}, + 206: {'resource_consume': {5107: 1}, 'items': {2522: 18}}, +} + +DIC_ISLAND_TASK = { + 10001000: {'name': {'cn': '原野之上', 'en': 'In the Wilderness', 'jp': '原野にて'}, 'target_id': 100010001, 'target': {10040044: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001010: {'name': {'cn': '重逢之时', 'en': 'Reunion', 'jp': '再会の時'}, 'target_id': 100010101, 'target': {3100006: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001020: {'name': {'cn': '乔安的修复计划', 'en': "John's Repair Plan", 'jp': 'ジョンの修復計画'}, 'target_id': 100010201, 'target': {10040022: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001030: {'name': {'cn': '镐下煤炭', 'en': 'Pickaxes and Coal', 'jp': 'ツルハシで石炭を'}, 'target_id': 100010301, 'target': {2700: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001040: {'name': {'cn': '斧上林木', 'en': 'Hatches and Wood', 'jp': '斧で木材を'}, 'target_id': 100010401, 'target': {2800: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001050: {'name': {'cn': '原野上的协力', 'en': 'Teamwork on the Plains', 'jp': '原野での協力'}, 'target_id': 100010501, 'target': {3100011: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001060: {'name': {'cn': '向着远方', 'en': 'Off Into the Distance', 'jp': '遠方へ向かって'}, 'target_id': 100010601, 'target': {10020001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001070: {'name': {'cn': '原野的馈赠', 'en': 'Gifts from the Plains', 'jp': '原野からの贈り物'}, 'target_id': 100010701, 'target': {1902: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001071: {'name': {'cn': '原野的馈赠', 'en': 'Gifts from the Plains', 'jp': '原野からの贈り物'}, 'target_id': 100010711, 'target': {2: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001080: {'name': {'cn': '港口寻踪', 'en': 'Looking for Traces in the Harbor', 'jp': '港での手がかり探し'}, 'target_id': 100010801, 'target': {10020006: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001090: {'name': {'cn': '神秘的啾咖啡', 'en': 'The Mysterious Café Manjuu', 'jp': '謎の饅頭カフェ'}, 'target_id': 100010901, 'target': {10100001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001100: {'name': {'cn': '警报之围', 'en': 'Surrounded by Alarms', 'jp': '警報に囲まれて'}, 'target_id': 100011001, 'target': {10100007: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001110: {'name': {'cn': '消失的{namecode:98:明石}', 'en': 'The Missing Green Cat', 'jp': '消えた明石'}, 'target_id': 100011101, 'target': {3601: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001120: {'name': {'cn': '秘密基地?', 'en': 'A Secret Base?', 'jp': '秘密基地?'}, 'target_id': 100011201, 'target': {2101: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001130: {'name': {'cn': '把握权限', 'en': 'Rights Secured', 'jp': '権限掌握'}, 'target_id': 100011301, 'target': {2102: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001140: {'name': {'cn': '岛屿科技', 'en': 'Island Tech', 'jp': '離島技術'}, 'target_id': 100011401, 'target': {10070004: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001141: {'name': {'cn': '岛屿科技', 'en': 'Island Tech', 'jp': '離島技術'}, 'target_id': 100011411, 'target': {100001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001150: {'name': {'cn': '权限认证装置', 'en': 'Island Authorization Device', 'jp': '権限認証装置'}, 'target_id': 100011501, 'target': {10070003: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001151: {'name': {'cn': '权限认证装置', 'en': 'Island Authorization Device', 'jp': '権限認証装置'}, 'target_id': 100011511, 'target': {10703: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001160: {'name': {'cn': '远帆来港', 'en': "Saratoga's Arrival", 'jp': '遠方から'}, 'target_id': 100011601, 'target': {4401: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001170: {'name': {'cn': '生活经验指南', 'en': 'Island EXP Textbook', 'jp': '離島EXP教科書'}, 'target_id': 100011701, 'target': {3: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10001180: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 100011801, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002010: {'name': {'cn': '忙碌是一件好事', 'en': 'All Business Is Good Business', 'jp': '忙しいのはいいことだ'}, 'target_id': 100020101, 'target': {1903: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002020: {'name': {'cn': '宝藏的传闻', 'en': 'Tales of Treasure', 'jp': 'お宝の噂'}, 'target_id': 100020201, 'target': {10020035: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002030: {'name': {'cn': '斯蒂芬妮的踪迹', 'en': 'Trailing Stephen', 'jp': 'ステファンの足跡'}, 'target_id': 100020301, 'target': {10020031: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002031: {'name': {'cn': '斯蒂芬妮的踪迹', 'en': 'Trailing Stephen', 'jp': 'ステファンの足跡'}, 'target_id': 100020311, 'target': {10020032: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002032: {'name': {'cn': '斯蒂芬妮的踪迹', 'en': 'Trailing Stephen', 'jp': 'ステファンの足跡'}, 'target_id': 100020321, 'target': {10020033: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002040: {'name': {'cn': '劳逸结合不了', 'en': 'Work-Life Balance', 'jp': 'ワークライフバランス'}, 'target_id': 100020401, 'target': {2302: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002050: {'name': {'cn': '勤劳有什么用?', 'en': "What's the Point of Hard Work?", 'jp': '勤勉に何の意味がある?'}, 'target_id': 100020501, 'target': {2304: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002051: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 100020511, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002060: {'name': {'cn': '晨露农场', 'en': 'Morningdew Farm', 'jp': '朝露農場'}, 'target_id': 100020601, 'target': {10010064: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002070: {'name': {'cn': '农田里的守望', 'en': 'The Farm Girl', 'jp': '畑の見張り'}, 'target_id': 100020701, 'target': {5601: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002080: {'name': {'cn': '生长的作物', 'en': 'Growing Crops', 'jp': '成長する作物'}, 'target_id': 100020801, 'target': {1000: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002081: {'name': {'cn': '生长的作物', 'en': 'Growing Crops', 'jp': '成長する作物'}, 'target_id': 100020811, 'target': {101001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002090: {'name': {'cn': '牧场的宝藏', 'en': "The Ranch's Treasure", 'jp': '牧場の宝物'}, 'target_id': 100020901, 'target': {2902: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002100: {'name': {'cn': '追捕时间到!', 'en': 'On the Hunt!', 'jp': '追跡の時間だ!'}, 'target_id': 100021001, 'target': {4201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002110: {'name': {'cn': '咯咯鸡的饲料', 'en': 'Feed for Clucky', 'jp': 'コッコートリの餌'}, 'target_id': 100021101, 'target': {2803: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002120: {'name': {'cn': '制作饲料', 'en': 'Producing Feed', 'jp': '飼料を制作'}, 'target_id': 100021201, 'target': {3000: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002130: {'name': {'cn': '动物之礼', 'en': 'Gift From the Animals', 'jp': '動物の贈り物'}, 'target_id': 100021301, 'target': {2905: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002131: {'name': {'cn': '动物之礼', 'en': 'Gift From the Animals', 'jp': '動物の贈り物'}, 'target_id': 100021311, 'target': {2910: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002140: {'name': {'cn': '欣欣向荣', 'en': 'Daily Progress', 'jp': '日々上々'}, 'target_id': 100021401, 'target': {3004: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002141: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 100021411, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002150: {'name': {'cn': '小憩时光', 'en': 'Break Time', 'jp': '小休憩の時間'}, 'target_id': 100021501, 'target': {10090001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002160: {'name': {'cn': '暖炉里的蛋香', 'en': 'The Smell of Eggs', 'jp': '卵の香り'}, 'target_id': 100021601, 'target': {1202: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002170: {'name': {'cn': '美味欧姆蛋!', 'en': 'A Delicious Omelette!', 'jp': '美味しいオムレツ!'}, 'target_id': 100021701, 'target': {3059: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002180: {'name': {'cn': '港口速递', 'en': 'Harbor Delivery', 'jp': '港の配達便'}, 'target_id': 100021801, 'target': {3059: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002190: {'name': {'cn': '购得到的美味', 'en': 'Deliciousness for Sale', 'jp': '購入できる美味しさ'}, 'target_id': 100021901, 'target': {1221: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002200: {'name': {'cn': '第一位顾客', 'en': 'Customer Number One', 'jp': 'お客さま第一号'}, 'target_id': 100022001, 'target': {3059: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002210: {'name': {'cn': '限时优选-{namecode:98:明石}', 'en': "Akashi's Exclusive Deals", 'jp': '明石の限定販売'}, 'target_id': 100022101, 'target': {3902: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002211: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 100022111, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002220: {'name': {'cn': '宝藏岛?', 'en': 'Treasure Island?', 'jp': '宝の島?'}, 'target_id': 100022201, 'target': {3903: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002230: {'name': {'cn': '飞行器的新生-港口', 'en': 'Aircraft Restoration - Harbor', 'jp': '飛行装置の復活-港'}, 'target_id': 100022301, 'target': {1010: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002240: {'name': {'cn': '飞行器的新生-栖风原野', 'en': 'Aircraft Restoration - Windswept Plains', 'jp': '飛行装置の復活-風の原野'}, 'target_id': 100022401, 'target': {1006: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002250: {'name': {'cn': '飞行器的新生-晨露农场', 'en': 'Aircraft Restoration - Morningdew Farm', 'jp': '飛行装置の復活-朝露農場'}, 'target_id': 100022501, 'target': {1001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002251: {'name': {'cn': '飞行器的新生-晨露农场', 'en': 'Aircraft Restoration - Morningdew Farm', 'jp': '飛行装置の復活-朝露農場'}, 'target_id': 100022511, 'target': {3904: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002260: {'name': {'cn': '碧空待航', 'en': 'Make for Blue Skies', 'jp': '青空レッツフライ'}, 'target_id': 100022601, 'target': {4702: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002270: {'name': {'cn': '出发,宝藏岛!', 'en': 'Off to Treasure Island!', 'jp': 'いざ、宝の島へ!'}, 'target_id': 100022701, 'target': {10030001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002271: {'name': {'cn': '出发,宝藏岛!', 'en': 'Off to Treasure Island!', 'jp': 'いざ、宝の島へ!'}, 'target_id': 100022711, 'target': {7802: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002280: {'name': {'cn': '所谓宝藏', 'en': 'So-Called Treasure', 'jp': 'いわゆる宝…'}, 'target_id': 100022801, 'target': {10030006: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002290: {'name': {'cn': '日常补给', 'en': 'Daily Supply', 'jp': '定期補給'}, 'target_id': 100022901, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002300: {'name': {'cn': '集会岛上的浪漫休憩', 'en': 'My Own Romantic Getaway', 'jp': '集会島でのロマンチックな憩い'}, 'target_id': 100023001, 'target': {2702: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002310: {'name': {'cn': '集会岛的宝藏', 'en': 'The Treasure of Get-Together Island', 'jp': '集会島のお宝'}, 'target_id': 100023101, 'target': {2704: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002320: {'name': {'cn': '最棒的集会岛', 'en': 'Get-Together Island at Its Best', 'jp': '最高の集会島'}, 'target_id': 100023201, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002330: {'name': {'cn': '动物邻居', 'en': 'Animal Neighbors', 'jp': '動物の隣人'}, 'target_id': 100023301, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002340: {'name': {'cn': '飞行器大升级', 'en': 'Aircraft Upgrade', 'jp': '飛行装置大アップグレード'}, 'target_id': 100023401, 'target': {2700: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002350: {'name': {'cn': '神秘专家', 'en': 'The Mysterious Expert', 'jp': '謎の専門家'}, 'target_id': 100023501, 'target': {5401: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002360: {'name': {'cn': '奇妙集会岛', 'en': 'The Wonder of Get-Together Island', 'jp': '不思議な集会島'}, 'target_id': 100023601, 'target': {2603: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002370: {'name': {'cn': '闪亮的未来', 'en': 'A Bright Future', 'jp': '輝く未来'}, 'target_id': 100023701, 'target': {10020009: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10002380: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 100023801, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003010: {'name': {'cn': '开发区的生活', 'en': 'Life in the Development', 'jp': '開発エリアでの生活'}, 'target_id': 100030101, 'target': {1904: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003011: {'name': {'cn': '开发区的生活', 'en': 'Life in the Development', 'jp': '開発エリアでの生活'}, 'target_id': 100030111, 'target': {10060001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003020: {'name': {'cn': '商区建设', 'en': 'Building the Commercial Area', 'jp': '商店街建設'}, 'target_id': 100030201, 'target': {4502: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003030: {'name': {'cn': '商区美食', 'en': 'Foods of the Commercial Area', 'jp': '商店街グルメ'}, 'target_id': 100030301, 'target': {3011: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003040: {'name': {'cn': '百业烟火', 'en': 'Commerce Revitalized', 'jp': '商業振興'}, 'target_id': 100030401, 'target': {4507: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003050: {'name': {'cn': '繁荫之下', 'en': 'To the Prosperous Plantation', 'jp': '繁茂農園にて'}, 'target_id': 100030501, 'target': {10050001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003051: {'name': {'cn': '繁荫之下', 'en': 'To the Prosperous Plantation', 'jp': '繁茂農園にて'}, 'target_id': 100030511, 'target': {5701: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003060: {'name': {'cn': '野地寻蜂', 'en': 'The Quest for Honey', 'jp': '野原でミツバチ探し'}, 'target_id': 100030601, 'target': {6401: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003070: {'name': {'cn': '蜜蜂与蜂蜜', 'en': 'Honeybees and Bee Honey', 'jp': 'ミツバチとはちみつ'}, 'target_id': 100030701, 'target': {2606: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003080: {'name': {'cn': '苹果树', 'en': 'Apple Trees', 'jp': 'りんごの木'}, 'target_id': 100030801, 'target': {501001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003090: {'name': {'cn': '丰收的苹果', 'en': 'Heaps of Apples', 'jp': '豊作のりんご'}, 'target_id': 100030901, 'target': {501001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003091: {'name': {'cn': '丰收的苹果', 'en': 'Heaps of Apples', 'jp': '豊作のりんご'}, 'target_id': 100030911, 'target': {2016: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003100: {'name': {'cn': '开拓苗圃', 'en': 'Building a Plant Nursery', 'jp': '苗場の開拓'}, 'target_id': 100031001, 'target': {320201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10003110: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 100031101, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10004010: {'name': {'cn': '奇怪的{namecode:98:明石}', 'en': 'One Suspicious Feline', 'jp': '奇妙な明石'}, 'target_id': 100040101, 'target': {2104: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10004020: {'name': {'cn': '工业化的开端', 'en': 'The Industrial Revolution', 'jp': '工業化の始まり'}, 'target_id': 100040201, 'target': {2700: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10004030: {'name': {'cn': '岛屿工厂', 'en': 'Island Factory', 'jp': '離島工場'}, 'target_id': 100040301, 'target': {10070031: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 10019999: {'name': {'cn': '繁荣与债务', 'en': 'Prosperity and Debt', 'jp': '繁栄と債務'}, 'target_id': 40005, 'target': {1: 2000000}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 50000001: {'name': {'cn': '优化进行中', 'en': 'Improvement in Progress', 'jp': '改善進行中'}, 'target_id': 500000011, 'target': {5822: 1}, 'start_time': {'cn': '2025-11-06 00:00:00', 'en': '2025-11-06 00:00:00', 'jp': '2025-11-06 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50000002: {'name': {'cn': '新季度,新气象!', 'en': 'New Season, New Start!', 'jp': '新シーズン到来!'}, 'target_id': 500000021, 'target': {5826: 1}, 'start_time': {'cn': '2026-02-05 00:00:00', 'en': '2026-02-05 00:00:00', 'jp': '2026-02-05 00:00:00'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50000003: {'name': {'cn': '夏日奇遇', 'en': 'Summertime Adventure', 'jp': '夏の出会い'}, 'target_id': 500000031, 'target': {5845: 1}, 'start_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 51001000: {'name': {'cn': '养成登岛邀约', 'en': 'Invite Project Identity Characters', 'jp': '育成キャラ招待'}, 'target_id': 510010001, 'target': {12: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51001001: {'name': {'cn': '数据接入中Ⅰ', 'en': 'Importing Data - I', 'jp': 'データ導入中Ⅰ'}, 'target_id': 510010011, 'target': {402: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51001002: {'name': {'cn': '数据接入中Ⅱ', 'en': 'Importing Data - II', 'jp': 'データ導入中Ⅱ'}, 'target_id': 510010012, 'target': {901001: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51001003: {'name': {'cn': '数据接入中Ⅲ', 'en': 'Importing Data - III', 'jp': 'データ導入中Ⅲ'}, 'target_id': 510010013, 'target': {101016: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51002000: {'name': {'cn': '捣蛋鬼来袭', 'en': 'Attack of the Little Trickster', 'jp': 'いたずらっ子襲来'}, 'target_id': 510020001, 'target': {11: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51002001: {'name': {'cn': '捣蛋鬼来袭Ⅰ', 'en': 'Attack of the Little Trickster - I', 'jp': 'いたずらっ子襲来Ⅰ'}, 'target_id': 510020011, 'target': {101: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51002002: {'name': {'cn': '捣蛋鬼来袭Ⅱ', 'en': 'Attack of the Little Trickster - II', 'jp': 'いたずらっ子襲来Ⅱ'}, 'target_id': 510020012, 'target': {502002: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51002003: {'name': {'cn': '捣蛋鬼来袭Ⅲ', 'en': 'Attack of the Little Trickster - III', 'jp': 'いたずらっ子襲来Ⅲ'}, 'target_id': 510020013, 'target': {6201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51003000: {'name': {'cn': '静悄悄访客', 'en': 'The Quiet Visitor', 'jp': '物静かな来訪者'}, 'target_id': 510030001, 'target': {13: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51003001: {'name': {'cn': '静悄悄访客Ⅰ', 'en': 'The Quiet Visitor - I', 'jp': '物静かな来訪者Ⅰ'}, 'target_id': 510030011, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51003002: {'name': {'cn': '静悄悄访客Ⅱ', 'en': 'The Quiet Visitor - II', 'jp': '物静かな来訪者Ⅱ'}, 'target_id': 510030012, 'target': {102: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 51003003: {'name': {'cn': '静悄悄访客Ⅲ', 'en': 'The Quiet Visitor - III', 'jp': '物静かな来訪者Ⅲ'}, 'target_id': 510030013, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 50001001: {'name': {'cn': '秋季特产采集(1/7)', 'en': 'Gather Autumn Specialties (1/7)', 'jp': '秋の土産採集(1/7)'}, 'target_id': 50001001, 'target': {990003: 8}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001002: {'name': {'cn': '秋季特产采集(2/7)', 'en': 'Gather Autumn Specialties (2/7)', 'jp': '秋の土産採集(2/7)'}, 'target_id': 50001002, 'target': {990003: 24}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001003: {'name': {'cn': '秋季特产采集(3/7)', 'en': 'Gather Autumn Specialties (3/7)', 'jp': '秋の土産採集(3/7)'}, 'target_id': 50001003, 'target': {990003: 48}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001004: {'name': {'cn': '秋季特产采集(4/7)', 'en': 'Gather Autumn Specialties (4/7)', 'jp': '秋の土産採集(4/7)'}, 'target_id': 50001004, 'target': {990003: 96}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001005: {'name': {'cn': '秋季特产采集(5/7)', 'en': 'Gather Autumn Specialties (5/7)', 'jp': '秋の土産採集(5/7)'}, 'target_id': 50001005, 'target': {990003: 120}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001006: {'name': {'cn': '秋季特产采集(6/7)', 'en': 'Gather Autumn Specialties (6/7)', 'jp': '秋の土産採集(6/7)'}, 'target_id': 50001006, 'target': {990003: 160}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001007: {'name': {'cn': '秋季特产采集(7/7)', 'en': 'Gather Autumn Specialties (7/7)', 'jp': '秋の土産採集(7/7)'}, 'target_id': 50001007, 'target': {990003: 240}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50001008: {'name': {'cn': '春季特产采集(1/7)', 'en': 'Gather Spring Specialties (1/7)', 'jp': '春の土産採集(1/7)'}, 'target_id': 50001008, 'target': {990007: 8}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001009: {'name': {'cn': '春季特产采集(2/7)', 'en': 'Gather Spring Specialties (2/7)', 'jp': '春の土産採集(2/7)'}, 'target_id': 50001009, 'target': {990007: 24}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001010: {'name': {'cn': '春季特产采集(3/7)', 'en': 'Gather Spring Specialties (3/7)', 'jp': '春の土産採集(3/7)'}, 'target_id': 50001010, 'target': {990007: 48}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001011: {'name': {'cn': '春季特产采集(4/7)', 'en': 'Gather Spring Specialties (4/7)', 'jp': '春の土産採集(4/7)'}, 'target_id': 50001011, 'target': {990007: 96}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001012: {'name': {'cn': '春季特产采集(5/7)', 'en': 'Gather Spring Specialties (5/7)', 'jp': '春の土産採集(5/7)'}, 'target_id': 50001012, 'target': {990007: 120}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001013: {'name': {'cn': '春季特产采集(6/7)', 'en': 'Gather Spring Specialties (6/7)', 'jp': '春の土産採集(6/7)'}, 'target_id': 50001013, 'target': {990007: 160}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001014: {'name': {'cn': '春季特产采集(7/7)', 'en': 'Gather Spring Specialties (7/7)', 'jp': '春の土産採集(7/7)'}, 'target_id': 50001014, 'target': {990007: 240}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50001015: {'name': {'cn': '夏季特产采集(1/7)', 'en': 'Gather Summer Specialties (1/7)', 'jp': '夏の土産採集(1/7)'}, 'target_id': 50001015, 'target': {990018: 8}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50001016: {'name': {'cn': '夏季特产采集(2/7)', 'en': 'Gather Summer Specialties (2/7)', 'jp': '夏の土産採集(2/7)'}, 'target_id': 50001016, 'target': {990018: 24}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50001017: {'name': {'cn': '夏季特产采集(3/7)', 'en': 'Gather Summer Specialties (3/7)', 'jp': '夏の土産採集(3/7)'}, 'target_id': 50001017, 'target': {990018: 48}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50001018: {'name': {'cn': '夏季特产采集(4/7)', 'en': 'Gather Summer Specialties (4/7)', 'jp': '夏の土産採集(4/7)'}, 'target_id': 50001018, 'target': {990018: 96}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50001019: {'name': {'cn': '夏季特产采集(5/7)', 'en': 'Gather Summer Specialties (5/7)', 'jp': '夏の土産採集(5/7)'}, 'target_id': 50001019, 'target': {990018: 120}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50001020: {'name': {'cn': '夏季特产采集(6/7)', 'en': 'Gather Summer Specialties (6/7)', 'jp': '夏の土産採集(6/7)'}, 'target_id': 50001020, 'target': {990018: 160}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50001021: {'name': {'cn': '夏季特产采集(7/7)', 'en': 'Gather Summer Specialties (7/7)', 'jp': '夏の土産採集(7/7)'}, 'target_id': 50001021, 'target': {990018: 240}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002001: {'name': {'cn': '秋季特产制作(1/7)', 'en': 'Make Autumn Specialties (1/7)', 'jp': '秋の特産品制作(1/7)'}, 'target_id': 50002001, 'target': {4005: 40}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002002: {'name': {'cn': '秋季特产制作(2/7)', 'en': 'Make Autumn Specialties (2/7)', 'jp': '秋の特産品制作(2/7)'}, 'target_id': 50002002, 'target': {4005: 80}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002003: {'name': {'cn': '秋季特产制作(3/7)', 'en': 'Make Autumn Specialties (3/7)', 'jp': '秋の特産品制作(3/7)'}, 'target_id': 50002003, 'target': {4005: 100}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002004: {'name': {'cn': '秋季特产制作(4/7)', 'en': 'Make Autumn Specialties (4/7)', 'jp': '秋の特産品制作(4/7)'}, 'target_id': 50002004, 'target': {4005: 200}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002005: {'name': {'cn': '秋季特产制作(5/7)', 'en': 'Make Autumn Specialties (5/7)', 'jp': '秋の特産品制作(5/7)'}, 'target_id': 50002005, 'target': {4005: 400}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002006: {'name': {'cn': '秋季特产制作(6/7)', 'en': 'Make Autumn Specialties (6/7)', 'jp': '秋の特産品制作(6/7)'}, 'target_id': 50002006, 'target': {4005: 600}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002007: {'name': {'cn': '秋季特产制作(7/7)', 'en': 'Make Autumn Specialties (7/7)', 'jp': '秋の特産品制作(7/7)'}, 'target_id': 50002007, 'target': {4005: 800}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50002008: {'name': {'cn': '春季特产制作(1/7)', 'en': 'Make Spring Specialties (1/7)', 'jp': '春の特産品制作(1/7)'}, 'target_id': 50002008, 'target': {4019: 40}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002009: {'name': {'cn': '春季特产制作(2/7)', 'en': 'Make Spring Specialties (2/7)', 'jp': '春の特産品制作(2/7)'}, 'target_id': 50002009, 'target': {4019: 80}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002010: {'name': {'cn': '春季特产制作(3/7)', 'en': 'Make Spring Specialties (3/7)', 'jp': '春の特産品制作(3/7)'}, 'target_id': 50002010, 'target': {4019: 100}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002011: {'name': {'cn': '春季特产制作(4/7)', 'en': 'Make Spring Specialties (4/7)', 'jp': '春の特産品制作(4/7)'}, 'target_id': 50002011, 'target': {4019: 200}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002012: {'name': {'cn': '春季特产制作(5/7)', 'en': 'Make Spring Specialties (5/7)', 'jp': '春の特産品制作(5/7)'}, 'target_id': 50002012, 'target': {4019: 400}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002013: {'name': {'cn': '春季特产制作(6/7)', 'en': 'Make Spring Specialties (6/7)', 'jp': '春の特産品制作(6/7)'}, 'target_id': 50002013, 'target': {4019: 600}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002014: {'name': {'cn': '春季特产制作(7/7)', 'en': 'Make Spring Specialties (7/7)', 'jp': '春の特産品制作(7/7)'}, 'target_id': 50002014, 'target': {4019: 800}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50002015: {'name': {'cn': '夏季特产制作(1/7)', 'en': 'Make Summer Specialties (1/7)', 'jp': '夏の特産品制作(1/7)'}, 'target_id': 50002015, 'target': {4033: 40}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002016: {'name': {'cn': '夏季特产制作(2/7)', 'en': 'Make Summer Specialties (2/7)', 'jp': '夏の特産品制作(2/7)'}, 'target_id': 50002016, 'target': {4033: 80}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002017: {'name': {'cn': '夏季特产制作(3/7)', 'en': 'Make Summer Specialties (3/7)', 'jp': '夏の特産品制作(3/7)'}, 'target_id': 50002017, 'target': {4033: 100}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002018: {'name': {'cn': '夏季特产制作(4/7)', 'en': 'Make Summer Specialties (4/7)', 'jp': '夏の特産品制作(4/7)'}, 'target_id': 50002018, 'target': {4033: 200}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002019: {'name': {'cn': '夏季特产制作(5/7)', 'en': 'Make Summer Specialties (5/7)', 'jp': '夏の特産品制作(5/7)'}, 'target_id': 50002019, 'target': {4033: 400}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002020: {'name': {'cn': '夏季特产制作(6/7)', 'en': 'Make Summer Specialties (6/7)', 'jp': '夏の特産品制作(6/7)'}, 'target_id': 50002020, 'target': {4033: 600}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50002021: {'name': {'cn': '夏季特产制作(7/7)', 'en': 'Make Summer Specialties (7/7)', 'jp': '夏の特産品制作(7/7)'}, 'target_id': 50002021, 'target': {4033: 800}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50003001: {'name': {'cn': '秋季特产订单(1/4)', 'en': 'Autumn Specialty Order (1/4)', 'jp': '秋の特産依頼(1/4)'}, 'target_id': 50003001, 'target': {990002: 1}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50003002: {'name': {'cn': '秋季特产订单(2/4)', 'en': 'Autumn Specialty Order (2/4)', 'jp': '秋の特産依頼(2/4)'}, 'target_id': 50003002, 'target': {990002: 5}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50003003: {'name': {'cn': '秋季特产订单(3/4)', 'en': 'Autumn Specialty Order (3/4)', 'jp': '秋の特産依頼(3/4)'}, 'target_id': 50003003, 'target': {990002: 10}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50003004: {'name': {'cn': '秋季特产订单(4/4)', 'en': 'Autumn Specialty Order (4/4)', 'jp': '秋の特産依頼(4/4)'}, 'target_id': 50003004, 'target': {990002: 15}, 'start_time': {'cn': '2025-09-29 00:00:00', 'en': '2025-09-29 00:00:00', 'jp': '2025-09-29 00:00:00'}, 'end_time': {'cn': '2026-02-05 12:00:00', 'en': '2026-02-05 12:00:00', 'jp': '2026-02-05 16:00:00'}}, + 50003005: {'name': {'cn': '春季特产订单(1/4)', 'en': 'Spring Specialty Order (1/4)', 'jp': '春の特産依頼(1/4)'}, 'target_id': 50003005, 'target': {990006: 1}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50003006: {'name': {'cn': '春季特产订单(2/4)', 'en': 'Spring Specialty Order (2/4)', 'jp': '春の特産依頼(2/4)'}, 'target_id': 50003006, 'target': {990006: 5}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50003007: {'name': {'cn': '春季特产订单(3/4)', 'en': 'Spring Specialty Order (3/4)', 'jp': '春の特産依頼(3/4)'}, 'target_id': 50003007, 'target': {990006: 10}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50003008: {'name': {'cn': '春季特产订单(4/4)', 'en': 'Spring Specialty Order (4/4)', 'jp': '春の特産依頼(4/4)'}, 'target_id': 50003008, 'target': {990006: 15}, 'start_time': {'cn': '2026-02-05 12:00:01', 'en': '2026-02-05 12:00:01', 'jp': '2026-02-05 16:00:01'}, 'end_time': {'cn': '2026-05-07 12:00:00', 'en': '2026-05-07 12:00:00', 'jp': '2026-05-07 16:00:00'}}, + 50003009: {'name': {'cn': '夏季特产订单(1/4)', 'en': 'Summer Specialty Order (1/4)', 'jp': '夏の特産依頼(1/4)'}, 'target_id': 50003009, 'target': {990017: 1}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50003010: {'name': {'cn': '夏季特产订单(2/4)', 'en': 'Summer Specialty Order (2/4)', 'jp': '夏の特産依頼(2/4)'}, 'target_id': 50003010, 'target': {990017: 5}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50003011: {'name': {'cn': '夏季特产订单(3/4)', 'en': 'Summer Specialty Order (3/4)', 'jp': '夏の特産依頼(3/4)'}, 'target_id': 50003011, 'target': {990017: 10}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 50003012: {'name': {'cn': '夏季特产订单(4/4)', 'en': 'Summer Specialty Order (4/4)', 'jp': '夏の特産依頼(4/4)'}, 'target_id': 50003012, 'target': {990017: 15}, 'start_time': {'cn': '2026-05-07 12:00:01', 'en': '2026-05-07 00:00:00', 'jp': '2026-05-07 16:00:00'}, 'end_time': {'cn': '2026-08-06 12:00:00', 'en': '2026-08-05 23:59:59', 'jp': '2026-08-06 16:00:00'}}, + 80001001: {'name': {'cn': '麦田守望', 'en': 'Watching the Fields', 'jp': '畑の見張り'}, 'target_id': 80010001, 'target': {2000: 500}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001002: {'name': {'cn': '动物食品', 'en': 'The Beasts Hunger', 'jp': 'アニマルフード'}, 'target_id': 80010002, 'target': {2008: 500}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001003: {'name': {'cn': '开拓豆源', 'en': 'Beans or Bust', 'jp': '豆供給開拓'}, 'target_id': 80010003, 'target': {2006: 500}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001004: {'name': {'cn': '稻米供应', 'en': 'More Rice!', 'jp': 'お米生産'}, 'target_id': 80010004, 'target': {2002: 500}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001005: {'name': {'cn': '黄金粮仓', 'en': 'Golden Granary', 'jp': '黄金米蔵'}, 'target_id': 80010005, 'target': {2001: 500}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001006: {'name': {'cn': '橙色活力', 'en': 'The Juiciest of Oranges', 'jp': '元気オレンジ'}, 'target_id': 80010006, 'target': {2004: 250}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001007: {'name': {'cn': '乳品补给', 'en': 'Donations of Dairy', 'jp': 'ミルク補給'}, 'target_id': 80010007, 'target': {2603: 250}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001008: {'name': {'cn': '甜蜜引擎', 'en': 'Sugar in the Tank', 'jp': 'スイートエンジン'}, 'target_id': 80010008, 'target': {3009: 250}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001009: {'name': {'cn': '咖啡供应', 'en': 'Needs More Coffee', 'jp': 'コーヒー供給'}, 'target_id': 80010009, 'target': {3005: 250}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001010: {'name': {'cn': '烤肉能量', 'en': 'Meat Is Energy', 'jp': '焼き肉エナジー'}, 'target_id': 80010010, 'target': {3029: 250}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001011: {'name': {'cn': '调味基础', 'en': 'Basic Seasoning', 'jp': '味付基本'}, 'target_id': 80010011, 'target': {2007: 100}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001012: {'name': {'cn': '健康饮食', 'en': 'A Healthy Menu', 'jp': 'ヘルシー献立'}, 'target_id': 80010012, 'target': {3015: 100}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001013: {'name': {'cn': '营养组合', 'en': 'Nutritional Combos', 'jp': '栄養セット'}, 'target_id': 80010013, 'target': {3012: 100}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001014: {'name': {'cn': '拿铁时光', 'en': 'Latte Time', 'jp': 'ラテタイム'}, 'target_id': 80010014, 'target': {3007: 100}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001015: {'name': {'cn': '禽肉快炒', 'en': 'Stir-Fry Resupply', 'jp': '肉を炒めて'}, 'target_id': 80010015, 'target': {3032: 100}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001016: {'name': {'cn': '便携快餐', 'en': 'Quick and Easy Meal', 'jp': 'タイパ食事'}, 'target_id': 80010016, 'target': {3034: 50}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001017: {'name': {'cn': '首次接收', 'en': 'Your First Receipt', 'jp': '初めての接収'}, 'target_id': 80010017, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001018: {'name': {'cn': '稳定入库', 'en': 'Safely Stored', 'jp': '安心納品'}, 'target_id': 80010018, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001019: {'name': {'cn': '定期补给', 'en': 'Regular Resupply', 'jp': '定期補充'}, 'target_id': 80010019, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001020: {'name': {'cn': '高效接收', 'en': 'Efficient Delivery', 'jp': '高効率納品'}, 'target_id': 80010020, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001021: {'name': {'cn': '补给充足', 'en': 'Well Stocked', 'jp': '在庫は余裕'}, 'target_id': 80010021, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001022: {'name': {'cn': '永续储备', 'en': 'Sustainable Reserves', 'jp': '備蓄は永久的'}, 'target_id': 80010022, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001023: {'name': {'cn': '发展根基', 'en': 'Foundation for Development', 'jp': '発展の礎'}, 'target_id': 80010023, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001024: {'name': {'cn': '初识订单', 'en': 'Your First Request', 'jp': '初めての依頼'}, 'target_id': 80010024, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001025: {'name': {'cn': '稳定交付', 'en': 'A Reliable Helper', 'jp': '安心依頼'}, 'target_id': 80010025, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001026: {'name': {'cn': '坚实后盾', 'en': 'Firm Support', 'jp': '堅実なサポート'}, 'target_id': 80010026, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001027: {'name': {'cn': '订单专家', 'en': 'Request Master', 'jp': '依頼のプロ'}, 'target_id': 80010027, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001028: {'name': {'cn': '发展支柱', 'en': 'Pillar of Development', 'jp': '発展の柱'}, 'target_id': 80010028, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001029: {'name': {'cn': '开发核心', 'en': 'Core of Development', 'jp': '発展の中心'}, 'target_id': 80010029, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001030: {'name': {'cn': '繁荣之基', 'en': 'Foundation for Prosperity', 'jp': '繁栄の礎'}, 'target_id': 80010030, 'target': {}, 'start_time': {'cn': None, 'en': None, 'jp': None}, 'end_time': {'cn': None, 'en': None, 'jp': None}}, + 80001101: {'name': {'cn': '麦田守望', 'en': 'Watching the Fields', 'jp': '畑の見張り'}, 'target_id': 80011001, 'target': {2000: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001102: {'name': {'cn': '动物食品', 'en': 'The Beasts Hunger', 'jp': 'アニマルフード'}, 'target_id': 80011002, 'target': {2008: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001103: {'name': {'cn': '开拓豆源', 'en': 'Beans or Bust', 'jp': '豆供給開拓'}, 'target_id': 80011003, 'target': {2006: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001104: {'name': {'cn': '稻米供应', 'en': 'More Rice!', 'jp': 'お米生産'}, 'target_id': 80011004, 'target': {2002: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001105: {'name': {'cn': '黄金粮仓', 'en': 'Golden Granary', 'jp': '黄金米蔵'}, 'target_id': 80011005, 'target': {2001: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001106: {'name': {'cn': '橙色活力', 'en': 'The Juiciest of Oranges', 'jp': '元気オレンジ'}, 'target_id': 80011006, 'target': {2004: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001107: {'name': {'cn': '乳品补给', 'en': 'Donations of Dairy', 'jp': 'ミルク補給'}, 'target_id': 80011007, 'target': {2603: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001108: {'name': {'cn': '甜蜜引擎', 'en': 'Sugar in the Tank', 'jp': 'スイートエンジン'}, 'target_id': 80011008, 'target': {3017: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001109: {'name': {'cn': '咖啡供应', 'en': 'Needs More Coffee', 'jp': 'コーヒー供給'}, 'target_id': 80011009, 'target': {3005: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001110: {'name': {'cn': '烤肉能量', 'en': 'Meat Is Energy', 'jp': '焼き肉エナジー'}, 'target_id': 80011010, 'target': {3029: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001111: {'name': {'cn': '调味基础', 'en': 'Basic Seasoning', 'jp': '味付基本'}, 'target_id': 80011011, 'target': {2007: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001112: {'name': {'cn': '健康饮食', 'en': 'A Healthy Menu', 'jp': 'ヘルシー献立'}, 'target_id': 80011012, 'target': {3015: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001113: {'name': {'cn': '营养组合', 'en': 'Nutritional Combos', 'jp': '栄養セット'}, 'target_id': 80011013, 'target': {3033: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001114: {'name': {'cn': '拿铁时光', 'en': 'Latte Time', 'jp': 'ラテタイム'}, 'target_id': 80011014, 'target': {3007: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001115: {'name': {'cn': '禽肉快炒', 'en': 'Stir-Fry Resupply', 'jp': '肉を炒めて'}, 'target_id': 80011015, 'target': {3032: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001116: {'name': {'cn': '便携快餐', 'en': 'Quick and Easy Meal', 'jp': 'タイパ食事'}, 'target_id': 80011016, 'target': {3034: 50}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001117: {'name': {'cn': '首次接收', 'en': 'Your First Receipt', 'jp': '初めての接収'}, 'target_id': 80011017, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001118: {'name': {'cn': '稳定入库', 'en': 'Safely Stored', 'jp': '安心納品'}, 'target_id': 80011018, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001119: {'name': {'cn': '定期补给', 'en': 'Regular Resupply', 'jp': '定期補充'}, 'target_id': 80011019, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001120: {'name': {'cn': '高效接收', 'en': 'Efficient Delivery', 'jp': '高効率納品'}, 'target_id': 80011020, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001121: {'name': {'cn': '补给充足', 'en': 'Well Stocked', 'jp': '在庫は余裕'}, 'target_id': 80011021, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001122: {'name': {'cn': '永续储备', 'en': 'Sustainable Reserves', 'jp': '備蓄は永久的'}, 'target_id': 80011022, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001123: {'name': {'cn': '发展根基', 'en': 'Foundation for Development', 'jp': '発展の礎'}, 'target_id': 80011023, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001124: {'name': {'cn': '初识订单', 'en': 'Your First Request', 'jp': '初めての依頼'}, 'target_id': 80011024, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001125: {'name': {'cn': '稳定交付', 'en': 'A Reliable Helper', 'jp': '安心依頼'}, 'target_id': 80011025, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001126: {'name': {'cn': '坚实后盾', 'en': 'Firm Support', 'jp': '堅実なサポート'}, 'target_id': 80011026, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001127: {'name': {'cn': '订单专家', 'en': 'Request Master', 'jp': '依頼のプロ'}, 'target_id': 80011027, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001128: {'name': {'cn': '发展支柱', 'en': 'Pillar of Development', 'jp': '発展の柱'}, 'target_id': 80011028, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001129: {'name': {'cn': '开发核心', 'en': 'Core of Development', 'jp': '発展の中心'}, 'target_id': 80011029, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001130: {'name': {'cn': '繁荣之基', 'en': 'Foundation for Prosperity', 'jp': '繁栄の礎'}, 'target_id': 80011030, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001201: {'name': {'cn': '田野坚盾', 'en': 'Garden Logistics', 'jp': '畑の兵站'}, 'target_id': 80012001, 'target': {2005: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001202: {'name': {'cn': '提神饮品', 'en': 'A Cup to Wake You Up', 'jp': '目覚まし一杯'}, 'target_id': 80012002, 'target': {2009: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001203: {'name': {'cn': '蔬菜供给', 'en': 'Vegetable Supplies', 'jp': '野菜供給'}, 'target_id': 80012003, 'target': {2003: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001204: {'name': {'cn': '甜蜜果味', 'en': 'Sweet Strawberries', 'jp': '甘いスイーツ'}, 'target_id': 80012004, 'target': {2011: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001205: {'name': {'cn': '纺织原料', 'en': 'Textile Materials', 'jp': '紡織の素材'}, 'target_id': 80012005, 'target': {2012: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001206: {'name': {'cn': '水果补给', 'en': 'Fruit Supplies', 'jp': '果物補給'}, 'target_id': 80012006, 'target': {2016: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001207: {'name': {'cn': '清爽活力', 'en': 'Zingy and Refreshing', 'jp': 'さわやか元気'}, 'target_id': 80012007, 'target': {2020: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001208: {'name': {'cn': '便携快餐', 'en': 'Quick and Easy Meal', 'jp': '便利な軽食'}, 'target_id': 80012008, 'target': {3114: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001209: {'name': {'cn': '清淡风味', 'en': 'Simply Seasoned', 'jp': 'あっさりした味付け'}, 'target_id': 80012009, 'target': {3116: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001210: {'name': {'cn': '甜味动力', 'en': 'Sugary Motivation Boost', 'jp': '甘物はモチベ'}, 'target_id': 80012010, 'target': {3020: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001211: {'name': {'cn': '果香醒神', 'en': 'Fragrant and Energizing', 'jp': '香りでさっぱり'}, 'target_id': 80012011, 'target': {3008: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001212: {'name': {'cn': '清新菜式', 'en': 'Bounty of the Sea', 'jp': '淡雅の料理'}, 'target_id': 80012012, 'target': {3115: 50}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001213: {'name': {'cn': '海鲜美味', 'en': 'Supreme Seafood', 'jp': '激ウマシーフード'}, 'target_id': 80012013, 'target': {3118: 25}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001214: {'name': {'cn': '麻辣激情', 'en': 'Spicy Extravagance', 'jp': '激辛パッション'}, 'target_id': 80012014, 'target': {3119: 25}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001215: {'name': {'cn': '艺术点缀', 'en': 'Artistic Flair', 'jp': '芸術的な彩り'}, 'target_id': 80012015, 'target': {3117: 25}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001216: {'name': {'cn': '珍馐汇聚', 'en': 'A Treat to Break Your Vows For', 'jp': 'あつまれ珍味'}, 'target_id': 80012016, 'target': {3120: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001217: {'name': {'cn': '首次接收', 'en': 'Your First Receipt', 'jp': '初めての接収'}, 'target_id': 80012017, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001218: {'name': {'cn': '稳定入库', 'en': 'Safely Stored', 'jp': '安心納品'}, 'target_id': 80012018, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001219: {'name': {'cn': '定期补给', 'en': 'Regular Resupply', 'jp': '定期補充'}, 'target_id': 80012019, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001220: {'name': {'cn': '高效接收', 'en': 'Efficient Delivery', 'jp': '高効率納品'}, 'target_id': 80012020, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001221: {'name': {'cn': '补给充足', 'en': 'Well Stocked', 'jp': '在庫は余裕'}, 'target_id': 80012021, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001222: {'name': {'cn': '永续储备', 'en': 'Sustainable Reserves', 'jp': '備蓄は永久的'}, 'target_id': 80012022, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001223: {'name': {'cn': '发展根基', 'en': 'Foundation for Development', 'jp': '発展の礎'}, 'target_id': 80012023, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001224: {'name': {'cn': '初识订单', 'en': 'Your First Request', 'jp': '初めての依頼'}, 'target_id': 80012024, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001225: {'name': {'cn': '稳定交付', 'en': 'A Reliable Helper', 'jp': '安心依頼'}, 'target_id': 80012025, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001226: {'name': {'cn': '坚实后盾', 'en': 'Firm Support', 'jp': '堅実なサポート'}, 'target_id': 80012026, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001227: {'name': {'cn': '订单专家', 'en': 'Request Master', 'jp': '依頼のプロ'}, 'target_id': 80012027, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001228: {'name': {'cn': '发展支柱', 'en': 'Pillar of Development', 'jp': '発展の柱'}, 'target_id': 80012028, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001229: {'name': {'cn': '开发核心', 'en': 'Core of Development', 'jp': '発展の中心'}, 'target_id': 80012029, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001230: {'name': {'cn': '繁荣之基', 'en': 'Foundation for Prosperity', 'jp': '繁栄の礎'}, 'target_id': 80012030, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001301: {'name': {'cn': '主粮储备', 'en': 'Stockpile Staple Foods', 'jp': '主食備蓄'}, 'target_id': 80013001, 'target': {2002: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001302: {'name': {'cn': '营养蛋白', 'en': 'Plant Proteins', 'jp': '栄養タンパク'}, 'target_id': 80013002, 'target': {2006: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001303: {'name': {'cn': '田野坚盾', 'en': 'Working the Fields', 'jp': '原野の支え'}, 'target_id': 80013003, 'target': {2001: 500}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001304: {'name': {'cn': '工业血脉', 'en': 'Industrial Roots', 'jp': '工業のルーツ'}, 'target_id': 80013004, 'target': {2022: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001305: {'name': {'cn': '香甜活力', 'en': 'Sweet Energy', 'jp': '甘い活力'}, 'target_id': 80013005, 'target': {2018: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001306: {'name': {'cn': '纤维补给', 'en': 'Finding Fibers', 'jp': '繊維補給'}, 'target_id': 80013006, 'target': {2010: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001307: {'name': {'cn': '芳香疗愈', 'en': 'Soothing Fragrances', 'jp': '香り豊かな癒し'}, 'target_id': 80013007, 'target': {2015: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001308: {'name': {'cn': '便携快餐', 'en': 'Bite-Sized Flavor', 'jp': 'タイパ食事'}, 'target_id': 80013008, 'target': {3033: 250}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001309: {'name': {'cn': '热带双响', 'en': 'Tropical Twins', 'jp': '南国ツイン'}, 'target_id': 80013009, 'target': {3018: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001310: {'name': {'cn': '甜味动力', 'en': 'Tasty Motivation', 'jp': '甘さはモチベ'}, 'target_id': 80013010, 'target': {3026: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001311: {'name': {'cn': '粉红奶香', 'en': 'Creamy Pink', 'jp': 'まろやかピンク'}, 'target_id': 80013011, 'target': {3010: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001312: {'name': {'cn': '经典正餐', 'en': 'Classic Dishes', 'jp': '定番な食事'}, 'target_id': 80013012, 'target': {3013: 50}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001313: {'name': {'cn': '白玉凝脂', 'en': 'Silky Tofu', 'jp': '白玉豆腐'}, 'target_id': 80013013, 'target': {3011: 50}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001314: {'name': {'cn': '炙烤香气', 'en': 'Roasted Delight', 'jp': '炭火の嬉しみ'}, 'target_id': 80013014, 'target': {3029: 50}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001315: {'name': {'cn': '安神茶饮', 'en': 'Calming Brews', 'jp': '落ち着いたお茶'}, 'target_id': 80013015, 'target': {3021: 25}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001316: {'name': {'cn': '净水耗材', 'en': 'Clean Water', 'jp': '浄水の消耗品'}, 'target_id': 80013016, 'target': {3056: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001317: {'name': {'cn': '首次接收', 'en': 'Your First Receipt', 'jp': '初めての接収'}, 'target_id': 80013017, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001318: {'name': {'cn': '稳定入库', 'en': 'Safely Stored', 'jp': '安心納品'}, 'target_id': 80013018, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001319: {'name': {'cn': '定期补给', 'en': 'Regular Resupply', 'jp': '定期補充'}, 'target_id': 80013019, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001320: {'name': {'cn': '高效接收', 'en': 'Efficient Delivery', 'jp': '高効率納品'}, 'target_id': 80013020, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001321: {'name': {'cn': '补给充足', 'en': 'Well Stocked', 'jp': '在庫は余裕'}, 'target_id': 80013021, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001322: {'name': {'cn': '永续储备', 'en': 'Sustainable Reserves', 'jp': '備蓄は永久的'}, 'target_id': 80013022, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001323: {'name': {'cn': '发展根基', 'en': 'Foundation for Development', 'jp': '発展の礎'}, 'target_id': 80013023, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001324: {'name': {'cn': '初识订单', 'en': 'Your First Request', 'jp': '初めての依頼'}, 'target_id': 80013024, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001325: {'name': {'cn': '稳定交付', 'en': 'A Reliable Helper', 'jp': '安心依頼'}, 'target_id': 80013025, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001326: {'name': {'cn': '坚实后盾', 'en': 'Firm Support', 'jp': '堅実なサポート'}, 'target_id': 80013026, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001327: {'name': {'cn': '订单专家', 'en': 'Request Master', 'jp': '依頼のプロ'}, 'target_id': 80013027, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001328: {'name': {'cn': '发展支柱', 'en': 'Pillar of Development', 'jp': '発展の柱'}, 'target_id': 80013028, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001329: {'name': {'cn': '开发核心', 'en': 'Core of Development', 'jp': '発展の中心'}, 'target_id': 80013029, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 80001330: {'name': {'cn': '繁荣之基', 'en': 'Foundation for Prosperity', 'jp': '繁栄の礎'}, 'target_id': 80013030, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001001: {'name': {'cn': '森林里的声音', 'en': 'Sounds in the Woods', 'jp': '森の中の声'}, 'target_id': 200010011, 'target': {4801: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001002: {'name': {'cn': '效率致胜', 'en': 'Efficiency Means Victory', 'jp': '効率こそ勝利'}, 'target_id': 200010021, 'target': {402001: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001003: {'name': {'cn': '效率致胜', 'en': 'Efficiency Means Victory', 'jp': '効率こそ勝利'}, 'target_id': 200010031, 'target': {1707: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001004: {'name': {'cn': '叮咚——嘭!', 'en': 'Bang! Pow!', 'jp': 'ガラーン!ポン!'}, 'target_id': 200010041, 'target': {805: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001005: {'name': {'cn': '折断的铁轨', 'en': 'Broken Track', 'jp': '折れたレール'}, 'target_id': 200010051, 'target': {1708: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001006: {'name': {'cn': '临时轨道', 'en': 'Makeshift Track', 'jp': '仮設レール'}, 'target_id': 200010061, 'target': {2801: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001007: {'name': {'cn': '今天必须完成', 'en': 'Must Be Done Today', 'jp': '今日は必ず完成させる'}, 'target_id': 200010071, 'target': {806: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001008: {'name': {'cn': '最后的矿石', 'en': 'The Last Ore', 'jp': '最後の鉱石'}, 'target_id': 200010081, 'target': {2703: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20001009: {'name': {'cn': '河岸音符', 'en': 'Riverside Song', 'jp': '河岸の音符'}, 'target_id': 200010091, 'target': {10040056: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20002001: {'name': {'cn': '装饰画', 'en': 'Decorative Painting', 'jp': '装飾画'}, 'target_id': 200020011, 'target': {7401: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20002002: {'name': {'cn': '写生内容', 'en': 'Sketch Subject', 'jp': 'スケッチ内容'}, 'target_id': 200020021, 'target': {2305: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20002003: {'name': {'cn': '收集建议', 'en': 'Gathering Suggestions', 'jp': '意見収集'}, 'target_id': 200020031, 'target': {1207: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20002004: {'name': {'cn': '画笔制作', 'en': 'Making a Brush', 'jp': '絵筆制作'}, 'target_id': 200020041, 'target': {2605: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20002005: {'name': {'cn': '画框制作', 'en': 'Making a Frame', 'jp': '額縁制作'}, 'target_id': 200020051, 'target': {2803: 4}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20002006: {'name': {'cn': '报酬', 'en': 'Your Reward', 'jp': '報酬'}, 'target_id': 200020061, 'target': {1909: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20003001: {'name': {'cn': '服务器的焦香味', 'en': "Something's Burned in the Servers", 'jp': 'サーバーの焦げた匂い'}, 'target_id': 200030011, 'target': {1208: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20003002: {'name': {'cn': '修复的原材料', 'en': 'Raw Materials for Repair', 'jp': '修復の原材料'}, 'target_id': 200030021, 'target': {2702: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20003003: {'name': {'cn': '寻找零件', 'en': 'Searching for Parts', 'jp': '部品探し'}, 'target_id': 200030031, 'target': {4901: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20003004: {'name': {'cn': '开服!', 'en': 'Function Restored!', 'jp': 'サーバー起動!'}, 'target_id': 200030041, 'target': {5001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20004000: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 200040000, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20004001: {'name': {'cn': '来自管理员的问候', 'en': 'Greetings From the Manager', 'jp': '管理者からの挨拶'}, 'target_id': 200040011, 'target': {1209: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20004002: {'name': {'cn': '新品研发要诀', 'en': 'Tips for Developing New Recipes', 'jp': '新商品開発の秘訣'}, 'target_id': 200040021, 'target': {3033: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20004003: {'name': {'cn': '商区的新招牌', 'en': "The Commercial Area's New Dish", 'jp': '商店街の新看板'}, 'target_id': 200040031, 'target': {4515: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005001: {'name': {'cn': '闹鬼传闻', 'en': 'Ghastly Rumors', 'jp': 'お化け騒動'}, 'target_id': 200050011, 'target': {3007: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005002: {'name': {'cn': '深夜的铃铛', 'en': 'Bells in the Night', 'jp': '深夜の鈴音'}, 'target_id': 200050021, 'target': {10010069: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005003: {'name': {'cn': '深夜的铃铛', 'en': 'Bells in the Night', 'jp': '深夜の鈴音'}, 'target_id': 200050031, 'target': {3008: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005004: {'name': {'cn': '另一阵怪声', 'en': 'Another Creepy Noise', 'jp': 'もう一つの怪しい音'}, 'target_id': 200050041, 'target': {2907: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005005: {'name': {'cn': '是谁在深夜敲打?', 'en': "Who's Banging in the Night?", 'jp': '深夜に叩いてるのは誰?'}, 'target_id': 200050051, 'target': {7501: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005006: {'name': {'cn': '短腿鬼影', 'en': 'Horned Figure', 'jp': '短足の怪しい影'}, 'target_id': 200050061, 'target': {2807: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005007: {'name': {'cn': '捉鬼专家', 'en': 'Ghostbusting Specialist', 'jp': 'お化け退治専門家'}, 'target_id': 200050071, 'target': {10010071: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005008: {'name': {'cn': '捉鬼专家', 'en': 'Ghostbusting Specialist', 'jp': 'お化け退治専門家'}, 'target_id': 200050081, 'target': {10010072: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20005009: {'name': {'cn': '捉鬼专家', 'en': 'Ghostbusting Specialist', 'jp': 'お化け退治専門家'}, 'target_id': 200050091, 'target': {6501: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006001: {'name': {'cn': '羊丢了!!', 'en': 'The Sheep Are Gone!', 'jp': 'ヒツジがいなくなった!!'}, 'target_id': 200060011, 'target': {6601: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006002: {'name': {'cn': '仔细调查', 'en': 'Closer Examination', 'jp': '詳しく調査'}, 'target_id': 200060021, 'target': {6602: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006003: {'name': {'cn': '仔细调查', 'en': 'Closer Examination', 'jp': '詳しく調査'}, 'target_id': 200060031, 'target': {10010077: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006004: {'name': {'cn': '找到你了!', 'en': 'Found You!', 'jp': '見つけた!'}, 'target_id': 200060041, 'target': {6603: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006005: {'name': {'cn': '目击者', 'en': 'Eyewitness', 'jp': '目撃者'}, 'target_id': 200060051, 'target': {3009: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006006: {'name': {'cn': '追到了!!', 'en': 'Chased It Down!', 'jp': '追いついた!!'}, 'target_id': 200060061, 'target': {10010081: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006007: {'name': {'cn': '追到了!!', 'en': 'Chased It Down!', 'jp': '追いついた!!'}, 'target_id': 200060071, 'target': {6701: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006008: {'name': {'cn': '追到了!!', 'en': 'Chased It Down!', 'jp': '追いついた!!'}, 'target_id': 200060081, 'target': {2912: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20006009: {'name': {'cn': '加固围栏', 'en': 'Reinforcing the Fences', 'jp': '柵の補強'}, 'target_id': 200060091, 'target': {2800: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007001: {'name': {'cn': '被困墙内的无名氏', 'en': 'The Person Stuck Behind the Wall', 'jp': '壁に閉じ込められた誰か'}, 'target_id': 200070011, 'target': {7001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007002: {'name': {'cn': '港口的蜜蜂防治', 'en': 'Removing Bees Around the Harbor', 'jp': '港のミツバチ駆除'}, 'target_id': 200070021, 'target': {7002: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007003: {'name': {'cn': '农场的蜜蜂防治', 'en': 'Removing Bees Around the Farm', 'jp': '農場のミツバチ駆除'}, 'target_id': 200070031, 'target': {7003: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007004: {'name': {'cn': '消除疲劳的蜂蜜水', 'en': 'Reinvigorating Honey Water', 'jp': '疲労回復のはちみつ水'}, 'target_id': 200070041, 'target': {1212: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007005: {'name': {'cn': '超美味蜂蜜水配方', 'en': 'The Best Honey Water in the World', 'jp': '超美味しいはちみつ水レシピ'}, 'target_id': 200070051, 'target': {7011: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007006: {'name': {'cn': '食材告急!', 'en': 'Missing Ingredients!', 'jp': '食材不足!'}, 'target_id': 200070061, 'target': {2020: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007007: {'name': {'cn': '寻找迷迭香', 'en': 'Find the Rosemary', 'jp': 'ローズマリーを探せ'}, 'target_id': 200070071, 'target': {4516: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007008: {'name': {'cn': '寻找迷迭香', 'en': 'Find the Rosemary', 'jp': 'ローズマリーを探せ'}, 'target_id': 200070081, 'target': {7012: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007009: {'name': {'cn': '新鲜的食材', 'en': 'Fresh Ingredients', 'jp': '新鮮な食材'}, 'target_id': 200070091, 'target': {1214: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20007010: {'name': {'cn': '无名之人', 'en': 'The Nameless Person', 'jp': '名無し'}, 'target_id': 200070101, 'target': {7013: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20008001: {'name': {'cn': '紧急订单', 'en': 'Urgent Request', 'jp': '緊急依頼'}, 'target_id': 200080011, 'target': {2306: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20008002: {'name': {'cn': '意外发生', 'en': 'Another Problem', 'jp': '事故発生'}, 'target_id': 200080021, 'target': {2800: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20008003: {'name': {'cn': '风险处理', 'en': 'Risk Management', 'jp': 'リスクマネジメント'}, 'target_id': 200080031, 'target': {2700: 10}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20008004: {'name': {'cn': '订单完成', 'en': 'Request Complete', 'jp': '依頼完了'}, 'target_id': 200080041, 'target': {1911: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20009001: {'name': {'cn': '神秘委托', 'en': 'No Details', 'jp': '不思議な依頼'}, 'target_id': 200090011, 'target': {10040059: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20009002: {'name': {'cn': '矿石运输', 'en': 'Transporting Ore', 'jp': '鉱石輸送'}, 'target_id': 200090021, 'target': {1711: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20009003: {'name': {'cn': '{namecode:98:明石}的计划', 'en': "Akashi's Plan", 'jp': '明石の計画'}, 'target_id': 200090031, 'target': {7101: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20009004: {'name': {'cn': '真相大白', 'en': 'The Truth Is Out', 'jp': '真相判明'}, 'target_id': 200090041, 'target': {2310: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010001: {'name': {'cn': '给帕特莉的礼物', 'en': 'A Gift for Patrick', 'jp': 'パトリックへの贈り物'}, 'target_id': 200100011, 'target': {2805: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010002: {'name': {'cn': '倾听心声', 'en': 'Advice', 'jp': '相談'}, 'target_id': 200100021, 'target': {2311: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010003: {'name': {'cn': '元气的秘诀!', 'en': 'The Secret to High Energy!', 'jp': '元気の秘訣!'}, 'target_id': 200100031, 'target': {1217: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010004: {'name': {'cn': '能量特饮制作中~', 'en': 'Energy Drink Under Preparation', 'jp': 'エナジードリンク制作中'}, 'target_id': 200100041, 'target': {1218: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010005: {'name': {'cn': '寻找胡萝卜', 'en': 'Find Carrots', 'jp': 'ニンジンを探せ'}, 'target_id': 200100051, 'target': {3010: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010006: {'name': {'cn': '睡得更香了~', 'en': 'Comfy Sleep!', 'jp': 'ぐっすり!'}, 'target_id': 200100061, 'target': {2806: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010007: {'name': {'cn': '甜甜蛋白霜', 'en': 'Sweet Meringue', 'jp': '甘いメレンゲ'}, 'target_id': 200100071, 'target': {2601: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20010008: {'name': {'cn': '心意送达', 'en': 'From Us to You', 'jp': '気持ちを届けよう'}, 'target_id': 200100081, 'target': {1913: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20011001: {'name': {'cn': '孤零零的餐馆', 'en': 'The Singular Restaurant', 'jp': 'ぽつんとレストラン'}, 'target_id': 200110011, 'target': {1224: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20011002: {'name': {'cn': '喜爱的美食', 'en': 'Favorite Foods', 'jp': '好きな料理'}, 'target_id': 200110021, 'target': {10020028: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20011003: {'name': {'cn': '可别忘了自己', 'en': "Don't Forget Yourself", 'jp': '自分のことも忘れずに'}, 'target_id': 200110031, 'target': {4518: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20011004: {'name': {'cn': '店铺建设中', 'en': 'Shop Under Construction', 'jp': '店舗建設中'}, 'target_id': 200110041, 'target': {2800: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20011005: {'name': {'cn': '大家的商区', 'en': 'A Dining District for Everyone', 'jp': 'みんなの商店街'}, 'target_id': 200110051, 'target': {2602: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012001: {'name': {'cn': '事已至此,先借一个吧', 'en': 'Just Borrow Them', 'jp': 'とりあえず借りる'}, 'target_id': 200120011, 'target': {3011: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012002: {'name': {'cn': '得赶紧买个新的才行', 'en': 'Buy New Ones Already', 'jp': '急いで新しいのを買わなければ'}, 'target_id': 200120021, 'target': {5306: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012003: {'name': {'cn': '果树当然也是要施肥的', 'en': 'Trees Need Fertilizer', 'jp': '果樹だって肥料がほしい'}, 'target_id': 200120031, 'target': {5307: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012004: {'name': {'cn': '果树当然也是要施肥的', 'en': 'Trees Need Fertilizer', 'jp': '果樹だって肥料がほしい'}, 'target_id': 200120041, 'target': {7201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012005: {'name': {'cn': '丰收的喜悦精简版', 'en': 'The Joy of Farming (In a Nutshell)', 'jp': '豊作の喜び・簡略版'}, 'target_id': 200120051, 'target': {2017: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012006: {'name': {'cn': '礼尚往来', 'en': 'Reciprocation', 'jp': '礼には礼を'}, 'target_id': 200120061, 'target': {1225: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012007: {'name': {'cn': '确认订单数量', 'en': 'Checking the Number of Orders', 'jp': '注文数量確認'}, 'target_id': 200120071, 'target': {5310: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012008: {'name': {'cn': '还有“意外收获”?', 'en': 'A Surprise', 'jp': '「意外な収穫」?'}, 'target_id': 200120081, 'target': {1920: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012009: {'name': {'cn': '不是我喜欢的虫子,直接拒绝', 'en': 'Bad Bugs Get the Repellent', 'jp': '好きな虫じゃないから駆除だ'}, 'target_id': 200120091, 'target': {5311: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20012010: {'name': {'cn': '不是我喜欢的虫子,直接拒绝', 'en': 'Bad Bugs Get the Repellent', 'jp': '好きな虫じゃないから駆除だ'}, 'target_id': 200120101, 'target': {7202: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013000: {'name': {'cn': '提升开发等级', 'en': 'Raise the Island Development Level', 'jp': '開発レベルを上げよう'}, 'target_id': 200130000, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013001: {'name': {'cn': '杳无音讯的肥料', 'en': 'Missing Fertilizer', 'jp': '行方不明の肥料'}, 'target_id': 200130011, 'target': {2312: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013002: {'name': {'cn': '散落的货物', 'en': 'Scattered Cargo', 'jp': '散らばった貨物'}, 'target_id': 200130021, 'target': {5711: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013003: {'name': {'cn': '重新订购……', 'en': 'Place a New Order...', 'jp': '再注文……'}, 'target_id': 200130031, 'target': {1921: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013004: {'name': {'cn': '寻找肥料中……', 'en': 'The Search for Fertilizer...', 'jp': '肥料探し中……'}, 'target_id': 200130041, 'target': {7301: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013005: {'name': {'cn': '得救了!', 'en': 'The Day Is Saved!', 'jp': '助かった!'}, 'target_id': 200130051, 'target': {5712: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013006: {'name': {'cn': '一起播种吧', 'en': 'Sowing Together', 'jp': '一緒に種まきしよう'}, 'target_id': 200130061, 'target': {502005: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013007: {'name': {'cn': '收获时间', 'en': 'Harvest Time', 'jp': '収穫時間'}, 'target_id': 200130071, 'target': {2015: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20013008: {'name': {'cn': '薰衣草包裹派送中!', 'en': 'Lavender Delivery!', 'jp': 'ラベンダーの配送!'}, 'target_id': 200130081, 'target': {1922: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20014001: {'name': {'cn': '拼合的秘密', 'en': 'The Secret of the Map Pieces', 'jp': '組み合わせの秘密'}, 'target_id': 200140011, 'target': {5: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20014002: {'name': {'cn': '拼合的秘密', 'en': 'The Secret of the Map Pieces', 'jp': '組み合わせの秘密'}, 'target_id': 200140021, 'target': {10040051: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20014003: {'name': {'cn': '猫的报恩', 'en': "The Cat's Payback", 'jp': '猫の恩返し'}, 'target_id': 200140031, 'target': {5201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20015001: {'name': {'cn': '启动时刻!', 'en': "Let's Get Started!", 'jp': 'スタート!'}, 'target_id': 200150011, 'target': {1020001: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20015002: {'name': {'cn': '岛屿大开发', 'en': 'Great Island Development', 'jp': '離島大開発'}, 'target_id': 200150021, 'target': {8: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20016001: {'name': {'cn': '布莉缇的渔场', 'en': "Britain's Fish Hatchery", 'jp': 'ブリテンのいけす'}, 'target_id': 200160011, 'target': {8005: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20016002: {'name': {'cn': '钓鱼!钓鱼!', 'en': 'Fishing Time!', 'jp': '釣りだ!'}, 'target_id': 200160012, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20016003: {'name': {'cn': '钓鱼!钓鱼!', 'en': 'Fishing Time!', 'jp': '釣りだ!'}, 'target_id': 200160013, 'target': {3000032: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20016004: {'name': {'cn': '布莉缇的渔场', 'en': "Britain's Fish Hatchery", 'jp': 'ブリテンのいけす'}, 'target_id': 200160041, 'target': {8002: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20017001: {'name': {'cn': '珍珠大调研!', 'en': 'Research Into the Pearl Trade', 'jp': '真珠の市場調査'}, 'target_id': 200170011, 'target': {5824: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20017002: {'name': {'cn': '珍珠大调研!', 'en': 'Research Into the Pearl Trade', 'jp': '真珠の市場調査'}, 'target_id': 200170021, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 20017003: {'name': {'cn': '珍珠大调研!', 'en': 'Research Into the Pearl Trade', 'jp': '真珠の市場調査'}, 'target_id': 200170031, 'target': {10030018: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000001: {'name': {'cn': '矿物储备', 'en': 'A Delayed Order', 'jp': '鉱物の備蓄'}, 'target_id': 300000011, 'target': {401: 4}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000002: {'name': {'cn': '生长的树木', 'en': 'Overgrowing Trees', 'jp': '生長する樹木'}, 'target_id': 300000021, 'target': {402: 4}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000003: {'name': {'cn': '岛屿订单', 'en': 'Island Request', 'jp': '離島依頼'}, 'target_id': 300000031, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000004: {'name': {'cn': '科研计划', 'en': 'Research Project', 'jp': '研究計画'}, 'target_id': 300000041, 'target': {702: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000005: {'name': {'cn': '愿此刻永存!', 'en': 'May This Moment Last Forever!', 'jp': 'この瞬間が永遠に!'}, 'target_id': 300000051, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000006: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 300000061, 'target': {1919: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000007: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 300000071, 'target': {1717: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30000008: {'name': {'cn': '喵不可言', 'en': 'Everyone Loves Cats', 'jp': '猫はいいぞ'}, 'target_id': 300000081, 'target': {6201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30101001: {'name': {'cn': '劳动光荣', 'en': 'Labor is Glorious', 'jp': '労働は誉'}, 'target_id': 301010011, 'target': {10123: 4}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30201001: {'name': {'cn': '管理有方', 'en': 'Good Management', 'jp': 'グッドマネジメント'}, 'target_id': 302010011, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30301001: {'name': {'cn': '货运委托', 'en': 'Transport Job', 'jp': '輸送委託'}, 'target_id': 303010011, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30401001: {'name': {'cn': '岛屿订单', 'en': 'Island Request', 'jp': '離島依頼'}, 'target_id': 304010011, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501001: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010011, 'target': {1915: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501002: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010021, 'target': {1714: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501011: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010111, 'target': {1916: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501012: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010121, 'target': {5703: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501021: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010211, 'target': {1917: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501022: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010221, 'target': {4509: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501031: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010311, 'target': {1914: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30501032: {'name': {'cn': "JUU'速运", 'en': 'Manjuu Logistics', 'jp': '饅頭配達'}, 'target_id': 305010321, 'target': {4510: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502001: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020011, 'target': {4511: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502002: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020021, 'target': {5705: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502011: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020111, 'target': {4512: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502012: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020121, 'target': {1715: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502021: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020211, 'target': {4513: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502022: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020221, 'target': {3006: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502031: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020311, 'target': {4514: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30502032: {'name': {'cn': '商区外送服务', 'en': 'Delivery Service', 'jp': '出前サービス'}, 'target_id': 305020321, 'target': {2712: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30504001: {'name': {'cn': '喵不可言', 'en': 'Everyone Loves Cats', 'jp': '猫はいいぞ'}, 'target_id': 305040011, 'target': {6201: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30505001: {'name': {'cn': '愿此刻永存!', 'en': 'May This Moment Last Forever!', 'jp': 'この瞬間が永遠に!'}, 'target_id': 305050011, 'target': {0: 1}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30508001: {'name': {'cn': '美好的一天', 'en': 'A Beautiful Day', 'jp': '美しい一日'}, 'target_id': 305080011, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30601001: {'name': {'cn': '日常补给', 'en': 'Daily Supply', 'jp': '定期補給'}, 'target_id': 306010011, 'target': {}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30701001: {'name': {'cn': '餐品制作', 'en': 'Making a Meal', 'jp': '料理制作'}, 'target_id': 307010011, 'target': {601: 5}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30702001: {'name': {'cn': '灶台上的烟火', 'en': 'Smoke From the Stove', 'jp': 'かまどの煙火'}, 'target_id': 307020011, 'target': {601: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30703001: {'name': {'cn': '商区里的甜蜜', 'en': 'Commercial Area Desserts', 'jp': '商店街スイーツ'}, 'target_id': 307030011, 'target': {602: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30704001: {'name': {'cn': '简餐救援', 'en': 'Small Meals to the Rescue', 'jp': '軽食レスキュー'}, 'target_id': 307040011, 'target': {603: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30705001: {'name': {'cn': '炭火美食', 'en': 'Coal-Fired Deliciousness', 'jp': '炭火グルメ'}, 'target_id': 307050011, 'target': {604: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 30706001: {'name': {'cn': '啾啾时光', 'en': 'Manjuu Time', 'jp': '饅頭タイム'}, 'target_id': 307060011, 'target': {901: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40101001: {'name': {'cn': '更多的储备', 'en': 'Growing Stockpiles', 'jp': '更なる備蓄'}, 'target_id': 401010011, 'target': {401: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40102001: {'name': {'cn': '源源不断的木材', 'en': "Who's Lumbering?", 'jp': 'いつまでも木材'}, 'target_id': 401020011, 'target': {402: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40103001: {'name': {'cn': '丰收一日', 'en': 'Harvest Festa', 'jp': '豊作の日'}, 'target_id': 401030011, 'target': {101: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40104001: {'name': {'cn': '苗圃的帮手', 'en': "Nursery's Assisant", 'jp': '苗場の手伝い'}, 'target_id': 401040011, 'target': {502: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40105001: {'name': {'cn': '缤纷果园计划', 'en': 'To Taste the Rainbow', 'jp': 'カラフル果樹園計画'}, 'target_id': 401050011, 'target': {501: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40106001: {'name': {'cn': '动物之友', 'en': 'Animals are Friends', 'jp': '動物は友達'}, 'target_id': 401060011, 'target': {102: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40107001: {'name': {'cn': '手工制作设备检修', 'en': 'Crafts Production Equipment Inspection', 'jp': '手工製作設備点検'}, 'target_id': 401070011, 'target': {706: 20}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40108001: {'name': {'cn': '工业生产设备检修', 'en': 'Industrial Production Equipment Inspection', 'jp': '工業生産設備点検'}, 'target_id': 401080011, 'target': {704: 20}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40109001: {'name': {'cn': '木料加工设备检修', 'en': 'Lumber Production Equipment Inspection', 'jp': '木材加工設備点検'}, 'target_id': 401090011, 'target': {703: 20}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40110001: {'name': {'cn': '电子加工设备检修', 'en': 'Electronics Production Equipment Inspection', 'jp': '電子加工設備点検'}, 'target_id': 401100011, 'target': {705: 20}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40111001: {'name': {'cn': '啾啾渔场水产养殖', 'en': 'Manjuu Aquaculture', 'jp': '饅頭いけすで水産養殖'}, 'target_id': 401110011, 'target': {201: 30}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40201001: {'name': {'cn': '套餐制作', 'en': 'Combo (Hunger) Breaker', 'jp': '料理セット'}, 'target_id': 402010011, 'target': {1001: 20}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40301001: {'name': {'cn': '热销商品补货中', 'en': 'Restocking Best Sellers', 'jp': '人気商品補充中'}, 'target_id': 403010011, 'target': {0: 100}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40401001: {'name': {'cn': '岛屿印象', 'en': 'Island Impressions', 'jp': '島の印象'}, 'target_id': 404010011, 'target': {0: 3}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40501001: {'name': {'cn': '勤勉每一天', 'en': 'Working Hard Every Day', 'jp': '動物のいる毎日'}, 'target_id': 405010011, 'target': {3: 25}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 40601001: {'name': {'cn': '每周小目标', 'en': 'Weekly Goals', 'jp': '毎週の目標'}, 'target_id': 406010011, 'target': {1: 120000}, 'start_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}, 'end_time': {'cn': 'always', 'en': 'always', 'jp': 'always'}}, + 90001001: {'name': {'cn': '推演入门I', 'en': 'Simulation Novice I', 'jp': '模擬戦闘入門I'}, 'target_id': 900010011, 'target': {101: 1050}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001002: {'name': {'cn': '推演入门II', 'en': 'Simulation Novice II', 'jp': '模擬戦闘入門II'}, 'target_id': 900010021, 'target': {101: 1100}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001003: {'name': {'cn': '推演入门III', 'en': 'Simulation Novice III', 'jp': '模擬戦闘入門III'}, 'target_id': 900010031, 'target': {101: 1150}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001004: {'name': {'cn': '推演入门IV', 'en': 'Simulation Novice IV', 'jp': '模擬戦闘入門IV'}, 'target_id': 900010041, 'target': {101: 1200}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001005: {'name': {'cn': '推演进阶I', 'en': 'Simulation Adept I', 'jp': '模擬戦闘熟練I'}, 'target_id': 900010051, 'target': {101: 1250}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001006: {'name': {'cn': '推演进阶II', 'en': 'Simulation Adept II', 'jp': '模擬戦闘熟練II'}, 'target_id': 900010061, 'target': {101: 1300}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001007: {'name': {'cn': '推演进阶III', 'en': 'Simulation Adept III', 'jp': '模擬戦闘熟練III'}, 'target_id': 900010071, 'target': {101: 1350}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001008: {'name': {'cn': '推演进阶IV', 'en': 'Simulation Adept IV', 'jp': '模擬戦闘熟練IV'}, 'target_id': 900010081, 'target': {101: 1400}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001009: {'name': {'cn': '推演专精I', 'en': 'Simulation Expert I', 'jp': '模擬戦闘専門I'}, 'target_id': 900010091, 'target': {101: 1450}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001010: {'name': {'cn': '推演专精II', 'en': 'Simulation Expert II', 'jp': '模擬戦闘専門II'}, 'target_id': 900010101, 'target': {101: 1500}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001011: {'name': {'cn': '推演专精III', 'en': 'Simulation Expert III', 'jp': '模擬戦闘専門III'}, 'target_id': 900010111, 'target': {101: 1550}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001012: {'name': {'cn': '推演专精IV', 'en': 'Simulation Expert IV', 'jp': '模擬戦闘専門IV'}, 'target_id': 900010121, 'target': {101: 1600}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, + 90001020: {'name': {'cn': '推演大师', 'en': 'Simulation Master', 'jp': '模擬戦闘達人'}, 'target_id': 900010201, 'target': {101: 3000}, 'start_time': {'cn': '2026-04-09 12:00:00', 'en': '2026-04-09 03:00:00', 'jp': '2026-04-09 12:00:00'}, 'end_time': {'cn': '2026-05-06 23:59:59', 'en': '2026-05-06 23:59:59', 'jp': '2026-05-06 23:59:59'}}, +} + +DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE = { + 601: {3011: 601001, 3012: 601002, 3013: 601003, 3014: 601004, 3015: 601005, 3114: 601006, 3116: 601007, 3120: 601008, 3101: 601101, 3102: 601102, 4025: 9900013, 4026: 9900014, 4039: 9900021, 4040: 9900022}, + 602: {3017: 602001, 3018: 602002, 3019: 602003, 3020: 602004, 3021: 602005, 3022: 602006, 3103: 602101, 3104: 602102, 3105: 602103, 4023: 9900011, 4024: 9900012, 4037: 9900019, 4038: 9900020}, + 603: {3023: 603001, 3009: 603002, 3024: 603003, 3025: 603004, 3026: 603005, 3028: 603006, 3106: 603101, 3107: 603102, 3108: 603103, 3118: 603007}, + 604: {3029: 604001, 3030: 604002, 3032: 604004, 3033: 604005, 3034: 604006, 3109: 604101, 3110: 604102, 3115: 604007, 3119: 604008}, + 901: {3059: 901001, 3005: 901002, 3006: 901003, 3007: 901004, 3008: 901005, 3010: 901006, 3111: 901101, 3112: 901102, 3113: 901103}, +} + +DIC_ISLAND_TECHNOLOGY = { + 210101: {'name': {'cn': '解锁林场伐木岗位', 'en': 'Unlock: Logging Slot', 'jp': '開放:伐採配置枠'}, 'tech_belong': 2, 'axis': (1, 1), 'island_level': 5}, + 210102: {'name': {'cn': '林场伐木岗位增加I', 'en': 'Logging Slot+ I', 'jp': '伐採配置枠+I'}, 'tech_belong': 2, 'axis': (5, 1), 'island_level': 11}, + 210103: {'name': {'cn': '林场伐木岗位增加II', 'en': 'Logging Slot+ II', 'jp': '伐採配置枠+II'}, 'tech_belong': 2, 'axis': (14, 1), 'island_level': 24}, + 210104: {'name': {'cn': '林场伐木岗位增加III', 'en': 'Logging Slot+ III', 'jp': '伐採配置枠+III'}, 'tech_belong': 2, 'axis': (17, 1), 'island_level': 26}, + 210201: {'name': {'cn': '实用之木生产技术', 'en': 'Workable Wood Harvesting Techniques', 'jp': '実用の木材伐採'}, 'tech_belong': 2, 'axis': (4, 3), 'island_level': 11}, + 210202: {'name': {'cn': '精选之木生产技术', 'en': 'Premium Wood Harvesting Techniques', 'jp': 'プレミアム木材伐採'}, 'tech_belong': 2, 'axis': (9, 3), 'island_level': 17}, + 210203: {'name': {'cn': '典雅之木生产技术', 'en': 'Elegant Wood Harvesting Techniques', 'jp': 'エレガント木材伐採'}, 'tech_belong': 2, 'axis': (14, 3), 'island_level': 24}, + 210401: {'name': {'cn': '手动伐木恢复加快', 'en': 'Manual Logging Resource Recovery+', 'jp': '手動伐採資源回復+'}, 'tech_belong': 2, 'axis': (3.5, 4.5), 'island_level': 8}, + 210501: {'name': {'cn': '手动伐木效率提升I', 'en': 'Manual Logging Efficiency+ I', 'jp': '手動伐採効率+I'}, 'tech_belong': 2, 'axis': (6.5, 4.5), 'island_level': 13}, + 210502: {'name': {'cn': '手动伐木效率提升II', 'en': 'Manual Logging Efficiency+ II', 'jp': '手動伐採効率+II'}, 'tech_belong': 2, 'axis': (11.5, 4.5), 'island_level': 18}, + 210601: {'name': {'cn': '伐木岗位效率提升', 'en': 'Logging Slot Efficiency+', 'jp': '伐採配置枠効率+'}, 'tech_belong': 2, 'axis': (20, 4.5), 'island_level': 35}, + 220101: {'name': {'cn': '解锁矿山采矿岗位', 'en': 'Unlock: Mining Slot', 'jp': '開放:鉱山採掘配置枠'}, 'tech_belong': 2, 'axis': (1, 6.5), 'island_level': 6}, + 220102: {'name': {'cn': '矿山采矿岗位增加I', 'en': 'Mining Slot+ I', 'jp': '採掘配置枠+I'}, 'tech_belong': 2, 'axis': (9, 6.5), 'island_level': 16}, + 220103: {'name': {'cn': '矿山采矿岗位增加II', 'en': 'Mining Slot+ II', 'jp': '採掘配置枠+II'}, 'tech_belong': 2, 'axis': (14, 6.5), 'island_level': 21}, + 220104: {'name': {'cn': '矿山采矿岗位增加III', 'en': 'Mining Slot+ III', 'jp': '採掘配置枠+III'}, 'tech_belong': 2, 'axis': (17, 6.5), 'island_level': 29}, + 220201: {'name': {'cn': '铝矿勘探技术', 'en': 'Bauxite Mining Techniques', 'jp': 'アルミ鉱石探鉱'}, 'tech_belong': 2, 'axis': (4, 8.5), 'island_level': 9}, + 220202: {'name': {'cn': '铁矿勘探技术', 'en': 'Iron Ore Exploration Techniques', 'jp': '鉄鉱石探鉱'}, 'tech_belong': 2, 'axis': (8, 8.5), 'island_level': 12}, + 220203: {'name': {'cn': '硫矿勘探技术', 'en': 'Sulfur Deposit Exploration Techniques', 'jp': '硫黄鉱石探鉱'}, 'tech_belong': 2, 'axis': (11, 8.5), 'island_level': 16}, + 220204: {'name': {'cn': '银矿勘探技术', 'en': 'Silver Ore Exploration Techniques', 'jp': '銀鉱石探鉱'}, 'tech_belong': 2, 'axis': (14, 8.5), 'island_level': 21}, + 220401: {'name': {'cn': '手动采矿恢复加快', 'en': 'Manual Mining Resource Recovery+', 'jp': '手動採掘資源回復+'}, 'tech_belong': 2, 'axis': (6, 10), 'island_level': 9}, + 220501: {'name': {'cn': '手动采矿效率提升I', 'en': 'Manual Mining Efficiency+ I', 'jp': '手動採掘効率+I'}, 'tech_belong': 2, 'axis': (3, 10), 'island_level': 7}, + 220502: {'name': {'cn': '手动采矿效率提升II', 'en': 'Manual Mining Efficiency+ II', 'jp': '手動採掘効率+II'}, 'tech_belong': 2, 'axis': (9, 10), 'island_level': 15}, + 220601: {'name': {'cn': '采矿岗位效率提升', 'en': 'Mining Slot Efficiency+', 'jp': '採掘配置枠効率+'}, 'tech_belong': 2, 'axis': (20, 10), 'island_level': 41}, + 310001: {'name': {'cn': '手动播种范围增加', 'en': 'Manual Sowing Range+', 'jp': '手動種まき範囲+'}, 'tech_belong': 3, 'axis': (19, 3), 'island_level': 20}, + 310101: {'name': {'cn': '解锁农场管理岗位', 'en': 'Unlock: Farm Slot', 'jp': '開放:農場配置枠'}, 'tech_belong': 3, 'axis': (7, 3), 'island_level': 8}, + 310102: {'name': {'cn': '农场管理岗位增加I', 'en': 'Farm Slot+ I', 'jp': '農場配置枠+I'}, 'tech_belong': 3, 'axis': (16, 3), 'island_level': 18}, + 310103: {'name': {'cn': '农场管理岗位增加II', 'en': 'Farm Slot+ II', 'jp': '農場配置枠+II'}, 'tech_belong': 3, 'axis': (25, 3), 'island_level': 25}, + 310104: {'name': {'cn': '农场管理岗位增加III', 'en': 'Farm Slot+ III', 'jp': '農場配置枠+III'}, 'tech_belong': 3, 'axis': (28, 3), 'island_level': 39}, + 310201: {'name': {'cn': '牧草种植技术', 'en': 'Grass Cultivation Techniques', 'jp': '牧草栽培'}, 'tech_belong': 3, 'axis': (1, 9), 'island_level': 6}, + 310202: {'name': {'cn': '旱稻种植技术', 'en': 'Upland Rice Cultivation Techniques', 'jp': '陸稲栽培技術'}, 'tech_belong': 3, 'axis': (4, 9), 'island_level': 8}, + 310301: {'name': {'cn': '扩建晨露农场I', 'en': 'Morningdew Farm Expansion I', 'jp': '朝露農場拡張I'}, 'tech_belong': 3, 'axis': (1, 1), 'island_level': 6}, + 310302: {'name': {'cn': '扩建晨露农场II', 'en': 'Morningdew Farm Expansion II', 'jp': '朝露農場拡張II'}, 'tech_belong': 3, 'axis': (4, 1), 'island_level': 7}, + 310303: {'name': {'cn': '扩建晨露农场III', 'en': 'Morningdew Farm Expansion III', 'jp': '朝露農場拡張III'}, 'tech_belong': 3, 'axis': (7, 1), 'island_level': 11}, + 310304: {'name': {'cn': '扩建晨露农场IV', 'en': 'Morningdew Farm Expansion IV', 'jp': '朝露農場拡張IV'}, 'tech_belong': 3, 'axis': (10, 1), 'island_level': 12}, + 310305: {'name': {'cn': '扩建晨露农场V', 'en': 'Morningdew Farm Expansion V', 'jp': '朝露農場拡張V'}, 'tech_belong': 3, 'axis': (13, 1), 'island_level': 13}, + 310306: {'name': {'cn': '扩建晨露农场VI', 'en': 'Morningdew Farm Expansion VI', 'jp': '朝露農場拡張VI'}, 'tech_belong': 3, 'axis': (16, 1), 'island_level': 16}, + 310307: {'name': {'cn': '扩建晨露农场VII', 'en': 'Morningdew Farm Expansion VII', 'jp': '朝露農場拡張VII'}, 'tech_belong': 3, 'axis': (19, 1), 'island_level': 22}, + 310308: {'name': {'cn': '扩建晨露农场VIII', 'en': 'Morningdew Farm Expansion VIII', 'jp': '朝露農場拡張VIII'}, 'tech_belong': 3, 'axis': (22, 1), 'island_level': 23}, + 310309: {'name': {'cn': '扩建晨露农场IX', 'en': 'Morningdew Farm Expansion IX', 'jp': '朝露農場拡張IX'}, 'tech_belong': 3, 'axis': (25, 1), 'island_level': 27}, + 320101: {'name': {'cn': '解锁苗圃管理岗位', 'en': 'Unlock: Nursery Slot', 'jp': '開放:苗場配置枠'}, 'tech_belong': 3, 'axis': (10, 5), 'island_level': 14}, + 320102: {'name': {'cn': '苗圃管理岗位增加', 'en': 'Nursery Slot+', 'jp': '苗場配置枠+'}, 'tech_belong': 3, 'axis': (28, 5), 'island_level': 34}, + 320201: {'name': {'cn': '草莓种植技术', 'en': 'Strawberry Cultivation Techniques', 'jp': 'いちご栽培'}, 'tech_belong': 5, 'axis': (10, 1), 'island_level': 12}, + 320202: {'name': {'cn': '棉花种植技术', 'en': 'Cotton Cultivation Techniques', 'jp': '綿栽培'}, 'tech_belong': 3, 'axis': (10, 9), 'island_level': 13}, + 320203: {'name': {'cn': '茶树种植技术', 'en': 'Tea Tree Cultivation Techniques', 'jp': '茶の木栽培'}, 'tech_belong': 5, 'axis': (22, 1), 'island_level': 16}, + 320204: {'name': {'cn': '胡萝卜种植技术', 'en': 'Carrot Cultivation Techniques', 'jp': 'ニンジン栽培技術'}, 'tech_belong': 5, 'axis': (16, 10), 'island_level': 21}, + 320205: {'name': {'cn': '薰衣草种植技术', 'en': 'Lavender Cultivation Techniques', 'jp': 'ラベンダー栽培'}, 'tech_belong': 3, 'axis': (22, 9), 'island_level': 22}, + 320206: {'name': {'cn': '洋葱种植技术', 'en': 'Onion Cultivation Techniques', 'jp': '玉ねぎ栽培技術'}, 'tech_belong': 5, 'axis': (25, 10), 'island_level': 25}, + 320301: {'name': {'cn': '扩建青芽苗圃I', 'en': 'Newsprout Nursery Expansion I', 'jp': '青々苗場拡張I'}, 'tech_belong': 3, 'axis': (4, 5), 'island_level': 7}, + 320302: {'name': {'cn': '扩建青芽苗圃II', 'en': 'Newsprout Nursery Expansion II', 'jp': '青々苗場拡張II'}, 'tech_belong': 3, 'axis': (13, 5), 'island_level': 15}, + 320303: {'name': {'cn': '扩建青芽苗圃III', 'en': 'Newsprout Nursery Expansion III', 'jp': '青々苗場拡張III'}, 'tech_belong': 3, 'axis': (16, 5), 'island_level': 19}, + 320304: {'name': {'cn': '扩建青芽苗圃IV', 'en': 'Newsprout Nursery Expansion IV', 'jp': '青々苗場拡張IV'}, 'tech_belong': 3, 'axis': (25, 5), 'island_level': 32}, + 330101: {'name': {'cn': '解锁果园管理岗位', 'en': 'Unlock: Orchard Slot', 'jp': '開放:果樹園配置枠'}, 'tech_belong': 3, 'axis': (10, 7), 'island_level': 12}, + 330102: {'name': {'cn': '果园管理岗位增加I', 'en': 'Orchard Slot+ I', 'jp': '果樹園配置枠+I'}, 'tech_belong': 3, 'axis': (16, 7), 'island_level': 17}, + 330103: {'name': {'cn': '果园管理岗位增加II', 'en': 'Orchard Slot+ II', 'jp': '果樹園配置枠+II'}, 'tech_belong': 3, 'axis': (25, 7), 'island_level': 26}, + 330104: {'name': {'cn': '果园管理岗位增加III', 'en': 'Orchard Slot+ III', 'jp': '果樹園配置枠+III'}, 'tech_belong': 3, 'axis': (28, 7), 'island_level': 37}, + 330201: {'name': {'cn': '橡胶树种植技术', 'en': 'Rubber Tree Cultivation Techniques', 'jp': 'ゴムの木栽培'}, 'tech_belong': 3, 'axis': (16, 9), 'island_level': 19}, + 330301: {'name': {'cn': '扩建坠香果园I', 'en': 'Sweetscent Orchard Expansion I', 'jp': '薫る果樹園拡張I'}, 'tech_belong': 3, 'axis': (7, 7), 'island_level': 9}, + 330302: {'name': {'cn': '扩建坠香果园II', 'en': 'Sweetscent Orchard Expansion II', 'jp': '薫る果樹園拡張II'}, 'tech_belong': 3, 'axis': (13, 7), 'island_level': 15}, + 330303: {'name': {'cn': '扩建坠香果园III', 'en': 'Sweetscent Orchard Expansion III', 'jp': '薫る果樹園拡張III'}, 'tech_belong': 3, 'axis': (19, 7), 'island_level': 24}, + 400001: {'name': {'cn': '牧场额外产出', 'en': 'Ranch Product Range+', 'jp': '牧場生産品目+'}, 'tech_belong': 4, 'axis': (1, 6), 'island_level': 9}, + 410301: {'name': {'cn': '更多的鸡!I', 'en': 'More Chickens! I', 'jp': 'もっと鶏を!I'}, 'tech_belong': 4, 'axis': (1, 1), 'island_level': 6}, + 410302: {'name': {'cn': '更多的鸡!II', 'en': 'More Chickens! II', 'jp': 'もっと鶏を!II'}, 'tech_belong': 4, 'axis': (4, 1), 'island_level': 8}, + 410303: {'name': {'cn': '更多的鸡!III', 'en': 'More Chickens! III', 'jp': 'もっと鶏を!III'}, 'tech_belong': 4, 'axis': (11, 1), 'island_level': 14}, + 410304: {'name': {'cn': '更多的鸡!IV', 'en': 'More Chickens! IV', 'jp': 'もっと鶏を!IV'}, 'tech_belong': 4, 'axis': (14, 1), 'island_level': 16}, + 410305: {'name': {'cn': '更多的鸡!V', 'en': 'More Chickens! V', 'jp': 'もっと鶏を!V'}, 'tech_belong': 4, 'axis': (17, 1), 'island_level': 21}, + 420301: {'name': {'cn': '哼哼猪养殖', 'en': 'Oinky Oinky Pig Raising', 'jp': 'ブーブーブタ養殖'}, 'tech_belong': 4, 'axis': (1, 3), 'island_level': 7}, + 420302: {'name': {'cn': '更多的猪!I', 'en': 'More Pigs! I', 'jp': 'もっと豚を!I'}, 'tech_belong': 4, 'axis': (4, 3), 'island_level': 8}, + 420303: {'name': {'cn': '更多的猪!II', 'en': 'More Pigs! II', 'jp': 'もっと豚を!II'}, 'tech_belong': 4, 'axis': (11, 3), 'island_level': 13}, + 420304: {'name': {'cn': '更多的猪!III', 'en': 'More Pigs! III', 'jp': 'もっと豚を!III'}, 'tech_belong': 4, 'axis': (17, 3), 'island_level': 22}, + 430301: {'name': {'cn': '哞哞牛养殖', 'en': 'Moo Moo Cow Raising', 'jp': 'モーモーウシ養殖'}, 'tech_belong': 4, 'axis': (6, 4.5), 'island_level': 9}, + 430302: {'name': {'cn': '更多的牛!I', 'en': 'More Cows! I', 'jp': 'もっと牛を!I'}, 'tech_belong': 4, 'axis': (9, 4.5), 'island_level': 10}, + 430303: {'name': {'cn': '更多的牛!II', 'en': 'More Cows! II', 'jp': 'もっと牛を!II'}, 'tech_belong': 4, 'axis': (13, 4.5), 'island_level': 15}, + 430304: {'name': {'cn': '更多的牛!III', 'en': 'More Cows! III', 'jp': 'もっと牛を!III'}, 'tech_belong': 4, 'axis': (19, 4.5), 'island_level': 25}, + 440301: {'name': {'cn': '咩咩羊养殖', 'en': 'Baa Baa Sheep Raising', 'jp': 'メェメーヒツジ養殖'}, 'tech_belong': 4, 'axis': (4, 6), 'island_level': 11}, + 440302: {'name': {'cn': '更多的羊!I', 'en': 'More Sheep! I', 'jp': 'もっと羊を!I'}, 'tech_belong': 4, 'axis': (7, 6), 'island_level': 12}, + 440303: {'name': {'cn': '更多的羊!II', 'en': 'More Sheep! II', 'jp': 'もっと羊を!II'}, 'tech_belong': 4, 'axis': (10, 6), 'island_level': 17}, + 440304: {'name': {'cn': '更多的羊!III', 'en': 'More Sheep! III', 'jp': 'もっと羊を!III'}, 'tech_belong': 4, 'axis': (13, 6), 'island_level': 27}, + 450301: {'name': {'cn': '蜂蜜采集点增加I', 'en': 'Honey Gathering Sites+ I', 'jp': 'はちみつ採集地+I'}, 'tech_belong': 4, 'axis': (16, 6), 'island_level': 26}, + 450302: {'name': {'cn': '蜂蜜采集点增加II', 'en': 'Honey Gathering Sites+ II', 'jp': 'はちみつ採集地+II'}, 'tech_belong': 4, 'axis': (19, 6), 'island_level': 30}, + 460001: {'name': {'cn': '钓竿升级I', 'en': 'Fishing Rod Upgrade I', 'jp': '釣り竿強化Ⅰ'}, 'tech_belong': 4, 'axis': (1, 8), 'island_level': 18}, + 460002: {'name': {'cn': '钓竿升级II', 'en': 'Fishing Rod Upgrade II', 'jp': '釣り竿強化Ⅱ'}, 'tech_belong': 4, 'axis': (4, 8), 'island_level': 27}, + 460101: {'name': {'cn': '鱼池管理岗位增加I', 'en': 'Fish Hatchery Slot+ I', 'jp': 'いけす管理枠+Ⅰ'}, 'tech_belong': 4, 'axis': (7, 8), 'island_level': 20}, + 460102: {'name': {'cn': '鱼池管理岗位增加II', 'en': 'Fish Hatchery Slot+ II', 'jp': 'いけす管理枠+Ⅱ'}, 'tech_belong': 4, 'axis': (13, 8), 'island_level': 31}, + 460201: {'name': {'cn': '炸鱼薯条食谱', 'en': 'Fish & Chips', 'jp': 'フィッシュ&チップス'}, 'tech_belong': 4, 'axis': (1, 9.5), 'island_level': 12}, + 460202: {'name': {'cn': '洋葱蒸鱼食谱', 'en': 'Steamed Fish with Onions', 'jp': '魚の玉ねぎ蒸し'}, 'tech_belong': 4, 'axis': (4, 9.5), 'island_level': 18}, + 460203: {'name': {'cn': '柠檬虾食谱', 'en': 'Lemon Shrimp', 'jp': 'レモンエビ'}, 'tech_belong': 4, 'axis': (7, 9.5), 'island_level': 21}, + 460204: {'name': {'cn': '爆炒小龙虾食谱', 'en': 'Crayfish Stir-Fry', 'jp': 'ザリガニ炒め'}, 'tech_belong': 4, 'axis': (10, 9.5), 'island_level': 25}, + 460205: {'name': {'cn': '海鲜饭食谱', 'en': 'Paella', 'jp': 'パエリア'}, 'tech_belong': 4, 'axis': (13, 9.5), 'island_level': 29}, + 460206: {'name': {'cn': '佛跳墙食谱', 'en': "Buddha's Temptation", 'jp': '佛跳牆'}, 'tech_belong': 4, 'axis': (16, 9.5), 'island_level': 36}, + 460301: {'name': {'cn': '养鱼效率提升I', 'en': 'Fish Cultivation Efficiency+ I', 'jp': '魚養殖効率+Ⅰ'}, 'tech_belong': 4, 'axis': (10, 8), 'island_level': 29}, + 460302: {'name': {'cn': '养鱼效率提升II', 'en': 'Fish Cultivation Efficiency+ II', 'jp': '魚養殖効率+Ⅱ'}, 'tech_belong': 4, 'axis': (16, 8), 'island_level': 34}, + 500001: {'name': {'cn': '解锁美食搭配', 'en': 'Unlock: Dish Arrangement', 'jp': '開放:料理組み合わせ'}, 'tech_belong': 5, 'axis': (1, 10), 'island_level': 11}, + 500211: {'name': {'cn': '咖啡树种植技术', 'en': 'Coffee Tree Cultivation Techniques', 'jp': 'コーヒーの木栽培技術'}, 'tech_belong': 5, 'axis': (1, 1), 'island_level': 6}, + 500212: {'name': {'cn': '玉米种植技术', 'en': 'Corn Cultivation Techniques', 'jp': 'とうもろこし栽培'}, 'tech_belong': 5, 'axis': (1, 5), 'island_level': 7}, + 500213: {'name': {'cn': '大豆种植技术', 'en': 'Soy Bean Cultivation Techniques', 'jp': '大豆栽培'}, 'tech_belong': 5, 'axis': (4, 8), 'island_level': 9}, + 500214: {'name': {'cn': '土豆种植技术', 'en': 'Potato Cultivation Techniques', 'jp': 'じゃがいも栽培'}, 'tech_belong': 5, 'axis': (6, 10), 'island_level': 10}, + 500215: {'name': {'cn': '白菜种植技术', 'en': 'Napa Cabbage Cultivation Techniques', 'jp': '白菜栽培'}, 'tech_belong': 5, 'axis': (7, 5), 'island_level': 9}, + 500231: {'name': {'cn': '苹果树种植技术', 'en': 'Apple Tree Cultivation Techniques', 'jp': 'りんごの木栽培'}, 'tech_belong': 5, 'axis': (1, 3), 'island_level': 8}, + 500232: {'name': {'cn': '柑橘树种植技术', 'en': 'Citrus Tree Cultivation Techniques', 'jp': '柑橘類の木栽培'}, 'tech_belong': 5, 'axis': (7, 3), 'island_level': 10}, + 500233: {'name': {'cn': '香蕉树种植技术', 'en': 'Banana Tree Cultivation Techniques', 'jp': 'バナナの木栽培'}, 'tech_belong': 5, 'axis': (10, 3), 'island_level': 13}, + 500234: {'name': {'cn': '芒果树种植技术', 'en': 'Mango Tree Cultivation Techniques', 'jp': 'マンゴーの木栽培'}, 'tech_belong': 5, 'axis': (10, 5), 'island_level': 14}, + 500235: {'name': {'cn': '柠檬树种植技术', 'en': 'Lemon Tree Cultivation Techniques', 'jp': 'レモンの木栽培'}, 'tech_belong': 5, 'axis': (13, 2), 'island_level': 15}, + 500236: {'name': {'cn': '牛油果树种植技术', 'en': 'Avocado Tree Cultivation Techniques', 'jp': 'アボカドの木栽培'}, 'tech_belong': 5, 'axis': (13, 10), 'island_level': 18}, + 510101: {'name': {'cn': '有鱼餐馆岗位增加', 'en': 'Golden Koi Restaurant Slot+', 'jp': '有魚飯店配置枠+'}, 'tech_belong': 5, 'axis': (29, 8), 'island_level': 30}, + 510201: {'name': {'cn': '肉沫烧豆腐食谱', 'en': 'Tofu with Minced Meat', 'jp': '肉そぼろ豆腐'}, 'tech_belong': 5, 'axis': (7, 8), 'island_level': 11}, + 510202: {'name': {'cn': '蛋包饭食谱', 'en': 'Omurice', 'jp': 'オムライス'}, 'tech_belong': 5, 'axis': (10, 9), 'island_level': 11}, + 510203: {'name': {'cn': '白菜豆腐汤食谱', 'en': 'Cabbage and Tofu Soup', 'jp': '白菜と豆腐のスープ'}, 'tech_belong': 5, 'axis': (10, 7), 'island_level': 12}, + 510204: {'name': {'cn': '蔬菜沙拉食谱', 'en': 'Vegetable Salad', 'jp': '野菜サラダ'}, 'tech_belong': 5, 'axis': (13, 8), 'island_level': 14}, + 520001: {'name': {'cn': '建设白熊饮品', 'en': 'Unlock: Polar Bear Teahouse', 'jp': '開放:白クマ茶房'}, 'tech_belong': 5, 'axis': (4, 3), 'island_level': 9}, + 520101: {'name': {'cn': '白熊饮品岗位增加', 'en': 'Polar Bear Teahouse Slot+', 'jp': '白クマ茶房配置枠+'}, 'tech_belong': 5, 'axis': (34, 3), 'island_level': 35}, + 520201: {'name': {'cn': '香蕉芒果汁食谱', 'en': 'Banana and Mango Juice', 'jp': 'バナナマンゴージュース'}, 'tech_belong': 5, 'axis': (13, 4), 'island_level': 15}, + 520202: {'name': {'cn': '蜂蜜柠檬水食谱', 'en': 'Honey and Lemon Water', 'jp': 'はちみつレモン水'}, 'tech_belong': 5, 'axis': (16, 3), 'island_level': 16}, + 520203: {'name': {'cn': '草莓蜂蜜冰沙食谱', 'en': 'Strawberry Honey Frappé', 'jp': 'ストロベリーハニーフラッペ'}, 'tech_belong': 5, 'axis': (19, 3), 'island_level': 17}, + 520204: {'name': {'cn': '薰衣草茶食谱', 'en': 'Lavender Tea', 'jp': 'ラベンダーティー'}, 'tech_belong': 5, 'axis': (25, 3), 'island_level': 24}, + 520205: {'name': {'cn': '草莓蜜沁食谱', 'en': 'Strawberry Lemon Drink', 'jp': 'いちごレモンドリンク'}, 'tech_belong': 5, 'axis': (22, 3), 'island_level': 19}, + 530001: {'name': {'cn': '建设啾啾简餐', 'en': 'Unlock: Manjuu Eatery', 'jp': '開放:饅頭軽食'}, 'tech_belong': 5, 'axis': (16, 5), 'island_level': 16}, + 530101: {'name': {'cn': '啾啾简餐岗位增加', 'en': 'Manjuu Eatery Slot+', 'jp': '饅頭軽食配置枠+'}, 'tech_belong': 5, 'axis': (37, 5), 'island_level': 41}, + 530202: {'name': {'cn': '芒果糯米饭食谱', 'en': 'Sticky Rice with Mango', 'jp': 'マンゴーともち米の蒸し飯'}, 'tech_belong': 5, 'axis': (22, 5), 'island_level': 20}, + 530203: {'name': {'cn': '香蕉可丽饼食谱', 'en': 'Banana Crêpe', 'jp': 'バナナクレープ'}, 'tech_belong': 5, 'axis': (28, 5), 'island_level': 24}, + 530204: {'name': {'cn': '草莓夏洛特食谱', 'en': 'Strawberry Charlotte', 'jp': 'いちごシャルロット'}, 'tech_belong': 5, 'axis': (31, 5), 'island_level': 28}, + 530205: {'name': {'cn': '苹果派食谱', 'en': 'Apple Pie', 'jp': 'アップルパイ'}, 'tech_belong': 5, 'axis': (19, 5), 'island_level': 18}, + 530206: {'name': {'cn': '香橙派食谱', 'en': 'Orange Pie', 'jp': 'オレンジパイ'}, 'tech_belong': 5, 'axis': (19, 7), 'island_level': 19}, + 540001: {'name': {'cn': '建设乌鱼烤肉', 'en': "Unlock: Fin-'n'-Feather Grill", 'jp': '開放:烏魚焼肉'}, 'tech_belong': 5, 'axis': (19, 10), 'island_level': 22}, + 540101: {'name': {'cn': '乌鱼烤肉岗位增加', 'en': "Fin-'n'-Feather Grill Slot+", 'jp': '烏魚焼肉配置枠+'}, 'tech_belong': 5, 'axis': (37, 10), 'island_level': 47}, + 540201: {'name': {'cn': '禽肉土豆拼盘食谱', 'en': "Chicken and Potato Hors d'Oeuvre", 'jp': '鶏肉とポテトの盛り合わせ'}, 'tech_belong': 5, 'axis': (22, 10), 'island_level': 23}, + 540202: {'name': {'cn': '爆炒禽肉食谱', 'en': 'Stir-Fried Chicken', 'jp': '鶏肉炒め'}, 'tech_belong': 5, 'axis': (28, 10), 'island_level': 27}, + 540204: {'name': {'cn': '胡萝卜厚蛋烧食谱', 'en': 'Rolled Carrot Omelette', 'jp': 'ニンジン厚焼き玉子'}, 'tech_belong': 5, 'axis': (31, 10), 'island_level': 29}, + 540205: {'name': {'cn': '汉堡肉饭食谱', 'en': 'Steak Bowl', 'jp': 'ハンバーグ丼'}, 'tech_belong': 5, 'axis': (34, 10), 'island_level': 32}, + 550201: {'name': {'cn': '起司食谱', 'en': 'Cheese', 'jp': 'チーズ'}, 'tech_belong': 5, 'axis': (4, 1), 'island_level': 8}, + 550202: {'name': {'cn': '拿铁食谱', 'en': 'Latte', 'jp': 'ラテ'}, 'tech_belong': 5, 'axis': (7, 1), 'island_level': 10}, + 550203: {'name': {'cn': '柑橘咖啡食谱', 'en': 'Citrus Coffee', 'jp': 'シトラスコーヒー'}, 'tech_belong': 5, 'axis': (16, 1), 'island_level': 12}, + 550204: {'name': {'cn': '草莓奶绿食谱', 'en': 'Strawberry Milkshake', 'jp': 'いちごミルクシェイク'}, 'tech_belong': 5, 'axis': (25, 1), 'island_level': 21}, + 610101: {'name': {'cn': '货运委托上限提升I', 'en': 'Transport Job Limit+ I', 'jp': '輸送依頼上限+I'}, 'tech_belong': 6, 'axis': (1, 1), 'island_level': 6}, + 610102: {'name': {'cn': '货运委托上限提升II', 'en': 'Transport Job Limit+ II', 'jp': '輸送依頼上限+II'}, 'tech_belong': 6, 'axis': (7, 1), 'island_level': 11}, + 610401: {'name': {'cn': '货运效率提升I', 'en': 'Transport Efficiency+ I', 'jp': '輸送効率+I'}, 'tech_belong': 6, 'axis': (4, 1), 'island_level': 8}, + 610402: {'name': {'cn': '货运效率提升II', 'en': 'Transport Efficiency+ II', 'jp': '輸送効率+II'}, 'tech_belong': 6, 'axis': (10, 1), 'island_level': 13}, + 610403: {'name': {'cn': '货运效率提升III', 'en': 'Transport Efficiency+ III', 'jp': '輸送効率+III'}, 'tech_belong': 6, 'axis': (13, 1), 'island_level': 17}, + 620101: {'name': {'cn': '啾咖啡岗位增加', 'en': 'Café Manjuu Slot+', 'jp': '饅頭カフェ配置枠+'}, 'tech_belong': 6, 'axis': (1, 9), 'island_level': 15}, + 630101: {'name': {'cn': '木料加工岗位增加', 'en': 'Lumber Processing Slot+', 'jp': '木材加工配置枠+'}, 'tech_belong': 6, 'axis': (13, 3), 'island_level': 16}, + 630201: {'name': {'cn': '记事本生产工艺', 'en': 'Notebook', 'jp': 'メモ帳'}, 'tech_belong': 6, 'axis': (4, 3), 'island_level': 11}, + 630202: {'name': {'cn': '桌椅生产工艺', 'en': 'Chair and Desk', 'jp': '机と椅子'}, 'tech_belong': 6, 'axis': (7, 3), 'island_level': 13}, + 630203: {'name': {'cn': '精选木桶生产工艺', 'en': 'Choice Wooden Barrel', 'jp': 'オーク樽'}, 'tech_belong': 6, 'axis': (16, 3), 'island_level': 20}, + 630204: {'name': {'cn': '文件柜生产工艺', 'en': 'Filing Cabinet', 'jp': 'ファイルキャビネット'}, 'tech_belong': 6, 'axis': (22, 3), 'island_level': 26}, + 630205: {'name': {'cn': '装饰画生产工艺', 'en': 'Ornamental Painting', 'jp': '装飾画製作'}, 'tech_belong': 6, 'axis': (19, 3), 'island_level': 24}, + 640001: {'name': {'cn': '解锁工业生产设备', 'en': 'Unlock: Manufactured Items', 'jp': '開放:工業アイテム'}, 'tech_belong': 6, 'axis': (4, 5), 'island_level': 15}, + 640101: {'name': {'cn': '工业生产岗位增加', 'en': 'Industrial Production Slot+', 'jp': '工業生産配置枠+'}, 'tech_belong': 6, 'axis': (13, 5), 'island_level': 20}, + 640201: {'name': {'cn': '铁钉生产工艺', 'en': 'Nails', 'jp': '鉄釘'}, 'tech_belong': 6, 'axis': (7, 5), 'island_level': 18}, + 640202: {'name': {'cn': '电缆生产工艺', 'en': 'Cable', 'jp': 'ケーブル'}, 'tech_belong': 6, 'axis': (10, 5), 'island_level': 20}, + 640203: {'name': {'cn': '硫酸生产工艺', 'en': 'Chemicals', 'jp': '化学品'}, 'tech_belong': 6, 'axis': (16, 5), 'island_level': 22}, + 640204: {'name': {'cn': '火药生产工艺', 'en': 'Gunpowder', 'jp': '火薬'}, 'tech_belong': 6, 'axis': (19, 5), 'island_level': 27}, + 640205: {'name': {'cn': '餐具生产工艺', 'en': 'Utensils', 'jp': '食器'}, 'tech_belong': 6, 'axis': (22, 5), 'island_level': 30}, + 650001: {'name': {'cn': '解锁电子加工设备', 'en': 'Unlock: Electronic Items', 'jp': '開放:電化アイテム'}, 'tech_belong': 6, 'axis': (10, 9), 'island_level': 24}, + 650101: {'name': {'cn': '电子加工岗位增加', 'en': 'Electronics Production Slot+', 'jp': '電子加工配置枠+'}, 'tech_belong': 6, 'axis': (22, 9), 'island_level': 33}, + 650201: {'name': {'cn': '钟表生产工艺', 'en': 'Clock', 'jp': '時計'}, 'tech_belong': 6, 'axis': (16, 9), 'island_level': 27}, + 650202: {'name': {'cn': '蓄电池生产工艺', 'en': 'Battery', 'jp': '蓄電池'}, 'tech_belong': 6, 'axis': (25, 9), 'island_level': 36}, + 650203: {'name': {'cn': '净水滤芯生产工艺', 'en': 'Water Filter', 'jp': '浄水フィルター'}, 'tech_belong': 6, 'axis': (28, 9), 'island_level': 42}, + 660001: {'name': {'cn': '解锁手工制作设备', 'en': 'Unlock: Arts & Crafts Items', 'jp': '開放:手工業アイテム'}, 'tech_belong': 6, 'axis': (4, 7), 'island_level': 19}, + 660101: {'name': {'cn': '手工制作岗位增加', 'en': 'Arts & Crafts Slot+', 'jp': '手工制作配置枠+'}, 'tech_belong': 6, 'axis': (19, 7), 'island_level': 28}, + 660201: {'name': {'cn': '皮革生产工艺', 'en': 'Leather', 'jp': '革'}, 'tech_belong': 6, 'axis': (7, 7), 'island_level': 21}, + 660202: {'name': {'cn': '绳索生产工艺', 'en': 'Rope', 'jp': 'ロープ'}, 'tech_belong': 6, 'axis': (10, 7), 'island_level': 22}, + 660203: {'name': {'cn': '手套生产工艺', 'en': 'Gloves', 'jp': '手袋'}, 'tech_belong': 6, 'axis': (13, 7), 'island_level': 23}, + 660204: {'name': {'cn': '香囊生产工艺', 'en': 'Aroma Sachet', 'jp': '香り袋'}, 'tech_belong': 6, 'axis': (16, 7), 'island_level': 26}, + 660205: {'name': {'cn': '鞋靴生产工艺', 'en': 'Shoes', 'jp': '靴'}, 'tech_belong': 6, 'axis': (22, 7), 'island_level': 31}, + 660206: {'name': {'cn': '绷带生产工艺', 'en': 'Wound Dressings', 'jp': '包帯'}, 'tech_belong': 6, 'axis': (25, 7), 'island_level': 35}, +} + +DIC_ISLAND_PRODUCTION_PLACE = { + 101: {'name': {'cn': '丰壤农田', 'en': 'Faircrop Fields', 'jp': '豊穣の畑'}, 'slot': [9001, 9002, 9003, 9004]}, + 102: {'name': {'cn': '悠然牧场', 'en': 'Laidback Ranch', 'jp': '悠々牧場'}, 'slot': [9031, 9032, 9033, 9034]}, + 201: {'name': {'cn': '啾啾渔场', 'en': 'Manjuu Fish Hatchery', 'jp': '饅頭いけす'}, 'slot': [9211, 9212, 9213]}, + 401: {'name': {'cn': '沉石矿山', 'en': 'Rockheap Mine', 'jp': '積岩鉱山'}, 'slot': [9011, 9012, 9013, 9014]}, + 402: {'name': {'cn': '翠土林场 ', 'en': 'Verdant Woods', 'jp': '翠緑の森'}, 'slot': [9021, 9022, 9023, 9024]}, + 501: {'name': {'cn': '坠香果园', 'en': 'Sweetscent Orchard', 'jp': '薫る果樹園'}, 'slot': [9101, 9102, 9103, 9104]}, + 502: {'name': {'cn': '青芽苗圃', 'en': 'Newsprout Nursery', 'jp': '青々苗場'}, 'slot': [9111, 9112]}, + 601: {'name': {'cn': '有鱼餐馆', 'en': 'Golden Koi Restaurant', 'jp': '有魚飯店'}, 'slot': [9061, 9062]}, + 602: {'name': {'cn': '白熊饮品', 'en': 'Polar Bear Teahouse', 'jp': '白クマ茶房'}, 'slot': [9071, 9072]}, + 603: {'name': {'cn': '啾啾简餐', 'en': 'Manjuu Eatery', 'jp': '饅頭軽食'}, 'slot': [9081, 9082]}, + 604: {'name': {'cn': '乌鱼烤肉', 'en': "Fin-'n'-Feather Grill", 'jp': '烏魚焼肉'}, 'slot': [9091, 9092]}, + 702: {'name': {'cn': '岛屿科技', 'en': 'Island Technologies', 'jp': '離島技術'}, 'slot': [70201, 70202]}, + 703: {'name': {'cn': '木料加工设备', 'en': 'Lumber Processing', 'jp': '木材加工'}, 'slot': [9201, 9202]}, + 704: {'name': {'cn': '工业生产设备', 'en': 'Machinery Production', 'jp': '工作機械'}, 'slot': [9203, 9204]}, + 705: {'name': {'cn': '电子加工设备', 'en': 'Electronic Production', 'jp': '電子部品加工'}, 'slot': [9205, 9206]}, + 706: {'name': {'cn': '手工制作设备', 'en': 'Arts & Crafts Production', 'jp': '手工作業台'}, 'slot': [9207, 9208]}, + 901: {'name': {'cn': '啾咖啡', 'en': 'Café Manjuu', 'jp': '饅頭カフェ'}, 'slot': [9041, 9042]}, +} From 76d3cddf270a70ff0dc6237812aaf11d562ddc14 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 26 May 2026 22:46:50 +0800 Subject: [PATCH 2/9] Add: [JP] island pages --- assets/cn/ui/DORMMENU_GOTO_ISLAND.png | Bin 0 -> 41609 bytes assets/cn/ui/ISLAND_CHECK.png | Bin 0 -> 8447 bytes assets/cn/ui/ISLAND_COMMISSION_CHECK.png | Bin 0 -> 14927 bytes assets/cn/ui/ISLAND_GOTO_ISLAND_MAP.png | Bin 0 -> 9566 bytes assets/cn/ui/ISLAND_GOTO_ISLAND_PHONE.png | Bin 0 -> 8447 bytes assets/cn/ui/ISLAND_GOTO_ISLAND_SEASON.png | Bin 0 -> 9212 bytes assets/cn/ui/ISLAND_GOTO_ISLAND_SHOP.png | Bin 0 -> 9652 bytes .../cn/ui/ISLAND_GOTO_ISLAND_TECHNOLOGY.png | Bin 0 -> 9783 bytes assets/cn/ui/ISLAND_MANAGE_CHECK.png | Bin 0 -> 11404 bytes assets/cn/ui/ISLAND_MAP_CHECK.png | Bin 0 -> 13033 bytes assets/cn/ui/ISLAND_ORDER_CHECK.png | Bin 0 -> 12697 bytes assets/cn/ui/ISLAND_PHONE_CHECK.png | Bin 0 -> 8090 bytes .../cn/ui/ISLAND_PHONE_GOTO_ISLAND.BUTTON.png | Bin 0 -> 7982 bytes assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND.png | Bin 0 -> 8090 bytes ...ND_PHONE_GOTO_ISLAND_COMMISSION.BUTTON.png | Bin 0 -> 25022 bytes .../ISLAND_PHONE_GOTO_ISLAND_COMMISSION.png | Bin 0 -> 8090 bytes .../cn/ui/ISLAND_PHONE_GOTO_ISLAND_MANAGE.png | Bin 0 -> 10272 bytes .../ISLAND_PHONE_GOTO_ISLAND_ORDER.BUTTON.png | Bin 0 -> 50539 bytes .../cn/ui/ISLAND_PHONE_GOTO_ISLAND_ORDER.png | Bin 0 -> 8090 bytes .../ui/ISLAND_PHONE_GOTO_ISLAND_STORAGE.png | Bin 0 -> 10205 bytes assets/cn/ui/ISLAND_PHONE_GOTO_MAIN.png | Bin 0 -> 8090 bytes assets/cn/ui/ISLAND_SEASON_CHECK.png | Bin 0 -> 11239 bytes assets/cn/ui/ISLAND_SHOP_CHECK.png | Bin 0 -> 8369 bytes assets/cn/ui/ISLAND_STORAGE_CHECK.png | Bin 0 -> 8122 bytes assets/cn/ui/ISLAND_STORAGE_EXIT.png | Bin 0 -> 8627 bytes assets/cn/ui/ISLAND_TECHNOLOGY_CHECK.png | Bin 0 -> 12631 bytes assets/jp/ui/ISLAND_COMMISSION_CHECK.png | Bin 0 -> 14927 bytes assets/jp/ui/ISLAND_MANAGE_CHECK.png | Bin 0 -> 11404 bytes assets/jp/ui/ISLAND_MAP_CHECK.png | Bin 0 -> 13033 bytes assets/jp/ui/ISLAND_ORDER_CHECK.png | Bin 0 -> 12697 bytes assets/jp/ui/ISLAND_SEASON_CHECK.png | Bin 0 -> 11239 bytes assets/jp/ui/ISLAND_STORAGE_CHECK.png | Bin 0 -> 8122 bytes assets/jp/ui/ISLAND_TECHNOLOGY_CHECK.png | Bin 0 -> 12631 bytes module/ui/assets.py | 23 ++++++++++ module/ui/page.py | 41 ++++++++++++++++++ 35 files changed, 64 insertions(+) create mode 100644 assets/cn/ui/DORMMENU_GOTO_ISLAND.png create mode 100644 assets/cn/ui/ISLAND_CHECK.png create mode 100644 assets/cn/ui/ISLAND_COMMISSION_CHECK.png create mode 100644 assets/cn/ui/ISLAND_GOTO_ISLAND_MAP.png create mode 100644 assets/cn/ui/ISLAND_GOTO_ISLAND_PHONE.png create mode 100644 assets/cn/ui/ISLAND_GOTO_ISLAND_SEASON.png create mode 100644 assets/cn/ui/ISLAND_GOTO_ISLAND_SHOP.png create mode 100644 assets/cn/ui/ISLAND_GOTO_ISLAND_TECHNOLOGY.png create mode 100644 assets/cn/ui/ISLAND_MANAGE_CHECK.png create mode 100644 assets/cn/ui/ISLAND_MAP_CHECK.png create mode 100644 assets/cn/ui/ISLAND_ORDER_CHECK.png create mode 100644 assets/cn/ui/ISLAND_PHONE_CHECK.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND.BUTTON.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_COMMISSION.BUTTON.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_COMMISSION.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_MANAGE.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_ORDER.BUTTON.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_ORDER.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_STORAGE.png create mode 100644 assets/cn/ui/ISLAND_PHONE_GOTO_MAIN.png create mode 100644 assets/cn/ui/ISLAND_SEASON_CHECK.png create mode 100644 assets/cn/ui/ISLAND_SHOP_CHECK.png create mode 100644 assets/cn/ui/ISLAND_STORAGE_CHECK.png create mode 100644 assets/cn/ui/ISLAND_STORAGE_EXIT.png create mode 100644 assets/cn/ui/ISLAND_TECHNOLOGY_CHECK.png create mode 100644 assets/jp/ui/ISLAND_COMMISSION_CHECK.png create mode 100644 assets/jp/ui/ISLAND_MANAGE_CHECK.png create mode 100644 assets/jp/ui/ISLAND_MAP_CHECK.png create mode 100644 assets/jp/ui/ISLAND_ORDER_CHECK.png create mode 100644 assets/jp/ui/ISLAND_SEASON_CHECK.png create mode 100644 assets/jp/ui/ISLAND_STORAGE_CHECK.png create mode 100644 assets/jp/ui/ISLAND_TECHNOLOGY_CHECK.png diff --git a/assets/cn/ui/DORMMENU_GOTO_ISLAND.png b/assets/cn/ui/DORMMENU_GOTO_ISLAND.png new file mode 100644 index 0000000000000000000000000000000000000000..c12990da84c853514542f32584508f15fd0d461a GIT binary patch literal 41609 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_CHECK.png b/assets/cn/ui/ISLAND_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc9d2e78eec762681a110d1401b89d9911526ab GIT binary patch literal 8447 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_COMMISSION_CHECK.png b/assets/cn/ui/ISLAND_COMMISSION_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce32f425911e662d97102e5b140514ff5beb636 GIT binary patch literal 14927 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_GOTO_ISLAND_MAP.png b/assets/cn/ui/ISLAND_GOTO_ISLAND_MAP.png new file mode 100644 index 0000000000000000000000000000000000000000..7e59589cf95f26a17e13403deb772047d4e94562 GIT binary patch literal 9566 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_GOTO_ISLAND_PHONE.png b/assets/cn/ui/ISLAND_GOTO_ISLAND_PHONE.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc9d2e78eec762681a110d1401b89d9911526ab GIT binary patch literal 8447 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_GOTO_ISLAND_SEASON.png b/assets/cn/ui/ISLAND_GOTO_ISLAND_SEASON.png new file mode 100644 index 0000000000000000000000000000000000000000..bf485d50a30b7aabf4f7ab2c71cb535c4e2e1ada GIT binary patch literal 9212 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 Ic6%NF4{&$I0{{R3 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_GOTO_ISLAND_TECHNOLOGY.png b/assets/cn/ui/ISLAND_GOTO_ISLAND_TECHNOLOGY.png new file mode 100644 index 0000000000000000000000000000000000000000..f521a3ab7785d24ff622fd976442ec672d909073 GIT binary patch literal 9783 zcmeHLeLR!<`=1`DD5;}5h_w=`**we)<5WW?WS&aGHup4Rlg-RSR8FM_I%ScFPNJHS zggh*D@{r1;LlU#(sc0>ESRVV{qdJ|}@B4cFUg!1to!?*Xy>{=uKcDM*U)S~iT-SAf z?w#1>XuEWY+7bu^vea$|jsSry1TW`3TQm>+`9%va2Z6|GMY!%}5r|>X;1C9d8VEpH z;lThD;7}dM3_h4@^l@qrI-~ z+EkRnc00oLHdBUV{$>!GZ8!oC4cD4xtr)~9CEv#{*!i%xEe7prqI|gwb-QJWM#C=% zV(UG%>fI|uj|NNCMw)k+&I?Da*?Q{E-Znjr)!6Dc+8)*Ev@a9%yB&KBY%d_{wmpNb zQjDv-=m)+3Y(xJEMRjBQq4O5yf8K-hNjO30wO;jw;tN5Sw4}SA8%=uOQnP#bo5t$O zp+6lDQ-4CdE?XOsm|C;?l+wlZ4}$*eIa&)VnwC@5yYlGmlE)Xvs`P&~l-s1~CU1BN zZTO2HEybzR6^cj~K3C8fh}Y{|R5l7y^(%Gz_FZ<{w|}DwBq;6RS?rF7zi3qZ{25@~ zukdnf)w=DWw@;lkP1>~T!8YpVJN>>P?~Xsay3X#vfuFn-mql-JU+a|?8XBy+;DPe; zum^UH*7!*u!hV&m2M4S=gpuw1`M=s6y+MJ>U%v=kU3tJD*+(Tdf6?#iQ;U3ek+RdD zZt?5H-22ekHL#ECAD%J69M)TyC}(-rw1)K%=B<<7dWR*Ls3N*2{q%$)% ztvzUg_VI=3Kbzcshk1i6*xm128oQ@;*NJN<)}Q1#-}{ZZr?aAZPj1uhf%M6vzaJ@1 z>olu(-f$~!17Z2P%wtPkeb?c0Y)+mq7T01Y*C$w6>!*0B`*vTjRo%3qR(V>XvK)2F zC6P|hUB=?S9IaimynW%t(6(vIVsY={*D>;WcZw@tK`2&s`6Weaf&kJlg`vQXI}J;}?w{7>D@X$jMTF{d)Ntg!Aad+VV)V$O-Ar zoJy^2w2;I+BZD9?rP)+4b$2`LG$S*D^of295}?ls3ISs1{36T7V7z`2xH#RadfE)V}jp0O7V-q-Fgal9k8iO=OQGS53qcd4VIvJ2b zf#CX75Qj*jkSV4n7`PD`13~~uL%1oLWCSM~7y>3Jz{u2?R zKqyl*3P7PiM*si~x@1Bk!c9>a0B(ddFf;_nXp%8;7RrxoX2S>xB7)0F4I=sjh+w+^ zj13v#W?OgJVPS^)$iGH*1rk{lPyws~D&3C}#{6r_l^O)Nu!u4~4bUbiBxnnXHZV0Y zG)Da;$wmk$OvKS$*3`QUpCUXiZ z)BHZ|02Y)VkwwH2SpW!%G(?#h7@8qXTn)jqshJ^qGk8Y+AkXllQo{c?X<7L|EoK*e z2bBrh51$#Dttl7a!0g@ZZ6I}~n4r*^vM?i(XG35T*}yEvAlB>@c|Vcv4}ksSYr=jT zr~a2@z!+nUk;WJb+!%$%z>P^rBRGjfG==*SO-LlPk)a8hG)wDubS8ts3L}O9Tm3;E zL9W0Ao#6_q`*o@GW?1_!AGRNmtpi9I+`th217$G8*I*H{j`1y83&j86!(v9@hZY0s z&5nVs3+#l5@2&7FU!d)O^Z2?B|E38jbk4{>;&+a&IlBH41OG^PF1zOF`bP}>BjLI1 z`ah#<$zLy103F-`g@Lb1RryEPfv;KeBzs#N$-!tn= zR|o(9_;(Ml>y$+hh_5wftljHsAGoo@;ZDTGMc@($Fv8VzOs5=R*(4K@I`VB%%O~zww;3A(@$4I!=9{;f!~U&p4;*uM?dU zcjs!xfQ^Qn5(Kj4)X^7WR@oP}Xv#JrDrWFfXYlVVnm;35BmJOxfL`;lf-ZDNl(?v^ zf28Kzm4vayo&9|`i;vmYVedmAw{E9dpu#$w@O8BbYrizmVl7Fn_0c6#TF20|+* zM8`9zB|g%!TnVSv!N^FAh#pkD=D4p(SeC_&<9yuvrBQ?C=;&xuMKfV^+&vK6^b2G@ z1cFE!=MM=gv8<1~wmf}fQ{{jb-l6`Py*cmY=X!=^aQCCe)vN~-A0}$v421Cqq>PHO z-o|K8?VCq>tN*Z70ZG0xA^FmKJvz)w+I!6f{3eS6(XK+FM%H zwp}v9tn=_LeTS8VOQxhTU5&O{=FE*gljq&@HOt3~JVczXrFz!+B8haupyIl)aE6HF zjfeZbToSWgaC!y6lis!F#n&QKRW7mpk#B8Jx=uay)5V<0Gc?N*HN-}jvj`?St z@6NOL#zm>gL41Ka%=2^0u6qpO1*P3_y4uO-)~Dx3_lfoq9_d}-@%pS5CM7%RfB_@5 zKlu`um|kfPIKLvR+p(^&P#96^gYQmDc1$|IRnuW8U36a?7IKy6o$s0J&V8#qu4153 z6SYk}XaUIAt-$9|Q!fIjcRrVL(+F;`(f6&wvAV*C#3mT5m(jB}*FP^l+SOc2c<7o_ zos{b#3hr8(x%pb0Cp>pRQR6NdpNEaa?7~(JCHdF~ zzMKP*d$PEiF_VKSDWeMXNFRR38tahUq;oH3^W~U4-6U1zz~_&dk&@C99`B(DJGrwQ ziy9dZn--Y+Cumg;Kqu#DeFigu%R4vZ`sR#kRtlJD zAl$@jj<&dxHgRYRzg20td~@jwgxWookO&R4h=F9J=};w>H(7G6qY*7-N6b*J&-;Rha+{8IVS0KJ;y;) zDMlEW_t@jQWd6;Os+Cr6r4tW{#%l5L>S)V}z`mCSQvckJ!|DioSE!h4Arrad)T32Sh~!Qi5yb==+XxDJ?NEQETF* zt&WZkn32JKmogIK+8C9g6Qg1=dm_R7!{^2`*%{&4LHAW;xo&t>61B8jSDXEzeeBWt z?#RrOCmITwt4a+w!j3bPRDx2UV_iC%{xvsCdS(!GEWjd9b2l-7Dq_IpI741>(LDZ z%>;Z&8(bTIVsH@kP}c`sJKHnUuU{5)g^3P^;dVMXNklQ1TLwBpTUOiaJtVgBBc<;H z`<^|Bb+QbvaJL_5aY`TZBi`-)))5-&<2U}1)NwX4YMg`Hxzq7DZz@E{w*V&JJ(bq(ZffT@T}N>S-pZ7UPEQQx^qmnHK=&|-=-L-`CFdnaL)PYg<{x&a3-$d7B^7*m4kwlxd zvW<(ECx&n`YsAydjTV$+`QlM*8i9Kho=?EJ<&%hf7G6b<;I=PJ7`k#Lji&Ojvo${} zY5EqASF$f=>XkdqvVxd$S3%}c?~x#=}y+rIVF8<+Z%$^7jR5+9G6$k7LSz0 zwuAc-t1qoFX(=gsii+8^BIZ2K)yDnpAy42fJA>A$(@vvOKgdyjPLY#`96J9}E|cOw zUAOr0+uA-WosqQ2!>eCdpFyc<*WzezUhEZBg1Zt=aoX^{fclHQ6O4lrl*``rS9oYa zCCtl{0zUtJ0Ze#6Uia8YLuQQqp4}Z9&LOzRr?kC7^tA~**cF^6{J6fhaztsHIKf-e z7W2AI8El~?kvfr>J}x1%agCOisA89~g zDTR9&#y0srn-0y?g7(Mv?N0cFh)mB{WkXYYS9xdaYQt>xFm8P!Rf}Du? UnZlA4`ZDWw){eNmZN5kT14VHr)c^nh literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_MANAGE_CHECK.png b/assets/cn/ui/ISLAND_MANAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..3b003bd9a18892c8bdad7a56a4c0424329bc43c4 GIT binary patch literal 11404 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 xGXtL)_{_j(20ko=!;i(v_nmK_efIgC zy?Obs zD9C9r=T4vbB*P|@O?q_e;>n1%wV%|n+MUjs%!1IhZ!@o1yL@%1(Nqtel?N7r-sBZo zEn506s;$1E>{mx#{Kc;f0e{SOrR1*3UDQI;O@Tho{4BPx>;jqYe3Z9Erv=GpvJ!rYBl1z%nW50~>ia47by z%Sq3ih=?%xPa0(olN&GeB5Z^x#{k*M#&B~En>NPW_fO03iv3jgKgz-u90}LWM9E$& z|Lne^=(DSreIDj@o%J1u)$_+E7rfH_qwehx*EBx8{gGLkQ48rM$oq8O$TL#UP7~VY zj@$%s;xE^{)fg8!12Y3*|Lc zZL&H~4tjdl7(~fDAN%O~JyQGkO6~Se>PNp7K(-&6=#UPqmDMq;Ho~{1e2Ys872m!+ zd<^Wck=4qe!D%~!OC=2|=Yk2h%OJX;fLlif0`BW(dkK!ghiapJ@jh5>N@y71-cnK~ z=9DlrCKyXn^}+fF;!HtHj0TWupsy*&)xcKAHtak$Akdmhz&cUwoH5j349pi~ZuYqe z1r8_(#gfpfl+X|y5l%4$?dgRB_q)wtkm{ZYDcBU`W_wxnJf476)z{Y7*3m*x0weW6 zW}mB?5PbdMjuw``ssNr$K>;LE7#s{HlgZj-h&GO}kCBS@wo5b$30H~T`vY;Av6k0bty0)PjYf(`@g zYU_YQL&1OSK_np}0VTg0^gs3>Is+^KcEl3#5d;ht5sAf-)c&Z#7xR1nun0oP-gJC1 zU~C9B6c8l>qw4-?NUICBmw)fE3xR)NXxLsa0PH_Wk^=qy1=gQz+kLY)oj)1^bpKuN zpQL}A`<^f$Worw!z+)nI&AVV>3fdhX?u*9+`oi~a(FO(v5QwjymJY-SqNQ&DL2JSE zeSkX{8m*(_XN1-@)cb>~3pgSPjl*DfRRPMi0|7n0Sd0-GrjOP#^fSO{>F@S7f?+UP z5Qq`f2nx~D#TY>Upu(OI2zVtr?3+!<551?#7X!D%6GG9zat4N?{juOMod4d7UBKagyL`bEq^GU(ua?UpXp$e$ z0f>P>oG+eC{MRezz)-9c3B8M_F4WLK2clzWV5nzc1cCjbzYCT?1blHX88cRdwQu-6XE27aD^MU(IZXFNW{6truU>Tb{9U)ur!<%=evEzl$^pj1cC z0IsVC*D-X~(}U|m;Sj?!I!17vKgi>K1O1}@H|gE*Q8oEx(X9iC!1z&nO~1sH6E^&p zr(YgJ0{4PRRdp{c;AqS*Qy`)vvA%nD0=j;Ag$Y38{ILLk{OYj3wFmwW&Y)ui#lRr? zepp}GVbTBZ(KWiuA{YYdq0sA+907n2Tz(M!0QdR$T zsWkp9PY%HDt^)v>mM-A7|AGtz{&lk8UB>urwkF{JhKI?Xz#k|E==Vz-KwSV6f`6yN zU-8-{o&U${*LC=R905@MVUT|d-w$wofa~8v;NKGd;9Vc!`nM4Hw}d}<*Z&z@pZ}|v z!s37ohzyiUFWhC5fHG^p&qXT>Dar2NkIbUmK+9jktgjHIqz)X}{r^ZRE9V%{C{4Ox zi;$lCV*er8uPEO<7fMN~N?ow{n=|FjBAZQg=H;G#&n4E$hF)n)K6~Ui=4Qn|us1^| zuAWnxFgg^Qu=s*y=U7}iLT3((WU7O}S5&9Pa(H6?1(*@t3X<3j%w8%ku-b@Esp_tai z)*6NJF0_h{S{FIl-r|*8)ZSwH;DnDhNIs2VVbPIBw5d&ux7Kh>Y)eyfv|*cqcuE?D zIm9$aO%Ot}OIXtATRuKI^Ns1+BG`ax)^4(Ss{OZ{Zx!fv=Pia&X7P_^|z>) zsJq{67qv1~TzUKY_5Dr`IcAUsx5$pl`GT?81s8APygZIr^TP`qY4L64x3?irZ(F72 zz{q7DLPjGYVi zn_2VWuhD;&m93@cCwdmhX$<6hc%*>V^JAcjJWcXKQ?4e@8X;R8@7Y{f^wG#w0N8J& z>Ti7epG}T zOR+|1Ceob{&MMKAss49!HXi|jefaO?>KfBI3y6yOmW7@2AQE@>iBoj5_UEo#|*}XhBa!)cb)N0=)r%~wc5V^8dx!vD#um=CUs-e6Wmx)am;5bG` zI$_b&y7F@It84cdM(qss`E@Fj-mxTkUv%U~%9K*=5b;c5zROH}d?e!?sRL(&s(ZGS z&837aW+Bam%iz2yaYiKLF};$FLk=|8G8G_U{R`_1C~mkist+Yzv=`+S4+Vd$v&-73K*!QYbm91Tu}ev= z+Wt(h0qstxKs?)`Xl7_MoRgcIi!ySJq+|N}$d4NeVMb4gLwW5lt<0*n%H+>j#%`7H zHeN8|bm2)3F0dl!XC15ehABJuq8Cz+x|gENcE*+``@r=tCYv+Kp6_sx6)Sbrb-Hvl z?zoZ?Wv&W($X5A+2Eh)->uEM)DNN<4SryUwp5~EDcWjL#`BxlKgpp4z$img{IILo* zy%7k+VVjFrf{pK-ExwlnW5XMasH=1qXQzG9n5;sPyd3m7?Kq}ejT@;HUt3bi3OE!y z8JtR%$$c6-B_;KDsp#(tx#>em~KBJ5Ouvb>Ypt4RNNn*X=`h9RhFD9L5imoSW0Gk$cP=Vf~+j$ z>C*-(KSMMr?WE~gcPutZ30YIL#>|F>zIl!g3sVKr?X-i^>XMEPeaWSacdb>!Gpq9 ziLhv~QV2w5h-i4Wvz+f1+ik!VPnP#|cUw7(K1YXK{jtJtoqkRFv>%U`1Zo*fwqsqg zuPF+4=yyy@j89K`WYzTk@@ks28BLH|B)GdOz$Db@X3yaA+BK^T2zYXNAao_8%!Z6OV2T7Br=rqESyB@77B%< zOUh#nal&tRYU(A8O}Fhub!>0X1{`VOj%}&S0(;*QilP~Y?mZ0z=|`I#?F|}^J!$z) zNTdaW4UdejbCE;EkUWS_c4L(~<9y`~GJVvnCStnH+TxO(t*BX$x7l>ErW6IOi;EVP z*Y7kn-ETioa%4c;#k;dI=We!nRFI+gZg11e?h%{@lz@~&$ksYd=d0JRwe5pG26mn9 zEWf8Cv%%4#PSn_oxs>*H%qY2DK0MqT2evF%I==PBRk=)IeWx0C#oTZkC4R>u^WUtd znSwaRM$0P;jCxTkO4Kpwbo!x$pRtHH3zH0%$ILC8;v2}Z6-P0M*Q|Q% z_wSdI`sD2yO)1w}dWSV);3UekX@-GU@qkuiczLz8Tis;*4|nfsB_2Dj>}{Y&*rgPQ zRIWx^q${^O&8beG6orcwm$GSGV~RS+(K$`q_x0GB?mM|F;+<+kj4JODeax#^y)eN0 zX$U2N5*GHOcew)M3j^slrQ;C)nc%8?8m)gJIoqY&lSxIQP#DT1n4TUX%*O{1?G3Q7 zC;-K+tPVAT(xsB$E?Gmh^bh=ya2zAhzHx&E@eij=5RAAa|d?!qG7x z69A&GxsKZYy3z@3oO@v3&4mR^E18p7!s(~ro24E!-gS@8%Cm{o2ff1;!K}^3gjSUi z!&l~E0P#Z0+y{n+js+Rw8$#K)POSs<F*8mWm4;Ijl|k>YmM&kg zy1KNVx%;!Kz?asNE8hv%1##()(c-5bmP2L7m5y!pknd3@Yw$=IxLCkX*2*?Kbm-7y z55~jtaP9qqYbx%Em-#hCT+@$tF4 zBhq}y+D|`y<4~Sj>H*Pt^+Qh9Hpg7}D9ZLJy`!=5TbfyTYg?Q3gI+gXJ>i@!*^A9J zGB6&6$C>ezU{**=ixQ;r-7Gj^$}J_|n$77zT1=_etrBHoD4SI$86|Xh^prJNY*~;F zN1i5lpQWu*I_<7Rz)Nt?#bw5WjyBU$~wDjJ8j9c?|C@YCK{t8iXnbbBE^r z*d^PF2&S@Z>1wGRk1X@UiHkdBia1WaxRGHvR!v)CFu0tWkSmf&nYjB6y_-o5+njpQ zWbRn4QBYk?{4LNgo8^TLJD$*|Y=>^ppMXwEK)3_rfK@0MX6`kItpxNT(Du4pXgGE>O zJrB_a)vqxxE6c3P#k70Ddf#>#^6ZthUKwUw@oj3K7b zS5s2}4^@?t9H{xhxHvDU%BS-oqhV$9<$(jMM{az*dwJ0Lfp)& zeJGm^qSU2+aM#a^$s~S#{STofb`JgEK?jf0!Kt)jHLFwvN!nbYR*-~Dd_H{S3?f4J zU3HI^=h+wD^FA3#*Ou&+fepGa=AwJ)pw+cd@{OR8fqgOS)Dkw_z_{l5^I_A{&VouO zKHvjnuJLAz2Tdhz>HsR1H2Uf?gg#tB97?zifeDVf*HLCWSApdK2<4P|kVavlhELRL zRz*axH@9M8J(n?*nw)HZ$z=5%@kVN{2@C>I%RwL)%mg<)?3=S_y8LvjmbP?-;b$8s z`H7wZg!)d`=#I?0SQ_^(#9ythd5EL*R_3&fO0?uM^nwf0(>rrI~ip;AWSNQknD5zN%Iub6%y8~oL*vxOXN#plXm z6pvXEQS)qc`sZ^c<=$NC(jClcJLYCb3c%+Vcl_rR_EK*XnAQBupdS5)ygXB)UpJ_(=ty zwdO~j7T#}WONN3aQ}Q7rq@mf_toHWydy>Dc*eLld-2h&98XojOor)+-OZ) z^pFRQ&w0Mg>COhImm4NpH>Yh6Ar>oXtoQzVrPI#^&Qo+7gpI?}{yuw7gcV}|t`{+Z zdD*EFM;d)MCVcz$8;b(xq*;rmwXS!44YA|Z9_ID2?AiP6#rMobLSQ54Bd)@DiY_Vo zCz8o6GD>EVkJS?^Qn|ub6c?`ZYV)Z%m;7ENqc%}DKHXWS>=sgE*Oh~-8I^S?A5w|& z9UY#{N;rReoobrz5vxU&eICDH`=K1bG4_!5`|e{3c7&QOFq?{ zAW0k_&yQD1E71hGFAk1BXf0Rt=4f|rZEc-bQHD|1ERY#6-i;+m*P>#Jcl30!|GhXg z4i}5#JEfXED=qhq3*AvHZ>Tu!xZUwUhO@EUTRiDhE?U`Ab802_3~4va*w>4y@*mmT zv+|6&9k8NwkfQ`CLO7_*s%&m&D(7TpqXMeD0kU(%rBX!6UO@cwSlUW3s!+JK>WX4Z ziX?O9`q|x*_1vZUdW>s<_ovUxADM4%m6FF|7dq0?To~*9eJs(+NM?$%aT<|RK_oN0 zs^65BdKeDuoS0j2=tKYYw^GBQMBt*G=%#C85+1O!*uH$;>T4j5m~1uv@RRXntLpBao`#h-3q=2;)a;~q^}0U75GQ(4O@?hA8#bZ9dO_Np zt%yH%{7Nr3VAqM-H@2D^8?odu!|IubihTBqKp+u*H8lme*G4YBzB-1t)^#aj#FhY* z%9E$dg3>V zc=1l$YPbB$ms>yE)W)oDS9NB0?$1UrIRX0DZ)BAc4-~P^K65XnYpQinnPx^tlzK03 zHdj4S9khS{ejstV>A60zfUrO!GSpm=nn6HqK)rhPDjFTTJ#~q}RzCK8djS&3_tdWTp{Ep=IX*q>99Z+&s+4riy>{tFoydmx)I z(jN(`$uztZ2@VU4!|<|cMMeHIGrSUd9gebvbwybu)Qu6ID70#O4i%Es5-FZaHe1^0GwkP8<_kCdhzl97p9Ze#&9b0kCQL{RMV zeHL&@gs!YqmCYY_z9g5a1jnpb03MG#<7%*d0@?HuwfWAgChkSz@RQib^!$OKfuIV~ z+^xckiezpC?dix^O`Om6R7g?cNT2`4(mf+mK+q7MiRX`yx7VUAPFvY&M8F3|cUqvF zT6E__TOx6_4^l)dBcxDEV;5JZQ%&nidtD`*+x9@t)HdBmhK7y}a{~Z+Hji0uE-XyA zaXst&`R)UX{eR#6QPpOLqa32h^QLofF4*4>NM~m{oAp46R8cj+=_#DouI11Z$tR5k zN?9g^#g&<^t`O7%U1KQi?c1i5T!yx`Pd_dbIdCPQY6gH*!5zyu+X+~_Qhxe0nK z7nIf>FQC|kN3Xd#$Z>@&7^r7M5K#H__4V1CZ1txVPs$<~17e1XC^|OwKHK|UWIlZW zgaATW&U|YNa-eh&*u_d*%1$UNm(k*MEPg%^(+xJW%F%!;-ZME({;JdwF zd7qWU)hCaPY>8V!XcezNIONz*$=RPtcNuL<%FJ3!prqB1L< zEr|dw0@7Z#;Lss06`?sdE}yN9ijHV)zkAmcsc`3z4boqiCtTpZSZTc9Uc-r9>Sogv zda8h9O!hSkZAV#IjR@nwX(0WrKee78UlhAOHkJ0EA!=@YWTbYin9#J=ewTl%0p^763D^EDG#Nn!nQ>b7*m%Tj@JuASWa z?Ec1d5L{#8T)Uw_tX|tuJd5KW#Y~>-1I{6MvytsK8Xa~i@tVB+cu*n7YK>}al@=>t zv5hT|({jZfNE^gd^zv#FNMQFBVyeHG&VSvU$xoLIAignw8{>aC#Y{qC74-KjrF15wmh2474E&U-E9(--;qR_qvfu3mn&iW4#d zo@<9h^z_b6MbegqTb1k{S>WC?g04A~nD1QxA|%qEe-9xdr|F8mPCX9D+%_cm@r+#= z-MUxn1n&`nPr4SupP!kMLrk>|OuK$hv_k+Ju|{F~gUnP~cA~pxP;+xakAj4iCb@e< ztNlE%TfLQed3e@5M2au(L}a?K(iq?MdrqeZr8xp8*bfwKh!!0hjy6@E$TVV)!*os} zmD#3I*xZb(fCg1LTco6ecsRclO~*t{1*9E9JtMZ!d Qu0a3Q(`pq^fsYbF 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_PHONE_CHECK.png b/assets/cn/ui/ISLAND_PHONE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc9d3f7735c6398bace0c3bd61f4fa90c14609c GIT binary patch literal 8090 zcmeI1c~BGC7Ka;DP*4zc97G*sz!AmlAt4O`l^{lqtb@2hC+R?hEF{e?=*Wx)R2+9f z1Qi`*7(g~RM8$O&#SKu|WKncL0XO8azuUpJ-c-G^>P^-AgHS;Cz32SyIp00!R=PUY zb*b|h12Y2%g2wO{^4uY41h~|_Gg24)n>%fh4g~2~M0k2*?no#>sZvO!fhYkBSE2+o zOe%q(uqxC|CLb|;e_xE)z^&ubGonJ1g z-Abq`c(b9*QoQ6KKkbqG#O{k_PFKoAb9Jpu{3o&$>)0z;#$iqV<&UghM(Ca0)b#GI zW%7(yu{9UGQqP->awcT!nfveP@NzN8K9GE`(PCLuvS^@iSz!C@Fz5Y>lKFRtB)zc? zGfL)eILyB}J}qSj>!@aXTj9>7&+^~K&r}&D{pKNxWhViYXg3nZ8o{C ztNG|fX1U?%DO>EtW&iS}J#*Pm{nN$$KJsU>zOAO~a&)cscI`CE)?D&fGUD~RNh?_| zj_Zow@@V&5*M46S$9YoMt#8WPHes%jUoPPFlho1CmG9{Ifft~Z6t#o9@bcU#SAELX zI<@FOoOflqV{q=4IGeq*Cl=3_TIIL+s+u?7IXaym6f|L#p;7c4uc@n&f`gUc3@$IrX$KBuLadD8tquR)tqG3NR_&Hrd&^w-p9vvS<+vj5vlRfhAqwZuMM2y!K9LR5y-_AusIx zBe=4OeQU<%5y_KSxy_tLYL0h{@0pn8m9DXAvF35Vxt;$-y}aSv)#aJx-p`YJe?GkN zWKsiM>Sl35W8pq_dg`Vzp1#u;Wh{t`Wwu`D_L|2#IFS=pP4<1V-}#%_7T1mY^)D1! zZ}HeAcegaciXOhZZaTJRL}GAtzx~P9r=#lE>t*Giyif&69QfI%3jQ#mo*1)g)hX+6 z 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_COMMISSION.png b/assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_COMMISSION.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc9d3f7735c6398bace0c3bd61f4fa90c14609c GIT binary patch literal 8090 zcmeI1c~BGC7Ka;DP*4zc97G*sz!AmlAt4O`l^{lqtb@2hC+R?hEF{e?=*Wx)R2+9f z1Qi`*7(g~RM8$O&#SKu|WKncL0XO8azuUpJ-c-G^>P^-AgHS;Cz32SyIp00!R=PUY zb*b|h12Y2%g2wO{^4uY41h~|_Gg24)n>%fh4g~2~M0k2*?no#>sZvO!fhYkBSE2+o zOe%q(uqxC|CLb|;e_xE)z^&ubGonJ1g z-Abq`c(b9*QoQ6KKkbqG#O{k_PFKoAb9Jpu{3o&$>)0z;#$iqV<&UghM(Ca0)b#GI zW%7(yu{9UGQqP->awcT!nfveP@NzN8K9GE`(PCLuvS^@iSz!C@Fz5Y>lKFRtB)zc? zGfL)eILyB}J}qSj>!@aXTj9>7&+^~K&r}&D{pKNxWhViYXg3nZ8o{C ztNG|fX1U?%DO>EtW&iS}J#*Pm{nN$$KJsU>zOAO~a&)cscI`CE)?D&fGUD~RNh?_| zj_Zow@@V&5*M46S$9YoMt#8WPHes%jUoPPFlho1CmG9{Ifft~Z6t#o9@bcU#SAELX zI<@FOoOflqV{q=4IGeq*Cl=3_TIIL+s+u?7IXaym6f|L#p;7c4uc@n&f`gUc3@$IrX$KBuLadD8tquR)tqG3NR_&Hrd&^w-p9vvS<+vj5vlRfhAqwZuMM2y!K9LR5y-_AusIx zBe=4OeQU<%5y_KSxy_tLYL0h{@0pn8m9DXAvF35Vxt;$-y}aSv)#aJx-p`YJe?GkN zWKsiM>Sl35W8pq_dg`Vzp1#u;Wh{t`Wwu`D_L|2#IFS=pP4<1V-}#%_7T1mY^)D1! zZ}HeAcegaciXOhZZaTJRL}GAtzx~P9r=#lE>t*Giyif&69QfI%3jQ#mo*1)g)hX+6 z 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_ORDER.png b/assets/cn/ui/ISLAND_PHONE_GOTO_ISLAND_ORDER.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc9d3f7735c6398bace0c3bd61f4fa90c14609c GIT binary patch literal 8090 zcmeI1c~BGC7Ka;DP*4zc97G*sz!AmlAt4O`l^{lqtb@2hC+R?hEF{e?=*Wx)R2+9f z1Qi`*7(g~RM8$O&#SKu|WKncL0XO8azuUpJ-c-G^>P^-AgHS;Cz32SyIp00!R=PUY zb*b|h12Y2%g2wO{^4uY41h~|_Gg24)n>%fh4g~2~M0k2*?no#>sZvO!fhYkBSE2+o zOe%q(uqxC|CLb|;e_xE)z^&ubGonJ1g z-Abq`c(b9*QoQ6KKkbqG#O{k_PFKoAb9Jpu{3o&$>)0z;#$iqV<&UghM(Ca0)b#GI zW%7(yu{9UGQqP->awcT!nfveP@NzN8K9GE`(PCLuvS^@iSz!C@Fz5Y>lKFRtB)zc? zGfL)eILyB}J}qSj>!@aXTj9>7&+^~K&r}&D{pKNxWhViYXg3nZ8o{C ztNG|fX1U?%DO>EtW&iS}J#*Pm{nN$$KJsU>zOAO~a&)cscI`CE)?D&fGUD~RNh?_| zj_Zow@@V&5*M46S$9YoMt#8WPHes%jUoPPFlho1CmG9{Ifft~Z6t#o9@bcU#SAELX zI<@FOoOflqV{q=4IGeq*Cl=3_TIIL+s+u?7IXaym6f|L#p;7c4uc@n&f`gUc3@$IrX$KBuLadD8tquR)tqG3NR_&Hrd&^w-p9vvS<+vj5vlRfhAqwZuMM2y!K9LR5y-_AusIx zBe=4OeQU<%5y_KSxy_tLYL0h{@0pn8m9DXAvF35Vxt;$-y}aSv)#aJx-p`YJe?GkN zWKsiM>Sl35W8pq_dg`Vzp1#u;Wh{t`Wwu`D_L|2#IFS=pP4<1V-}#%_7T1mY^)D1! zZ}HeAcegaciXOhZZaTJRL}GAtzx~P9r=#lE>t*Giyif&69QfI%3jQ#mo*1)g)hX+6 z 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 HP^-AgHS;Cz32SyIp00!R=PUY zb*b|h12Y2%g2wO{^4uY41h~|_Gg24)n>%fh4g~2~M0k2*?no#>sZvO!fhYkBSE2+o zOe%q(uqxC|CLb|;e_xE)z^&ubGonJ1g z-Abq`c(b9*QoQ6KKkbqG#O{k_PFKoAb9Jpu{3o&$>)0z;#$iqV<&UghM(Ca0)b#GI zW%7(yu{9UGQqP->awcT!nfveP@NzN8K9GE`(PCLuvS^@iSz!C@Fz5Y>lKFRtB)zc? zGfL)eILyB}J}qSj>!@aXTj9>7&+^~K&r}&D{pKNxWhViYXg3nZ8o{C ztNG|fX1U?%DO>EtW&iS}J#*Pm{nN$$KJsU>zOAO~a&)cscI`CE)?D&fGUD~RNh?_| zj_Zow@@V&5*M46S$9YoMt#8WPHes%jUoPPFlho1CmG9{Ifft~Z6t#o9@bcU#SAELX zI<@FOoOflqV{q=4IGeq*Cl=3_TIIL+s+u?7IXaym6f|L#p;7c4uc@n&f`gUc3@$IrX$KBuLadD8tquR)tqG3NR_&Hrd&^w-p9vvS<+vj5vlRfhAqwZuMM2y!K9LR5y-_AusIx zBe=4OeQU<%5y_KSxy_tLYL0h{@0pn8m9DXAvF35Vxt;$-y}aSv)#aJx-p`YJe?GkN zWKsiM>Sl35W8pq_dg`Vzp1#u;Wh{t`Wwu`D_L|2#IFS=pP4<1V-}#%_7T1mY^)D1! zZ}HeAcegaciXOhZZaTJRL}GAtzx~P9r=#lE>t*Giyif&69QfI%3jQ#mo*1)g)hX+6 z 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 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_SHOP_CHECK.png b/assets/cn/ui/ISLAND_SHOP_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..0a196bb3840e433c5fe588246b0518b8f54724d2 GIT binary patch literal 8369 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°x z9a}^U)4(YxQ;`vx)a$tW&OnGE8ynb}*j30$4$d~J^M8J-n#m^W#zH14a4aXM`n~nw z@tO`|@kxcV=3{nH-z$aU#8Kanq0nsu`CZAH6FKBpG3i}e_d*8F>|0>eaQ|_ythlI@ z@ZixOv3mH!@}Ui`08r~Y`FCy=ldj|4JgI9fW1VTp-I7@1{3u1hq6OV<2^>jt5nT?J zT%(*Vvsm$ej`rkga!d>-oJ_LVZ*RZpInEdCky>;PvZAx~Bb3kqm z?&pZR4`NDoV_b|z1}`S9SS;Hg6fA2eu#$tfblU0QdgGo_yEIh0v2aCaTE|GLanXo_ z#3&+Sc6gH(qU03KXJ1ff{Jq6b$Z`8OwEJe%)kZ~_B|Y`d1k#r2P`Wh8u5NG@=btHe z$CefBeH3GX@Sd!%)qNC~)?w;wJ>F`Ow!yzW|Jm?saZpcpjk(OF~jPTw0>l;Vd>2 zhR+5L3fzXGlUME;412B@8q6B~PO&QKRB>k6+m6;ot%t=u?zbY-!dXLn;m(47b2{;w zQ}D!K%?^1m?|^TD&K|PY@ za^QEPOImwGgj209!l#iEbOB@b6h($ literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_STORAGE_CHECK.png b/assets/cn/ui/ISLAND_STORAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..7b75edab6b21bb14cdcebc62125494627d956f8d GIT binary patch literal 8122 zcmeI02~d;Q7RQ6Ki6C)Dr4WJ@Y{^Q<_6Vq~Q837&;sYckUm!{rvXFoUeHB543JL|Q z2+swm(1N0c0s>V8q!dsQQjEx25m0bNMV5CHP;p*o-Z=C6X5I{6CX?^G_niMd_jk`d zlkXn#*z97Uw^9!VgBj3W9X(+%EpR*MrtTc@v(9v*1`MWwjP%|v@np&nLXm*O4TTVr z2qA=k7xC8oqQSb#li=ha^dF= z_Q4k2JFKs1bnH4Z>~6wkjSO?A@SLa}k-_mhni(!`DZ7IO!(%_!o(bqm{8}q!nazcs zZdr8Ow!oDuweA%;2qXnhFKX3Up0U0;=lD+H8@KKD=2y)cmZVXtdoQe6n!15Bzdmad zru8+UX8(^!`q5pMPFcT|{Ay}g@{PgrRToDAtr)I@g9qKg;T24;_i9-(XL}R zq-}qY8b6QI%2+`x?5A{NFK!xgwzCYgCKA16f;Plr; z>0Q)@EvqjaTO&-w5n!sA-nnE4TVC-irIs{(tEyDa@;b*c({h2N{P&SsBltb76H?`bUD4wQ^E&rx=U*txIzh6z(=Sw znLz@ngoZ?de#E=@ctUsg_ws!4GzGu|BWDURI5ZZ+<6&lch$T+pKx8_gKlKoMgCcs&B8#T5D%D&!Kk>8hIFC3d%X8hAqeL3glaDU z`y)#Um-7MEN3p4T)YF+62ylO|`;qm#xvPzVmAgCDQNWU_!lOIVkgD;iYypeQrmAl_ z1U!?B$FflbqBRjkz)~nE3XUCwB9m}9G84xku&uE(r09IHgvn40Arn9cnL^^IrPwU0vp~dSg5~7$n86T6$PZR`sDM+~d(de}JbEf{ zb&E$RQ^ElbU=MKlY=KPt!PuM2gS;e66;B+AXoI!JVR2Y2nMfcKJ{WCzAhelP^;$8^HJYv=w+GH{qo4rGHRp_nA5 zHOMC-4n@XWTcfPm1UAQp2tg!kn~&AS0**w+6hZ5Q0Y|_JB&eDd!g6}4)_!a+3xQPY z0Fa?@c+?DJNX+zPF{+C3Znn0Vf8$}RHkeUjfZtRbC|#fuV&0d+X+lzj z0HkLJ`6RxxxMp#E5`j-Lp3SaVT%SbXlZ%WFe@59R!#0UR?WZ+e)oVV{Bc+Jud z+T`L0n^b-NS)P*&TILB|eZ?@?{KcxT2JA$-5opwr(A}MM`t`LJEH`<$tmXy`W~f7V zT<8zfkxpql@rlKVqH?_4vU|8=mFRWDk7jZ3*bcY& zp5r~8X7;DZ43kNP{p9IR80?o#Ti0IA{M|IGBc-%~qbMr7^*#Rt$2P;3-QF?ja_->U zsIq_p7ayCwRU@dwx4B#V%^c__K*96OmPS(8bpiai)W%(Y73;XSb@pZ4ZAn zSYW!Qr%uwkq&hjlKlQ1h;yZAVr5Tt}eR>d$!JyG-j{7A)G)Z=nk(n=Q9G-Z_r}9kV zdh6@s8Qb!b``O+tW-)hi@HG_-Q@bk|6JE3lV?a>h8y(=F4THh=MTArO9)~}F+Ed#e zerdZ^YCS~Da9fjHn2^^pU_UuAT-=lLN?v>gy8XmRh zQh?R6`0DQ0fxb0%eR+9#c3JRi6@#s^!CO&FD?{Z+aE*P>latRQ=YrEaY!jx>R=*^o zMc<*KQouS`axf~>;q}xUPWCW=Tb@x5!+zZFn_Q!wusTxA z%~x-R_~mV(K?!f8WMoNI5`Y{Fzm~MKp|7v6<2+WahP-aXN~lVDn-X5;@8c7dX=3Oa zceyQeO)}l`T8MWXyh6J(rFBrMklK$u>51;(7oU787llVh%ZewS)W?}=YJe&M*oVc! ze=R)G)F;@?Fx@FojtC#dcGca$el?LKuBhzr_xI0AG1smmN%%QCr8Iw4qJ^PBbevgldOR`}7YiSF+S}02eHEf5FAoq5wdR5oQQcpz zkSRGSx8;7AW%YHvbme`sUPZxjpA}VU+Le^PJ2{03E#K>z8J7+{;C#DaZPt>*BauJd zZ6CIp1c#?{u$Wt2Nq3|E?&CAiTwrQXaQ8|ah%0M9t>nv|KOV}-+-s-ZS7TnW_~`1yXtrmuPpy$V|G{l>6^j9eV2R}$J*Lv zpnZH2bKi^&-VWOm6W6P+&Vt`KfP{sGMKb)FsKhwY;!^+Rl~Lm_y*567^Oc{%ET)Ij zbau;UJqp&v4Z6+!FWSq7^K!q~)I7ECA`T;4rTz-(mg~$L?#)0d;px-XKhmFvwi+uD zJ}t@Zw+x-njyCl7JLIhfQ=YwM3Ct3hB``~1mcT55Spxr$1SS|`hN3d#7YQpL4yod& NJ8gE%-w^oqzW|&AkRSj6 literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_STORAGE_EXIT.png b/assets/cn/ui/ISLAND_STORAGE_EXIT.png new file mode 100644 index 0000000000000000000000000000000000000000..13ef852eb863f665dde02cce013853c698f22104 GIT binary patch literal 8627 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 PCQG`Tr|U0kL%;hsbsEew literal 0 HcmV?d00001 diff --git a/assets/cn/ui/ISLAND_TECHNOLOGY_CHECK.png b/assets/cn/ui/ISLAND_TECHNOLOGY_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0efa57ab8af0f55975c22e1842b925e36a8950 GIT binary patch literal 12631 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 literal 0 HcmV?d00001 diff --git a/assets/jp/ui/ISLAND_MANAGE_CHECK.png b/assets/jp/ui/ISLAND_MANAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..3b003bd9a18892c8bdad7a56a4c0424329bc43c4 GIT binary patch literal 11404 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 xGXtL)_{_j(20ko=!;i(v_nmK_efIgC zy?Obs zD9C9r=T4vbB*P|@O?q_e;>n1%wV%|n+MUjs%!1IhZ!@o1yL@%1(Nqtel?N7r-sBZo zEn506s;$1E>{mx#{Kc;f0e{SOrR1*3UDQI;O@Tho{4BPx>;jqYe3Z9Erv=GpvJ!rYBl1z%nW50~>ia47by z%Sq3ih=?%xPa0(olN&GeB5Z^x#{k*M#&B~En>NPW_fO03iv3jgKgz-u90}LWM9E$& z|Lne^=(DSreIDj@o%J1u)$_+E7rfH_qwehx*EBx8{gGLkQ48rM$oq8O$TL#UP7~VY zj@$%s;xE^{)fg8!12Y3*|Lc zZL&H~4tjdl7(~fDAN%O~JyQGkO6~Se>PNp7K(-&6=#UPqmDMq;Ho~{1e2Ys872m!+ zd<^Wck=4qe!D%~!OC=2|=Yk2h%OJX;fLlif0`BW(dkK!ghiapJ@jh5>N@y71-cnK~ z=9DlrCKyXn^}+fF;!HtHj0TWupsy*&)xcKAHtak$Akdmhz&cUwoH5j349pi~ZuYqe z1r8_(#gfpfl+X|y5l%4$?dgRB_q)wtkm{ZYDcBU`W_wxnJf476)z{Y7*3m*x0weW6 zW}mB?5PbdMjuw``ssNr$K>;LE7#s{HlgZj-h&GO}kCBS@wo5b$30H~T`vY;Av6k0bty0)PjYf(`@g zYU_YQL&1OSK_np}0VTg0^gs3>Is+^KcEl3#5d;ht5sAf-)c&Z#7xR1nun0oP-gJC1 zU~C9B6c8l>qw4-?NUICBmw)fE3xR)NXxLsa0PH_Wk^=qy1=gQz+kLY)oj)1^bpKuN zpQL}A`<^f$Worw!z+)nI&AVV>3fdhX?u*9+`oi~a(FO(v5QwjymJY-SqNQ&DL2JSE zeSkX{8m*(_XN1-@)cb>~3pgSPjl*DfRRPMi0|7n0Sd0-GrjOP#^fSO{>F@S7f?+UP z5Qq`f2nx~D#TY>Upu(OI2zVtr?3+!<551?#7X!D%6GG9zat4N?{juOMod4d7UBKagyL`bEq^GU(ua?UpXp$e$ z0f>P>oG+eC{MRezz)-9c3B8M_F4WLK2clzWV5nzc1cCjbzYCT?1blHX88cRdwQu-6XE27aD^MU(IZXFNW{6truU>Tb{9U)ur!<%=evEzl$^pj1cC z0IsVC*D-X~(}U|m;Sj?!I!17vKgi>K1O1}@H|gE*Q8oEx(X9iC!1z&nO~1sH6E^&p zr(YgJ0{4PRRdp{c;AqS*Qy`)vvA%nD0=j;Ag$Y38{ILLk{OYj3wFmwW&Y)ui#lRr? zepp}GVbTBZ(KWiuA{YYdq0sA+907n2Tz(M!0QdR$T zsWkp9PY%HDt^)v>mM-A7|AGtz{&lk8UB>urwkF{JhKI?Xz#k|E==Vz-KwSV6f`6yN zU-8-{o&U${*LC=R905@MVUT|d-w$wofa~8v;NKGd;9Vc!`nM4Hw}d}<*Z&z@pZ}|v z!s37ohzyiUFWhC5fHG^p&qXT>Dar2NkIbUmK+9jktgjHIqz)X}{r^ZRE9V%{C{4Ox zi;$lCV*er8uPEO<7fMN~N?ow{n=|FjBAZQg=H;G#&n4E$hF)n)K6~Ui=4Qn|us1^| zuAWnxFgg^Qu=s*y=U7}iLT3((WU7O}S5&9Pa(H6?1(*@t3X<3j%w8%ku-b@Esp_tai z)*6NJF0_h{S{FIl-r|*8)ZSwH;DnDhNIs2VVbPIBw5d&ux7Kh>Y)eyfv|*cqcuE?D zIm9$aO%Ot}OIXtATRuKI^Ns1+BG`ax)^4(Ss{OZ{Zx!fv=Pia&X7P_^|z>) zsJq{67qv1~TzUKY_5Dr`IcAUsx5$pl`GT?81s8APygZIr^TP`qY4L64x3?irZ(F72 zz{q7DLPjGYVi zn_2VWuhD;&m93@cCwdmhX$<6hc%*>V^JAcjJWcXKQ?4e@8X;R8@7Y{f^wG#w0N8J& z>Ti7epG}T zOR+|1Ceob{&MMKAss49!HXi|jefaO?>KfBI3y6yOmW7@2AQE@>iBoj5_UEo#|*}XhBa!)cb)N0=)r%~wc5V^8dx!vD#um=CUs-e6Wmx)am;5bG` zI$_b&y7F@It84cdM(qss`E@Fj-mxTkUv%U~%9K*=5b;c5zROH}d?e!?sRL(&s(ZGS z&837aW+Bam%iz2yaYiKLF};$FLk=|8G8G_U{R`_1C~mkist+Yzv=`+S4+Vd$v&-73K*!QYbm91Tu}ev= z+Wt(h0qstxKs?)`Xl7_MoRgcIi!ySJq+|N}$d4NeVMb4gLwW5lt<0*n%H+>j#%`7H zHeN8|bm2)3F0dl!XC15ehABJuq8Cz+x|gENcE*+``@r=tCYv+Kp6_sx6)Sbrb-Hvl z?zoZ?Wv&W($X5A+2Eh)->uEM)DNN<4SryUwp5~EDcWjL#`BxlKgpp4z$img{IILo* zy%7k+VVjFrf{pK-ExwlnW5XMasH=1qXQzG9n5;sPyd3m7?Kq}ejT@;HUt3bi3OE!y z8JtR%$$c6-B_;KDsp#(tx#>em~KBJ5Ouvb>Ypt4RNNn*X=`h9RhFD9L5imoSW0Gk$cP=Vf~+j$ z>C*-(KSMMr?WE~gcPutZ30YIL#>|F>zIl!g3sVKr?X-i^>XMEPeaWSacdb>!Gpq9 ziLhv~QV2w5h-i4Wvz+f1+ik!VPnP#|cUw7(K1YXK{jtJtoqkRFv>%U`1Zo*fwqsqg zuPF+4=yyy@j89K`WYzTk@@ks28BLH|B)GdOz$Db@X3yaA+BK^T2zYXNAao_8%!Z6OV2T7Br=rqESyB@77B%< zOUh#nal&tRYU(A8O}Fhub!>0X1{`VOj%}&S0(;*QilP~Y?mZ0z=|`I#?F|}^J!$z) zNTdaW4UdejbCE;EkUWS_c4L(~<9y`~GJVvnCStnH+TxO(t*BX$x7l>ErW6IOi;EVP z*Y7kn-ETioa%4c;#k;dI=We!nRFI+gZg11e?h%{@lz@~&$ksYd=d0JRwe5pG26mn9 zEWf8Cv%%4#PSn_oxs>*H%qY2DK0MqT2evF%I==PBRk=)IeWx0C#oTZkC4R>u^WUtd znSwaRM$0P;jCxTkO4Kpwbo!x$pRtHH3zH0%$ILC8;v2}Z6-P0M*Q|Q% z_wSdI`sD2yO)1w}dWSV);3UekX@-GU@qkuiczLz8Tis;*4|nfsB_2Dj>}{Y&*rgPQ zRIWx^q${^O&8beG6orcwm$GSGV~RS+(K$`q_x0GB?mM|F;+<+kj4JODeax#^y)eN0 zX$U2N5*GHOcew)M3j^slrQ;C)nc%8?8m)gJIoqY&lSxIQP#DT1n4TUX%*O{1?G3Q7 zC;-K+tPVAT(xsB$E?Gmh^bh=ya2zAhzHx&E@eij=5RAAa|d?!qG7x z69A&GxsKZYy3z@3oO@v3&4mR^E18p7!s(~ro24E!-gS@8%Cm{o2ff1;!K}^3gjSUi z!&l~E0P#Z0+y{n+js+Rw8$#K)POSs<F*8mWm4;Ijl|k>YmM&kg zy1KNVx%;!Kz?asNE8hv%1##()(c-5bmP2L7m5y!pknd3@Yw$=IxLCkX*2*?Kbm-7y z55~jtaP9qqYbx%Em-#hCT+@$tF4 zBhq}y+D|`y<4~Sj>H*Pt^+Qh9Hpg7}D9ZLJy`!=5TbfyTYg?Q3gI+gXJ>i@!*^A9J zGB6&6$C>ezU{**=ixQ;r-7Gj^$}J_|n$77zT1=_etrBHoD4SI$86|Xh^prJNY*~;F zN1i5lpQWu*I_<7Rz)Nt?#bw5WjyBU$~wDjJ8j9c?|C@YCK{t8iXnbbBE^r z*d^PF2&S@Z>1wGRk1X@UiHkdBia1WaxRGHvR!v)CFu0tWkSmf&nYjB6y_-o5+njpQ zWbRn4QBYk?{4LNgo8^TLJD$*|Y=>^ppMXwEK)3_rfK@0MX6`kItpxNT(Du4pXgGE>O zJrB_a)vqxxE6c3P#k70Ddf#>#^6ZthUKwUw@oj3K7b zS5s2}4^@?t9H{xhxHvDU%BS-oqhV$9<$(jMM{az*dwJ0Lfp)& zeJGm^qSU2+aM#a^$s~S#{STofb`JgEK?jf0!Kt)jHLFwvN!nbYR*-~Dd_H{S3?f4J zU3HI^=h+wD^FA3#*Ou&+fepGa=AwJ)pw+cd@{OR8fqgOS)Dkw_z_{l5^I_A{&VouO zKHvjnuJLAz2Tdhz>HsR1H2Uf?gg#tB97?zifeDVf*HLCWSApdK2<4P|kVavlhELRL zRz*axH@9M8J(n?*nw)HZ$z=5%@kVN{2@C>I%RwL)%mg<)?3=S_y8LvjmbP?-;b$8s z`H7wZg!)d`=#I?0SQ_^(#9ythd5EL*R_3&fO0?uM^nwf0(>rrI~ip;AWSNQknD5zN%Iub6%y8~oL*vxOXN#plXm z6pvXEQS)qc`sZ^c<=$NC(jClcJLYCb3c%+Vcl_rR_EK*XnAQBupdS5)ygXB)UpJ_(=ty zwdO~j7T#}WONN3aQ}Q7rq@mf_toHWydy>Dc*eLld-2h&98XojOor)+-OZ) z^pFRQ&w0Mg>COhImm4NpH>Yh6Ar>oXtoQzVrPI#^&Qo+7gpI?}{yuw7gcV}|t`{+Z zdD*EFM;d)MCVcz$8;b(xq*;rmwXS!44YA|Z9_ID2?AiP6#rMobLSQ54Bd)@DiY_Vo zCz8o6GD>EVkJS?^Qn|ub6c?`ZYV)Z%m;7ENqc%}DKHXWS>=sgE*Oh~-8I^S?A5w|& z9UY#{N;rReoobrz5vxU&eICDH`=K1bG4_!5`|e{3c7&QOFq?{ zAW0k_&yQD1E71hGFAk1BXf0Rt=4f|rZEc-bQHD|1ERY#6-i;+m*P>#Jcl30!|GhXg z4i}5#JEfXED=qhq3*AvHZ>Tu!xZUwUhO@EUTRiDhE?U`Ab802_3~4va*w>4y@*mmT zv+|6&9k8NwkfQ`CLO7_*s%&m&D(7TpqXMeD0kU(%rBX!6UO@cwSlUW3s!+JK>WX4Z ziX?O9`q|x*_1vZUdW>s<_ovUxADM4%m6FF|7dq0?To~*9eJs(+NM?$%aT<|RK_oN0 zs^65BdKeDuoS0j2=tKYYw^GBQMBt*G=%#C85+1O!*uH$;>T4j5m~1uv@RRXntLpBao`#h-3q=2;)a;~q^}0U75GQ(4O@?hA8#bZ9dO_Np zt%yH%{7Nr3VAqM-H@2D^8?odu!|IubihTBqKp+u*H8lme*G4YBzB-1t)^#aj#FhY* z%9E$dg3>V zc=1l$YPbB$ms>yE)W)oDS9NB0?$1UrIRX0DZ)BAc4-~P^K65XnYpQinnPx^tlzK03 zHdj4S9khS{ejstV>A60zfUrO!GSpm=nn6HqK)rhPDjFTTJ#~q}RzCK8djS&3_tdWTp{Ep=IX*q>99Z+&s+4riy>{tFoydmx)I z(jN(`$uztZ2@VU4!|<|cMMeHIGrSUd9gebvbwybu)Qu6ID70#O4i%Es5-FZaHe1^0GwkP8<_kCdhzl97p9Ze#&9b0kCQL{RMV zeHL&@gs!YqmCYY_z9g5a1jnpb03MG#<7%*d0@?HuwfWAgChkSz@RQib^!$OKfuIV~ z+^xckiezpC?dix^O`Om6R7g?cNT2`4(mf+mK+q7MiRX`yx7VUAPFvY&M8F3|cUqvF zT6E__TOx6_4^l)dBcxDEV;5JZQ%&nidtD`*+x9@t)HdBmhK7y}a{~Z+Hji0uE-XyA zaXst&`R)UX{eR#6QPpOLqa32h^QLofF4*4>NM~m{oAp46R8cj+=_#DouI11Z$tR5k zN?9g^#g&<^t`O7%U1KQi?c1i5T!yx`Pd_dbIdCPQY6gH*!5zyu+X+~_Qhxe0nK z7nIf>FQC|kN3Xd#$Z>@&7^r7M5K#H__4V1CZ1txVPs$<~17e1XC^|OwKHK|UWIlZW zgaATW&U|YNa-eh&*u_d*%1$UNm(k*MEPg%^(+xJW%F%!;-ZME({;JdwF zd7qWU)hCaPY>8V!XcezNIONz*$=RPtcNuL<%FJ3!prqB1L< zEr|dw0@7Z#;Lss06`?sdE}yN9ijHV)zkAmcsc`3z4boqiCtTpZSZTc9Uc-r9>Sogv zda8h9O!hSkZAV#IjR@nwX(0WrKee78UlhAOHkJ0EA!=@YWTbYin9#J=ewTl%0p^763D^EDG#Nn!nQ>b7*m%Tj@JuASWa z?Ec1d5L{#8T)Uw_tX|tuJd5KW#Y~>-1I{6MvytsK8Xa~i@tVB+cu*n7YK>}al@=>t zv5hT|({jZfNE^gd^zv#FNMQFBVyeHG&VSvU$xoLIAignw8{>aC#Y{qC74-KjrF15wmh2474E&U-E9(--;qR_qvfu3mn&iW4#d zo@<9h^z_b6MbegqTb1k{S>WC?g04A~nD1QxA|%qEe-9xdr|F8mPCX9D+%_cm@r+#= z-MUxn1n&`nPr4SupP!kMLrk>|OuK$hv_k+Ju|{F~gUnP~cA~pxP;+xakAj4iCb@e< ztNlE%TfLQed3e@5M2au(L}a?K(iq?MdrqeZr8xp8*bfwKh!!0hjy6@E$TVV)!*os} zmD#3I*xZb(fCg1LTco6ecsRclO~*t{1*9E9JtMZ!d Qu0a3Q(`pq^fsYbF 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 literal 0 HcmV?d00001 diff --git a/assets/jp/ui/ISLAND_SEASON_CHECK.png b/assets/jp/ui/ISLAND_SEASON_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..eee046c932cf9d047dd083eadf48c013bb40a360 GIT binary patch literal 11239 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 literal 0 HcmV?d00001 diff --git a/assets/jp/ui/ISLAND_STORAGE_CHECK.png b/assets/jp/ui/ISLAND_STORAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..7b75edab6b21bb14cdcebc62125494627d956f8d GIT binary patch literal 8122 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 NJ8gE%-w^oqzW|&AkRSj6 literal 0 HcmV?d00001 diff --git a/assets/jp/ui/ISLAND_TECHNOLOGY_CHECK.png b/assets/jp/ui/ISLAND_TECHNOLOGY_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0efa57ab8af0f55975c22e1842b925e36a8950 GIT binary patch literal 12631 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 Date: Tue, 26 May 2026 23:15:21 +0800 Subject: [PATCH 3/9] Add: [JP] island dock base --- .../ISLAND_DOCK_CHARACTER_CONFIRM.png | Bin 0 -> 8735 bytes .../cn/island_handler/ISLAND_DOCK_CHECK.png | Bin 0 -> 13204 bytes .../ISLAND_DOCK_SORTING_CLICK.png | Bin 0 -> 11004 bytes .../island_handler/ISLAND_DOCK_SORT_ASC.png | Bin 0 -> 7222 bytes .../island_handler/ISLAND_DOCK_SORT_DESC.png | Bin 0 -> 7225 bytes .../TEMPLATE_ISLAND_DOCK_OCCUPIED.png | Bin 0 -> 7933 bytes .../ISLAND_DOCK_CHARACTER_CONFIRM.png | Bin 0 -> 8735 bytes .../jp/island_handler/ISLAND_DOCK_CHECK.png | Bin 0 -> 13204 bytes .../TEMPLATE_ISLAND_DOCK_OCCUPIED.png | Bin 0 -> 7933 bytes module/island_handler/assets.py | 12 + module/island_handler/dock.py | 70 ++++ module/island_handler/dock_scanner.py | 310 ++++++++++++++++++ 12 files changed, 392 insertions(+) create mode 100644 assets/cn/island_handler/ISLAND_DOCK_CHARACTER_CONFIRM.png create mode 100644 assets/cn/island_handler/ISLAND_DOCK_CHECK.png create mode 100644 assets/cn/island_handler/ISLAND_DOCK_SORTING_CLICK.png create mode 100644 assets/cn/island_handler/ISLAND_DOCK_SORT_ASC.png create mode 100644 assets/cn/island_handler/ISLAND_DOCK_SORT_DESC.png create mode 100644 assets/cn/island_handler/TEMPLATE_ISLAND_DOCK_OCCUPIED.png create mode 100644 assets/jp/island_handler/ISLAND_DOCK_CHARACTER_CONFIRM.png create mode 100644 assets/jp/island_handler/ISLAND_DOCK_CHECK.png create mode 100644 assets/jp/island_handler/TEMPLATE_ISLAND_DOCK_OCCUPIED.png create mode 100644 module/island_handler/assets.py create mode 100644 module/island_handler/dock.py create mode 100644 module/island_handler/dock_scanner.py diff --git a/assets/cn/island_handler/ISLAND_DOCK_CHARACTER_CONFIRM.png b/assets/cn/island_handler/ISLAND_DOCK_CHARACTER_CONFIRM.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb62e556edf57dabecdd81a58d497381a5fa6ac GIT binary patch literal 8735 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 literal 0 HcmV?d00001 diff --git a/assets/cn/island_handler/ISLAND_DOCK_CHECK.png b/assets/cn/island_handler/ISLAND_DOCK_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..81875939c2d29019f35684d479d7445295d1f3d9 GIT binary patch literal 13204 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 literal 0 HcmV?d00001 diff --git a/assets/cn/island_handler/ISLAND_DOCK_SORTING_CLICK.png b/assets/cn/island_handler/ISLAND_DOCK_SORTING_CLICK.png new file mode 100644 index 0000000000000000000000000000000000000000..1e77ae333de217a58142cd05e21de8e7c0de275e GIT binary patch literal 11004 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 literal 0 HcmV?d00001 diff --git a/assets/cn/island_handler/ISLAND_DOCK_SORT_ASC.png b/assets/cn/island_handler/ISLAND_DOCK_SORT_ASC.png new file mode 100644 index 0000000000000000000000000000000000000000..20aab9c55e1db5126628bd0f379d4e717660d7fe GIT binary patch literal 7222 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 literal 0 HcmV?d00001 diff --git a/assets/jp/island_handler/ISLAND_DOCK_CHECK.png b/assets/jp/island_handler/ISLAND_DOCK_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..81875939c2d29019f35684d479d7445295d1f3d9 GIT binary patch literal 13204 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 literal 0 HcmV?d00001 diff --git a/assets/jp/island_handler/TEMPLATE_ISLAND_DOCK_OCCUPIED.png b/assets/jp/island_handler/TEMPLATE_ISLAND_DOCK_OCCUPIED.png new file mode 100644 index 0000000000000000000000000000000000000000..43eb85c4b1e010773a0d948a0f7362b34d461c0a GIT binary patch literal 7933 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 bool: + for key in self.__dict__: + value = limitation.get(key) + if self.__dict__[key] is not None and value is not None: + # str and int should be exactly equal to + if isinstance(value, (str, int)): + if value == 'any': + continue + if self.__dict__[key] != value: + return False + # tuple means should be in range + elif isinstance(value, tuple): + if not (value[0] <= self.__dict__[key] <= value[1]): + return False + # list means should be in list + elif isinstance(value, list): + if self.__dict__[key] not in value: + return False + return True + + +class IslandEmotionCounterOcr(Ocr): + def __init__(self, buttons, lang='azur_lane', letter=(255, 255, 255), threshold=128, alphabet='0123456789/IDSB', + name=None): + super().__init__(buttons, lang=lang, letter=letter, threshold=threshold, alphabet=alphabet, name=name) + + def pre_process(self, image, background_color_main=(18, 209, 183), background_color_sub=(207, 207, 207)): + mask = color_similarity_2d(image, background_color_sub) + mask2 = color_similarity_2d(image, self.letter) + mask[mask < mask2] = 0 + cv2.inRange(mask, 221, 255, dst=mask) + image[mask > 0] = background_color_main + return super().pre_process(image) + + def after_process(self, result): + result = super().after_process(result) + result = result.replace('I', '1').replace('D', '0').replace('S', '5') + result = result.replace('B', '8') + result = re.search(r'(\d+)/(\d+)', result) + if result: + result = [int(s) for s in result.groups()] + current, total = int(result[0]), int(result[1]) + current = min(current, total) + return current, total - current, total + else: + logger.warning(f'Unexpected ocr result: {result}') + return 0, 0, 0 + + +class Scanner(metaclass=ABCMeta): + _results: List = None + _enabled: bool = True + _disabled_value: List[None] = [None] * 12 + grids: ButtonGrid = None + + @property + def results(self) -> List: + return self._results + + @abstractmethod + def _scan(self, image) -> List: + pass + + @abstractmethod + def limit_value(self, value) -> Any: + pass + + def clear(self) -> None: + """ + Clear all cached results. + """ + self._results.clear() + + def scan(self, image, cached=False, output=False) -> Union[List, None]: + """ + If scanner is enabled, return the real results. + Otherwise, return a series of None. + + For multi-scan, caching the results is recommended. + If cached is set, results will be cached. + """ + results: List = self._scan(image) if self._enabled else self._disabled_value + + if output: + for result in results: + logger.info(f'{result}') + + if cached: + self._results.extend(results) + else: + return results + + def move(self, vector) -> None: + """ + Call ButtonGrid.move for property grids. + """ + self.grids = self.grids.move(vector) + + def enable(self) -> None: + self._enabled = True + + def disable(self) -> None: + self._enabled = False + + +class EmotionCounterScanner(Scanner): + def __init__(self) -> None: + super().__init__() + self._results = [] + self.grids = ISLAND_DOCK_EMOTION_GRIDS + self.ocr_model = IslandEmotionCounterOcr(self.grids.buttons, name='EMOTION_COUNTER_OCR') + + def _scan(self, image) -> List: + return self.ocr_model.ocr(image) + + +class EmotionScanner(EmotionCounterScanner): + def _scan(self, image) -> List: + results = super()._scan(image) + return [result[0] for result in results] + + def limit_value(self, value): + if value == 999: + return 999 + return limit_in(value, 0, 150) + + +class EmotionLimitScanner(EmotionCounterScanner): + def _scan(self, image) -> List: + results = super()._scan(image) + return [result[2] for result in results] + + def limit_value(self, value): + if value == 999: + return 999 + return limit_in(value, 100, 150) + + +class StatusScanner(Scanner): + def __init__(self) -> None: + super().__init__() + self._results = [] + self.grids = ISLAND_DOCK_CARD_GRIDS + self.value_list: List[str] = ['free', 'occupied'] + self.templates = { + TEMPLATE_ISLAND_DOCK_OCCUPIED: 'occupied' + } + + def _match(self, image) -> str: + for template, status in self.templates.items(): + if template.match(image, similarity=0.75): + return status + return 'free' + + def _scan(self, image) -> List: + image_list = [crop(image, button.area) for button in self.grids.buttons] + return [self._match(image) for image in image_list] + + def limit_value(self, value) -> str: + return value if value in self.value_list else 'any' + + +class CharacterScanner(Scanner): + """ + CharacterScanner is designed to use with an 'Initial' page at island_dock, + which means there cannot be any move once a dock filter was set. + Otherwise it may return untrustable results. + + By default all properties of the character are scanned. + You can set the required properties by calling enable() or disable(). + disable() will simply skip scanning and set those properties to None. + To keey them and ignore limitations, use set_limitation(property=None). + + Args: + emotion (tuple): (min, max) of emotion level. Will be limited in range [0, 150]. + emotion_limit (tuple): (min, max) of emotion limit. Will be limited in range [100, 150]. + status (list): ['any', 'free', 'occupied']. + """ + def __init__( + self, + emotion: Tuple[int, int] = (0, 999), + emotion_limit: Tuple[int, int] = (100, 999), + status: str = 'any' + ) -> None: + super().__init__() + self._results = [] + self.grids = ISLAND_DOCK_CARD_GRIDS + self.limitation: Dict[str, Union[None, Tuple[int, int], List[str], str]] = { + 'emotion': (0, 999), + 'emotion_limit': (100, 999), + 'status': 'any' + } + + self.sub_scanners: Dict[str, Scanner] = { + 'emotion': EmotionScanner(), + 'emotion_limit': EmotionLimitScanner(), + 'status': StatusScanner() + } + + self.set_limitation(emotion=emotion, emotion_limit=emotion_limit, status=status) + + def _scan(self, image) -> List[Character]: + for scanner in self.sub_scanners.values(): + scanner.scan(image, cached=True) + + candidates: List[Character] = [ + Character( + emotion=emotion, + emotion_limit=emotion_limit, + status=status, + button=button + ) + for emotion, emotion_limit, status, button in zip( + self.sub_scanners['emotion'].results, + self.sub_scanners['emotion_limit'].results, + self.sub_scanners['status'].results, + self.grids.buttons + ) + ] + + for scanner in self.sub_scanners.values(): + scanner.clear() + + return candidates + + def scan(self, image, cached=False, output=True) -> Union[List[Character], None]: + candidates = super().scan(image, cached=cached, output=output) + if not cached: + return [candidate for candidate in candidates + if candidate.satisfy_limitation(self.limitation)] + + def move(self, vector) -> None: + """ + Apply moving to both sub-scanners and self. + """ + for scanner in self.sub_scanners.values(): + scanner.move(vector) + super().move(vector) + + def limit_value(self, key, value) -> None: + if value is None: + self.limitation[key] = None + elif isinstance(value, tuple): + lower, upper = value + lower = self.sub_scanners[key].limit_value(lower) + upper = self.sub_scanners[key].limit_value(upper) + self.limitation[key] = (lower, upper) + elif isinstance(value, list): + self.limitation[key] = [self.sub_scanners[key].limit_value(v) for v in value] + else: + self.limitation[key] = self.sub_scanners[key].limit_value(value) + + def enable(self, *args) -> None: + """ + Enable property sub-scanners. + + Supported properties includes: + ['emotion', 'emotion_limit', 'status'] + """ + for name, scanner in self.sub_scanners.items(): + if name in args: + scanner.enable() + + def disable(self, *args) -> None: + """ + Disable property sub-scanners. + + Supported properties includes: + ['emotion', 'emotion_limit', 'status'] + """ + for name, scanner in self.sub_scanners.items(): + if name in args: + scanner.disable() + + def set_limitation(self, **kwargs) -> None: + """ + Args: + emotion (tuple): (min, max) of emotion level. Will be limited in range [0, 999]. + emotion_limit (tuple): (min, max) of emotion limit. Will be limited in range [100, 999]. + status (str): ['any', 'free', 'occupied'] + """ + for attr in self.limitation.keys(): + value = kwargs.get(attr, self.limitation[attr]) + self.limit_value(attr, value) + + logger.info(f'Limitations set to {self.limitation}') From 223ab7b6a636c882ff11d77321eabe8ea2eac352 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 26 May 2026 22:58:01 +0800 Subject: [PATCH 4/9] Add: Island UI base --- assets/cn/island/ISLAND_CLICK_SAFE_AREA.png | Bin 0 -> 7040 bytes assets/cn/island/ISLAND_LEVEL_UP.png | Bin 0 -> 9008 bytes module/island/assets.py | 8 ++ module/island/ui.py | 105 ++++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 assets/cn/island/ISLAND_CLICK_SAFE_AREA.png create mode 100644 assets/cn/island/ISLAND_LEVEL_UP.png create mode 100644 module/island/assets.py create mode 100644 module/island/ui.py diff --git a/assets/cn/island/ISLAND_CLICK_SAFE_AREA.png b/assets/cn/island/ISLAND_CLICK_SAFE_AREA.png new file mode 100644 index 0000000000000000000000000000000000000000..f1eadcba7d73dc0a12d5b995289d45bc3f6e839b GIT binary patch literal 7040 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 0).sum(axis=1) + candidate_rows = row_white_width > threshold + min_continuous_height = 50 + count = 0 + for ok in candidate_rows: + if ok: + count += 1 + if count >= min_continuous_height: + return True + else: + count = 0 + return False + + def handle_island_get_items(self): + if self.appear(GET_ITEMS_1, offset=(20, 20), interval=3): + self.device.click(ISLAND_CLICK_SAFE_AREA) + return True + if self.has_white_band(): + self.device.click(ISLAND_CLICK_SAFE_AREA) + return True + return False + + def handle_island_level_up(self): + if self.appear(ISLAND_LEVEL_UP, offset=(20, 20), interval=3): + self.device.click(ISLAND_CLICK_SAFE_AREA) + return True + return False + + def handle_island_additional(self): + if self.handle_island_get_items(): + return True + if self.handle_island_level_up(): + return True + return False + + def is_button_selected(self, button, color=(57, 189, 255), threshold=221, count=100): + """ + Detects if the button is surrounded by a blue border, + which indicates that the button is chosen. + + Args: + button (Button, tuple): Button instance or area. + + Returns: + bool: True if the button is chosen, False otherwise. + """ + if isinstance(button, np.ndarray): + image = button + else: + image = self.image_crop(button, copy=False) + mask = color_similarity_2d(image, color) + cv2.inRange(mask, threshold, 255, dst=mask) + mask[2:-2, 2:-2] = 0 + sum_ = cv2.countNonZero(mask) + return sum_ > count + + @cached_property + def _island_manage_side_navbar(self): + island_manage_side_navbar = ButtonGrid( + origin=(13, 107), delta=(0, 196/3), + button_shape=(128, 43), grid_shape=(1, 3) + ) + return Navbar(grids=island_manage_side_navbar, + active_color=(57, 189, 255), + inactive_color=(50, 52, 55), + active_count=500, + inactive_count=500) + + def island_manage_side_navbar_ensure(self, upper=1, skip_first_screenshot=True): + """ + Args: + upper (int): + 1 for production, + 2 for restaurant, + 3 for collect + bottom (int): + 1 for collect, + 2 for restaurant, + 3 for production + """ + return self._island_manage_side_navbar.set(self, upper=upper, skip_first_screenshot=skip_first_screenshot) \ No newline at end of file From 374c0b8fd9bbd6746655fb27bee428ff635d9392 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 26 May 2026 23:20:55 +0800 Subject: [PATCH 5/9] Add: hold_duration for drag method --- module/device/control.py | 15 +++++++++------ module/device/method/maatouch.py | 8 +++++++- module/device/method/minitouch.py | 8 +++++++- module/device/method/nemu_ipc.py | 7 ++++++- module/device/method/scrcpy/scrcpy.py | 16 ++++++++++++++-- module/device/method/uiautomator_2.py | 11 ++++++++++- 6 files changed, 53 insertions(+), 12 deletions(-) diff --git a/module/device/control.py b/module/device/control.py index 1224c45475..7e055ba007 100644 --- a/module/device/control.py +++ b/module/device/control.py @@ -148,7 +148,7 @@ def swipe_vector(self, vector, box=(123, 159, 1175, 628), random_range=(0, 0, 0, self.swipe(p1, p2, duration=duration, name=name, distance_check=distance_check) def drag(self, p1, p2, segments=1, shake=(0, 15), point_random=(-10, -10, 10, 10), shake_random=(-5, -5, 5, 5), - swipe_duration=0.25, shake_duration=0.1, name='DRAG'): + swipe_duration=0.25, shake_duration=0.1, hold_duration=0.0, name='DRAG'): self.handle_control_check(name) p1, p2 = ensure_int(p1, p2) logger.info( @@ -156,19 +156,22 @@ def drag(self, p1, p2, segments=1, shake=(0, 15), point_random=(-10, -10, 10, 10 ) method = self.config.Emulator_ControlMethod if method == 'minitouch': - self.drag_minitouch(p1, p2, point_random=point_random) + self.drag_minitouch(p1, p2, point_random=point_random, hold_duration=hold_duration) elif method == 'uiautomator2': self.drag_uiautomator2( p1, p2, segments=segments, shake=shake, point_random=point_random, shake_random=shake_random, - swipe_duration=swipe_duration, shake_duration=shake_duration) + swipe_duration=swipe_duration, shake_duration=shake_duration, hold_duration=hold_duration) elif method == 'scrcpy': - self.drag_scrcpy(p1, p2, point_random=point_random) + self.drag_scrcpy(p1, p2, point_random=point_random, hold_duration=hold_duration) elif method == 'MaaTouch': - self.drag_maatouch(p1, p2, point_random=point_random) + self.drag_maatouch(p1, p2, point_random=point_random, hold_duration=hold_duration) elif method == 'nemu_ipc': - self.drag_nemu_ipc(p1, p2, point_random=point_random) + self.drag_nemu_ipc(p1, p2, point_random=point_random, hold_duration=hold_duration) else: logger.warning(f'Control method {method} does not support drag well, ' f'falling back to ADB swipe may cause unexpected behaviour') self.swipe_adb(p1, p2, duration=ensure_time(swipe_duration * 2)) + hold_duration = ensure_time(hold_duration) + if hold_duration > 0: + self.sleep(hold_duration) self.click(Button(area=(), color=(), button=area_offset(point_random, p2), name=name), False) diff --git a/module/device/method/maatouch.py b/module/device/method/maatouch.py index 146cf7fa22..d28e93d92f 100644 --- a/module/device/method/maatouch.py +++ b/module/device/method/maatouch.py @@ -367,7 +367,7 @@ def swipe_maatouch(self, p1, p2): builder.send_sync() @retry - def drag_maatouch(self, p1, p2, point_random=(-10, -10, 10, 10)): + def drag_maatouch(self, p1, p2, point_random=(-10, -10, 10, 10), hold_duration=0.0): p1 = np.array(p1) - random_rectangle_point(point_random) p2 = np.array(p2) - random_rectangle_point(point_random) points = insert_swipe(p0=p1, p3=p2, speed=20) @@ -384,6 +384,12 @@ def drag_maatouch(self, p1, p2, point_random=(-10, -10, 10, 10)): builder.move(*p2).commit().wait(140) builder.send_sync() + hold_duration = ensure_time(hold_duration) - 0.28 + hold_ms = int(max(0.0, hold_duration) * 1000) + if hold_ms > 0: + builder.move(*p2).commit().wait(hold_ms) + builder.send_sync() + builder.up().commit() builder.send_sync() diff --git a/module/device/method/minitouch.py b/module/device/method/minitouch.py index d97c2ca884..8f96fe9d9b 100644 --- a/module/device/method/minitouch.py +++ b/module/device/method/minitouch.py @@ -694,7 +694,7 @@ def swipe_minitouch(self, p1, p2): builder.send() @retry - def drag_minitouch(self, p1, p2, point_random=(-10, -10, 10, 10)): + def drag_minitouch(self, p1, p2, point_random=(-10, -10, 10, 10), hold_duration=0.0): p1 = np.array(p1) - random_rectangle_point(point_random) p2 = np.array(p2) - random_rectangle_point(point_random) points = insert_swipe(p0=p1, p3=p2, speed=20) @@ -711,5 +711,11 @@ def drag_minitouch(self, p1, p2, point_random=(-10, -10, 10, 10)): builder.move(*p2).commit().wait(140) builder.send() + hold_duration = ensure_time(hold_duration) - 0.28 + hold_ms = int(max(0.0, hold_duration) * 1000) + if hold_ms > 0: + builder.move(*p2).commit().wait(hold_ms) + builder.send() + builder.up().commit() builder.send() diff --git a/module/device/method/nemu_ipc.py b/module/device/method/nemu_ipc.py index 556255f328..4f21b59346 100644 --- a/module/device/method/nemu_ipc.py +++ b/module/device/method/nemu_ipc.py @@ -622,7 +622,7 @@ def swipe_nemu_ipc(self, p1, p2): self.nemu_ipc.up() self.sleep(0.050) - def drag_nemu_ipc(self, p1, p2, point_random=(-10, -10, 10, 10)): + def drag_nemu_ipc(self, p1, p2, point_random=(-10, -10, 10, 10), hold_duration=0.0): p1 = np.array(p1) - random_rectangle_point(point_random) p2 = np.array(p2) - random_rectangle_point(point_random) points = insert_swipe(p0=p1, p3=p2, speed=20) @@ -636,5 +636,10 @@ def drag_nemu_ipc(self, p1, p2, point_random=(-10, -10, 10, 10)): self.nemu_ipc.down(*p2) self.sleep(0.140) + hold_duration = ensure_time(hold_duration) - 0.28 + if hold_duration > 0: + self.nemu_ipc.down(*p2) + self.sleep(hold_duration) + self.nemu_ipc.up() self.sleep(0.050) diff --git a/module/device/method/scrcpy/scrcpy.py b/module/device/method/scrcpy/scrcpy.py index ef0192b3a8..10ea398dd1 100644 --- a/module/device/method/scrcpy/scrcpy.py +++ b/module/device/method/scrcpy/scrcpy.py @@ -6,7 +6,7 @@ from adbutils.errors import AdbError, AdbTimeout import module.device.method.scrcpy.const as const -from module.base.utils import random_rectangle_point +from module.base.utils import ensure_time, random_rectangle_point from module.device.method.minitouch import insert_swipe from module.device.method.scrcpy.core import ScrcpyCore, ScrcpyError from module.device.method.uiautomator_2 import Uiautomator2 @@ -143,7 +143,7 @@ def swipe_scrcpy(self, p1, p2): self.sleep(0.05) @retry - def drag_scrcpy(self, p1, p2, point_random=(-10, -10, 10, 10)): + def drag_scrcpy(self, p1, p2, point_random=(-10, -10, 10, 10), hold_duration=0.0): self.scrcpy_ensure_running() with self._scrcpy_control_socket_lock: @@ -162,5 +162,17 @@ def drag_scrcpy(self, p1, p2, point_random=(-10, -10, 10, 10)): self._scrcpy_control.touch(*p2, const.ACTION_MOVE) self.sleep(0.002) + hold_duration = ensure_time(hold_duration) - 0.28 + if hold_duration > 0: + step = 0.002 + repeats = int(hold_duration // step) + for _ in range(repeats): + self._scrcpy_control.touch(*p2, const.ACTION_MOVE) + self.sleep(step) + remainder = hold_duration - (repeats * step) + if remainder > 0: + self._scrcpy_control.touch(*p2, const.ACTION_MOVE) + self.sleep(remainder) + self._scrcpy_control.touch(*p2, const.ACTION_UP) self.sleep(0.05) diff --git a/module/device/method/uiautomator_2.py b/module/device/method/uiautomator_2.py index fb5274356d..b54fbd6546 100644 --- a/module/device/method/uiautomator_2.py +++ b/module/device/method/uiautomator_2.py @@ -187,7 +187,8 @@ def _drag_along(self, path): self.sleep(second) def drag_uiautomator2(self, p1, p2, segments=1, shake=(0, 15), point_random=(-10, -10, 10, 10), - shake_random=(-5, -5, 5, 5), swipe_duration=0.25, shake_duration=0.1): + shake_random=(-5, -5, 5, 5), swipe_duration=0.25, shake_duration=0.1, + hold_duration=0.0): """Drag and shake, like: /\ +-----------+ + + @@ -204,6 +205,7 @@ def drag_uiautomator2(self, p1, p2, segments=1, shake=(0, 15), point_random=(-10 shake_random: Add random to shake array. swipe_duration: Duration between way points. shake_duration: Duration between shake points. + hold_duration: Hold time before release. """ p1 = np.array(p1) - random_rectangle_point(point_random) p2 = np.array(p2) - random_rectangle_point(point_random) @@ -213,6 +215,13 @@ def drag_uiautomator2(self, p1, p2, segments=1, shake=(0, 15), point_random=(-10 (*p2 - shake - random_rectangle_point(shake_random), shake_duration), (*p2, shake_duration) ] + internal_hold = ensure_time(shake_duration) * 3 + hold_duration = ensure_time(hold_duration) - internal_hold + if hold_duration > 0: + path += [ + (*p2, hold_duration), + (*p2, 0), + ] path = [(int(x), int(y), d) for x, y, d in path] self._drag_along(path) From 3d4d14452040d7653a6ceb4d243859cbc38b9bed Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 26 May 2026 23:32:21 +0800 Subject: [PATCH 6/9] Add: [JP] island freebie receive --- alas.py | 4 + .../ISLAND_FREEBIE_AVAILABLE.BUTTON.png | Bin 0 -> 11151 bytes assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif | Bin 0 -> 43475 bytes assets/cn/island/ISLAND_FREEBIE_CLAIM.png | Bin 0 -> 10941 bytes assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png | Bin 0 -> 12425 bytes assets/cn/island/ISLAND_FREEBIE_RECEIVE.png | Bin 0 -> 13420 bytes assets/cn/island/ISLAND_FREEBIE_SHARE.png | Bin 0 -> 13404 bytes assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png | Bin 0 -> 9695 bytes .../cn/island/ISLAND_FREEBIE_SHARE_BACK.png | Bin 0 -> 8258 bytes .../cn/island/ISLAND_FREEBIE_UNAVAILABLE.png | Bin 0 -> 12027 bytes assets/jp/island/ISLAND_FREEBIE_CLAIM.png | Bin 0 -> 10941 bytes assets/jp/island/ISLAND_FREEBIE_COOLDOWN.png | Bin 0 -> 12425 bytes assets/jp/island/ISLAND_FREEBIE_RECEIVE.png | Bin 0 -> 13420 bytes assets/jp/island/ISLAND_FREEBIE_SHARE.png | Bin 0 -> 13404 bytes assets/jp/island/ISLAND_FREEBIE_SHARE_ALL.png | Bin 0 -> 9695 bytes config/template.json | 16 +++ module/config/argument/args.json | 51 ++++++++ module/config/argument/argument.yaml | 4 + module/config/argument/menu.json | 7 ++ module/config/argument/task.yaml | 9 ++ module/config/config_generated.py | 3 + module/config/config_manual.py | 1 + module/config/i18n/en-US.json | 18 +++ module/config/i18n/ja-JP.json | 18 +++ module/config/i18n/zh-CN.json | 18 +++ module/config/i18n/zh-TW.json | 18 +++ module/island/assets.py | 8 ++ module/island/freebie.py | 119 ++++++++++++++++++ 28 files changed, 294 insertions(+) create mode 100644 assets/cn/island/ISLAND_FREEBIE_AVAILABLE.BUTTON.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif create mode 100644 assets/cn/island/ISLAND_FREEBIE_CLAIM.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_RECEIVE.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_SHARE.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_SHARE_BACK.png create mode 100644 assets/cn/island/ISLAND_FREEBIE_UNAVAILABLE.png create mode 100644 assets/jp/island/ISLAND_FREEBIE_CLAIM.png create mode 100644 assets/jp/island/ISLAND_FREEBIE_COOLDOWN.png create mode 100644 assets/jp/island/ISLAND_FREEBIE_RECEIVE.png create mode 100644 assets/jp/island/ISLAND_FREEBIE_SHARE.png create mode 100644 assets/jp/island/ISLAND_FREEBIE_SHARE_ALL.png create mode 100644 module/island/freebie.py diff --git a/alas.py b/alas.py index 6268c638a7..58ff6809ab 100644 --- a/alas.py +++ b/alas.py @@ -407,6 +407,10 @@ def gems_farming(self): GemsFarming(config=self.config, device=self.device).run( name=self.config.Campaign_Name, folder=self.config.Campaign_Event, mode=self.config.Campaign_Mode) + def island_freebie(self): + from module.island.freebie import IslandFreebie + IslandFreebie(config=self.config, device=self.device).run() + def daemon(self): from module.daemon.daemon import AzurLaneDaemon AzurLaneDaemon(config=self.config, device=self.device, task="Daemon").run() diff --git a/assets/cn/island/ISLAND_FREEBIE_AVAILABLE.BUTTON.png b/assets/cn/island/ISLAND_FREEBIE_AVAILABLE.BUTTON.png new file mode 100644 index 0000000000000000000000000000000000000000..3870fcc106c8d1d810fab442c438196815249014 GIT binary patch literal 11151 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 HSAO{~Wj-m+ literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif b/assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif new file mode 100644 index 0000000000000000000000000000000000000000..98a815f822cd1f8dc8ce9b918f6005e33f18269d GIT binary patch literal 43475 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 z%0D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 JU7&yf06R66oD2W} literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_FREEBIE_CLAIM.png b/assets/cn/island/ISLAND_FREEBIE_CLAIM.png new file mode 100644 index 0000000000000000000000000000000000000000..5341bf7b117a8ff93791eb7adbfd274e536e6704 GIT binary patch literal 10941 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 OmAR?q@#3RrqW=qqOra$J literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png b/assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2a2ec0e85efd29769667fdf1cafbf5c58d70d5 GIT binary patch literal 12425 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�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 V?~rm0XEru?#>~<*-}utM{uc|!5_13m literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png b/assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png new file mode 100644 index 0000000000000000000000000000000000000000..f5282da4b4b9e2c435717c98f3747f303713e6bc GIT binary patch literal 9695 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 bxw(cfBH1lhhi$5GtioxXKb@m->GFR8_%Nfq literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_FREEBIE_CLAIM.png b/assets/jp/island/ISLAND_FREEBIE_CLAIM.png new file mode 100644 index 0000000000000000000000000000000000000000..5341bf7b117a8ff93791eb7adbfd274e536e6704 GIT binary patch literal 10941 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 OmAR?q@#3RrqW=qqOra$J literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_FREEBIE_COOLDOWN.png b/assets/jp/island/ISLAND_FREEBIE_COOLDOWN.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2a2ec0e85efd29769667fdf1cafbf5c58d70d5 GIT binary patch literal 12425 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�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 V?~rm0XEru?#>~<*-}utM{uc|!5_13m literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_FREEBIE_SHARE_ALL.png b/assets/jp/island/ISLAND_FREEBIE_SHARE_ALL.png new file mode 100644 index 0000000000000000000000000000000000000000..f5282da4b4b9e2c435717c98f3747f303713e6bc GIT binary patch literal 9695 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 Nt+l OpsiAshBeacon > OpsiDaily > OpsiShop > OpsiVoucher > OpsiAbyssal > OpsiStronghold > OpsiObscure > OpsiArchive + > IslandFreebie > Daily > Hard > OpsiAshBeacon > OpsiAshAssist > OpsiMonthBoss > Sos > EventSp > EventA > EventB > EventC > EventD > RaidDaily > CoalitionSp > WarArchives > MaritimeEscort diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 690eb97f59..f3ddecf4c3 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -28,6 +28,10 @@ "name": "OpSi", "help": "" }, + "Island": { + "name": "Island Planner", + "help": "" + }, "Tool": { "name": "Tools", "help": "" @@ -254,6 +258,10 @@ "name": "Cross Month Daily", "help": " ALAS will enter OpSi 10min before OpSi reset, wait until OpSi reset but not exit OpSi. Then do the daily, obscure, abyssal and meowfficer farming to get extra gold plates. When running dailies, settings in task \"OpSiDaily\" are used, the rest function are the same.\n IMPORTANT: Please do not touch the game while ALAS is waiting for OpSi reset." }, + "IslandFreebie": { + "name": "Daily Supplies", + "help": "" + }, "Daemon": { "name": "Normal Semi-auto", "help": "" @@ -2553,6 +2561,16 @@ "22": "22 | NA Ocean SW Sector B" } }, + "IslandFreebie": { + "_info": { + "name": "Daily Supplies", + "help": "" + }, + "Share": { + "name": "Share Supplies with Friends", + "help": "" + } + }, "Daemon": { "_info": { "name": "Semi-auto Clicking", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index b98863229b..ace80beee5 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -28,6 +28,10 @@ "name": "セイレーン作戦", "help": "" }, + "Island": { + "name": "離島開発", + "help": "" + }, "Tool": { "name": "ツール", "help": "" @@ -254,6 +258,10 @@ "name": "Cross Month Daily", "help": " ALAS will enter OpSi 10min before OpSi reset, wait until OpSi reset but not exit OpSi. Then do the daily, obscure, abyssal and meowfficer farming to get extra gold plates. When running dailies, settings in task \"OpSiDaily\" are used, the rest function are the same.\n IMPORTANT: Please do not touch the game while ALAS is waiting for OpSi reset." }, + "IslandFreebie": { + "name": "デイリー補給", + "help": "" + }, "Daemon": { "name": "半自動クリック", "help": "" @@ -2553,6 +2561,16 @@ "22": "22" } }, + "IslandFreebie": { + "_info": { + "name": "デイリー補給", + "help": "" + }, + "Share": { + "name": "補給を友達とシェアする", + "help": "" + } + }, "Daemon": { "_info": { "name": "Daemon._info.name", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 9a0dd58108..26d25a77cb 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -28,6 +28,10 @@ "name": "大世界", "help": "" }, + "Island": { + "name": "岛屿计划", + "help": "" + }, "Tool": { "name": "工具", "help": "" @@ -254,6 +258,10 @@ "name": "跨月每日", "help": " Alas将在大世界跨月重置之前10分钟进入大世界,等待大世界重置但不退出大世界,然后完成新一天的大世界每日、隐秘海域、深渊海域和短猫相接,以获得额外的金菜。运行大世界每日时,按\"大世界每日\"任务设置运行,其余同理。\n 重要:Alas等待跨月期间,请不要操作游戏。" }, + "IslandFreebie": { + "name": "每日补给", + "help": "" + }, "Daemon": { "name": "半自动点击", "help": "" @@ -2553,6 +2561,16 @@ "22": "22 | NA海域西南B" } }, + "IslandFreebie": { + "_info": { + "name": "每日补给", + "help": "" + }, + "Share": { + "name": "将补给分享给好友", + "help": "" + } + }, "Daemon": { "_info": { "name": "半自动点击", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 3f35efbd0c..67b0107d6b 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -28,6 +28,10 @@ "name": "大世界", "help": "" }, + "Island": { + "name": "離島計劃", + "help": "Menu.Island.help" + }, "Tool": { "name": "工具", "help": "" @@ -254,6 +258,10 @@ "name": "跨月每日", "help": " Alas將在大世界跨月重置之前10分鐘進入大世界,等待大世界重置但不退出大世界,然後完成新一天的大世界每日、隱秘海域、深淵海域和短貓相接,以獲得額外的金菜。運行大世界每日時,按\"大世界每日\"任務設定運行,其餘同理。\n 重要:Alas等待跨月期間,請不要操作遊戲。" }, + "IslandFreebie": { + "name": "每日補給", + "help": "" + }, "Daemon": { "name": "半自動點擊", "help": "" @@ -2553,6 +2561,16 @@ "22": "22 | NA海域西南B" } }, + "IslandFreebie": { + "_info": { + "name": "每日補給", + "help": "" + }, + "Share": { + "name": "將補給分享給好友", + "help": "" + } + }, "Daemon": { "_info": { "name": "半自動點擊", diff --git a/module/island/assets.py b/module/island/assets.py index e8d88c2225..f4f3197198 100644 --- a/module/island/assets.py +++ b/module/island/assets.py @@ -5,4 +5,12 @@ # Don't modify it manually. ISLAND_CLICK_SAFE_AREA = Button(area={'cn': (596, 687, 680, 720), 'en': (596, 687, 680, 720), 'jp': (596, 687, 680, 720), 'tw': (596, 687, 680, 720)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (596, 687, 680, 720), 'en': (596, 687, 680, 720), 'jp': (596, 687, 680, 720), 'tw': (596, 687, 680, 720)}, file={'cn': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'en': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'jp': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'tw': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png'}) +ISLAND_FREEBIE_AVAILABLE = Button(area={'cn': (0, 600, 120, 720), 'en': (0, 600, 120, 720), 'jp': (0, 600, 120, 720), 'tw': (0, 600, 120, 720)}, color={'cn': (83, 83, 75), 'en': (83, 83, 75), 'jp': (83, 83, 75), 'tw': (83, 83, 75)}, button={'cn': (37, 631, 87, 681), 'en': (37, 631, 87, 681), 'jp': (37, 631, 87, 681), 'tw': (37, 631, 87, 681)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif', 'en': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif', 'jp': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif', 'tw': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif'}) +ISLAND_FREEBIE_CLAIM = Button(area={'cn': (890, 381, 984, 405), 'en': (890, 381, 984, 405), 'jp': (890, 381, 984, 405), 'tw': (890, 381, 984, 405)}, color={'cn': (194, 195, 196), 'en': (194, 195, 196), 'jp': (194, 195, 196), 'tw': (194, 195, 196)}, button={'cn': (890, 381, 984, 405), 'en': (890, 381, 984, 405), 'jp': (890, 381, 984, 405), 'tw': (890, 381, 984, 405)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_CLAIM.png', 'en': './assets/cn/island/ISLAND_FREEBIE_CLAIM.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_CLAIM.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_CLAIM.png'}) +ISLAND_FREEBIE_COOLDOWN = Button(area={'cn': (870, 380, 1003, 406), 'en': (870, 380, 1003, 406), 'jp': (870, 380, 1003, 406), 'tw': (870, 380, 1003, 406)}, color={'cn': (200, 202, 201), 'en': (200, 202, 201), 'jp': (200, 202, 201), 'tw': (200, 202, 201)}, button={'cn': (870, 380, 1003, 406), 'en': (870, 380, 1003, 406), 'jp': (870, 380, 1003, 406), 'tw': (870, 380, 1003, 406)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png', 'en': './assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_COOLDOWN.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png'}) +ISLAND_FREEBIE_RECEIVE = Button(area={'cn': (859, 380, 1012, 406), 'en': (859, 380, 1012, 406), 'jp': (859, 380, 1012, 406), 'tw': (859, 380, 1012, 406)}, color={'cn': (205, 207, 206), 'en': (205, 207, 206), 'jp': (205, 207, 206), 'tw': (205, 207, 206)}, button={'cn': (859, 380, 1012, 406), 'en': (859, 380, 1012, 406), 'jp': (859, 380, 1012, 406), 'tw': (859, 380, 1012, 406)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_RECEIVE.png', 'en': './assets/cn/island/ISLAND_FREEBIE_RECEIVE.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_RECEIVE.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_RECEIVE.png'}) +ISLAND_FREEBIE_SHARE = Button(area={'cn': (849, 380, 1024, 406), 'en': (849, 380, 1024, 406), 'jp': (849, 380, 1024, 406), 'tw': (849, 380, 1024, 406)}, color={'cn': (210, 214, 214), 'en': (210, 214, 214), 'jp': (210, 214, 214), 'tw': (210, 214, 214)}, button={'cn': (849, 380, 1024, 406), 'en': (849, 380, 1024, 406), 'jp': (849, 380, 1024, 406), 'tw': (849, 380, 1024, 406)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_SHARE.png', 'en': './assets/cn/island/ISLAND_FREEBIE_SHARE.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_SHARE.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_SHARE.png'}) +ISLAND_FREEBIE_SHARE_ALL = Button(area={'cn': (724, 587, 814, 613), 'en': (724, 587, 814, 613), 'jp': (724, 587, 814, 613), 'tw': (724, 587, 814, 613)}, color={'cn': (73, 104, 128), 'en': (73, 104, 128), 'jp': (73, 104, 128), 'tw': (73, 104, 128)}, button={'cn': (724, 587, 814, 613), 'en': (724, 587, 814, 613), 'jp': (724, 587, 814, 613), 'tw': (724, 587, 814, 613)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png', 'en': './assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_SHARE_ALL.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_SHARE_ALL.png'}) +ISLAND_FREEBIE_SHARE_BACK = Button(area={'cn': (844, 101, 878, 135), 'en': (844, 101, 878, 135), 'jp': (844, 101, 878, 135), 'tw': (844, 101, 878, 135)}, color={'cn': (170, 213, 232), 'en': (170, 213, 232), 'jp': (170, 213, 232), 'tw': (170, 213, 232)}, button={'cn': (844, 101, 878, 135), 'en': (844, 101, 878, 135), 'jp': (844, 101, 878, 135), 'tw': (844, 101, 878, 135)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_SHARE_BACK.png', 'en': './assets/cn/island/ISLAND_FREEBIE_SHARE_BACK.png', 'jp': './assets/cn/island/ISLAND_FREEBIE_SHARE_BACK.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_SHARE_BACK.png'}) +ISLAND_FREEBIE_UNAVAILABLE = Button(area={'cn': (36, 631, 88, 683), 'en': (36, 631, 88, 683), 'jp': (36, 631, 88, 683), 'tw': (36, 631, 88, 683)}, color={'cn': (122, 122, 122), 'en': (122, 122, 122), 'jp': (122, 122, 122), 'tw': (122, 122, 122)}, button={'cn': (36, 631, 88, 683), 'en': (36, 631, 88, 683), 'jp': (36, 631, 88, 683), 'tw': (36, 631, 88, 683)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_UNAVAILABLE.png', 'en': './assets/cn/island/ISLAND_FREEBIE_UNAVAILABLE.png', 'jp': './assets/cn/island/ISLAND_FREEBIE_UNAVAILABLE.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_UNAVAILABLE.png'}) ISLAND_LEVEL_UP = Button(area={'cn': (616, 339, 662, 377), 'en': (616, 339, 662, 377), 'jp': (616, 339, 662, 377), 'tw': (616, 339, 662, 377)}, color={'cn': (186, 213, 226), 'en': (186, 213, 226), 'jp': (186, 213, 226), 'tw': (186, 213, 226)}, button={'cn': (616, 339, 662, 377), 'en': (616, 339, 662, 377), 'jp': (616, 339, 662, 377), 'tw': (616, 339, 662, 377)}, file={'cn': './assets/cn/island/ISLAND_LEVEL_UP.png', 'en': './assets/cn/island/ISLAND_LEVEL_UP.png', 'jp': './assets/cn/island/ISLAND_LEVEL_UP.png', 'tw': './assets/cn/island/ISLAND_LEVEL_UP.png'}) diff --git a/module/island/freebie.py b/module/island/freebie.py new file mode 100644 index 0000000000..c78e7e9912 --- /dev/null +++ b/module/island/freebie.py @@ -0,0 +1,119 @@ +from module.base.timer import Timer +from module.exception import GameStuckError +from module.handler.assets import STORY_SKIP +from module.island.ui import IslandUI +from module.island.assets import * +from module.logger import logger +from module.ui.page import page_island, page_island_manage, page_island_phone + + +class IslandFreebie(IslandUI): + def island_freebie_notice_appear(self): + """ + Returns: + bool: If appear. + + Page: + in: page_island_manage + """ + for _ in self.loop(timeout=5): + if self.match_template_color(ISLAND_FREEBIE_AVAILABLE, offset=(20, 20)): + return True + if self.match_template_color(ISLAND_FREEBIE_UNAVAILABLE, offset=(20, 20)): + return False + return False + + def freebie_move_to(self): + """ + Page: + in: page_island_manage + out: page_island + """ + for _ in self.loop(timeout=30): + if self.appear_then_click(ISLAND_FREEBIE_AVAILABLE, offset=(20, 20), interval=3): + continue + + if self.ui_page_appear(page_island_phone): + logger.info('Moved to location of freebie') + self.ui_goto(page_island) + break + else: + logger.warning('Failed to move to location of freebie after 30 seconds') + raise GameStuckError(f'Failed to move to location of freebie after 30 seconds') + + def freebie_claim(self): + if not self.appear(ISLAND_FREEBIE_CLAIM, offset=(20, 20)): + logger.warning('No freebie claim button') + return False + retry_wait = Timer(3, count=5).reset() + for _ in self.loop(timeout=30): + if self.appear_then_click(ISLAND_FREEBIE_CLAIM, offset=(20, 20), interval=3): + continue + + if self.appear(ISLAND_FREEBIE_COOLDOWN, offset=(20, 20)): + logger.info('Claimed freebie') + break + elif self.ui_page_appear(page_island_phone): + logger.info('Misclicked into page_island_phone, go back') + self.ui_goto(page_island) + continue + elif retry_wait.reached_and_reset(): + self.device.click(STORY_SKIP) + continue + + def freebie_receive(self): + p1 = (217, 507) + p2 = (217 - 8, 507 + 36) + self.device.drag(p1, p2, point_random=(0, 0, 0, 0), shake_random=(0, 0, 0, 0), hold_duration=1.05) + self.device.screenshot() + if not self.appear(ISLAND_FREEBIE_RECEIVE, offset=(20, 20)): + logger.warning('Failed to receive freebie') + return False + confirm_timer = Timer(3, count=5).reset() + for _ in self.loop(skip_first=False): + if self.appear_then_click(ISLAND_FREEBIE_RECEIVE, offset=(20, 20), interval=3): + confirm_timer.reset() + continue + + if self.handle_island_additional(): + confirm_timer.reset() + continue + + # End + if self.appear(ISLAND_FREEBIE_SHARE, offset=(20, 20)): + if confirm_timer.reached(): + logger.info('Received freebie') + return True + + def freebie_share(self): + if not self.appear(ISLAND_FREEBIE_SHARE, offset=(20, 20)): + logger.warning('No freebie share button') + return False + + for _ in self.loop(skip_first=False): + if self.appear_then_click(ISLAND_FREEBIE_SHARE, offset=(20, 20), interval=3): + continue + if self.appear_then_click(ISLAND_FREEBIE_SHARE_ALL, offset=(20, 20), interval=3): + break + + for _ in self.loop(skip_first=False): + if self.appear_then_click(ISLAND_FREEBIE_SHARE_BACK, offset=(20, 20), interval=3): + continue + if self.ui_page_appear(page_island): + logger.info('Shared freebie') + return True + + def run(self): + self.ui_ensure(page_island_manage) + + if self.island_freebie_notice_appear(): + self.freebie_move_to() + self.freebie_claim() + self.freebie_receive() + if self.config.IslandFreebie_Share: + self.freebie_share() + else: + logger.info('No freebie notice') + + self.config.task_delay(server_update=True) + \ No newline at end of file From f84c77f6c2a119cb7036a4eb8415eee373a144dc Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Wed, 27 May 2026 00:07:04 +0800 Subject: [PATCH 7/9] Add: [JP] island season specialities collect --- alas.py | 4 + .../cn/island/ISLAND_COLLECT_LOCATION_1.png | Bin 0 -> 73887 bytes .../cn/island/ISLAND_COLLECT_LOCATION_2.png | Bin 0 -> 61118 bytes .../island/ISLAND_COLLECT_SELECT_CANCEL.png | Bin 0 -> 8318 bytes .../island/ISLAND_COLLECT_SELECT_CONFIRM.png | Bin 0 -> 8956 bytes .../cn/island/ISLAND_COLLECT_SELECT_ENTER.png | Bin 0 -> 13969 bytes assets/cn/island/ISLAND_COLLECT_START.png | Bin 0 -> 8553 bytes .../ISLAND_COLLECT_START_UNAVAILABLE.png | Bin 0 -> 8272 bytes .../island/ISLAND_COLLECT_SELECT_CANCEL.png | Bin 0 -> 8318 bytes .../island/ISLAND_COLLECT_SELECT_CONFIRM.png | Bin 0 -> 8956 bytes .../jp/island/ISLAND_COLLECT_SELECT_ENTER.png | Bin 0 -> 13969 bytes assets/jp/island/ISLAND_COLLECT_START.png | Bin 0 -> 8553 bytes .../ISLAND_COLLECT_START_UNAVAILABLE.png | Bin 0 -> 8272 bytes config/template.json | 13 ++ module/config/argument/args.json | 45 ++++++ module/config/argument/menu.json | 3 +- module/config/argument/override.yaml | 6 + module/config/argument/task.yaml | 2 + module/config/config_manual.py | 2 +- module/config/i18n/en-US.json | 4 + module/config/i18n/ja-JP.json | 4 + module/config/i18n/zh-CN.json | 4 + module/config/i18n/zh-TW.json | 4 + module/island/assets.py | 7 + module/island/collect.py | 136 ++++++++++++++++++ 25 files changed, 232 insertions(+), 2 deletions(-) create mode 100644 assets/cn/island/ISLAND_COLLECT_LOCATION_1.png create mode 100644 assets/cn/island/ISLAND_COLLECT_LOCATION_2.png create mode 100644 assets/cn/island/ISLAND_COLLECT_SELECT_CANCEL.png create mode 100644 assets/cn/island/ISLAND_COLLECT_SELECT_CONFIRM.png create mode 100644 assets/cn/island/ISLAND_COLLECT_SELECT_ENTER.png create mode 100644 assets/cn/island/ISLAND_COLLECT_START.png create mode 100644 assets/cn/island/ISLAND_COLLECT_START_UNAVAILABLE.png create mode 100644 assets/jp/island/ISLAND_COLLECT_SELECT_CANCEL.png create mode 100644 assets/jp/island/ISLAND_COLLECT_SELECT_CONFIRM.png create mode 100644 assets/jp/island/ISLAND_COLLECT_SELECT_ENTER.png create mode 100644 assets/jp/island/ISLAND_COLLECT_START.png create mode 100644 assets/jp/island/ISLAND_COLLECT_START_UNAVAILABLE.png create mode 100644 module/island/collect.py diff --git a/alas.py b/alas.py index 58ff6809ab..2755b1b3b4 100644 --- a/alas.py +++ b/alas.py @@ -411,6 +411,10 @@ def island_freebie(self): from module.island.freebie import IslandFreebie IslandFreebie(config=self.config, device=self.device).run() + def island_collect(self): + from module.island.collect import IslandCollect + IslandCollect(config=self.config, device=self.device).run() + def daemon(self): from module.daemon.daemon import AzurLaneDaemon AzurLaneDaemon(config=self.config, device=self.device, task="Daemon").run() diff --git a/assets/cn/island/ISLAND_COLLECT_LOCATION_1.png b/assets/cn/island/ISLAND_COLLECT_LOCATION_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7941b5036defccaa277dcef0090ca651568e3b0b GIT binary patch literal 73887 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 aAw=b#d__>bSEs3D8Yv(hh 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 literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_COLLECT_SELECT_CANCEL.png b/assets/cn/island/ISLAND_COLLECT_SELECT_CANCEL.png new file mode 100644 index 0000000000000000000000000000000000000000..344fc15af9caf065121df9d0e1719458a64db520 GIT binary patch literal 8318 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 Lzi0m3mFxclF@XyX literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_COLLECT_SELECT_CONFIRM.png b/assets/cn/island/ISLAND_COLLECT_SELECT_CONFIRM.png new file mode 100644 index 0000000000000000000000000000000000000000..b03d5b597d41f85e1ff7e8d55cdaaa4fe2b05ccd GIT binary patch literal 8956 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 WcLfzN4&|uEm}=u-eR1pVpZ^6O+e<9~ literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_COLLECT_SELECT_ENTER.png b/assets/cn/island/ISLAND_COLLECT_SELECT_ENTER.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8a9ad7491f10fc39fb7588a6cd6bb757d0cc57 GIT binary patch literal 13969 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 k~7J3SPw%L*Z@7=qt&A8d6ds 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 As{jB1 literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_COLLECT_START.png b/assets/cn/island/ISLAND_COLLECT_START.png new file mode 100644 index 0000000000000000000000000000000000000000..3df79b8b450e0d237c5c48af96af4d1d189545f6 GIT binary patch literal 8553 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 literal 0 HcmV?d00001 diff --git a/assets/cn/island/ISLAND_COLLECT_START_UNAVAILABLE.png b/assets/cn/island/ISLAND_COLLECT_START_UNAVAILABLE.png new file mode 100644 index 0000000000000000000000000000000000000000..263bea28689e97110286311aa88927d3b31b0563 GIT binary patch literal 8272 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 Lzi0m3mFxclF@XyX literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_COLLECT_SELECT_CONFIRM.png b/assets/jp/island/ISLAND_COLLECT_SELECT_CONFIRM.png new file mode 100644 index 0000000000000000000000000000000000000000..b03d5b597d41f85e1ff7e8d55cdaaa4fe2b05ccd GIT binary patch literal 8956 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 WcLfzN4&|uEm}=u-eR1pVpZ^6O+e<9~ literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_COLLECT_SELECT_ENTER.png b/assets/jp/island/ISLAND_COLLECT_SELECT_ENTER.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8a9ad7491f10fc39fb7588a6cd6bb757d0cc57 GIT binary patch literal 13969 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 k~7J3SPw%L*Z@7=qt&A8d6ds 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 As{jB1 literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_COLLECT_START.png b/assets/jp/island/ISLAND_COLLECT_START.png new file mode 100644 index 0000000000000000000000000000000000000000..3df79b8b450e0d237c5c48af96af4d1d189545f6 GIT binary patch literal 8553 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 literal 0 HcmV?d00001 diff --git a/assets/jp/island/ISLAND_COLLECT_START_UNAVAILABLE.png b/assets/jp/island/ISLAND_COLLECT_START_UNAVAILABLE.png new file mode 100644 index 0000000000000000000000000000000000000000..263bea28689e97110286311aa88927d3b31b0563 GIT binary patch literal 8272 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 OpsiAshBeacon > OpsiDaily > OpsiShop > OpsiVoucher > OpsiAbyssal > OpsiStronghold > OpsiObscure > OpsiArchive - > IslandFreebie + > IslandFreebie > IslandCollect > Daily > Hard > OpsiAshBeacon > OpsiAshAssist > OpsiMonthBoss > Sos > EventSp > EventA > EventB > EventC > EventD > RaidDaily > CoalitionSp > WarArchives > MaritimeEscort diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index f3ddecf4c3..4d08a7d665 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -262,6 +262,10 @@ "name": "Daily Supplies", "help": "" }, + "IslandCollect": { + "name": "Daily Gathering", + "help": "Use management panel to gather season specialities and coal/wood.\nWill use multiple characters with least levels until stamina requirement is fulfilled." + }, "Daemon": { "name": "Normal Semi-auto", "help": "" diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index ace80beee5..74380fdcfa 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -262,6 +262,10 @@ "name": "デイリー補給", "help": "" }, + "IslandCollect": { + "name": "デイリー採集", + "help": "管理パネルを使用して、季節の特産品や石炭/木材を収集します。\nスタミナ要件が満たされるまで、レベルの最も低い複数のキャラクターを使用します。" + }, "Daemon": { "name": "半自動クリック", "help": "" diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 26d25a77cb..e5e0a00573 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -262,6 +262,10 @@ "name": "每日补给", "help": "" }, + "IslandCollect": { + "name": "每日采集", + "help": "使用管理面板采集季节特产和煤炭/自然之木。\n将使用多个等级最低的角色直到满足体力要求。" + }, "Daemon": { "name": "半自动点击", "help": "" diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 67b0107d6b..b238b896f9 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -262,6 +262,10 @@ "name": "每日補給", "help": "" }, + "IslandCollect": { + "name": "每日採集", + "help": "使用管理面板採集季節特產和煤炭/自然之木。\n將使用多個等級最低的角色直到滿足體力要求。" + }, "Daemon": { "name": "半自動點擊", "help": "" diff --git a/module/island/assets.py b/module/island/assets.py index f4f3197198..5d7282b7ba 100644 --- a/module/island/assets.py +++ b/module/island/assets.py @@ -5,6 +5,13 @@ # Don't modify it manually. ISLAND_CLICK_SAFE_AREA = Button(area={'cn': (596, 687, 680, 720), 'en': (596, 687, 680, 720), 'jp': (596, 687, 680, 720), 'tw': (596, 687, 680, 720)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (596, 687, 680, 720), 'en': (596, 687, 680, 720), 'jp': (596, 687, 680, 720), 'tw': (596, 687, 680, 720)}, file={'cn': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'en': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'jp': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'tw': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png'}) +ISLAND_COLLECT_LOCATION_1 = Button(area={'cn': (431, 216, 608, 466), 'en': (431, 216, 608, 466), 'jp': (431, 216, 608, 466), 'tw': (431, 216, 608, 466)}, color={'cn': (156, 186, 138), 'en': (156, 186, 138), 'jp': (156, 186, 138), 'tw': (156, 186, 138)}, button={'cn': (431, 216, 608, 466), 'en': (431, 216, 608, 466), 'jp': (431, 216, 608, 466), 'tw': (431, 216, 608, 466)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_LOCATION_1.png', 'en': './assets/cn/island/ISLAND_COLLECT_LOCATION_1.png', 'jp': './assets/cn/island/ISLAND_COLLECT_LOCATION_1.png', 'tw': './assets/cn/island/ISLAND_COLLECT_LOCATION_1.png'}) +ISLAND_COLLECT_LOCATION_2 = Button(area={'cn': (672, 216, 849, 466), 'en': (672, 216, 849, 466), 'jp': (672, 216, 849, 466), 'tw': (672, 216, 849, 466)}, color={'cn': (174, 185, 184), 'en': (174, 185, 184), 'jp': (174, 185, 184), 'tw': (174, 185, 184)}, button={'cn': (672, 216, 849, 466), 'en': (672, 216, 849, 466), 'jp': (672, 216, 849, 466), 'tw': (672, 216, 849, 466)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_LOCATION_2.png', 'en': './assets/cn/island/ISLAND_COLLECT_LOCATION_2.png', 'jp': './assets/cn/island/ISLAND_COLLECT_LOCATION_2.png', 'tw': './assets/cn/island/ISLAND_COLLECT_LOCATION_2.png'}) +ISLAND_COLLECT_SELECT_CANCEL = Button(area={'cn': (474, 543, 530, 571), 'en': (474, 543, 530, 571), 'jp': (474, 543, 530, 571), 'tw': (474, 543, 530, 571)}, color={'cn': (200, 200, 199), 'en': (200, 200, 199), 'jp': (200, 200, 199), 'tw': (200, 200, 199)}, button={'cn': (474, 543, 530, 571), 'en': (474, 543, 530, 571), 'jp': (474, 543, 530, 571), 'tw': (474, 543, 530, 571)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_SELECT_CANCEL.png', 'en': './assets/cn/island/ISLAND_COLLECT_SELECT_CANCEL.png', 'jp': './assets/jp/island/ISLAND_COLLECT_SELECT_CANCEL.png', 'tw': './assets/cn/island/ISLAND_COLLECT_SELECT_CANCEL.png'}) +ISLAND_COLLECT_SELECT_CONFIRM = Button(area={'cn': (749, 542, 812, 573), 'en': (749, 542, 812, 573), 'jp': (749, 542, 812, 573), 'tw': (749, 542, 812, 573)}, color={'cn': (104, 205, 255), 'en': (104, 205, 255), 'jp': (104, 205, 255), 'tw': (104, 205, 255)}, button={'cn': (749, 542, 812, 573), 'en': (749, 542, 812, 573), 'jp': (749, 542, 812, 573), 'tw': (749, 542, 812, 573)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_SELECT_CONFIRM.png', 'en': './assets/cn/island/ISLAND_COLLECT_SELECT_CONFIRM.png', 'jp': './assets/jp/island/ISLAND_COLLECT_SELECT_CONFIRM.png', 'tw': './assets/cn/island/ISLAND_COLLECT_SELECT_CONFIRM.png'}) +ISLAND_COLLECT_SELECT_ENTER = Button(area={'cn': (892, 473, 1035, 502), 'en': (892, 473, 1035, 502), 'jp': (892, 473, 1035, 502), 'tw': (892, 473, 1035, 502)}, color={'cn': (108, 206, 254), 'en': (108, 206, 254), 'jp': (108, 206, 254), 'tw': (108, 206, 254)}, button={'cn': (892, 473, 1035, 502), 'en': (892, 473, 1035, 502), 'jp': (892, 473, 1035, 502), 'tw': (892, 473, 1035, 502)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_SELECT_ENTER.png', 'en': './assets/cn/island/ISLAND_COLLECT_SELECT_ENTER.png', 'jp': './assets/jp/island/ISLAND_COLLECT_SELECT_ENTER.png', 'tw': './assets/cn/island/ISLAND_COLLECT_SELECT_ENTER.png'}) +ISLAND_COLLECT_START = Button(area={'cn': (1015, 473, 1072, 504), 'en': (1015, 473, 1072, 504), 'jp': (1015, 473, 1072, 504), 'tw': (1015, 473, 1072, 504)}, color={'cn': (93, 201, 255), 'en': (93, 201, 255), 'jp': (93, 201, 255), 'tw': (93, 201, 255)}, button={'cn': (1015, 473, 1072, 504), 'en': (1015, 473, 1072, 504), 'jp': (1015, 473, 1072, 504), 'tw': (1015, 473, 1072, 504)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_START.png', 'en': './assets/cn/island/ISLAND_COLLECT_START.png', 'jp': './assets/jp/island/ISLAND_COLLECT_START.png', 'tw': './assets/cn/island/ISLAND_COLLECT_START.png'}) +ISLAND_COLLECT_START_UNAVAILABLE = Button(area={'cn': (1016, 474, 1071, 503), 'en': (1016, 474, 1071, 503), 'jp': (1016, 474, 1071, 503), 'tw': (1016, 474, 1071, 503)}, color={'cn': (201, 201, 200), 'en': (201, 201, 200), 'jp': (201, 201, 200), 'tw': (201, 201, 200)}, button={'cn': (1016, 474, 1071, 503), 'en': (1016, 474, 1071, 503), 'jp': (1016, 474, 1071, 503), 'tw': (1016, 474, 1071, 503)}, file={'cn': './assets/cn/island/ISLAND_COLLECT_START_UNAVAILABLE.png', 'en': './assets/cn/island/ISLAND_COLLECT_START_UNAVAILABLE.png', 'jp': './assets/jp/island/ISLAND_COLLECT_START_UNAVAILABLE.png', 'tw': './assets/cn/island/ISLAND_COLLECT_START_UNAVAILABLE.png'}) ISLAND_FREEBIE_AVAILABLE = Button(area={'cn': (0, 600, 120, 720), 'en': (0, 600, 120, 720), 'jp': (0, 600, 120, 720), 'tw': (0, 600, 120, 720)}, color={'cn': (83, 83, 75), 'en': (83, 83, 75), 'jp': (83, 83, 75), 'tw': (83, 83, 75)}, button={'cn': (37, 631, 87, 681), 'en': (37, 631, 87, 681), 'jp': (37, 631, 87, 681), 'tw': (37, 631, 87, 681)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif', 'en': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif', 'jp': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif', 'tw': './assets/cn/island/ISLAND_FREEBIE_AVAILABLE.gif'}) ISLAND_FREEBIE_CLAIM = Button(area={'cn': (890, 381, 984, 405), 'en': (890, 381, 984, 405), 'jp': (890, 381, 984, 405), 'tw': (890, 381, 984, 405)}, color={'cn': (194, 195, 196), 'en': (194, 195, 196), 'jp': (194, 195, 196), 'tw': (194, 195, 196)}, button={'cn': (890, 381, 984, 405), 'en': (890, 381, 984, 405), 'jp': (890, 381, 984, 405), 'tw': (890, 381, 984, 405)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_CLAIM.png', 'en': './assets/cn/island/ISLAND_FREEBIE_CLAIM.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_CLAIM.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_CLAIM.png'}) ISLAND_FREEBIE_COOLDOWN = Button(area={'cn': (870, 380, 1003, 406), 'en': (870, 380, 1003, 406), 'jp': (870, 380, 1003, 406), 'tw': (870, 380, 1003, 406)}, color={'cn': (200, 202, 201), 'en': (200, 202, 201), 'jp': (200, 202, 201), 'tw': (200, 202, 201)}, button={'cn': (870, 380, 1003, 406), 'en': (870, 380, 1003, 406), 'jp': (870, 380, 1003, 406), 'tw': (870, 380, 1003, 406)}, file={'cn': './assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png', 'en': './assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png', 'jp': './assets/jp/island/ISLAND_FREEBIE_COOLDOWN.png', 'tw': './assets/cn/island/ISLAND_FREEBIE_COOLDOWN.png'}) diff --git a/module/island/collect.py b/module/island/collect.py new file mode 100644 index 0000000000..df6f46583a --- /dev/null +++ b/module/island/collect.py @@ -0,0 +1,136 @@ +from module.base.button import ButtonGrid +from module.base.timer import Timer +from module.exception import GameStuckError +from module.island.assets import * +from module.island_handler.dock import IslandDock +from module.island_handler.dock_scanner import CharacterScanner +from module.logger import logger +from module.ui.page import page_island_manage, page_island_phone + +ISLAND_COLLECT_WORKSLOT_GRID = ButtonGrid( + origin=(832, 227), delta=(95, 0), button_shape=(74, 74), grid_shape=(3, 1) +) + + +class IslandCollect(IslandDock): + def collect_location_unselected_buttons(self): + buttons = [] + if not self.is_button_selected(ISLAND_COLLECT_LOCATION_1): + buttons.append(ISLAND_COLLECT_LOCATION_1) + if not self.is_button_selected(ISLAND_COLLECT_LOCATION_2): + buttons.append(ISLAND_COLLECT_LOCATION_2) + return buttons + + def collect_available(self): + for _ in self.loop(timeout=10): + if self.appear_then_click(ISLAND_COLLECT_SELECT_ENTER, offset=(20, 20), interval=3): + continue + # End + if self.appear(ISLAND_COLLECT_SELECT_CONFIRM, offset=(20, 20)): + break + else: + logger.warning('Cannot find collect enter button, collect may not be available') + return False + + available = None + for _ in self.loop(skip_first=False, timeout=20): + # End + if self.handle_info_bar(): + logger.warning('Info bar appears, nothing more to collect') + available = False + break + if self.match_template_color(ISLAND_COLLECT_START_UNAVAILABLE, offset=(20, 20)): + logger.info('has something to collect, continue') + available = True + break + + if self.appear(ISLAND_COLLECT_SELECT_CONFIRM, offset=(20, 20)): + buttons = self.collect_location_unselected_buttons() + if not buttons: + self.device.click(ISLAND_COLLECT_SELECT_CONFIRM) + continue + for button in buttons: + self.device.click(button) + continue + else: + logger.warning('Cannot determine collect availability, possibly due to network issues') + available = False + + if available: + return True + # Back to island manage page + for _ in self.loop(timeout=10): + if self.appear_then_click(ISLAND_COLLECT_SELECT_CANCEL, offset=(20, 20), interval=3): + continue + if self.ui_page_appear(page_island_manage, offset=(20, 20)): + break + else: + logger.warning('Cannot return to island manage page, something may be wrong') + raise GameStuckError('Cannot return to island manage page, something may be wrong') + return False + + def collect_execute(self): + for workslot, button in enumerate(ISLAND_COLLECT_WORKSLOT_GRID.buttons): + for _ in self.loop(timeout=10): + # End + if self.is_in_island_dock(): + break + + self.device.click(button) + else: + logger.warning(f'Failed to click workslot button for workslot {workslot}') + return False + self.island_dock_sort_method_dsc_set(enable=False) + scanner = CharacterScanner(emotion=(80, 150), status='free') + scanner.disable('emotion_limit') + candidates = scanner.scan(self.device.image) + if not candidates: + logger.warning(f'No candidate found for workslot {workslot}, canceling collect') + self.island_dock_quit() + return False + button = candidates[0].button + self.island_dock_select_one(button) + self.island_dock_select_confirm(check_button=[ISLAND_COLLECT_START, ISLAND_COLLECT_START_UNAVAILABLE]) + if self.match_template_color(ISLAND_COLLECT_START, offset=(20, 20)): + break + if not self.match_template_color(ISLAND_COLLECT_START, offset=(20, 20)): + logger.warning('Failed to start collect, something may be wrong') + return False + confirm_timer = Timer(3, count=5).start() + for _ in self.loop(timeout=10): + if self.handle_island_additional(): + confirm_timer.reset() + continue + if self.match_template_color(ISLAND_COLLECT_START, offset=(20, 20)): + self.device.click(ISLAND_COLLECT_START) + confirm_timer.reset() + continue + + # End + if self.appear(ISLAND_COLLECT_SELECT_ENTER, offset=(20, 20)): + if confirm_timer.reached(): + return True + else: + logger.warning('Failed to start collect, something may be wrong') + return False + + def run(self): + self.ui_ensure(page_island_manage) + self.island_manage_side_navbar_ensure(upper=3) + + if self.collect_available(): + success = self.collect_execute() + if success: + logger.info('Collect successfully') + self.config.task_delay(server_update=True) + else: + logger.warning('Failed to collect, will retry later') + self.config.task_delay(success=False) + else: + logger.info('Collect not available, possibly due to cooldown') + for _ in self.loop(): + if self.appear_then_click(ISLAND_COLLECT_SELECT_CANCEL, offset=(20, 20), interval=3): + continue + if self.appear(ISLAND_COLLECT_SELECT_ENTER, offset=(20, 20)): + break + self.config.task_delay(server_update=True) From 2e5e618cd027d998fb0b34bb08b751bb365dccaa Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Wed, 27 May 2026 00:58:25 +0800 Subject: [PATCH 8/9] Add: island technology scanner (without main line) --- .../island_handler/ISLAND_TECHNOLOGY_TAB1.png | Bin 0 -> 23117 bytes .../island/technology/technology_chart_2.png | Bin 0 -> 10636 bytes .../island/technology/technology_chart_3.png | Bin 0 -> 12157 bytes .../island/technology/technology_chart_4.png | Bin 0 -> 9849 bytes .../island/technology/technology_chart_5.png | Bin 0 -> 18647 bytes .../island/technology/technology_chart_6.png | Bin 0 -> 10723 bytes assets/mask/MASK_ISLAND_TECHNOLOGY.png | Bin 0 -> 9779 bytes module/island_handler/assets.py | 1 + module/island_handler/technology_scanner.py | 176 ++++++++++++++++++ 9 files changed, 177 insertions(+) create mode 100644 assets/cn/island_handler/ISLAND_TECHNOLOGY_TAB1.png create mode 100644 assets/island/technology/technology_chart_2.png create mode 100644 assets/island/technology/technology_chart_3.png create mode 100644 assets/island/technology/technology_chart_4.png create mode 100644 assets/island/technology/technology_chart_5.png create mode 100644 assets/island/technology/technology_chart_6.png create mode 100644 assets/mask/MASK_ISLAND_TECHNOLOGY.png create mode 100644 module/island_handler/technology_scanner.py diff --git a/assets/cn/island_handler/ISLAND_TECHNOLOGY_TAB1.png b/assets/cn/island_handler/ISLAND_TECHNOLOGY_TAB1.png new file mode 100644 index 0000000000000000000000000000000000000000..9a0a5a7c5d6e0f93ec0f1d2a22d61092639e02ac GIT binary patch literal 23117 zcmeFZcT|&U^FPd5cUJ|mPy|GRf=KTjR3g1dKAaS z?+gqKm$Wp2AO?oB^vhG9e?3M2bDvxL7Y2r3_ydhiy+O8qw>-RHPOk2bx4Z*99B(=L zyE-v2_>Vannn7E|ex*?b0?&xCO;7JiSAk%kr~Sm@X6k^?f9rZ%(1>gzb!tT3y$+d# zq%i{{;uL<#0?qa7Hf#w)5Zp&z%tK-KEKdotd+2oGj`_w?_#Z1q(%|Q>M6+Xt*?_i`a=G2&_2&n5phr)k8o$dh`iL}5v#(zK`n|j?wCvWeA%E^`LIr#O$8&L=7Pl7zg~@+PlKAaaI{Efrt}2l%6;feco?Lw1pRzAiW@IN zpta#=-oBIMRhLmV;N)S^u@dqV7v#9NF6C)#DBa2GB_f!GlPeoia3d#@#4JBQm9Q+5 zjyaR^8u&ZFVbJiwbr!oiw}Ldyfq;o-)tOzRnS_ofzwox70zc-F4_Q;)Rko;=lV0Ep zo4(&04MD~*ytn#u=UA8h78NJKN%bvxw<_iW4U2G$-e&{5zf2RDVAhb>e8nwU=`K zW0_aSt6#{?bmR7Qr5mxSp00vD3?gFd0JC!x@rQWOjhul&N!8!O*51w0`<9)fvnx~? zKp~I-w_F{R0VdLVVtO8GjxMg6fnJVAf%?Ywfo}Hl4ggh^-qYx1>a*M8t$2`Mdf`091azrR3${qyPe{ z|3!lSNg3ec?d_o;D(dIwC*mh50`qbf6_=Nn7ZsBbm5>mo&k%+OK)r4Kg`sfX6B7TT z0d$1hd%1deyTYKiPH5WN!F;@x0RZ~=t$*_e@zB%zn>-Z$7YcMdMEz|&M8!qKL?IB- z|6T$2e&kCh@)tw@#}#m6x-Sp~Il^H+UiOZUd>x_Qy#GzY!T#^{9zI^~KgDsd7j<-Z zgwUtL>30?XAGg%d(tG^(iW3N&T_GMnSJA=#A2YpOo&E#X|KROp z2-}I%DcU*7Iygz&*~>}D+x`~`120#)Roc4$H&-X59O$HE#BC+S#bxD%Wo4x7Pe{qp zxsjI^wv&@}v~{#|l(Cg_{7K5eUO^q^1+k^8(-mUt>?rC1b^bYU0=UA1$6Cq&2@$dX z^gMRA^>(5!pzi@!r~}Lo{+}UZSBRsLx9tg@;<7Tb(vs3L($eA*GICO~|C#jE(F;zu z#S^OHVj_}qKSxd!qd*sj4z2BprP2xf?59hkpyuUh>kacVhQZvG0Vhn|I$8PmupWIw zIoNvJ0&Tq==|sgOWE8~26~v^BB_tHYWECW(1;ykP#QtkO%)!+u;Qwp($@aOW^e?4r zy29!A5BS;juRUet==rZt|N7|e`g1egy7hBgDA?NnO9Z&BucO0HKIydnHDvE%3w3s+ z`;Wg2_TT-k{|94`a%6RTTy|5BB}|K!Hc#qmTBbjXCo#D)J0GJxn`!it`FjDJh3 zB>MltL+R&)|8g<(b^q$4yDqvX6#d&3{)HEv*Z)7;UwZie^A@*m{d1H56~6z#^$%SC zD+K;mlmD@N0wj=jdbunp@H(2o76m$W(-fme<31?j|26tpV)c;5kc$jfT1 z!fX(HW3E!fMrw-Jtg#40Pkt_CX%`IC(-V~rO^bCCM!~0$8k5!)`GR=a5yFbqz*U>L z(R%!mDWu59S=ed1k%C>_=op-tYsjA*D^W1lgLn1W+%@Ta)G2Nnxp4PUiNFXbKcyJO z;ybc%Hx-+dFlW-~FR9JJ>JkDaaw!H&XjgY^42 zCU&2}50yvuM~R_+v$LlKG&hJ?5HW z@hT}lQ(f5g?Q1Vmib$UN>Z8t)9%az}W)B6^J z^XeO3aCVFr5Ez@Z=%NgYn`rUp#XjBi@hkYI?YF*Hyt1~-wC&3k8M`S>J?Gb`*e!~V z9NgL;nana_RDYEeC~g)np(kGiRZ`sMpY1G3LIfp?wUB(Hq+?`GQv-NI1U(3J&CJR;#HIQMt;mnR z&!!j%ptH9VK(#@^pVY-Uij0j)eU|JXfqij{-uYlp->gi^E|Uf@r4BqZElQjyU=spLMnZ2?wSWI8pK3mx z*-gGsm2Iedq6hphyKAvXoZ4cJQ1F>4OW|$vGx~a};8ZtOfswIRcYd(mA-*A4 zz;_rdK;$3~TZP==LSyTg*2=uhxg>Cpk4!9dXFqHx11^FF z7PzqrGMr{$pdAAk=97+shRTW!dFQW{m~;sN0P};~>iYPU;yWxU1J8I0GfN7m-Vor6 zojvMOdbRU~4Ye$jLRgXEGG}eY5)0NM(GZ?7*V=m0K^w(8)h4RYm63dPrQY3ITYzqT z{M_|uLXbkYFcli2kz-Rb?#2wE>}d3V$l2+Saw1m*kYfX&Ch)Z$iLvq({TT(h{r9W1 z3)_n&b8Wbxl_3|uMF+)R;YTZ=IG4G_o}oc*AQ7Yv}HluWg| z#a0M+E>SfW(dffw4HZNFCFyyq++FW6A05P=E@ke375O9glYWq+@3+18hq;;rrqt}% z8q8C-%>B@ea|83o^>fx2QvmbOO}iY6QrE{CO9B9pXx_{<%)*fGjTJdi-20%x1Z|5& z3^KA<8t`bK3vZ}(VtpOI?2h-tUKI;~^#wrptT-lxw)ab9bulxea>C1c1SWJ6UD3+2 z+f0**@O$VjM$RR!27c*KI_oSuG6bfX(Dsbe8cQyUg^JPKhqHwX$%3rm?MU~d6;)<* z1;&cjX8?>HyBH{oywy!Hh(_eI*YR^xWU5*`C_lPL!%aI5*{j~;nd7+!Rr&1dwQsjA zNM9pqZn$bJl|*pw0`3 zO&UlS3jlPlXdgbvc2_TGe0wEx9<1ofIEC_Eff)qJH;m?x_6P&2hg-`Z;LQl+pZKH7 z)uHx97szTHQ@8b@c7fTbT%VPKVY`J7Rxs_Xq**nvgA#G+Gq(zEV`Rl zX6Z*GGSy(hE)1je(nq^{=0>d*A})he}c3zg3MNynOBrJ(EX2A?8Iz}^1UH?C3}-ZtAmEJdGMeT z?wVCp#RYlv>X52Hts(f_N=JJ`bnk3f@{|X4W`V3LPxq)rdy|gaz`=gPY&LO;A~Ibu zribur#35(Cjm2u0G?O;`x*W{Aq{tpYYhUA2x8bfM@A2o6rF8@5b{-U}?0LGw3KZBU zqT^{FcGJmK`4w{?*ERbf|{kw`Si+1;*T-tX3&jFAWWn%zZkuf zlBdc#knNHYIk9yfo!#bPQfei9C$I4R!+TZ&R=|S7sAATh-`@STIp;LxhcW=*&XNwp zPRtV&d<6iy$O1}#q^KoNW#W$S2+W4c9>BOJjyy)?xL0~UD251$a{a)H2scs^T|?x1 zg}0$0{_BUN&pClo!YfusOUJG_1%V}J7S(;;!)Bd)(O|koQQ{(;dX+~ZmO|t3fe{uN z8LUhSg%IS`xIQL0jSn5KMQ7Kt5-NqI$FADM()}FkqJJ3&1lZ|HMVS|(4g{ztwmS%v ztsvUMcPkugvKzF_CuIG{H9Ff`znD=bX&x#b2zM(XOyRf6sY_IPP@pFO?w|)=*hB#O z+6dpH3n${jyoj<=4Jp@98HF$Y6}}wy}^9 zjMimS%8Y_@Rl$yyYy|Gu)w}sFptt2DMyYH2+_ZsMQQE){K4w?{A33emVDP#ycNZcB zVE4JQr@g*|87*AaTY%<;Q;s`2OjHubJSja)+ptm6I*DdyK2f{H9Sq(YC1-_9Q!~_H z9Gu6fg)Ss0^FcSWiKw@99xywuOECUXQt=)1MC|YYM)@@uC?M~ce1?HxjgK0x@GgRp zoCYct(5T|Z01K{3j}&7DL15VuMH4#(EuytP#sYy^wbToJV5T~m6MWAPa;k({3BgTV7JVH4|UDBZzS&V9Dn_X~#k9l3SKGIb-#20M%- zd*6-qjzd+#kcibjhJ@YzQPs0O5G%`>k+}rPLbx83^ty+voA@>z?LiNXEzS>w@z%ET zuJlh~S025ZnmRo>D>*sbYCg6@1LHzUQ-1X1WM(7Z6k5vk=;j_AN=#}ILna%H)lGP3 ze=xae8@hGMZ?l564Yglg!eE{qo~3VO639)!q722`E!^r|mTsXv9eabQ#6}kZtw_ZTax+4MZwm_zEd;`j zgE2ArT$H1kBB$P#-37As?iY;%+#~Z{MaM>IKcxmwccl>bU`Ws&@|Z)>06Eu|2|KDf z%0vcjeW~tqSz6%FrDc6uF8;8GE1H*NKrRRv^lg0zw? zK1t7dnh`3EyU%keGNMD>1Bm0P;~V3|q=EkPNZWN@CcWH1Cy#lmP{>d zBao@j<7w|SD2T7m_xAR%*?Jllibc6&N1au$kOgE$&S5PSE6KH*JGqtv?Imunokptz z(-BMUnM-lLZbkj8YV>flw?U_<%e%~Pt4b<@{Iq?^QO0#=GQlKna4IO<{gH5hrvXsU zhXtcP5MRuyPb@yse-r%l+9laXz`=ynDuc;-{dVcusc+LI?1L3U6I-lPhXVn#ZL1R_ zfX=Ql-ESWfD06!EqA~zN|;wY&=?fbIo&oxvX~6hP=1$tYLGwUC|!m-&LR-GrH? z$IOyO!z8Qj^3n50+1f4jb7X29RUJ4uM)uRe1yrV7!OVqC(vynGPxz=-A~Slmyl6s4 z2eH``*h$aSjpEYc`k%d?dz!&V4?HijZg|`gUD1PNGELr0tdJrhJ$f|;I{SY_iC&CD zx~$z_R$`xK%}GB#Li7enKPBykT{u4Ut12(2m_Y{*ktV?`L2Hmt6T!DZdZ{I{#&7NSyJ%oN3}y` zjSX*QgJDD_|G>^(8U#Hmr=1B{bWa%b^oAt4mfq=B@5305MP6BvYFHSEKZ^TTs*lJo zyRQM%$J4!=_4wtxd2z!=`T@{Nby4gH;E}bdR`;#$LIJ>B>gI>3sppCWNn{E*okXcB zL?6-%6079h&;9LW$zX43rtnQN=33~NeVpjZ5emJ~S{zDu&e3!C>u@dZ+i`;Y_Dh5N z`_9K9z@QD-@rRB6em#x2nD%MU@s$3QA67afW=M~rj;q_~#Kgqdmm7=`8u47jr7x3* zA(X9!0Z}FDa-xA!_1@S>VO6lOS7OEk%9;hs&HZn)el+*m1Jfw1tT|VVHCRN&M0=dD z5VyKDEuKBIH>pP&vGP}GkO38p77r)XJo)n^nOL6sa_tANtSp>ho%>rB=!QtqM1eUx z(GAISiDjen+j}mGh>8B}#PU%Ksbho-Vzbx3_MCg1s-rrZJ$ZGh$nSU_3Ez$5T^TW% zU)_E8K@l#Gdpx4Q4I^7rsvmsE*9HCAW4AHOKR#rOlbqNa*i6*nuPUdIgBFjcX#L0j zTa^Trjnmu~mTXf#^N?Orkk{d&dO@+(0$2b8jD^ZrSrI3O`pXm%PkosJiDho7vN+$i z>5fXY6>chIY5ic8G@pamSsou*k{(!h30j!h9TjyyTCa-9IS!I-=zp}jGcnE;SZt+a z+K_PWLiY!+$;QXNG6S@!#(EOeIuZn!FO*d}?i_e^;tIQ$FZuidFK}Csr4Z%8TJQ_A z8y!a|L?*|S0%Eqh#>dltStEi%L&YL@5G8I)-dPcXB^x4V|aC z57u*+F9phS$$QOB?7`=IHGufx17R{P5rIhwanH(`+WWr1grx1Leqz4h<8wtYQOiAk zJkoT6xPd)?(|=}?awB#;v8r+FJG@udMSSOxVdO<8R&iD#FV9%W32t2p@oEnVef&sOO9Ngv86*ayRkH(jY zB`H{_Rg8HC5mz7)M-PkxT|@39yMl{cL-4Ye#kGdO4g{=&_`p4vV&%8_oq9CcF_2rb zq}&BOaAvnn(ttQNwT*{UO87%+Wsz%bnX6W2>{CiXuE+rBW6>f7h`s3| zMiDhX7cS7gGuM_pG<22UAWJ@YaRWWn;c$hyd*l5#2ql9wf3Sa^lC9_sgDp8wT37?~ zbpo(Y{D$pij>foY;eUAmHLkA`qm3+ojt?MjpuF^@L4LEw1z8zc=XACg)0Hes4{dK$ zN+IHA@OxhCd+*;XvLM$|+u{$GMoZeC9<_-wQKGwTf`j~f)tafT6T#e>AsDWk@sTdQ zBxet?u}G(DlVER%Wgw4lj|zTo1|}pd9Q-wuOsuZne(tAC>+eXku&`h@)IMO<7opM% zU?SC|gHPk*9XnF!dAO=D_rXBED#3rGh>`mh$8FxuKigB_4tVf}Rjk*_6YYxG&ar(v zD&0XcRxMkbnObHoyBk#H+;dh{M6B9a2JUr<+TogpC>&>84OEic(qaT?{@*lfP_i6 zc8e-2voYEttQ`4`n=+20MyMRA=^>#|=x3jm9v4fUl35>V?F#g8zYlu2M)F2%dw#1G zVQS~yIC575xivKngN%>5NR3U^U*QmKA61fLkAPq-G-Z0c&pdvya zr~;f;yd`pGvZ%|G@bSKUze#wILbjFCrdRsvCsi6e6dqsbdt*8_x=N|!XEbDgdJPq! zVp*A`wenPG*=>h&RbSP*-DJ~4UJvKg8&Zi)G#*=>sNLSs>052t0h_5BijWct^N)@= zx^}=;!66HWNW^-xpKeY_1CENFR9$bPABCej^DHDv+|-H=x_pZg)gWkx#$hqud##(P z$MLzYd~V!F&q)edHs)-M^WmZ9I>Pue2%hByDLGW91OpV9&R*ZyDNa#v8=rb+%A1l( zoj6QEQ0kX{G#wte#rEq5isKJF5X~rF%y2PgxIyx!0iUAPh_w7Rf*3*~yJdhDy(OYX zdp=YWiwv@};$&Fjkc}e+LEFZ!Mq5*lbj44~H0i`@=RZdDXS2X2c1w1O);j3eYd$Lu z1WyqPz65HsEJErh93YI~u=3nR^7?!Hfr`R@1!+Lld%n{E=@NJkdo+d$=k>K@1q~P|s&;yl*t_KH-gLH$4c$u6x<%8mvD+OE=GyGB>X;Nz zzM!K-x_U4%l~Wp!mn3mB9*4zZak#~q?;S_yySxcz6J((k3M5BsQYxJA>RGywpuR=%G9eC6>&M#IS+qqZlz>p4Gd%fPyxusT$hqYu&q%AV;$FRQ5 zA#1$Gsx;B|-~(k@=}3~HLcX5KtHmF*$(AdxlI@D3knY5r}BPLnD42i^av?lFu9)ApCA{jhM~-MhhSxOj+Pq zlC?pu)iPZ*!h&&jidg%s7EjK0vs(zwKhFFJLqBI!mYS3tP#aK&%Ml;Q67Ne&Nlh;6 z{K4?%>PM*VmB!Zfd*e02ZnY^1#`lJ-{Q^?=Ze2}F&&gpr`aZpRoPE$bU)+i73237A z9yIpSYg-Hq9_fUFtIzuI&yD|_i(qH%sd3x-;E~3Do44b&8JlFt=%<{%3(XC3dJnAi znnV<2i^Ddv3~5}MORJNAN<>`2kwlx)^DO$6P+t35-XI674B0EK9~W;AsMo5^#8Q|F zquhtzT-s@7BL>Qq%-W94x@lw%adzwqb^|C#~XDww|^#Ka4~Rn5m1# zcI8Er?KRz2_Hr%*ZunS@Tz@DuJC9bq1?ZUIS%SiP?HzQz<~5c#ZlAr$YrdF$?nDfR zKLlkMBJ2-3TtGYn5}ZeP+qj`G`O)cLX`&NLQ?5gp;#Mu^udBP2@#6f<__?MZbH)y> zu}_!4A{}5}iIy|s07X5abnC!WkGQ(q6&*8ok*_=1JA;qKr)LlLhk=~$+1SJxawxI!G4MRx^4J~DH{@U6>D1Qz_^ztldqK^t zb2poDT%@QTv^Rq@y7bg|3 z1Afj|5h?CBt>)#OdryD7n~3tE8s{Edfbs*}d`m7=ai}Zg@{G(vg+5&b1(fyW^cb9V zj$$&}T8tZxpnVJY`c&dcB#KXNiE#p zisPgXL2qBR8Q;Z-JIS9&)xB<9WX@K3NXsn`ze#Wn@SzqBeNP)8Mm5${Iz)OZqAIy= zPJclAE3-P_UaJClgB1Z5Q3V!?Kh&YOdZPHk;!s<64UD^-I;%o>u0$<=@vOagsv*rZ zDl#d-JaISywMH8o=dLe8uKZ!L9qBTD$%4a30Fdw;H<;0A-yVmq?juke%>`0p`(o<% z$OkFGs*k}7Qa?y zK?I&UNLVT#>$w_Rn!zu;vZ|+)ArX>Z@<;2yOvANv_hhx>-i|EaBDvSQ1Q{66cC1-$ zeU~dNe(vwtWYyg&x?3~fXVf``pGxHH!3@O(qkhAE%TcZEvJdi1D~%4cO-hsj<^3g5 z7&R(E*f?J{FU{UbI#M$qiUQEQQEn>@K`n&r-H|4b=*iJ+4N zKtC}m4e6Te*3o$`&uVUT+28zFG0NDj17H6wykbeVoIfu*|LsL~HR-AwFZ;hM%{5fJ zeDdXN({!av)7yg|nPsFIBw+R}jxz@ar$2E45@I~tq&@X5|NL7s!|0&;ii%`Si|sB= z!O~h2Hw>ImlMyxpc?c{v_n0SmH0d6_U648Q~(^L1sM#X?>+)Z-~$*x46L5 z3gxjcUDM4QyvswOr9GGbi4CQV{ipO76{tbqCx3IYZR z&xUAXBt`eHMkH*P3>})d-ii8H{RplT-KSu4cR%Eo5RcHRI&Uyh`S_Sy;3W+sGMkcu zy)GEY&tH@ZrR_I4$ME^CpAVB*JKfF3%7P1PX1i1vB6_@-8iTt`-U%V7tn@U3MalQh z=MHwxqZEj8P9GRf3eNQAap(NAGED9xOJ&s$XK^W)JY-9~rhzT>mltjpRZFskw1PP_ ziA6I3x1= zx~aW=XcFj)ofF^H-Kp`L^`gHvcIY}mB(}L53#RMik(4MaMZbc91vDGy8EfS6lj*C8 zEc4o0XsNzd!+ssMY2Y<&cI^^?GCaLwZ5am)blezLy|x+Z6mmC9rRBw|^=O5yw1fiY zlc%!uCgPXsecsdr-XNyYXQC4I6yz94;_z1~RB2jSIa;U0K zsz7=ngS&uZpv0kbvk}}KeJ3%?$iSd??c*2Z?!lS)Yw*^i!vhWV@Uo!|S#G4|uiu^! z(e-X-02UtzPZ|%gj^)eizA+aqb&D|$=ge2((Z!&%;JT+tGJTBL)(wsah^31fnC!r%3tf(6@VU2xS zKzP)clbEJLWNQ7(;^YZ+%I{h(PCIzE$xpw~NK_AedfQgIs%9}WCRaAP7PU=ng?(}K zn&Cc5ouMq(*c*=%M%n*#Nsu!15fL`mWF9?joKf)o_H`Rt(kFw;WlDUjJxOKomAH!c zY8LlC48IxY09X&@M}A_LHD`U*+8ea46Hlb#EX>DVd_Bg;`_WIF)*Xm>;$^$z_iFS< z$AiovmxW>j7}et8P_qe^4^ax{Ze(iR8x)plmmI{=VeZfz0j#MIx#RF$Q>#`^9rL0i zc44C&eafu!KVB`>`_x1eID2T!K;dmhO0DL^!Z=^XL8N%u8yz8X#y$}jfUstUxGj;V zAXSB(27V)CpVPdcvl3@(%D+eV!NKahPlz5 zB4>kz54!$=)_RSVwazr7n*FWXK-)ppjLnErOt8T@=eYBuzQ^TT`br$SD9-`ODkEDN z!rCNLTK}@1EIFaP%4Q7F5}9t(^**as8y&c{`zPf9hS)t?o$YcK(Pi&ZyS}RUmNK(2 zpjXnix~kvi;yN|dFIQ&X4YwMp0hSok=0$_$ZSE#_I#wk2kEPj2D_v!_cldZ0O?)Mr z9=Q3bEEg?C-pI6xzikeXtdbyUT0if&VZ>u39bNEErpirv$bIfZz`sRI=J;cLJl4ie zyY!Q5W%7=8p_pT%(m?+pi}&1Zl!JP@dCrH|7oeC5&waleZLwR6Q^eMr9#7C@JWmBk zD)`l_^G#Nx$I0R0gF~lJXQ9MnF0#YLGprjgxJO0`@$eNDo;P4bXWqcMk4k(d1$Hm0 z{HyD5}V@g+Gu=(Ht%k>XDxpU7ZSE-hJk)Lhw6&kDw3{wzeU*;u_&E-?E{^ zfvnVvwdmsrlt`Owc12<6w9TvX#_Es*?%UvIRNLxq&w+r=*ALng>-?5Orok7Y`G7hk z5#63F)u@v~3%%8Qo%S$c61U3|@8ap2>yWW~bzwvs`$ai(8g>MKl2Jn#E>fY{EZzLF zkSj8XTs!(Q+HH^Ff)k9-=B+R#3-@SU8g=!bg_v zdCtx*?5-mqub^PPS*nPIxq;o6DHcQh6B07w(uwIDN1rKDyZ7z2e!{)~33-Cpyf( zq&Pm_KtN1we{60)A92ng=hstyyR<#t_PC*uVE)O^a*C<3?RFaRm-M?G%`+@I(OziK zkhulRe2m;Ya}Px4ZbkEBk%rT?2c!bQ&Au}7jg`q8R&oW}_JvXcwa)dw`#(;x&T+VZ z;R)!uVFF71&c9AU%egP;Ape01s^W@U^YX9ph2E|`(1js%%xs~qu;AFfmX=Y@oIc3A z{EhjPF{@emdu!~2;I3iGe}%yIN9x=|$tx+5ZFVtm`?|hsFP~G+S5DW}VFW4;!9F8BnPcW- z>U?c{e0B%$I7rl8^GZmmV)~0rIuNwk{l0w>nQ%I^tLS za^b1l{P2VBPq!o``iT!N5ev%9oQGoD1S8Z$QH&Fpn9j6^(Du7}^ZujZ!Bdlc!+flw zj~~knaT?_a^kn?m+4v~oxj@hB6y1IGJ*Cm*@(CW+Hh&!?4TY$1%nV(xUDxn6BN~6i zB(b=D8>cWj>67;|xu+VJrmpq|A#7Yl) z#$Lz72X8+fev#KM#@&{Higb(uqd9j~cqJti<_2ctmbv=PFYo>a+Y-Q0QuaAiP03lWDlO5q11T#lGO7;uiZ_&blLdRw{o>F?Fv3zBZ-KrCD5-R^sT^D3{ft7ly2fr<&&zL`aDDPrna!x}Sj zP-xYR$em3ozP`bG-iBSZv8uWjv9baqf=3SF&1yx~yM2S}p@1v3(^2TwM=_h|xgR!I z^{ew)k#)mB@1V6Als*3|v=_!awt;b4Y3OrtQdVZBJuqt%E#4R7DPgW%(ve<8Hdm?1 zjs!8$h|PDh1D?uMUGZ_1$*pKwbG6Q$>!{-#*LaYuVfV?!EQ41uT>CFam2mp)kEw_E z#6rZqhAP^+;DEA<+#-blBPQ6Q;gbaWs*FeuMrW;p(31SdjH;VcLbbQM_BuDc9$XNW zH2bo7cHHyk(Z^$tGd_Hi?&bW$NAI5~a%adl7B#*W=;_hTRx zeZD;UzT@fvxHYRC4~dq2xZHo)xj8a2?b}H>oR!c~aCw3aq zn}bgM>*T%P(tmWYW`BQPWx^N?pKXIsL%uSdGq<-;u;&uz@ANh-$UuzvR*;{LOgt#q zG@@rk%jrf%HoLf~C0`%N7#4hB6>CMb7B@-H1-*fdGPg~oF%zZ4m%hKSX^R2fOL_z9 z-#i82MQ;U*uAPExiK;qAvfC|3`rG&%=Wh6`O@|^`;|V)q%6UGw8o&hPE@9?+BIU?J zS+%4#AJE5%pId!4!+@&JczUBMDP1n&-)D~9>9v|T5u=PdRrlW%g_a6*FD#y_&A(<` ztmG!Wvlh;X5&K|qkPkchGb58PKcBi>_f%?F-@rI?I7R*3JZZmp`V03V4c9O}hV^b? zLv@wpPf0&#^}BmVs?1=dYHR{Ox2W0prcP|+3np(~j}VijeJ-kP$I%34=DWSEFJvvq zN&^{&@ze^bwFyBk%e1knwZ!zpE!Fv)Xslk;sE-CEs+h|6b#G60!@ z-kP(XohEj8?vTM;rH#t?VDRM5I9LCR_2O1mCHC3{kG65V(lF|pQ9yd!Yws&iqxlSB zoKNLsUY$&M4Bs8})3G@G!q92q!%T~Vs?BKp#8v?MI_|6_Oo%RQnl`?m&M8Ys$27$; zCPm^lpsjxT3l?G$(7p%q`!=iUP#un?9^Gww1yJO1=iz6}0Edr@-_+?q1?SnOKN-n$ zd(_Vp^=rJ$;>1f$DgF2y_5YG|x^#&RcXt@r$zS4MqgPjf3MD-8H7=hhoa1ZcCG$d= zuX@R?wKH*Ce+e%c+uO*4mR}-eA-`2+j4N^<{m3h>_(df~-Vit@XOFnIqq7g2D^+oG|luk2bV$U5SeX%_o7 zdfAITA0q>FFiVk9?|gj`^;BCsA$eifqL3PFo!SQS3kD2hc;3vps~4sWwZ>eB6@b-6 zEx)4Jo@{!5Duo<%*}epigZqH!7Pw8L@ZBEr;gPB-!6yQgAzl+%P*{>+ zS^P2m)pGgOu{G?=NYlUoZMOX25{l(@j$R$Kw_XBoq_~7-7I_o)!IvY2YLNX!F=RK{ zL1%t!oIEr*U}Bcl<;-`gq<;Fwb@QwX79Q#kP0ho#?@0htcpfylD6~_`iAP#xo&nRr z$g2bR@TG$aZw3Dq*Dk#_GOhS{k%^v)5%+~>hQsEO4 zMk#pfR4SjZ%%W##3rdy9bG{&ehTG?1M({h?fp#P;$9JkS_(PkA@5jaQ#@BCXn@BUI zeFsW|Fy(m0q>l0B3Y$PI51@w4HSa}H@B9m0GxamvqUWr(SIeenySb`gh^Dr-w(X?3 zB^n$5zV)GHbZ@=3%vbr#m%f2vQgwA%m7KC~$T7TY7-}BSoT+#Yt8V8rL<@5CWQO_hK>t89 zd+M9p0Cfj(0Ki~z6aOdYM>zf&oRAr}u4Xi}4S^N{5R2IkNmWqqIVPs3H*Q#@QkQN$ z%W5|g9<4UgzdeQdc1}RKU9YbErfKzd9Cqqxw4|ed`E1Qg$8|K7H3h8|rW6pOVkW=A zj`IoLx3Y=tih08MreEqwjZ%&nUTcn(*J|W(o|&j_!nA@Q_O;EO1(aiL`1OV)+Zbm) zjmIbdVL)#t?sP4?@_-tfLifTvHhio{_!KIC(^o=Y7c4lp8#w%Nr!KarhNt>&V*^|`@^J@d-z?F1Lm~}O}Xu#)c7CiryT2|zlqQ^!Z zBZ;kF2OC*20VbUSdkWyqMEHj=Tb5&h)qk_j|i|%Oz%B z&u<^QT1OW$rw)0#SO%QWUE(cCq70o9fc)OWr;?<+#y;IE+ccd!v2)aLrl?h1aCCLc zUAk4P(?Govuk&P6L9vq!XJW}6$Mq~ZpnCBfMy#ZEK8o#;QF@=z--WvL`np}A$ogdW z#AKo0G$Ni@3v#II))$JgyGYpH&l;q?RbG27;CxSl>k|_zl}4PFD?<=+kBdkyD~r}h zYBS~F(@0@^oAvHUuhQ`>iCnkzK9jtS0@_<(Ooz>{F!OuKoy|C<#~Z+YF%=Y%`G*D7(*Vx-u%C7tf?|*-1fkQ!P%K&>YK(90^N%r3Wn-FK&=IwdtFE%>JQcz z-%PxDrY+&Q{SD9hFOZSC-IppzzV>SNMz^n&T-(Txpubk^-&&m&>({i>K)7j|mHve~ zDH_*w6b-b`vo#~k*0*W4xh{l@IVY7Z^tIl<+8xV?lew*cIM~tGCREot55#%*KIt=V z@Yz-nI4x1P6?4;n_zG%g+oFeiLOEdLbzitemN=;Gvh)06h$40Qd<^OH?nhM(BVjGI zMOs~sN`Z4+Y1D6$!4FgC51Yw-vjG5!WF^twgq0g=x78%V0iNnD>FMd5f1kSeU;NF^ z*K+3HLD|Nj%9+`pc6EjQRwI<-vcsfmOZ&YHM$hyy%R_e!Ck|Z??_<~LUmt)t`Cb5v zC+CJMu72PHbX|G)#kN8wc=2O;?r~C*so#941$Q8~0EIvIu;oorQ?|P%u4?jQ`s<@s zT{rP7Swb30)O>#Z*q)V9LaMZnOdSXRF}*Mf6`nGZ-%x&%wrDwZ6`o`}-2c#~EzMCee$FIyfq|8c_W9xGL&HA?^rL_eRp3 zE84oY%M9PCdkK}|6Hlw`36y{<)U0;r`DCZd+rD^5+{-`uM)}dNWZ;t!`L@4c=U#Z! zr?Y3C{d8e}2+A_xe73LHKQ)Rk5fa1Ycy{LrH%Rp6#TKCZ+7|ICw1iTjS3R+P-4?$~ zJ~HbV=~=ZdCdoDhS|rLtJgZ7MAGO5LbsZ^ zU6-9$c+wf#i?k7Z1k{cIev+`2@m$*VR*~CW`M4omqIiU;xzonKqfuosUuWe1tZH5R zX|v4nHVhSY{q=mVrcGqFc?61# zUKjl2@;$}H3cWGFS1!?$9m{lv-^LEuBkdPfJFk2BE%24_xbf4xEVi`$rS02#TZ{3) zeW=w{b~o|!X|hg9YAwjaF10Ffoqoai0hT;W^b|~;&F@u__ujn^NNx%|u(Ddh;-g+} zDOE(l--oTe3TW56+!xl2$S}Di7d80RfW)p>II`Su&|<*N9XQJlkz!`=e<;`XDqAze zd+t0_`mK?j14QEFVfCjnDb<$PI=O}KN<;Jmm7nXfR%L-<|7F<+LoRwL&n9eZN|X8c zALxHdnu}}NkvMq^klwy}`9`_DHt%4w`}Ey1xu)QuL`$Uc94E7ptp-bGUYjOd{90=B;^yGy z_3P^&Y;TJCDjxqo`gre20~MvDV@YcAcWeHAO@DIb{A2Svi=8hUT?#wI+Gflb?=4sJ9jGUp6c4XGvJ^NzCjcjfndNbqlrRA$C=jEv8ecojjd^(XIwDS@) zqAJ^9y{oh1cAufQ@$^pf5~JmPhq#2dZLOJnbw`Z2ko>etobIXmh;r2D@GuGu^jYjO3)#W`778+#TnRZ-f$ZlXkF-|aiMpC6n2TmHZM z{+KPTM=j0Wj89JOlj+{Gw(Ldz4(a@wADbs;=#=L6PrkR{IKLJ1ceQu-WcYe#94h&= zw?1>`w1O|9_b$B7`Wtr&{) z0vEO33=Fa>Joh?EBDw7R)>S6{Dn~Y%hJEImyW7FdJ%86->u-}jY%0y(_OUH5{i$rJ z`9HpN!TLX`lWha!{@uHC&3psWSZr)Bsb~( z2WFhTym!|$<^4W>Jx8Tx3f%gB!dL2C`$jEb;owrsSu|_j%8~`FQ-h z@WdB;?!K$7hzze6m-S*>UmSU@O=99si`$Xei+is%$}icy>v#T+rCalv%b$FFKHqNR z^QFH^e&2e#eeJDHhYN-0skbV}{Wx>H_;T_cp*9cAvmGklyl(gH{vWZ`ne^hv;_Hj1 zb)4Os{glT9$dAy`TN;{oB92 z-~CLw`|`z;wPt8R5Hxv-3)d5Zup9_NcVNH*bniNJ6#Tmo&-0af@?(r8kz!G37;G$! zlfcGsY^Vr=VsC`IcTa9K#=Z;A$nINNpUH6~txwJlNY2{HWv8F8+tL`#s@oG2KN+`l zds#@iU9y9M_mAAU%o{@0`~?K;;!*~CJyc+j-!!djQUUwUmAmIMI_Gs;I>&SQb<-8G zrW^IoFJ8c!L4H9|@SE`lC4Y`L(P8rOTEbM%dfs8f`Qz0mq- z@-WkG-3e9mNoRU8&-=D^%&*-1uKTLv8&rbjs^qm1`pFQ4G705y+?Q}TpCSTr6c%l* zUD_C^o4V(pC7x2xnN5V`9qtnA9m$*YXKLAG1xlChn6_mJcFEEa?HZlhJnf`DCnkyc zHu3VgbMt013)33yh7x|6vO0R|0r)L+38Wo9p^`v=w9ngNC)mk znm%(nd+?n2#OULT@Z7BQlbMaP4%4%Y?r*C5ePP>Ux3z-ZX->XBPup2GqTg%8w~?I+ z9{8RSOa7R+rZLm2{oV7dfJK4sTW4IN?Smj~?@&MhUpH5lKpbw#7m9;m%h+%U!VqY| zqF4!EuojjY2f@Li5p3d6bsf<-RLCZ-v~i=jNjPvws7rh#>=nP9Cx~AwuoDs&E!0{N z%K`?%VJY7@HasjMiWSQyD($kscVyX$XslF`u4NN_-Q0~i;z-z-Zb`SKkey;fqp8G& zTE+_^g(8+G*LlJOcw!Snq*4jX$|@!%#xjOxDUJ-bvbM9cv!YO~s8ll0AVuRHE}Mv)&k~9Sp+c7OE0Zta(}Qf8WLvropG>DxU@~81Ye%-Vv8Ga) z%ph9v^C>^Hi*uIh1S*r z*!n9IDNa9_eEQY|T8R@}q*QW4kyY9KU1D2|ExBI1RH z!(LK8f~PgZmSID+qca({R0h+I_C?7Dj*J3aM66mw2|^LUND|?m(VD1ew=b?yr#V1b>mOtk71$8Vlp;XmIaG17!M(e9}NqY zega$LB0&g0A{Yk!V}h`s)32b1lBn091gP>|4?Aqs-| zBKTYDQDTuah93z#1OpraR)C;Ntc>SQr0TnG^GGR2wq0(|;fGr||t7uD{{>QwaPi<-ghW zH(Y-Tfj_1EH@p7V;L`eXSA-+LfENR9f+NfQ{J<>|9kgsQ7y6j?V{09F(v-NYih`g? zI>;XiDk#(kiyG1;ZcZAHP^wsctA|~ZW(d-+Ucz=UTkf9)e~l~Li+N;#%DKU74zn|BVo zE%?@r8dkL&D#&js#fI(bb$S0HmWW!-E4@wz2ZxnUo*V`q;`9eUu4 z!sIiPm&p+MPr%?ls{5?&3iYq{i!f_eil^i4X@-0A50qs_rS7E}=Avr-9PMdWTY1i* zeOX(Iw)8&jLS4cJUc+uXdn`mD$8@&O?lo#_yA-IKSO%WLDL!)QsDrP%{R#~V2kLtU zY#$L}=1+&9kbDAQ3u)u3q~P0+MRE)!M(1iPL~9x?vuXLr_DSf6xe%RJk3AP9_B+05 zWmA_Y9&gV85vm^_*@)@cPS%EG20^ooQhm4Q=2S9^^RwzmPOz!o^+VS*6jRo`8au>k z9G!;0Ig3ua>k89Tgn^~&dhN) z2%MB?<+Ud5?QA2*6Dp7~d5AFEIpx)+OHbzO@WZ*P2yPUP`>DEPf)t|=G-Ui7%YPa^ z(|C$%A}) z%rYoM1pP=$$-dH?Qkx-pgdU}m1Zux7;B;24{kXfr5gNE(inR;I{AR-qiI{CPDB`ID z(6)2ezKJ7|Kyn8+%ver7yZEKvo>hZ8uU4DS0qio&Tu5Qukov`LCHyGMgJ-NE@lqzJL zyk$;jWF}w+O?7=u3Ix?-9W1Pf5ClNKv<3WX+KM~*jEF|W5R(7tiFulzA6EQ=LxIJl ze|)nz@o?=O1vESn^1~~#H!u}^(Z0R-HABxw7m{_wO#%HY5255|X)CU4jNz>^t_s*Y zzPlc)R6N)p;5iu_23(m~`F1Pf-5<+RSI#?kx}g9KQ5Zx2avriNsRDSHM=0&zMMZsm zwA}x-BanzNim~zk$azh>C!$h}@y!r$z~ah<^ji+TDdGDK(vzdZ-04kYgpp`k$Mg;uwsk}A%E1DX>6fW@0vw8Y$XQhF1w zPjoaj5UI#XC8Wc$-iC)9uFISVxFn-AgH(LXHPJRF>tkF}`r7>cL`8|#04Ws{TqHc3 zn-0_!vfT~WIow~(o=&Lm(yZ*6^n(ap9T z8NSz-v_{37ap(_)?j?}u%mn{m?QRng*G zA&o_rXXkf!uGb63UOjNQu^__KSOGF0A>j5Dh4fk=lMAG#NF=gKCoQ_i*$t%`yn-X6B|&S#I0->$xHHHB@FT#BwAt4SN+ zXZwC{H^VCA#ZEu2w+{%TFus0Fq{_Lu9o7RRdO=+}oZykMVtxPmt=@QV4>by>zN_3Q zdU^~h_3W_>5_I)h(Ib30s7g>pnbkW+Ok7K}lm$iMP)vyF zm)tWMUoV>Np@!Im`XVw)(RqXy@fI>if&!3U(vw`8REid1qzT+>clY^#T{B~L`&ZiY z*lb`wZ5CjeR*2aPvwJ!odfr@b9_prQb5U%DLYch~bLP|iUOXo~AhTa|F3$WX7ey(M zp$F!+&A-g$Ie7z_{jznvnr47}2=E13cJ1>kb-g{DfTY7m()-(fKwE^FZ4F(){&5LY zNmeCVhKp^Q^gv<#dq1|IP5j_kz;lLiAOl4%=Eq$-*X=VW>8c~)nO{jix{Yk^MH2kH zmIyH6vbL!mf3SZk92Voo<)N~G`a;_xU(mFT50_}Mwk;Q~uXy0B=`$BwATLF;w)qId z2kn0IG+5)WgZH*K0oJnI%vX~HR}pIiz*_5O6bn)VL)dliFW%IirJm9M5G5tjQaa-{@SG1XSQKa;pGZsTSOw)&LIWka z&>*K3XX|I{1cSnP5kyn%To3ilZN{R`X5T4xy$;!%Q#qKPv89K$6jPBl=js8;PRyjK z(uS?%F>{Mu_SoQ$Km*O}H^)`)oPIDvHwOjfWxc`;9SffV?I;<_E|@ z1I-@dR2+Fdw&E`Lke;VLS5M~L%aQzZ?(OCRR#|2PASC_S?4*6c=_g)epa0k|*Vald zz3y!DE?2!HePHt|TwZ`Ikr7dK6_C>9sOiU#$L3Zn++U)Vt?`)ewtcuV<`~|~AR%A^ zyM=d2hqtgkRffr%A z+Zy*#<)lEX_;{M?0A{xzk3Cqw^)j|jTcb6VzNK?xM&A98awx+9w0Hv_oF zNuhT9iRn^!a6LjXgpu6QBIe=DtZdM%0mE`4#kJ2O7Ass=_kTZS+sku5xV83j0JM7EIhVO$g6jU+){6Po2G8{dm2-NTczt2{!OpXAMBqWlqN$u(|ZeQPQV6@Hf1L{$O~)+;I*M^%P3-BibY za%o7wY@F1=#d-78ecWpKbD#%%K$ zHe*F87RW&gka3p&t~-;+ zqXX!8-s%VMz6F!a_;@dK6L{;MSCnSHl(n3Uzx$zL{oT+hX-_7LLx?j{5M)A#!aHwq zLyY0Z!v3FqA!uvQ`G2ml^W7P_=HPIsW_@vO&(u>%`p9t;K zEy-vJOf6owDWDm{0qEriW1_^}`Xg*^9A73tKtM&*rH1y;uy? zx3}T8ua!g1M&Mv5+|c$Yr@G^%z0PF~Bx+|Jg2AGTFS;(gG($_?n1IvrO$>ebYGNYL zP?^x!wdGyn>%M4qr}i6JMw}#Pq)(_F?whRFa9`td&I@l;h$rLw-o?D$GETf@5sepY zII>BATNBJnG8`=-Jhp(eg zEdDTc_(Ke%lbxw^4Yx7}RoG(~ZMRkvvR9wJtfF5ZjK?C(qgYMlDDLCWMW%$}g6VjK z4k7*HQzPI8t;up?c3u5tb`{C}UVk2BMRNAUsQcA)iwyAf*vpfUCa)a415-OUTm8Y5 zZcVKFay0;x_*VnGHTmOqyNPLe+@5lzN1OsIP!2N6N%~)8Tx~wMYk-T$5no{MUp3V4 zExR_(c%?{Ya7UVW#sa}Y8SL&2hi4%6zrKe2(e#c4jUaHaUqc*SU_5Ug1nqb>Tj_sc z>wI7fxd3H>|7QIr&u^MxmQ8}{ch;nVGgiN@*kFXfO|d}k6|!jyEpDZc!%hLKvOVyP zjoHc=ZEBJMcy7CF=f9_W$xWx0P)YkJXGz7U^ofP*J-;JFnR8)XXBgVJ`OS&LVei^? zTup^lDW#d92^AlfwBhjE)8(1@xEv4t9MlWlHUpxg?Y6B19mEV(mff%fTmj6dQiYC= zd@#L0lQ(;%%C|1(3R{7R24G^3oc*L!jM^>6PZ%E%AFAS|zJmRHTcTmy0ee%*Nc z-JJ(2l~wN<9ZkUsk_r$v37X!QHBv?%`H0}x^9`LG2mK)Jd#|WPV3ha#z>EXCBs@>KISGXP zyxeiYv85yEq)iV@!}uV7&_=yQr%et{rG_|yRPogFz?C660Yd!1yaFv46it2F2C7P6 zYW?0RozGY`Gl(5bYRFu#G78QELwmew(~Q#08l-~i;aNH0UJ+lbSN}%( z3z}qNjcE3)A+#T(?hb%KHqWwUV-oNDjy;^rT78gEfac?zH`)b&GepY2xu9pv{-PQM1nLdC^%N3a76|XPM@&I-#<9;BIEJ|Aj~MyG&`D-{M5_JI z_OQEweewy_Ji_3v+j|1wcfT!I1f8uma11<(6d3fT`T>Ijor%w%23`%9Ceu>hJHGZp zK@r?s(6-|ZNGipr_+YBAhWavToIvncu z!fb9)l4R&c^{GmM&{5gKU&Oq>d8gBQ>RzNbL*?8X)%}$)AP_j{g?oLD%O>E}#mszl zWuxrqeHmjRY?mjsw0h*LHfN4%R!x041YYJbm#&sLrB{EX9{opf&Z?HFw>~Z_ZC#QR m=l?2=t-}Iu_WxU-%z;IW>{MVcOHdUFpiZDU-7d`Cd2PY<6#p z69q{gRUFx;h2!2RD+o#$R_c;Ad>5nJIrI!FF2B4yHn-=yokI&urmwijv-v?hY`A@N z9p_>0@YTzQbmq*SxM^GP1am8g2xI<-X?gNL-)}k+tt)m-fzgW0(&=Q-`!lC;{##96W`#67+z7lJTmTu;v+Ur*1^%K?ix zSh(k`--U>&nTOiXo6+Y_dbp>lH3vz2rSF;bU7&e*;SGyRk&`_o%Nwu*UJmjMQ=wtb z_-p5W;3p7wjhpo3LBh4sqJfP3!fo6$LS60(qvHZf!>n~33*y6VTM_;Ald6pwq8%@-)nK*f^Otzs{Na;tNUsTpj)$R zXI?*<+SPsY{n+VD!qK8PPiCHn9&`sW``fa%0H;Xdg3S*P44|{(?khJ-E5%#yqPH%b~jr|4I~C8c(OTMpVUNlNb1s1R%#5(1vXo> zaJ-w44iv<(`Akz`Tr4k%E_653=%s_-XtRTvsYZk!<8Brn7-Z@hpU5_)*i-C@c8i7F z6q4D(@uqHxFhXDM<^4$ocyc%6@c9XJ2M2*bU@sus$0tTPIJ&sFI1ot=B$6GFuuIy& z<1>YJyd-l}#YY`p>?BqqH-XQM=b559nUV3ye0MW5&~N(LzPNiE@^OMC-^{vLrs5XFs4(2N3LeLtwL47Ko!}MN~A>6BJCn09cjQC*cnwtw2O3faYh_r zHaikwX;i^1x_5kH920COH;x&_c1YkwX*y8A=^jD8?q($WkF#o8f?}C`1PlN%z~#a5 zf~0?hL%DJ65Iz&d(~;&xb0U&xjuaY==ty?@M`#5*F$wr0s@0KbPj=Sypc_L6%K^|b zQBMU5H0@wDbk9UKlOLZL8Xq6)Zibp*ijMrdI}ijE%;Yn@n0z)+N+dbaiH>w4HPq3G zPNC8rDGP|sbmABC@h}(J@IOhT;bZFdanpUcNnrjBnx>C26~bQs@#*7ZELRgurly*( zpfgz?mypCvVZ$0bfv%5TEDnaHPRZS|k&=63iyqQCw)SolB&n zvmKcTGo4{7jZCAlzt)}Kb!%m{x-?K z!uK0o-{AUJ2>dJIZ{GC{u78EVzY_lDUH@xvjsK^ZV)H--Bmkw7i8<{ZD6_O8{g-$_ zAF_6<&Vwht1fNw&5Hw*5`WFMq4jO~TaeUvv#p9l1bad?|)l%Z}A;@I6ua`%t@b1g5 zdx;BZlXQYkUH$Oks>(CXJs<9xF;OeV{V-xB4T({wQK$ZVWUL z!T9v8I)A;a(WX~$K$~V*t~dgnh;jLJ;Vp*eK8<=M<)DG3IYFtJg_ZKMMtAjB1GGUO zLse9m@3907usN9Wg;|oVHBQ@i^=LQwC@R4+8|b@pV3BFTY03Ks)HJ0~2>!g70se8g zcEMj!9dZfL%R3J55yP=FmN^hCGJx?OPT$i;hx`=_JV|#BfF=1Tz(Y@n0_lmK?;~&5 z@=;8vhQM-C#CBM?_X(-SUir%4{QgxWzg2q|lX9dv$^c82PWP&UxXPbQrGEaV1b@gf z+S}3D8ZSR9qv(%xjc*rZYT01J!@OFd5gCt>Q`6!wN7(Ai(h1N;;zHxqc_%O0Zbp`uwbc;bQ7_``%JlE3CTe+ujR7j*!C=t5SqQZt9e(rUpJ_*iKcx9y2)b-ATJW_%ebvYrRb~ z<>=wd7u_%JAAEU&uud=P_JxOsRZ(S9qlzV@tY*iB(=T0t?e^PJSy|4=L5gIel-TKVeTMaOCh(WS8C$Au_x_`yToBX}0v{J3&q&#vYFXiSC zoCjX=>4lkB)OY20e zbE4r%Pui|{1RAB1yHqOt{@SeK8(WW7Doi*X>m)Nv4l9eLTUqiR*WXX_tO(8cn8A%U zf&Eko!DNyClc`!0Q=aWh9YBHsl8x6&rH@JE3-SGP%g7C`{i4U?E}r1YrAPebV=?Jj z-sAznkWSBm2f~62*Eo-A_ljj6B)xiR$7~9@R0^l8v1`VU1MbpQxtw%da1$>nr!>s$ zYE={v@;)MfTBFznjBx>-CHN%17MKOQw$x=-RO>l(c!UY;*D3?}(? zjNdb#pax4hA8T`a?wUBAbVQ&mBiz{#^R~*btud$k6m0%ztp6l6>6$7bXTbC68lAnZ zp*KP35Wy<0E;M%?WWXU&^#$U)Yv-r7u)B^OB_hyx$X zx1=haU&i`_uumpgd0|Bn4bB4s%j#EP@;7JjYbz0w%qFN*x;V`|5`<^Qo>n}W{4Tz2 z_8*Jt;Gdnsl)?>j){-2T^_!LS?e$k&UEn0+B7srJYj(()32wFU&&OqO14G|ldH_LE z2Hti`2DNr2lhswvRQTH?T{Spg-`>`+nG$ZQ!rz+&qN!aRq0OR936QaH$NTS=^JWW@ zC64uiEe9q@CjQfWD%Nmm{~PBLswK{6{xQ*72Wua&})sTE)-Y*8&B+MDHpA1umV z)$^vtKeJtL9_u;oNAd^^BcWW^szQ6s30(oiSE^fu&u^_?X(26>({)PGR&{{dN4}OQ z*#KY4glCwL6E+PkW%t!C$PHMttS~*8T#~EGIr9{$lfuBry#d=Jx(CKwufI31R_#1z zuY}_&BuaM>Y9v`lh*H-oM(v~E$P0XtQxTl&ywc4fzg)#kF%uz~QmL(zKVuhGKO#=< zSsXwn%cN57b$4xV0W`%7LXaH~=V+C>LeTnnK{kRQbxHajS#6UTWGr9_7vSC4{q-UQ z*ZtByhme?{kAc9rc)?cd{<*|DtZ^4cjHG{hfPgZTutb)x508J9GTpjKGYLc_drloO z81B9`yF~>xbm@>jY7qtT!gM@i`sacd*WIM9K;sdEr{z%JD_^4s3Uc0qOikcWnp)rWjmu*Pi`a*ARkKsz=?QMZpN&M=Sy78j!NRxH}XJ?Ml+$ z+B!SJXyJF-jVjgKPEYhD8T{p~DQ(PTMiN*S1bMATZ=xTv0)V-|l+P`nIzHXJ{xGj@ zDcFd9VKDviKW^d58f~cY#+Ngo^R;B2AYuE4PSjz68GmScfA4=-R{&6K2?3L$djJ%E zyy-r!tZ0#K)P4IZWCvqs>sqiA`Mqer=);+QWQzu{c!A5CorLt-EXFb&sF8!y*d8-z zXa=1mjTnG!nfB1!tC5o#5q@x^uDBnJl}f>6P=w>caxJh2(}2QKS5fP1ROYh>L?Bk^ zio&y(RiIm(d?u^$>7)q$IHGKDgGx8E@Jv?m?Wf1fwY&u)N-3d50%U;?%=+zEMFdCr z$)QB8_$G9BG~V_3q03tkXhfW=1&ruH9mHs!7dinIOu!v?(oBslI6b4T>M=oOpvIS5ooNPl2_PT%A9x$!3{hvsTUAV_fk+^5cU*!HK0 zl^272K_wp3dGm7EuKMA;vUM1ll$Vm$o$f&kA+4wO9B5VBPI<(ua6dly=Y$p&r5bx7 zAHT1lV^_~gQVyWN86Jae$6Ez@$#|dJYQ?S(Ze6x7&sZ9Z5kIS1Si7`fmFeZXp#@`J zrA3&Ix(?xE6F}DPH5M7I0m_T}#Ss*8AJ(NHy8ef%!(7H`z~ndkksN{;iSDhH8H#yG zvMDR%Hq)9&MgE;q71B z2Zs+8Cqa6^#J9^@)Bz{cJ;)(s1nIKP9Pn&uSWtU}e~_`0=M=_oiaM136O%mUoOBhf zuliW=dY19BvGad|;BQj}oX8=pt9_PSon{GuQ>{~v%;nsl-dP`0UMx-Caxa6GIqS^m zT5aC~DNErv6b`U{vP-cmoqT+NIDN>0}Ez0aX9(fe-TC%>JNu;S{y{ykwZwic4-rh zCLmi*xu=>%MtY;puF`t_yIJqb>$6td1QkmOn?>8}JKUZj3rxT^*aP~Te$92?u|-d-8cX6Ip3~o%+QB~eUf-Ksr0;Ft321FieC5&6 z%>;eMEuMV;7`u1Xj33yi#~Z6}P59IwU3q?->7fG{qq+`?*}Bx*mFkRE@so`8s#o(y z3=-~d9amhik8=NhyQ;KQ3nXDdg&TEinHC3oJ&V0)L*@<2Hwn|lNX#J+4!oW@TK!L} zpu4L&j%@g_Z-8ZWIqEfRIQ%npOlpQEy!PE2qXmY0Ihx{0ue7 zM((cxtUMeFcn7eKXvvuzOrs;V@ho6I(Z~jn$c8aU8XCrVozR2OmjSm%W z)woSJWu7&`VhSLVr}Lm0bt`p>rH0_4I~;RF3|B!;Vk1;B z#Xq7YPh!y8R2Dr4Je1aiCJwR!M+wWuwy13=WTi+_9z;SA+lictySU;4yBlhG1VcHs zOjhGE2w25tOx<=x|mwh=V~)^3N_>$nxQFyr-pb_vR9cV$3&GNAm;;>Wg}E9 z)l)dKHgVS0{$&*{j|F8aQG(%nC^vlMq*&hlO^Z4YRY zNz*}n45?Lb9HjkK+4<31O5l$fB2c>D7bs;1{pw^LEf3d}z8FgNX0@uGu(`t)Bhpi$ z%Ymf`qO&Ie>7N_>eGnO(zchw_hvq=* zpiKqRX)zNaHD2ijXp}R&PkeZnDFFiIw;dSpJQ*3k{ZQxIsAB}>n(=TBt3V3>Y=wP_SRzQ% zt8t*1Jy_$T5aA#+5vf%5$x|ARejm@a7)o+cj4VFoJpU@&2RADT2#4#(+$h*RIWD9< zAX}Cja0~STyfFlr(HZ&e&BAT7CxCRb3$LN7kBQ^<+T>rsDl9;LI#3R=Z3$pEZA>+} zRim*PL6Z}f8kP|(up$;tlL_6OUPg$W4pI0hoo!n?L6m7vfNH`~6b`09YC3r zw68TJZdtn+EP50y`m;}SgX&V|Mav_;a=)rVbHqlx;r>njAt&&-F`v7Q^H z8)j=ZiDj`EC7=i?!!xeaAr;A|_Q#77|?90uo2 z#qb`qTq`d30c59|PdK3(VqF)eH3{DbfwBJOzd(|~-)tcX<`;3qWtF=&IEfouNm3YK z&A=PF7^D)C4Wf;@EkS;ETVdO+uyrmtDA8kBhU`a+8`JbIJwKchEw1h=&Ao3d1^_`s z8RiT~8fT42Fc5J+N->{K;EWac9TMM86`$PVY!R|=qi*-9O!}XpN@o$K84oCs*FU$B zIS(A%1t6MojX~dRi!BDU3>jQ#{tjqcdX(l5xw$uvw)l}c_o;kpeD?(OTFIqbhYm^7 zOtgfXmr@-4Gw)@9w+LQFuqLb?+N9f^eDwF=&bR)^nNY-*z<*>R=- zeDuUs89@O#OKw0S&;r~IwOBvls2*D6&jHn{HNVFBr7aeMlmLqe!EtY>5L@(2 znkJ4M6nWBBgoL}?S)V}=N!GvjSKNSJ7CZ-gkHX@k5dJ6$Mzgu9iBBu)ya#%g0&76v zU{NKf=-st#6bp0d?P z41|m+_G%bqwGba$9{9|y$tdIp^fxJgkoyIH8>C7NtJD) zkg4YAr<8BkR|tp_dT!i5u-3%Q9i;EUqhzdy)o}Hng2~zB5gem8B8x zzyA>qkKdh;!nU2XGFtK1Ye8_8ZVo|IeEK;nw<<~uAAAqcMt9H}fSw1woB%Tzc`x~i zN2L2<@Z0**2q#1p`m*wS$!6~_DE!I!b#<~rKK6pYpI1kK|5!cfJ zW}DUOFAwwaBcVP9JQwxHpp(*oUEMW%@m5~{_~^|*IW^&~FK$YS1T8Fs0DQVJ^MH%? zYiH;MtI^@sz(u{Nc^#WDvjmc+9l%FPemKLGk^h&4gU_LM#pS+(by7sf8L|Zd-0t#%L;<90?ET0s{zd4 guK#}sh>SmA?v%JZ_BP<%MXmQ;ywvOXcM<9T1)fy9L;wH) literal 0 HcmV?d00001 diff --git a/assets/island/technology/technology_chart_4.png b/assets/island/technology/technology_chart_4.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd8790f60636fb39cc42f4ee64a172a5b4ff6ff GIT binary patch literal 9849 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 gHmd$#Yu)~tyP~7EfB3KVZBne3^c?disU DETECTION_AREA_MASK[1] + BUTTON_AREA[1] + and LEFT_STRIP + tech_pos_x_in_view >= DETECTION_AREA_MASK[0] + )): + tech_button = crop(self.device.image, area=area_offset(BUTTON_AREA, (LEFT_STRIP + tech_pos_x_in_view, tech_pos_y))) + luma = rgb2luma(tech_button) + color = np.mean(luma.flatten()) + if color > 160: + all_technology[index]['active'] = True + self._island_technology_swipe(forward=True) + self.device.click_record_remove('DRAG') + return {index: info['active'] for index, info in all_technology.items()} + + def get_technology_status(self, dump_key=None): + self.ui_ensure(page_island_technology) + result = self.scan_all() + if dump_key is not None: + value = safe_dump(result) + self.config.cross_set(keys=dump_key, value=value) + return result + + From 51d7af7ac349f285fce76105c6904636cc166fc0 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Wed, 27 May 2026 02:39:17 +0800 Subject: [PATCH 9/9] Add: island production planner --- alas.py | 4 + config/template.json | 53 + module/config/argument/args.json | 256 +++++ module/config/argument/argument.yaml | 50 + module/config/argument/menu.json | 5 +- module/config/argument/task.yaml | 8 + module/config/config_generated.py | 22 + module/config/i18n/en-US.json | 154 +++ module/config/i18n/ja-JP.json | 154 +++ module/config/i18n/zh-CN.json | 154 +++ module/config/i18n/zh-TW.json | 154 +++ module/island_handler/production_planner.py | 1012 +++++++++++++++++++ module/submodule/utils.py | 1 + 13 files changed, 2026 insertions(+), 1 deletion(-) create mode 100644 module/island_handler/production_planner.py diff --git a/alas.py b/alas.py index 2755b1b3b4..a4648e76d1 100644 --- a/alas.py +++ b/alas.py @@ -427,6 +427,10 @@ def event_story(self): from module.eventstory.eventstory import EventStory EventStory(config=self.config, device=self.device, task="EventStory").run() + def island_production_planner(self): + from module.island_handler.production_planner import IslandProductionPlanner + IslandProductionPlanner(config=self.config).run() + def azur_lane_uncensored(self): from module.daemon.uncensored import AzurLaneUncensored AzurLaneUncensored(config=self.config, device=self.device, task="AzurLaneUncensored").run() diff --git a/config/template.json b/config/template.json index 3837db2d01..0acdafd5cc 100644 --- a/config/template.json +++ b/config/template.json @@ -1907,6 +1907,23 @@ "Storage": {} } }, + "IslandProduction": { + "Scheduler": { + "Enable": false, + "NextRun": "2020-01-01 00:00:00", + "Command": "IslandProduction", + "SuccessInterval": 0, + "FailureInterval": 120, + "ServerUpdate": "00:00" + }, + "IslandProduction": { + "MinStockItems": null, + "AccumulatingItems": null + }, + "Storage": { + "Storage": {} + } + }, "IslandFreebie": { "Scheduler": { "Enable": false, @@ -1936,6 +1953,31 @@ "Storage": {} } }, + "IslandRestaurant": { + "Scheduler": { + "Enable": false, + "NextRun": "2020-01-01 00:00:00", + "Command": "IslandRestaurant", + "SuccessInterval": 0, + "FailureInterval": 120, + "ServerUpdate": "00:00" + }, + "IslandRestaurant": { + "KoiGrade": "bronze", + "KoiWaitress": "any", + "BearGrade": "bronze", + "BearWaitress": "any", + "EateryGrade": "bronze", + "EateryWaitress": "any", + "GrillGrade": "bronze", + "GrillWaitress": "any", + "CafeGrade": "bronze", + "CafeWaitress": "any" + }, + "Storage": { + "Storage": {} + } + }, "Daemon": { "Daemon": { "EnterMap": true @@ -1961,6 +2003,17 @@ "Storage": {} } }, + "IslandProductionPlanner": { + "IslandProductionPlanner": { + "DailyProfitLowerLimit": 50000, + "FieldsEfficiency": 0, + "OrchardEfficiency": 0, + "NurseryEfficiency": 0 + }, + "Storage": { + "Storage": {} + } + }, "Benchmark": { "Benchmark": { "DeviceType": "emulator", diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 4d5ac6c5db..a81e857c41 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -9293,6 +9293,61 @@ } } }, + "IslandProduction": { + "Scheduler": { + "Enable": { + "type": "checkbox", + "value": false, + "option": [ + true, + false + ] + }, + "NextRun": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime" + }, + "Command": { + "type": "input", + "value": "IslandProduction", + "display": "hide" + }, + "SuccessInterval": { + "type": "input", + "value": 0, + "display": "hide" + }, + "FailureInterval": { + "type": "input", + "value": 120, + "display": "hide" + }, + "ServerUpdate": { + "type": "input", + "value": "00:00", + "display": "hide" + } + }, + "IslandProduction": { + "MinStockItems": { + "type": "textarea", + "value": "" + }, + "AccumulatingItems": { + "type": "textarea", + "value": "" + } + }, + "Storage": { + "Storage": { + "type": "storage", + "value": {}, + "valuetype": "ignore", + "display": "disabled" + } + } + }, "IslandFreebie": { "Scheduler": { "Enable": { @@ -9389,6 +9444,164 @@ } } }, + "IslandRestaurant": { + "Scheduler": { + "Enable": { + "type": "checkbox", + "value": false, + "option": [ + true, + false + ] + }, + "NextRun": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime" + }, + "Command": { + "type": "input", + "value": "IslandRestaurant", + "display": "hide" + }, + "SuccessInterval": { + "type": "input", + "value": 0, + "display": "hide" + }, + "FailureInterval": { + "type": "input", + "value": 120, + "display": "hide" + }, + "ServerUpdate": { + "type": "input", + "value": "00:00", + "display": "hide" + } + }, + "IslandRestaurant": { + "KoiGrade": { + "type": "select", + "value": "bronze", + "option": [ + "bronze", + "silver", + "gold", + "diamond" + ] + }, + "KoiWaitress": { + "type": "select", + "value": "any", + "option": [ + "none", + "any", + "zhaohe", + "any+any", + "zhaohe+any" + ] + }, + "BearGrade": { + "type": "select", + "value": "bronze", + "option": [ + "bronze", + "silver", + "gold", + "diamond" + ] + }, + "BearWaitress": { + "type": "select", + "value": "any", + "option": [ + "none", + "any", + "chaijun", + "any+any", + "chaijun+any" + ] + }, + "EateryGrade": { + "type": "select", + "value": "bronze", + "option": [ + "bronze", + "silver", + "gold", + "diamond" + ] + }, + "EateryWaitress": { + "type": "select", + "value": "any", + "option": [ + "none", + "any", + "hailunna", + "ougen", + "any+any", + "hailunna+any", + "ougen+any", + "hailunna+ougen" + ] + }, + "GrillGrade": { + "type": "select", + "value": "bronze", + "option": [ + "bronze", + "silver", + "gold", + "diamond" + ] + }, + "GrillWaitress": { + "type": "select", + "value": "any", + "option": [ + "none", + "any", + "aogusite", + "ougen", + "any+any", + "aogusite+any", + "ougen+any", + "aogusite+ougen" + ] + }, + "CafeGrade": { + "type": "select", + "value": "bronze", + "option": [ + "bronze", + "silver", + "gold", + "diamond" + ] + }, + "CafeWaitress": { + "type": "select", + "value": "any", + "option": [ + "none", + "any", + "chaijun", + "any+any", + "chaijun+any" + ] + } + }, + "Storage": { + "Storage": { + "type": "storage", + "value": {}, + "valuetype": "ignore", + "display": "disabled" + } + } + }, "Daemon": { "Daemon": { "EnterMap": { @@ -9447,6 +9660,49 @@ } } }, + "IslandProductionPlanner": { + "IslandProductionPlanner": { + "DailyProfitLowerLimit": { + "type": "input", + "value": 50000 + }, + "FieldsEfficiency": { + "type": "select", + "value": 0, + "option": [ + 0, + 0.04, + 0.12 + ] + }, + "OrchardEfficiency": { + "type": "select", + "value": 0, + "option": [ + 0, + 0.04, + 0.12 + ] + }, + "NurseryEfficiency": { + "type": "select", + "value": 0, + "option": [ + 0, + 0.04, + 0.12 + ] + } + }, + "Storage": { + "Storage": { + "type": "storage", + "value": {}, + "valuetype": "ignore", + "display": "disabled" + } + } + }, "Benchmark": { "Benchmark": { "DeviceType": { diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 22bcd89c79..acb1cbf4e8 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -737,6 +737,45 @@ OpsiHazard1Leveling: # =================== Island ==================== IslandFreebie: Share: true +IslandProduction: + MinStockItems: + type: textarea + value: |- + AccumulatingItems: + type: textarea + value: |- +IslandRestaurant: + KoiGrade: + value: bronze + option: [ bronze, silver, gold, diamond ] + KoiWaitress: + value: any + option: [ none, any, zhaohe, any+any, zhaohe+any ] + BearGrade: + value: bronze + option: [ bronze, silver, gold, diamond ] + BearWaitress: + value: any + option: [ none, any, chaijun, any+any, chaijun+any ] + EateryGrade: + value: bronze + option: [ bronze, silver, gold, diamond ] + EateryWaitress: + value: any + option: [ none, any, hailunna, ougen, any+any, hailunna+any, ougen+any, hailunna+ougen ] + GrillGrade: + value: bronze + option: [ bronze, silver, gold, diamond ] + GrillWaitress: + value: any + option: [ none, any, aogusite, ougen, any+any, aogusite+any, ougen+any, aogusite+ougen ] + CafeGrade: + value: bronze + option: [ bronze, silver, gold, diamond ] + CafeWaitress: + value: any + option: [ none, any, chaijun, any+any, chaijun+any ] + # ==================== Tools ==================== @@ -750,6 +789,17 @@ EventStory: type: checkbox value: false option: [ true, false ] +IslandProductionPlanner: + DailyProfitLowerLimit: 50000 + FieldsEfficiency: + value: 0 + option: [ 0, 0.04, 0.12 ] + OrchardEfficiency: + value: 0 + option: [ 0, 0.04, 0.12 ] + NurseryEfficiency: + value: 0 + option: [ 0, 0.04, 0.12 ] Benchmark: DeviceType: value: emulator diff --git a/module/config/argument/menu.json b/module/config/argument/menu.json index 47b3efd547..7553615975 100644 --- a/module/config/argument/menu.json +++ b/module/config/argument/menu.json @@ -100,8 +100,10 @@ "menu": "collapse", "page": "setting", "tasks": [ + "IslandProduction", "IslandFreebie", - "IslandCollect" + "IslandCollect", + "IslandRestaurant" ] }, "Tool": { @@ -111,6 +113,7 @@ "Daemon", "OpsiDaemon", "EventStory", + "IslandProductionPlanner", "Benchmark", "AzurLaneUncensored", "GameManager" diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index c14720feaf..b4741c045a 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -330,11 +330,17 @@ Island: menu: 'collapse' page: 'setting' tasks: + IslandProduction: + - Scheduler + - IslandProduction IslandFreebie: - Scheduler - IslandFreebie IslandCollect: - Scheduler + IslandRestaurant: + - Scheduler + - IslandRestaurant # ==================== Tool ==================== @@ -348,6 +354,8 @@ Tool: - OpsiDaemon EventStory: - EventStory + IslandProductionPlanner: + - IslandProductionPlanner Benchmark: - Benchmark AzurLaneUncensored: diff --git a/module/config/config_generated.py b/module/config/config_generated.py index 25edef0867..059d93d5ad 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -439,6 +439,22 @@ class GeneratedConfig: # Group `IslandFreebie` IslandFreebie_Share = True + # Group `IslandProduction` + IslandProduction_MinStockItems = None + IslandProduction_AccumulatingItems = None + + # Group `IslandRestaurant` + IslandRestaurant_KoiGrade = 'bronze' # bronze, silver, gold, diamond + IslandRestaurant_KoiWaitress = 'any' # none, any, zhaohe, any+any, zhaohe+any + IslandRestaurant_BearGrade = 'bronze' # bronze, silver, gold, diamond + IslandRestaurant_BearWaitress = 'any' # none, any, chaijun, any+any, chaijun+any + IslandRestaurant_EateryGrade = 'bronze' # bronze, silver, gold, diamond + IslandRestaurant_EateryWaitress = 'any' # none, any, hailunna, ougen, any+any, hailunna+any, ougen+any, hailunna+ougen + IslandRestaurant_GrillGrade = 'bronze' # bronze, silver, gold, diamond + IslandRestaurant_GrillWaitress = 'any' # none, any, aogusite, ougen, any+any, aogusite+any, ougen+any, aogusite+ougen + IslandRestaurant_CafeGrade = 'bronze' # bronze, silver, gold, diamond + IslandRestaurant_CafeWaitress = 'any' # none, any, chaijun, any+any, chaijun+any + # Group `Daemon` Daemon_EnterMap = True @@ -449,6 +465,12 @@ class GeneratedConfig: # Group `EventStory` EventStory_SkipBattle = False # True, False + # Group `IslandProductionPlanner` + IslandProductionPlanner_DailyProfitLowerLimit = 50000 + IslandProductionPlanner_FieldsEfficiency = 0 # 0, 0.04, 0.12 + IslandProductionPlanner_OrchardEfficiency = 0 # 0, 0.04, 0.12 + IslandProductionPlanner_NurseryEfficiency = 0 # 0, 0.04, 0.12 + # Group `Benchmark` Benchmark_DeviceType = 'emulator' # emulator, plone_cloud_with_adb, phone_cloud_without_adb, android_phone, android_phone_vmos Benchmark_TestScene = 'screenshot_click' # screenshot_click, screenshot, click diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 4d08a7d665..88301e3b1c 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -258,6 +258,10 @@ "name": "Cross Month Daily", "help": " ALAS will enter OpSi 10min before OpSi reset, wait until OpSi reset but not exit OpSi. Then do the daily, obscure, abyssal and meowfficer farming to get extra gold plates. When running dailies, settings in task \"OpSiDaily\" are used, the rest function are the same.\n IMPORTANT: Please do not touch the game while ALAS is waiting for OpSi reset." }, + "IslandProduction": { + "name": "Island Production", + "help": "" + }, "IslandFreebie": { "name": "Daily Supplies", "help": "" @@ -266,6 +270,10 @@ "name": "Daily Gathering", "help": "Use management panel to gather season specialities and coal/wood.\nWill use multiple characters with least levels until stamina requirement is fulfilled." }, + "IslandRestaurant": { + "name": "Restaurant Management", + "help": "" + }, "Daemon": { "name": "Normal Semi-auto", "help": "" @@ -278,6 +286,10 @@ "name": "Event Story", "help": "" }, + "IslandProductionPlanner": { + "name": "Island Production Planner", + "help": "Planner for optimizing island production plan to earn pt subject to given daily profit.\nWill export bootstrap inventory stock quantities and accumulating item quantities to config after running, which can be used for production planning in the future without scanning technology again.\nNote: The production plan is optimized based on the technology status at the time of scanning, if there are changes in technology status, it is recommended to run the planner again to get an updated production plan." + }, "Benchmark": { "name": "Performance Test", "help": "" @@ -2575,6 +2587,117 @@ "help": "" } }, + "IslandProduction": { + "_info": { + "name": "Island Production", + "help": "" + }, + "MinStockItems": { + "name": "Minimum Stock Items", + "help": "Items that need to be produced when stock is low, and the stock level to maintain for each item\nAlas will prioritize producing these items when stock is low and will produce other items when idle\nThis can be automatically generated by Island Production Planner in Tools." + }, + "AccumulatingItems": { + "name": "Accumulating Items", + "help": "Items whose exceeding production should be ignored, and the rate of stock level increasing for each item\nAlas will not view these items as overproduced and will produce them according to current stock divided by the rate when idle.\nThis can be automatically generated by Island Production Planner in Tools." + } + }, + "IslandRestaurant": { + "_info": { + "name": "Restaurant Management", + "help": "" + }, + "KoiGrade": { + "name": "Golden Koi Restaurant Grade", + "help": "", + "bronze": "Bronze", + "silver": "Silver", + "gold": "Gold", + "diamond": "Diamond" + }, + "KoiWaitress": { + "name": "Golden Koi Restaurant Waitress", + "help": "None means not running this restaurant and Any means not restricting the choice of waitress, in which case the character with the highest manage level will be chosen\nIf a specific character is chosen but not available, the restaurant will fallback to Any instead of skipping the restaurant", + "none": "None", + "any": "Any", + "zhaohe": "Chao Ho", + "any+any": "Any + Any", + "zhaohe+any": "Chao Ho + Any" + }, + "BearGrade": { + "name": "Polar Bear Teahouse Grade", + "help": "", + "bronze": "Bronze", + "silver": "Silver", + "gold": "Gold", + "diamond": "Diamond" + }, + "BearWaitress": { + "name": "Polar Bear Teahouse Waitress", + "help": "None means not running this restaurant and Any means not restricting the choice of waitress, in which case the character with the highest manage level will be chosen\nIf a specific character is chosen but not available, the restaurant will fallback to Any instead of skipping the restaurant", + "none": "None", + "any": "Any", + "chaijun": "HMS Cheshire", + "any+any": "Any + Any", + "chaijun+any": "HMS Cheshire + Any" + }, + "EateryGrade": { + "name": "Manjuu Eatery Grade", + "help": "", + "bronze": "Bronze", + "silver": "Silver", + "gold": "Gold", + "diamond": "Diamond" + }, + "EateryWaitress": { + "name": "Manjuu Eatery Waitress", + "help": "None means not running this restaurant and Any means not restricting the choice of waitress, in which case the character with the highest manage level will be chosen\nIf a specific character is chosen but not available, the restaurant will fallback to Any instead of skipping the restaurant", + "none": "None", + "any": "Any", + "hailunna": "USS Helena", + "ougen": "KMS Prinz Eugen", + "any+any": "Any + Any", + "hailunna+any": "USS Helena + Any", + "ougen+any": "KMS Prinz Eugen + Any", + "hailunna+ougen": "USS Helena + KMS Prinz Eugen" + }, + "GrillGrade": { + "name": "Fin-'n'-Feather Grill Grade", + "help": "", + "bronze": "Bronze", + "silver": "Silver", + "gold": "Gold", + "diamond": "Diamond" + }, + "GrillWaitress": { + "name": "Fin-'n'-Feather Grill Waitress", + "help": "", + "none": "None", + "any": "Any", + "aogusite": "KMS August von Parseval", + "ougen": "KMS Prinz Eugen", + "any+any": "Any + Any", + "aogusite+any": "KMS August von Parseval + Any", + "ougen+any": "KMS Prinz Eugen + Any", + "aogusite+ougen": "KMS August von Parseval + KMS Prinz Eugen" + }, + "CafeGrade": { + "name": "Café Manjuu Grade", + "help": "", + "bronze": "Bronze", + "silver": "Silver", + "gold": "Gold", + "diamond": "Diamond" + }, + "CafeWaitress": { + "name": "Café Manjuu Waitress", + "help": "", + "none": "None", + "any": "Any", + "chaijun": "HMS Cheshire", + "any+any": "Any + Any", + "chaijun+any": "HMS Cheshire + Any" + } + }, "Daemon": { "_info": { "name": "Semi-auto Clicking", @@ -2611,6 +2734,37 @@ "False": "False" } }, + "IslandProductionPlanner": { + "_info": { + "name": "Island Production Planner", + "help": "Will use linear programming to optimize the production plan for the island based on the parameters you set and generate the config for Island Production module.\nPlease set Island Restaurant config first." + }, + "DailyProfitLowerLimit": { + "name": "Daily Profit Lower Limit", + "help": "Negative value means accepting a daily loss, 0 means breaking even, and positive value means profit." + }, + "FieldsEfficiency": { + "name": "Faircrop Fields Efficiency", + "help": "See character collecting reward for your value", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "OrchardEfficiency": { + "name": "Sweetscent Orchard Efficiency", + "help": "See character collecting reward for your value", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "NurseryEfficiency": { + "name": "Newsprout Nursery Efficiency", + "help": "See character collecting reward for your value", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + } + }, "Benchmark": { "_info": { "name": "Performance Test", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 74380fdcfa..75aec6fe3b 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -258,6 +258,10 @@ "name": "Cross Month Daily", "help": " ALAS will enter OpSi 10min before OpSi reset, wait until OpSi reset but not exit OpSi. Then do the daily, obscure, abyssal and meowfficer farming to get extra gold plates. When running dailies, settings in task \"OpSiDaily\" are used, the rest function are the same.\n IMPORTANT: Please do not touch the game while ALAS is waiting for OpSi reset." }, + "IslandProduction": { + "name": "離島生産", + "help": "" + }, "IslandFreebie": { "name": "デイリー補給", "help": "" @@ -266,6 +270,10 @@ "name": "デイリー採集", "help": "管理パネルを使用して、季節の特産品や石炭/木材を収集します。\nスタミナ要件が満たされるまで、レベルの最も低い複数のキャラクターを使用します。" }, + "IslandRestaurant": { + "name": "レストラン", + "help": "" + }, "Daemon": { "name": "半自動クリック", "help": "" @@ -278,6 +286,10 @@ "name": "Event Story", "help": "" }, + "IslandProductionPlanner": { + "name": "離島生産ソルバー", + "help": "線形計画法を使用して、指定した日次利益を満たしつつ ポイントを獲得します。\n実行後、ブートストラップの在庫数量と累積アイテム数量をコンフィグに出力します。これは、再度技術をスキャンしなくても将来の生産計画に使用できます。\n注意: 生産計画はスキャン時点の技術状況に基づいて最適化されるため、技術状況に変更がある場合は、更新された生産計画を得るために再度プランナーを実行することを推奨します。" + }, "Benchmark": { "name": "機能テスト", "help": "" @@ -2575,6 +2587,117 @@ "help": "" } }, + "IslandProduction": { + "_info": { + "name": "離島生産", + "help": "" + }, + "MinStockItems": { + "name": "最低在庫品目", + "help": "在庫が少なくなったときに生産する品目と、各品目ごとに維持する在庫数です。\n在庫が少ない品目はAlasが優先して生産し、アイドル時には他の品目を生産します。\nこれはツール内の島生産プランナーで自動生成できます。" + }, + "AccumulatingItems": { + "name": "累積品目", + "help": "過剰生産分を無視し、各品目の在庫増加率を設定します。\nAlas はこれらの品目を過剰生産として扱わず、アイドル時には現在の在庫を増加率で割った値に基づいて生産します。\nこれはツール内の島生産プランナーで自動生成できます。" + } + }, + "IslandRestaurant": { + "_info": { + "name": "グルメ運営", + "help": "" + }, + "KoiGrade": { + "name": "有魚飯店のランク", + "help": "", + "bronze": "ブロンズ", + "silver": "シルバー", + "gold": "ゴールド", + "diamond": "ダイヤモンド" + }, + "KoiWaitress": { + "name": "有魚飯店のウェイトレス", + "help": "任意の場合、最も管理レベルが高い艦船が選択される", + "none": "なし", + "any": "任意", + "zhaohe": "肇和", + "any+any": "任意 + 任意", + "zhaohe+any": "肇和 + 任意" + }, + "BearGrade": { + "name": "白クマ茶房のランク", + "help": "", + "bronze": "ブロンズ", + "silver": "シルバー", + "gold": "ゴールド", + "diamond": "ダイヤモンド" + }, + "BearWaitress": { + "name": "白クマ茶房のウェイトレス", + "help": "任意の場合、最も管理レベルが高い艦船が選択される", + "none": "なし", + "any": "任意", + "chaijun": "チェシャー", + "any+any": "任意 + 任意", + "chaijun+any": "チェシャー + 任意" + }, + "EateryGrade": { + "name": "饅頭軽食のランク", + "help": "", + "bronze": "ブロンズ", + "silver": "シルバー", + "gold": "ゴールド", + "diamond": "ダイヤモンド" + }, + "EateryWaitress": { + "name": "饅頭軽食のウェイトレス", + "help": "任意の場合、最も管理レベルが高い艦船が選択される", + "none": "なし", + "any": "任意", + "hailunna": "ヘレナ", + "ougen": "プリンツ・オイゲン", + "any+any": "任意 + 任意", + "hailunna+any": "ヘレナ + 任意", + "ougen+any": "プリンツ・オイゲン + 任意", + "hailunna+ougen": "ヘレナ + プリンツ・オイゲン" + }, + "GrillGrade": { + "name": "烏魚焼肉のランク", + "help": "", + "bronze": "ブロンズ", + "silver": "シルバー", + "gold": "ゴールド", + "diamond": "ダイヤモンド" + }, + "GrillWaitress": { + "name": "烏魚焼肉のウェイトレス", + "help": "任意の場合、最も管理レベルが高い艦船が選択される", + "none": "なし", + "any": "任意", + "aogusite": "アウグスト·フォン·パーセヴァル", + "ougen": "プリンツ・オイゲン", + "any+any": "任意 + 任意", + "aogusite+any": "アウグスト·フォン·パーセヴァル + 任意", + "ougen+any": "プリンツ・オイゲン + 任意", + "aogusite+ougen": "アウグスト·フォン·パーセヴァル + プリンツ・オイゲン" + }, + "CafeGrade": { + "name": "饅頭カフェのランク", + "help": "", + "bronze": "ブロンズ", + "silver": "シルバー", + "gold": "ゴールド", + "diamond": "ダイヤモンド" + }, + "CafeWaitress": { + "name": "饅頭カフェのウェイトレス", + "help": "任意の場合、最も管理レベルが高い艦船が選択される", + "none": "なし", + "any": "任意", + "chaijun": "チェシャー", + "any+any": "任意 + 任意", + "chaijun+any": "チェシャー + 任意" + } + }, "Daemon": { "_info": { "name": "Daemon._info.name", @@ -2611,6 +2734,37 @@ "False": "False" } }, + "IslandProductionPlanner": { + "_info": { + "name": "離島生産ソルバー", + "help": "設定したパラメータに基づいて線形計画法で離島の生産計画を最適化し、離島生産モジュール用の設定を生成します。\nグルメ運営のコンフィグ設定を先に行ってください。" + }, + "DailyProfitLowerLimit": { + "name": "日次利益下限", + "help": "負の値は日次損失を許容、0は収支トントン、正の値は利益を意味します。" + }, + "FieldsEfficiency": { + "name": "豊穣の畑の効率", + "help": "キャラの収集報酬を参照してください", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "OrchardEfficiency": { + "name": "薫る果樹園の効率", + "help": "キャラの収集報酬を参照してください", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "NurseryEfficiency": { + "name": "青々苗場の効率", + "help": "キャラの収集報酬を参照してください", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + } + }, "Benchmark": { "_info": { "name": "Benchmark._info.name", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index e5e0a00573..362a19f356 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -258,6 +258,10 @@ "name": "跨月每日", "help": " Alas将在大世界跨月重置之前10分钟进入大世界,等待大世界重置但不退出大世界,然后完成新一天的大世界每日、隐秘海域、深渊海域和短猫相接,以获得额外的金菜。运行大世界每日时,按\"大世界每日\"任务设置运行,其余同理。\n 重要:Alas等待跨月期间,请不要操作游戏。" }, + "IslandProduction": { + "name": "岛屿生产", + "help": "" + }, "IslandFreebie": { "name": "每日补给", "help": "" @@ -266,6 +270,10 @@ "name": "每日采集", "help": "使用管理面板采集季节特产和煤炭/自然之木。\n将使用多个等级最低的角色直到满足体力要求。" }, + "IslandRestaurant": { + "name": "餐厅管理", + "help": "" + }, "Daemon": { "name": "半自动点击", "help": "" @@ -278,6 +286,10 @@ "name": "活动剧情", "help": "" }, + "IslandProductionPlanner": { + "name": "岛屿生产规划器", + "help": "将根据你设置的参数使用线性规划优化岛屿的生产计划,并生成岛屿生产模块的配置" + }, "Benchmark": { "name": "性能测试", "help": "" @@ -2575,6 +2587,117 @@ "help": "" } }, + "IslandProduction": { + "_info": { + "name": "岛屿生产", + "help": "" + }, + "MinStockItems": { + "name": "最低库存物品", + "help": "需要在库存低时生产的物品,以及每种物品要维持的库存水平\nAlas 将在库存低时优先生产这些物品,闲置时会生产其他物品\n可以通过工具中的岛屿生产规划器自动生成" + }, + "AccumulatingItems": { + "name": "累积物品", + "help": "超额生产应忽略的物品,以及每种物品库存水平增加的比率\nAlas 不会将这些物品视为过度生产,闲置时将根据当前库存除以比率来生产它们\n可以通过工具中的岛屿生产规划器自动生成" + } + }, + "IslandRestaurant": { + "_info": { + "name": "餐厅管理", + "help": "" + }, + "KoiGrade": { + "name": "有鱼餐馆等级", + "help": "", + "bronze": "青铜", + "silver": "白银", + "gold": "黄金", + "diamond": "钻石" + }, + "KoiWaitress": { + "name": "有鱼餐馆服务员", + "help": "无表示不运营此餐厅,任意表示不限制服务员的选择,此时将选择管理等级最高的角色\n如果选择的特定角色不可用,餐厅将回退到任意而不是跳过此餐厅", + "none": "无", + "any": "任意", + "zhaohe": "肇和", + "any+any": "任意 + 任意", + "zhaohe+any": "肇和 + 任意" + }, + "BearGrade": { + "name": "白熊饮品等级", + "help": "", + "bronze": "青铜", + "silver": "白银", + "gold": "黄金", + "diamond": "钻石" + }, + "BearWaitress": { + "name": "白熊饮品服务员", + "help": "无表示不运营此餐厅,任意表示不限制服务员的选择,此时将选择管理等级最高的角色\n如果选择的特定角色不可用,餐厅将回退到任意而不是跳过此餐厅", + "none": "无", + "any": "任意", + "chaijun": "柴郡", + "any+any": "任意 + 任意", + "chaijun+any": "柴郡 + 任意" + }, + "EateryGrade": { + "name": "啾啾简餐等级", + "help": "", + "bronze": "青铜", + "silver": "白银", + "gold": "黄金", + "diamond": "钻石" + }, + "EateryWaitress": { + "name": "啾啾简餐服务员", + "help": "无表示不运营此餐厅,任意表示不限制服务员的选择,此时将选择管理等级最高的角色\n如果选择的特定角色不可用,餐厅将回退到任意而不是跳过此餐厅", + "none": "无", + "any": "任意", + "hailunna": "海伦娜", + "ougen": "欧根亲王", + "any+any": "任意 + 任意", + "hailunna+any": "海伦娜 + 任意", + "ougen+any": "欧根亲王 + 任意", + "hailunna+ougen": "海伦娜 + 欧根亲王" + }, + "GrillGrade": { + "name": "乌鱼烤肉等级", + "help": "", + "bronze": "青铜", + "silver": "白银", + "gold": "黄金", + "diamond": "钻石" + }, + "GrillWaitress": { + "name": "乌鱼烤肉服务员", + "help": "无表示不运营此餐厅,任意表示不限制服务员的选择,此时将选择管理等级最高的角色\n如果选择的特定角色不可用,餐厅将回退到任意而不是跳过此餐厅", + "none": "无", + "any": "任意", + "aogusite": "奥古斯特·冯·帕塞瓦尔", + "ougen": "欧根亲王", + "any+any": "任意 + 任意", + "aogusite+any": "奥古斯特·冯·帕塞瓦尔 + 任意", + "ougen+any": "欧根亲王 + 任意", + "aogusite+ougen": "奥古斯特·冯·帕塞瓦尔 + 欧根亲王" + }, + "CafeGrade": { + "name": "啾咖啡等级", + "help": "", + "bronze": "青铜", + "silver": "白银", + "gold": "黄金", + "diamond": "钻石" + }, + "CafeWaitress": { + "name": "啾咖啡服务员", + "help": "无表示不运营此餐厅,任意表示不限制服务员的选择,此时将选择管理等级最高的角色\n如果选择的特定角色不可用,餐厅将回退到任意而不是跳过此餐厅", + "none": "无", + "any": "任意", + "chaijun": "柴郡", + "any+any": "任意 + 任意", + "chaijun+any": "柴郡 + 任意" + } + }, "Daemon": { "_info": { "name": "半自动点击", @@ -2611,6 +2734,37 @@ "False": "False" } }, + "IslandProductionPlanner": { + "_info": { + "name": "岛屿生产规划器", + "help": "将使用线性规划根据您设置的参数优化岛屿生产计划,并为岛屿生产模块生成配置。\n需要先配置好岛屿餐厅管理的参数。" + }, + "DailyProfitLowerLimit": { + "name": "每日利润下限", + "help": "负值表示接受每日亏损,0表示收支平衡,正值表示利润" + }, + "FieldsEfficiency": { + "name": "丰壤农田效率", + "help": "参见角色收集奖励中的数值", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "OrchardEfficiency": { + "name": "坠香果园效率", + "help": "参见角色收集奖励中的数值", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "NurseryEfficiency": { + "name": "青芽苗圃效率", + "help": "参见角色收集奖励中的数值", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + } + }, "Benchmark": { "_info": { "name": "性能测试", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index b238b896f9..2f406d716d 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -258,6 +258,10 @@ "name": "跨月每日", "help": " Alas將在大世界跨月重置之前10分鐘進入大世界,等待大世界重置但不退出大世界,然後完成新一天的大世界每日、隱秘海域、深淵海域和短貓相接,以獲得額外的金菜。運行大世界每日時,按\"大世界每日\"任務設定運行,其餘同理。\n 重要:Alas等待跨月期間,請不要操作遊戲。" }, + "IslandProduction": { + "name": "離島生產", + "help": "" + }, "IslandFreebie": { "name": "每日補給", "help": "" @@ -266,6 +270,10 @@ "name": "每日採集", "help": "使用管理面板採集季節特產和煤炭/自然之木。\n將使用多個等級最低的角色直到滿足體力要求。" }, + "IslandRestaurant": { + "name": "餐廳", + "help": "使用管理面板進行烹飪與送餐。\n將使用多個等級最低的角色直到滿足體力要求。" + }, "Daemon": { "name": "半自動點擊", "help": "" @@ -278,6 +286,10 @@ "name": "活動劇情", "help": "" }, + "IslandProductionPlanner": { + "name": "生產規劃", + "help": "規劃離島的生產安排與資源分配。" + }, "Benchmark": { "name": "性能測試", "help": "" @@ -2575,6 +2587,117 @@ "help": "" } }, + "IslandProduction": { + "_info": { + "name": "離島生產", + "help": "" + }, + "MinStockItems": { + "name": "最低庫存物品", + "help": "需要在庫存低時生產的物品,以及每種物品要維持的庫存水平\nAlas 將在庫存低時優先生產這些物品,閒置時會生產其他物品\n可以透過工具中的離島生產規劃器自動生成" + }, + "AccumulatingItems": { + "name": "累積物品", + "help": "超額生產應忽略的物品,以及每種物品庫存水平增加的比率\nAlas 不會將這些物品視為過度生產,閒置時將根據目前庫存除以比率來生產它們\n可以透過工具中的離島生產規劃器自動生成" + } + }, + "IslandRestaurant": { + "_info": { + "name": "餐廳管理", + "help": "" + }, + "KoiGrade": { + "name": "有魚餐館等級", + "help": "", + "bronze": "青銅", + "silver": "白銀", + "gold": "黃金", + "diamond": "鑽石" + }, + "KoiWaitress": { + "name": "有魚餐館服務員", + "help": "無表示不運營此餐廳,任意表示不限制服務員的選擇,此時將選擇管理等級最高的角色\n如果選擇的特定角色不可用,餐廳將回退到任意而不是跳過此餐廳", + "none": "無", + "any": "任意", + "zhaohe": "肇和", + "any+any": "任意 + 任意", + "zhaohe+any": "肇和 + 任意" + }, + "BearGrade": { + "name": "白熊飲品等級", + "help": "", + "bronze": "青銅", + "silver": "白銀", + "gold": "黃金", + "diamond": "鑽石" + }, + "BearWaitress": { + "name": "白熊飲品服務員", + "help": "無表示不運營此餐廳,任意表示不限制服務員的選擇,此時將選擇管理等級最高的角色\n如果選擇的特定角色不可用,餐廳將回退到任意而不是跳過此餐廳", + "none": "無", + "any": "任意", + "chaijun": "柴郡", + "any+any": "任意 + 任意", + "chaijun+any": "柴郡 + 任意" + }, + "EateryGrade": { + "name": "啾啾簡餐等級", + "help": "", + "bronze": "青銅", + "silver": "白銀", + "gold": "黃金", + "diamond": "鑽石" + }, + "EateryWaitress": { + "name": "啾啾簡餐服務員", + "help": "無表示不運營此餐廳,任意表示不限制服務員的選擇,此時將選擇管理等級最高的角色\n如果選擇的特定角色不可用,餐廳將回退到任意而不是跳過此餐廳", + "none": "無", + "any": "任意", + "hailunna": "海倫娜", + "ougen": "歐根親王", + "any+any": "任意 + 任意", + "hailunna+any": "海倫娜 + 任意", + "ougen+any": "歐根親王 + 任意", + "hailunna+ougen": "海倫娜 + 歐根親王" + }, + "GrillGrade": { + "name": "烏魚烤肉等級", + "help": "", + "bronze": "青銅", + "silver": "白銀", + "gold": "黃金", + "diamond": "鑽石" + }, + "GrillWaitress": { + "name": "烏魚烤肉服務員", + "help": "無表示不運營此餐廳,任意表示不限制服務員的選擇,此時將選擇管理等級最高的角色\n如果選擇的特定角色不可用,餐廳將回退到任意而不是跳過此餐廳", + "none": "無", + "any": "任意", + "aogusite": "奧古斯特·馮·帕塞瓦爾", + "ougen": "歐根親王", + "any+any": "任意 + 任意", + "aogusite+any": "奧古斯特·馮·帕塞瓦爾 + 任意", + "ougen+any": "歐根親王 + 任意", + "aogusite+ougen": "奧古斯特·馮·帕塞瓦爾 + 歐根親王" + }, + "CafeGrade": { + "name": "啾咖啡等級", + "help": "", + "bronze": "青銅", + "silver": "白銀", + "gold": "黃金", + "diamond": "鑽石" + }, + "CafeWaitress": { + "name": "啾咖啡服務員", + "help": "無表示不運營此餐廳,任意表示不限制服務員的選擇,此時將選擇管理等級最高的角色\n如果選擇的特定角色不可用,餐廳將回退到任意而不是跳過此餐廳", + "none": "無", + "any": "任意", + "chaijun": "柴郡", + "any+any": "任意 + 任意", + "chaijun+any": "柴郡 + 任意" + } + }, "Daemon": { "_info": { "name": "半自動點擊", @@ -2611,6 +2734,37 @@ "False": "False" } }, + "IslandProductionPlanner": { + "_info": { + "name": "離島生產規劃器", + "help": "將使用線性規劃根據您設定的參數優化離島生產計畫,並為離島生產模組生成配置。\n需要先配置離島餐廳管理的參數。" + }, + "DailyProfitLowerLimit": { + "name": "每日利潤下限", + "help": "負值表示接受每日虧損,0表示收支平衡,正值表示利潤" + }, + "FieldsEfficiency": { + "name": "豐壤農田效率", + "help": "參見角色收集獎勵中的數值", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "OrchardEfficiency": { + "name": "墜香果園效率", + "help": "參見角色收集獎勵中的數值", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + }, + "NurseryEfficiency": { + "name": "青芽苗圃效率", + "help": "參見角色收集獎勵中的數值", + "0": "0", + "0.04": "0.04", + "0.12": "0.12" + } + }, "Benchmark": { "_info": { "name": "性能測試", diff --git a/module/island_handler/production_planner.py b/module/island_handler/production_planner.py new file mode 100644 index 0000000000..9d2c51a67a --- /dev/null +++ b/module/island_handler/production_planner.py @@ -0,0 +1,1012 @@ +from collections import defaultdict +from datetime import datetime +from math import ceil +from typing import Dict + +import numpy as np +from scipy.optimize import linprog +from yaml import safe_dump, safe_load + +from module.config.config import AzurLaneConfig +import module.config.server as server +from module.base.decorator import cached_property +from module.config.utils import server_time_offset +from module.island.data import * +from module.island_handler.technology_scanner import IslandTechnologyScanner +from module.logger import logger + + +def get_sub_dict(raw_dict: Dict[int, bool], keys: list) -> Dict[int, bool]: + return {key: raw_dict.get(key, False) for key in keys} + +def count_level(substatus: Dict[int, bool]): + return sum(1 for status in substatus.values() if status) + + +class IslandProductionPlanner: + NET_ACCUMULATING_EPSILON = 1e-3 + + def __init__(self, config: AzurLaneConfig): + self.config = config + + @cached_property + def current_activity_list(self): + time = datetime.now() + server_time_offset() + for season, content in DIC_ISLAND_SEASON.items(): + start_time = datetime.strptime(content['start_time'][server.server], "%Y-%m-%d %H:%M:%S") + end_time = datetime.strptime(content['end_time'][server.server], "%Y-%m-%d %H:%M:%S") + if start_time <= time < end_time: + return content['activity'] + + def analyze_technology_status(self, technology_status: Dict[int, bool]): + self.recipe_available = {} + self.wild_gather_available = {} + for activity_id in self.current_activity_list: + if DIC_ISLAND_ACTIVITY[activity_id]['type'] == 5003: + for gather_id in DIC_ISLAND_ACTIVITY[activity_id]['config_data']: + self.wild_gather_available[gather_id] = True + if DIC_ISLAND_ACTIVITY[activity_id]['type'] == 5004: + for recipe_id in DIC_ISLAND_ACTIVITY[activity_id]['config_data']: + self.recipe_available[recipe_id] = True + + self.slot_available = { + # Fields + 9001: technology_status.get(310101, False), + 9002: technology_status.get(310102, False), + 9003: technology_status.get(310103, False), + 9004: technology_status.get(310104, False), + # Mine + 9011: technology_status.get(220101, False), + 9012: technology_status.get(220102, False), + 9013: technology_status.get(220103, False), + 9014: technology_status.get(220104, False), + # Woods + 9021: technology_status.get(210101, False), + 9022: technology_status.get(210102, False), + 9023: technology_status.get(210103, False), + 9024: technology_status.get(210104, False), + # Ranch + 9031: True, + 9032: technology_status.get(420301, False), + 9033: technology_status.get(430301, False), + 9034: technology_status.get(440301, False), + # Cafe + 9041: True, + 9042: technology_status.get(620101, False), + # Koi + 9061: True, + 9062: technology_status.get(510101, False), + # Bear + 9071: technology_status.get(520001, False), + 9072: technology_status.get(520101, False), + # Eatery + 9081: technology_status.get(530001, False), + 9082: technology_status.get(530101, False), + # Grill + 9091: technology_status.get(540001, False), + 9092: technology_status.get(540101, False), + # Orchard + 9101: technology_status.get(330101, False), + 9102: technology_status.get(330102, False), + 9103: technology_status.get(330103, False), + 9104: technology_status.get(330104, False), + # Nursery + 9111: technology_status.get(320101, False), + 9112: technology_status.get(320102, False), + # Lumber + 9201: True, + 9202: technology_status.get(630101, False), + # Machinery + 9203: technology_status.get(640001, False), + 9204: technology_status.get(640101, False), + # Electronic + 9205: technology_status.get(650001, False), + 9206: technology_status.get(650101, False), + # Crafts + 9207: technology_status.get(660001, False), + 9208: technology_status.get(660101, False), + # Fish + 9211: True, + 9212: technology_status.get(460101, False), + 9213: technology_status.get(460102, False) + } + slot_to_group = { + 9001: 'field', 9002: 'field', 9003: 'field', 9004: 'field', + 9011: 'mine', 9012: 'mine', 9013: 'mine', 9014: 'mine', + 9021: 'wood', 9022: 'wood', 9023: 'wood', 9024: 'wood', + 9031: 'ranch_chicken', 9032: 'ranch_pig', 9033: 'ranch_cow', 9034: 'ranch_sheep', + 9041: 'cafe', 9042: 'cafe', + 9061: 'koi', 9062: 'koi', + 9071: 'bear', 9072: 'bear', + 9081: 'eatery', 9082: 'eatery', + 9091: 'grill', 9092: 'grill', + 9101: 'orchard', 9102: 'orchard', 9103: 'orchard', 9104: 'orchard', + 9111: 'nursery', 9112: 'nursery', + 9201: 'manufacturing_lumber', 9202: 'manufacturing_lumber', + 9203: 'manufacturing_machinery', 9204: 'manufacturing_machinery', + 9205: 'manufacturing_electronic', 9206: 'manufacturing_electronic', + 9207: 'manufacturing_crafts', 9208: 'manufacturing_crafts', + 9211: 'fishery', 9212: 'fishery', 9213: 'fishery', + } + self.recipe_group = {} + self.available_slot_recipes = set() + for slot, slot_data in DIC_ISLAND_SLOT.items(): + if not self.slot_available.get(slot, False): + continue + group = slot_to_group.get(slot) + if group is None: + continue + for recipe_id in slot_data.get('formula', []): + self.available_slot_recipes.add(recipe_id) + self.recipe_group.setdefault(recipe_id, group) + for recipe_id in slot_data.get('activity_formula', []): + self.available_slot_recipes.add(recipe_id) + self.recipe_group.setdefault(recipe_id, group) + self.recipe_available.update({ + # Farm + 101002: technology_status.get(500212, False), # 玉米 <- 玉米种植技术 + 101003: technology_status.get(310201, False), # 牧草 <- 牧草种植技术 + 101004: technology_status.get(500211, False), # 咖啡豆 <- 咖啡树种植技术 + 101005: technology_status.get(310202, False), # 大米 <- 旱稻种植技术 + 101006: technology_status.get(500215, False), # 白菜 <- 白菜种植技术 + 101007: technology_status.get(500214, False), # 土豆 <- 土豆种植技术 + 101008: technology_status.get(500213, False), # 大豆 <- 大豆种植技术 + # Mining + 401004: technology_status.get(220201, False), # 铝矿 <- 铝矿勘探技术 + 401005: technology_status.get(220202, False), # 铁矿 <- 铁矿勘探技术 + 401006: technology_status.get(220203, False), # 硫矿 <- 硫矿勘探技术 + 401007: technology_status.get(220204, False), # 银矿 <- 银矿勘探技术 + # Woods + 402002: technology_status.get(210201, False), # 实用之木 <- 实用之木生产技术 + 402003: technology_status.get(210202, False), # 精选之木 <- 精选之木生产技术 + 402004: technology_status.get(210203, False), # 典雅之木 <- 典雅之木生产技术 + # Orchard + 501001: technology_status.get(500231, False), # 苹果 <- 苹果树种植技术 + 501002: technology_status.get(500232, False), # 柑橘 <- 柑橘树种植技术 + 501003: technology_status.get(500233, False), # 香蕉 <- 香蕉树种植技术 + 501004: technology_status.get(500234, False), # 芒果 <- 芒果树种植技术 + 501005: technology_status.get(500235, False), # 柠檬 <- 柠檬树种植技术 + 501006: technology_status.get(500236, False), # 牛油果 <- 牛油果树种植技术 + 501007: technology_status.get(330201, False), # 橡胶 <- 橡胶树种植技术 + # Nursery + 502002: technology_status.get(320201, False), # 草莓 <- 草莓种植技术 + 502003: technology_status.get(320202, False), # 棉花 <- 棉花种植技术 + 502004: technology_status.get(320203, False), # 茶叶 <- 茶树种植技术 + 502005: technology_status.get(320205, False), # 薰衣草 <- 薰衣草种植技术 + 502006: technology_status.get(320204, False), # 胡萝卜 <- 胡萝卜种植技术 + 502007: technology_status.get(320206, False), # 洋葱 <- 洋葱种植技术 + # Food + 601002: technology_status.get(510201, False), # 肉末烧豆腐 + 601003: technology_status.get(510202, False), # 蛋包饭 + 601004: technology_status.get(510203, False), # 白菜豆腐汤 + 601005: technology_status.get(510204, False), # 蔬菜沙拉 + 601006: technology_status.get(460201, False), # 炸鱼薯条 + 601007: technology_status.get(460202, False), # 洋葱蒸鱼 + 601008: technology_status.get(460206, False), # 佛跳墙 + 602002: technology_status.get(520201, False), # 香蕉芒果汁 + 602003: technology_status.get(520202, False), # 蜂蜜柠檬水 + 602004: technology_status.get(520205, False), # 草莓蜜沁 + 602005: technology_status.get(520204, False), # 薰衣草茶 + 602006: technology_status.get(520203, False), # 草莓蜂蜜冰沙 + 603002: technology_status.get(530205, False), # 苹果派 + 603003: technology_status.get(530206, False), # 香橙派 + 603004: technology_status.get(530202, False), # 芒果糯米饭 + 603005: technology_status.get(530203, False), # 香蕉可丽饼 + 603006: technology_status.get(530204, False), # 草莓夏洛特 + 603007: technology_status.get(460205, False), # 海鲜饭 + 604002: technology_status.get(540201, False), # 禽肉土豆拼盘 + 604004: technology_status.get(540202, False), # 爆炒禽肉 + 604005: technology_status.get(540204, False), # 胡萝卜厚蛋烧 + 604006: technology_status.get(540205, False), # 汉堡肉饭 + 604007: technology_status.get(460203, False), # 柠檬虾 + 604008: technology_status.get(460204, False), # 爆炒小龙虾 + 901003: technology_status.get(550201, False), # 芝士 + 901004: technology_status.get(550202, False), # 拿铁 + 901005: technology_status.get(550203, False), # 柑橘咖啡 + 901006: technology_status.get(550204, False), # 草莓奶绿 + # Food combination (all uses 500001) + 601101: technology_status.get(500001, False), + 601102: technology_status.get(500001, False), + 602101: technology_status.get(500001, False), + 602102: technology_status.get(500001, False), + 602103: technology_status.get(500001, False), + 603101: technology_status.get(500001, False), + 603102: technology_status.get(500001, False), + 603103: technology_status.get(500001, False), + 604101: technology_status.get(500001, False), + 604102: technology_status.get(500001, False), + 901101: technology_status.get(500001, False), + 901102: technology_status.get(500001, False), + 901103: technology_status.get(500001, False), + # Manufacturing + 701002: technology_status.get(660201, False), # 皮革 + 701003: technology_status.get(660202, False), # 绳索 + 701004: technology_status.get(660203, False), # 手套 + 701005: technology_status.get(660204, False), # 香囊 + 701006: technology_status.get(660205, False), # 鞋靴 + 701007: technology_status.get(660206, False), # 绷带 + 701009: technology_status.get(640202, False), # 电缆 + 701010: technology_status.get(640201, False), # 铁钉 + 701011: technology_status.get(640203, False), # 硫酸 + 701012: technology_status.get(640204, False), # 火药 + 701013: technology_status.get(640205, False), # 刀叉餐具 + 701015: technology_status.get(630201, False), # 记事本 + 701016: technology_status.get(630202, False), # 桌椅 + 701017: technology_status.get(630203, False), # 精选木桶 + 701018: technology_status.get(630204, False), # 文件柜 + 701020: technology_status.get(650201, False), # 钟表 + 701021: technology_status.get(650202, False), # 蓄电池 + 701022: technology_status.get(650203, False), # 净水滤芯 + 701023: technology_status.get(630205, False), # 装饰画 + }) + for recipe_id in DIC_ISLAND_RECIPE: + if recipe_id < 9900000: + self.recipe_available.setdefault(recipe_id, True) + else: + self.recipe_available.setdefault(recipe_id, False) + for recipe_id in self.available_slot_recipes: + if recipe_id >= 9900000: + self.recipe_available[recipe_id] = True + + self.mining_additional = technology_status.get(220401, False) + self.wood_additional = technology_status.get(210401, False) + self.ranch_additional = technology_status.get(400001, False) + self.ranch_level = { + 9031: count_level(get_sub_dict(technology_status, [410301, 410302, 410303, 410304, 410305])), + 9032: count_level(get_sub_dict(technology_status, [420302, 420303, 420304])), + 9033: count_level(get_sub_dict(technology_status, [430302, 430303, 430304])), + 9034: count_level(get_sub_dict(technology_status, [440302, 440303, 440304])) + } + self.wild_gather_available.update({ + 5: technology_status.get(450301, False), + 6: technology_status.get(450302, False), + }) + for id, item in DIC_ISLAND_WILD_GATHER.items(): + if id < 10: + self.wild_gather_available.setdefault(id, True) + else: + self.wild_gather_available.setdefault(id, False) + + self.place_efficiency_bonus = { + 101: self.config.cross_get("IslandProductionPlanner.IslandProductionPlanner.FieldsEfficiency"), + 401: 0.05 if technology_status.get(220601, False) else 0, + 402: 0.05 if technology_status.get(210601, False) else 0, + 501: self.config.cross_get("IslandProductionPlanner.IslandProductionPlanner.OrchardEfficiency"), + 502: self.config.cross_get("IslandProductionPlanner.IslandProductionPlanner.NurseryEfficiency"), + } + + @staticmethod + def get_initial_capacity_from_grade(grade): + if grade == 'bronze': + return 5 + elif grade in ['silver', 'gold', 'diamond']: + return 6 + else: + raise ValueError(f"Invalid grade: {grade}") + + def has_waitress(self, config_key, waitress_name): + value = self.config.cross_get(config_key) + if not isinstance(value, str): + return False + return waitress_name in value.split('+') + + @cached_property + def restaurant_capacity(self): + capacity = { + 601: self.get_initial_capacity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.KoiGrade")), + 602: self.get_initial_capacity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.BearGrade")), + 603: self.get_initial_capacity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.EateryGrade")), + 604: self.get_initial_capacity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.GrillGrade")), + 901: self.get_initial_capacity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.CafeGrade")), + } + if self.has_waitress("IslandRestaurant.IslandRestaurant.KoiWaitress", 'zhaohe'): + capacity[601] += 1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.BearWaitress", 'chaijun'): + capacity[602] += 1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.EateryWaitress", 'hailunna'): + capacity[603] += 1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.GrillWaitress", 'aogusite'): + capacity[604] += 1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.CafeWaitress", 'chaijun'): + capacity[901] += 1 + return capacity + + @staticmethod + def get_quantity_from_grade(grade): + if grade in ['bronze', 'silver']: + return 2 + elif grade == 'gold': + return 3 + elif grade == 'diamond': + return 4 + else: + raise ValueError(f"Invalid grade: {grade}") + + @cached_property + def restaurant_quantity(self): + quantity = { + 601: self.get_quantity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.KoiGrade")), + 602: self.get_quantity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.BearGrade")), + 603: self.get_quantity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.EateryGrade")), + 604: self.get_quantity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.GrillGrade")), + 901: self.get_quantity_from_grade(self.config.cross_get("IslandRestaurant.IslandRestaurant.CafeGrade")), + } + return quantity + + @cached_property + def restaurant_sales_bonus(self): + bonus = {key: 0 for key in [601, 602, 603, 604, 901]} + if self.has_waitress("IslandRestaurant.IslandRestaurant.KoiWaitress", 'zhaohe'): + bonus[601] += 0.1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.BearWaitress", 'chaijun'): + bonus[602] += 0.05 + if self.has_waitress("IslandRestaurant.IslandRestaurant.EateryWaitress", 'hailunna'): + bonus[603] += 0.1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.EateryWaitress", 'ougen'): + bonus[603] += 0.1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.GrillWaitress", 'ougen'): + bonus[604] += 0.1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.GrillWaitress", 'aogusite'): + bonus[604] += 0.1 + if self.has_waitress("IslandRestaurant.IslandRestaurant.CafeWaitress", 'chaijun'): + bonus[901] += 0.05 + return bonus + + def _reset_lp_result(self): + self.lp_status = None + self.lp_success = False + self.lp_message = '' + self.production_plan = {} + self.shop_plan = {} + self.exchange_plan = {} + self.sell_plan = {} + self.net_items = {} + self.net_accumulating_items = {} + self.inventory_floor = {} + self.inventory_level_items = {} + self.accumulating_rate_per_day = {} + self.inventory_levels_yaml_text = '' + self.accumulating_rate_yaml_text = '' + self.group_usage_summary = {} + self.total_pt = 0 + self.daily_profit = 0 + self.daily_coin_cost = 0 + self.daily_coin_revenue = 0 + self.wild_gather_plan = {} + self.mining_supply_plan = {} + self.logging_supply_plan = {} + + @staticmethod + def _format_amount(amount): + rounded = round(amount) + if abs(amount - rounded) <= 1e-6: + return str(int(rounded)) + return f'{amount:.3f}'.rstrip('0').rstrip('.') + + @staticmethod + def _round_output_amount(amount): + return float(round(float(amount) + 1e-10, 3)) + + @staticmethod + def _format_mapping(mapping): + return ', '.join(f'{key}: {value}' for key, value in mapping.items()) if mapping else '-' + + def _item_name(self, item_id): + return DIC_ISLAND_ITEM[item_id]['name'][server.server] + + def _recipe_name(self, recipe_id): + return DIC_ISLAND_RECIPE[recipe_id]['name'][server.server] + + def _shop_name(self, shop_id): + return DIC_ISLAND_SHOP_RECIPE[shop_id]['name'][server.server] + + def _exchange_name(self, exchange_id): + recipe = DIC_ISLAND_EXCHANGE_RECIPE[exchange_id] + output_id = next(iter(recipe['items'])) + return self._item_name(output_id) + + def _slot_group_name(self, group): + group_to_place = { + 'field': 101, + 'ranch_chicken': 102, + 'ranch_pig': 102, + 'ranch_cow': 102, + 'ranch_sheep': 102, + 'fishery': 201, + 'mine': 401, + 'wood': 402, + 'orchard': 501, + 'nursery': 502, + 'koi': 601, + 'bear': 602, + 'eatery': 603, + 'grill': 604, + 'manufacturing_lumber': 703, + 'manufacturing_machinery': 704, + 'manufacturing_electronic': 705, + 'manufacturing_crafts': 706, + 'cafe': 901, + } + group_to_slots = { + 'field': [9001, 9002, 9003, 9004], + 'ranch_chicken': [9031], + 'ranch_pig': [9032], + 'ranch_cow': [9033], + 'ranch_sheep': [9034], + 'fishery': [9211, 9212, 9213], + 'mine': [9011, 9012, 9013, 9014], + 'wood': [9021, 9022, 9023, 9024], + 'orchard': [9101, 9102, 9103, 9104], + 'nursery': [9111, 9112], + 'koi': [9061, 9062], + 'bear': [9071, 9072], + 'eatery': [9081, 9082], + 'grill': [9091, 9092], + 'manufacturing_lumber': [9201, 9202], + 'manufacturing_machinery': [9203, 9204], + 'manufacturing_electronic': [9205, 9206], + 'manufacturing_crafts': [9207, 9208], + 'cafe': [9041, 9042], + } + place_id = group_to_place.get(group) + if place_id is None: + return group + name = DIC_ISLAND_PRODUCTION_PLACE[place_id]['name'][server.server] + slots = group_to_slots.get(group, []) + if slots: + slot_text = ','.join(str(slot) for slot in slots) + return f'{name} ({slot_text})' + return name + + def _slot_group_sort_key(self, key): + if isinstance(key, int): + return key + group_to_slots = { + 'field': [9001, 9002, 9003, 9004], + 'ranch_chicken': [9031], + 'ranch_pig': [9032], + 'ranch_cow': [9033], + 'ranch_sheep': [9034], + 'cafe': [9041, 9042], + 'koi': [9061, 9062], + 'bear': [9071, 9072], + 'eatery': [9081, 9082], + 'grill': [9091, 9092], + 'orchard': [9101, 9102, 9103, 9104], + 'nursery': [9111, 9112], + 'manufacturing_lumber': [9201, 9202], + 'manufacturing_machinery': [9203, 9204], + 'manufacturing_electronic': [9205, 9206], + 'manufacturing_crafts': [9207, 9208], + 'fishery': [9211, 9212, 9213], + 'mine': [9011, 9012, 9013, 9014], + 'wood': [9021, 9022, 9023, 9024], + } + slots = group_to_slots.get(key, []) + if slots: + return min(slots) + return 999999 + + def _build_production_problem(self): + daily_workload = 24 * 60 * 60 * 10 + + slot_to_group = { + 9001: 'field', 9002: 'field', 9003: 'field', 9004: 'field', + 9011: 'mine', 9012: 'mine', 9013: 'mine', 9014: 'mine', + 9021: 'wood', 9022: 'wood', 9023: 'wood', 9024: 'wood', + 9031: 'ranch_chicken', 9032: 'ranch_pig', 9033: 'ranch_cow', 9034: 'ranch_sheep', + 9041: 'cafe', 9042: 'cafe', + 9061: 'koi', 9062: 'koi', + 9071: 'bear', 9072: 'bear', + 9081: 'eatery', 9082: 'eatery', + 9091: 'grill', 9092: 'grill', + 9101: 'orchard', 9102: 'orchard', 9103: 'orchard', 9104: 'orchard', + 9111: 'nursery', 9112: 'nursery', + 9201: 'manufacturing_lumber', 9202: 'manufacturing_lumber', + 9203: 'manufacturing_machinery', 9204: 'manufacturing_machinery', + 9205: 'manufacturing_electronic', 9206: 'manufacturing_electronic', + 9207: 'manufacturing_crafts', 9208: 'manufacturing_crafts', + 9211: 'fishery', 9212: 'fishery', 9213: 'fishery', + } + group_slots = defaultdict(list) + for slot, available in self.slot_available.items(): + if available and slot in slot_to_group: + group_slots[slot_to_group[slot]].append(slot) + group_capacity = { + group: len(slots) * daily_workload if not group.startswith('ranch_') else daily_workload + for group, slots in group_slots.items() + } + group_efficiency = { + 'field': 1 + self.place_efficiency_bonus.get(101, 0), + 'mine': 1 + self.place_efficiency_bonus.get(401, 0), + 'wood': 1 + self.place_efficiency_bonus.get(402, 0), + 'orchard': 1 + self.place_efficiency_bonus.get(501, 0), + 'nursery': 1 + self.place_efficiency_bonus.get(502, 0), + 'ranch_chicken': 1, + 'ranch_pig': 1, + 'ranch_cow': 1, + 'ranch_sheep': 1, + 'cafe': 1, + 'koi': 1, + 'bear': 1, + 'eatery': 1, + 'grill': 1, + 'manufacturing_lumber': 1, + 'manufacturing_machinery': 1, + 'manufacturing_electronic': 1, + 'manufacturing_crafts': 1, + 'fishery': 1, + } + + recipe_group = getattr(self, 'recipe_group', {}) + activities = [] + + for recipe_id, recipe in DIC_ISLAND_RECIPE.items(): + if not self.recipe_available.get(recipe_id, False): + continue + group = recipe_group.get(recipe_id) + if group is None or group not in group_capacity: + continue + inputs = dict(recipe['commission_cost']) + outputs = dict(recipe['commission_product']) + if group.startswith('ranch_'): + multiplier = 1 + { + 'ranch_chicken': self.ranch_level[9031], + 'ranch_pig': self.ranch_level[9032], + 'ranch_cow': self.ranch_level[9033], + 'ranch_sheep': self.ranch_level[9034], + }[group] + inputs = {item_id: amount * multiplier for item_id, amount in inputs.items()} + outputs = {item_id: amount * multiplier for item_id, amount in outputs.items()} + if self.ranch_additional: + for item_id, amount in recipe['second_product_display'].items(): + outputs[item_id] = outputs.get(item_id, 0) + amount * multiplier + activities.append({ + 'kind': 'recipe', + 'id': recipe_id, + 'group': group, + 'workload': recipe['workload'] / group_efficiency[group], + 'inputs': inputs, + 'outputs': outputs, + }) + + for shop_id, recipe in DIC_ISLAND_SHOP_RECIPE.items(): + activities.append({ + 'kind': 'shop', + 'id': shop_id, + 'group': None, + 'workload': 0, + 'inputs': dict(recipe['resource_consume']), + 'outputs': dict(recipe['items']), + }) + for exchange_id, recipe in DIC_ISLAND_EXCHANGE_RECIPE.items(): + activities.append({ + 'kind': 'exchange', + 'id': exchange_id, + 'group': None, + 'workload': 0, + 'inputs': dict(recipe['resource_consume']), + 'outputs': dict(recipe['items']), + }) + + initial_supply = defaultdict(float) + wild_gather_plan = {} + for gather_id, gather in DIC_ISLAND_WILD_GATHER.items(): + if self.wild_gather_available.get(gather_id, False): + wild_gather_plan[gather_id] = dict(gather['product']) + for item_id, amount in gather['product'].items(): + initial_supply[item_id] += amount + mining_multiplier = 2 if self.mining_additional else 1 + mining_supply_plan = defaultdict(float) + for product in DIC_ISLAND_PRODUCTION_MINING.values(): + for item_id, amount in product.items(): + mining_supply_plan[item_id] += amount * mining_multiplier + initial_supply[item_id] += amount * mining_multiplier + wood_multiplier = 2 if self.wood_additional else 1 + logging_supply_plan = defaultdict(float) + for product in DIC_ISLAND_PRODUCTION_LOGGING.values(): + for item_id, amount in product.items(): + logging_supply_plan[item_id] += amount * wood_multiplier + initial_supply[item_id] += amount * wood_multiplier + + sell_slots = { + 601: DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE[601], + 602: DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE[602], + 603: DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE[603], + 604: DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE[604], + 901: DIC_ISLAND_RESTAURANT_MENU_TO_RECIPE[901], + } + sale_entries = [] + for slot, menu in sell_slots.items(): + for item_id in menu: + sale_entries.append((slot, item_id)) + + item_ids = {1} + for activity in activities: + item_ids.update(activity['inputs']) + item_ids.update(activity['outputs']) + item_ids.update(initial_supply) + item_ids.update(item_id for _, item_id in sale_entries) + item_ids = sorted(item_ids) + + activity_count = len(activities) + sale_count = len(sale_entries) + item_count = len(item_ids) + total_vars = activity_count + sale_count + item_count + item_index = {item_id: idx for idx, item_id in enumerate(item_ids)} + end_offset = activity_count + sale_count + + c = np.zeros(total_vars) + for item_id, idx in item_index.items(): + c[end_offset + idx] = -DIC_ISLAND_ITEM.get(item_id, {}).get('pt_num', 0) + + a_eq = np.zeros((item_count, total_vars)) + b_eq = np.zeros(item_count) + for col, activity in enumerate(activities): + for item_id, amount in activity['outputs'].items(): + a_eq[item_index[item_id], col] += amount + for item_id, amount in activity['inputs'].items(): + a_eq[item_index[item_id], col] -= amount + for sale_col, (slot, item_id) in enumerate(sale_entries, start=activity_count): + a_eq[item_index[item_id], sale_col] -= 1 + revenue = DIC_ISLAND_ITEM[item_id]['order_price'] * (1 + self.restaurant_sales_bonus[slot]) + a_eq[item_index[1], sale_col] += revenue + for item_id, idx in item_index.items(): + a_eq[idx, end_offset + idx] -= 1 + b_eq[idx] = -initial_supply.get(item_id, 0) + + a_ub = [] + b_ub = [] + for group, capacity in group_capacity.items(): + row = np.zeros(total_vars) + for col, activity in enumerate(activities): + if activity['group'] == group and activity['workload'] > 0: + row[col] = activity['workload'] + if row.any(): + a_ub.append(row) + b_ub.append(capacity) + + for slot, menu in sell_slots.items(): + slot_sales = [idx for idx, entry in enumerate(sale_entries) if entry[0] == slot] + if slot_sales: + row = np.zeros(total_vars) + for idx in slot_sales: + row[activity_count + idx] = 1 + a_ub.append(row) + b_ub.append(self.restaurant_quantity[slot] * self.restaurant_capacity[slot]) + for idx in slot_sales: + cap_row = np.zeros(total_vars) + cap_row[activity_count + idx] = 1 + a_ub.append(cap_row) + b_ub.append(self.restaurant_capacity[slot]) + + profit_row = np.zeros(total_vars) + profit_row[end_offset + item_index[1]] = -1 + a_ub.append(profit_row) + b_ub.append(-self.daily_profit_lower_limit) + + return { + 'daily_workload': daily_workload, + 'group_slots': group_slots, + 'activities': activities, + 'sale_entries': sale_entries, + 'item_index': item_index, + 'end_offset': end_offset, + 'wild_gather_plan': wild_gather_plan, + 'mining_supply_plan': dict(mining_supply_plan), + 'logging_supply_plan': dict(logging_supply_plan), + 'c': c, + 'A_ub': np.array(a_ub) if a_ub else None, + 'b_ub': np.array(b_ub) if b_ub else None, + 'A_eq': a_eq, + 'b_eq': b_eq, + 'bounds': [(0, None)] * total_vars, + } + + def _apply_production_lp_result(self, result, problem): + self.lp_status = result.status + self.lp_success = result.success + self.lp_message = result.message + self.production_plan = {} + self.shop_plan = {} + self.exchange_plan = {} + self.sell_plan = {} + self.net_items = {} + self.net_accumulating_items = {} + self.inventory_floor = {} + self.inventory_level_items = {} + self.accumulating_rate_per_day = {} + self.inventory_levels_yaml_text = '' + self.accumulating_rate_yaml_text = '' + self.group_usage_summary = {} + self.total_pt = 0 + self.daily_profit = 0 + self.daily_coin_cost = 0 + self.daily_coin_revenue = 0 + self.wild_gather_plan = problem['wild_gather_plan'] + self.mining_supply_plan = problem['mining_supply_plan'] + self.logging_supply_plan = problem['logging_supply_plan'] + if not result.success: + return + + activities = problem['activities'] + sale_entries = problem['sale_entries'] + item_index = problem['item_index'] + end_offset = problem['end_offset'] + group_slots = problem['group_slots'] + daily_workload = problem['daily_workload'] + activity_count = len(activities) + solution = result.x + + for col, activity in enumerate(activities): + amount = solution[col] + if amount <= 1e-6: + continue + target = { + 'recipe': self.production_plan, + 'shop': self.shop_plan, + 'exchange': self.exchange_plan, + }[activity['kind']] + target[activity['id']] = amount + + for idx, (slot, item_id) in enumerate(sale_entries, start=activity_count): + amount = solution[idx] + if amount > 1e-6: + self.sell_plan[(slot, item_id)] = amount + self.daily_coin_revenue += DIC_ISLAND_ITEM[item_id]['order_price'] * (1 + self.restaurant_sales_bonus[slot]) * amount + + for item_id, idx in item_index.items(): + amount = solution[end_offset + idx] + if amount > 1e-6: + self.net_items[item_id] = amount + if ( + DIC_ISLAND_ITEM[item_id].get('pt_num', 0) > 0 + and amount > self.NET_ACCUMULATING_EPSILON + ): + self.net_accumulating_items[item_id] = amount + self.total_pt = sum( + DIC_ISLAND_ITEM[item_id].get('pt_num', 0) * amount + for item_id, amount in self.net_accumulating_items.items() + ) + self.daily_profit = self.net_items.get(1, 0) + + active_recipe_ids = { + recipe_id for recipe_id, amount in self.production_plan.items() if amount > 1e-6 + } + for col, activity in enumerate(activities): + amount = solution[col] + if amount <= 1e-6: + continue + coin_cost = activity['inputs'].get(1, 0) + if coin_cost > 0: + self.daily_coin_cost += coin_cost * amount + for recipe_id in active_recipe_ids: + recipe = DIC_ISLAND_RECIPE[recipe_id] + planned_batches = self.production_plan[recipe_id] + for item_id, amount in recipe['commission_cost'].items(): + required_amount = amount * planned_batches + self.inventory_floor[item_id] = self.inventory_floor.get(item_id, 0) + required_amount + self.inventory_floor = { + item_id: self._round_output_amount(amount) + for item_id, amount in self.inventory_floor.items() + if self._round_output_amount(amount) > 0 + } + self.inventory_level_items = { + item_id: ceil(amount - 1e-9) + for item_id, amount in sorted(self.inventory_floor.items()) + if amount > 0 + } + self.accumulating_rate_per_day = { + item_id: self._round_output_amount(amount) + for item_id, amount in sorted(self.net_accumulating_items.items()) + if self._round_output_amount(amount) > 0 + } + + grouped_recipe_plan = defaultdict(list) + for activity in activities: + if activity['kind'] == 'recipe': + amount = self.production_plan.get(activity['id'], 0) + if amount > 1e-6: + grouped_recipe_plan[activity['group']].append((activity['id'], amount, activity['workload'])) + for group, entries in grouped_recipe_plan.items(): + total_workload = sum(amount * workload for _, amount, workload in entries) + slot_count = len(group_slots.get(group, [])) + if slot_count <= 0: + continue + self.group_usage_summary[group] = { + 'total_workload': total_workload, + 'slot_count': slot_count, + 'hours_per_slot': total_workload / 36000 / slot_count, + 'total_hours': total_workload / 36000, + 'recipes': { + recipe_id: { + 'batches': amount, + 'hours_total': amount * workload / 36000, + } + for recipe_id, amount, workload in entries + } + } + + def format_solved_production_plan(self): + lines = [ + f'LP success: {self.lp_success}', + f'LP status: {self.lp_status}', + f'LP message: {self.lp_message}', + f'Total PT: {self._format_amount(self.total_pt)}', + f'Daily coin revenue: {self._format_amount(self.daily_coin_revenue)}', + f'Daily coin cost: {self._format_amount(self.daily_coin_cost)}', + f'Daily profit: {self._format_amount(self.daily_profit)}', + '', + '[production]', + ] + if self.production_plan: + for recipe_id, amount in sorted(self.production_plan.items()): + lines.append(f'{self._recipe_name(recipe_id)} ({recipe_id}): {self._format_amount(amount)} batches') + else: + lines.append('-') + + lines.append('') + lines.append('[wild_gather/mining/logging]') + has_passive = False + for gather_id, product in sorted(self.wild_gather_plan.items()): + has_passive = True + product_text = ', '.join( + f'{self._item_name(item_id)}({item_id}) x{self._format_amount(amount)}' + for item_id, amount in product.items() + ) + lines.append(f'wild_gather {gather_id}: {product_text}') + if self.mining_supply_plan: + has_passive = True + product_text = ', '.join( + f'{self._item_name(item_id)}({item_id}) x{self._format_amount(amount)}' + for item_id, amount in sorted(self.mining_supply_plan.items()) + ) + lines.append(f'mining: {product_text}') + if self.logging_supply_plan: + has_passive = True + product_text = ', '.join( + f'{self._item_name(item_id)}({item_id}) x{self._format_amount(amount)}' + for item_id, amount in sorted(self.logging_supply_plan.items()) + ) + lines.append(f'logging: {product_text}') + if not has_passive: + lines.append('-') + + lines.append('') + lines.append('[exchange/buy]') + has_trade = False + for shop_id, amount in sorted(self.shop_plan.items()): + has_trade = True + lines.append(f'buy {self._shop_name(shop_id)} ({shop_id}): {self._format_amount(amount)}') + for exchange_id, amount in sorted(self.exchange_plan.items()): + has_trade = True + lines.append(f'exchange {self._exchange_name(exchange_id)} ({exchange_id}): {self._format_amount(amount)}') + if not has_trade: + lines.append('-') + + lines.append('') + lines.append('[sell]') + if self.sell_plan: + for (slot, item_id), amount in sorted(self.sell_plan.items()): + lines.append( + f'slot {slot} {self._item_name(item_id)} ({item_id}): {self._format_amount(amount)}' + ) + else: + lines.append('-') + + lines.append('') + lines.append('[slot_usage_by_type]') + if self.group_usage_summary: + for group, data in sorted(self.group_usage_summary.items(), key=lambda item: self._slot_group_sort_key(item[0])): + lines.append( + f'{self._slot_group_name(group)}: {self._format_amount(data["total_hours"])}h total, ' + f'{self._format_amount(data["hours_per_slot"])}h/24h per slot x{data["slot_count"]}' + ) + for recipe_id, recipe_data in sorted(data['recipes'].items()): + lines.append( + f' {self._recipe_name(recipe_id)} ({recipe_id}): ' + f'{self._format_amount(recipe_data["batches"])} batches, ' + f'{self._format_amount(recipe_data["hours_total"])}h total' + ) + else: + lines.append('-') + + lines.append('') + needed_accumulating_inventory, needed_non_accumulating_inventory = self._split_inventory_floor() + + lines.append('[inventory_needed_non_accumulating]') + if needed_non_accumulating_inventory: + for item_id, amount in sorted(needed_non_accumulating_inventory.items()): + lines.append(f'{self._item_name(item_id)} ({item_id}): {self._format_amount(amount)}') + else: + lines.append('-') + + lines.append('') + lines.append('[inventory_needed_accumulating]') + if needed_accumulating_inventory: + for item_id, amount in sorted(needed_accumulating_inventory.items()): + lines.append(f'{self._item_name(item_id)} ({item_id}): {self._format_amount(amount)}') + else: + lines.append('-') + + lines.append('') + lines.append('[net_accumulating_items]') + if self.net_accumulating_items: + for item_id, amount in sorted(self.accumulating_rate_per_day.items()): + lines.append(f'{self._item_name(item_id)} ({item_id}): {self._format_amount(amount)}') + else: + lines.append('-') + return '\n'.join(lines) + + def print_solved_production_plan(self): + for line in self.format_solved_production_plan().split('\n'): + logger.info(line) + + def inventory_levels_to_yaml(self, use_item_name=False): + if use_item_name: + payload = { + f'{self._item_name(item_id)} ({item_id})': amount + for item_id, amount in sorted(self.inventory_level_items.items()) + } + else: + payload = dict(sorted(self.inventory_level_items.items())) + return safe_dump(payload, allow_unicode=True, sort_keys=False) + + def accumulating_rate_to_yaml(self, use_item_name=False): + if use_item_name: + payload = { + f'{self._item_name(item_id)} ({item_id})': amount + for item_id, amount in sorted(self.accumulating_rate_per_day.items()) + } + else: + payload = dict(sorted(self.accumulating_rate_per_day.items())) + return safe_dump(payload, allow_unicode=True, sort_keys=False) + + def _split_inventory_floor(self): + needed_accumulating = {} + needed_non_accumulating = {} + for item_id, needed_amount in sorted(self.inventory_level_items.items()): + if self.net_accumulating_items.get(item_id, 0) > self.NET_ACCUMULATING_EPSILON: + needed_accumulating[item_id] = needed_amount + else: + needed_non_accumulating[item_id] = needed_amount + return needed_accumulating, needed_non_accumulating + + def solve_production_plan(self): + self.daily_profit_lower_limit = self.config.cross_get("IslandProductionPlanner.IslandProductionPlanner.DailyProfitLowerLimit", 0) + problem = self._build_production_problem() + self._reset_lp_result() + result = None + solver_attempts = [ + ('interior-point', {'tol': 1e-9}), + ('revised simplex', {'tol': 1e-9}), + ] + for method, options in solver_attempts: + result = linprog( + problem['c'], + A_ub=problem['A_ub'], + b_ub=problem['b_ub'], + A_eq=problem['A_eq'], + b_eq=problem['b_eq'], + bounds=problem['bounds'], + method=method, + options=options, + ) + if result.success: + break + self._apply_production_lp_result(result, problem) + + def run(self, tech_status_yaml=None, export=True, use_item_name_in_export=True): + if tech_status_yaml is None: + technology_status = IslandTechnologyScanner(self.config).get_technology_status() + else: + technology_status = safe_load(tech_status_yaml) if tech_status_yaml else {} + self.analyze_technology_status(technology_status) + self.solve_production_plan() + self.print_solved_production_plan() + if export: + inventory_levels_yaml_text = self.inventory_levels_to_yaml(use_item_name=use_item_name_in_export) + accumulating_rate_yaml_text = self.accumulating_rate_to_yaml(use_item_name=use_item_name_in_export) + with self.config.multi_set(): + self.config.cross_set("IslandProduction.IslandProduction.MinStockItems", inventory_levels_yaml_text) + self.config.cross_set("IslandProduction.IslandProduction.AccumulatingItems", accumulating_rate_yaml_text) diff --git a/module/submodule/utils.py b/module/submodule/utils.py index 5fdda4c932..e6c133f60c 100644 --- a/module/submodule/utils.py +++ b/module/submodule/utils.py @@ -18,6 +18,7 @@ def get_available_func(): 'Daemon', 'OpsiDaemon', 'EventStory', + 'IslandProductionPlanner', 'AzurLaneUncensored', 'Benchmark', 'GameManager',