From 117704273fc1f892c814720abd54b215d11e9b31 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Thu, 16 May 2024 02:57:49 +0800 Subject: [PATCH] Add: Planner progress in config --- config/template.json | 51 +++ module/config/argument/args.json | 296 +++++++++++++ module/config/argument/argument.yaml | 2 + module/config/argument/stored.json | 539 +++++++++++++++++++++++ module/config/argument/task.yaml | 1 + module/config/config_generated.py | 51 +++ module/config/config_updater.py | 46 +- module/config/i18n/en-US.json | 202 +++++++++ module/config/i18n/es-ES.json | 202 +++++++++ module/config/i18n/ja-JP.json | 220 ++++++++- module/config/i18n/zh-CN.json | 202 +++++++++ module/config/i18n/zh-TW.json | 202 +++++++++ module/config/stored/classes.py | 6 + module/config/stored/stored_generated.py | 50 +++ tasks/planner/keywords/classes.py | 89 +++- 15 files changed, 2140 insertions(+), 19 deletions(-) diff --git a/config/template.json b/config/template.json index 9d666a02e..7dac4f56c 100644 --- a/config/template.json +++ b/config/template.json @@ -46,6 +46,57 @@ "Command": "Dungeon", "ServerUpdate": "04:00" }, + "Planner": { + "Item_Credit": {}, + "Item_Traveler_Guide": {}, + "Item_Refined_Aether": {}, + "Item_Lost_Crystal": {}, + "Item_Broken_Teeth_of_Iron_Wolf": {}, + "Item_Endotherm_Chitin": {}, + "Item_Horn_of_Snow": {}, + "Item_Lightning_Crown_of_the_Past_Shadow": {}, + "Item_Storm_Eye": {}, + "Item_Void_Cast_Iron": {}, + "Item_Golden_Crown_of_the_Past_Shadow": {}, + "Item_Netherworld_Token": {}, + "Item_Searing_Steel_Blade": {}, + "Item_Gelid_Chitin": {}, + "Item_Shape_Shifter_Lightning_Staff": {}, + "Item_Ascendant_Debris": {}, + "Item_Nail_of_the_Ape": {}, + "Item_Suppressing_Edict": {}, + "Item_IPC_Work_Permit": {}, + "Item_Raging_Heart": {}, + "Item_Dream_Fridge": {}, + "Item_Dream_Flamer": {}, + "Item_Worldbreaker_Blade": {}, + "Item_Arrow_of_the_Starchaser": {}, + "Item_Key_of_Wisdom": {}, + "Item_Safeguard_of_Amber": {}, + "Item_Obsidian_of_Obsession": {}, + "Item_Stellaris_Symphony": {}, + "Item_Flower_of_Eternity": {}, + "Item_Moon_Madness_Fang": {}, + "Item_Countertemporal_Shot": {}, + "Item_Divine_Amber": {}, + "Item_Heaven_Incinerator": {}, + "Item_Heavenly_Melody": {}, + "Item_Myriad_Fruit": {}, + "Item_Tracks_of_Destiny": {}, + "Item_Destroyer_Final_Road": {}, + "Item_Guardian_Lament": {}, + "Item_Regret_of_Infinite_Ochema": {}, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": {}, + "Item_Lost_Echo_of_the_Shared_Wish": {}, + "Item_Squirming_Core": {}, + "Item_Conqueror_Will": {}, + "Item_Silvermane_Medal": {}, + "Item_Ancient_Engine": {}, + "Item_Immortal_Lumintwig": {}, + "Item_Artifex_Gyreheart": {}, + "Item_Dream_Making_Engine": {}, + "Item_Shards_of_Desires": {} + }, "Dungeon": { "Name": "Calyx_Golden_Treasures", "NameAtDoubleCalyx": "Calyx_Golden_Treasures", diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 64f0ee68d..701c96285 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -219,6 +219,302 @@ "display": "hide" } }, + "Planner": { + "Item_Credit": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Traveler_Guide": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Refined_Aether": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Lost_Crystal": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Endotherm_Chitin": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Horn_of_Snow": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Storm_Eye": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Void_Cast_Iron": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Netherworld_Token": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Searing_Steel_Blade": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Gelid_Chitin": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Ascendant_Debris": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Nail_of_the_Ape": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Suppressing_Edict": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_IPC_Work_Permit": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Raging_Heart": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Dream_Fridge": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Dream_Flamer": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Worldbreaker_Blade": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Arrow_of_the_Starchaser": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Key_of_Wisdom": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Safeguard_of_Amber": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Obsidian_of_Obsession": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Stellaris_Symphony": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Flower_of_Eternity": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Moon_Madness_Fang": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Countertemporal_Shot": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Divine_Amber": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Heaven_Incinerator": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Heavenly_Melody": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Myriad_Fruit": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Tracks_of_Destiny": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Destroyer_Final_Road": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Guardian_Lament": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Regret_of_Infinite_Ochema": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Squirming_Core": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Conqueror_Will": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Silvermane_Medal": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Ancient_Engine": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Immortal_Lumintwig": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Artifex_Gyreheart": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Dream_Making_Engine": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + }, + "Item_Shards_of_Desires": { + "type": "stored", + "value": {}, + "display": "hide", + "stored": "StoredPlanner" + } + }, "Dungeon": { "Name": { "type": "select", diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 0dc814a8f..bb96f750d 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -151,6 +151,8 @@ DungeonStorage: color: "#8fb5fe" SupportReward: Collect: true +Planner: {} + # Items will be injected in config updater Weekly: Name: diff --git a/module/config/argument/stored.json b/module/config/argument/stored.json index b9c86336a..b07c15952 100644 --- a/module/config/argument/stored.json +++ b/module/config/argument/stored.json @@ -137,6 +137,545 @@ "order": 0, "color": "#777777" }, + "Item_Credit": { + "name": "Item_Credit", + "path": "Dungeon.Planner.Item_Credit", + "i18n": "Planner.Item_Credit.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Traveler_Guide": { + "name": "Item_Traveler_Guide", + "path": "Dungeon.Planner.Item_Traveler_Guide", + "i18n": "Planner.Item_Traveler_Guide.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Refined_Aether": { + "name": "Item_Refined_Aether", + "path": "Dungeon.Planner.Item_Refined_Aether", + "i18n": "Planner.Item_Refined_Aether.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Lost_Crystal": { + "name": "Item_Lost_Crystal", + "path": "Dungeon.Planner.Item_Lost_Crystal", + "i18n": "Planner.Item_Lost_Crystal.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "name": "Item_Broken_Teeth_of_Iron_Wolf", + "path": "Dungeon.Planner.Item_Broken_Teeth_of_Iron_Wolf", + "i18n": "Planner.Item_Broken_Teeth_of_Iron_Wolf.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Endotherm_Chitin": { + "name": "Item_Endotherm_Chitin", + "path": "Dungeon.Planner.Item_Endotherm_Chitin", + "i18n": "Planner.Item_Endotherm_Chitin.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Horn_of_Snow": { + "name": "Item_Horn_of_Snow", + "path": "Dungeon.Planner.Item_Horn_of_Snow", + "i18n": "Planner.Item_Horn_of_Snow.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "name": "Item_Lightning_Crown_of_the_Past_Shadow", + "path": "Dungeon.Planner.Item_Lightning_Crown_of_the_Past_Shadow", + "i18n": "Planner.Item_Lightning_Crown_of_the_Past_Shadow.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Storm_Eye": { + "name": "Item_Storm_Eye", + "path": "Dungeon.Planner.Item_Storm_Eye", + "i18n": "Planner.Item_Storm_Eye.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Void_Cast_Iron": { + "name": "Item_Void_Cast_Iron", + "path": "Dungeon.Planner.Item_Void_Cast_Iron", + "i18n": "Planner.Item_Void_Cast_Iron.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "name": "Item_Golden_Crown_of_the_Past_Shadow", + "path": "Dungeon.Planner.Item_Golden_Crown_of_the_Past_Shadow", + "i18n": "Planner.Item_Golden_Crown_of_the_Past_Shadow.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Netherworld_Token": { + "name": "Item_Netherworld_Token", + "path": "Dungeon.Planner.Item_Netherworld_Token", + "i18n": "Planner.Item_Netherworld_Token.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Searing_Steel_Blade": { + "name": "Item_Searing_Steel_Blade", + "path": "Dungeon.Planner.Item_Searing_Steel_Blade", + "i18n": "Planner.Item_Searing_Steel_Blade.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Gelid_Chitin": { + "name": "Item_Gelid_Chitin", + "path": "Dungeon.Planner.Item_Gelid_Chitin", + "i18n": "Planner.Item_Gelid_Chitin.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "name": "Item_Shape_Shifter_Lightning_Staff", + "path": "Dungeon.Planner.Item_Shape_Shifter_Lightning_Staff", + "i18n": "Planner.Item_Shape_Shifter_Lightning_Staff.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Ascendant_Debris": { + "name": "Item_Ascendant_Debris", + "path": "Dungeon.Planner.Item_Ascendant_Debris", + "i18n": "Planner.Item_Ascendant_Debris.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Nail_of_the_Ape": { + "name": "Item_Nail_of_the_Ape", + "path": "Dungeon.Planner.Item_Nail_of_the_Ape", + "i18n": "Planner.Item_Nail_of_the_Ape.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Suppressing_Edict": { + "name": "Item_Suppressing_Edict", + "path": "Dungeon.Planner.Item_Suppressing_Edict", + "i18n": "Planner.Item_Suppressing_Edict.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_IPC_Work_Permit": { + "name": "Item_IPC_Work_Permit", + "path": "Dungeon.Planner.Item_IPC_Work_Permit", + "i18n": "Planner.Item_IPC_Work_Permit.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Raging_Heart": { + "name": "Item_Raging_Heart", + "path": "Dungeon.Planner.Item_Raging_Heart", + "i18n": "Planner.Item_Raging_Heart.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Dream_Fridge": { + "name": "Item_Dream_Fridge", + "path": "Dungeon.Planner.Item_Dream_Fridge", + "i18n": "Planner.Item_Dream_Fridge.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Dream_Flamer": { + "name": "Item_Dream_Flamer", + "path": "Dungeon.Planner.Item_Dream_Flamer", + "i18n": "Planner.Item_Dream_Flamer.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Worldbreaker_Blade": { + "name": "Item_Worldbreaker_Blade", + "path": "Dungeon.Planner.Item_Worldbreaker_Blade", + "i18n": "Planner.Item_Worldbreaker_Blade.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Arrow_of_the_Starchaser": { + "name": "Item_Arrow_of_the_Starchaser", + "path": "Dungeon.Planner.Item_Arrow_of_the_Starchaser", + "i18n": "Planner.Item_Arrow_of_the_Starchaser.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Key_of_Wisdom": { + "name": "Item_Key_of_Wisdom", + "path": "Dungeon.Planner.Item_Key_of_Wisdom", + "i18n": "Planner.Item_Key_of_Wisdom.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Safeguard_of_Amber": { + "name": "Item_Safeguard_of_Amber", + "path": "Dungeon.Planner.Item_Safeguard_of_Amber", + "i18n": "Planner.Item_Safeguard_of_Amber.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Obsidian_of_Obsession": { + "name": "Item_Obsidian_of_Obsession", + "path": "Dungeon.Planner.Item_Obsidian_of_Obsession", + "i18n": "Planner.Item_Obsidian_of_Obsession.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Stellaris_Symphony": { + "name": "Item_Stellaris_Symphony", + "path": "Dungeon.Planner.Item_Stellaris_Symphony", + "i18n": "Planner.Item_Stellaris_Symphony.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Flower_of_Eternity": { + "name": "Item_Flower_of_Eternity", + "path": "Dungeon.Planner.Item_Flower_of_Eternity", + "i18n": "Planner.Item_Flower_of_Eternity.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Moon_Madness_Fang": { + "name": "Item_Moon_Madness_Fang", + "path": "Dungeon.Planner.Item_Moon_Madness_Fang", + "i18n": "Planner.Item_Moon_Madness_Fang.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Countertemporal_Shot": { + "name": "Item_Countertemporal_Shot", + "path": "Dungeon.Planner.Item_Countertemporal_Shot", + "i18n": "Planner.Item_Countertemporal_Shot.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Divine_Amber": { + "name": "Item_Divine_Amber", + "path": "Dungeon.Planner.Item_Divine_Amber", + "i18n": "Planner.Item_Divine_Amber.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Heaven_Incinerator": { + "name": "Item_Heaven_Incinerator", + "path": "Dungeon.Planner.Item_Heaven_Incinerator", + "i18n": "Planner.Item_Heaven_Incinerator.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Heavenly_Melody": { + "name": "Item_Heavenly_Melody", + "path": "Dungeon.Planner.Item_Heavenly_Melody", + "i18n": "Planner.Item_Heavenly_Melody.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Myriad_Fruit": { + "name": "Item_Myriad_Fruit", + "path": "Dungeon.Planner.Item_Myriad_Fruit", + "i18n": "Planner.Item_Myriad_Fruit.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Tracks_of_Destiny": { + "name": "Item_Tracks_of_Destiny", + "path": "Dungeon.Planner.Item_Tracks_of_Destiny", + "i18n": "Planner.Item_Tracks_of_Destiny.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Destroyer_Final_Road": { + "name": "Item_Destroyer_Final_Road", + "path": "Dungeon.Planner.Item_Destroyer_Final_Road", + "i18n": "Planner.Item_Destroyer_Final_Road.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Guardian_Lament": { + "name": "Item_Guardian_Lament", + "path": "Dungeon.Planner.Item_Guardian_Lament", + "i18n": "Planner.Item_Guardian_Lament.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Regret_of_Infinite_Ochema": { + "name": "Item_Regret_of_Infinite_Ochema", + "path": "Dungeon.Planner.Item_Regret_of_Infinite_Ochema", + "i18n": "Planner.Item_Regret_of_Infinite_Ochema.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "name": "Item_Past_Evils_of_the_Borehole_Planet_Disaster", + "path": "Dungeon.Planner.Item_Past_Evils_of_the_Borehole_Planet_Disaster", + "i18n": "Planner.Item_Past_Evils_of_the_Borehole_Planet_Disaster.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "name": "Item_Lost_Echo_of_the_Shared_Wish", + "path": "Dungeon.Planner.Item_Lost_Echo_of_the_Shared_Wish", + "i18n": "Planner.Item_Lost_Echo_of_the_Shared_Wish.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Squirming_Core": { + "name": "Item_Squirming_Core", + "path": "Dungeon.Planner.Item_Squirming_Core", + "i18n": "Planner.Item_Squirming_Core.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Conqueror_Will": { + "name": "Item_Conqueror_Will", + "path": "Dungeon.Planner.Item_Conqueror_Will", + "i18n": "Planner.Item_Conqueror_Will.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Silvermane_Medal": { + "name": "Item_Silvermane_Medal", + "path": "Dungeon.Planner.Item_Silvermane_Medal", + "i18n": "Planner.Item_Silvermane_Medal.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Ancient_Engine": { + "name": "Item_Ancient_Engine", + "path": "Dungeon.Planner.Item_Ancient_Engine", + "i18n": "Planner.Item_Ancient_Engine.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Immortal_Lumintwig": { + "name": "Item_Immortal_Lumintwig", + "path": "Dungeon.Planner.Item_Immortal_Lumintwig", + "i18n": "Planner.Item_Immortal_Lumintwig.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Artifex_Gyreheart": { + "name": "Item_Artifex_Gyreheart", + "path": "Dungeon.Planner.Item_Artifex_Gyreheart", + "i18n": "Planner.Item_Artifex_Gyreheart.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Dream_Making_Engine": { + "name": "Item_Dream_Making_Engine", + "path": "Dungeon.Planner.Item_Dream_Making_Engine", + "i18n": "Planner.Item_Dream_Making_Engine.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, + "Item_Shards_of_Desires": { + "name": "Item_Shards_of_Desires", + "path": "Dungeon.Planner.Item_Shards_of_Desires", + "i18n": "Planner.Item_Shards_of_Desires.name", + "stored": "StoredPlanner", + "attrs": { + "time": "2020-01-01 00:00:00" + }, + "order": 0, + "color": "#777777" + }, "Immersifier": { "name": "Immersifier", "path": "Dungeon.DungeonStorage.Immersifier", diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index 5e10c85ea..f8adc6a7b 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -25,6 +25,7 @@ Daily: tasks: Dungeon: - Scheduler + - Planner - Dungeon - DungeonDaily - DungeonSupport diff --git a/module/config/config_generated.py b/module/config/config_generated.py index efb301bda..aa7408d3f 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -71,6 +71,57 @@ class GeneratedConfig: # Group `SupportReward` SupportReward_Collect = True + # Group `Planner` + Planner_Item_Credit = {} + Planner_Item_Traveler_Guide = {} + Planner_Item_Refined_Aether = {} + Planner_Item_Lost_Crystal = {} + Planner_Item_Broken_Teeth_of_Iron_Wolf = {} + Planner_Item_Endotherm_Chitin = {} + Planner_Item_Horn_of_Snow = {} + Planner_Item_Lightning_Crown_of_the_Past_Shadow = {} + Planner_Item_Storm_Eye = {} + Planner_Item_Void_Cast_Iron = {} + Planner_Item_Golden_Crown_of_the_Past_Shadow = {} + Planner_Item_Netherworld_Token = {} + Planner_Item_Searing_Steel_Blade = {} + Planner_Item_Gelid_Chitin = {} + Planner_Item_Shape_Shifter_Lightning_Staff = {} + Planner_Item_Ascendant_Debris = {} + Planner_Item_Nail_of_the_Ape = {} + Planner_Item_Suppressing_Edict = {} + Planner_Item_IPC_Work_Permit = {} + Planner_Item_Raging_Heart = {} + Planner_Item_Dream_Fridge = {} + Planner_Item_Dream_Flamer = {} + Planner_Item_Worldbreaker_Blade = {} + Planner_Item_Arrow_of_the_Starchaser = {} + Planner_Item_Key_of_Wisdom = {} + Planner_Item_Safeguard_of_Amber = {} + Planner_Item_Obsidian_of_Obsession = {} + Planner_Item_Stellaris_Symphony = {} + Planner_Item_Flower_of_Eternity = {} + Planner_Item_Moon_Madness_Fang = {} + Planner_Item_Countertemporal_Shot = {} + Planner_Item_Divine_Amber = {} + Planner_Item_Heaven_Incinerator = {} + Planner_Item_Heavenly_Melody = {} + Planner_Item_Myriad_Fruit = {} + Planner_Item_Tracks_of_Destiny = {} + Planner_Item_Destroyer_Final_Road = {} + Planner_Item_Guardian_Lament = {} + Planner_Item_Regret_of_Infinite_Ochema = {} + Planner_Item_Past_Evils_of_the_Borehole_Planet_Disaster = {} + Planner_Item_Lost_Echo_of_the_Shared_Wish = {} + Planner_Item_Squirming_Core = {} + Planner_Item_Conqueror_Will = {} + Planner_Item_Silvermane_Medal = {} + Planner_Item_Ancient_Engine = {} + Planner_Item_Immortal_Lumintwig = {} + Planner_Item_Artifex_Gyreheart = {} + Planner_Item_Dream_Making_Engine = {} + Planner_Item_Shards_of_Desires = {} + # Group `Weekly` Weekly_Name = 'Echo_of_War_Divine_Seed' # Echo_of_War_Destruction_Beginning, Echo_of_War_End_of_the_Eternal_Freeze, Echo_of_War_Divine_Seed, Echo_of_War_Borehole_Planet_Old_Crater, Echo_of_War_Salutations_of_Ashen_Dreams Weekly_Team = 1 # 1, 2, 3, 4, 5, 6, 7, 8, 9 diff --git a/module/config/config_updater.py b/module/config/config_updater.py index 1a1f06ed6..e7cbffd44 100644 --- a/module/config/config_updater.py +++ b/module/config/config_updater.py @@ -66,8 +66,9 @@ class ConfigGenerator: # Insert dungeons from tasks.dungeon.keywords import DungeonList calyx_golden = [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Calyx_Golden_Memories] \ - + [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Calyx_Golden_Aether] \ - + [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Calyx_Golden_Treasures] + + [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Calyx_Golden_Aether] \ + + [dungeon.name for dungeon in DungeonList.instances.values() if + dungeon.is_Calyx_Golden_Treasures] # calyx_crimson from tasks.rogue.keywords import KEYWORDS_ROGUE_PATH as Path order = [Path.Destruction, Path.Preservation, Path.The_Hunt, Path.Abundance, @@ -82,7 +83,8 @@ class ConfigGenerator: for type_ in CombatType.instances.values(): stagnant_shadow += [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.Stagnant_Shadow_Combat_Type == type_] - cavern_of_corrosion = [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Cavern_of_Corrosion] + cavern_of_corrosion = [dungeon.name for dungeon in DungeonList.instances.values() if + dungeon.is_Cavern_of_Corrosion] option_add( keys='Dungeon.Name.option', options=calyx_golden + calyx_crimson + stagnant_shadow + cavern_of_corrosion @@ -120,6 +122,11 @@ class ConfigGenerator: assignments = [entry.name for entry in AssignmentEntry.instances.values()] for i in range(4): option_add(keys=f'Assignment.Name_{i + 1}.option', options=assignments) + # Insert planner items + from tasks.planner.keywords.classes import ItemBase + for item in ItemBase.instances.values(): + base = item.group_base + deep_set(raw, keys=['Planner', f'Item_{base.name}'], value={'stored': 'StoredPlanner'}) # Load for path, value in deep_iter(raw, depth=2): @@ -381,7 +388,7 @@ class ConfigGenerator: i18n_aether = { 'cn': '材料:武器经验({dungeon})', 'cht': '材料:武器經驗({dungeon})', - 'jp': '素材:武器経験({dungeon}):', + 'jp': '素材:武器経験({dungeon})', 'en': 'Material: Light Cone EXP ({dungeon})', 'es': 'Material: EXP de conos de luz ({dungeon})', } @@ -497,6 +504,37 @@ class ConfigGenerator: name = deep_get(new, keys=['RogueWorld', 'World', dungeon.name], default=None) if name: deep_set(new, keys=['RogueWorld', 'World', dungeon.name], value=dungeon.__getattribute__(ingame_lang)) + # Planner items + from tasks.planner.keywords.classes import ItemBase + for item in ItemBase.instances.values(): + item: ItemBase = item + name = f'Item_{item.name}' + if item.is_ItemCurrency or item.name == 'Tracks_of_Destiny': + i18n = item.__getattribute__(ingame_lang) + elif item.is_ItemExp and item.is_group_base: + dungeon = item.dungeon + if dungeon is None: + i18n = item.__getattribute__(ingame_lang) + elif dungeon.is_Calyx_Golden_Memories: + i18n = i18n_memories[ingame_lang] + elif dungeon.is_Calyx_Golden_Aether: + i18n = i18n_aether[ingame_lang] + else: + continue + if res := re.search(r'[::](.*)[((]', i18n): + i18n = res.group(1) + elif item.is_ItemAscension or (item.is_ItemTrace and item.is_group_base): + dungeon = item.group_base.dungeon.name + i18n = deep_get(new, keys=['Dungeon', 'Name', dungeon], default='Unknown_Dungeon_Come_From') + elif item.is_ItemWeekly: + dungeon = item.dungeon.name + i18n = deep_get(new, keys=['Weekly', 'Name', dungeon], default='Unknown_Dungeon_Come_From') + elif item.is_ItemCalyx and item.is_group_base: + i18n = item.__getattribute__(ingame_lang) + else: + continue + deep_set(new, keys=['Planner', name, 'name'], value=i18n) + deep_set(new, keys=['Planner', name, 'help'], value='') # GUI i18n for path, _ in deep_iter(self.gui, depth=2): diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 2c6f0adc4..7b5ded006 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -529,6 +529,208 @@ "help": "" } }, + "Planner": { + "_info": { + "name": "Character Planner Progress", + "help": "" + }, + "Item_Credit": { + "name": "Credit", + "help": "" + }, + "Item_Traveler_Guide": { + "name": " Character EXP ", + "help": "" + }, + "Item_Refined_Aether": { + "name": " Light Cone EXP ", + "help": "" + }, + "Item_Lost_Crystal": { + "name": "Lost Crystal", + "help": "" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "name": "Ascension: Physical (Natasha / Clara / Luka / Sushang)", + "help": "" + }, + "Item_Endotherm_Chitin": { + "name": "Ascension: Fire (Himeko / Asta / Hook)", + "help": "" + }, + "Item_Horn_of_Snow": { + "name": "Ascension: Ice (March 7th / Herta / Gepard / Pela)", + "help": "" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "name": "Ascension: Lightning (Arlan / Serval / Tingyun / Bailu)", + "help": "" + }, + "Item_Storm_Eye": { + "name": "Ascension: Wind (Dan Heng / Bronya / Sampo)", + "help": "" + }, + "Item_Void_Cast_Iron": { + "name": "Ascension: Quantum (Silver Wolf / Seele / Qingque)", + "help": "" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "name": "Ascension: Imaginary (Welt / Luocha / Yukong)", + "help": "" + }, + "Item_Netherworld_Token": { + "name": "Ascension: Physical (Hanya / Argenti)", + "help": "" + }, + "Item_Searing_Steel_Blade": { + "name": "Ascension: Fire (Guinaifen / Topaz & Numby)", + "help": "" + }, + "Item_Gelid_Chitin": { + "name": "Ascension: Ice (Yanqing / Jingliu / Ruan Mei)", + "help": "" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "name": "Ascension: Lightning (Kafka / Jing Yuan / Acheron)", + "help": "" + }, + "Item_Ascendant_Debris": { + "name": "Ascension: Wind (Blade / Huohuo / Black Swan)", + "help": "" + }, + "Item_Nail_of_the_Ape": { + "name": "Ascension: Quantum (Lynx / Fu Xuan / Xueyi)", + "help": "" + }, + "Item_Suppressing_Edict": { + "name": "Ascension: Imaginary (Dan Heng • Imbibitor Lunae / Aventurine / Dr. Ratio)", + "help": "" + }, + "Item_IPC_Work_Permit": { + "name": "Ascension: Physical (Boothill / Robin)", + "help": "" + }, + "Item_Raging_Heart": { + "name": "Ascension: Fire (Gallagher)", + "help": "" + }, + "Item_Dream_Fridge": { + "name": "Ascension: Ice (Misha)", + "help": "" + }, + "Item_Dream_Flamer": { + "name": "Ascension: Quantum (Sparkle)", + "help": "" + }, + "Item_Worldbreaker_Blade": { + "name": "Trace: Destruction (Storage Zone)", + "help": "" + }, + "Item_Arrow_of_the_Starchaser": { + "name": "Trace: The Hunt (Outlying Snow Plains)", + "help": "" + }, + "Item_Key_of_Wisdom": { + "name": "Trace: Erudition (Rivet Town)", + "help": "" + }, + "Item_Safeguard_of_Amber": { + "name": "Trace: Preservation (Supply Zone)", + "help": "" + }, + "Item_Obsidian_of_Obsession": { + "name": "Trace: Nihility (Great Mine)", + "help": "" + }, + "Item_Stellaris_Symphony": { + "name": "Trace: The Harmony (Robot Settlement)", + "help": "" + }, + "Item_Flower_of_Eternity": { + "name": "Trace: Abundance (Backwater Pass)", + "help": "" + }, + "Item_Moon_Madness_Fang": { + "name": "Trace: Destruction (Scalegorge Waterscape)", + "help": "" + }, + "Item_Countertemporal_Shot": { + "name": "Trace: The Hunt (SoulGlad Scorchsand Audition Venue)", + "help": "" + }, + "Item_Divine_Amber": { + "name": "Trace: Preservation (Clock Studios Theme Park)", + "help": "" + }, + "Item_Heaven_Incinerator": { + "name": "Trace: Nihility (Alchemy Commission)", + "help": "" + }, + "Item_Heavenly_Melody": { + "name": "Trace: The Harmony (The Reverie (Dreamscape))", + "help": "" + }, + "Item_Myriad_Fruit": { + "name": "Trace: Abundance (Fyxestroll Garden)", + "help": "" + }, + "Item_Tracks_of_Destiny": { + "name": "Tracks of Destiny", + "help": "" + }, + "Item_Destroyer_Final_Road": { + "name": "Destruction's Beginning (Herta Space Station)", + "help": "" + }, + "Item_Guardian_Lament": { + "name": "End of the Eternal Freeze (Jarilo-VI)", + "help": "" + }, + "Item_Regret_of_Infinite_Ochema": { + "name": "Divine Seed (The Xianzhou Luofu)", + "help": "" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "name": "Borehole Planet's Old Crater (Herta Space Station)", + "help": "" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "name": "Salutations of Ashen Dreams (Penacony)", + "help": "" + }, + "Item_Squirming_Core": { + "name": "Squirming Core", + "help": "" + }, + "Item_Conqueror_Will": { + "name": "Conqueror's Will", + "help": "" + }, + "Item_Silvermane_Medal": { + "name": "Silvermane Medal", + "help": "" + }, + "Item_Ancient_Engine": { + "name": "Ancient Engine", + "help": "" + }, + "Item_Immortal_Lumintwig": { + "name": "Immortal Lumintwig", + "help": "" + }, + "Item_Artifex_Gyreheart": { + "name": "Artifex's Gyreheart", + "help": "" + }, + "Item_Dream_Making_Engine": { + "name": "Dream Making Engine", + "help": "" + }, + "Item_Shards_of_Desires": { + "name": "Shards of Desires", + "help": "" + } + }, "Weekly": { "_info": { "name": "Echo of War Settings", diff --git a/module/config/i18n/es-ES.json b/module/config/i18n/es-ES.json index 058d97844..8216819e8 100644 --- a/module/config/i18n/es-ES.json +++ b/module/config/i18n/es-ES.json @@ -529,6 +529,208 @@ "help": "" } }, + "Planner": { + "_info": { + "name": "Progreso del planificador de personajes", + "help": "" + }, + "Item_Credit": { + "name": "Crédito", + "help": "" + }, + "Item_Traveler_Guide": { + "name": " EXP de personaje ", + "help": "" + }, + "Item_Refined_Aether": { + "name": " EXP de conos de luz ", + "help": "" + }, + "Item_Lost_Crystal": { + "name": "Cristal perdido", + "help": "" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "name": "Ascension: Físico (Natasha / Clara / Luka / Sushang)", + "help": "" + }, + "Item_Endotherm_Chitin": { + "name": "Ascension: Fuego (Himeko / Asta / Hook)", + "help": "" + }, + "Item_Horn_of_Snow": { + "name": "Ascension: Hielo (Siete de Marzo / Herta / Gepard / Pela)", + "help": "" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "name": "Ascension: Rayo (Arlan / Serval / Tingyun / Bailu)", + "help": "" + }, + "Item_Storm_Eye": { + "name": "Ascension: Viento (Dan Heng / Bronya / Sampo)", + "help": "" + }, + "Item_Void_Cast_Iron": { + "name": "Ascension: Cuántico (Silver Wolf / Seele / Qingque)", + "help": "" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "name": "Ascension: Imaginario (Welt / Luocha / Yukong)", + "help": "" + }, + "Item_Netherworld_Token": { + "name": "Ascension: Físico (Hanya / Argenti)", + "help": "" + }, + "Item_Searing_Steel_Blade": { + "name": "Ascension: Fuego (Guinaifen / Topaz y Conti)", + "help": "" + }, + "Item_Gelid_Chitin": { + "name": "Ascension: Hielo (Yanqing / Jingliu / Ruan Mei)", + "help": "" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "name": "Ascension: Rayo (Kafka / Jing Yuan / Acheron)", + "help": "" + }, + "Item_Ascendant_Debris": { + "name": "Ascension: Viento (Blade / Huohuo / Cisne Negro)", + "help": "" + }, + "Item_Nail_of_the_Ape": { + "name": "Ascension: Cuántico (Lynx / Fu Xuan / Xueyi)", + "help": "" + }, + "Item_Suppressing_Edict": { + "name": "Ascension: Imaginario (Dan Heng - Imbibitor Lunae / Aventurino / Dr. Ratio)", + "help": "" + }, + "Item_IPC_Work_Permit": { + "name": "Ascension: Físico (Boothill / Robin)", + "help": "" + }, + "Item_Raging_Heart": { + "name": "Ascension: Fuego (Gallagher)", + "help": "" + }, + "Item_Dream_Fridge": { + "name": "Ascension: Hielo (Misha)", + "help": "" + }, + "Item_Dream_Flamer": { + "name": "Ascension: Cuántico (Sparkle)", + "help": "" + }, + "Item_Worldbreaker_Blade": { + "name": "Rastros: Destrucción (Zona de almacenamiento)", + "help": "" + }, + "Item_Arrow_of_the_Starchaser": { + "name": "Rastros: Cacería (Llanuras nevadas de las afueras)", + "help": "" + }, + "Item_Key_of_Wisdom": { + "name": "Rastros: Erudición (Villarremache)", + "help": "" + }, + "Item_Safeguard_of_Amber": { + "name": "Rastros: Conservación (Zona de suministros)", + "help": "" + }, + "Item_Obsidian_of_Obsession": { + "name": "Rastros: Nihilidad (Mina principal)", + "help": "" + }, + "Item_Stellaris_Symphony": { + "name": "Rastros: Armonía (Asentamiento robot)", + "help": "" + }, + "Item_Flower_of_Eternity": { + "name": "Rastros: Abundancia (Paso del Remanso)", + "help": "" + }, + "Item_Moon_Madness_Fang": { + "name": "Rastros: Destrucción (Desfiladero de Escamas)", + "help": "" + }, + "Item_Countertemporal_Shot": { + "name": "Rastros: Cacería (Recinto de las Audiciones FelizAlma en la Arena Ardiente)", + "help": "" + }, + "Item_Divine_Amber": { + "name": "Rastros: Conservación (Parque temático de los Estudios Reloj)", + "help": "" + }, + "Item_Heaven_Incinerator": { + "name": "Rastros: Nihilidad (Comisión de Alquimia)", + "help": "" + }, + "Item_Heavenly_Melody": { + "name": "Rastros: Armonía (Hotel Fantasía (paisaje onírico))", + "help": "" + }, + "Item_Myriad_Fruit": { + "name": "Rastros: Abundancia (Jardín del Sosiego)", + "help": "" + }, + "Item_Tracks_of_Destiny": { + "name": "Huellas del destino", + "help": "" + }, + "Item_Destroyer_Final_Road": { + "name": "El principio de la Destrucción (Estación Espacial Herta)", + "help": "" + }, + "Item_Guardian_Lament": { + "name": "El fin del Hielo Eterno (Jarilo-VI)", + "help": "" + }, + "Item_Regret_of_Infinite_Ochema": { + "name": "Semilla divina (El Luofu de Xianzhou)", + "help": "" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "name": "Cráter del planeta devorado (Estación Espacial Herta)", + "help": "" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "name": "Ecos de la guerra: Tributo del sueño ceniciento (Colonipenal)", + "help": "" + }, + "Item_Squirming_Core": { + "name": "Núcleo serpenteante", + "help": "" + }, + "Item_Conqueror_Will": { + "name": "Voluntad de conquista", + "help": "" + }, + "Item_Silvermane_Medal": { + "name": "Medalla del guardia", + "help": "" + }, + "Item_Ancient_Engine": { + "name": "Motor antiguo", + "help": "" + }, + "Item_Immortal_Lumintwig": { + "name": "Rama gloriosa inmortal", + "help": "" + }, + "Item_Artifex_Gyreheart": { + "name": "Corazón armonioso mecánico", + "help": "" + }, + "Item_Dream_Making_Engine": { + "name": "Motor creasueños", + "help": "" + }, + "Item_Shards_of_Desires": { + "name": "Fragmento de deseos", + "help": "" + } + }, "Weekly": { "_info": { "name": "Ajustes de Ecos de la guerra", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 436e36592..3448cfdaa 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -251,9 +251,9 @@ "Calyx_Golden_Memories_Jarilo_VI": "素材:役割経験(回憶の蕾・ヤリーロ-Ⅵ):", "Calyx_Golden_Memories_The_Xianzhou_Luofu": "素材:役割経験(回憶の蕾・仙舟羅浮):", "Calyx_Golden_Memories_Penacony": "素材:役割経験(回憶の蕾・ピノコニー):", - "Calyx_Golden_Aether_Jarilo_VI": "素材:武器経験(エーテルの蕾・ヤリーロ-Ⅵ):", - "Calyx_Golden_Aether_The_Xianzhou_Luofu": "素材:武器経験(エーテルの蕾・仙舟羅浮):", - "Calyx_Golden_Aether_Penacony": "素材:武器経験(エーテルの蕾・ピノコニー):", + "Calyx_Golden_Aether_Jarilo_VI": "素材:武器経験(エーテルの蕾・ヤリーロ-Ⅵ)", + "Calyx_Golden_Aether_The_Xianzhou_Luofu": "素材:武器経験(エーテルの蕾・仙舟羅浮)", + "Calyx_Golden_Aether_Penacony": "素材:武器経験(エーテルの蕾・ピノコニー)", "Calyx_Golden_Treasures_Jarilo_VI": "素材:クレジット(秘蔵の蕾・ヤリーロ-Ⅵ)", "Calyx_Golden_Treasures_The_Xianzhou_Luofu": "素材:クレジット(秘蔵の蕾・仙舟羅浮)", "Calyx_Golden_Treasures_Penacony": "素材:クレジット(秘蔵の蕾・ピノコニー)", @@ -304,9 +304,9 @@ "Calyx_Golden_Memories_Jarilo_VI": "素材:役割経験(回憶の蕾・ヤリーロ-Ⅵ):", "Calyx_Golden_Memories_The_Xianzhou_Luofu": "素材:役割経験(回憶の蕾・仙舟羅浮):", "Calyx_Golden_Memories_Penacony": "素材:役割経験(回憶の蕾・ピノコニー):", - "Calyx_Golden_Aether_Jarilo_VI": "素材:武器経験(エーテルの蕾・ヤリーロ-Ⅵ):", - "Calyx_Golden_Aether_The_Xianzhou_Luofu": "素材:武器経験(エーテルの蕾・仙舟羅浮):", - "Calyx_Golden_Aether_Penacony": "素材:武器経験(エーテルの蕾・ピノコニー):", + "Calyx_Golden_Aether_Jarilo_VI": "素材:武器経験(エーテルの蕾・ヤリーロ-Ⅵ)", + "Calyx_Golden_Aether_The_Xianzhou_Luofu": "素材:武器経験(エーテルの蕾・仙舟羅浮)", + "Calyx_Golden_Aether_Penacony": "素材:武器経験(エーテルの蕾・ピノコニー)", "Calyx_Golden_Treasures_Jarilo_VI": "素材:クレジット(秘蔵の蕾・ヤリーロ-Ⅵ)", "Calyx_Golden_Treasures_The_Xianzhou_Luofu": "素材:クレジット(秘蔵の蕾・仙舟羅浮)", "Calyx_Golden_Treasures_Penacony": "素材:クレジット(秘蔵の蕾・ピノコニー)", @@ -363,9 +363,9 @@ "Calyx_Golden_Memories_Jarilo_VI": "素材:役割経験(回憶の蕾・ヤリーロ-Ⅵ):", "Calyx_Golden_Memories_The_Xianzhou_Luofu": "素材:役割経験(回憶の蕾・仙舟羅浮):", "Calyx_Golden_Memories_Penacony": "素材:役割経験(回憶の蕾・ピノコニー):", - "Calyx_Golden_Aether_Jarilo_VI": "素材:武器経験(エーテルの蕾・ヤリーロ-Ⅵ):", - "Calyx_Golden_Aether_The_Xianzhou_Luofu": "素材:武器経験(エーテルの蕾・仙舟羅浮):", - "Calyx_Golden_Aether_Penacony": "素材:武器経験(エーテルの蕾・ピノコニー):", + "Calyx_Golden_Aether_Jarilo_VI": "素材:武器経験(エーテルの蕾・ヤリーロ-Ⅵ)", + "Calyx_Golden_Aether_The_Xianzhou_Luofu": "素材:武器経験(エーテルの蕾・仙舟羅浮)", + "Calyx_Golden_Aether_Penacony": "素材:武器経験(エーテルの蕾・ピノコニー)", "Calyx_Golden_Treasures_Jarilo_VI": "素材:クレジット(秘蔵の蕾・ヤリーロ-Ⅵ)", "Calyx_Golden_Treasures_The_Xianzhou_Luofu": "素材:クレジット(秘蔵の蕾・仙舟羅浮)", "Calyx_Golden_Treasures_Penacony": "素材:クレジット(秘蔵の蕾・ピノコニー)" @@ -529,6 +529,208 @@ "help": "" } }, + "Planner": { + "_info": { + "name": "Planner._info.name", + "help": "Planner._info.help" + }, + "Item_Credit": { + "name": "信用ポイント", + "help": "" + }, + "Item_Traveler_Guide": { + "name": "役割経験", + "help": "" + }, + "Item_Refined_Aether": { + "name": "武器経験", + "help": "" + }, + "Item_Lost_Crystal": { + "name": "遺失晶塊", + "help": "" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "name": "キャラクター昇格素材:物理(ナターシャ / クラーラ / ルカ / 素裳)", + "help": "" + }, + "Item_Endotherm_Chitin": { + "name": "キャラクター昇格素材:炎(姫子 / アスター / フック)", + "help": "" + }, + "Item_Horn_of_Snow": { + "name": "キャラクター昇格素材:氷(三月なのか / ヘルタ / ジェパード / ペラ)", + "help": "" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "name": "キャラクター昇格素材:雷(アーラン / セーバル / 停雲 / 白露)", + "help": "" + }, + "Item_Storm_Eye": { + "name": "キャラクター昇格素材:風(丹恒 / ブローニャ / サンポ)", + "help": "" + }, + "Item_Void_Cast_Iron": { + "name": "キャラクター昇格素材:量子(銀狼 / ゼーレ / 青雀)", + "help": "" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "name": "キャラクター昇格素材:虚数(ヴェルト / 羅刹 / 御空)", + "help": "" + }, + "Item_Netherworld_Token": { + "name": "キャラクター昇格素材:物理(寒鴉 / アルジェンティ)", + "help": "" + }, + "Item_Searing_Steel_Blade": { + "name": "キャラクター昇格素材:炎(桂乃芬 / トパーズ&カブ)", + "help": "" + }, + "Item_Gelid_Chitin": { + "name": "キャラクター昇格素材:氷(彦卿 / 鏡流 / ルアン・メェイ)", + "help": "" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "name": "キャラクター昇格素材:雷(カフカ / 景元 / 黄泉)", + "help": "" + }, + "Item_Ascendant_Debris": { + "name": "キャラクター昇格素材:風(刃 / フォフォ / ブラックスワン)", + "help": "" + }, + "Item_Nail_of_the_Ape": { + "name": "キャラクター昇格素材:量子(リンクス / 符玄 / 雪衣)", + "help": "" + }, + "Item_Suppressing_Edict": { + "name": "キャラクター昇格素材:虚数(丹恒・飲月 / アベンチュリン / Dr.レイシオ)", + "help": "" + }, + "Item_IPC_Work_Permit": { + "name": "キャラクター昇格素材:物理(ブートヒル / ロビン)", + "help": "" + }, + "Item_Raging_Heart": { + "name": "キャラクター昇格素材:炎(ギャラガー)", + "help": "" + }, + "Item_Dream_Fridge": { + "name": "キャラクター昇格素材:氷(ミーシャ)", + "help": "" + }, + "Item_Dream_Flamer": { + "name": "キャラクター昇格素材:量子(花火)", + "help": "" + }, + "Item_Worldbreaker_Blade": { + "name": "軌跡素材:壊滅(収容部分)", + "help": "" + }, + "Item_Arrow_of_the_Starchaser": { + "name": "軌跡素材:巡狩(郊外雪原)", + "help": "" + }, + "Item_Key_of_Wisdom": { + "name": "軌跡素材:知恵(リベットタウン)", + "help": "" + }, + "Item_Safeguard_of_Amber": { + "name": "軌跡素材:存護(サポート部分)", + "help": "" + }, + "Item_Obsidian_of_Obsession": { + "name": "軌跡素材:虚無(大鉱区)", + "help": "" + }, + "Item_Stellaris_Symphony": { + "name": "軌跡素材:調和(機械集落)", + "help": "" + }, + "Item_Flower_of_Eternity": { + "name": "軌跡素材:豊穣(外縁通路)", + "help": "" + }, + "Item_Moon_Madness_Fang": { + "name": "軌跡素材:壊滅(鱗淵境)", + "help": "" + }, + "Item_Countertemporal_Shot": { + "name": "軌跡素材:巡狩(スラーダ熱砂オーディション会場)", + "help": "" + }, + "Item_Divine_Amber": { + "name": "軌跡素材:存護(クラークフィルムランド)", + "help": "" + }, + "Item_Heaven_Incinerator": { + "name": "軌跡素材:虚無(丹鼎司)", + "help": "" + }, + "Item_Heavenly_Melody": { + "name": "軌跡素材:調和(ホテル・レバリー-夢境)", + "help": "" + }, + "Item_Myriad_Fruit": { + "name": "軌跡素材:豊穣(綏園)", + "help": "" + }, + "Item_Tracks_of_Destiny": { + "name": "運命の足跡", + "help": "" + }, + "Item_Destroyer_Final_Road": { + "name": "歴戦余韻・壊滅の始まり (宇宙ステーション「ヘルタ」)", + "help": "" + }, + "Item_Guardian_Lament": { + "name": "歴戦余韻・寒波の幕切れ (ヤリーロ-VI)", + "help": "" + }, + "Item_Regret_of_Infinite_Ochema": { + "name": "歴戦余韻・不死の神実 (仙舟「羅浮」)", + "help": "" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "name": "歴戦余韻・星を蝕む往日の面影 (宇宙ステーション「ヘルタ」)", + "help": "" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "name": "歴戦余韻・現世の夢の礼賛 (ピノコニー)", + "help": "" + }, + "Item_Squirming_Core": { + "name": "脈動する原核", + "help": "" + }, + "Item_Conqueror_Will": { + "name": "踏みにじる意志", + "help": "" + }, + "Item_Silvermane_Medal": { + "name": "シルバーメインの勲章", + "help": "" + }, + "Item_Ancient_Engine": { + "name": "古代エンジン", + "help": "" + }, + "Item_Immortal_Lumintwig": { + "name": "永寿の栄枝", + "help": "" + }, + "Item_Artifex_Gyreheart": { + "name": "工造渾心", + "help": "" + }, + "Item_Dream_Making_Engine": { + "name": "ドリームメイキングモーター", + "help": "" + }, + "Item_Shards_of_Desires": { + "name": "砕けた欲望の鏡", + "help": "" + } + }, "Weekly": { "_info": { "name": "Weekly._info.name", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index a0a857a7a..2e4fbaaca 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -529,6 +529,208 @@ "help": "" } }, + "Planner": { + "_info": { + "name": "养成规划进度", + "help": "" + }, + "Item_Credit": { + "name": "信用点", + "help": "" + }, + "Item_Traveler_Guide": { + "name": "角色经验", + "help": "" + }, + "Item_Refined_Aether": { + "name": "武器经验", + "help": "" + }, + "Item_Lost_Crystal": { + "name": "遗失晶块", + "help": "" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "name": "角色晋阶材料:物理(娜塔莎 / 克拉拉 / 卢卡 / 素裳)", + "help": "" + }, + "Item_Endotherm_Chitin": { + "name": "角色晋阶材料:火(姬子 / 艾丝妲 / 虎克)", + "help": "" + }, + "Item_Horn_of_Snow": { + "name": "角色晋阶材料:冰(三月七 / 黑塔 / 杰帕德 / 佩拉)", + "help": "" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "name": "角色晋阶材料:雷(阿兰 / 希露瓦 / 停云 / 白露)", + "help": "" + }, + "Item_Storm_Eye": { + "name": "角色晋阶材料:风(丹恒 / 布洛妮娅 / 桑博)", + "help": "" + }, + "Item_Void_Cast_Iron": { + "name": "角色晋阶材料:量子(银狼 / 希儿 / 青雀)", + "help": "" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "name": "角色晋阶材料:虚数(瓦尔特 / 罗刹 / 驭空)", + "help": "" + }, + "Item_Netherworld_Token": { + "name": "角色晋阶材料:物理(寒鸦 / 银枝)", + "help": "" + }, + "Item_Searing_Steel_Blade": { + "name": "角色晋阶材料:火(桂乃芬 / 托帕&账账)", + "help": "" + }, + "Item_Gelid_Chitin": { + "name": "角色晋阶材料:冰(彦卿 / 镜流 / 阮•梅)", + "help": "" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "name": "角色晋阶材料:雷(卡芙卡 / 景元 / 黄泉)", + "help": "" + }, + "Item_Ascendant_Debris": { + "name": "角色晋阶材料:风(刃 / 藿藿 / 黑天鹅)", + "help": "" + }, + "Item_Nail_of_the_Ape": { + "name": "角色晋阶材料:量子(玲可 / 符玄 / 雪衣)", + "help": "" + }, + "Item_Suppressing_Edict": { + "name": "角色晋阶材料:虚数(丹恒•饮月 / 砂金 / 真理医生)", + "help": "" + }, + "Item_IPC_Work_Permit": { + "name": "角色晋阶材料:物理(波提欧 / 知更鸟)", + "help": "" + }, + "Item_Raging_Heart": { + "name": "角色晋阶材料:火(加拉赫)", + "help": "" + }, + "Item_Dream_Fridge": { + "name": "角色晋阶材料:冰(米沙)", + "help": "" + }, + "Item_Dream_Flamer": { + "name": "角色晋阶材料:量子(花火)", + "help": "" + }, + "Item_Worldbreaker_Blade": { + "name": "行迹材料:毁灭(收容舱段)", + "help": "" + }, + "Item_Arrow_of_the_Starchaser": { + "name": "行迹材料:巡猎(城郊雪原)", + "help": "" + }, + "Item_Key_of_Wisdom": { + "name": "行迹材料:智识(铆钉镇)", + "help": "" + }, + "Item_Safeguard_of_Amber": { + "name": "行迹材料:存护(支援舱段)", + "help": "" + }, + "Item_Obsidian_of_Obsession": { + "name": "行迹材料:虚无(大矿区)", + "help": "" + }, + "Item_Stellaris_Symphony": { + "name": "行迹材料:同谐(机械聚落)", + "help": "" + }, + "Item_Flower_of_Eternity": { + "name": "行迹材料:丰饶(边缘通路)", + "help": "" + }, + "Item_Moon_Madness_Fang": { + "name": "行迹材料:毁灭(鳞渊境)", + "help": "" + }, + "Item_Countertemporal_Shot": { + "name": "行迹材料:巡猎(苏乐达热砂海选会场)", + "help": "" + }, + "Item_Divine_Amber": { + "name": "行迹材料:存护(克劳克影视乐园)", + "help": "" + }, + "Item_Heaven_Incinerator": { + "name": "行迹材料:虚无(丹鼎司)", + "help": "" + }, + "Item_Heavenly_Melody": { + "name": "行迹材料:同谐(白日梦酒店-梦境)", + "help": "" + }, + "Item_Myriad_Fruit": { + "name": "行迹材料:丰饶(绥园)", + "help": "" + }, + "Item_Tracks_of_Destiny": { + "name": "命运的足迹", + "help": "" + }, + "Item_Destroyer_Final_Road": { + "name": "毁灭的开端•历战余响 (空间站「黑塔」)", + "help": "" + }, + "Item_Guardian_Lament": { + "name": "寒潮的落幕•历战余响 (雅利洛-Ⅵ)", + "help": "" + }, + "Item_Regret_of_Infinite_Ochema": { + "name": "不死的神实•历战余响 (仙舟「罗浮」)", + "help": "" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "name": "蛀星的旧靥•历战余响 (空间站「黑塔」)", + "help": "" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "name": "尘梦的赞礼•历战余响 (匹诺康尼)", + "help": "" + }, + "Item_Squirming_Core": { + "name": "蠢动原核", + "help": "" + }, + "Item_Conqueror_Will": { + "name": "践踏的意志", + "help": "" + }, + "Item_Silvermane_Medal": { + "name": "铁卫勋章", + "help": "" + }, + "Item_Ancient_Engine": { + "name": "古代引擎", + "help": "" + }, + "Item_Immortal_Lumintwig": { + "name": "永寿荣枝", + "help": "" + }, + "Item_Artifex_Gyreheart": { + "name": "工造浑心", + "help": "" + }, + "Item_Dream_Making_Engine": { + "name": "造梦马达", + "help": "" + }, + "Item_Shards_of_Desires": { + "name": "欲念碎镜", + "help": "" + } + }, "Weekly": { "_info": { "name": "历战余响设置", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index f3eb18c55..0230d865d 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -529,6 +529,208 @@ "help": "" } }, + "Planner": { + "_info": { + "name": "養成規劃進度", + "help": "" + }, + "Item_Credit": { + "name": "信用點", + "help": "" + }, + "Item_Traveler_Guide": { + "name": "角色經驗", + "help": "" + }, + "Item_Refined_Aether": { + "name": "武器經驗", + "help": "" + }, + "Item_Lost_Crystal": { + "name": "遺失晶塊", + "help": "" + }, + "Item_Broken_Teeth_of_Iron_Wolf": { + "name": "角色晉階材料:物理(娜塔莎 / 克拉拉 / 盧卡 / 素裳)", + "help": "" + }, + "Item_Endotherm_Chitin": { + "name": "角色晉階材料:火(姬子 / 艾絲妲 / 虎克)", + "help": "" + }, + "Item_Horn_of_Snow": { + "name": "角色晉階材料:冰(三月七 / 黑塔 / 傑帕德 / 佩拉)", + "help": "" + }, + "Item_Lightning_Crown_of_the_Past_Shadow": { + "name": "角色晉階材料:雷(阿蘭 / 希露瓦 / 停雲 / 白露)", + "help": "" + }, + "Item_Storm_Eye": { + "name": "角色晉階材料:風(丹恆 / 布洛妮婭 / 桑博)", + "help": "" + }, + "Item_Void_Cast_Iron": { + "name": "角色晉階材料:量子(銀狼 / 希兒 / 青雀)", + "help": "" + }, + "Item_Golden_Crown_of_the_Past_Shadow": { + "name": "角色晉階材料:虛數(瓦爾特 / 羅剎 / 馭空)", + "help": "" + }, + "Item_Netherworld_Token": { + "name": "角色晉階材料:物理(寒鴉 / 銀枝)", + "help": "" + }, + "Item_Searing_Steel_Blade": { + "name": "角色晉階材料:火(桂乃芬 / 托帕&帳帳)", + "help": "" + }, + "Item_Gelid_Chitin": { + "name": "角色晉階材料:冰(彥卿 / 鏡流 / 阮•梅)", + "help": "" + }, + "Item_Shape_Shifter_Lightning_Staff": { + "name": "角色晉階材料:雷(卡芙卡 / 景元 / 黃泉)", + "help": "" + }, + "Item_Ascendant_Debris": { + "name": "角色晉階材料:風(刃 / 藿藿 / 黑天鵝)", + "help": "" + }, + "Item_Nail_of_the_Ape": { + "name": "角色晉階材料:量子(玲可 / 符玄 / 雪衣)", + "help": "" + }, + "Item_Suppressing_Edict": { + "name": "角色晉階材料:虛數(丹恆•飲月 / 砂金 / 真理醫生)", + "help": "" + }, + "Item_IPC_Work_Permit": { + "name": "角色晉階材料:物理(波提歐 / 知更鳥)", + "help": "" + }, + "Item_Raging_Heart": { + "name": "角色晉階材料:火(加拉赫)", + "help": "" + }, + "Item_Dream_Fridge": { + "name": "角色晉階材料:冰(米沙)", + "help": "" + }, + "Item_Dream_Flamer": { + "name": "角色晉階材料:量子(花火)", + "help": "" + }, + "Item_Worldbreaker_Blade": { + "name": "行跡材料:毀滅(收容艙段)", + "help": "" + }, + "Item_Arrow_of_the_Starchaser": { + "name": "行跡材料:巡獵(城郊雪原)", + "help": "" + }, + "Item_Key_of_Wisdom": { + "name": "行跡材料:智識(鉚釘鎮)", + "help": "" + }, + "Item_Safeguard_of_Amber": { + "name": "行跡材料:存護(支援艙段)", + "help": "" + }, + "Item_Obsidian_of_Obsession": { + "name": "行跡材料:虛無(大礦區)", + "help": "" + }, + "Item_Stellaris_Symphony": { + "name": "行跡材料:同諧(機械聚落)", + "help": "" + }, + "Item_Flower_of_Eternity": { + "name": "行跡材料:豐饒(邊緣通道)", + "help": "" + }, + "Item_Moon_Madness_Fang": { + "name": "行跡材料:毀滅(鱗淵境)", + "help": "" + }, + "Item_Countertemporal_Shot": { + "name": "行跡材料:巡獵(蘇樂達熱砂海選會場)", + "help": "" + }, + "Item_Divine_Amber": { + "name": "行跡材料:存護(克勞克影視樂園)", + "help": "" + }, + "Item_Heaven_Incinerator": { + "name": "行跡材料:虛無(丹鼎司)", + "help": "" + }, + "Item_Heavenly_Melody": { + "name": "行跡材料:同諧(白日夢飯店-夢境)", + "help": "" + }, + "Item_Myriad_Fruit": { + "name": "行跡材料:豐饒(綏園)", + "help": "" + }, + "Item_Tracks_of_Destiny": { + "name": "命運的足跡", + "help": "" + }, + "Item_Destroyer_Final_Road": { + "name": "毀滅的開端•歷戰餘響 (太空站「黑塔」)", + "help": "" + }, + "Item_Guardian_Lament": { + "name": "寒潮的落幕•歷戰餘響 (雅利洛-Ⅵ)", + "help": "" + }, + "Item_Regret_of_Infinite_Ochema": { + "name": "不死的神實•歷戰餘響 (仙舟「羅浮」)", + "help": "" + }, + "Item_Past_Evils_of_the_Borehole_Planet_Disaster": { + "name": "蛀星的舊靨•歷戰餘響 (太空站「黑塔」)", + "help": "" + }, + "Item_Lost_Echo_of_the_Shared_Wish": { + "name": "塵夢的讚禮•歷戰餘響 (匹諾康尼)", + "help": "" + }, + "Item_Squirming_Core": { + "name": "蠢動原核", + "help": "" + }, + "Item_Conqueror_Will": { + "name": "踐踏的意志", + "help": "" + }, + "Item_Silvermane_Medal": { + "name": "鐵衛勳章", + "help": "" + }, + "Item_Ancient_Engine": { + "name": "古代引擎", + "help": "" + }, + "Item_Immortal_Lumintwig": { + "name": "永壽榮枝", + "help": "" + }, + "Item_Artifex_Gyreheart": { + "name": "工造渾心", + "help": "" + }, + "Item_Dream_Making_Engine": { + "name": "造夢馬達", + "help": "" + }, + "Item_Shards_of_Desires": { + "name": "欲念碎鏡", + "help": "" + } + }, "Weekly": { "_info": { "name": "歷戰餘響設定", diff --git a/module/config/stored/classes.py b/module/config/stored/classes.py index e66cb299a..0251570eb 100644 --- a/module/config/stored/classes.py +++ b/module/config/stored/classes.py @@ -398,3 +398,9 @@ class StoredBattlePassQuestCavernOfCorrosion(StoredCounter): class StoredBattlePassQuestTrailblazePower(StoredCounter): # Dynamic total from 100 to 1400 LIST_TOTAL = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400] + + +class StoredPlanner(StoredBase): + value: int + total: int + synthesize: int diff --git a/module/config/stored/stored_generated.py b/module/config/stored/stored_generated.py index bcb853b5c..a3a99b164 100644 --- a/module/config/stored/stored_generated.py +++ b/module/config/stored/stored_generated.py @@ -19,6 +19,7 @@ from module.config.stored.classes import ( StoredExpiredAtMonday0400, StoredImmersifier, StoredInt, + StoredPlanner, StoredSimulatedUniverse, StoredSimulatedUniverseElite, StoredTrailblazePower, @@ -32,6 +33,55 @@ class StoredGenerated: CloudRemainSeasonPass = StoredInt("Alas.CloudStorage.CloudRemainSeasonPass") CloudRemainPaid = StoredInt("Alas.CloudStorage.CloudRemainPaid") CloudRemainFree = StoredInt("Alas.CloudStorage.CloudRemainFree") + Item_Credit = StoredPlanner("Dungeon.Planner.Item_Credit") + Item_Traveler_Guide = StoredPlanner("Dungeon.Planner.Item_Traveler_Guide") + Item_Refined_Aether = StoredPlanner("Dungeon.Planner.Item_Refined_Aether") + Item_Lost_Crystal = StoredPlanner("Dungeon.Planner.Item_Lost_Crystal") + Item_Broken_Teeth_of_Iron_Wolf = StoredPlanner("Dungeon.Planner.Item_Broken_Teeth_of_Iron_Wolf") + Item_Endotherm_Chitin = StoredPlanner("Dungeon.Planner.Item_Endotherm_Chitin") + Item_Horn_of_Snow = StoredPlanner("Dungeon.Planner.Item_Horn_of_Snow") + Item_Lightning_Crown_of_the_Past_Shadow = StoredPlanner("Dungeon.Planner.Item_Lightning_Crown_of_the_Past_Shadow") + Item_Storm_Eye = StoredPlanner("Dungeon.Planner.Item_Storm_Eye") + Item_Void_Cast_Iron = StoredPlanner("Dungeon.Planner.Item_Void_Cast_Iron") + Item_Golden_Crown_of_the_Past_Shadow = StoredPlanner("Dungeon.Planner.Item_Golden_Crown_of_the_Past_Shadow") + Item_Netherworld_Token = StoredPlanner("Dungeon.Planner.Item_Netherworld_Token") + Item_Searing_Steel_Blade = StoredPlanner("Dungeon.Planner.Item_Searing_Steel_Blade") + Item_Gelid_Chitin = StoredPlanner("Dungeon.Planner.Item_Gelid_Chitin") + Item_Shape_Shifter_Lightning_Staff = StoredPlanner("Dungeon.Planner.Item_Shape_Shifter_Lightning_Staff") + Item_Ascendant_Debris = StoredPlanner("Dungeon.Planner.Item_Ascendant_Debris") + Item_Nail_of_the_Ape = StoredPlanner("Dungeon.Planner.Item_Nail_of_the_Ape") + Item_Suppressing_Edict = StoredPlanner("Dungeon.Planner.Item_Suppressing_Edict") + Item_IPC_Work_Permit = StoredPlanner("Dungeon.Planner.Item_IPC_Work_Permit") + Item_Raging_Heart = StoredPlanner("Dungeon.Planner.Item_Raging_Heart") + Item_Dream_Fridge = StoredPlanner("Dungeon.Planner.Item_Dream_Fridge") + Item_Dream_Flamer = StoredPlanner("Dungeon.Planner.Item_Dream_Flamer") + Item_Worldbreaker_Blade = StoredPlanner("Dungeon.Planner.Item_Worldbreaker_Blade") + Item_Arrow_of_the_Starchaser = StoredPlanner("Dungeon.Planner.Item_Arrow_of_the_Starchaser") + Item_Key_of_Wisdom = StoredPlanner("Dungeon.Planner.Item_Key_of_Wisdom") + Item_Safeguard_of_Amber = StoredPlanner("Dungeon.Planner.Item_Safeguard_of_Amber") + Item_Obsidian_of_Obsession = StoredPlanner("Dungeon.Planner.Item_Obsidian_of_Obsession") + Item_Stellaris_Symphony = StoredPlanner("Dungeon.Planner.Item_Stellaris_Symphony") + Item_Flower_of_Eternity = StoredPlanner("Dungeon.Planner.Item_Flower_of_Eternity") + Item_Moon_Madness_Fang = StoredPlanner("Dungeon.Planner.Item_Moon_Madness_Fang") + Item_Countertemporal_Shot = StoredPlanner("Dungeon.Planner.Item_Countertemporal_Shot") + Item_Divine_Amber = StoredPlanner("Dungeon.Planner.Item_Divine_Amber") + Item_Heaven_Incinerator = StoredPlanner("Dungeon.Planner.Item_Heaven_Incinerator") + Item_Heavenly_Melody = StoredPlanner("Dungeon.Planner.Item_Heavenly_Melody") + Item_Myriad_Fruit = StoredPlanner("Dungeon.Planner.Item_Myriad_Fruit") + Item_Tracks_of_Destiny = StoredPlanner("Dungeon.Planner.Item_Tracks_of_Destiny") + Item_Destroyer_Final_Road = StoredPlanner("Dungeon.Planner.Item_Destroyer_Final_Road") + Item_Guardian_Lament = StoredPlanner("Dungeon.Planner.Item_Guardian_Lament") + Item_Regret_of_Infinite_Ochema = StoredPlanner("Dungeon.Planner.Item_Regret_of_Infinite_Ochema") + Item_Past_Evils_of_the_Borehole_Planet_Disaster = StoredPlanner("Dungeon.Planner.Item_Past_Evils_of_the_Borehole_Planet_Disaster") + Item_Lost_Echo_of_the_Shared_Wish = StoredPlanner("Dungeon.Planner.Item_Lost_Echo_of_the_Shared_Wish") + Item_Squirming_Core = StoredPlanner("Dungeon.Planner.Item_Squirming_Core") + Item_Conqueror_Will = StoredPlanner("Dungeon.Planner.Item_Conqueror_Will") + Item_Silvermane_Medal = StoredPlanner("Dungeon.Planner.Item_Silvermane_Medal") + Item_Ancient_Engine = StoredPlanner("Dungeon.Planner.Item_Ancient_Engine") + Item_Immortal_Lumintwig = StoredPlanner("Dungeon.Planner.Item_Immortal_Lumintwig") + Item_Artifex_Gyreheart = StoredPlanner("Dungeon.Planner.Item_Artifex_Gyreheart") + Item_Dream_Making_Engine = StoredPlanner("Dungeon.Planner.Item_Dream_Making_Engine") + Item_Shards_of_Desires = StoredPlanner("Dungeon.Planner.Item_Shards_of_Desires") TrailblazePower = StoredTrailblazePower("Dungeon.DungeonStorage.TrailblazePower") Immersifier = StoredImmersifier("Dungeon.DungeonStorage.Immersifier") DungeonDouble = StoredDungeonDouble("Dungeon.DungeonStorage.DungeonDouble") diff --git a/tasks/planner/keywords/classes.py b/tasks/planner/keywords/classes.py index 46619e76c..d58970c03 100644 --- a/tasks/planner/keywords/classes.py +++ b/tasks/planner/keywords/classes.py @@ -2,6 +2,7 @@ from dataclasses import dataclass from functools import cached_property from typing import ClassVar +from module.exception import ScriptError from module.ocr.keyword import Keyword @@ -14,6 +15,29 @@ class ItemBase(Keyword): item_group: int dungeon_id: int + def __post_init__(self): + self.__class__.instances[self.name] = self + + @classmethod + def find_name(cls, name): + """ + Args: + name: Attribute name of keyword. + + Returns: + Keyword instance. + + Raises: + ScriptError: If nothing found. + """ + if isinstance(name, Keyword): + return name + try: + return cls.instances[name] + except KeyError: + # Not found + raise ScriptError(f'Cannot find a {cls.__name__} instance that matches "{name}"') + @cached_property def dungeon(self): """ @@ -44,32 +68,85 @@ class ItemBase(Keyword): def is_rarity_green(self): return self.rarity == 'NotNormal' + @cached_property + def is_ItemAscension(self): + return self.__class__.__name__ == 'ItemAscension' + + @cached_property + def is_ItemCalyx(self): + return self.__class__.__name__ == 'ItemCalyx' + + @cached_property + def is_ItemCurrency(self): + return self.__class__.__name__ == 'ItemCurrency' + + @cached_property + def is_ItemExp(self): + return self.__class__.__name__ == 'ItemExp' + + @cached_property + def is_ItemTrace(self): + return self.__class__.__name__ == 'ItemTrace' + + @cached_property + def is_ItemWeekly(self): + return self.__class__.__name__ == 'ItemWeekly' + + @cached_property + def group_base(self): + if not self.has_group_base: + return self + if self.item_group <= 0: + raise ScriptError(f'Item {self} has no item_group defined, cannot find group_base') + + for instance in self.__class__.instances.values(): + if instance.item_group == self.item_group and instance.is_rarity_purple: + return instance + + raise ScriptError(f'Item {self} has no group_base') + + @cached_property + def has_group_base(self): + return self.is_ItemCalyx or self.is_ItemExp or self.is_ItemTrace + + @cached_property + def is_group_base(self): + if self.has_group_base: + return self.is_rarity_purple + else: + return True + + +""" +Sub item genres don't have `instances` defined, so all objects are in ItemBase.instances +""" + @dataclass(repr=False) class ItemAscension(ItemBase): - instances: ClassVar = {} + pass @dataclass(repr=False) class ItemCalyx(ItemBase): - instances: ClassVar = {} + pass @dataclass(repr=False) class ItemCurrency(ItemBase): - instances: ClassVar = {} + pass @dataclass(repr=False) class ItemExp(ItemBase): - instances: ClassVar = {} + pass @dataclass(repr=False) class ItemTrace(ItemBase): - instances: ClassVar = {} + pass @dataclass(repr=False) class ItemWeekly(ItemBase): - instances: ClassVar = {} + pass