diff --git a/README_CN.md b/README_CN.md index bcfbfb2..ff661e8 100644 --- a/README_CN.md +++ b/README_CN.md @@ -26,7 +26,7 @@ - Python (建议 `3.11` 及以上) - [Node.js](https://nodejs.org/en),我们的前端基于 electron。 -- [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/),需要用其构建 C++ 接口加速计算。 +- [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/),需要用其构建 C++ 接口加速计算,需要勾选MSVC生成工具和Windows 11 SDK。 ### 🎡 开始构建 @@ -50,6 +50,8 @@ pip install -r requirements.txt # 检查依赖安装情况并编译 C++ 接口 pip install -e . ``` +如果报错找不到pybind11,请手动修复path变量或者在import pybind11之前增加 +sys.path.append("C:\\Users\\xxx\\miniconda3\\envs\\ww-toolbox\\Lib\\site-packages") 接下来安装前端依赖并构建前端。 @@ -131,8 +133,17 @@ npm start . ## 📖 文档 -敬请期待。 - +手动数据更新方式(安装版可以手动替换resources下相关目录) +assets\imgs下char、echo、suit文件夹执行 python fetch.py,自动更新图片 +assets\characters.txt 更新新人物名称 +assets\echo.json 通过 generate_tools/echo.html 通过填入数据库链接的网页内容生成,后续会更新更方便的方式 +assets\suit.txt 手动更新套装名称,后续会更新更方便的方式。 +assets\config\entry_coef.yml 修改人物初始词条比重,当前部分人物词条按照qq机器人守岸人提供的权重 + +exe打包流程 +项目目录下 +pyinstaller main.spec 复制dist文件夹内内容到frontend/backend下 +frontend目录下 .\node_modules\.bin\electron-builder.cmd 打包app,最后安装包在dist目录下 ## 📜 开源协议 Wuthering Waves Toolbox 使用 MIT 协议开源。 请参考 [`LICENSE`](./LICENSE)。 \ No newline at end of file diff --git a/assets/characters.txt b/assets/characters.txt index 8cb5704..6bfdfd5 100644 --- a/assets/characters.txt +++ b/assets/characters.txt @@ -1,3 +1,9 @@ +陆·赫斯 Luuk +爱弥斯 Aemeath +莫宁 Monin +琳奈 Lynae +千咲 Chisa +嘉贝莉娜 Galbrena 尤诺 Iuno 奥古斯塔 Augusta 弗洛洛 Phrolova @@ -34,3 +40,6 @@ 莫特斐 Mortefi 渊武 Yuanwu 桃祈 Taoqi +漂泊者·衍射 RoverSpectro +漂泊者·湮灭 RoverHavoc +漂泊者·气动 RoverAero \ No newline at end of file diff --git a/assets/config/entry_coef.yml b/assets/config/entry_coef.yml index cf91e58..b0b1382 100644 --- a/assets/config/entry_coef.yml +++ b/assets/config/entry_coef.yml @@ -4,39 +4,161 @@ Default: cri_dmg: 0.9 resonance_eff: 0.5 +Luuk: + name: "陆·赫斯" + dmg_source: "atk" + coef: + resonance_burst: 0.60 + resonance_eff: 1 + +Aemeath: + name: "爱弥斯" + dmg_source: "atk" + coef: + cri_rate: 2 + cri_dmg: 1 + atk_rate: 1.1 + atk_num: 0.12 + resonance_eff: 0.2 + resonance_burst: 0.77 + +Monin: + name: "莫宁" + dmg_source: "def" + coef: + def_num: 0.1 + def_rate: 1.25 + resonance_eff: 1.3 + cri_rate: 0.1 + cri_dmg: 0.3 + resonance_burst: 0.44 + +Lynae: + name: "琳奈" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.05 + resonance_eff: 0.2 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.792 + resonance_burst: 0.253 + +Chisa: + name: "千咲" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.250 + cri_rate: 2 + cri_dmg: 1 + resonance_burst: 0.605 + +Galbrena: + name: "嘉贝莉娜" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.200 + cri_rate: 2 + cri_dmg: 1 + charged_atk: 0.418 + +Iuno: + name: "尤诺" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.200 + cri_rate: 2 + cri_dmg: 1 + resonance_burst: 0.715 + +Augusta: + name: "奥古斯塔" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.200 + cri_rate: 2 + cri_dmg: 1 + charged_atk: 0.832 + +Phrolova: + name: "弗洛洛" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.1 + cri_rate: 2 + cri_dmg: 1 + resonance_skill: 0.737 + resonance_eff: 0 + Cartethyia: name: "卡提希娅" dmg_source: "hp" coef: - resonance_burst: 0.19 - normal_dmg: 0.66 + hp_num: 0.01 + hp_rate: 1.1 + resonance_eff: 0.1 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.704 + resonance_burst: 0.308 Lupa: name: "露帕" dmg_source: "atk" coef: - resonance_burst: 0.64 - resonance_skill: 0.18 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.2 + cri_rate: 2 + cri_dmg: 1 + resonance_skill: 0.231 + resonance_burst: 0.737 Ciaccona: name: "夏空" dmg_source: "atk" coef: - resonance_eff: 1 - charged_atk: 0.23 - resonance_burst: 0.47 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.3 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.506 + charged_atk: 0.363 + resonance_burst: 0.627 Zani: name: "赞妮" dmg_source: "atk" coef: - charged_atk: 0.76 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.3 + cri_rate: 2 + cri_dmg: 1 + charged_atk: 0.715 + resonance_burst: 0.154 Cantarella: name: "坎特蕾拉" dmg_source: "atk" coef: - normal_dmg: 0.79 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.5 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.660 Brant: name: "布兰特" @@ -47,6 +169,20 @@ Brant: atk_rate: 0.5 atk_num: 0.05 +Phoebe: + name: "菲比" + dmg_source: "atk" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.1 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.088 + charged_atk: 0.660 + resonance_skill: 0.055 + resonance_burst: 0.187 + Roccia: name: "洛可可" dmg_source: "atk" @@ -57,7 +193,12 @@ Carlotta: name: "珂莱塔" dmg_source: "atk" coef: - resonance_skill: 0.75 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.200 + cri_rate: 2 + cri_dmg: 1 + resonance_skill: 0.910 Camellya: name: "椿" @@ -94,15 +235,25 @@ Changli: name: "长离" dmg_source: "atk" coef: - resonance_burst: 0.27 - resonance_skill: 0.59 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.3 + cri_rate: 2 + cri_dmg: 1 + resonance_skill: 0.660 + resonance_burst: 0.440 Jinhsi: name: "今汐" dmg_source: "atk" coef: - resonance_burst: 0.20 - resonance_skill: 0.72 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.250 + cri_rate: 2 + cri_dmg: 1 + resonance_skill: 0.715 + resonance_burst: 0.330 Yinlin: name: "吟霖" @@ -136,7 +287,14 @@ Encore: name: "安可" dmg_source: "atk" coef: - normal_dmg: 0.59 + atk_num: 0.12 + atk_rate: 1.1 + resonance_eff: 0.3 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.660 + resonance_skill: 0.275 + resonance_burst: 0.220 Verina: name: "维里奈" @@ -190,8 +348,14 @@ Chixia: name: "炽霞" dmg_source: "atk" coef: - resonance_burst: 0.35 - resonance_skill: 0.46 + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.5 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.165 + resonance_skill: 0.550 + resonance_burst: 0.440 Sanhua: name: "散华" @@ -239,22 +403,41 @@ Taoqi: resonance_burst: 0.50 resonance_skill: 0.38 -Phrolova: - name: "弗洛洛" +RoverSpectro: + name: "漂泊者·衍射" dmg_source: "atk" - coef: - resonance_skill: 0.40 - resonance_eff: 0 - -Augusta: - name: "奥古斯塔" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.25 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.165 + charged_atk: 0.165 + resonance_skill: 0.660 + resonance_burst: 0.220 + +RoverHavoc: + name: "漂泊者·湮灭" dmg_source: "atk" - coef: - charged_atk: 0.73 - -Iuno: - name: "尤诺" + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.5 + cri_rate: 2 + cri_dmg: 1 + normal_dmg: 0.275 + resonance_skill: 0.220 + resonance_burst: 0.605 + +RoverAero: + name: "漂泊者·气动" dmg_source: "atk" - coef: - resonance_burst: 0.60 - resonance_eff: 1 \ No newline at end of file + coef: + atk_num: 0.1 + atk_rate: 1.1 + resonance_eff: 0.2 + cri_rate: 2 + cri_dmg: 1 + resonance_skill: 0.840 + resonance_burst: 0.216 \ No newline at end of file diff --git a/assets/echo.json b/assets/echo.json index 62027c2..46ffb3f 100644 --- a/assets/echo.json +++ b/assets/echo.json @@ -1,548 +1,530 @@ { - "梦魇·凯尔匹": { + "无铭探索者": { "cost": 4, "suit": [ - "流云逝尽之空", - "愿戴荣光之旅" + "听唤语义之愿" ] }, - "梦魇·辉萤军势": { - "cost": 4, + "锯袭铁影": { + "cost": 3, "suit": [ - "凌冽决断之心", - "高天共奏之曲" + "听唤语义之愿", + "星构寻辉之环", + "逆光跃彩之约" ] }, - "梦魇·哀声鸷": { - "cost": 4, + "探隧重机": { + "cost": 3, "suit": [ - "此间永驻之光" + "听唤语义之愿", + "斑驳粉饰之沫", + "星构寻辉之环" ] }, - "梦魇·燎照之骑": { - "cost": 4, + "隐迹铁影": { + "cost": 3, "suit": [ - "熔山裂谷" + "听唤语义之愿", + "星构寻辉之环", + "逆光跃彩之约" ] }, - "梦魇·无冠者": { - "cost": 4, + "双极·渊陨重锋": { + "cost": 3, "suit": [ - "沉日劫明" + "听唤语义之愿", + "长路启航之星", + "流金溯真之式" ] }, - "梦魇·朔雷之鳞": { - "cost": 4, + "噼啪啪": { + "cost": 1, "suit": [ - "彻空冥雷", - "高天共奏之曲" + "听唤语义之愿", + "斑驳粉饰之沫", + "流金溯真之式", + "逆光跃彩之约" ] }, - "梦魇·云闪之鳞": { - "cost": 4, + "矿岩熊蜂": { + "cost": 1, "suit": [ - "彻空冥雷" + "听唤语义之愿", + "流金溯真之式", + "星构寻辉之环" ] }, - "梦魇·无常凶鹭": { - "cost": 4, + "莳植熊蜂": { + "cost": 1, "suit": [ - "幽夜隐匿之帷" + "听唤语义之愿", + "流金溯真之式", + "逆光跃彩之约" ] }, - "梦魇·飞廉之猩": { + "炉芯机骸": { "cost": 4, "suit": [ - "啸谷长风" + "斑驳粉饰之沫", + "星构寻辉之环" ] }, - "共鸣回响·芙露德莉斯": { - "cost": 4, + "共鸣回响·冠顶苍隼": { + "cost": 3, "suit": [ - "流云逝尽之空", - "愿戴荣光之旅" + "斑驳粉饰之沫", + "长路启航之星" ] }, - "赫卡忒": { - "cost": 4, + "冠顶械隼": { + "cost": 3, "suit": [ - "高天共奏之曲" + "斑驳粉饰之沫", + "长路启航之星" ] }, - "角": { - "cost": 4, + "双极·星升辉铳": { + "cost": 3, "suit": [ - "浮星祛暗" + "斑驳粉饰之沫", + "流金溯真之式" ] }, - "鸣钟之龟": { - "cost": 4, + "影烁者": { + "cost": 1, "suit": [ - "隐世回光", - "轻云出月" + "斑驳粉饰之沫", + "长路启航之星" ] }, - "无妄者": { - "cost": 4, + "颤栗战士": { + "cost": 1, "suit": [ - "沉日劫明" + "斑驳粉饰之沫", + "星构寻辉之环" ] }, - "荣耀狮像": { + "辛吉勒姆": { "cost": 4, "suit": [ - "奔狼燎原之焰" + "长路启航之星" ] }, - "叹息古龙": { - "cost": 4, + "格洛犸图": { + "cost": 3, "suit": [ - "无惧浪涛之勇" + "长路启航之星" ] }, - "异构武装": { - "cost": 4, + "冰盈舞者": { + "cost": 1, "suit": [ - "凌冽决断之心" + "长路启航之星" ] }, - "罗蕾莱": { - "cost": 4, + "岩蛛S4型": { + "cost": 1, "suit": [ - "幽夜隐匿之帷" + "长路启航之星", + "星构寻辉之环", + "逆光跃彩之约" ] }, - "无归的谬误": { + "海维夏": { "cost": 4, "suit": [ - "隐世回光" + "流金溯真之式", + "逆光跃彩之约" ] }, - "辉萤军势": { - "cost": 4, + "莳植机麋": { + "cost": 3, "suit": [ - "凝夜白霜" + "流金溯真之式" ] }, - "燎照之骑": { - "cost": 4, + "风鳞蜃甲": { + "cost": 3, "suit": [ - "熔山裂谷" + "流金溯真之式" ] }, - "哀声鸷": { - "cost": 4, + "霜鳞蜃甲": { + "cost": 3, "suit": [ - "浮星祛暗" + "星构寻辉之环" ] }, - "无冠者": { - "cost": 4, + "重工铁蹄": { + "cost": 3, "suit": [ - "沉日劫明" + "逆光跃彩之约" ] }, - "无常凶鹭": { - "cost": 4, + "矿岩机麋": { + "cost": 3, "suit": [ - "轻云出月" + "逆光跃彩之约" ] }, - "飞廉之猩": { + "共鸣回响·鸣式·利维亚坦": { "cost": 4, "suit": [ - "啸谷长风" + "命理崩毁之弦", + "焚羽猎魔之影" ] }, - "云闪之鳞": { - "cost": 4, + "梦魇·刺玫菇": { + "cost": 3, "suit": [ - "彻空冥雷" + "命理崩毁之弦" ] }, - "朔雷之鳞": { - "cost": 4, + "持刃贵族": { + "cost": 3, "suit": [ - "彻空冥雷" + "命理崩毁之弦", + "无惧浪涛之勇", + "幽夜隐匿之帷" ] }, - "聚械机偶": { - "cost": 4, + "梦魇·侏侏鸵": { + "cost": 1, "suit": [ - "不绝余音" + "命理崩毁之弦" ] }, - "角鳄": { - "cost": 3, + "梦魇·呜咔咔": { + "cost": 1, "suit": [ - "奔狼燎原之焰", - "愿戴荣光之旅" + "命理崩毁之弦" ] }, - "传道者的遗形": { - "cost": 3, + "小翼龙·湮灭": { + "cost": 1, "suit": [ + "命理崩毁之弦", "奔狼燎原之焰", "愿戴荣光之旅" ] }, - "重塑雕像的拳砾": { - "cost": 3, - "suit": [ - "此间永驻之光", - "流云逝尽之空" - ] - }, - "飓力熊": { + "梦魇·绿熔蜥": { "cost": 3, "suit": [ - "无惧浪涛之勇", - "流云逝尽之空" + "焚羽猎魔之影" ] }, - "巨布偶": { + "蚀脊龙": { "cost": 3, "suit": [ - "凌冽决断之心", - "幽夜隐匿之帷" + "焚羽猎魔之影", + "奔狼燎原之焰" ] }, - "荣光节使": { + "角鳄": { "cost": 3, "suit": [ - "此间永驻之光", - "流云逝尽之空", + "焚羽猎魔之影", + "奔狼燎原之焰", "愿戴荣光之旅" ] }, - "浮灵偶": { - "cost": 3, + "梦魇·刺玫菇(稚形)": { + "cost": 1, "suit": [ - "高天共奏之曲", - "无惧浪涛之勇" + "焚羽猎魔之影" ] }, - "凝水贵族": { - "cost": 3, + "梦魇·绿熔蜥(稚形)": { + "cost": 1, "suit": [ - "凌冽决断之心", - "此间永驻之光" + "焚羽猎魔之影" ] }, - "持刃贵族": { - "cost": 3, + "云海妖精": { + "cost": 1, "suit": [ - "幽夜隐匿之帷", - "无惧浪涛之勇" + "焚羽猎魔之影", + "高天共奏之曲", + "幽夜隐匿之帷" ] }, - "毒冠贵族": { - "cost": 3, + "共鸣回响·芬莱克": { + "cost": 4, "suit": [ - "流云逝尽之空", - "隐世回光" + "息界同调之律", + "失序彼岸之梦" ] }, - "暗夜骑士": { - "cost": 3, + "芬莱克": { + "cost": 4, "suit": [ - "凌冽决断之心", - "高天共奏之曲" + "息界同调之律", + "失序彼岸之梦" ] }, - "幻昼骑士": { + "梦魇·青羽鹭": { "cost": 3, "suit": [ - "此间永驻之光", - "无惧浪涛之勇" + "息界同调之律" ] }, - "巡游骑士": { + "重塑雕像的拳砾": { "cost": 3, "suit": [ - "凌冽决断之心", - "幽夜隐匿之帷" + "息界同调之律", + "流云逝尽之空", + "此间永驻之光" ] }, - "游鳞机枢": { - "cost": 3, + "梦魇·啾啾河豚": { + "cost": 1, "suit": [ - "凝夜白霜", - "彻空冥雷" + "息界同调之律" ] }, - "雪鬃狼": { - "cost": 3, + "梦魇·咕咕河豚": { + "cost": 1, "suit": [ - "凝夜白霜", - "轻云出月" + "息界同调之律" ] }, - "巡哨机傀": { - "cost": 3, + "愚金幼岩": { + "cost": 1, "suit": [ - "凝夜白霜", - "浮星祛暗" + "息界同调之律", + "此间永驻之光", + "凌冽决断之心" ] }, - "绿熔蜥": { - "cost": 3, + "海之女": { + "cost": 4, "suit": [ - "熔山裂谷", - "轻云出月" + "荣斗铸锋之冠" ] }, - "踏光兽": { - "cost": 3, + "伪作的神王": { + "cost": 4, "suit": [ - "浮星祛暗" + "荣斗铸锋之冠" ] }, - "磐石守卫": { + "梦魇·紫羽鹭": { "cost": 3, "suit": [ - "浮星祛暗", - "隐世回光" + "荣斗铸锋之冠" ] }, - "振铎乐师": { + "飓力熊": { "cost": 3, "suit": [ - "凝夜白霜", - "沉日劫明" + "荣斗铸锋之冠", + "流云逝尽之空", + "无惧浪涛之勇" ] }, - "冥渊守卫": { - "cost": 3, + "梦魇·巡徊猎手": { + "cost": 1, "suit": [ - "不绝余音", - "隐世回光" + "荣斗铸锋之冠" ] }, - "暗鬃狼": { - "cost": 3, + "梦魇·惊蛰猎手": { + "cost": 1, "suit": [ - "熔山裂谷", - "沉日劫明" + "荣斗铸锋之冠" ] }, - "刺玫菇": { - "cost": 3, + "釉变幼岩": { + "cost": 1, "suit": [ - "凝夜白霜", - "沉日劫明" + "荣斗铸锋之冠", + "无惧浪涛之勇", + "高天共奏之曲" ] }, - "青羽鹭": { - "cost": 3, + "梦魇·赫卡忒": { + "cost": 4, "suit": [ - "浮星祛暗", - "啸谷长风" + "失序彼岸之梦" ] }, - "戏猿": { + "梦魇·振铎乐师": { "cost": 3, "suit": [ - "啸谷长风", - "隐世回光" + "失序彼岸之梦" ] }, - "车刃镰": { + "浮灵偶": { "cost": 3, "suit": [ - "啸谷长风", - "轻云出月" + "失序彼岸之梦", + "无惧浪涛之勇", + "高天共奏之曲" ] }, - "奏谕乐师": { - "cost": 3, - "suit": [ - "彻空冥雷", - "不绝余音" - ] - }, - "紫羽鹭": { - "cost": 3, - "suit": [ - "熔山裂谷", - "彻空冥雷" - ] - }, - "箭簇熊": { - "cost": 3, + "梦魇·破霜猎手": { + "cost": 1, "suit": [ - "不绝余音", - "轻云出月" + "失序彼岸之梦" ] }, - "坚岩斗士": { - "cost": 3, + "梦魇·审判战士": { + "cost": 1, "suit": [ - "隐世回光", - "轻云出月" + "失序彼岸之梦" ] }, - "小翼龙·衍射": { + "幽翎火": { "cost": 1, "suit": [ - "愿戴荣光之旅", - "奔狼燎原之焰" + "失序彼岸之梦", + "幽夜隐匿之帷", + "此间永驻之光" ] }, - "小翼龙·热熔": { - "cost": 1, + "荣耀狮像": { + "cost": 4, "suit": [ - "愿戴荣光之旅", "奔狼燎原之焰" ] }, - "小翼龙·湮灭": { - "cost": 1, + "传道者的遗形": { + "cost": 3, "suit": [ - "愿戴荣光之旅", - "奔狼燎原之焰" + "奔狼燎原之焰", + "愿戴荣光之旅" ] }, "苦信者的作俑": { "cost": 1, "suit": [ - "流云逝尽之空", + "奔狼燎原之焰", "愿戴荣光之旅", - "奔狼燎原之焰" + "流云逝尽之空" ] }, - "慈悲节使": { + "小翼龙·衍射": { "cost": 1, "suit": [ - "流云逝尽之空", + "奔狼燎原之焰", "愿戴荣光之旅" ] }, - "赦罪节使": { + "小翼龙·热熔": { "cost": 1, "suit": [ - "此间永驻之光", - "流云逝尽之空", - "奔狼燎原之焰" + "奔狼燎原之焰", + "愿戴荣光之旅" ] }, - "卫冕节使": { + "小翼龙·导电": { "cost": 1, "suit": [ - "幽夜隐匿之帷", + "奔狼燎原之焰", "流云逝尽之空", - "奔狼燎原之焰" + "幽夜隐匿之帷" ] }, "小翼龙·气动": { "cost": 1, "suit": [ - "无惧浪涛之勇", + "奔狼燎原之焰", "流云逝尽之空", - "奔狼燎原之焰" + "无惧浪涛之勇" ] }, - "小翼龙·导电": { + "赦罪节使": { "cost": 1, "suit": [ - "幽夜隐匿之帷", + "奔狼燎原之焰", "流云逝尽之空", - "奔狼燎原之焰" + "此间永驻之光" ] }, - "小翼龙·冷凝": { + "卫冕节使": { "cost": 1, "suit": [ + "奔狼燎原之焰", "流云逝尽之空", - "愿戴荣光之旅" - ] - }, - "气动棱镜": { - "cost": 1, - "suit": [ - "无惧浪涛之勇", - "此间永驻之光" + "幽夜隐匿之帷" ] }, - "愚金幼岩": { - "cost": 1, + "共鸣回响·芙露德莉斯": { + "cost": 4, "suit": [ - "此间永驻之光", - "凌冽决断之心" + "愿戴荣光之旅", + "流云逝尽之空" ] }, - "釉变幼岩": { - "cost": 1, + "芙露德莉斯": { + "cost": 4, "suit": [ - "无惧浪涛之勇", - "高天共奏之曲" + "愿戴荣光之旅", + "流云逝尽之空" ] }, - "霜鬃狼": { - "cost": 1, + "梦魇·凯尔匹": { + "cost": 4, "suit": [ - "此间永驻之光", - "幽夜隐匿之帷" + "愿戴荣光之旅", + "流云逝尽之空" ] }, - "雷鬃狼": { - "cost": 1, + "荣光节使": { + "cost": 3, "suit": [ - "幽夜隐匿之帷", - "高天共奏之曲" + "愿戴荣光之旅", + "流云逝尽之空", + "此间永驻之光" ] }, - "风鬃狼": { + "小翼龙·冷凝": { "cost": 1, "suit": [ - "凌冽决断之心", - "高天共奏之曲" + "愿戴荣光之旅", + "流云逝尽之空" ] }, - "欺诈奇藏": { + "慈悲节使": { "cost": 1, "suit": [ - "凌冽决断之心", - "幽夜隐匿之帷", - "高天共奏之曲" + "愿戴荣光之旅", + "流云逝尽之空" ] }, - "工头布偶": { - "cost": 1, + "叹息古龙": { + "cost": 4, "suit": [ - "此间永驻之光", "无惧浪涛之勇" ] }, - "寂寞小姐": { - "cost": 1, + "幻昼骑士": { + "cost": 3, "suit": [ - "凌冽决断之心", "无惧浪涛之勇", - "浮星祛暗", - "轻云出月", - "不绝余音" + "此间永驻之光" ] }, - "魔术先生": { + "气动棱镜": { "cost": 1, "suit": [ - "凌冽决断之心", - "高天共奏之曲" + "无惧浪涛之勇", + "此间永驻之光" ] }, - "云海妖精": { + "工头布偶": { "cost": 1, "suit": [ - "幽夜隐匿之帷", - "高天共奏之曲" + "无惧浪涛之勇", + "此间永驻之光" ] }, - "幽翎火": { + "寂寞小姐": { "cost": 1, "suit": [ - "此间永驻之光", - "幽夜隐匿之帷" + "无惧浪涛之勇", + "凌冽决断之心" ] }, "浮灵偶·莱特": { @@ -566,302 +548,572 @@ "此间永驻之光" ] }, - "叮咚咚": { - "cost": 1, + "赫卡忒": { + "cost": 4, "suit": [ - "凝夜白霜", - "浮星祛暗" + "高天共奏之曲" ] }, - "破霜猎手": { - "cost": 1, + "梦魇·辉萤军势": { + "cost": 4, "suit": [ - "凝夜白霜", - "浮星祛暗" + "高天共奏之曲", + "凌冽决断之心" ] }, - "寒霜陆龟": { - "cost": 1, + "梦魇·朔雷之鳞": { + "cost": 4, "suit": [ - "凝夜白霜", - "浮星祛暗" + "高天共奏之曲", + "彻空冥雷" ] }, - "咕咕河豚": { - "cost": 1, + "琉璃刀伶": { + "cost": 3, "suit": [ - "凝夜白霜", - "浮星祛暗" + "高天共奏之曲", + "此间永驻之光" ] }, - "冷凝棱镜": { - "cost": 1, + "毒冠贵族": { + "cost": 3, "suit": [ - "凝夜白霜", - "沉日劫明", - "轻云出月" + "高天共奏之曲", + "凌冽决断之心" ] }, - "热熔棱镜": { - "cost": 1, + "暗夜骑士": { + "cost": 3, "suit": [ - "凝夜白霜", - "熔山裂谷", - "不绝余音" + "高天共奏之曲", + "幽夜隐匿之帷" ] }, - "绿熔蜥(稚形)": { + "欺诈奇藏": { "cost": 1, "suit": [ - "熔山裂谷", - "彻空冥雷", - "不绝余音" + "高天共奏之曲", + "幽夜隐匿之帷", + "凌冽决断之心" ] }, - "鸣泣战士": { + "魔术先生": { "cost": 1, "suit": [ - "熔山裂谷", - "啸谷长风", - "彻空冥雷" + "高天共奏之曲", + "凌冽决断之心" ] }, - "融火虫": { + "雷鬃狼": { "cost": 1, "suit": [ - "熔山裂谷", - "不绝余音" + "高天共奏之曲", + "幽夜隐匿之帷" ] }, - "火鬃狼": { + "风鬃狼": { "cost": 1, "suit": [ - "熔山裂谷", - "隐世回光" + "高天共奏之曲", + "凌冽决断之心" ] }, - "咔嚓嚓": { - "cost": 1, + "罗蕾莱": { + "cost": 4, "suit": [ - "不绝余音", - "隐世回光", - "熔山裂谷" + "幽夜隐匿之帷" ] }, - "阿嗞嗞": { - "cost": 1, + "梦魇·无常凶鹭": { + "cost": 4, "suit": [ - "浮星祛暗", - "轻云出月", - "不绝余音" + "幽夜隐匿之帷" ] }, - "通行灯偶": { - "cost": 1, + "巨布偶": { + "cost": 3, "suit": [ - "熔山裂谷", - "啸谷长风", - "彻空冥雷" - ] + "幽夜隐匿之帷", + "凌冽决断之心" + ] }, - "衍射棱镜": { + "巡游骑士": { + "cost": 3, + "suit": [ + "幽夜隐匿之帷", + "凌冽决断之心" + ] + }, + "霜鬃狼": { "cost": 1, "suit": [ - "熔山裂谷", - "浮星祛暗", + "幽夜隐匿之帷", + "此间永驻之光" + ] + }, + "梦魇·哀声鸷": { + "cost": 4, + "suit": [ + "此间永驻之光" + ] + }, + "凝水贵族": { + "cost": 3, + "suit": [ + "此间永驻之光", + "凌冽决断之心" + ] + }, + "异构武装": { + "cost": 4, + "suit": [ + "凌冽决断之心" + ] + }, + "聚械机偶": { + "cost": 4, + "suit": [ + "不绝余音" + ] + }, + "箭簇熊": { + "cost": 3, + "suit": [ + "不绝余音", + "轻云出月" + ] + }, + "冥渊守卫": { + "cost": 3, + "suit": [ + "不绝余音", + "隐世回光" + ] + }, + "奏谕乐师": { + "cost": 3, + "suit": [ + "不绝余音", "彻空冥雷" ] }, - "游弋蝶": { + "融火虫": { "cost": 1, "suit": [ - "浮星祛暗", - "隐世回光", + "不绝余音", + "熔山裂谷" + ] + }, + "晶螯蝎": { + "cost": 1, + "suit": [ + "不绝余音", "轻云出月" ] }, - "审判战士": { + "抛石幼猿": { "cost": 1, "suit": [ - "沉日劫明", - "浮星祛暗" + "不绝余音", + "啸谷长风" ] }, - "呜咔咔": { + "绿熔蜥(稚形)": { "cost": 1, "suit": [ - "沉日劫明", "不绝余音", - "隐世回光" + "彻空冥雷", + "熔山裂谷" ] }, - "湮灭棱镜": { + "热熔棱镜": { "cost": 1, "suit": [ - "浮星祛暗", - "沉日劫明", - "彻空冥雷" + "不绝余音", + "熔山裂谷", + "凝夜白霜" ] }, - "刺玫菇(稚形)": { + "呜咔咔": { "cost": 1, "suit": [ - "沉日劫明", - "啸谷长风" + "不绝余音", + "隐世回光", + "沉日劫明" ] }, - "呼咻咻": { + "阿嗞嗞": { "cost": 1, "suit": [ - "啸谷长风", + "不绝余音", "轻云出月", - "隐世回光" + "浮星祛暗" ] }, - "啾啾河豚": { + "咔嚓嚓": { "cost": 1, "suit": [ - "啸谷长风", - "沉日劫明" + "不绝余音", + "隐世回光", + "熔山裂谷" ] }, - "巡徊猎手": { + "先锋幼岩": { "cost": 1, "suit": [ - "啸谷长风", + "不绝余音", + "隐世回光", "彻空冥雷" ] }, - "幼猿": { - "cost": 1, + "鸣钟之龟": { + "cost": 4, "suit": [ - "啸谷长风", - "不绝余音" + "轻云出月", + "隐世回光" ] }, - "惊蛰猎手": { - "cost": 1, + "无常凶鹭": { + "cost": 4, "suit": [ - "彻空冥雷", + "轻云出月" + ] + }, + "雪鬃狼": { + "cost": 3, + "suit": [ + "轻云出月", + "凝夜白霜" + ] + }, + "车刃镰": { + "cost": 3, + "suit": [ + "轻云出月", + "啸谷长风" + ] + }, + "绿熔蜥": { + "cost": 3, + "suit": [ + "轻云出月", "熔山裂谷" ] }, - "晶螯蝎": { + "坚岩斗士": { + "cost": 3, + "suit": [ + "轻云出月", + "隐世回光" + ] + }, + "碎獠猪": { "cost": 1, "suit": [ "轻云出月", - "不绝余音" + "啸谷长风", + "凝夜白霜" ] }, - "遁地鼠": { + "游弋蝶": { + "cost": 1, + "suit": [ + "轻云出月", + "隐世回光", + "浮星祛暗" + ] + }, + "冷凝棱镜": { "cost": 1, "suit": [ + "轻云出月", "沉日劫明", "凝夜白霜" ] }, - "先锋幼岩": { + "呼咻咻": { "cost": 1, "suit": [ - "不绝余音", + "轻云出月", "隐世回光", - "彻空冥雷" + "啸谷长风" ] }, "裂变幼岩": { "cost": 1, "suit": [ - "彻空冥雷", + "轻云出月", "隐世回光", - "轻云出月" + "彻空冥雷" ] }, - "碎獠猪": { - "cost": 1, + "无归的谬误": { + "cost": 4, "suit": [ - "凝夜白霜", - "啸谷长风", - "轻云出月" + "隐世回光" + ] + }, + "嚣风戏猿": { + "cost": 3, + "suit": [ + "隐世回光", + "啸谷长风" + ] + }, + "磐石守卫": { + "cost": 3, + "suit": [ + "隐世回光", + "浮星祛暗" ] }, "侏侏鸵": { "cost": 1, "suit": [ - "啸谷长风", - "隐世回光" + "隐世回光", + "啸谷长风" ] }, - "梦魇·赫卡忒": { + "火鬃狼": { + "cost": 1, + "suit": [ + "隐世回光", + "熔山裂谷" + ] + }, + "无妄者": { "cost": 4, "suit": [ - "失序彼岸之梦" + "沉日劫明" ] }, - "芬莱克": { + "无冠者": { "cost": 4, "suit": [ - "失序彼岸之梦", - "息界同调之律" + "沉日劫明" ] }, - "海之女": { + "梦魇·无冠者": { "cost": 4, "suit": [ - "荣斗铸锋之冠" + "沉日劫明" ] }, - "伪作的神王": { + "暗鬃狼": { + "cost": 3, + "suit": [ + "沉日劫明", + "熔山裂谷" + ] + }, + "刺玫菇": { + "cost": 3, + "suit": [ + "沉日劫明", + "凝夜白霜" + ] + }, + "振铎乐师": { + "cost": 3, + "suit": [ + "沉日劫明", + "凝夜白霜" + ] + }, + "刺玫菇(稚形)": { + "cost": 1, + "suit": [ + "沉日劫明", + "啸谷长风" + ] + }, + "遁地鼠": { + "cost": 1, + "suit": [ + "沉日劫明", + "凝夜白霜" + ] + }, + "湮灭棱镜": { + "cost": 1, + "suit": [ + "沉日劫明", + "浮星祛暗", + "彻空冥雷" + ] + }, + "啾啾河豚": { + "cost": 1, + "suit": [ + "沉日劫明", + "啸谷长风" + ] + }, + "审判战士": { + "cost": 1, + "suit": [ + "沉日劫明", + "浮星祛暗" + ] + }, + "角": { "cost": 4, "suit": [ - "荣斗铸锋之冠" + "浮星祛暗" ] }, - "梦魇·青羽鹭": { + "哀声鸷": { + "cost": 4, + "suit": [ + "浮星祛暗" + ] + }, + "踏光兽": { "cost": 3, "suit": [ - "息界同调之律" + "浮星祛暗" ] }, - "梦魇·紫羽鹭": { + "巡哨机傀": { "cost": 3, "suit": [ - "荣斗铸锋之冠" + "浮星祛暗", + "凝夜白霜" ] }, - "梦魇·惊蛰猎手": { + "青羽鹭": { + "cost": 3, + "suit": [ + "浮星祛暗", + "啸谷长风" + ] + }, + "叮咚咚": { "cost": 1, "suit": [ - "荣斗铸锋之冠" + "浮星祛暗", + "凝夜白霜" ] }, - "梦魇·巡徊猎手": { + "寒霜陆龟": { "cost": 1, "suit": [ - "荣斗铸锋之冠" + "浮星祛暗", + "凝夜白霜" ] }, - "梦魇·啾啾河豚": { + "衍射棱镜": { "cost": 1, "suit": [ - "息界同调之律" + "浮星祛暗", + "彻空冥雷", + "熔山裂谷" ] }, - "梦魇·咕咕河豚": { + "咕咕河豚": { "cost": 1, "suit": [ - "息界同调之律" + "浮星祛暗", + "凝夜白霜" ] - }, - "梦魇·审判战士": { + }, + "破霜猎手": { "cost": 1, "suit": [ - "失序彼岸之梦" + "浮星祛暗", + "凝夜白霜" ] }, - "梦魇·破霜猎手": { + "飞廉之猩": { + "cost": 4, + "suit": [ + "啸谷长风" + ] + }, + "梦魇·飞廉之猩": { + "cost": 4, + "suit": [ + "啸谷长风" + ] + }, + "通行灯偶": { "cost": 1, "suit": [ - "失序彼岸之梦" + "啸谷长风", + "彻空冥雷", + "熔山裂谷" + ] + }, + "鸣泣战士": { + "cost": 1, + "suit": [ + "啸谷长风", + "彻空冥雷", + "熔山裂谷" + ] + }, + "巡徊猎手": { + "cost": 1, + "suit": [ + "啸谷长风", + "彻空冥雷" + ] + }, + "云闪之鳞": { + "cost": 4, + "suit": [ + "彻空冥雷" + ] + }, + "朔雷之鳞": { + "cost": 4, + "suit": [ + "彻空冥雷" + ] + }, + "梦魇·云闪之鳞": { + "cost": 4, + "suit": [ + "彻空冥雷" + ] + }, + "游鳞机枢": { + "cost": 3, + "suit": [ + "彻空冥雷", + "凝夜白霜" + ] + }, + "紫羽鹭": { + "cost": 3, + "suit": [ + "彻空冥雷", + "熔山裂谷" + ] + }, + "惊蛰猎手": { + "cost": 1, + "suit": [ + "彻空冥雷", + "熔山裂谷" + ] + }, + "燎照之骑": { + "cost": 4, + "suit": [ + "熔山裂谷" + ] + }, + "梦魇·燎照之骑": { + "cost": 4, + "suit": [ + "熔山裂谷" + ] + }, + "辉萤军势": { + "cost": 4, + "suit": [ + "凝夜白霜" ] } } \ No newline at end of file diff --git a/assets/imgs/char/875c604feea45867a05d6c0b1f6c315c.png b/assets/imgs/char/875c604feea45867a05d6c0b1f6c315c.png deleted file mode 100644 index ca7ba45..0000000 Binary files a/assets/imgs/char/875c604feea45867a05d6c0b1f6c315c.png and /dev/null differ diff --git a/assets/imgs/char/62b28a084f265cff94ea0d62251ba6e3.png b/assets/imgs/char/T_IconRoleHead256_10_UI.png similarity index 100% rename from assets/imgs/char/62b28a084f265cff94ea0d62251ba6e3.png rename to assets/imgs/char/T_IconRoleHead256_10_UI.png diff --git a/assets/imgs/char/03149527efd157a3ad2957c857790583.png b/assets/imgs/char/T_IconRoleHead256_11_UI.png similarity index 100% rename from assets/imgs/char/03149527efd157a3ad2957c857790583.png rename to assets/imgs/char/T_IconRoleHead256_11_UI.png diff --git a/assets/imgs/char/1091b01efd615aedbdb22a0077afd608.png b/assets/imgs/char/T_IconRoleHead256_12_UI.png similarity index 100% rename from assets/imgs/char/1091b01efd615aedbdb22a0077afd608.png rename to assets/imgs/char/T_IconRoleHead256_12_UI.png diff --git a/assets/imgs/char/b4a2b5f194695f96bb4c6f9c00f03643.png b/assets/imgs/char/T_IconRoleHead256_13_UI.png similarity index 100% rename from assets/imgs/char/b4a2b5f194695f96bb4c6f9c00f03643.png rename to assets/imgs/char/T_IconRoleHead256_13_UI.png diff --git a/assets/imgs/char/91cdf01edafb50e58df5a6c2f2d881de.png b/assets/imgs/char/T_IconRoleHead256_14_UI.png similarity index 100% rename from assets/imgs/char/91cdf01edafb50e58df5a6c2f2d881de.png rename to assets/imgs/char/T_IconRoleHead256_14_UI.png diff --git a/assets/imgs/char/42f3433eff215d5c92b4f7e83e15c597.png b/assets/imgs/char/T_IconRoleHead256_15_UI.png similarity index 100% rename from assets/imgs/char/42f3433eff215d5c92b4f7e83e15c597.png rename to assets/imgs/char/T_IconRoleHead256_15_UI.png diff --git a/assets/imgs/char/d513903cea4c55488d22ab9bc3dcbd15.png b/assets/imgs/char/T_IconRoleHead256_17_UI.png similarity index 100% rename from assets/imgs/char/d513903cea4c55488d22ab9bc3dcbd15.png rename to assets/imgs/char/T_IconRoleHead256_17_UI.png diff --git a/assets/imgs/char/6a253fdf0a6954808d1b20ab084a4bac.png b/assets/imgs/char/T_IconRoleHead256_18_UI.png similarity index 100% rename from assets/imgs/char/6a253fdf0a6954808d1b20ab084a4bac.png rename to assets/imgs/char/T_IconRoleHead256_18_UI.png diff --git a/assets/imgs/char/4326fe9b6fef54808d2c91702b25e38f.png b/assets/imgs/char/T_IconRoleHead256_1_UI.png similarity index 100% rename from assets/imgs/char/4326fe9b6fef54808d2c91702b25e38f.png rename to assets/imgs/char/T_IconRoleHead256_1_UI.png diff --git a/assets/imgs/char/d0d34777a2a257daa546bf78d3b9bb0c.png b/assets/imgs/char/T_IconRoleHead256_23_UI.png similarity index 100% rename from assets/imgs/char/d0d34777a2a257daa546bf78d3b9bb0c.png rename to assets/imgs/char/T_IconRoleHead256_23_UI.png diff --git a/assets/imgs/char/4454842e9ec65a49afc1465309de014f.png b/assets/imgs/char/T_IconRoleHead256_24_UI.png similarity index 100% rename from assets/imgs/char/4454842e9ec65a49afc1465309de014f.png rename to assets/imgs/char/T_IconRoleHead256_24_UI.png diff --git a/assets/imgs/char/f2d5b812b9fd50a8bfcb3d6050e56f98.png b/assets/imgs/char/T_IconRoleHead256_25_UI.png similarity index 100% rename from assets/imgs/char/f2d5b812b9fd50a8bfcb3d6050e56f98.png rename to assets/imgs/char/T_IconRoleHead256_25_UI.png diff --git a/assets/imgs/char/6b4c46e978f8599ca90c4287797ad5c4.png b/assets/imgs/char/T_IconRoleHead256_26_UI.png similarity index 100% rename from assets/imgs/char/6b4c46e978f8599ca90c4287797ad5c4.png rename to assets/imgs/char/T_IconRoleHead256_26_UI.png diff --git a/assets/imgs/char/857bbb9e2da45b63921685b4df960694.png b/assets/imgs/char/T_IconRoleHead256_27_UI.png similarity index 100% rename from assets/imgs/char/857bbb9e2da45b63921685b4df960694.png rename to assets/imgs/char/T_IconRoleHead256_27_UI.png diff --git a/assets/imgs/char/40e9b29003de57ea96fb7dd40e9ce217.png b/assets/imgs/char/T_IconRoleHead256_28_UI.png similarity index 100% rename from assets/imgs/char/40e9b29003de57ea96fb7dd40e9ce217.png rename to assets/imgs/char/T_IconRoleHead256_28_UI.png diff --git a/assets/imgs/char/bd908a57c8db56cfb19ef2dc4a95d297.png b/assets/imgs/char/T_IconRoleHead256_29_UI.png similarity index 100% rename from assets/imgs/char/bd908a57c8db56cfb19ef2dc4a95d297.png rename to assets/imgs/char/T_IconRoleHead256_29_UI.png diff --git a/assets/imgs/char/9d50d5bbf4605dd58fb8c9709a1c1768.png b/assets/imgs/char/T_IconRoleHead256_2_UI.png similarity index 100% rename from assets/imgs/char/9d50d5bbf4605dd58fb8c9709a1c1768.png rename to assets/imgs/char/T_IconRoleHead256_2_UI.png diff --git a/assets/imgs/char/c516e06d74b05ca0880bd0971634690c.png b/assets/imgs/char/T_IconRoleHead256_30_UI.png similarity index 100% rename from assets/imgs/char/c516e06d74b05ca0880bd0971634690c.png rename to assets/imgs/char/T_IconRoleHead256_30_UI.png diff --git a/assets/imgs/char/4dd881e822e4549a9fb48e1a58b65868.png b/assets/imgs/char/T_IconRoleHead256_31_UI.png similarity index 100% rename from assets/imgs/char/4dd881e822e4549a9fb48e1a58b65868.png rename to assets/imgs/char/T_IconRoleHead256_31_UI.png diff --git a/assets/imgs/char/8bf09a771d4450cd8e0acb1fdbb94180.png b/assets/imgs/char/T_IconRoleHead256_32_UI.png similarity index 100% rename from assets/imgs/char/8bf09a771d4450cd8e0acb1fdbb94180.png rename to assets/imgs/char/T_IconRoleHead256_32_UI.png diff --git a/assets/imgs/char/45c71bbfe6c750939035133dfa3ec228.png b/assets/imgs/char/T_IconRoleHead256_33_UI.png similarity index 100% rename from assets/imgs/char/45c71bbfe6c750939035133dfa3ec228.png rename to assets/imgs/char/T_IconRoleHead256_33_UI.png diff --git a/assets/imgs/char/1e7aae63194450139a8befb5d8e3937c.png b/assets/imgs/char/T_IconRoleHead256_34_UI.png similarity index 100% rename from assets/imgs/char/1e7aae63194450139a8befb5d8e3937c.png rename to assets/imgs/char/T_IconRoleHead256_34_UI.png diff --git a/assets/imgs/char/65c6ba20a0415d0fbb6c416e993adb3a.png b/assets/imgs/char/T_IconRoleHead256_37_UI.png similarity index 100% rename from assets/imgs/char/65c6ba20a0415d0fbb6c416e993adb3a.png rename to assets/imgs/char/T_IconRoleHead256_37_UI.png diff --git a/assets/imgs/char/85d86de7b4b652c1b2b5f02483f83b44.png b/assets/imgs/char/T_IconRoleHead256_38_UI.png similarity index 100% rename from assets/imgs/char/85d86de7b4b652c1b2b5f02483f83b44.png rename to assets/imgs/char/T_IconRoleHead256_38_UI.png diff --git a/assets/imgs/char/2b7aa2ae49c05a5f8d24d62df7be8bb6.png b/assets/imgs/char/T_IconRoleHead256_3_UI.png similarity index 100% rename from assets/imgs/char/2b7aa2ae49c05a5f8d24d62df7be8bb6.png rename to assets/imgs/char/T_IconRoleHead256_3_UI.png diff --git a/assets/imgs/char/998ddbfbc30155f28eb296e857f76ef8.png b/assets/imgs/char/T_IconRoleHead256_40_UI.png similarity index 100% rename from assets/imgs/char/998ddbfbc30155f28eb296e857f76ef8.png rename to assets/imgs/char/T_IconRoleHead256_40_UI.png diff --git a/assets/imgs/char/bbc6341aa50d5c0f866de08baaf1cab8.png b/assets/imgs/char/T_IconRoleHead256_41_UI.png similarity index 100% rename from assets/imgs/char/bbc6341aa50d5c0f866de08baaf1cab8.png rename to assets/imgs/char/T_IconRoleHead256_41_UI.png diff --git a/assets/imgs/char/3dbb9d35575550938fec3ea8c6f77a03.png b/assets/imgs/char/T_IconRoleHead256_44_UI.png similarity index 100% rename from assets/imgs/char/3dbb9d35575550938fec3ea8c6f77a03.png rename to assets/imgs/char/T_IconRoleHead256_44_UI.png diff --git a/assets/imgs/char/f0429228b7c65db6820e3f29384bf059.png b/assets/imgs/char/T_IconRoleHead256_45_UI.png similarity index 100% rename from assets/imgs/char/f0429228b7c65db6820e3f29384bf059.png rename to assets/imgs/char/T_IconRoleHead256_45_UI.png diff --git a/assets/imgs/char/b48df14a42185743aa32578d77f45bd2.png b/assets/imgs/char/T_IconRoleHead256_46_UI.png similarity index 100% rename from assets/imgs/char/b48df14a42185743aa32578d77f45bd2.png rename to assets/imgs/char/T_IconRoleHead256_46_UI.png diff --git a/assets/imgs/char/383da460b868537ea4732f8d97a8364e.png b/assets/imgs/char/T_IconRoleHead256_48_UI.png similarity index 100% rename from assets/imgs/char/383da460b868537ea4732f8d97a8364e.png rename to assets/imgs/char/T_IconRoleHead256_48_UI.png diff --git a/assets/imgs/char/T_IconRoleHead256_4_UI.png b/assets/imgs/char/T_IconRoleHead256_4_UI.png new file mode 100644 index 0000000..4f685cd Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_4_UI.png differ diff --git a/assets/imgs/char/f5a16eb82dd658c8aa63742686241e49.png b/assets/imgs/char/T_IconRoleHead256_51_UI.png similarity index 100% rename from assets/imgs/char/f5a16eb82dd658c8aa63742686241e49.png rename to assets/imgs/char/T_IconRoleHead256_51_UI.png diff --git a/assets/imgs/char/T_IconRoleHead256_53_UI.png b/assets/imgs/char/T_IconRoleHead256_53_UI.png new file mode 100644 index 0000000..a4ccf1d Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_53_UI.png differ diff --git a/assets/imgs/char/T_IconRoleHead256_54_UI.png b/assets/imgs/char/T_IconRoleHead256_54_UI.png new file mode 100644 index 0000000..b675c32 Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_54_UI.png differ diff --git a/assets/imgs/char/T_IconRoleHead256_55_UI.png b/assets/imgs/char/T_IconRoleHead256_55_UI.png new file mode 100644 index 0000000..a008e41 Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_55_UI.png differ diff --git a/assets/imgs/char/T_IconRoleHead256_56_UI.png b/assets/imgs/char/T_IconRoleHead256_56_UI.png new file mode 100644 index 0000000..98ca3ae Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_56_UI.png differ diff --git a/assets/imgs/char/T_IconRoleHead256_57_UI.png b/assets/imgs/char/T_IconRoleHead256_57_UI.png new file mode 100644 index 0000000..89ddaff Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_57_UI.png differ diff --git a/assets/imgs/char/T_IconRoleHead256_58_UI.png b/assets/imgs/char/T_IconRoleHead256_58_UI.png new file mode 100644 index 0000000..2623ff6 Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_58_UI.png differ diff --git a/assets/imgs/char/10c26012c53f5a729866c39d1bb48172.png b/assets/imgs/char/T_IconRoleHead256_5_UI.png similarity index 100% rename from assets/imgs/char/10c26012c53f5a729866c39d1bb48172.png rename to assets/imgs/char/T_IconRoleHead256_5_UI.png diff --git a/assets/imgs/char/T_IconRoleHead256_60_UI.png b/assets/imgs/char/T_IconRoleHead256_60_UI.png new file mode 100644 index 0000000..686e23c Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_60_UI.png differ diff --git a/assets/imgs/char/T_IconRoleHead256_61_UI.png b/assets/imgs/char/T_IconRoleHead256_61_UI.png new file mode 100644 index 0000000..d1937aa Binary files /dev/null and b/assets/imgs/char/T_IconRoleHead256_61_UI.png differ diff --git a/assets/imgs/char/fdebe848970b56edaa2a3efc0eb8c76e.png b/assets/imgs/char/T_IconRoleHead256_6_UI.png similarity index 100% rename from assets/imgs/char/fdebe848970b56edaa2a3efc0eb8c76e.png rename to assets/imgs/char/T_IconRoleHead256_6_UI.png diff --git a/assets/imgs/char/b5401bdc5e1657f6b72642531be269b5.png b/assets/imgs/char/T_IconRoleHead256_7_UI.png similarity index 100% rename from assets/imgs/char/b5401bdc5e1657f6b72642531be269b5.png rename to assets/imgs/char/T_IconRoleHead256_7_UI.png diff --git a/assets/imgs/char/3b7712d8d6bc5e6fb15458c2c5d3dcc9.png b/assets/imgs/char/T_IconRoleHead256_8_UI.png similarity index 100% rename from assets/imgs/char/3b7712d8d6bc5e6fb15458c2c5d3dcc9.png rename to assets/imgs/char/T_IconRoleHead256_8_UI.png diff --git a/assets/imgs/char/6c9685428ef159de8d3fce94ac10cfe4.png b/assets/imgs/char/T_IconRoleHead256_9_UI.png similarity index 100% rename from assets/imgs/char/6c9685428ef159de8d3fce94ac10cfe4.png rename to assets/imgs/char/T_IconRoleHead256_9_UI.png diff --git a/assets/imgs/char/b06aa273bd535b99b4cff8c62cdb0710.png b/assets/imgs/char/b06aa273bd535b99b4cff8c62cdb0710.png deleted file mode 100644 index ca7ba45..0000000 Binary files a/assets/imgs/char/b06aa273bd535b99b4cff8c62cdb0710.png and /dev/null differ diff --git a/assets/imgs/char/fetch.py b/assets/imgs/char/fetch.py index 41b6e58..f3a3d16 100644 --- a/assets/imgs/char/fetch.py +++ b/assets/imgs/char/fetch.py @@ -2,7 +2,7 @@ import re import json import uuid - +import os base_url = "https://mc.appfeng.com" html = requests.get(base_url + "/avatar").text @@ -14,17 +14,21 @@ "characters": [] } +force = False + for (name, link) in zip(names, links): full_link = base_url + link print(full_link) - img_data = requests.get(full_link).content - index = uuid.uuid5(uuid.NAMESPACE_DNS, name).hex - with open(f"{index}.png", "wb") as img_file: - img_file.write(img_data) + img_name = os.path.basename(link) metadata["characters"].append({ "name": name, - "file": f"{index}.png" + "file": f"{img_name}" }) + if force == False and os.path.exists(img_name): + continue + img_data = requests.get(full_link).content + with open(f"{img_name}", "wb") as img_file: + img_file.write(img_data) with open("metadata.json", "w", encoding="utf-8") as meta_file: json.dump(metadata, meta_file, ensure_ascii=False, indent=4) diff --git a/assets/imgs/char/metadata.json b/assets/imgs/char/metadata.json index 5775b76..5ff0aa1 100644 --- a/assets/imgs/char/metadata.json +++ b/assets/imgs/char/metadata.json @@ -1,172 +1,204 @@ { "characters": [ + { + "name": "爱弥斯", + "file": "T_IconRoleHead256_53_UI.png" + }, + { + "name": "陆·赫斯", + "file": "T_IconRoleHead256_54_UI.png" + }, + { + "name": "莫宁", + "file": "T_IconRoleHead256_61_UI.png" + }, + { + "name": "琳奈", + "file": "T_IconRoleHead256_60_UI.png" + }, + { + "name": "千咲", + "file": "T_IconRoleHead256_57_UI.png" + }, + { + "name": "卜灵", + "file": "T_IconRoleHead256_58_UI.png" + }, + { + "name": "嘉贝莉娜", + "file": "T_IconRoleHead256_55_UI.png" + }, + { + "name": "仇远", + "file": "T_IconRoleHead256_56_UI.png" + }, { "name": "奥古斯塔", - "file": "f5a16eb82dd658c8aa63742686241e49.png" + "file": "T_IconRoleHead256_51_UI.png" }, { "name": "尤诺", - "file": "383da460b868537ea4732f8d97a8364e.png" + "file": "T_IconRoleHead256_48_UI.png" }, { "name": "弗洛洛", - "file": "bbc6341aa50d5c0f866de08baaf1cab8.png" + "file": "T_IconRoleHead256_41_UI.png" }, { "name": "卡提希娅", - "file": "998ddbfbc30155f28eb296e857f76ef8.png" + "file": "T_IconRoleHead256_40_UI.png" }, { "name": "露帕", - "file": "b48df14a42185743aa32578d77f45bd2.png" + "file": "T_IconRoleHead256_46_UI.png" }, { "name": "夏空", - "file": "65c6ba20a0415d0fbb6c416e993adb3a.png" + "file": "T_IconRoleHead256_37_UI.png" }, { "name": "赞妮", - "file": "85d86de7b4b652c1b2b5f02483f83b44.png" + "file": "T_IconRoleHead256_38_UI.png" }, { "name": "坎特蕾拉", - "file": "1e7aae63194450139a8befb5d8e3937c.png" + "file": "T_IconRoleHead256_34_UI.png" }, { "name": "漂泊者·气动", - "file": "875c604feea45867a05d6c0b1f6c315c.png" + "file": "T_IconRoleHead256_4_UI.png" }, { "name": "漂泊者·气动", - "file": "875c604feea45867a05d6c0b1f6c315c.png" + "file": "T_IconRoleHead256_5_UI.png" }, { "name": "布兰特", - "file": "3dbb9d35575550938fec3ea8c6f77a03.png" + "file": "T_IconRoleHead256_44_UI.png" }, { "name": "菲比", - "file": "f0429228b7c65db6820e3f29384bf059.png" + "file": "T_IconRoleHead256_45_UI.png" }, { "name": "洛可可", - "file": "45c71bbfe6c750939035133dfa3ec228.png" + "file": "T_IconRoleHead256_33_UI.png" }, { "name": "珂莱塔", - "file": "8bf09a771d4450cd8e0acb1fdbb94180.png" + "file": "T_IconRoleHead256_32_UI.png" }, { "name": "椿", - "file": "bd908a57c8db56cfb19ef2dc4a95d297.png" + "file": "T_IconRoleHead256_29_UI.png" }, { "name": "灯灯", - "file": "c516e06d74b05ca0880bd0971634690c.png" + "file": "T_IconRoleHead256_30_UI.png" }, { "name": "守岸人", - "file": "40e9b29003de57ea96fb7dd40e9ce217.png" + "file": "T_IconRoleHead256_28_UI.png" }, { "name": "釉瑚", - "file": "4dd881e822e4549a9fb48e1a58b65868.png" + "file": "T_IconRoleHead256_31_UI.png" }, { "name": "折枝", - "file": "857bbb9e2da45b63921685b4df960694.png" + "file": "T_IconRoleHead256_27_UI.png" }, { "name": "相里要", - "file": "f2d5b812b9fd50a8bfcb3d6050e56f98.png" + "file": "T_IconRoleHead256_25_UI.png" }, { "name": "长离", - "file": "6b4c46e978f8599ca90c4287797ad5c4.png" + "file": "T_IconRoleHead256_26_UI.png" }, { "name": "今汐", - "file": "4454842e9ec65a49afc1465309de014f.png" + "file": "T_IconRoleHead256_24_UI.png" }, { "name": "吟霖", - "file": "d513903cea4c55488d22ab9bc3dcbd15.png" + "file": "T_IconRoleHead256_17_UI.png" }, { "name": "忌炎", - "file": "03149527efd157a3ad2957c857790583.png" + "file": "T_IconRoleHead256_11_UI.png" }, { "name": "鉴心", - "file": "d0d34777a2a257daa546bf78d3b9bb0c.png" + "file": "T_IconRoleHead256_23_UI.png" }, { "name": "卡卡罗", - "file": "6a253fdf0a6954808d1b20ab084a4bac.png" + "file": "T_IconRoleHead256_18_UI.png" }, { "name": "安可", - "file": "3b7712d8d6bc5e6fb15458c2c5d3dcc9.png" + "file": "T_IconRoleHead256_8_UI.png" }, { "name": "维里奈", - "file": "2b7aa2ae49c05a5f8d24d62df7be8bb6.png" + "file": "T_IconRoleHead256_3_UI.png" }, { "name": "凌阳", - "file": "91cdf01edafb50e58df5a6c2f2d881de.png" + "file": "T_IconRoleHead256_14_UI.png" }, { "name": "漂泊者·衍射", - "file": "b06aa273bd535b99b4cff8c62cdb0710.png" + "file": "T_IconRoleHead256_4_UI.png" }, { "name": "漂泊者·衍射", - "file": "b06aa273bd535b99b4cff8c62cdb0710.png" + "file": "T_IconRoleHead256_5_UI.png" }, { "name": "漂泊者·湮灭", - "file": "10c26012c53f5a729866c39d1bb48172.png" + "file": "T_IconRoleHead256_4_UI.png" }, { "name": "漂泊者·湮灭", - "file": "10c26012c53f5a729866c39d1bb48172.png" + "file": "T_IconRoleHead256_5_UI.png" }, { "name": "秧秧", - "file": "4326fe9b6fef54808d2c91702b25e38f.png" + "file": "T_IconRoleHead256_1_UI.png" }, { "name": "白芷", - "file": "fdebe848970b56edaa2a3efc0eb8c76e.png" + "file": "T_IconRoleHead256_6_UI.png" }, { "name": "炽霞", - "file": "9d50d5bbf4605dd58fb8c9709a1c1768.png" + "file": "T_IconRoleHead256_2_UI.png" }, { "name": "散华", - "file": "b5401bdc5e1657f6b72642531be269b5.png" + "file": "T_IconRoleHead256_7_UI.png" }, { "name": "秋水", - "file": "1091b01efd615aedbdb22a0077afd608.png" + "file": "T_IconRoleHead256_12_UI.png" }, { "name": "丹瑾", - "file": "62b28a084f265cff94ea0d62251ba6e3.png" + "file": "T_IconRoleHead256_10_UI.png" }, { "name": "莫特斐", - "file": "b4a2b5f194695f96bb4c6f9c00f03643.png" + "file": "T_IconRoleHead256_13_UI.png" }, { "name": "渊武", - "file": "42f3433eff215d5c92b4f7e83e15c597.png" + "file": "T_IconRoleHead256_15_UI.png" }, { "name": "桃祈", - "file": "6c9685428ef159de8d3fce94ac10cfe4.png" + "file": "T_IconRoleHead256_9_UI.png" } ] } \ No newline at end of file diff --git a/assets/imgs/echo/9f5b2fd3d8d65e4aab665a0bb48acc3c.png b/assets/imgs/echo/9f5b2fd3d8d65e4aab665a0bb48acc3c.png deleted file mode 100644 index 8710b73..0000000 Binary files a/assets/imgs/echo/9f5b2fd3d8d65e4aab665a0bb48acc3c.png and /dev/null differ diff --git a/assets/imgs/echo/bfedcddc44865b74839e83b782cfa919.png b/assets/imgs/echo/T_IconMonsterHead_015_UI.png similarity index 100% rename from assets/imgs/echo/bfedcddc44865b74839e83b782cfa919.png rename to assets/imgs/echo/T_IconMonsterHead_015_UI.png diff --git a/assets/imgs/echo/fbdfa81f646054babf85d63be1d4eaa0.png b/assets/imgs/echo/T_IconMonsterHead_025_UI.png similarity index 100% rename from assets/imgs/echo/fbdfa81f646054babf85d63be1d4eaa0.png rename to assets/imgs/echo/T_IconMonsterHead_025_UI.png diff --git a/assets/imgs/echo/b7dee1d7e33f5727a962336cb96cfd0b.png b/assets/imgs/echo/T_IconMonsterHead_035_UI.png similarity index 100% rename from assets/imgs/echo/b7dee1d7e33f5727a962336cb96cfd0b.png rename to assets/imgs/echo/T_IconMonsterHead_035_UI.png diff --git a/assets/imgs/echo/e27e6135d17658b5a1350c3897184cd5.png b/assets/imgs/echo/T_IconMonsterHead_045_UI.png similarity index 100% rename from assets/imgs/echo/e27e6135d17658b5a1350c3897184cd5.png rename to assets/imgs/echo/T_IconMonsterHead_045_UI.png diff --git a/assets/imgs/echo/80d8fac2551856598ba6b3c2f43c70f4.png b/assets/imgs/echo/T_IconMonsterHead_055_UI.png similarity index 100% rename from assets/imgs/echo/80d8fac2551856598ba6b3c2f43c70f4.png rename to assets/imgs/echo/T_IconMonsterHead_055_UI.png diff --git a/assets/imgs/echo/b4faf2ca5a625944941af28769d93e4e.png b/assets/imgs/echo/T_IconMonsterHead_065_UI.png similarity index 100% rename from assets/imgs/echo/b4faf2ca5a625944941af28769d93e4e.png rename to assets/imgs/echo/T_IconMonsterHead_065_UI.png diff --git a/assets/imgs/echo/4fe1a4e33be355a187014a1d1c402e7c.png b/assets/imgs/echo/T_IconMonsterHead_075_UI.png similarity index 100% rename from assets/imgs/echo/4fe1a4e33be355a187014a1d1c402e7c.png rename to assets/imgs/echo/T_IconMonsterHead_075_UI.png diff --git a/assets/imgs/echo/04633ecac8705383aebba07791338e1d.png b/assets/imgs/echo/T_IconMonsterHead_085_UI.png similarity index 100% rename from assets/imgs/echo/04633ecac8705383aebba07791338e1d.png rename to assets/imgs/echo/T_IconMonsterHead_085_UI.png diff --git a/assets/imgs/echo/5685a0b53ab753fe93dc00295637a88e.png b/assets/imgs/echo/T_IconMonsterHead_095_UI.png similarity index 100% rename from assets/imgs/echo/5685a0b53ab753fe93dc00295637a88e.png rename to assets/imgs/echo/T_IconMonsterHead_095_UI.png diff --git a/assets/imgs/echo/3b0302c97696589a82492ed7d51134b7.png b/assets/imgs/echo/T_IconMonsterHead_1000_UI.png similarity index 100% rename from assets/imgs/echo/3b0302c97696589a82492ed7d51134b7.png rename to assets/imgs/echo/T_IconMonsterHead_1000_UI.png diff --git a/assets/imgs/echo/1c54d20879845166a4c529e4f0d49b99.png b/assets/imgs/echo/T_IconMonsterHead_1001_UI.png similarity index 100% rename from assets/imgs/echo/1c54d20879845166a4c529e4f0d49b99.png rename to assets/imgs/echo/T_IconMonsterHead_1001_UI.png diff --git a/assets/imgs/echo/T_IconMonsterHead_1002_UI.png b/assets/imgs/echo/T_IconMonsterHead_1002_UI.png new file mode 100644 index 0000000..4a924cd Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_1002_UI.png differ diff --git a/assets/imgs/echo/45b6d36f3139515288e691783183dad7.png b/assets/imgs/echo/T_IconMonsterHead_1003_UI.png similarity index 100% rename from assets/imgs/echo/45b6d36f3139515288e691783183dad7.png rename to assets/imgs/echo/T_IconMonsterHead_1003_UI.png diff --git a/assets/imgs/echo/3f2c9f98c5dc5493b248ad0bc19c929a.png b/assets/imgs/echo/T_IconMonsterHead_1005_UI.png similarity index 100% rename from assets/imgs/echo/3f2c9f98c5dc5493b248ad0bc19c929a.png rename to assets/imgs/echo/T_IconMonsterHead_1005_UI.png diff --git a/assets/imgs/echo/b5164ba2ecae50c3a4536331b7aee823.png b/assets/imgs/echo/T_IconMonsterHead_105_UI.png similarity index 100% rename from assets/imgs/echo/b5164ba2ecae50c3a4536331b7aee823.png rename to assets/imgs/echo/T_IconMonsterHead_105_UI.png diff --git a/assets/imgs/echo/76c72cb42cf7568397c7e7b320b031a3.png b/assets/imgs/echo/T_IconMonsterHead_115_UI.png similarity index 100% rename from assets/imgs/echo/76c72cb42cf7568397c7e7b320b031a3.png rename to assets/imgs/echo/T_IconMonsterHead_115_UI.png diff --git a/assets/imgs/echo/dbebfe4263dc5bcb97fa223b84d6f03b.png b/assets/imgs/echo/T_IconMonsterHead_125_UI.png similarity index 100% rename from assets/imgs/echo/dbebfe4263dc5bcb97fa223b84d6f03b.png rename to assets/imgs/echo/T_IconMonsterHead_125_UI.png diff --git a/assets/imgs/echo/e1f0011ba39b5fdc98924e6036f8e44a.png b/assets/imgs/echo/T_IconMonsterHead_135_UI.png similarity index 100% rename from assets/imgs/echo/e1f0011ba39b5fdc98924e6036f8e44a.png rename to assets/imgs/echo/T_IconMonsterHead_135_UI.png diff --git a/assets/imgs/echo/ad875effbffe5749863091e44650daee.png b/assets/imgs/echo/T_IconMonsterHead_145_UI.png similarity index 100% rename from assets/imgs/echo/ad875effbffe5749863091e44650daee.png rename to assets/imgs/echo/T_IconMonsterHead_145_UI.png diff --git a/assets/imgs/echo/3280a506079f5f1b976b6bda664ebb0b.png b/assets/imgs/echo/T_IconMonsterHead_155_UI.png similarity index 100% rename from assets/imgs/echo/3280a506079f5f1b976b6bda664ebb0b.png rename to assets/imgs/echo/T_IconMonsterHead_155_UI.png diff --git a/assets/imgs/echo/38e0405c3af558be891cf5e9f8648c3a.png b/assets/imgs/echo/T_IconMonsterHead_165_UI.png similarity index 100% rename from assets/imgs/echo/38e0405c3af558be891cf5e9f8648c3a.png rename to assets/imgs/echo/T_IconMonsterHead_165_UI.png diff --git a/assets/imgs/echo/602ba4fec73e57fe83f101239cb5f117.png b/assets/imgs/echo/T_IconMonsterHead_175_UI.png similarity index 100% rename from assets/imgs/echo/602ba4fec73e57fe83f101239cb5f117.png rename to assets/imgs/echo/T_IconMonsterHead_175_UI.png diff --git a/assets/imgs/echo/44452b606c9d5fb9ae94628c0febdf72.png b/assets/imgs/echo/T_IconMonsterHead_185_UI.png similarity index 100% rename from assets/imgs/echo/44452b606c9d5fb9ae94628c0febdf72.png rename to assets/imgs/echo/T_IconMonsterHead_185_UI.png diff --git a/assets/imgs/echo/d05f9f84195c512eaa323ca7a12f9834.png b/assets/imgs/echo/T_IconMonsterHead_195_UI.png similarity index 100% rename from assets/imgs/echo/d05f9f84195c512eaa323ca7a12f9834.png rename to assets/imgs/echo/T_IconMonsterHead_195_UI.png diff --git a/assets/imgs/echo/933f55d7e26059fc9dbb73352ad75eac.png b/assets/imgs/echo/T_IconMonsterHead_205_UI.png similarity index 100% rename from assets/imgs/echo/933f55d7e26059fc9dbb73352ad75eac.png rename to assets/imgs/echo/T_IconMonsterHead_205_UI.png diff --git a/assets/imgs/echo/291ba2844e8c52dcbb08632079243148.png b/assets/imgs/echo/T_IconMonsterHead_215_UI.png similarity index 100% rename from assets/imgs/echo/291ba2844e8c52dcbb08632079243148.png rename to assets/imgs/echo/T_IconMonsterHead_215_UI.png diff --git a/assets/imgs/echo/3cc4f3c485375f3eb9982166de947a6a.png b/assets/imgs/echo/T_IconMonsterHead_225_UI.png similarity index 100% rename from assets/imgs/echo/3cc4f3c485375f3eb9982166de947a6a.png rename to assets/imgs/echo/T_IconMonsterHead_225_UI.png diff --git a/assets/imgs/echo/aefb6944694b50a2aa5d3e4c9dd24178.png b/assets/imgs/echo/T_IconMonsterHead_226_UI.png similarity index 100% rename from assets/imgs/echo/aefb6944694b50a2aa5d3e4c9dd24178.png rename to assets/imgs/echo/T_IconMonsterHead_226_UI.png diff --git a/assets/imgs/echo/8978c00c424d575ba8d2f193898012c2.png b/assets/imgs/echo/T_IconMonsterHead_235_UI.png similarity index 100% rename from assets/imgs/echo/8978c00c424d575ba8d2f193898012c2.png rename to assets/imgs/echo/T_IconMonsterHead_235_UI.png diff --git a/assets/imgs/echo/6c4f8afdd5fa57ac959be7022a8cc982.png b/assets/imgs/echo/T_IconMonsterHead_245_UI.png similarity index 100% rename from assets/imgs/echo/6c4f8afdd5fa57ac959be7022a8cc982.png rename to assets/imgs/echo/T_IconMonsterHead_245_UI.png diff --git a/assets/imgs/echo/0e4984c4454b52768a7bd7c61aa8d988.png b/assets/imgs/echo/T_IconMonsterHead_255_UI.png similarity index 100% rename from assets/imgs/echo/0e4984c4454b52768a7bd7c61aa8d988.png rename to assets/imgs/echo/T_IconMonsterHead_255_UI.png diff --git a/assets/imgs/echo/60a5f8c0638f5b39a99f4ef8507a0077.png b/assets/imgs/echo/T_IconMonsterHead_265_UI.png similarity index 100% rename from assets/imgs/echo/60a5f8c0638f5b39a99f4ef8507a0077.png rename to assets/imgs/echo/T_IconMonsterHead_265_UI.png diff --git a/assets/imgs/echo/1b47e063a17d5bc183ec6b12d3f2c0ed.png b/assets/imgs/echo/T_IconMonsterHead_275_UI.png similarity index 100% rename from assets/imgs/echo/1b47e063a17d5bc183ec6b12d3f2c0ed.png rename to assets/imgs/echo/T_IconMonsterHead_275_UI.png diff --git a/assets/imgs/echo/8004265d207351b7b78dd79a130bbdbb.png b/assets/imgs/echo/T_IconMonsterHead_285_UI.png similarity index 100% rename from assets/imgs/echo/8004265d207351b7b78dd79a130bbdbb.png rename to assets/imgs/echo/T_IconMonsterHead_285_UI.png diff --git a/assets/imgs/echo/4be83d65e6085add9086ded77055111e.png b/assets/imgs/echo/T_IconMonsterHead_295_UI.png similarity index 100% rename from assets/imgs/echo/4be83d65e6085add9086ded77055111e.png rename to assets/imgs/echo/T_IconMonsterHead_295_UI.png diff --git a/assets/imgs/echo/69d58b29547c5a29835aad2817af9102.png b/assets/imgs/echo/T_IconMonsterHead_305_UI.png similarity index 100% rename from assets/imgs/echo/69d58b29547c5a29835aad2817af9102.png rename to assets/imgs/echo/T_IconMonsterHead_305_UI.png diff --git a/assets/imgs/echo/9589ddcb8ff25442a9290293b5873f42.png b/assets/imgs/echo/T_IconMonsterHead_31037_UI.png similarity index 100% rename from assets/imgs/echo/9589ddcb8ff25442a9290293b5873f42.png rename to assets/imgs/echo/T_IconMonsterHead_31037_UI.png diff --git a/assets/imgs/echo/cfd64b6bf5005b29a708b11a174802a9.png b/assets/imgs/echo/T_IconMonsterHead_31038_UI.png similarity index 100% rename from assets/imgs/echo/cfd64b6bf5005b29a708b11a174802a9.png rename to assets/imgs/echo/T_IconMonsterHead_31038_UI.png diff --git a/assets/imgs/echo/af729e5764dd5ed283acafd487115629.png b/assets/imgs/echo/T_IconMonsterHead_31039_UI.png similarity index 100% rename from assets/imgs/echo/af729e5764dd5ed283acafd487115629.png rename to assets/imgs/echo/T_IconMonsterHead_31039_UI.png diff --git a/assets/imgs/echo/f71432ec26875374858f746ebcb96eed.png b/assets/imgs/echo/T_IconMonsterHead_31040_UI.png similarity index 100% rename from assets/imgs/echo/f71432ec26875374858f746ebcb96eed.png rename to assets/imgs/echo/T_IconMonsterHead_31040_UI.png diff --git a/assets/imgs/echo/b69c7ebbe42b5d9da39f263402c89835.png b/assets/imgs/echo/T_IconMonsterHead_31041_UI.png similarity index 100% rename from assets/imgs/echo/b69c7ebbe42b5d9da39f263402c89835.png rename to assets/imgs/echo/T_IconMonsterHead_31041_UI.png diff --git a/assets/imgs/echo/57455c588b9f59cbb83ed07f8ae5022c.png b/assets/imgs/echo/T_IconMonsterHead_31042_UI.png similarity index 100% rename from assets/imgs/echo/57455c588b9f59cbb83ed07f8ae5022c.png rename to assets/imgs/echo/T_IconMonsterHead_31042_UI.png diff --git a/assets/imgs/echo/3ab2361db2175a079899fdcfdd313625.png b/assets/imgs/echo/T_IconMonsterHead_31043_UI.png similarity index 100% rename from assets/imgs/echo/3ab2361db2175a079899fdcfdd313625.png rename to assets/imgs/echo/T_IconMonsterHead_31043_UI.png diff --git a/assets/imgs/echo/39964b24b5005abe8d9d3f7807f911f9.png b/assets/imgs/echo/T_IconMonsterHead_31044_UI.png similarity index 100% rename from assets/imgs/echo/39964b24b5005abe8d9d3f7807f911f9.png rename to assets/imgs/echo/T_IconMonsterHead_31044_UI.png diff --git a/assets/imgs/echo/d4cf51a9ab825fc6823599ae3bc7a2af.png b/assets/imgs/echo/T_IconMonsterHead_31045_UI.png similarity index 100% rename from assets/imgs/echo/d4cf51a9ab825fc6823599ae3bc7a2af.png rename to assets/imgs/echo/T_IconMonsterHead_31045_UI.png diff --git a/assets/imgs/echo/02246ac503bf50b081492cf260e59607.png b/assets/imgs/echo/T_IconMonsterHead_31046_UI.png similarity index 100% rename from assets/imgs/echo/02246ac503bf50b081492cf260e59607.png rename to assets/imgs/echo/T_IconMonsterHead_31046_UI.png diff --git a/assets/imgs/echo/e9ca21c94d5056e8977af218287496d0.png b/assets/imgs/echo/T_IconMonsterHead_31047_UI.png similarity index 100% rename from assets/imgs/echo/e9ca21c94d5056e8977af218287496d0.png rename to assets/imgs/echo/T_IconMonsterHead_31047_UI.png diff --git a/assets/imgs/echo/b79a489a82e1551481e372a855ad1817.png b/assets/imgs/echo/T_IconMonsterHead_31048_UI.png similarity index 100% rename from assets/imgs/echo/b79a489a82e1551481e372a855ad1817.png rename to assets/imgs/echo/T_IconMonsterHead_31048_UI.png diff --git a/assets/imgs/echo/956d071eae705b9c9c5e7908e4c3ddec.png b/assets/imgs/echo/T_IconMonsterHead_31049_UI.png similarity index 100% rename from assets/imgs/echo/956d071eae705b9c9c5e7908e4c3ddec.png rename to assets/imgs/echo/T_IconMonsterHead_31049_UI.png diff --git a/assets/imgs/echo/b23e3627f6b05b889a454da1a1886c56.png b/assets/imgs/echo/T_IconMonsterHead_31050_UI.png similarity index 100% rename from assets/imgs/echo/b23e3627f6b05b889a454da1a1886c56.png rename to assets/imgs/echo/T_IconMonsterHead_31050_UI.png diff --git a/assets/imgs/echo/6c8ac10368015311b2281f4baba6fc99.png b/assets/imgs/echo/T_IconMonsterHead_31051_UI.png similarity index 100% rename from assets/imgs/echo/6c8ac10368015311b2281f4baba6fc99.png rename to assets/imgs/echo/T_IconMonsterHead_31051_UI.png diff --git a/assets/imgs/echo/62cf2ab95c7a5659a8a5d99d6ef34c51.png b/assets/imgs/echo/T_IconMonsterHead_31052_UI.png similarity index 100% rename from assets/imgs/echo/62cf2ab95c7a5659a8a5d99d6ef34c51.png rename to assets/imgs/echo/T_IconMonsterHead_31052_UI.png diff --git a/assets/imgs/echo/0124df7e90f15ddbb0f889daed19dead.png b/assets/imgs/echo/T_IconMonsterHead_31053_UI.png similarity index 100% rename from assets/imgs/echo/0124df7e90f15ddbb0f889daed19dead.png rename to assets/imgs/echo/T_IconMonsterHead_31053_UI.png diff --git a/assets/imgs/echo/51712a4aa9bb59fb83ce649c86eef964.png b/assets/imgs/echo/T_IconMonsterHead_31054_UI.png similarity index 100% rename from assets/imgs/echo/51712a4aa9bb59fb83ce649c86eef964.png rename to assets/imgs/echo/T_IconMonsterHead_31054_UI.png diff --git a/assets/imgs/echo/d2f92f571f9c5c259ad5b446474dd6bd.png b/assets/imgs/echo/T_IconMonsterHead_31055_UI.png similarity index 100% rename from assets/imgs/echo/d2f92f571f9c5c259ad5b446474dd6bd.png rename to assets/imgs/echo/T_IconMonsterHead_31055_UI.png diff --git a/assets/imgs/echo/e6e931fd7cb45fb8a45dd663b15c54fa.png b/assets/imgs/echo/T_IconMonsterHead_31056_UI.png similarity index 100% rename from assets/imgs/echo/e6e931fd7cb45fb8a45dd663b15c54fa.png rename to assets/imgs/echo/T_IconMonsterHead_31056_UI.png diff --git a/assets/imgs/echo/6ea40b453dc659b39d2ef3cd9bdcf117.png b/assets/imgs/echo/T_IconMonsterHead_31057_UI.png similarity index 100% rename from assets/imgs/echo/6ea40b453dc659b39d2ef3cd9bdcf117.png rename to assets/imgs/echo/T_IconMonsterHead_31057_UI.png diff --git a/assets/imgs/echo/80c7d845a4c458b28356e366a0686e2d.png b/assets/imgs/echo/T_IconMonsterHead_31058_UI.png similarity index 100% rename from assets/imgs/echo/80c7d845a4c458b28356e366a0686e2d.png rename to assets/imgs/echo/T_IconMonsterHead_31058_UI.png diff --git a/assets/imgs/echo/d63636a5d071511e9883630ee425b0a6.png b/assets/imgs/echo/T_IconMonsterHead_31059_UI.png similarity index 100% rename from assets/imgs/echo/d63636a5d071511e9883630ee425b0a6.png rename to assets/imgs/echo/T_IconMonsterHead_31059_UI.png diff --git a/assets/imgs/echo/3a4fc5e75bbe53c69c49cdfa4592c89c.png b/assets/imgs/echo/T_IconMonsterHead_31060_UI.png similarity index 100% rename from assets/imgs/echo/3a4fc5e75bbe53c69c49cdfa4592c89c.png rename to assets/imgs/echo/T_IconMonsterHead_31060_UI.png diff --git a/assets/imgs/echo/5677442b72b2502eabce6707094b389b.png b/assets/imgs/echo/T_IconMonsterHead_31061_UI.png similarity index 100% rename from assets/imgs/echo/5677442b72b2502eabce6707094b389b.png rename to assets/imgs/echo/T_IconMonsterHead_31061_UI.png diff --git a/assets/imgs/echo/6cfac666cced5839b45882dff40ab52e.png b/assets/imgs/echo/T_IconMonsterHead_31062_UI.png similarity index 100% rename from assets/imgs/echo/6cfac666cced5839b45882dff40ab52e.png rename to assets/imgs/echo/T_IconMonsterHead_31062_UI.png diff --git a/assets/imgs/echo/6ddb849e06eb56f9bc80da03de556438.png b/assets/imgs/echo/T_IconMonsterHead_31063_UI.png similarity index 100% rename from assets/imgs/echo/6ddb849e06eb56f9bc80da03de556438.png rename to assets/imgs/echo/T_IconMonsterHead_31063_UI.png diff --git a/assets/imgs/echo/4eff3bb72b4853a799790bc88f01a73e.png b/assets/imgs/echo/T_IconMonsterHead_31064_UI.png similarity index 100% rename from assets/imgs/echo/4eff3bb72b4853a799790bc88f01a73e.png rename to assets/imgs/echo/T_IconMonsterHead_31064_UI.png diff --git a/assets/imgs/echo/f0d8f2c962dd54fdadff96514967b422.png b/assets/imgs/echo/T_IconMonsterHead_31065_UI.png similarity index 100% rename from assets/imgs/echo/f0d8f2c962dd54fdadff96514967b422.png rename to assets/imgs/echo/T_IconMonsterHead_31065_UI.png diff --git a/assets/imgs/echo/0a8b623aabd05783bf5381d052f94713.png b/assets/imgs/echo/T_IconMonsterHead_31066_UI.png similarity index 100% rename from assets/imgs/echo/0a8b623aabd05783bf5381d052f94713.png rename to assets/imgs/echo/T_IconMonsterHead_31066_UI.png diff --git a/assets/imgs/echo/deacb5be814e50a3ad91ea76a3271905.png b/assets/imgs/echo/T_IconMonsterHead_31067_UI.png similarity index 100% rename from assets/imgs/echo/deacb5be814e50a3ad91ea76a3271905.png rename to assets/imgs/echo/T_IconMonsterHead_31067_UI.png diff --git a/assets/imgs/echo/2a50a70fac3d556fa209c1dca385eb65.png b/assets/imgs/echo/T_IconMonsterHead_31068_UI.png similarity index 100% rename from assets/imgs/echo/2a50a70fac3d556fa209c1dca385eb65.png rename to assets/imgs/echo/T_IconMonsterHead_31068_UI.png diff --git a/assets/imgs/echo/T_IconMonsterHead_31072_UI.png b/assets/imgs/echo/T_IconMonsterHead_31072_UI.png new file mode 100644 index 0000000..779784c Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31072_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31073_UI.png b/assets/imgs/echo/T_IconMonsterHead_31073_UI.png new file mode 100644 index 0000000..fd33193 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31073_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31074_UI.png b/assets/imgs/echo/T_IconMonsterHead_31074_UI.png new file mode 100644 index 0000000..b75d3f8 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31074_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31075_UI.png b/assets/imgs/echo/T_IconMonsterHead_31075_UI.png new file mode 100644 index 0000000..7fcf2d6 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31075_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31076_UI.png b/assets/imgs/echo/T_IconMonsterHead_31076_UI.png new file mode 100644 index 0000000..2eb1da5 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31076_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31077_UI.png b/assets/imgs/echo/T_IconMonsterHead_31077_UI.png new file mode 100644 index 0000000..62c252a Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31077_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31078_UI.png b/assets/imgs/echo/T_IconMonsterHead_31078_UI.png new file mode 100644 index 0000000..a8fe23e Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31078_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31079_UI.png b/assets/imgs/echo/T_IconMonsterHead_31079_UI.png new file mode 100644 index 0000000..fa920b7 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31079_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31080_UI.png b/assets/imgs/echo/T_IconMonsterHead_31080_UI.png new file mode 100644 index 0000000..16e3a4a Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31080_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31081_UI.png b/assets/imgs/echo/T_IconMonsterHead_31081_UI.png new file mode 100644 index 0000000..f5aa3db Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31081_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31082_UI.png b/assets/imgs/echo/T_IconMonsterHead_31082_UI.png new file mode 100644 index 0000000..70e4dd2 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31082_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31083_UI.png b/assets/imgs/echo/T_IconMonsterHead_31083_UI.png new file mode 100644 index 0000000..ad2a1df Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31083_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_31084_UI.png b/assets/imgs/echo/T_IconMonsterHead_31084_UI.png new file mode 100644 index 0000000..699cd87 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_31084_UI.png differ diff --git a/assets/imgs/echo/a649d7067f905a7db668112362b58431.png b/assets/imgs/echo/T_IconMonsterHead_315_UI.png similarity index 100% rename from assets/imgs/echo/a649d7067f905a7db668112362b58431.png rename to assets/imgs/echo/T_IconMonsterHead_315_UI.png diff --git a/assets/imgs/echo/aeea5b3c8b8f5b8b944e09c8333cbd12.png b/assets/imgs/echo/T_IconMonsterHead_32022_UI.png similarity index 100% rename from assets/imgs/echo/aeea5b3c8b8f5b8b944e09c8333cbd12.png rename to assets/imgs/echo/T_IconMonsterHead_32022_UI.png diff --git a/assets/imgs/echo/1bb6adf4ac47567294ecb89bc4613fc2.png b/assets/imgs/echo/T_IconMonsterHead_32023_UI.png similarity index 100% rename from assets/imgs/echo/1bb6adf4ac47567294ecb89bc4613fc2.png rename to assets/imgs/echo/T_IconMonsterHead_32023_UI.png diff --git a/assets/imgs/echo/77f4a836e39254d4923d10306c3c6b68.png b/assets/imgs/echo/T_IconMonsterHead_32024_UI.png similarity index 100% rename from assets/imgs/echo/77f4a836e39254d4923d10306c3c6b68.png rename to assets/imgs/echo/T_IconMonsterHead_32024_UI.png diff --git a/assets/imgs/echo/a40cf991860b5616b159f29f4d2b35a8.png b/assets/imgs/echo/T_IconMonsterHead_32025_UI.png similarity index 100% rename from assets/imgs/echo/a40cf991860b5616b159f29f4d2b35a8.png rename to assets/imgs/echo/T_IconMonsterHead_32025_UI.png diff --git a/assets/imgs/echo/449e8774a3c651529ef4fb92ecf64fc4.png b/assets/imgs/echo/T_IconMonsterHead_32026_UI.png similarity index 100% rename from assets/imgs/echo/449e8774a3c651529ef4fb92ecf64fc4.png rename to assets/imgs/echo/T_IconMonsterHead_32026_UI.png diff --git a/assets/imgs/echo/f6db0525b7b75135b2d8e29ebf211a70.png b/assets/imgs/echo/T_IconMonsterHead_32027_UI.png similarity index 100% rename from assets/imgs/echo/f6db0525b7b75135b2d8e29ebf211a70.png rename to assets/imgs/echo/T_IconMonsterHead_32027_UI.png diff --git a/assets/imgs/echo/4a265bed7845519abdb5b5f46f29cda3.png b/assets/imgs/echo/T_IconMonsterHead_32028_UI.png similarity index 100% rename from assets/imgs/echo/4a265bed7845519abdb5b5f46f29cda3.png rename to assets/imgs/echo/T_IconMonsterHead_32028_UI.png diff --git a/assets/imgs/echo/b41efc3828d2524e808b02d9550ada11.png b/assets/imgs/echo/T_IconMonsterHead_32029_UI.png similarity index 100% rename from assets/imgs/echo/b41efc3828d2524e808b02d9550ada11.png rename to assets/imgs/echo/T_IconMonsterHead_32029_UI.png diff --git a/assets/imgs/echo/7ab225e261ec58d094811f3d08b41f50.png b/assets/imgs/echo/T_IconMonsterHead_32030_UI.png similarity index 100% rename from assets/imgs/echo/7ab225e261ec58d094811f3d08b41f50.png rename to assets/imgs/echo/T_IconMonsterHead_32030_UI.png diff --git a/assets/imgs/echo/5649ceedfa3b5ea0a6a739286d62630b.png b/assets/imgs/echo/T_IconMonsterHead_32031_UI.png similarity index 100% rename from assets/imgs/echo/5649ceedfa3b5ea0a6a739286d62630b.png rename to assets/imgs/echo/T_IconMonsterHead_32031_UI.png diff --git a/assets/imgs/echo/063f0f78f6d958e3929a3fa6b091922a.png b/assets/imgs/echo/T_IconMonsterHead_32032_UI.png similarity index 100% rename from assets/imgs/echo/063f0f78f6d958e3929a3fa6b091922a.png rename to assets/imgs/echo/T_IconMonsterHead_32032_UI.png diff --git a/assets/imgs/echo/dbc985e768eb5c07954813a3067a4cee.png b/assets/imgs/echo/T_IconMonsterHead_32033_UI.png similarity index 100% rename from assets/imgs/echo/dbc985e768eb5c07954813a3067a4cee.png rename to assets/imgs/echo/T_IconMonsterHead_32033_UI.png diff --git a/assets/imgs/echo/c2eac85cd3835df582cfebed4b9c6a43.png b/assets/imgs/echo/T_IconMonsterHead_32034_UI.png similarity index 100% rename from assets/imgs/echo/c2eac85cd3835df582cfebed4b9c6a43.png rename to assets/imgs/echo/T_IconMonsterHead_32034_UI.png diff --git a/assets/imgs/echo/f505559b97685ceaacb7c5647558a9f5.png b/assets/imgs/echo/T_IconMonsterHead_32035_UI.png similarity index 100% rename from assets/imgs/echo/f505559b97685ceaacb7c5647558a9f5.png rename to assets/imgs/echo/T_IconMonsterHead_32035_UI.png diff --git a/assets/imgs/echo/698c3ab1e38455658de0dc970df3248e.png b/assets/imgs/echo/T_IconMonsterHead_32036_UI.png similarity index 100% rename from assets/imgs/echo/698c3ab1e38455658de0dc970df3248e.png rename to assets/imgs/echo/T_IconMonsterHead_32036_UI.png diff --git a/assets/imgs/echo/d6e0aca2969f5771af41c7bca17689f5.png b/assets/imgs/echo/T_IconMonsterHead_32037_UI.png similarity index 100% rename from assets/imgs/echo/d6e0aca2969f5771af41c7bca17689f5.png rename to assets/imgs/echo/T_IconMonsterHead_32037_UI.png diff --git a/assets/imgs/echo/11bc3455725351b690751e8f698dc642.png b/assets/imgs/echo/T_IconMonsterHead_32038_UI.png similarity index 100% rename from assets/imgs/echo/11bc3455725351b690751e8f698dc642.png rename to assets/imgs/echo/T_IconMonsterHead_32038_UI.png diff --git a/assets/imgs/echo/2d672693d7c256a2901362d543281ca3.png b/assets/imgs/echo/T_IconMonsterHead_32039_UI.png similarity index 100% rename from assets/imgs/echo/2d672693d7c256a2901362d543281ca3.png rename to assets/imgs/echo/T_IconMonsterHead_32039_UI.png diff --git a/assets/imgs/echo/9eda028f5cf5590489f6942beadc5ba5.png b/assets/imgs/echo/T_IconMonsterHead_32040_UI.png similarity index 100% rename from assets/imgs/echo/9eda028f5cf5590489f6942beadc5ba5.png rename to assets/imgs/echo/T_IconMonsterHead_32040_UI.png diff --git a/assets/imgs/echo/4d878fdd42d85f54ab12ac644e5dbe74.png b/assets/imgs/echo/T_IconMonsterHead_32041_UI.png similarity index 100% rename from assets/imgs/echo/4d878fdd42d85f54ab12ac644e5dbe74.png rename to assets/imgs/echo/T_IconMonsterHead_32041_UI.png diff --git a/assets/imgs/echo/36d94179687350a79ba8b2812c88c54b.png b/assets/imgs/echo/T_IconMonsterHead_32042_UI.png similarity index 100% rename from assets/imgs/echo/36d94179687350a79ba8b2812c88c54b.png rename to assets/imgs/echo/T_IconMonsterHead_32042_UI.png diff --git a/assets/imgs/echo/112a74f48cf95ccd8d862f3c0b04d8c5.png b/assets/imgs/echo/T_IconMonsterHead_32043_UI.png similarity index 100% rename from assets/imgs/echo/112a74f48cf95ccd8d862f3c0b04d8c5.png rename to assets/imgs/echo/T_IconMonsterHead_32043_UI.png diff --git a/assets/imgs/echo/73eea84115eb5eec824eab9ff03bdec6.png b/assets/imgs/echo/T_IconMonsterHead_32044_UI.png similarity index 100% rename from assets/imgs/echo/73eea84115eb5eec824eab9ff03bdec6.png rename to assets/imgs/echo/T_IconMonsterHead_32044_UI.png diff --git a/assets/imgs/echo/8d414e0c4f675368b583860a2ceab1a1.png b/assets/imgs/echo/T_IconMonsterHead_32045_UI.png similarity index 100% rename from assets/imgs/echo/8d414e0c4f675368b583860a2ceab1a1.png rename to assets/imgs/echo/T_IconMonsterHead_32045_UI.png diff --git a/assets/imgs/echo/710a548b3a1e51a0a23a64bbb99f9d28.png b/assets/imgs/echo/T_IconMonsterHead_32046_UI.png similarity index 100% rename from assets/imgs/echo/710a548b3a1e51a0a23a64bbb99f9d28.png rename to assets/imgs/echo/T_IconMonsterHead_32046_UI.png diff --git a/assets/imgs/echo/T_IconMonsterHead_32047_UI.png b/assets/imgs/echo/T_IconMonsterHead_32047_UI.png new file mode 100644 index 0000000..16964f8 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32047_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32048_UI.png b/assets/imgs/echo/T_IconMonsterHead_32048_UI.png new file mode 100644 index 0000000..4e0ce29 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32048_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32049_UI.png b/assets/imgs/echo/T_IconMonsterHead_32049_UI.png new file mode 100644 index 0000000..edc15f8 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32049_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32050_UI.png b/assets/imgs/echo/T_IconMonsterHead_32050_UI.png new file mode 100644 index 0000000..bb1a865 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32050_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32051_UI.png b/assets/imgs/echo/T_IconMonsterHead_32051_UI.png new file mode 100644 index 0000000..cb240d9 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32051_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32052_UI.png b/assets/imgs/echo/T_IconMonsterHead_32052_UI.png new file mode 100644 index 0000000..1a63c3c Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32052_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32053_UI.png b/assets/imgs/echo/T_IconMonsterHead_32053_UI.png new file mode 100644 index 0000000..6c579d8 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32053_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32054_UI.png b/assets/imgs/echo/T_IconMonsterHead_32054_UI.png new file mode 100644 index 0000000..f4abf68 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32054_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32055_UI.png b/assets/imgs/echo/T_IconMonsterHead_32055_UI.png new file mode 100644 index 0000000..aaa6563 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32055_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32056_UI.png b/assets/imgs/echo/T_IconMonsterHead_32056_UI.png new file mode 100644 index 0000000..be46387 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32056_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32057_UI.png b/assets/imgs/echo/T_IconMonsterHead_32057_UI.png new file mode 100644 index 0000000..a184f56 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32057_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32058_UI.png b/assets/imgs/echo/T_IconMonsterHead_32058_UI.png new file mode 100644 index 0000000..3e18111 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32058_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32059_UI.png b/assets/imgs/echo/T_IconMonsterHead_32059_UI.png new file mode 100644 index 0000000..7e99c99 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32059_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32060_UI.png b/assets/imgs/echo/T_IconMonsterHead_32060_UI.png new file mode 100644 index 0000000..a90cd4a Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32060_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_32061_UI.png b/assets/imgs/echo/T_IconMonsterHead_32061_UI.png new file mode 100644 index 0000000..1fc09da Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_32061_UI.png differ diff --git a/assets/imgs/echo/a1a9deb683c4588cb5c0e3966be99e00.png b/assets/imgs/echo/T_IconMonsterHead_325_UI.png similarity index 100% rename from assets/imgs/echo/a1a9deb683c4588cb5c0e3966be99e00.png rename to assets/imgs/echo/T_IconMonsterHead_325_UI.png diff --git a/assets/imgs/echo/fc08b62886ed57b9a5e09f4ff74491a8.png b/assets/imgs/echo/T_IconMonsterHead_326_UI.png similarity index 100% rename from assets/imgs/echo/fc08b62886ed57b9a5e09f4ff74491a8.png rename to assets/imgs/echo/T_IconMonsterHead_326_UI.png diff --git a/assets/imgs/echo/da339ddb7ee455729eac95af0f64fa66.png b/assets/imgs/echo/T_IconMonsterHead_327_UI.png similarity index 100% rename from assets/imgs/echo/da339ddb7ee455729eac95af0f64fa66.png rename to assets/imgs/echo/T_IconMonsterHead_327_UI.png diff --git a/assets/imgs/echo/907a9421b35e53dc9df163785a648994.png b/assets/imgs/echo/T_IconMonsterHead_328_UI.png similarity index 100% rename from assets/imgs/echo/907a9421b35e53dc9df163785a648994.png rename to assets/imgs/echo/T_IconMonsterHead_328_UI.png diff --git a/assets/imgs/echo/20b6d52e8c68512a8ce6ccb0436d2044.png b/assets/imgs/echo/T_IconMonsterHead_329_UI.png similarity index 100% rename from assets/imgs/echo/20b6d52e8c68512a8ce6ccb0436d2044.png rename to assets/imgs/echo/T_IconMonsterHead_329_UI.png diff --git a/assets/imgs/echo/e3652d1520765be7aa828392fff6b31b.png b/assets/imgs/echo/T_IconMonsterHead_33011_UI.png similarity index 100% rename from assets/imgs/echo/e3652d1520765be7aa828392fff6b31b.png rename to assets/imgs/echo/T_IconMonsterHead_33011_UI.png diff --git a/assets/imgs/echo/c1a76a7d8a3e5c4eba19df64e23094de.png b/assets/imgs/echo/T_IconMonsterHead_33012_UI.png similarity index 100% rename from assets/imgs/echo/c1a76a7d8a3e5c4eba19df64e23094de.png rename to assets/imgs/echo/T_IconMonsterHead_33012_UI.png diff --git a/assets/imgs/echo/9e7b54c3876958c9ad379356482cda50.png b/assets/imgs/echo/T_IconMonsterHead_33013_UI.png similarity index 100% rename from assets/imgs/echo/9e7b54c3876958c9ad379356482cda50.png rename to assets/imgs/echo/T_IconMonsterHead_33013_UI.png diff --git a/assets/imgs/echo/e98a9bcc99ac5672ac31c5034f8cb674.png b/assets/imgs/echo/T_IconMonsterHead_33021_UI.png similarity index 100% rename from assets/imgs/echo/e98a9bcc99ac5672ac31c5034f8cb674.png rename to assets/imgs/echo/T_IconMonsterHead_33021_UI.png diff --git a/assets/imgs/echo/0441fc8472f45ac6838a1e6b1ccc82e0.png b/assets/imgs/echo/T_IconMonsterHead_33022_UI.png similarity index 100% rename from assets/imgs/echo/0441fc8472f45ac6838a1e6b1ccc82e0.png rename to assets/imgs/echo/T_IconMonsterHead_33022_UI.png diff --git a/assets/imgs/echo/bf149ebd3d705b46b251bf32295c6cc1.png b/assets/imgs/echo/T_IconMonsterHead_330_UI.png similarity index 100% rename from assets/imgs/echo/bf149ebd3d705b46b251bf32295c6cc1.png rename to assets/imgs/echo/T_IconMonsterHead_330_UI.png diff --git a/assets/imgs/echo/8fc227d195645af8b4b063f4a953d6f5.png b/assets/imgs/echo/T_IconMonsterHead_34010_1_UI.png similarity index 100% rename from assets/imgs/echo/8fc227d195645af8b4b063f4a953d6f5.png rename to assets/imgs/echo/T_IconMonsterHead_34010_1_UI.png diff --git a/assets/imgs/echo/86c5691787715736ba9e2baffee877e9.png b/assets/imgs/echo/T_IconMonsterHead_34012_1_UI.png similarity index 100% rename from assets/imgs/echo/86c5691787715736ba9e2baffee877e9.png rename to assets/imgs/echo/T_IconMonsterHead_34012_1_UI.png diff --git a/assets/imgs/echo/cb7d7d31c3f055a591c94edad7d6e7e1.png b/assets/imgs/echo/T_IconMonsterHead_34012_UI.png similarity index 100% rename from assets/imgs/echo/cb7d7d31c3f055a591c94edad7d6e7e1.png rename to assets/imgs/echo/T_IconMonsterHead_34012_UI.png diff --git a/assets/imgs/echo/de4c25adf3265929b7ac5e2c52f77edb.png b/assets/imgs/echo/T_IconMonsterHead_34013_UI.png similarity index 100% rename from assets/imgs/echo/de4c25adf3265929b7ac5e2c52f77edb.png rename to assets/imgs/echo/T_IconMonsterHead_34013_UI.png diff --git a/assets/imgs/echo/T_IconMonsterHead_34015_2_UI.png b/assets/imgs/echo/T_IconMonsterHead_34015_2_UI.png new file mode 100644 index 0000000..1a88cf3 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_34015_2_UI.png differ diff --git a/assets/imgs/echo/196034d3560a5f66866c8e4d643380c0.png b/assets/imgs/echo/T_IconMonsterHead_34015_UI.png similarity index 100% rename from assets/imgs/echo/196034d3560a5f66866c8e4d643380c0.png rename to assets/imgs/echo/T_IconMonsterHead_34015_UI.png diff --git a/assets/imgs/echo/42d292ee128d5dfebc1f891c8bf02f53.png b/assets/imgs/echo/T_IconMonsterHead_34016_UI.png similarity index 100% rename from assets/imgs/echo/42d292ee128d5dfebc1f891c8bf02f53.png rename to assets/imgs/echo/T_IconMonsterHead_34016_UI.png diff --git a/assets/imgs/echo/0b0ab9e4e30c59a9951ed1b5a255456c.png b/assets/imgs/echo/T_IconMonsterHead_34017_UI.png similarity index 100% rename from assets/imgs/echo/0b0ab9e4e30c59a9951ed1b5a255456c.png rename to assets/imgs/echo/T_IconMonsterHead_34017_UI.png diff --git a/assets/imgs/echo/8a09441f9aff5eaa926d77c14ce763b5.png b/assets/imgs/echo/T_IconMonsterHead_34018_UI.png similarity index 100% rename from assets/imgs/echo/8a09441f9aff5eaa926d77c14ce763b5.png rename to assets/imgs/echo/T_IconMonsterHead_34018_UI.png diff --git a/assets/imgs/echo/T_IconMonsterHead_34020_1_UI.png b/assets/imgs/echo/T_IconMonsterHead_34020_1_UI.png new file mode 100644 index 0000000..924e2df Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_34020_1_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_34021_UI.png b/assets/imgs/echo/T_IconMonsterHead_34021_UI.png new file mode 100644 index 0000000..ab04a72 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_34021_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_34022_UI.png b/assets/imgs/echo/T_IconMonsterHead_34022_UI.png new file mode 100644 index 0000000..34085e7 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_34022_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_34025_UI.png b/assets/imgs/echo/T_IconMonsterHead_34025_UI.png new file mode 100644 index 0000000..0a3177f Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_34025_UI.png differ diff --git a/assets/imgs/echo/T_IconMonsterHead_34026_UI.png b/assets/imgs/echo/T_IconMonsterHead_34026_UI.png new file mode 100644 index 0000000..c7b70fd Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_34026_UI.png differ diff --git a/assets/imgs/echo/c79e84b5ce0b5512a4186b78908400c2.png b/assets/imgs/echo/T_IconMonsterHead_350_UI.png similarity index 100% rename from assets/imgs/echo/c79e84b5ce0b5512a4186b78908400c2.png rename to assets/imgs/echo/T_IconMonsterHead_350_UI.png diff --git a/assets/imgs/echo/8390362b909d5d25be2692cdb3874b9c.png b/assets/imgs/echo/T_IconMonsterHead_969_UI.png similarity index 100% rename from assets/imgs/echo/8390362b909d5d25be2692cdb3874b9c.png rename to assets/imgs/echo/T_IconMonsterHead_969_UI.png diff --git a/assets/imgs/echo/6da550cac5925c4da8a927245a02ff83.png b/assets/imgs/echo/T_IconMonsterHead_970_UI.png similarity index 100% rename from assets/imgs/echo/6da550cac5925c4da8a927245a02ff83.png rename to assets/imgs/echo/T_IconMonsterHead_970_UI.png diff --git a/assets/imgs/echo/b1c5dc36055051dc8f960fbcecbac678.png b/assets/imgs/echo/T_IconMonsterHead_971_UI.png similarity index 100% rename from assets/imgs/echo/b1c5dc36055051dc8f960fbcecbac678.png rename to assets/imgs/echo/T_IconMonsterHead_971_UI.png diff --git a/assets/imgs/echo/6ed88772a0955e21b41b71e4a1f1586f.png b/assets/imgs/echo/T_IconMonsterHead_972_UI.png similarity index 100% rename from assets/imgs/echo/6ed88772a0955e21b41b71e4a1f1586f.png rename to assets/imgs/echo/T_IconMonsterHead_972_UI.png diff --git a/assets/imgs/echo/98d227e76ed056dd8fdf34cc7287551e.png b/assets/imgs/echo/T_IconMonsterHead_973_UI.png similarity index 100% rename from assets/imgs/echo/98d227e76ed056dd8fdf34cc7287551e.png rename to assets/imgs/echo/T_IconMonsterHead_973_UI.png diff --git a/assets/imgs/echo/21927466616256b79976391fcc68ce8a.png b/assets/imgs/echo/T_IconMonsterHead_974_UI.png similarity index 100% rename from assets/imgs/echo/21927466616256b79976391fcc68ce8a.png rename to assets/imgs/echo/T_IconMonsterHead_974_UI.png diff --git a/assets/imgs/echo/a0fa7d01e3325445b3b1137c1dcc4c13.png b/assets/imgs/echo/T_IconMonsterHead_975_UI.png similarity index 100% rename from assets/imgs/echo/a0fa7d01e3325445b3b1137c1dcc4c13.png rename to assets/imgs/echo/T_IconMonsterHead_975_UI.png diff --git a/assets/imgs/echo/T_IconMonsterHead_976_UI.png b/assets/imgs/echo/T_IconMonsterHead_976_UI.png new file mode 100644 index 0000000..47a8ab4 Binary files /dev/null and b/assets/imgs/echo/T_IconMonsterHead_976_UI.png differ diff --git a/assets/imgs/echo/307f7a09be315a84bea2b339ecdd1ce8.png b/assets/imgs/echo/T_IconMonsterHead_977_UI.png similarity index 100% rename from assets/imgs/echo/307f7a09be315a84bea2b339ecdd1ce8.png rename to assets/imgs/echo/T_IconMonsterHead_977_UI.png diff --git a/assets/imgs/echo/8312fffbcaf958b680eaca77ded8c774.png b/assets/imgs/echo/T_IconMonsterHead_978_UI.png similarity index 100% rename from assets/imgs/echo/8312fffbcaf958b680eaca77ded8c774.png rename to assets/imgs/echo/T_IconMonsterHead_978_UI.png diff --git a/assets/imgs/echo/4caa489b9adf5f55b9d5cd3aa0c19382.png b/assets/imgs/echo/T_IconMonsterHead_979_UI.png similarity index 100% rename from assets/imgs/echo/4caa489b9adf5f55b9d5cd3aa0c19382.png rename to assets/imgs/echo/T_IconMonsterHead_979_UI.png diff --git a/assets/imgs/echo/aad134a095935cf3a0b110b695ba497d.png b/assets/imgs/echo/T_IconMonsterHead_980_UI.png similarity index 100% rename from assets/imgs/echo/aad134a095935cf3a0b110b695ba497d.png rename to assets/imgs/echo/T_IconMonsterHead_980_UI.png diff --git a/assets/imgs/echo/cbad8d4669da5462b298ff9003164b38.png b/assets/imgs/echo/T_IconMonsterHead_984_UI.png similarity index 100% rename from assets/imgs/echo/cbad8d4669da5462b298ff9003164b38.png rename to assets/imgs/echo/T_IconMonsterHead_984_UI.png diff --git a/assets/imgs/echo/d2c950399fbe53f6ba3da850470c5b70.png b/assets/imgs/echo/T_IconMonsterHead_985_UI.png similarity index 100% rename from assets/imgs/echo/d2c950399fbe53f6ba3da850470c5b70.png rename to assets/imgs/echo/T_IconMonsterHead_985_UI.png diff --git a/assets/imgs/echo/48116df0794e5916895c5eb78c702411.png b/assets/imgs/echo/T_IconMonsterHead_986_UI.png similarity index 100% rename from assets/imgs/echo/48116df0794e5916895c5eb78c702411.png rename to assets/imgs/echo/T_IconMonsterHead_986_UI.png diff --git a/assets/imgs/echo/7bbf2b96a84a5ecd99fbd658aad7a3d1.png b/assets/imgs/echo/T_IconMonsterHead_987_UI.png similarity index 100% rename from assets/imgs/echo/7bbf2b96a84a5ecd99fbd658aad7a3d1.png rename to assets/imgs/echo/T_IconMonsterHead_987_UI.png diff --git a/assets/imgs/echo/57160c233b77521d94027818d2c9874f.png b/assets/imgs/echo/T_IconMonsterHead_988_UI.png similarity index 100% rename from assets/imgs/echo/57160c233b77521d94027818d2c9874f.png rename to assets/imgs/echo/T_IconMonsterHead_988_UI.png diff --git a/assets/imgs/echo/9ccf13be90d35a64a8555c2a369e4df0.png b/assets/imgs/echo/T_IconMonsterHead_989_UI.png similarity index 100% rename from assets/imgs/echo/9ccf13be90d35a64a8555c2a369e4df0.png rename to assets/imgs/echo/T_IconMonsterHead_989_UI.png diff --git a/assets/imgs/echo/b6ea8d0786505e4ca8e1474860aefdd7.png b/assets/imgs/echo/T_IconMonsterHead_990_UI.png similarity index 100% rename from assets/imgs/echo/b6ea8d0786505e4ca8e1474860aefdd7.png rename to assets/imgs/echo/T_IconMonsterHead_990_UI.png diff --git a/assets/imgs/echo/3734ee85bc2b5e11bcf2ec7b23a2f6e8.png b/assets/imgs/echo/T_IconMonsterHead_992_UI.png similarity index 100% rename from assets/imgs/echo/3734ee85bc2b5e11bcf2ec7b23a2f6e8.png rename to assets/imgs/echo/T_IconMonsterHead_992_UI.png diff --git a/assets/imgs/echo/f4910dbf923752229ed944af27ea93e0.png b/assets/imgs/echo/T_IconMonsterHead_993_UI.png similarity index 100% rename from assets/imgs/echo/f4910dbf923752229ed944af27ea93e0.png rename to assets/imgs/echo/T_IconMonsterHead_993_UI.png diff --git a/assets/imgs/echo/294bea7f06305604a2b24017283cb158.png b/assets/imgs/echo/T_IconMonsterHead_994_UI.png similarity index 100% rename from assets/imgs/echo/294bea7f06305604a2b24017283cb158.png rename to assets/imgs/echo/T_IconMonsterHead_994_UI.png diff --git a/assets/imgs/echo/bb1cbf6820d059e59735ec47f8890aef.png b/assets/imgs/echo/T_IconMonsterHead_995_UI.png similarity index 100% rename from assets/imgs/echo/bb1cbf6820d059e59735ec47f8890aef.png rename to assets/imgs/echo/T_IconMonsterHead_995_UI.png diff --git a/assets/imgs/echo/fcf1c6751a0c58489a3e0814cf881970.png b/assets/imgs/echo/T_IconMonsterHead_996_UI.png similarity index 100% rename from assets/imgs/echo/fcf1c6751a0c58489a3e0814cf881970.png rename to assets/imgs/echo/T_IconMonsterHead_996_UI.png diff --git a/assets/imgs/echo/55867cbdb49e5208b6563de6b9369b53.png b/assets/imgs/echo/T_IconMonsterHead_997_UI.png similarity index 100% rename from assets/imgs/echo/55867cbdb49e5208b6563de6b9369b53.png rename to assets/imgs/echo/T_IconMonsterHead_997_UI.png diff --git a/assets/imgs/echo/6705f6de85ee5ad9bb7c545d42979336.png b/assets/imgs/echo/T_IconMonsterHead_998_UI.png similarity index 100% rename from assets/imgs/echo/6705f6de85ee5ad9bb7c545d42979336.png rename to assets/imgs/echo/T_IconMonsterHead_998_UI.png diff --git a/assets/imgs/echo/7bc48d4bf0c150829ac2c7e250374399.png b/assets/imgs/echo/T_IconMonsterHead_999_UI.png similarity index 100% rename from assets/imgs/echo/7bc48d4bf0c150829ac2c7e250374399.png rename to assets/imgs/echo/T_IconMonsterHead_999_UI.png diff --git a/assets/imgs/echo/c18662d6c1b45751ab6011893a94ca4e.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33014_UI.png similarity index 100% rename from assets/imgs/echo/c18662d6c1b45751ab6011893a94ca4e.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33014_UI.png diff --git a/assets/imgs/echo/7fdf7fbfccb250babc095f4a9bf6c929.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33015_UI.png similarity index 100% rename from assets/imgs/echo/7fdf7fbfccb250babc095f4a9bf6c929.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33015_UI.png diff --git a/assets/imgs/echo/d576b38285ba53f5afe68e8569c22a19.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33016_UI.png similarity index 100% rename from assets/imgs/echo/d576b38285ba53f5afe68e8569c22a19.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33016_UI.png diff --git a/assets/imgs/echo/69e1c01f5aed5e93976fa6e89154862f.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33017_UI.png similarity index 100% rename from assets/imgs/echo/69e1c01f5aed5e93976fa6e89154862f.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33017_UI.png diff --git a/assets/imgs/echo/50628798057e52ed8b88ab611b93feaa.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33018_UI.png similarity index 100% rename from assets/imgs/echo/50628798057e52ed8b88ab611b93feaa.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33018_UI.png diff --git a/assets/imgs/echo/1251927a00b85a448df684507bdd7131.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33019_UI.png similarity index 100% rename from assets/imgs/echo/1251927a00b85a448df684507bdd7131.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33019_UI.png diff --git a/assets/imgs/echo/9fe4ee9527995e2aa1d368b17c7637e9.png b/assets/imgs/echo/T_IconMonsterHead_YZ_33020_UI.png similarity index 100% rename from assets/imgs/echo/9fe4ee9527995e2aa1d368b17c7637e9.png rename to assets/imgs/echo/T_IconMonsterHead_YZ_33020_UI.png diff --git a/assets/imgs/echo/fetch.py b/assets/imgs/echo/fetch.py index cd071d1..de01d4e 100644 --- a/assets/imgs/echo/fetch.py +++ b/assets/imgs/echo/fetch.py @@ -2,7 +2,7 @@ import re import json import uuid - +import os base_url = "https://mc.appfeng.com" html = requests.get(base_url + "/monster").text @@ -11,18 +11,28 @@ links = re.findall(r'
', html) metadata = [] +change_res = ["冠顶苍隼"] +change_target = ["共鸣回响·冠顶苍隼"] +force = False for (name, link) in zip(names, links): full_link = base_url + link print(full_link) - img_data = requests.get(full_link).content - index = uuid.uuid5(uuid.NAMESPACE_DNS, name).hex - with open(f"{index}.png", "wb") as img_file: - img_file.write(img_data) + img_name = os.path.basename(link) + try: + index = change_res.index(name) + name = change_target[index] + except ValueError: + pass metadata.append({ "name": name, - "image": f"{index}.png" + "file": f"{img_name}" }) + if force == False and os.path.exists(img_name): + continue + img_data = requests.get(full_link).content + with open(f"{img_name}", "wb") as img_file: + img_file.write(img_data) with open("metadata.json", "w", encoding="utf-8") as meta_file: json.dump(metadata, meta_file, ensure_ascii=False, indent=4) diff --git a/assets/imgs/echo/metadata.json b/assets/imgs/echo/metadata.json index 17acedd..fcbafe6 100644 --- a/assets/imgs/echo/metadata.json +++ b/assets/imgs/echo/metadata.json @@ -1,594 +1,730 @@ [ + { + "name": "辛吉勒姆", + "file": "T_IconMonsterHead_34025_UI.png" + }, + { + "name": "共鸣回响·鸣式·利维亚坦", + "file": "T_IconMonsterHead_34020_1_UI.png" + }, { "name": "梦魇·赫卡忒", - "image": "42d292ee128d5dfebc1f891c8bf02f53.png" + "file": "T_IconMonsterHead_34016_UI.png" }, { "name": "共鸣回响·芙露德莉斯", - "image": "86c5691787715736ba9e2baffee877e9.png" + "file": "T_IconMonsterHead_34012_1_UI.png" }, { "name": "芙露德莉斯", - "image": "cb7d7d31c3f055a591c94edad7d6e7e1.png" + "file": "T_IconMonsterHead_34012_UI.png" }, { "name": "赫卡忒", - "image": "8fc227d195645af8b4b063f4a953d6f5.png" + "file": "T_IconMonsterHead_34010_1_UI.png" }, { "name": "角", - "image": "da339ddb7ee455729eac95af0f64fa66.png" + "file": "T_IconMonsterHead_327_UI.png" }, { "name": "无妄者", - "image": "6705f6de85ee5ad9bb7c545d42979336.png" + "file": "T_IconMonsterHead_998_UI.png" }, { - "name": "伤痕", - "image": "b6ea8d0786505e4ca8e1474860aefdd7.png" + "name": "伤痕·异生梦魇", + "file": "T_IconMonsterHead_990_UI.png" }, { "name": "鸣钟之龟", - "image": "3734ee85bc2b5e11bcf2ec7b23a2f6e8.png" + "file": "T_IconMonsterHead_992_UI.png" + }, + { + "name": "无铭探索者", + "file": "T_IconMonsterHead_34026_UI.png" + }, + { + "name": "炉芯机骸", + "file": "T_IconMonsterHead_34022_UI.png" + }, + { + "name": "海维夏", + "file": "T_IconMonsterHead_34021_UI.png" }, { "name": "海之女", - "image": "8a09441f9aff5eaa926d77c14ce763b5.png" + "file": "T_IconMonsterHead_34018_UI.png" + }, + { + "name": "共鸣回响·芬莱克", + "file": "T_IconMonsterHead_34015_2_UI.png" }, { "name": "伪作的神王", - "image": "0b0ab9e4e30c59a9951ed1b5a255456c.png" + "file": "T_IconMonsterHead_34017_UI.png" }, { "name": "芬莱克", - "image": "196034d3560a5f66866c8e4d643380c0.png" + "file": "T_IconMonsterHead_34015_UI.png" }, { "name": "荣耀狮像", - "image": "0441fc8472f45ac6838a1e6b1ccc82e0.png" + "file": "T_IconMonsterHead_33022_UI.png" }, { "name": "叹息古龙", - "image": "9e7b54c3876958c9ad379356482cda50.png" + "file": "T_IconMonsterHead_33013_UI.png" }, { "name": "异构武装", - "image": "c1a76a7d8a3e5c4eba19df64e23094de.png" + "file": "T_IconMonsterHead_33012_UI.png" }, { "name": "罗蕾莱", - "image": "e3652d1520765be7aa828392fff6b31b.png" + "file": "T_IconMonsterHead_33011_UI.png" }, { "name": "无归的谬误", - "image": "c79e84b5ce0b5512a4186b78908400c2.png" + "file": "T_IconMonsterHead_350_UI.png" }, { "name": "云闪之鳞", - "image": "aefb6944694b50a2aa5d3e4c9dd24178.png" + "file": "T_IconMonsterHead_226_UI.png" }, { "name": "聚械机偶", - "image": "f4910dbf923752229ed944af27ea93e0.png" + "file": "T_IconMonsterHead_993_UI.png" }, { "name": "哀声鸷", - "image": "55867cbdb49e5208b6563de6b9369b53.png" + "file": "T_IconMonsterHead_997_UI.png" }, { "name": "飞廉之猩", - "image": "fcf1c6751a0c58489a3e0814cf881970.png" + "file": "T_IconMonsterHead_996_UI.png" }, { "name": "辉萤军势", - "image": "294bea7f06305604a2b24017283cb158.png" + "file": "T_IconMonsterHead_994_UI.png" }, { "name": "无常凶鹭", - "image": "bb1cbf6820d059e59735ec47f8890aef.png" + "file": "T_IconMonsterHead_995_UI.png" }, { "name": "燎照之骑", - "image": "a1a9deb683c4588cb5c0e3966be99e00.png" + "file": "T_IconMonsterHead_325_UI.png" }, { "name": "无冠者", - "image": "7bc48d4bf0c150829ac2c7e250374399.png" + "file": "T_IconMonsterHead_999_UI.png" }, { "name": "朔雷之鳞", - "image": "3cc4f3c485375f3eb9982166de947a6a.png" + "file": "T_IconMonsterHead_225_UI.png" + }, + { + "name": "格洛犸图", + "file": "T_IconMonsterHead_32061_UI.png" + }, + { + "name": "共鸣回响·冠顶苍隼", + "file": "T_IconMonsterHead_32060_UI.png" + }, + { + "name": "冠顶械隼", + "file": "T_IconMonsterHead_32059_UI.png" + }, + { + "name": "锯袭铁影", + "file": "T_IconMonsterHead_32055_UI.png" + }, + { + "name": "探隧重机", + "file": "T_IconMonsterHead_32054_UI.png" + }, + { + "name": "重工铁蹄", + "file": "T_IconMonsterHead_32053_UI.png" + }, + { + "name": "矿岩机麋", + "file": "T_IconMonsterHead_32052_UI.png" + }, + { + "name": "莳植机麋", + "file": "T_IconMonsterHead_32051_UI.png" + }, + { + "name": "风鳞蜃甲", + "file": "T_IconMonsterHead_32058_UI.png" + }, + { + "name": "霜鳞蜃甲", + "file": "T_IconMonsterHead_32057_UI.png" + }, + { + "name": "隐迹铁影", + "file": "T_IconMonsterHead_32056_UI.png" + }, + { + "name": "双极·渊陨重锋", + "file": "T_IconMonsterHead_32050_UI.png" + }, + { + "name": "双极·星升辉铳", + "file": "T_IconMonsterHead_32049_UI.png" + }, + { + "name": "梦魇·刺玫菇", + "file": "T_IconMonsterHead_32048_UI.png" + }, + { + "name": "梦魇·绿熔蜥", + "file": "T_IconMonsterHead_32047_UI.png" }, { "name": "梦魇·青羽鹭", - "image": "710a548b3a1e51a0a23a64bbb99f9d28.png" + "file": "T_IconMonsterHead_32046_UI.png" }, { "name": "梦魇·紫羽鹭", - "image": "8d414e0c4f675368b583860a2ceab1a1.png" + "file": "T_IconMonsterHead_32045_UI.png" }, { "name": "蚀脊龙", - "image": "73eea84115eb5eec824eab9ff03bdec6.png" + "file": "T_IconMonsterHead_32044_UI.png" }, { "name": "梦魇·振铎乐师", - "image": "112a74f48cf95ccd8d862f3c0b04d8c5.png" + "file": "T_IconMonsterHead_32043_UI.png" }, { "name": "裁夺者", - "image": "36d94179687350a79ba8b2812c88c54b.png" + "file": "T_IconMonsterHead_32042_UI.png" }, { "name": "冥冠角斗家", - "image": "4d878fdd42d85f54ab12ac644e5dbe74.png" + "file": "T_IconMonsterHead_32041_UI.png" }, { "name": "雷冠角斗家", - "image": "9eda028f5cf5590489f6942beadc5ba5.png" + "file": "T_IconMonsterHead_32040_UI.png" }, { "name": "凛冠角斗家", - "image": "2d672693d7c256a2901362d543281ca3.png" + "file": "T_IconMonsterHead_32039_UI.png" }, { "name": "耀冠角斗家", - "image": "11bc3455725351b690751e8f698dc642.png" + "file": "T_IconMonsterHead_32038_UI.png" }, { "name": "羽冠角斗家", - "image": "d6e0aca2969f5771af41c7bca17689f5.png" + "file": "T_IconMonsterHead_32037_UI.png" }, { "name": "炽冠角斗家", - "image": "698c3ab1e38455658de0dc970df3248e.png" + "file": "T_IconMonsterHead_32036_UI.png" }, { "name": "梦魇·凯尔匹", - "image": "e98a9bcc99ac5672ac31c5034f8cb674.png" + "file": "T_IconMonsterHead_33021_UI.png" }, { "name": "传道者的遗形", - "image": "c2eac85cd3835df582cfebed4b9c6a43.png" + "file": "T_IconMonsterHead_32034_UI.png" }, { "name": "角鳄", - "image": "6cfac666cced5839b45882dff40ab52e.png" + "file": "T_IconMonsterHead_31062_UI.png" }, { "name": "梦魇·辉萤军势", - "image": "de4c25adf3265929b7ac5e2c52f77edb.png" + "file": "T_IconMonsterHead_34013_UI.png" }, { "name": "荣光节使", - "image": "dbc985e768eb5c07954813a3067a4cee.png" + "file": "T_IconMonsterHead_32033_UI.png" }, { "name": "飓力熊", - "image": "063f0f78f6d958e3929a3fa6b091922a.png" + "file": "T_IconMonsterHead_32032_UI.png" }, { "name": "重塑雕像的拳砾", - "image": "5649ceedfa3b5ea0a6a739286d62630b.png" + "file": "T_IconMonsterHead_32031_UI.png" }, { "name": "梦魇·哀声鸷", - "image": "9fe4ee9527995e2aa1d368b17c7637e9.png" + "file": "T_IconMonsterHead_YZ_33020_UI.png" }, { "name": "梦魇·燎照之骑", - "image": "1251927a00b85a448df684507bdd7131.png" + "file": "T_IconMonsterHead_YZ_33019_UI.png" }, { "name": "梦魇·无冠者", - "image": "50628798057e52ed8b88ab611b93feaa.png" + "file": "T_IconMonsterHead_YZ_33018_UI.png" }, { "name": "梦魇·朔雷之鳞", - "image": "69e1c01f5aed5e93976fa6e89154862f.png" + "file": "T_IconMonsterHead_YZ_33017_UI.png" }, { "name": "梦魇·云闪之鳞", - "image": "d576b38285ba53f5afe68e8569c22a19.png" + "file": "T_IconMonsterHead_YZ_33016_UI.png" }, { "name": "梦魇·无常凶鹭", - "image": "7fdf7fbfccb250babc095f4a9bf6c929.png" + "file": "T_IconMonsterHead_YZ_33015_UI.png" }, { "name": "梦魇·飞廉之猩", - "image": "c18662d6c1b45751ab6011893a94ca4e.png" + "file": "T_IconMonsterHead_YZ_33014_UI.png" }, { "name": "巨布偶", - "image": "7ab225e261ec58d094811f3d08b41f50.png" + "file": "T_IconMonsterHead_32030_UI.png" }, { "name": "琉璃刀伶", - "image": "b41efc3828d2524e808b02d9550ada11.png" + "file": "T_IconMonsterHead_32029_UI.png" }, { "name": "浮灵偶", - "image": "4a265bed7845519abdb5b5f46f29cda3.png" + "file": "T_IconMonsterHead_32028_UI.png" }, { "name": "凝水贵族", - "image": "f6db0525b7b75135b2d8e29ebf211a70.png" + "file": "T_IconMonsterHead_32027_UI.png" }, { "name": "持刃贵族", - "image": "449e8774a3c651529ef4fb92ecf64fc4.png" + "file": "T_IconMonsterHead_32026_UI.png" }, { "name": "毒冠贵族", - "image": "a40cf991860b5616b159f29f4d2b35a8.png" + "file": "T_IconMonsterHead_32025_UI.png" }, { "name": "暗夜骑士", - "image": "77f4a836e39254d4923d10306c3c6b68.png" + "file": "T_IconMonsterHead_32024_UI.png" }, { "name": "幻昼骑士", - "image": "1bb6adf4ac47567294ecb89bc4613fc2.png" + "file": "T_IconMonsterHead_32023_UI.png" }, { "name": "巡游骑士", - "image": "aeea5b3c8b8f5b8b944e09c8333cbd12.png" + "file": "T_IconMonsterHead_32022_UI.png" }, { "name": "踏光兽", - "image": "907a9421b35e53dc9df163785a648994.png" + "file": "T_IconMonsterHead_328_UI.png" }, { "name": "游鳞机枢", - "image": "20b6d52e8c68512a8ce6ccb0436d2044.png" + "file": "T_IconMonsterHead_329_UI.png" }, { "name": "雪鬃狼", - "image": "d2c950399fbe53f6ba3da850470c5b70.png" + "file": "T_IconMonsterHead_985_UI.png" }, { "name": "巡哨机傀", - "image": "45b6d36f3139515288e691783183dad7.png" + "file": "T_IconMonsterHead_1003_UI.png" }, { "name": "躁乱戏猿", - "image": "9f5b2fd3d8d65e4aab665a0bb48acc3c.png" + "file": "T_IconMonsterHead_1005_UI.png" }, { "name": "处刑人", - "image": "a0fa7d01e3325445b3b1137c1dcc4c13.png" + "file": "T_IconMonsterHead_975_UI.png" }, { "name": "流放者工匠", - "image": "8312fffbcaf958b680eaca77ded8c774.png" + "file": "T_IconMonsterHead_978_UI.png" }, { "name": "流放者首领", - "image": "4caa489b9adf5f55b9d5cd3aa0c19382.png" + "file": "T_IconMonsterHead_979_UI.png" }, { "name": "车刃镰", - "image": "6da550cac5925c4da8a927245a02ff83.png" + "file": "T_IconMonsterHead_970_UI.png" }, { "name": "箭簇熊", - "image": "48116df0794e5916895c5eb78c702411.png" + "file": "T_IconMonsterHead_986_UI.png" }, { "name": "嚣风戏猿", - "image": "9ccf13be90d35a64a8555c2a369e4df0.png" + "file": "T_IconMonsterHead_989_UI.png" }, { "name": "暗鬃狼", - "image": "cbad8d4669da5462b298ff9003164b38.png" + "file": "T_IconMonsterHead_984_UI.png" }, { "name": "刺玫菇", - "image": "a649d7067f905a7db668112362b58431.png" + "file": "T_IconMonsterHead_315_UI.png" }, { "name": "绿熔蜥", - "image": "4be83d65e6085add9086ded77055111e.png" + "file": "T_IconMonsterHead_295_UI.png" }, { "name": "冥渊守卫", - "image": "291ba2844e8c52dcbb08632079243148.png" + "file": "T_IconMonsterHead_215_UI.png" }, { "name": "磐石守卫", - "image": "6c4f8afdd5fa57ac959be7022a8cc982.png" + "file": "T_IconMonsterHead_245_UI.png" }, { "name": "振铎乐师", - "image": "933f55d7e26059fc9dbb73352ad75eac.png" + "file": "T_IconMonsterHead_205_UI.png" }, { "name": "奏谕乐师", - "image": "d05f9f84195c512eaa323ca7a12f9834.png" + "file": "T_IconMonsterHead_195_UI.png" }, { "name": "青羽鹭", - "image": "e1f0011ba39b5fdc98924e6036f8e44a.png" + "file": "T_IconMonsterHead_135_UI.png" }, { "name": "紫羽鹭", - "image": "dbebfe4263dc5bcb97fa223b84d6f03b.png" + "file": "T_IconMonsterHead_125_UI.png" }, { "name": "坚岩斗士", - "image": "44452b606c9d5fb9ae94628c0febdf72.png" + "file": "T_IconMonsterHead_185_UI.png" + }, + { + "name": "影烁者", + "file": "T_IconMonsterHead_31084_UI.png" + }, + { + "name": "冰盈舞者", + "file": "T_IconMonsterHead_31083_UI.png" + }, + { + "name": "雷杖流民", + "file": "T_IconMonsterHead_31081_UI.png" + }, + { + "name": "执刃流民", + "file": "T_IconMonsterHead_31080_UI.png" + }, + { + "name": "噼啪啪", + "file": "T_IconMonsterHead_31082_UI.png" + }, + { + "name": "岩蛛S4型", + "file": "T_IconMonsterHead_31079_UI.png" + }, + { + "name": "矿岩熊蜂", + "file": "T_IconMonsterHead_31078_UI.png" + }, + { + "name": "莳植熊蜂", + "file": "T_IconMonsterHead_31077_UI.png" + }, + { + "name": "颤栗战士", + "file": "T_IconMonsterHead_31074_UI.png" + }, + { + "name": "梦魇·侏侏鸵", + "file": "T_IconMonsterHead_31076_UI.png" + }, + { + "name": "梦魇·呜咔咔", + "file": "T_IconMonsterHead_31075_UI.png" + }, + { + "name": "梦魇·刺玫菇(稚形)", + "file": "T_IconMonsterHead_31073_UI.png" + }, + { + "name": "梦魇·绿熔蜥(稚形)", + "file": "T_IconMonsterHead_31072_UI.png" }, { "name": "梦魇·啾啾河豚", - "image": "2a50a70fac3d556fa209c1dca385eb65.png" + "file": "T_IconMonsterHead_31068_UI.png" }, { "name": "梦魇·咕咕河豚", - "image": "deacb5be814e50a3ad91ea76a3271905.png" + "file": "T_IconMonsterHead_31067_UI.png" }, { "name": "梦魇·巡徊猎手", - "image": "0a8b623aabd05783bf5381d052f94713.png" + "file": "T_IconMonsterHead_31066_UI.png" }, { "name": "梦魇·惊蛰猎手", - "image": "f0d8f2c962dd54fdadff96514967b422.png" + "file": "T_IconMonsterHead_31065_UI.png" }, { "name": "梦魇·破霜猎手", - "image": "4eff3bb72b4853a799790bc88f01a73e.png" + "file": "T_IconMonsterHead_31064_UI.png" }, { "name": "梦魇·审判战士", - "image": "6ddb849e06eb56f9bc80da03de556438.png" + "file": "T_IconMonsterHead_31063_UI.png" }, { "name": "残星·深海造匠", - "image": "f505559b97685ceaacb7c5647558a9f5.png" + "file": "T_IconMonsterHead_32035_UI.png" }, { "name": "苦信者的作俑", - "image": "5677442b72b2502eabce6707094b389b.png" + "file": "T_IconMonsterHead_31061_UI.png" }, { "name": "小翼龙·湮灭", - "image": "3a4fc5e75bbe53c69c49cdfa4592c89c.png" + "file": "T_IconMonsterHead_31060_UI.png" }, { "name": "小翼龙·衍射", - "image": "d63636a5d071511e9883630ee425b0a6.png" + "file": "T_IconMonsterHead_31059_UI.png" }, { "name": "小翼龙·热熔", - "image": "80c7d845a4c458b28356e366a0686e2d.png" + "file": "T_IconMonsterHead_31058_UI.png" }, { "name": "小翼龙·冷凝", - "image": "6ea40b453dc659b39d2ef3cd9bdcf117.png" + "file": "T_IconMonsterHead_31057_UI.png" }, { "name": "小翼龙·导电", - "image": "e6e931fd7cb45fb8a45dd663b15c54fa.png" + "file": "T_IconMonsterHead_31056_UI.png" }, { "name": "小翼龙·气动", - "image": "d2f92f571f9c5c259ad5b446474dd6bd.png" + "file": "T_IconMonsterHead_31055_UI.png" }, { "name": "慈悲节使", - "image": "51712a4aa9bb59fb83ce649c86eef964.png" + "file": "T_IconMonsterHead_31054_UI.png" }, { "name": "赦罪节使", - "image": "0124df7e90f15ddbb0f889daed19dead.png" + "file": "T_IconMonsterHead_31053_UI.png" }, { "name": "卫冕节使", - "image": "62cf2ab95c7a5659a8a5d99d6ef34c51.png" + "file": "T_IconMonsterHead_31052_UI.png" }, { "name": "气动棱镜", - "image": "6c8ac10368015311b2281f4baba6fc99.png" + "file": "T_IconMonsterHead_31051_UI.png" }, { "name": "釉变幼岩", - "image": "b23e3627f6b05b889a454da1a1886c56.png" + "file": "T_IconMonsterHead_31050_UI.png" }, { "name": "愚金幼岩", - "image": "956d071eae705b9c9c5e7908e4c3ddec.png" + "file": "T_IconMonsterHead_31049_UI.png" }, { "name": "欺诈奇藏", - "image": "b79a489a82e1551481e372a855ad1817.png" + "file": "T_IconMonsterHead_31048_UI.png" }, { "name": "工头布偶", - "image": "e9ca21c94d5056e8977af218287496d0.png" + "file": "T_IconMonsterHead_31047_UI.png" }, { "name": "寂寞小姐", - "image": "02246ac503bf50b081492cf260e59607.png" + "file": "T_IconMonsterHead_31046_UI.png" }, { "name": "魔术先生", - "image": "d4cf51a9ab825fc6823599ae3bc7a2af.png" + "file": "T_IconMonsterHead_31045_UI.png" }, { "name": "云海妖精", - "image": "39964b24b5005abe8d9d3f7807f911f9.png" + "file": "T_IconMonsterHead_31044_UI.png" }, { "name": "幽翎火", - "image": "3ab2361db2175a079899fdcfdd313625.png" + "file": "T_IconMonsterHead_31043_UI.png" }, { "name": "浮灵偶·莱特", - "image": "57455c588b9f59cbb83ed07f8ae5022c.png" + "file": "T_IconMonsterHead_31042_UI.png" }, { "name": "浮灵偶·蕾弗", - "image": "b69c7ebbe42b5d9da39f263402c89835.png" + "file": "T_IconMonsterHead_31041_UI.png" }, { "name": "浮灵偶·海德", - "image": "f71432ec26875374858f746ebcb96eed.png" + "file": "T_IconMonsterHead_31040_UI.png" }, { "name": "霜鬃狼", - "image": "af729e5764dd5ed283acafd487115629.png" + "file": "T_IconMonsterHead_31039_UI.png" }, { "name": "雷鬃狼", - "image": "cfd64b6bf5005b29a708b11a174802a9.png" + "file": "T_IconMonsterHead_31038_UI.png" }, { "name": "风鬃狼", - "image": "9589ddcb8ff25442a9290293b5873f42.png" + "file": "T_IconMonsterHead_31037_UI.png" }, { "name": "侏侏鸵", - "image": "bf149ebd3d705b46b251bf32295c6cc1.png" + "file": "T_IconMonsterHead_330_UI.png" }, { "name": "融火虫", - "image": "fc08b62886ed57b9a5e09f4ff74491a8.png" + "file": "T_IconMonsterHead_326_UI.png" }, { "name": "叮咚咚", - "image": "1c54d20879845166a4c529e4f0d49b99.png" + "file": "T_IconMonsterHead_1001_UI.png" }, { "name": "通行灯偶", - "image": "3b0302c97696589a82492ed7d51134b7.png" + "file": "T_IconMonsterHead_1000_UI.png" }, { "name": "残星·枪肢造匠", - "image": "98d227e76ed056dd8fdf34cc7287551e.png" + "file": "T_IconMonsterHead_973_UI.png" }, { "name": "残星·枭面造匠", - "image": "21927466616256b79976391fcc68ce8a.png" + "file": "T_IconMonsterHead_974_UI.png" }, { "name": "锐爪幼猿", - "image": "3f2c9f98c5dc5493b248ad0bc19c929a.png" + "file": "T_IconMonsterHead_1002_UI.png" }, { "name": "残星·重锤造匠", - "image": "6ed88772a0955e21b41b71e4a1f1586f.png" + "file": "T_IconMonsterHead_972_UI.png" }, { "name": "火鬃狼", - "image": "aad134a095935cf3a0b110b695ba497d.png" + "file": "T_IconMonsterHead_980_UI.png" }, { "name": "寒霜陆龟", - "image": "8390362b909d5d25be2692cdb3874b9c.png" + "file": "T_IconMonsterHead_969_UI.png" }, { "name": "晶螯蝎", - "image": "7bbf2b96a84a5ecd99fbd658aad7a3d1.png" + "file": "T_IconMonsterHead_987_UI.png" }, { "name": "抛石幼猿", - "image": "57160c233b77521d94027818d2c9874f.png" + "file": "T_IconMonsterHead_988_UI.png" }, { "name": "流放者", - "image": "307f7a09be315a84bea2b339ecdd1ce8.png" + "file": "T_IconMonsterHead_976_UI.png" }, { "name": "流放者", - "image": "307f7a09be315a84bea2b339ecdd1ce8.png" + "file": "T_IconMonsterHead_977_UI.png" }, { "name": "刺玫菇(稚形)", - "image": "69d58b29547c5a29835aad2817af9102.png" + "file": "T_IconMonsterHead_305_UI.png" }, { "name": "绿熔蜥(稚形)", - "image": "8004265d207351b7b78dd79a130bbdbb.png" + "file": "T_IconMonsterHead_285_UI.png" }, { "name": "遁地鼠", - "image": "1b47e063a17d5bc183ec6b12d3f2c0ed.png" + "file": "T_IconMonsterHead_275_UI.png" }, { "name": "碎獠猪", - "image": "60a5f8c0638f5b39a99f4ef8507a0077.png" + "file": "T_IconMonsterHead_265_UI.png" }, { "name": "游弋蝶", - "image": "0e4984c4454b52768a7bd7c61aa8d988.png" + "file": "T_IconMonsterHead_255_UI.png" }, { "name": "湮灭棱镜", - "image": "602ba4fec73e57fe83f101239cb5f117.png" + "file": "T_IconMonsterHead_175_UI.png" }, { "name": "衍射棱镜", - "image": "38e0405c3af558be891cf5e9f8648c3a.png" + "file": "T_IconMonsterHead_165_UI.png" }, { "name": "热熔棱镜", - "image": "3280a506079f5f1b976b6bda664ebb0b.png" + "file": "T_IconMonsterHead_155_UI.png" }, { "name": "冷凝棱镜", - "image": "ad875effbffe5749863091e44650daee.png" + "file": "T_IconMonsterHead_145_UI.png" }, { "name": "啾啾河豚", - "image": "b1c5dc36055051dc8f960fbcecbac678.png" + "file": "T_IconMonsterHead_971_UI.png" }, { "name": "咕咕河豚", - "image": "76c72cb42cf7568397c7e7b320b031a3.png" + "file": "T_IconMonsterHead_115_UI.png" }, { "name": "呜咔咔", - "image": "5685a0b53ab753fe93dc00295637a88e.png" + "file": "T_IconMonsterHead_095_UI.png" }, { "name": "呼咻咻", - "image": "04633ecac8705383aebba07791338e1d.png" + "file": "T_IconMonsterHead_085_UI.png" }, { "name": "阿嗞嗞", - "image": "4fe1a4e33be355a187014a1d1c402e7c.png" + "file": "T_IconMonsterHead_075_UI.png" }, { "name": "咔嚓嚓", - "image": "b4faf2ca5a625944941af28769d93e4e.png" + "file": "T_IconMonsterHead_065_UI.png" }, { "name": "审判战士", - "image": "80d8fac2551856598ba6b3c2f43c70f4.png" + "file": "T_IconMonsterHead_055_UI.png" }, { "name": "鸣泣战士", - "image": "e27e6135d17658b5a1350c3897184cd5.png" + "file": "T_IconMonsterHead_045_UI.png" }, { "name": "巡徊猎手", - "image": "8978c00c424d575ba8d2f193898012c2.png" + "file": "T_IconMonsterHead_235_UI.png" }, { "name": "破霜猎手", - "image": "b5164ba2ecae50c3a4536331b7aee823.png" + "file": "T_IconMonsterHead_105_UI.png" }, { "name": "惊蛰猎手", - "image": "b7dee1d7e33f5727a962336cb96cfd0b.png" + "file": "T_IconMonsterHead_035_UI.png" }, { "name": "裂变幼岩", - "image": "fbdfa81f646054babf85d63be1d4eaa0.png" + "file": "T_IconMonsterHead_025_UI.png" }, { "name": "先锋幼岩", - "image": "bfedcddc44865b74839e83b782cfa919.png" + "file": "T_IconMonsterHead_015_UI.png" } ] \ No newline at end of file diff --git a/assets/imgs/suit/1.png b/assets/imgs/suit/1.png deleted file mode 100644 index 55fedf9..0000000 Binary files a/assets/imgs/suit/1.png and /dev/null differ diff --git a/assets/imgs/suit/10.png b/assets/imgs/suit/10.png deleted file mode 100644 index 3139f64..0000000 Binary files a/assets/imgs/suit/10.png and /dev/null differ diff --git a/assets/imgs/suit/11.png b/assets/imgs/suit/11.png deleted file mode 100644 index e647782..0000000 Binary files a/assets/imgs/suit/11.png and /dev/null differ diff --git a/assets/imgs/suit/12.png b/assets/imgs/suit/12.png deleted file mode 100644 index b4d21cf..0000000 Binary files a/assets/imgs/suit/12.png and /dev/null differ diff --git a/assets/imgs/suit/13.png b/assets/imgs/suit/13.png deleted file mode 100644 index e5a5d39..0000000 Binary files a/assets/imgs/suit/13.png and /dev/null differ diff --git a/assets/imgs/suit/14.png b/assets/imgs/suit/14.png deleted file mode 100644 index 6dfd1d3..0000000 Binary files a/assets/imgs/suit/14.png and /dev/null differ diff --git a/assets/imgs/suit/15.png b/assets/imgs/suit/15.png deleted file mode 100644 index 275de16..0000000 Binary files a/assets/imgs/suit/15.png and /dev/null differ diff --git a/assets/imgs/suit/16.png b/assets/imgs/suit/16.png deleted file mode 100644 index e51157f..0000000 Binary files a/assets/imgs/suit/16.png and /dev/null differ diff --git a/assets/imgs/suit/17.png b/assets/imgs/suit/17.png deleted file mode 100644 index 70986f8..0000000 Binary files a/assets/imgs/suit/17.png and /dev/null differ diff --git a/assets/imgs/suit/18.png b/assets/imgs/suit/18.png deleted file mode 100644 index 5d370bd..0000000 Binary files a/assets/imgs/suit/18.png and /dev/null differ diff --git a/assets/imgs/suit/19.png b/assets/imgs/suit/19.png deleted file mode 100644 index 53c476f..0000000 Binary files a/assets/imgs/suit/19.png and /dev/null differ diff --git a/assets/imgs/suit/2.png b/assets/imgs/suit/2.png deleted file mode 100644 index 414650c..0000000 Binary files a/assets/imgs/suit/2.png and /dev/null differ diff --git a/assets/imgs/suit/20.png b/assets/imgs/suit/20.png deleted file mode 100644 index 830121e..0000000 Binary files a/assets/imgs/suit/20.png and /dev/null differ diff --git a/assets/imgs/suit/3.png b/assets/imgs/suit/3.png deleted file mode 100644 index 712bfed..0000000 Binary files a/assets/imgs/suit/3.png and /dev/null differ diff --git a/assets/imgs/suit/4.png b/assets/imgs/suit/4.png deleted file mode 100644 index 85f8697..0000000 Binary files a/assets/imgs/suit/4.png and /dev/null differ diff --git a/assets/imgs/suit/5.png b/assets/imgs/suit/5.png deleted file mode 100644 index efad073..0000000 Binary files a/assets/imgs/suit/5.png and /dev/null differ diff --git a/assets/imgs/suit/6.png b/assets/imgs/suit/6.png deleted file mode 100644 index c3beb8c..0000000 Binary files a/assets/imgs/suit/6.png and /dev/null differ diff --git a/assets/imgs/suit/7.png b/assets/imgs/suit/7.png deleted file mode 100644 index fb3fc26..0000000 Binary files a/assets/imgs/suit/7.png and /dev/null differ diff --git a/assets/imgs/suit/8.png b/assets/imgs/suit/8.png deleted file mode 100644 index adb4967..0000000 Binary files a/assets/imgs/suit/8.png and /dev/null differ diff --git a/assets/imgs/suit/9.png b/assets/imgs/suit/9.png deleted file mode 100644 index 47e5e09..0000000 Binary files a/assets/imgs/suit/9.png and /dev/null differ diff --git a/assets/imgs/suit/T_IconElementAttriAttack.png b/assets/imgs/suit/T_IconElementAttriAttack.png new file mode 100644 index 0000000..4c4984c Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriAttack.png differ diff --git a/assets/imgs/suit/T_IconElementAttriAttackWeakness.png b/assets/imgs/suit/T_IconElementAttriAttackWeakness.png new file mode 100644 index 0000000..338354e Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriAttackWeakness.png differ diff --git a/assets/imgs/suit/T_IconElementAttriCloud.png b/assets/imgs/suit/T_IconElementAttriCloud.png new file mode 100644 index 0000000..72a3cd9 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriCloud.png differ diff --git a/assets/imgs/suit/T_IconElementAttriCooperate.png b/assets/imgs/suit/T_IconElementAttriCooperate.png new file mode 100644 index 0000000..a1499e9 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriCooperate.png differ diff --git a/assets/imgs/suit/T_IconElementAttriCure.png b/assets/imgs/suit/T_IconElementAttriCure.png new file mode 100644 index 0000000..f8325de Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriCure.png differ diff --git a/assets/imgs/suit/T_IconElementAttriCureWeakness.png b/assets/imgs/suit/T_IconElementAttriCureWeakness.png new file mode 100644 index 0000000..01e9d3a Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriCureWeakness.png differ diff --git a/assets/imgs/suit/T_IconElementAttriDark.png b/assets/imgs/suit/T_IconElementAttriDark.png new file mode 100644 index 0000000..70f5193 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriDark.png differ diff --git a/assets/imgs/suit/T_IconElementAttriDarkAssist.png b/assets/imgs/suit/T_IconElementAttriDarkAssist.png new file mode 100644 index 0000000..3de6313 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriDarkAssist.png differ diff --git a/assets/imgs/suit/T_IconElementAttriDarkVision.png b/assets/imgs/suit/T_IconElementAttriDarkVision.png new file mode 100644 index 0000000..49cb8d1 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriDarkVision.png differ diff --git a/assets/imgs/suit/T_IconElementAttriEnergy.png b/assets/imgs/suit/T_IconElementAttriEnergy.png new file mode 100644 index 0000000..229166b Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriEnergy.png differ diff --git a/assets/imgs/suit/T_IconElementAttriFire.png b/assets/imgs/suit/T_IconElementAttriFire.png new file mode 100644 index 0000000..63851e1 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriFire.png differ diff --git a/assets/imgs/suit/T_IconElementAttriFireA.png b/assets/imgs/suit/T_IconElementAttriFireA.png new file mode 100644 index 0000000..e3f531d Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriFireA.png differ diff --git a/assets/imgs/suit/T_IconElementAttriFireA1.png b/assets/imgs/suit/T_IconElementAttriFireA1.png new file mode 100644 index 0000000..a767872 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriFireA1.png differ diff --git a/assets/imgs/suit/T_IconElementAttriFireA2.png b/assets/imgs/suit/T_IconElementAttriFireA2.png new file mode 100644 index 0000000..813df5d Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriFireA2.png differ diff --git a/assets/imgs/suit/T_IconElementAttriFireUltimateSkill.png b/assets/imgs/suit/T_IconElementAttriFireUltimateSkill.png new file mode 100644 index 0000000..4af8a19 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriFireUltimateSkill.png differ diff --git a/assets/imgs/suit/T_IconElementAttriIce.png b/assets/imgs/suit/T_IconElementAttriIce.png new file mode 100644 index 0000000..2081c6b Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriIce.png differ diff --git a/assets/imgs/suit/T_IconElementAttriIceUltimateSkill.png b/assets/imgs/suit/T_IconElementAttriIceUltimateSkill.png new file mode 100644 index 0000000..2e0e9c8 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriIceUltimateSkill.png differ diff --git a/assets/imgs/suit/T_IconElementAttriLight.png b/assets/imgs/suit/T_IconElementAttriLight.png new file mode 100644 index 0000000..b3ca175 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriLight.png differ diff --git a/assets/imgs/suit/T_IconElementAttriLightError.png b/assets/imgs/suit/T_IconElementAttriLightError.png new file mode 100644 index 0000000..93ddfa3 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriLightError.png differ diff --git a/assets/imgs/suit/T_IconElementAttriLightWeakness.png b/assets/imgs/suit/T_IconElementAttriLightWeakness.png new file mode 100644 index 0000000..f9153be Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriLightWeakness.png differ diff --git a/assets/imgs/suit/T_IconElementAttriQianXiao.png b/assets/imgs/suit/T_IconElementAttriQianXiao.png new file mode 100644 index 0000000..895d183 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriQianXiao.png differ diff --git a/assets/imgs/suit/T_IconElementAttriShield.png b/assets/imgs/suit/T_IconElementAttriShield.png new file mode 100644 index 0000000..2ac25bd Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriShield.png differ diff --git a/assets/imgs/suit/T_IconElementAttriSupport.png b/assets/imgs/suit/T_IconElementAttriSupport.png new file mode 100644 index 0000000..bdbc44d Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriSupport.png differ diff --git a/assets/imgs/suit/T_IconElementAttriThunder.png b/assets/imgs/suit/T_IconElementAttriThunder.png new file mode 100644 index 0000000..a8347bc Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriThunder.png differ diff --git a/assets/imgs/suit/T_IconElementAttriWind.png b/assets/imgs/suit/T_IconElementAttriWind.png new file mode 100644 index 0000000..de8d736 Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriWind.png differ diff --git a/assets/imgs/suit/T_IconElementAttriWindError.png b/assets/imgs/suit/T_IconElementAttriWindError.png new file mode 100644 index 0000000..ec1672a Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriWindError.png differ diff --git a/assets/imgs/suit/T_IconElementAttriWindErrorA.png b/assets/imgs/suit/T_IconElementAttriWindErrorA.png new file mode 100644 index 0000000..a9e18de Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriWindErrorA.png differ diff --git a/assets/imgs/suit/T_IconElementAttriWindVision.png b/assets/imgs/suit/T_IconElementAttriWindVision.png new file mode 100644 index 0000000..e76b8df Binary files /dev/null and b/assets/imgs/suit/T_IconElementAttriWindVision.png differ diff --git a/assets/imgs/suit/fetch.py b/assets/imgs/suit/fetch.py new file mode 100644 index 0000000..f870856 --- /dev/null +++ b/assets/imgs/suit/fetch.py @@ -0,0 +1,35 @@ +import requests +import re +import json +import uuid +import os +base_url = "https://mc.appfeng.com" + +html = requests.get(base_url + "/monster").text + +content = re.findall(r'
套装
(.+?)', html) + +linkAndNames = re.findall(r' (.*?)<', content[0]) + +metadata = [] + +force = False + +for (link, name) in linkAndNames: + full_link = base_url + link + print(full_link) + img_name = os.path.basename(link) + metadata.append({ + "name": name, + "image": f"{img_name}" + }) + if force == False and os.path.exists(img_name): + continue + img_data = requests.get(full_link).content + with open(f"{img_name}", "wb") as img_file: + img_file.write(img_data) + +with open("metadata.json", "w", encoding="utf-8") as meta_file: + json.dump(metadata, meta_file, ensure_ascii=False, indent=4) + +print(linkAndNames) \ No newline at end of file diff --git a/assets/imgs/suit/metadata.json b/assets/imgs/suit/metadata.json index 082d82b..9153555 100644 --- a/assets/imgs/suit/metadata.json +++ b/assets/imgs/suit/metadata.json @@ -1,82 +1,114 @@ [ { - "name": "流云逝尽之空", - "file": "1.png" + "name": "听唤语义之愿", + "image": "T_IconElementAttriWindVision.png" }, { - "name": "愿戴荣光之旅", - "file": "2.png" + "name": "斑驳粉饰之沫", + "image": "T_IconElementAttriFireA2.png" }, { - "name": "高天共奏之曲", - "file": "3.png" + "name": "长路启航之星", + "image": "T_IconElementAttriFireA1.png" }, { - "name": "凌冽决断之心", - "file": "4.png" + "name": "流金溯真之式", + "image": "T_IconElementAttriAttackWeakness.png" }, { - "name": "此间永驻之光", - "file": "5.png" + "name": "星构寻辉之环", + "image": "T_IconElementAttriCureWeakness.png" }, { - "name": "幽夜隐匿之帷", - "file": "6.png" + "name": "逆光跃彩之约", + "image": "T_IconElementAttriLightWeakness.png" }, { - "name": "熔山裂谷", - "file": "7.png" + "name": "命理崩毁之弦", + "image": "T_IconElementAttriQianXiao.png" }, { - "name": "沉日劫明", - "file": "8.png" + "name": "焚羽猎魔之影", + "image": "T_IconElementAttriFireA.png" }, { - "name": "彻空冥雷", - "file": "9.png" + "name": "息界同调之律", + "image": "T_IconElementAttriSupport.png" + }, + { + "name": "荣斗铸锋之冠", + "image": "T_IconElementAttriShield.png" + }, + { + "name": "失序彼岸之梦", + "image": "T_IconElementAttriDarkVision.png" }, { "name": "奔狼燎原之焰", - "file": "10.png" + "image": "T_IconElementAttriFireUltimateSkill.png" }, { - "name": "啸谷长风", - "file": "11.png" + "name": "愿戴荣光之旅", + "image": "T_IconElementAttriWindErrorA.png" + }, + { + "name": "流云逝尽之空", + "image": "T_IconElementAttriWindError.png" }, { "name": "无惧浪涛之勇", - "file": "12.png" + "image": "T_IconElementAttriEnergy.png" }, { - "name": "浮星祛暗", - "file": "13.png" + "name": "高天共奏之曲", + "image": "T_IconElementAttriCooperate.png" + }, + { + "name": "幽夜隐匿之帷", + "image": "T_IconElementAttriDarkAssist.png" + }, + { + "name": "此间永驻之光", + "image": "T_IconElementAttriLightError.png" + }, + { + "name": "凌冽决断之心", + "image": "T_IconElementAttriIceUltimateSkill.png" + }, + { + "name": "不绝余音", + "image": "T_IconElementAttriAttack.png" }, { "name": "轻云出月", - "file": "14.png" + "image": "T_IconElementAttriCloud.png" }, { "name": "隐世回光", - "file": "15.png" + "image": "T_IconElementAttriCure.png" }, { - "name": "凝夜白霜", - "file": "16.png" + "name": "沉日劫明", + "image": "T_IconElementAttriDark.png" }, { - "name": "不绝余音", - "file": "17.png" + "name": "浮星祛暗", + "image": "T_IconElementAttriLight.png" }, { - "name": "失序彼岸之梦", - "file": "18.png" + "name": "啸谷长风", + "image": "T_IconElementAttriWind.png" }, { - "name": "息界同调之律", - "file": "19.png" + "name": "彻空冥雷", + "image": "T_IconElementAttriThunder.png" }, { - "name": "荣斗铸锋之冠", - "file": "20.png" + "name": "熔山裂谷", + "image": "T_IconElementAttriFire.png" + }, + { + "name": "凝夜白霜", + "image": "T_IconElementAttriIce.png" } ] \ No newline at end of file diff --git a/assets/ocr_change_char.json b/assets/ocr_change_char.json new file mode 100644 index 0000000..b7ade09 --- /dev/null +++ b/assets/ocr_change_char.json @@ -0,0 +1,37 @@ +{ + "rare": [ + "魇", + "螯", + "獠", + "鬃", + "翎", + "鸷", + "鹭", + "傀", + "哨", + "蜥", + "磐", + "铎", + "镰", + "簇", + "湮", + "釉", + "蛰", + "鳄", + "飓", + "芙", + "嗞", + "鸵", + "赦", + "莳", + "噼", + "隼", + "铳", + "烁", + "呜" + ], + "ignore": [ + "嚓", + "·" + ] +} \ No newline at end of file diff --git a/assets/suit.txt b/assets/suit.txt index ad5b0b1..f9280b2 100644 --- a/assets/suit.txt +++ b/assets/suit.txt @@ -1,17 +1,28 @@ +听唤语义之愿 +斑驳粉饰之沫 +长路启航之星 +流金溯真之式 +星构寻辉之环 +逆光跃彩之约 +命理崩毁之弦 +焚羽猎魔之影 +息界同调之律 +荣斗铸锋之冠 +失序彼岸之梦 +奔狼燎原之焰 愿戴荣光之旅 -凌冽决断之心 +流云逝尽之空 无惧浪涛之勇 +高天共奏之曲 幽夜隐匿之帷 此间永驻之光 -高天共奏之曲 -流云逝尽之空 -奔狼燎原之焰 +凌冽决断之心 +不绝余音 +轻云出月 +隐世回光 沉日劫明 -凝夜白霜 +浮星祛暗 +啸谷长风 彻空冥雷 熔山裂谷 -啸谷长风 -浮星祛暗 -隐世回光 -轻云出月 -不绝余音 \ No newline at end of file +凝夜白霜 \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json index ae73087..dd39e18 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ww", - "version": "0.3.1", + "version": "0.5.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ww", - "version": "0.3.1", + "version": "0.5.1", "license": "MIT", "dependencies": { "@mdi/font": "^7.4.47", @@ -623,9 +623,9 @@ "license": "MIT" }, "node_modules/electron": { - "version": "36.4.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-36.4.0.tgz", - "integrity": "sha512-LLOOZEuW5oqvnjC7HBQhIqjIIJAZCIFjQxltQGLfEC7XFsBoZgQ3u3iFj+Kzw68Xj97u1n57Jdt7P98qLvUibQ==", + "version": "36.9.5", + "resolved": "https://registry.npmjs.org/electron/-/electron-36.9.5.tgz", + "integrity": "sha512-1UCss2IqxqujSzg/2jkRjuiT3G+EEXgd6UKB5kUekwQW1LJ6d4QCr8YItfC3Rr9VIGRDJ29eOERmnRNO1Eh+NA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -862,9 +862,10 @@ } }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -1250,12 +1251,12 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" diff --git a/generate_tools/echo.html b/generate_tools/echo.html new file mode 100644 index 0000000..53ef4f0 --- /dev/null +++ b/generate_tools/echo.html @@ -0,0 +1,472 @@ + + + + + + 声骸套装解析器 · 生成JSON + + + +
+

+ 📦 声骸 · 套装解析器 + 原生JS · 多套装合并 +

+
+ ⚡ 粘贴包含 .item 结构的HTML,自动提取每个声骸的 名称Cost 及所属 套装
+ 🧩 同名声骸的套装自动合并为数组,Cost 以首次出现为准(若不一致会提示)。
+ 💡 下方已预置示例数据,可直接点击【解析】测试。 + 数据来源 https://mc.appfeng.com/echo +
+ +
+ +
+

📋 原始HTML

+ +
+ + + +
+
等待解析…
+
+ + +
+

📦 JSON 结果

+
+ +
+
+ + +
+
共 0 个声骸
+
+
+ +
+ + + + \ No newline at end of file diff --git a/setup.py b/setup.py index cc5d6f7..0829514 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,7 @@ from setuptools import setup, Extension import sys import os +sys.path.append("C:\\Users\\jie\\miniconda3\\envs\\ww-toolbox\\Lib\\site-packages") import pybind11 with open("requirements.txt") as f: diff --git a/toolbox/core/__pycache__/interaction.cpython-311.pyc b/toolbox/core/__pycache__/interaction.cpython-311.pyc index 2a176d3..0117c3b 100644 Binary files a/toolbox/core/__pycache__/interaction.cpython-311.pyc and b/toolbox/core/__pycache__/interaction.cpython-311.pyc differ diff --git a/toolbox/core/profile.py b/toolbox/core/profile.py index d5ebbab..4c6dfd9 100644 --- a/toolbox/core/profile.py +++ b/toolbox/core/profile.py @@ -14,6 +14,7 @@ stat_file = get_config_dir() / "entry_stats.yml" coef_file = get_config_dir() / "entry_coef.yml" echo_file = get_assets_dir() / "echo.json" +ocr_change_file = get_assets_dir() / "ocr_change_char.json" with open(stat_file, "r", encoding="utf-8") as f: stat_data = yaml.safe_load(f) @@ -24,6 +25,12 @@ with open(echo_file, "r", encoding="utf-8") as f: echo_data = json.load(f) +with open(ocr_change_file, "r", encoding="utf-8") as f: + ocr_change_data = json.load(f) + +rare_chars = ocr_change_data["rare"] +ignore_chars = ocr_change_data["ignore"] + @dataclass class DiscardScheduler: level_5_9: float = field(default=0.0) @@ -185,16 +192,17 @@ def _extract_entry(self, line: str) -> str | None: def from_image(self, image: Image.Image) -> "EchoProfile": text = ocr(image) lines_to_skip = 0 - + line_count = 0 for line in text.split("\n"): + line_count = line_count + 1 line = line.strip() - logger.debug(f"line: {line}") + logger.warning(f"line: {line}") if "声骸技能" in line: break - if "+" in line: + if "+" in line and line_count > 2: level = self._extract_number(line) if level is not None: self.level = round(level) @@ -206,8 +214,6 @@ def from_image(self, image: Image.Image) -> "EchoProfile": for name in echo_data.keys(): # create a regex pattern for the name to ignore rare characters # and match the line with the pattern - rare_chars = ['魇', '螯', '獠', '鬃', '翎', '鸷', '鹭', '傀', '哨', '蜥', '磐', '铎', '镰', '簇', '湮', '釉', '蛰', '鳄', '飓', '芙'] - ignore_chars = ['·'] substituted_name = name diff --git a/toolbox/tasks/__pycache__/__init__.cpython-311.pyc b/toolbox/tasks/__pycache__/__init__.cpython-311.pyc index f9bfb1f..efc9a52 100644 Binary files a/toolbox/tasks/__pycache__/__init__.cpython-311.pyc and b/toolbox/tasks/__pycache__/__init__.cpython-311.pyc differ diff --git a/toolbox/tasks/__pycache__/base_task.cpython-311.pyc b/toolbox/tasks/__pycache__/base_task.cpython-311.pyc index c14fed2..499a8fd 100644 Binary files a/toolbox/tasks/__pycache__/base_task.cpython-311.pyc and b/toolbox/tasks/__pycache__/base_task.cpython-311.pyc differ diff --git a/toolbox/tasks/__pycache__/echo_punch.cpython-311.pyc b/toolbox/tasks/__pycache__/echo_punch.cpython-311.pyc index 48082be..aa66972 100644 Binary files a/toolbox/tasks/__pycache__/echo_punch.cpython-311.pyc and b/toolbox/tasks/__pycache__/echo_punch.cpython-311.pyc differ diff --git a/toolbox/tasks/__pycache__/echo_scan.cpython-311.pyc b/toolbox/tasks/__pycache__/echo_scan.cpython-311.pyc index b96faa7..53e2aa4 100644 Binary files a/toolbox/tasks/__pycache__/echo_scan.cpython-311.pyc and b/toolbox/tasks/__pycache__/echo_scan.cpython-311.pyc differ diff --git a/toolbox/tasks/__pycache__/echo_search.cpython-311.pyc b/toolbox/tasks/__pycache__/echo_search.cpython-311.pyc index 24faa85..322f93e 100644 Binary files a/toolbox/tasks/__pycache__/echo_search.cpython-311.pyc and b/toolbox/tasks/__pycache__/echo_search.cpython-311.pyc differ diff --git a/toolbox/tasks/__pycache__/echo_task.cpython-311.pyc b/toolbox/tasks/__pycache__/echo_task.cpython-311.pyc index 402193d..97129d3 100644 Binary files a/toolbox/tasks/__pycache__/echo_task.cpython-311.pyc and b/toolbox/tasks/__pycache__/echo_task.cpython-311.pyc differ diff --git a/toolbox/tasks/echo_scan.py b/toolbox/tasks/echo_scan.py index dcf6396..721b084 100644 --- a/toolbox/tasks/echo_scan.py +++ b/toolbox/tasks/echo_scan.py @@ -83,6 +83,8 @@ def run(self) -> list[EchoProfile]: # extract the echo profile while True: profile_img = self.interaction.screenshot_region(0.7356, 0.1264, 0.952, 0.458) + # 显示图像 + #profile_img.show() profile = EchoProfile().from_image(profile_img) if profile.validate(): diff --git a/toolbox/utils/__pycache__/generic.cpython-311.pyc b/toolbox/utils/__pycache__/generic.cpython-311.pyc index 0a9782a..fe876ec 100644 Binary files a/toolbox/utils/__pycache__/generic.cpython-311.pyc and b/toolbox/utils/__pycache__/generic.cpython-311.pyc differ diff --git a/toolbox/utils/__pycache__/logger.cpython-311.pyc b/toolbox/utils/__pycache__/logger.cpython-311.pyc index a31c2d0..6b55255 100644 Binary files a/toolbox/utils/__pycache__/logger.cpython-311.pyc and b/toolbox/utils/__pycache__/logger.cpython-311.pyc differ diff --git a/toolbox/utils/__pycache__/ocr.cpython-311.pyc b/toolbox/utils/__pycache__/ocr.cpython-311.pyc index 85694bf..a6a105a 100644 Binary files a/toolbox/utils/__pycache__/ocr.cpython-311.pyc and b/toolbox/utils/__pycache__/ocr.cpython-311.pyc differ diff --git a/toolbox/utils/ocr.py b/toolbox/utils/ocr.py index 6022688..ede5850 100644 --- a/toolbox/utils/ocr.py +++ b/toolbox/utils/ocr.py @@ -222,7 +222,7 @@ def detect_and_merge_rectangles_pil( iou_threshold=0.25, num_perturbations=50, brightness_threshold=100, - bright_area_ratio_threshold=0.2, + bright_area_ratio_threshold=0.35, debug=False ) -> list[tuple[int, int, int, int]]: """ @@ -448,7 +448,8 @@ def _add_salt_and_pepper_noise(image: Image.Image, amount=0.05) -> Image.Image: img = Image.open("tests/test-level.png") print(ocr(img, split="")) print(ocr_pattern(img, "\d+")) - + img = Image.open("tests/test-rare.png") + print(ocr(img)) # --- Rectangle detection tests --- print("\n--- Testing detect_and_merge_rectangles_pil ---") try: diff --git a/toolbox/utils/tests/test-rare.png b/toolbox/utils/tests/test-rare.png new file mode 100644 index 0000000..028769f Binary files /dev/null and b/toolbox/utils/tests/test-rare.png differ diff --git a/toolbox/utils/tests/test-rare.txt b/toolbox/utils/tests/test-rare.txt new file mode 100644 index 0000000..ace3a49 --- /dev/null +++ b/toolbox/utils/tests/test-rare.txt @@ -0,0 +1 @@ +辛吉勒姆共鸣回响·鸣式·利维亚坦梦魇·赫卡忒共鸣回响·芙露德莉斯芙露德莉斯赫卡忒角无妄者伤痕·异生梦魇鸣钟之龟无铭探索者炉芯机骸海维夏海之女共鸣回响·芬莱克伪作的神王芬莱克荣耀狮像叹息古龙异构武装罗蕾莱无归的谬误云闪之鳞聚械机偶哀声鸷飞廉之猩辉萤军势无常凶鹭燎照之骑无冠者朔雷之鳞格洛犸图冠顶苍隼冠顶械隼锯袭铁影探隧重机重工铁蹄矿岩机麋莳植机麋风鳞蜃甲霜鳞蜃甲隐迹铁影双极·渊陨重锋双极·星升辉铳梦魇·刺玫菇梦魇·绿熔蜥梦魇·青羽鹭梦魇·紫羽鹭蚀脊龙梦魇·振铎乐师裁夺者冥冠角斗家雷冠角斗家凛冠角斗家耀冠角斗家羽冠角斗家炽冠角斗家梦魇·凯尔匹传道者的遗形角鳄梦魇·辉萤军势荣光节使飓力熊重塑雕像的拳砾梦魇·哀声鸷梦魇·燎照之骑梦魇·无冠者梦魇·朔雷之鳞梦魇·云闪之鳞梦魇·无常凶鹭梦魇·飞廉之猩巨布偶琉璃刀伶浮灵偶凝水贵族持刃贵族毒冠贵族暗夜骑士幻昼骑士巡游骑士踏光兽游鳞机枢雪鬃狼巡哨机傀躁乱戏猿处刑人流放者工匠流放者首领车刃镰箭簇熊嚣风戏猿暗鬃狼刺玫菇绿熔蜥冥渊守卫磐石守卫振铎乐师奏谕乐师青羽鹭紫羽鹭坚岩斗士影烁者冰盈舞者雷杖流民执刃流民噼啪啪岩蛛S4型矿岩熊蜂莳植熊蜂颤栗战士梦魇·侏侏鸵梦魇·呜咔咔梦魇·刺玫菇(稚形)梦魇·绿熔蜥(稚形)梦魇·啾啾河豚梦魇·咕咕河豚梦魇·巡徊猎手梦魇·惊蛰猎手梦魇·破霜猎手梦魇·审判战士残星·深海造匠苦信者的作俑小翼龙·湮灭小翼龙·衍射小翼龙·热熔小翼龙·冷凝小翼龙·导电小翼龙·气动慈悲节使赦罪节使卫冕节使气动棱镜釉变幼岩愚金幼岩欺诈奇藏工头布偶寂寞小姐魔术先生云海妖精幽翎火浮灵偶·莱特浮灵偶·蕾弗浮灵偶·海德霜鬃狼雷鬃狼风鬃狼侏侏鸵融火虫叮咚咚通行灯偶残星·枪肢造匠残星·枭面造匠锐爪幼猿残星·重锤造匠火鬃狼寒霜陆龟晶螯蝎抛石幼猿流放者流放者刺玫菇(稚形)绿熔蜥(稚形)遁地鼠碎獠猪游弋蝶湮灭棱镜衍射棱镜热熔棱镜冷凝棱镜啾啾河豚咕咕河豚呜咔咔呼咻咻阿嗞嗞咔嚓嚓审判战士鸣泣战士巡徊猎手破霜猎手惊蛰猎手裂变幼岩先锋幼岩 \ No newline at end of file diff --git "a/toolbox/utils/tests/\351\270\243\346\275\256\345\255\227\344\275\223 \346\226\271\346\226\260\344\271\246.ttf" "b/toolbox/utils/tests/\351\270\243\346\275\256\345\255\227\344\275\223 \346\226\271\346\226\260\344\271\246.ttf" new file mode 100644 index 0000000..04b5955 Binary files /dev/null and "b/toolbox/utils/tests/\351\270\243\346\275\256\345\255\227\344\275\223 \346\226\271\346\226\260\344\271\246.ttf" differ