diff --git a/repo/js/AutoHoeingOneDragon/README.md b/repo/js/AutoHoeingOneDragon/README.md index 5033a6158..7c68bbf67 100644 --- a/repo/js/AutoHoeingOneDragon/README.md +++ b/repo/js/AutoHoeingOneDragon/README.md @@ -36,10 +36,10 @@ - - 选项 **输出地图追踪文件** ,会将选择的路线读取并分组输出到js文件夹下pathingOut文件夹 - - 选项 **强制刷新所有运行记录** ,用于清除js记录的运行历史 - **选择执行第几个路径组:** 本js支持分组运行地图追踪,分组方式详见后续选项,需要分组运行时请确保精英目标数量,小怪目标数量,各个路径组的标签等信息【完全相同】,复制配置组时未知原因无法正确复制配置,请不要使用 + - 如果你需要分组执行,请先建立和组数对应的配置组,分别添加本js,路径组一要【排除】的标签填写需要完全禁用的标签,如蕈兽,路径组二要【选择】的标签填写需要分配到路径组二的路线的标签,如小怪,不同配置组的js中选择对应的配队和路径组编号,其他配置保持默认的情况下即可实现精英和小怪分队伍和配置组锄地,更多路径组数量以此类推,各组其他选项原则上应保持完全相同。有更多疑问加入qq群1057307824讨论。(别再一个组填400-0,另外一个组填0-2000了) - **本路径组使用配队名称:** 填写该路径组使用的配队名称,js会自动切换 - - **拾取模式:** 需要注意,沙暴路线只在模板匹配或ocr模式下可用 - - - ocr拾取:使用ocr识别掉落物进行拾取,自定义拾取名单【仅在此模式下生效】 - - - 模板匹配拾取:推荐使用,速度最快,性能消耗最低,只拾取四种锄地会掉落的狗粮 + - **拾取模式:** 需要注意,沙暴路线只在模板匹配模式下可用 + - - 模板匹配拾取:推荐使用,速度最快,性能消耗最低 - - bgi原版拾取:使用bgi自带的拾取 - - 不拾取:不拾取任何物品 - **拾取时间参数:** 建议先不要调节,观察到拾取异常时再根据自定义配置提示调节 @@ -63,25 +63,27 @@ - **优先关键词:** 含有关键词的路线会被视为拥有最高效率,例如填写600来让所有600怪物优先考虑,填写骗骗花来优先考虑骗骗花 - **排除关键词:** 含有关键词的路线会被排除,例如填写纳塔来排除所有纳塔路线,同样使用中文逗号分隔 +4. **只建议在原神中设置1080p,60帧使用,其他分辨率或帧率出现任何问题都是正常现象** + ### 二、**锄地收益** - 击杀精英怪和小怪通常会掉落对应的材料和一定量摩拉,同时为队伍中角色提供经验,精英怪还会概率掉落三四星的战狂、教官、流放者圣遗物 - 击杀小怪和精英怪获取收益存在限制,超过400只精英怪和2000只小怪的部分不会再产生收益 - 不同怪物的价值不同,小怪通常掉落32-49摩拉,精英怪通常掉落200摩拉,部分怪物价值较高,会成倍增加掉落,如纳塔龙武士占据一个小怪名额但是掉落双倍(64-98)的摩拉,丘丘王占据一个精英名额但是掉落三倍(600)的摩拉 - - 本js的核心功能就是从内置的路线中按照配置选择路线组合来在较短的时间内获取较高的收益,通常配置下预期可获取约22万摩拉和6万经验的圣遗物 + - 本js的核心功能就是从内置的路线中按照配置选择路线组合来在较短的时间内获取较高的收益,默认配置下预期可获取约23.5万摩拉和5.5万经验的圣遗物 - 请按照自己的情况合理安排精英和小怪的目标数量,建议优先刷满400个精英,如果有多余时间再刷小怪 -### 三、**黑白名单拾取** +### 三、**拾取模式** - 目前bgi默认的自动拾取无法有效从怪物材料中分拣出狗粮,长期锄地容易造成背包中牛角等材料达到上限而影响自动拾取,关闭拾取又会无法捡到狗粮损失收益 - - 使用本js可实现基本上只拾取目标物品,默认配置下只拾取圣遗物和晶蝶(相关功能原型来自@吉吉喵,经过魔改) - - 如果需要增加其他的目标物品,请打开assets/拾取名单.json,在白名单中添加目标物品 - - 清空白名单会拾取大部分物品,除了名称包含黑名单的物品,不建议这样使用,有几率和npc交互等造成卡死 + - 使用本js可实现基本上只拾取目标物品,默认配置下将拾取狗粮和全部怪物材料,并自动将达到上限的材料添加至黑名单中,也可选择只拾取狗粮 + - 黑名单每个账户独立存储,可以打开balcklists文件夹查看并编辑每个账号的黑名单 + - 支持使用bgi原版拾取或完全不拾取任何物品,不建议使用 ### 四、**锄地配队建议** - bgi锄地没有那么智能,暂时无法像手动一样灵活进行各种需要索敌的操作,同时各种位移技能也很容易干扰锄地的正常运行,因此建议的锄地配队组队思路如下: - 一个合理的bgi锄地配队至少应当包含抗打断、召唤物输出、奶妈,精英怪的配队还应当带上万叶 - - 抗打断位用于确保技能的正常释放,通常为护盾角色,只建议e启动角色,如茜特菈莉、伊涅芙等,四星角色莱伊拉也可用,通常不建议使用钟离,柱子对bgi运行影响较大。此外,迪希雅的领域可以给予领域内角色抗打断和分摊伤害,也可以作为抗打断位使用。如果你执意不携带任何抗打断位,角色技能将很容易被怪物打断。 + - 抗打断位用于确保技能的正常释放,通常为护盾角色,只建议e启动角色,如茜特菈莉、伊涅芙等,四星角色莱伊拉也可用,通常不建议使用钟离,柱子影响较大。此外,迪希雅的领域可以给予领域内角色抗打断和分摊伤害,也可以作为抗打断位使用。如果你执意不携带任何抗打断位,角色技能将很容易被怪物打断。 - 召唤物输出目前可靠的只有芙宁娜,爱可菲可以在没有芙宁娜时作为下位替代,两个角色都有时非常推荐同时携带。如果两者都不携带,锄地的效率将会很低。非常不建议在没有任何形式的自动索敌的情况下使用bgi锄地。 - - 奶妈非常建议携带,可以较大提升bgi锄地的稳定性,减少复活次数从而提高总体效率,同时保持50%以上的血线将提高海鲜的伤害。总体来说e启动奶>q启动奶,白术、希格雯、爱可菲、芭芭拉、夏沃蕾都可以使用,仅当你有满命芙宁娜或钟离时,可以考虑不携带奶妈。**【金箔的回血是不够的!!!】**,不要认为带了金箔就不用带奶了,金箔只能作为补充手段。 + - 奶妈非常建议携带,可以较大提升bgi锄地的稳定性,减少复活次数从而提高总体效率,同时保持50%以上的血线将提高海鲜的伤害。总体来说e启动奶>q启动奶,白术、希格雯、爱可菲、芭芭拉、夏沃蕾都可以使用,仅当你有满命芙宁娜或钟离等时,可以考虑不携带奶妈。 - 其他补充伤害的角色,他们的作用是快速清理近处较多的怪物,有利于提高偏对单的海鲜和烹饪锅处理怪物的效率,只有在你队伍有空余位置时才建议携带(通常没位置),较推荐使用的角色有:玛薇卡、那维莱特、万叶(扩散清杂和聚怪) - 剩余角色在bgi锄地中基本上没有明显作用,如果非要带着锄地,不建议切出来,全程后台即可 - 冻结可以打断怪物行动,提高队伍生存能力,建议携带能够冻结怪物的角色,不建议携带会碎冰等破坏冻结状态的角色(尤其钟离) @@ -94,96 +96,103 @@ --- ### 更新日志 +### 1.8.3(2025.10.03) +1. 添加一个try-catch来修复占位文件无法读取的问题 +### 1.8.2(2025.10.03) +1. 移除ocr拾取模式,优化模板匹配拾取模式,减少误判,优化识别效率,并支持自动添加黑名单 +2. 优化readme.md,更详细描述分组运行的配置方法 +3. 修改默认拾取参数 +4. 为沙暴路线添加沙暴标签 ### 1.7.1(2025.09.27) -1.修几个路线416,6508,6906 +1. 修几个路线416,6508,6906 ### 1.7.0(2025.09.26) -1.优化路线选择逻辑 -2.等待时传送到七天神像,防止在奇怪的地方等待导致趋势 +1. 优化路线选择逻辑 +2. 等待时传送到七天神像,防止在奇怪的地方等待导致趋势 ### 1.6.4(2025.09.17) -1.修正莫佬乱填的路线信息 -2.修点小怪路线6504,6508 +1. 修正莫佬乱填的路线信息 +2. 修点小怪路线6504,6508 ### 1.6.3(2025.09.17) -1.修正汐佬乱填的路线信息 +1. 修正汐佬乱填的路线信息 ### 1.6.2(2025.09.16) -1.增加路线:挪德卡莱精英 +1. 增加路线:挪德卡莱精英 ### 1.6.1(2025.09.15) -1.增加路线:纳塔度假村 +1. 增加路线:纳塔度假村 ### 1.6.0(2025.09.14) -1.增加路线:挪德卡莱希汐岛区域 -2.增加选项,可拾取新材料 +1. 增加路线:挪德卡莱希汐岛区域 +2. 增加选项,可拾取新材料 ### 1.5.1(2025.08.28) -1.优化检测坐标判断路线运行成功的机制 +1. 优化检测坐标判断路线运行成功的机制 ### 1.5.0(2025.08.27) -1.加入配队检测,配队不合理时进行警告,但不影响正常进程 -2.readme中加入锄地配队建议 +1. 加入配队检测,配队不合理时进行警告,但不影响正常进程 +2. readme中加入锄地配队建议 ### 1.4.16(2025.08.27) -1.修509 -2.新增522 +1. 修509 +2. 新增522 ### 1.4.15(2025.08.25) -1.沙暴路线配合js修改 +1. 沙暴路线配合js修改 ### 1.4.14(2025.08.25) -1.更改处理沙暴路线的逻辑 +1. 更改处理沙暴路线的逻辑 ### 1.4.13(2025.08.24) -1.更正部分路线的怪物信息 +1. 更正部分路线的怪物信息 ### 1.4.12(2025.08.23) -1.优化精英246,428,504;小怪6405,6806 +1. 优化精英246,428,504;小怪6405,6806 ### 1.4.11(2025.08.22) -1.优化422 +1. 优化422 ### 1.4.10(2025.08.20) -1.优化316,210路线 +1. 优化316,210路线 ### 1.4.9(2025.08.19) -1.优化217,241,314,321,422,605 +1. 优化217,241,314,321,422,605 ### 1.4.8(2025.08.18) -1.优化241,413,605 +1. 优化241,413,605 ### 1.4.7(2025.08.18) -1.将拾取的各种参数分别通过自定义配置直接指定 +1. 将拾取的各种参数分别通过自定义配置直接指定 ### 1.4.6(2025.08.17) -1.优化了几条路线 +1. 优化了几条路线 ### 1.4.5(2025.08.16) -1.增加了更多的备用路径组 -2.将原分层路线移到普通路线 +1. 增加了更多的备用路径组 +2. 将原分层路线移到普通路线 ### 1.4.4(2025.08.15) -1.微调了拾取的参数,尝试减少误拾取与遗漏 +1. 微调了拾取的参数,尝试减少误拾取与遗漏 ### 1.4.3(2025.08.13) -1.研究方法进入[沙暴]区域 +1. 研究方法进入[沙暴]区域 ### 1.4.2(2025.08.13) -1.修改拾取后延时效果 +1. 修改拾取后延时效果 ### 1.4.1(2025.08.12) -1.优化精英101路线 +1. 优化精英101路线 ### 1.4.0(2025.08.12) -1.增加拾取模式,模板匹配拾取并设为默认项,之前的拾取模式改名为ocr拾取 +1. 增加拾取模式,模板匹配拾取并设为默认项,之前的拾取模式改名为ocr拾取 ### 1.3.8(2025.08.11) -1.优化精英部分点位 +1. 优化精英部分点位 ### 1.3.7(2025.08.10) -1.优化精英部分点位 +1. 优化精英部分点位 ### 1.3.6(2025.08.07) -1.进一步优化内存占用 +1. 进一步优化内存占用 ### 1.3.5(2025.08.07) -1.使用dispose极大优化内存占用 +1. 使用dispose极大优化内存占用 ### 1.3.4(2025.08.07) -1.修复拾取失效 -2.修复泥头车模式卡复活界面 +1. 修复拾取失效 +2. 修复泥头车模式卡复活界面 ### 1.3.3(2025.08.05) -1.修复拾取失效 +1. 修复拾取失效 ### 1.3.2(2025.08.05) -1.修复拾取失效 +1. 修复拾取失效 ### 1.3.1(2025.08.05) -1.修复异步使用滚动造成的拾取失效 +1. 修复异步使用滚动造成的拾取失效 ### 1.3.0(2025.08.04) -1.增加了识图频率限制,可以通过自定义配置中触发器间隔调节 -1.优化了拾取时的滚动效果 +1. 增加了识图频率限制,可以通过自定义配置中触发器间隔调节 +2. 优化了拾取时的滚动效果 ### 1.2.5(2025.07.31) -1.运行线路前删除部分中间信息,略微减少内存占用 -2.当权重(涉及指数运算)过大时,修正到五,过小时修正到0 -3.修复了按效率降序排序与优先关键词的冲突,现在含优先关键词的路线也会按照各自的效率排序了 +1. 运行线路前删除部分中间信息,略微减少内存占用 +2. 当权重(涉及指数运算)过大时,修正到五,过小时修正到0 +3. 修复了按效率降序排序与优先关键词的冲突,现在含优先关键词的路线也会按照各自的效率排序了 ### 1.2.4(2025.07.29) -1.修复了关键词无法对怪物名称生效的问题 +1. 修复了关键词无法对怪物名称生效的问题 ### 1.2.3(2025.07.28) -1.优化了定时终止的逻辑,会按下一条路线的预计时间来计算,避免某条线路过长 -2.添加了按效率降序运行的选项,用于在时间有限且不确定时优先运行效率较高的路线 -3.修正了部分路线无法识别的问题 +1. 优化了定时终止的逻辑,会按下一条路线的预计时间来计算,避免某条线路过长 +2. 添加了按效率降序运行的选项,用于在时间有限且不确定时优先运行效率较高的路线 +3. 修正了部分路线无法识别的问题 ### 1.2.2(2025.07.25) -1.调整部分小怪路线的战斗点位 +1. 调整部分小怪路线的战斗点位 ### 1.2.1(2025.07.24) 1. 调整了路线筛选的逻辑 ### 1.1.8(2025.07.13) diff --git a/repo/js/AutoHoeingOneDragon/assets/itemFull.png b/repo/js/AutoHoeingOneDragon/assets/itemFull.png new file mode 100644 index 000000000..93eae12a0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/itemFull.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/加固机轴.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/加固机轴.png deleted file mode 100644 index 79b83304f..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/加固机轴.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/失光块骨.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/失光块骨.png deleted file mode 100644 index 4b67aa471..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/失光块骨.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾兜盔.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾兜盔.png deleted file mode 100644 index a6bc04511..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾兜盔.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾化形.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾化形.png deleted file mode 100644 index 813040ec9..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾化形.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾片甲.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾片甲.png deleted file mode 100644 index 8d6143d95..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/幽雾片甲.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/毁损机轴.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/毁损机轴.png deleted file mode 100644 index 3fa24164f..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/毁损机轴.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/磨损的执凭.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/磨损的执凭.png deleted file mode 100644 index 0cf0eff1f..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/磨损的执凭.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/稀光遗骼.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/稀光遗骼.png deleted file mode 100644 index 5e04dc85d..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/稀光遗骼.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/精制机轴.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/精制机轴.png deleted file mode 100644 index bc9b211f3..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/精制机轴.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/精致的执凭.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/精致的执凭.png deleted file mode 100644 index 74daffe65..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/精致的执凭.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/繁光躯外骸.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/繁光躯外骸.png deleted file mode 100644 index 6b76b0cf3..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/繁光躯外骸.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的柔辉.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的柔辉.png deleted file mode 100644 index ae6c978af..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的柔辉.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的残照.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的残照.png deleted file mode 100644 index 2d1378a1d..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的残照.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的煌荣.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的煌荣.png deleted file mode 100644 index 5daebee4b..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜夜的煌荣.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜携的执凭.png b/repo/js/AutoHoeingOneDragon/assets/newTargets/霜携的执凭.png deleted file mode 100644 index addcd4908..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/newTargets/霜携的执凭.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/战狂.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/战狂.png new file mode 100644 index 000000000..f463a5be9 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/战狂.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/教官.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/教官.png new file mode 100644 index 000000000..cdaf0c7bb Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/教官.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/流放.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/流放.png new file mode 100644 index 000000000..0ff75f5f4 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/流放.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/游医.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/游医.png new file mode 100644 index 000000000..1e6c7b627 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/00狗粮/游医.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/月萤虫.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/月萤虫.png new file mode 100644 index 000000000..3bbe7eae0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/月萤虫.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/某晶蝶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/某晶蝶.png new file mode 100644 index 000000000..ca44450e7 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/某晶蝶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/镇压沙暴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/镇压沙暴.png new file mode 100644 index 000000000..ebde2a5e0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/镇压沙暴.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/预留/占位.js b/repo/js/AutoHoeingOneDragon/assets/targetItems/其他/预留/占位.js new file mode 100644 index 000000000..e69de29bb diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/不祥的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/不祥的面具.png new file mode 100644 index 000000000..6a4882c0b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/不祥的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/污秽的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/污秽的面具.png new file mode 100644 index 000000000..5862b01db Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/污秽的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/沉重号角.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/沉重号角.png new file mode 100644 index 000000000..f56b5f108 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/沉重号角.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/破损的面具(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/破损的面具(1).png new file mode 100644 index 000000000..af6853f9e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/破损的面具(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/黑晶号角.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/黑晶号角.png new file mode 100644 index 000000000..fbdca0adb Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/黑晶号角.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/黑铜号角.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/黑铜号角.png new file mode 100644 index 000000000..87819e628 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/A丘丘王/黑铜号角.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的新芽.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的新芽.png new file mode 100644 index 000000000..e9f8eb434 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的新芽.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的旧枝.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的旧枝.png new file mode 100644 index 000000000..a271ab80d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的旧枝.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的枯叶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的枯叶.png new file mode 100644 index 000000000..1a52908e0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/B深渊法师/地脉的枯叶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌回路.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌回路.png new file mode 100644 index 000000000..ee4195996 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌回路.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌炉心.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌炉心.png new file mode 100644 index 000000000..e4c83d4d3 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌炉心.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌装置.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌装置.png new file mode 100644 index 000000000..9e9df29e0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/C遗迹守卫+遗迹猎者/混沌装置.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/士官的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/士官的徽记.png new file mode 100644 index 000000000..3f66b72b7 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/士官的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/尉官的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/尉官的徽记.png new file mode 100644 index 000000000..33a87c870 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/尉官的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/新兵的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/新兵的徽记.png new file mode 100644 index 000000000..df99d01b3 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/新兵的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚灯芯.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚灯芯.png new file mode 100644 index 000000000..cc3a869dd Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚灯芯.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚花粉.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚花粉.png new file mode 100644 index 000000000..e7fdc74a8 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚花粉.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚草囊.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚草囊.png new file mode 100644 index 000000000..c3871404b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/D萤术士/雾虚草囊.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/士官的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/士官的徽记.png new file mode 100644 index 000000000..3f66b72b7 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/士官的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/尉官的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/尉官的徽记.png new file mode 100644 index 000000000..33a87c870 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/尉官的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/新兵的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/新兵的徽记.png new file mode 100644 index 000000000..df99d01b3 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/新兵的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/特工祭刀.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/特工祭刀.png new file mode 100644 index 000000000..5b9da9bba Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/特工祭刀.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/猎兵祭刀.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/猎兵祭刀.png new file mode 100644 index 000000000..979cbd2e7 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/猎兵祭刀.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/督察长祭刀.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/督察长祭刀.png new file mode 100644 index 000000000..01cc96f6c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/E债务处理人/督察长祭刀.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/石化的骨片.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/石化的骨片.png new file mode 100644 index 000000000..2ef15089c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/石化的骨片.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/结实的骨片.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/结实的骨片.png new file mode 100644 index 000000000..8096cb127 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/结实的骨片.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/脆弱的骨片.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/脆弱的骨片.png new file mode 100644 index 000000000..81f83a7d9 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/F幼岩龙蜥+岩龙蜥+深海龙蜥/脆弱的骨片.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌机关(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌机关(1).png new file mode 100644 index 000000000..5aed9b5fc Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌机关(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌机关.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌机关.png new file mode 100644 index 000000000..ec0a50b26 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌机关.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌枢纽(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌枢纽(1).png new file mode 100644 index 000000000..7daf4d195 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌枢纽(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌枢纽.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌枢纽.png new file mode 100644 index 000000000..db54fdc32 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌枢纽.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌真眼(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌真眼(1).png new file mode 100644 index 000000000..2a5d30564 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌真眼(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌真眼.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌真眼.png new file mode 100644 index 000000000..e1a597978 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/G遗迹机兵/混沌真眼.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/偏光棱镜.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/偏光棱镜.png new file mode 100644 index 000000000..a7be0633e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/偏光棱镜.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/水晶棱镜.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/水晶棱镜.png new file mode 100644 index 000000000..b4454afe0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/水晶棱镜.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/黯淡棱镜.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/黯淡棱镜.png new file mode 100644 index 000000000..0cb5a1102 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/H冬国仕女/黯淡棱镜.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽利爪.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽利爪.png new file mode 100644 index 000000000..78e683427 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽利爪.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽指爪.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽指爪.png new file mode 100644 index 000000000..26bab521d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽指爪.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽鬼爪.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽鬼爪.png new file mode 100644 index 000000000..40bec5e31 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/I兽境之狼/隐兽鬼爪.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/夤夜刻像.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/夤夜刻像.png new file mode 100644 index 000000000..0704fb457 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/夤夜刻像.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/幽邃刻像.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/幽邃刻像.png new file mode 100644 index 000000000..8990d699b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/幽邃刻像.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/晦暗刻像.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/晦暗刻像.png new file mode 100644 index 000000000..2b58bf3e5 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/晦暗刻像.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/黄夜刻像(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/黄夜刻像(1).png new file mode 100644 index 000000000..8191c6089 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/J黑蛇众/黄夜刻像(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/休眠菌核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/休眠菌核.png new file mode 100644 index 000000000..c44675ca0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/休眠菌核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/失活菌核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/失活菌核.png new file mode 100644 index 000000000..6b32c4dbc Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/失活菌核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/茁壮菌核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/茁壮菌核.png new file mode 100644 index 000000000..49107f86c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/K蕈兽 -雷火/茁壮菌核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌容器.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌容器.png new file mode 100644 index 000000000..a23d4dce3 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌容器.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌模块.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌模块.png new file mode 100644 index 000000000..57c1da6eb Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌模块.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌锚栓.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌锚栓.png new file mode 100644 index 000000000..d94645dbc Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/L遗迹龙兽/混沌锚栓.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/混浊棱晶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/混浊棱晶.png new file mode 100644 index 000000000..a9e58b1f8 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/混浊棱晶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/破缺棱晶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/破缺棱晶.png new file mode 100644 index 000000000..f4f96aa85 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/破缺棱晶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/辉光棱晶(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/辉光棱晶(1).png new file mode 100644 index 000000000..3fcc2f939 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/辉光棱晶(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/辉光棱晶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/辉光棱晶.png new file mode 100644 index 000000000..b9af5d745 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/M元能构装体/辉光棱晶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/密固的横脊.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/密固的横脊.png new file mode 100644 index 000000000..adc18396f Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/密固的横脊.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/残毀的橫脊.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/残毀的橫脊.png new file mode 100644 index 000000000..e6177a58e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/残毀的橫脊.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/锲纹的横脊.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/锲纹的横脊.png new file mode 100644 index 000000000..ca8607010 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/N圣骸兽/锲纹的横脊.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/何人所珍藏之花.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/何人所珍藏之花.png new file mode 100644 index 000000000..3001936df Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/何人所珍藏之花.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/来自何处的待放之.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/来自何处的待放之.png new file mode 100644 index 000000000..d3b334b6b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/来自何处的待放之.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/漫游者的盛放之花.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/漫游者的盛放之花.png new file mode 100644 index 000000000..eec32b71a Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/O丘丘游侠/漫游者的盛放之花.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/初生的浊水幻灵.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/初生的浊水幻灵.png new file mode 100644 index 000000000..339b7a767 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/初生的浊水幻灵.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/浊水的一掬.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/浊水的一掬.png new file mode 100644 index 000000000..ddcd2a4b6 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/浊水的一掬.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/浊水的一滴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/浊水的一滴.png new file mode 100644 index 000000000..af5ac968f Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/P浊水幻灵/浊水的一滴.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/外世突触(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/外世突触(1).png new file mode 100644 index 000000000..a52261faa Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/外世突触(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/外世突触.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/外世突触.png new file mode 100644 index 000000000..315864484 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/外世突触.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/异界生命核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/异界生命核.png new file mode 100644 index 000000000..908a6e3e8 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/异界生命核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/隙间之核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/隙间之核.png new file mode 100644 index 000000000..afd2b6114 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Q隙境原体/隙间之核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/役人的制式怀表.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/役人的制式怀表.png new file mode 100644 index 000000000..036e21d02 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/役人的制式怀表.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/役人的时时刻刻.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/役人的时时刻刻.png new file mode 100644 index 000000000..83a86738a Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/役人的时时刻刻.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/老旧的役人怀表.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/老旧的役人怀表.png new file mode 100644 index 000000000..aff1f7c18 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/R愚人众风役人/老旧的役人怀表.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/月色鳍翅.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/月色鳍翅.png new file mode 100644 index 000000000..5e54ff669 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/月色鳍翅.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/渊光鳍翅.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/渊光鳍翅.png new file mode 100644 index 000000000..5d761d612 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/渊光鳍翅.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/羽状鳍翅(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/羽状鳍翅(1).png new file mode 100644 index 000000000..4ba407956 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/羽状鳍翅(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/羽状鳍翅.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/羽状鳍翅.png new file mode 100644 index 000000000..eb821964b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/S玄文兽/羽状鳍翅.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/未熄的剑柄.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/未熄的剑柄.png new file mode 100644 index 000000000..09b92bae5 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/未熄的剑柄.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/残毀的剑柄.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/残毀的剑柄.png new file mode 100644 index 000000000..3f1f0e4a2 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/残毀的剑柄.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/残毁的剑柄.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/残毁的剑柄.png new file mode 100644 index 000000000..a5cd51e73 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/残毁的剑柄.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/裂断的剑柄(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/裂断的剑柄(1).png new file mode 100644 index 000000000..8b6370655 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/T魔像禁卫/裂断的剑柄(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志巡游的符像.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志巡游的符像.png new file mode 100644 index 000000000..bec8ede94 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志巡游的符像.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志明晰的寄偶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志明晰的寄偶.png new file mode 100644 index 000000000..81180df39 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志明晰的寄偶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志破碎的残片.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志破碎的残片.png new file mode 100644 index 000000000..d7a4fa540 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/U大灵显化身/意志破碎的残片.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的命种.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的命种.png new file mode 100644 index 000000000..8a2342adc Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的命种.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的游像眼.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的游像眼.png new file mode 100644 index 000000000..16109370c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的游像眼.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的石块.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的石块.png new file mode 100644 index 000000000..9fc3b4f9d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/V熔岩游像/聚燃的石块.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源机鞘.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源机鞘.png new file mode 100644 index 000000000..7c402cd58 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源机鞘.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源真芯.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源真芯.png new file mode 100644 index 000000000..9a33a35e4 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源真芯.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源轴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源轴.png new file mode 100644 index 000000000..17a297ae0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/W秘源机兵/秘源轴.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/惑光的阔叶.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/惑光的阔叶.png new file mode 100644 index 000000000..78e7018c4 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/惑光的阔叶.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/折光的胚芽.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/折光的胚芽.png new file mode 100644 index 000000000..e0c93afb5 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/折光的胚芽.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/迷光的蜷叶之心.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/迷光的蜷叶之心.png new file mode 100644 index 000000000..e8cd3d8ed Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/X深邃拟覆叶/迷光的蜷叶之心.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/冷裂壳块.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/冷裂壳块.png new file mode 100644 index 000000000..dc5f0b0bd Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/冷裂壳块.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/明燃的棱状壳.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/明燃的棱状壳.png new file mode 100644 index 000000000..1b77a73c2 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/明燃的棱状壳.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/蕴热的背壳.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/蕴热的背壳.png new file mode 100644 index 000000000..0213486c2 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/Y炉壳山鼬/蕴热的背壳.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆凝液.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆凝液.png new file mode 100644 index 000000000..eedef7d2f Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆凝液.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆原浆.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆原浆.png new file mode 100644 index 000000000..819e3a80a Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆原浆.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆清.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆清.png new file mode 100644 index 000000000..c0f7536d8 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZA史莱姆/史莱姆清.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/不祥的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/不祥的面具.png new file mode 100644 index 000000000..6a4882c0b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/不祥的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/污秽的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/污秽的面具.png new file mode 100644 index 000000000..5862b01db Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/污秽的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/破损的面具(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/破损的面具(1).png new file mode 100644 index 000000000..af6853f9e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZB丘丘人/破损的面具(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/不祥的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/不祥的面具.png new file mode 100644 index 000000000..6a4882c0b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/不祥的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/导能绘卷.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/导能绘卷.png new file mode 100644 index 000000000..4c7347400 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/导能绘卷.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/封魔绘卷(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/封魔绘卷(1).png new file mode 100644 index 000000000..d30981b35 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/封魔绘卷(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/封魔绘卷.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/封魔绘卷.png new file mode 100644 index 000000000..0072fd84d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/封魔绘卷.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/污秽的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/污秽的面具.png new file mode 100644 index 000000000..5862b01db Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/污秽的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/破损的面具(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/破损的面具(1).png new file mode 100644 index 000000000..af6853f9e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/破损的面具(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/禁咒绘卷.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/禁咒绘卷.png new file mode 100644 index 000000000..d2108b6a5 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZC丘丘萨满/禁咒绘卷.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/不祥的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/不祥的面具.png new file mode 100644 index 000000000..6a4882c0b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/不祥的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/历战的箭簇.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/历战的箭簇.png new file mode 100644 index 000000000..24a885375 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/历战的箭簇.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/污秽的面具.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/污秽的面具.png new file mode 100644 index 000000000..5862b01db Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/污秽的面具.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/牢固的箭簇.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/牢固的箭簇.png new file mode 100644 index 000000000..293e7415e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/牢固的箭簇.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/破损的面具(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/破损的面具(1).png new file mode 100644 index 000000000..af6853f9e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/破损的面具(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/锐利的箭簇.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/锐利的箭簇.png new file mode 100644 index 000000000..cfba06676 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZD丘丘人射手/锐利的箭簇.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/士官的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/士官的徽记.png new file mode 100644 index 000000000..3f66b72b7 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/士官的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/尉官的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/尉官的徽记.png new file mode 100644 index 000000000..33a87c870 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/尉官的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/新兵的徽记.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/新兵的徽记.png new file mode 100644 index 000000000..df99d01b3 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZE愚人众先遣队/新兵的徽记.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/寻宝鸦印.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/寻宝鸦印.png new file mode 100644 index 000000000..7e842128a Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/寻宝鸦印.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/攫金鸦印.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/攫金鸦印.png new file mode 100644 index 000000000..4d0ce793f Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/攫金鸦印.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/藏银鸦印.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/藏银鸦印.png new file mode 100644 index 000000000..c2ecf7cf3 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZF盗宝团/藏银鸦印.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/原素花蜜.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/原素花蜜.png new file mode 100644 index 000000000..4e1ebc762 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/原素花蜜.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/微光花蜜.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/微光花蜜.png new file mode 100644 index 000000000..25d37c6df Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/微光花蜜.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/骗骗花蜜.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/骗骗花蜜.png new file mode 100644 index 000000000..1fa92cb5e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZG骗骗花/骗骗花蜜.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/名刀镡.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/名刀镡.png new file mode 100644 index 000000000..034e01450 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/名刀镡.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/影打刀镡.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/影打刀镡.png new file mode 100644 index 000000000..0d831cff1 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/影打刀镡.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/破旧的刀镡.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/破旧的刀镡.png new file mode 100644 index 000000000..c45dd2a62 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZH野伏众/破旧的刀镡.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游干核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游干核.png new file mode 100644 index 000000000..a3e8e6fc6 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游干核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游幽核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游幽核.png new file mode 100644 index 000000000..20d6db8ef Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游幽核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游晶化核.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游晶化核.png new file mode 100644 index 000000000..030abb5f0 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZI飘浮灵/浮游晶化核.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/孢囊晶尘.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/孢囊晶尘.png new file mode 100644 index 000000000..02efdeeab Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/孢囊晶尘.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/荧光孢粉.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/荧光孢粉.png new file mode 100644 index 000000000..d0c630985 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/荧光孢粉.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/蕈兽孢子(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/蕈兽孢子(1).png new file mode 100644 index 000000000..ce18bed75 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/蕈兽孢子(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/蕈兽孢子.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/蕈兽孢子.png new file mode 100644 index 000000000..ddb899b6e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZJ蕈兽/蕈兽孢子.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/织金红绸.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/织金红绸.png new file mode 100644 index 000000000..cc9b19002 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/织金红绸.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/褪色红绸.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/褪色红绸.png new file mode 100644 index 000000000..3fb77c31d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/褪色红绸.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/镶边红绸(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/镶边红绸(1).png new file mode 100644 index 000000000..d216ff5cd Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/镶边红绸(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/镶边红绸.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/镶边红绸.png new file mode 100644 index 000000000..cc4c7452d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZK镀金旅团/镶边红绸.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异海之块.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异海之块.png new file mode 100644 index 000000000..79a909a3f Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异海之块.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异海凝珠.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异海凝珠.png new file mode 100644 index 000000000..2a5e1ecd5 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异海凝珠.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异色结晶石.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异色结晶石.png new file mode 100644 index 000000000..613bb371b Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZL原海异种/异色结晶石.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/1.奇械机芯齿轮.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/1.奇械机芯齿轮.png new file mode 100644 index 000000000..aa7d11dfd Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/1.奇械机芯齿轮.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/啮合齿轮.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/啮合齿轮.png new file mode 100644 index 000000000..87c104d15 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/啮合齿轮.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/奇械机芯齿轮.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/奇械机芯齿轮.png new file mode 100644 index 000000000..aa7d11dfd Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/奇械机芯齿轮.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/机关正齿轮.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/机关正齿轮.png new file mode 100644 index 000000000..245dcb514 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZM发条机关/机关正齿轮.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/橫行霸者的利齿.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/橫行霸者的利齿.png new file mode 100644 index 000000000..d7aa6430c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/橫行霸者的利齿.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/稚嫩的尖齿.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/稚嫩的尖齿.png new file mode 100644 index 000000000..623e03945 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/稚嫩的尖齿.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/老练的坚齿.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/老练的坚齿.png new file mode 100644 index 000000000..06a60b6b7 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZN纳塔龙众/老练的坚齿.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/卫从的木哨.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/卫从的木哨.png new file mode 100644 index 000000000..aef6f8342 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/卫从的木哨.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/战士的铁哨.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/战士的铁哨.png new file mode 100644 index 000000000..fed5941f4 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/战士的铁哨.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/龙冠武士的金哨.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/龙冠武士的金哨.png new file mode 100644 index 000000000..8ebbad76c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZO部族龙形武士/龙冠武士的金哨.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/加固机轴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/加固机轴.png new file mode 100644 index 000000000..f9e7e12c2 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/加固机轴.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/毁损机轴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/毁损机轴.png new file mode 100644 index 000000000..39e24b724 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/毁损机轴.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/精制机轴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/精制机轴.png new file mode 100644 index 000000000..ec12b0d02 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZP巡陆艇/精制机轴.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/磨损的执凭.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/磨损的执凭.png new file mode 100644 index 000000000..9262461ba Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/磨损的执凭.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/精致的执凭.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/精致的执凭.png new file mode 100644 index 000000000..31a4c494d Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/精致的执凭.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/霜镌的执凭.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/霜镌的执凭.png new file mode 100644 index 000000000..5b45ba86c Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/ZQ愚人众特辖队/霜镌的执凭.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾兜盔.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾兜盔.png new file mode 100644 index 000000000..d0acc6627 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾兜盔.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾化形.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾化形.png new file mode 100644 index 000000000..7c37fcc31 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾化形.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾片甲(1).png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾片甲(1).png new file mode 100644 index 000000000..e4598b19a Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾片甲(1).png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾片甲.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾片甲.png new file mode 100644 index 000000000..11d77a09e Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/荒野狂猎/幽雾片甲.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/失光块骨.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/失光块骨.png new file mode 100644 index 000000000..5bc8cd426 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/失光块骨.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/稀光遗骼.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/稀光遗骼.png new file mode 100644 index 000000000..1d15738f9 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/稀光遗骼.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/繁光躯外骸.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/繁光躯外骸.png new file mode 100644 index 000000000..8a9e06632 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/蕴光异兽/繁光躯外骸.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的柔辉.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的柔辉.png new file mode 100644 index 000000000..6862f9dfc Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的柔辉.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的残照.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的残照.png new file mode 100644 index 000000000..0ad5739b1 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的残照.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的煌荣.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的煌荣.png new file mode 100644 index 000000000..ad1076716 Binary files /dev/null and b/repo/js/AutoHoeingOneDragon/assets/targetItems/怪物掉落材料/霜夜灵嗣/霜夜的煌荣.png differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/战狂.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/战狂.png deleted file mode 100644 index 0fb0a56eb..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/targetItems/战狂.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/教官.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/教官.png deleted file mode 100644 index 4ad7988c0..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/targetItems/教官.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/流放.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/流放.png deleted file mode 100644 index 5e410171f..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/targetItems/流放.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/游医.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/游医.png deleted file mode 100644 index b659f9e9c..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/targetItems/游医.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/targetItems/镇压沙暴.png b/repo/js/AutoHoeingOneDragon/assets/targetItems/镇压沙暴.png deleted file mode 100644 index 38d8c1bed..000000000 Binary files a/repo/js/AutoHoeingOneDragon/assets/targetItems/镇压沙暴.png and /dev/null differ diff --git a/repo/js/AutoHoeingOneDragon/assets/拾取名单.json b/repo/js/AutoHoeingOneDragon/assets/拾取名单.json deleted file mode 100644 index 3e3b0a6aa..000000000 --- a/repo/js/AutoHoeingOneDragon/assets/拾取名单.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "白名单": [ - "冒险", - "尾羽", - "金杯", - "头带", - "幸运", - "绿花", - "鹰羽", - "沙漏", - "之杯", - "银冠", - "游医", - "银莲", - "枭羽", - "怀钟", - "药壶", - "方巾", - "战狂", - "蔷薇", - "翎羽", - "时计", - "骨杯", - "鬼面", - "教官", - "羽饰", - "怀表", - "茶杯", - "帽子", - "流放", - "之羽", - "怀表", - "之杯", - "头冠", - "晶蝶" - ], - "黑名单": [ - "漫游", - "盛放", - "何人", - "珍藏", - "来自", - "何处", - "待放", - "役人", - "制式", - "老旧的", - "须弥" - ] -} \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/blacklists/默认账户.json b/repo/js/AutoHoeingOneDragon/blacklists/默认账户.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/repo/js/AutoHoeingOneDragon/blacklists/默认账户.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/main.js b/repo/js/AutoHoeingOneDragon/main.js index f3d474ed8..9c47df284 100644 --- a/repo/js/AutoHoeingOneDragon/main.js +++ b/repo/js/AutoHoeingOneDragon/main.js @@ -1,9 +1,10 @@ -//当前js版本 1.6.4 +//当前js版本1.8.2 //拾取时上下滑动的时间 + let timeMoveUp; let timeMoveDown; -let pickupMode = settings.pickupMode || "模板匹配拾取,默认只拾取狗粮"; +let pickup_Mode = settings.pickup_Mode || "模板匹配拾取,拾取狗粮和怪物材料"; if (settings.activeDumperMode) { //处理泥头车信息 dumpers = settings.activeDumperMode.split(',').map(Number).filter(num => num === 1 || num === 2 || num === 3 || num === 4); } else { @@ -11,6 +12,8 @@ if (settings.activeDumperMode) { //处理泥头车信息 } let gameRegion; let targetItemPath = "assets/targetItems"; +let mainUITemplate = file.ReadImageMatSync("assets/MainUI.png"); +let itemFullTemplate = file.ReadImageMatSync("assets/itemFull.png"); let targetItems; const rollingDelay = (+settings.rollingDelay || 25); @@ -18,11 +21,15 @@ const pickupDelay = (+settings.pickupDelay || 100); const timeMove = (+settings.timeMove || 1000); let warnMessage = []; +let blacklist = []; +let blacklistSet = new Set(); +let state; +const accountName = settings.accountName || "默认账户"; (async function () { + targetItems = await loadTargetItems(); //自定义配置处理 const operationMode = settings.operationMode || "运行锄地路线"; - if (pickupMode === "js拾取,默认只拾取狗粮和晶蝶") pickupMode = "模板匹配拾取,默认只拾取狗粮"; let k = settings.efficiencyIndex; // 空字符串、null、undefined 或非数字 → 0.5 @@ -47,37 +54,15 @@ let warnMessage = []; const groupTags = groupSettings.map(str => str.split(',').filter(Boolean)); groupTags[0] = [...new Set(groupTags.flat())]; - const priorityTags = (settings.priorityTags || "").split(",").map(tag => tag.trim()).filter(tag => tag.length > 0); const excludeTags = (settings.excludeTags || "").split(",").map(tag => tag.trim()).filter(tag => tag.length > 0); - if (pickupMode != "模板匹配拾取,默认只拾取狗粮" && pickupMode != "ocr拾取,默认只拾取狗粮和晶蝶") { + if (pickup_Mode != "模板匹配拾取,拾取狗粮和怪物材料" && pickup_Mode != "模板匹配拾取,只拾取狗粮") { excludeTags.push("沙暴"); - log.warn("拾取模式不是模板匹配或ocr,无法处理沙暴路线,自动排除所有沙暴路线"); - } - const accountName = settings.accountName || "默认账户"; - // 拾取黑白名单处理 - const ocrPickupContent = await file.readText("assets/拾取名单.json"); - const ocrPickupJson = JSON.parse(ocrPickupContent); - ocrPickupJson["白名单"].push("镇压"); - const whitelistKeywords = ocrPickupJson["白名单"]; - const blacklistKeywords = ocrPickupJson["黑名单"]; - - targetItems = await readFolder(targetItemPath, false); - - if (settings.enableNewTargets) { - const newItems = await readFolder('assets/newTargets', false); - // 逐个 push - for (const f of newItems) targetItems.push(f); + log.warn("拾取模式不是模板匹配或,无法处理沙暴路线,自动排除所有沙暴路线"); } - //模板匹配对象处理 - if (pickupMode === "模板匹配拾取,默认只拾取狗粮") { - for (const targetItem of targetItems) { - targetItem.template = file.ReadImageMatSync(targetItem.fullPath); - targetItem.itemName = targetItem.fileName.replace(/\.png$/, ''); - //log.info(targetItem.itemName); - } - } + await loadBlacklist(true); + timeMoveUp = Math.round(timeMove * 0.45); timeMoveDown = Math.round(timeMove * 0.55); if (!settings.accountName) { @@ -170,7 +155,7 @@ let warnMessage = []; log.info("开始运行锄地路线"); await updateRecords(pathings, accountName); - await processPathingsByGroup(pathings, whitelistKeywords, blacklistKeywords, accountName); + await processPathingsByGroup(pathings, accountName); } else { log.info("强制刷新所有运行记录"); await initializeCdTime(pathings, ""); @@ -480,59 +465,476 @@ async function assignGroups(pathings, groupTags) { }); } -async function runPath(pathFilePath, map_name, whitelistKeywords, blacklistKeywords) { - let thisMoveUpTime = 0; - let lastMoveDown = 0; - let lastPickupTime = new Date(); - let lastPickupItem = ""; - // 定义状态变量 - let state = { completed: false, cancelRequested: false, atMainUi: false, lastCheckMainUi: new Date() }; - // 定义图像路径和目标文本列表 - const imagePath = `assets/F_Dialogue.png`; - const textxRange = { min: 1210, max: 1412 }; - const texttolerance = 30; // Y 坐标容错范围 +async function runPath(fullPath, map_name) { + state = { running: true }; - //检查是否在主界面 - async function isMainUI() { - // 修改后的图像路径 - const imagePath = "assets/MainUI.png"; - // 修改后的识别区域(左上角区域) - const xMin = 0; - const yMin = 0; - const width = 150; // 识别区域宽度 - const height = 150; // 识别区域高度 - let template = file.ReadImageMatSync(imagePath); - let recognitionObject = RecognitionObject.TemplateMatch(template, xMin, yMin, width, height); + /* ---------- 主任务 ---------- */ + const pathingTask = (async () => { + log.info(`开始执行路线: ${fullPath}`); + await fakeLog(`${fullPath}`, false, true, 0); + await pathingScript.runFile(fullPath); + await fakeLog(`${fullPath}`, false, false, 0); + state.running = false; + })(); - // 尝试次数设置为 2 次 - const maxAttempts = 2; + /* ---------- 伴随任务 ---------- */ + const pickupTask = (async () => { + if (pickup_Mode === "模板匹配拾取,拾取狗粮和怪物材料" || pickup_Mode === "模板匹配拾取,只拾取狗粮") { + await recognizeAndInteract(); + } + })(); - let attempts = 0; - while (attempts < maxAttempts && !state.cancelRequested) { - try { + const errorProcessTask = (async () => { + while (state.running) { + await sleep(1000); + } + })(); - gameRegion = captureGameRegion(); - let result = gameRegion.find(recognitionObject); - gameRegion.dispose(); - if (result.isExist()) { - return true; // 如果找到图标,返回 true + const blacklistTask = (async () => { + async function checkItemFull() { + const maxAttempts = 1; + let attempts = 0; + while (attempts < maxAttempts && state.running) { + try { + const recognitionObject = RecognitionObject.TemplateMatch(itemFullTemplate, 0, 0, 1920, 1080); + gameRegion.dispose(); + gameRegion = captureGameRegion(); + const result = gameRegion.find(recognitionObject); + if (result.isExist()) { + return true; + } + } catch (error) { + log.error(`识别图像时发生异常: ${error.message}`); + if (!state.running) break; + return false; } - } catch (error) { - log.error(`识别图像时发生异常: ${error.message}`); - if (state.cancelRequested) { - break; // 如果请求了取消,则退出循环 - } - return false; // 发生异常时返回 false + attempts++; } - attempts++; // 增加尝试次数 - await sleep(50); // 每次检测间隔 50 毫秒 + return false; } - if (state.cancelRequested) { - log.info("图像识别任务已取消"); + if (pickup_Mode === "模板匹配拾取,拾取狗粮和怪物材料" || pickup_Mode === "模板匹配拾取,只拾取狗粮") { + while (state.running) { + await sleep(1500); + if (await checkItemFull()) { + /* 1. OCR 560×450 → 1360×620 区域 */ + const TEXT_X = 560, TEXT_Y = 450, TEXT_W = 1360 - 560, TEXT_H = 620 - 450; + let ocrText = null; + try { + const resList = gameRegion.findMulti( + RecognitionObject.ocr(TEXT_X, TEXT_Y, TEXT_W, TEXT_H) + ); + if (resList.count) { + let longest = resList[0]; + for (let i = 1; i < resList.count; i++) { + if (resList[i].text.length > longest.text.length) longest = resList[i]; + } + ocrText = longest.text.replace(/[^\u4e00-\u9fa5]/g, ''); + } + } catch (e) { + log.error(`OCR异常: ${e.message}`); + } + + /* 2. 遍历 targetItems 找匹配 */ + if (ocrText) { + log.info(`识别到背包已满,识别到文本:${ocrText}`); + for (const targetItem of targetItems) { + const cnPart = targetItem.itemName.replace(/[^\u4e00-\u9fa5]/g, ''); + if (cnPart && ocrText.includes(cnPart)) { // 子串即可 + const itemName = targetItem.itemName; // 用原始完整名字 + log.warn(`物品"${itemName}"已满,加入黑名单`); + blacklistSet.add(itemName); + blacklist.push(itemName); + await loadBlacklist(false); + } + } + } + } + } } - return false; // 如果尝试次数达到上限或取消,返回 false + })(); + + + /* ---------- 泥头车任务 ---------- */ + let dumperTask = null; + if (dumpers.length > 0) { // 检查 dumpers 是否不为空 + dumperTask = dumper(fullPath, map_name); // 调用 dumper 函数 } + /* ---------- 并发等待 ---------- */ + await Promise.allSettled([ + pathingTask, + pickupTask, + errorProcessTask, + blacklistTask, + dumperTask // 即使为 null,allSettled 也会忽略 + ].filter(Boolean)); // 过滤掉 null,防止某些运行时报警 +} + +// 定义一个函数用于拾取 +async function recognizeAndInteract() { + //log.info("调试-开始执行图像识别与拾取任务"); + let lastcenterYF = 0; + let lastItemName = ""; + let fIcontemplate = file.ReadImageMatSync('assets/F_Dialogue.png'); + let thisMoveUpTime = 0; + let lastMoveDown = 0; + gameRegion = captureGameRegion(); + //主循环 + while (state.running) { + gameRegion.dispose(); + gameRegion = captureGameRegion(); + let centerYF = await findFIcon(); + + if (!centerYF) { + if (await isMainUI()) await keyMouseScript.runFile(`assets/滚轮下翻.json`); + continue; + } + /* + await sleep(160); + centerYF = await findFIcon(); + */ + //log.info(`调试-成功找到f图标,centerYF为${centerYF}`); + + let foundTarget = false; + let itemName = await performTemplateMatch(centerYF); + if (itemName) { + //log.info(`调试-识别到物品${itemName}`); + if (Math.abs(lastcenterYF - centerYF) <= 20 && lastItemName === itemName) { + //log.info("调试-相同物品名和相近y坐标,本次不拾取"); + await sleep(160); + lastcenterYF = -20; + lastItemName = null; + } else { + if (blacklistSet.has(itemName)) { + //log.warn(`识别到黑名单物品${itemName},不拾取`); + } else { + keyPress("F"); + log.info(`交互或拾取:"${itemName}"`); + lastcenterYF = centerYF; + lastItemName = itemName; + await sleep(pickupDelay); + //foundTarget = true; + } + } + } else { + //log.warn("未识别到结果"); + //await refreshTargetItems(centerYF); + lastItemName = ""; + } + if (!foundTarget) { + //log.info(`调试-执行滚轮动作`); + const currentTime = new Date().getTime(); + if (currentTime - lastMoveDown > timeMoveUp) { + await keyMouseScript.runFile(`assets/滚轮下翻.json`); + if (thisMoveUpTime === 0) thisMoveUpTime = currentTime; + if (currentTime - thisMoveUpTime >= timeMoveDown) { + lastMoveDown = currentTime; + thisMoveUpTime = 0; + } + } else { + await keyMouseScript.runFile(`assets/滚轮上翻.json`); + } + await sleep(rollingDelay); + } + } + + async function performTemplateMatch(centerYF) { + try { + let result; + let itemName = null; + for (const targetItem of targetItems) { + const cnLen = Math.min([...targetItem.itemName].filter(c => c >= '\u4e00' && c <= '\u9fff').length, 5); + const recognitionObject = RecognitionObject.TemplateMatch( + targetItem.template, + 1219, + centerYF - 15, + 12 + 28 * cnLen + 2, + 30 + ); + recognitionObject.Threshold = 0.9; + recognitionObject.InitTemplate(); + result = gameRegion.find(recognitionObject); + if (result.isExist()) { + itemName = targetItem.itemName; + break; + } + } + return itemName; + } catch (error) { + log.error(`模板匹配时发生异常: ${error.message}`); + return null; + } + } + + async function findFIcon() { + let recognitionObject = RecognitionObject.TemplateMatch(fIcontemplate, 1102, 335, 34, 400); + recognitionObject.Threshold = 0.95; + recognitionObject.InitTemplate(); + try { + let result = gameRegion.find(recognitionObject); + if (result.isExist()) { + return Math.round(result.y + result.height / 2); + } + } catch (error) { + log.error(`识别图像时发生异常: ${error.message}`); + if (!state.running) + return null; + } + await sleep(50); + return null; + } + +} + +/** + * 加载黑名单 + * @param {boolean} merge 是否先读取文件与现有 blacklist 合并再去重 + */ +async function loadBlacklist(merge = false) { + try { + if (merge) { + const raw = await file.readText(`blacklists/${accountName}.json`); + const arr = JSON.parse(raw); + blacklist = [...new Set([...blacklist, ...arr])]; + } + blacklistSet.clear(); + blacklist.forEach(item => blacklistSet.add(item)); + } catch (err) { + log.error(`读取黑名单失败: ${err.message}`); + blacklist = []; + blacklistSet.clear(); + } + await file.writeText(`blacklists/${accountName}.json`, JSON.stringify(blacklist, null, 2), false); +} + +async function isMainUI() { + const recognitionObject = RecognitionObject.TemplateMatch(mainUITemplate, 0, 0, 150, 150); + const maxAttempts = 1; + let attempts = 0; + let dodispose = false; + while (attempts < maxAttempts && state.running) { + if (!gameRegion) { + gameRegion = captureGameRegion(); + dodispose = true; + } + try { + const result = gameRegion.find(recognitionObject); + if (result.isExist()) return true; + } catch (error) { + log.error(`识别图像时发生异常: ${error.message}`); + if (!state.running) break; + return false; + } + attempts++; + await sleep(50); + if (dodispose) { + gameRegion.dispose; + } + } + return false; +} + +//加载拾取物图片 +async function loadTargetItems() { + let targetItemPath; + if (pickup_Mode === "模板匹配拾取,拾取狗粮和怪物材料") { + targetItemPath = "assets/targetItems/"; + } else if (pickup_Mode === "模板匹配拾取,只拾取狗粮") { + targetItemPath = "assets/targetItems/其他/"; + } else { + return null; + } + + const items = await readFolder(targetItemPath, false); + + // 统一预加载模板 + for (const it of items) { + try { + it.template = file.ReadImageMatSync(it.fullPath); + it.itemName = it.fileName.replace(/\.png$/i, ''); + } catch (error) { } + } + + return items; +} + +async function performOcr(centerYF) { + const TEXT_X = 1210, TEXT_W = 250; // 1210 ~ 1460 + const TEXT_Y = centerYF - 30, TEXT_H = 60; + + try { + const resList = gameRegion.findMulti( + RecognitionObject.ocr(TEXT_X, TEXT_Y, TEXT_W, TEXT_H) + ); + if (!resList.count) return null; + + // 取最长串 + let longest = resList[0]; + for (let i = 1; i < resList.count; i++) { + if (resList[i].text.length > longest.text.length) longest = resList[i]; + } + // 只要中文 + return longest.text.replace(/[^\u4e00-\u9fa5]/g, ''); + } catch (e) { + log.error(`OCR异常: ${e.message}`); + return null; + } +} + +/* ========== 主流程(只用 let 和基础循环) ========== */ +async function refreshTargetItems(centerYF) { + const TARGET_DIR = 'assets/targetItems'; + + /* 1. 一次截屏 */ + const rawText = await performOcr(centerYF); + if (!rawText) { log.warn('未识别到文字'); return; } + + const itemName = rawText.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, ''); + if (!itemName) { log.warn('未提取到有效物品名'); return; } + + const CAP_X = 1220; // 左侧固定 + let CAP_W = 12 + 28 * (itemName.length); // 动态宽度 + if (itemName.length > 4) { + CAP_W = 32 + 30 * 4;//过长时只取前五个字的区域 + } + const CAP_Y = centerYF - 14; + const CAP_H = 28; + + const mat = gameRegion.DeriveCrop(CAP_X, CAP_Y, CAP_W, CAP_H).SrcMat; + + /* 2. 纯 for 循环重名检测 */ + let finalName = itemName; + let seq = 1; + while (true) { + let hit = false; + for (let i = 0; i < targetItems.length; i++) { + if (targetItems[i].itemName === finalName) { + hit = true; + break; + } + } + if (!hit) break; // 没找到重名,可用 + finalName = itemName + '(' + seq + ')'; + seq++; + } + + /* 3. 保存 & 入库 */ + const fullPath = TARGET_DIR + '/' + finalName + '.png'; + file.WriteImageSync(fullPath, mat); + targetItems.push({ + fullPath: fullPath, + fileName: finalName + '.png', + itemName: finalName, + template: file.ReadImageMatSync(fullPath) + }); + + log.info('已新增拾取物:' + finalName); +} + +//处理泥头车模式 +async function dumper(pathFilePath, map_name) { + //log.info("开始泥头车"); + let lastDumperTimer = 0; + const dumperCD = 10000; + try { + const pathingContent = await file.readText(pathFilePath); + const parsedContent = JSON.parse(pathingContent); + const positions = parsedContent.positions; + // 初始化 hasT 为 false + let hasT = false; + + // 初始化 fightPositions 数组 + let fightPositions = []; + + // 遍历 positions 数组 + for (const pos of positions) { + // 检查 action_params 是否包含 keypress(T) + if (pos.action_params && pos.action_params.includes('keypress(T)')) { + hasT = true; + } + + // 如果 action 是 "fight",则添加到 fightPositions + if (pos.action === "fight") { + fightPositions.push({ + x: pos.x, + y: pos.y, + used: false + }); + } + } + if (!hasT) { + while (state.running) { + //log.info("调试-泥头车循环"); + await sleep(501); + if (await isMainUI()) { + //log.info("调试-获取坐标"); + //在主界面才尝试获取坐标 + let dumperDistance = 0; + try { + let shouldPressKeys = false; + const currentPosition = await genshin.getPositionFromMap(map_name); + for (let i = 0; i < fightPositions.length; i++) { + const fightPos = fightPositions[i]; + + if (fightPos.used) { + continue; + } + + const distance = Math.sqrt( + Math.pow(currentPosition.x - fightPos.x, 2) + + Math.pow(currentPosition.y - fightPos.y, 2) + ); + + if (distance <= 30) { + fightPositions[i].used = true; + } + + if (distance > 5 && distance <= 30) { + if ((new Date() - lastDumperTimer) > dumperCD) { + shouldPressKeys = true; + lastDumperTimer = new Date(); + dumperDistance = distance; + } + } + } + + if (shouldPressKeys) { + log.info(`距离下个战斗地点距离${dumperDistance.toFixed(2)},启用泥头车`); + for (const key of dumpers) { + log.info(`[泥头车]:尝试切换${key}号角色施放e技能`) + keyPress(String(key)); + await sleep(400); + keyPress('e'); + await sleep(400); + keyPress('e'); + await sleep(400); + keyPress('e'); + await sleep(400); + } + + for (let i = 0; i < 10; i++) { + if (await isRevivalUI()) { + //检测到复苏界面时,退出复苏界面 + keyPress("VK_ESCAPE"); + await sleep(500); + await genshin.returnMainUi(); + } else { + break; + } + + } + + } + } catch (error) { + } + } + } + } else { + log.info("当前路线含有按键T,不启用泥头车"); + } + } catch (error) { + log.error(`执行泥头车时出现异常: ${error.message}`); + } //检查是否在复活界面 async function isRevivalUI() { // 修改后的图像路径 @@ -549,364 +951,31 @@ async function runPath(pathFilePath, map_name, whitelistKeywords, blacklistKeywo const maxAttempts = 10; let attempts = 0; - while (attempts < maxAttempts && !state.cancelRequested) { + let dodispose = false; + while (attempts < maxAttempts && state.running) { try { - gameRegion = captureGameRegion(); + if (!gameRegion) { + gameRegion = captureGameRegion(); + dodispose = true; + } let result = gameRegion.find(recognitionObject); - gameRegion.dispose(); if (result.isExist()) { return true; // 如果找到图标,返回 true } } catch (error) { log.error(`识别图像时发生异常: ${error.message}`); - if (state.cancelRequested) { - break; // 如果请求了取消,则退出循环 - } return false; // 发生异常时返回 false } attempts++; // 增加尝试次数 - await sleep(100); // 每次检测间隔 100 毫秒 - } - if (state.cancelRequested) { - log.info("图像识别任务已取消"); + await sleep(200); // 每次检测间隔 200 毫秒 + if (dodispose) { + gameRegion.dispose; + } } return false; // 如果尝试次数达到上限或取消,返回 false } - - // 定义一个函数用于执行路径文件 - async function executePathFile(filePath) { - try { - await pathingScript.runFile(filePath); - await sleep(1); - } catch (error) { - log.error(`执行路径文件时发生错误:${error.message}`); - state.cancelRequested = true; // 修改状态变量 - } - state.completed = true; // 修改状态变量 - } - - // 定义一个函数用于执行OCR识别和交互 - async function recognizeAndInteract(imagePath, whitelistKeywords, textxRange, texttolerance) { - async function performOcr(whitelistKeywords, xRange, yRange) { - try { - // 在捕获的区域内进行OCR识别 - let resList = gameRegion.findMulti(RecognitionObject.ocr( - xRange.min, yRange.min, - xRange.max - xRange.min, yRange.max - yRange.min - )); - gameRegion.dispose(); - // 遍历识别结果,检查是否找到目标文本 - let results = []; - for (let i = 0; i < resList.count; i++) { - let res = resList[i]; - let correctedText = res.text; - - // 如果 whitelistKeywords 为空,则直接将所有文本视为匹配 - if (whitelistKeywords.length === 0) { - results.push({ text: correctedText, x: res.x, y: res.y, width: res.width, height: res.height }); - } else { - // 否则,检查是否包含目标文本 - for (let targetText of whitelistKeywords) { - if (correctedText.includes(targetText)) { - results.push({ text: correctedText, x: res.x, y: res.y, width: res.width, height: res.height }); - break; // 匹配到一个目标文本后即可跳出循环 - } - } - } - } - return results; - } catch (error) { - log.error(`识别文字时发生异常: ${error.message}`); - return []; - } - } - - async function performTemplateMatch(centerYF) { - try { - let result; - let itemName = null; - // 在捕获的区域内进行模板匹配识别 - for (const targetItem of targetItems) { - let recognitionObject = RecognitionObject.TemplateMatch(targetItem.template, 1200, centerYF - 35, 160, 70); - result = gameRegion.find(recognitionObject); - if (result.isExist()) { - itemName = targetItem.itemName; - //log.info(`调试-距离为${result.y + result.height / 2 - centerYF}`); - break; - } - } - gameRegion.dispose(); - return itemName; - } catch (error) { - log.error(`模板匹配时发生异常: ${error.message}`); - return []; - } - } - - while (!state.completed && !state.cancelRequested) { - let lastcenterYF = 0; - let lastItemName = ""; - // 尝试找到 F 图标并返回其坐标 - async function findFIcon(imagePath, xMin, yMin, width, height, timeout = 500) { - let template = file.ReadImageMatSync(imagePath); - let recognitionObject = RecognitionObject.TemplateMatch(template, xMin, yMin, width, height); - let startTime = Date.now(); - while (Date.now() - startTime < timeout && !state.cancelRequested) { - try { - gameRegion = captureGameRegion(); - let result = gameRegion.find(recognitionObject); - if (result.isExist()) { - return { success: true, x: result.x, y: result.y, width: result.width, height: result.height }; - } else { - gameRegion.dispose(); - } - } catch (error) { - log.error(`识别图像时发生异常: ${error.message}`); - if (state.cancelRequested) { - break; // 如果请求了取消,则退出循环 - } - return null; - } - await sleep(100); // 找不到f时等待 100 毫秒 - } - if (state.cancelRequested) { - log.info("图像识别任务已取消"); - } - return null; - } - - // 尝试找到 F 图标 - let fRes = await findFIcon(imagePath, 1102, 335, 34, 400, 200); - if (!fRes) { - state.atMainUi = await isMainUI(); - state.lastCheckMainUi = new Date(); - if (state.atMainUi) { - //log.info("在主界面,尝试下滑"); - await keyMouseScript.runFile(`assets/滚轮下翻.json`); - } - continue; - } - let foundTarget = false; - // 获取 F 图标的中心点 Y 坐标 - let centerYF = Math.round(fRes.y + fRes.height / 2); - if (pickupMode === "ocr拾取,默认只拾取狗粮和晶蝶") { - // 在当前屏幕范围内进行 OCR 识别 - let ocrResults = await performOcr(whitelistKeywords, textxRange, { min: fRes.y - texttolerance, max: fRes.y + fRes.height + texttolerance * 2 }); - - // 检查所有目标文本是否在当前页面中 - for (let ocrResult of ocrResults) { - // 检查是否包含黑名单关键词 - let containsBlacklistKeyword = blacklistKeywords.some(blacklistKeyword => ocrResult.text.includes(blacklistKeyword)); - if (containsBlacklistKeyword) { - continue; - } - // 计算目标文本的中心Y坐标 - let centerYTargetText = ocrResult.y + ocrResult.height / 2; - if (Math.abs(centerYTargetText - centerYF) <= texttolerance) { - keyPress("F"); // 执行交互操作 - await sleep(pickupDelay); // 操作后暂停 pickupDelay 毫秒 - foundTarget = true; - if ((new Date() - lastPickupTime) > 1000 || ocrResult.text != lastPickupItem) { - log.info(`交互或拾取:"${ocrResult.text}"`); - lastPickupTime = new Date(); - lastPickupItem = ocrResult.text; - } - break; - } - } - } else if (pickupMode === "模板匹配拾取,默认只拾取狗粮") { - //let start = new Date(); - let itemName = await performTemplateMatch(centerYF); - //let end = new Date(); - //log.info(`调试-匹配用时${end - start}毫秒`) - if (itemName) { - if (Math.abs(lastcenterYF - centerYF) <= 20 && lastItemName === itemName) { - log.debug("调试-物品名和坐标相同,等待2*pickupDelay"); - await sleep(2 * pickupDelay); - foundTarget = true; - lastcenterYF = 0; - } else { - keyPress("F"); // 执行交互操作 - log.info(`交互或拾取:"${itemName}"`); - await sleep(pickupDelay); // 操作后暂停 pickupDelay 毫秒 - //foundTarget = true; - } - lastcenterYF = centerYF; - lastItemName = itemName; - } else { - lastItemName = ""; - } - } - // 如果在当前页面中没有找到任何目标文本,则根据时间决定滚动方向 - if (!foundTarget) { - const currentTime = new Date().getTime(); // 获取当前时间(毫秒) - - // 如果距离上次下翻超过timeMoveUp秒,则执行下翻 - if (currentTime - lastMoveDown > timeMoveUp) { - await keyMouseScript.runFile(`assets/滚轮下翻.json`); - - // 如果这是第一次下翻,记录这次下翻的时间 - if (thisMoveUpTime === 0) { - thisMoveUpTime = currentTime; // 记录第一次上翻的时间 - } - - // 检查是否需要更新 lastMoveDown - if (currentTime - thisMoveUpTime >= timeMoveDown) { - lastMoveDown = currentTime; // 更新 lastMoveDown 为第一次下翻的时间 - thisMoveUpTime = 0; // 重置 thisMoveUpTime,以便下一次下翻时重新记录 - } - } else { - // 否则执行下翻 - await keyMouseScript.runFile(`assets/滚轮上翻.json`); - } - //滚轮后延时 - await sleep(rollingDelay); - } - if (state.cancelRequested) { - break; - } - } - } - - //处理泥头车模式 - async function dumper(pathFilePath, map_name) { - let lastDumperTimer = 0; - const dumperCD = 10000; - try { - const pathingContent = await file.readText(pathFilePath); - const parsedContent = JSON.parse(pathingContent); - const positions = parsedContent.positions; - // 初始化 hasT 为 false - let hasT = false; - - // 初始化 fightPositions 数组 - let fightPositions = []; - - // 遍历 positions 数组 - for (const pos of positions) { - // 检查 action_params 是否包含 keypress(T) - if (pos.action_params && pos.action_params.includes('keypress(T)')) { - hasT = true; - } - - // 如果 action 是 "fight",则添加到 fightPositions - if (pos.action === "fight") { - fightPositions.push({ - x: pos.x, - y: pos.y, - used: false - }); - } - } - if (!hasT) { - while (!state.completed && !state.cancelRequested) { - await sleep(2011); - if ((new Date() - state.lastCheckMainUi) >= 2011) { - state.atMainUi = await isMainUI(); - //log.info(`检查主界面,结果为${state.atMainUi}`); - state.lastCheckMainUi = new Date(); - } - if (state.atMainUi) { - //在主界面才尝试获取坐标 - let dumperDistance = 0; - try { - let shouldPressKeys = false; - const currentPosition = await genshin.getPositionFromMap(map_name); - for (let i = 0; i < fightPositions.length; i++) { - const fightPos = fightPositions[i]; - - if (fightPos.used) { - continue; - } - - const distance = Math.sqrt( - Math.pow(currentPosition.x - fightPos.x, 2) + - Math.pow(currentPosition.y - fightPos.y, 2) - ); - - if (distance <= 30) { - fightPositions[i].used = true; - } - - if (distance > 5 && distance <= 30) { - if ((new Date() - lastDumperTimer) > dumperCD) { - shouldPressKeys = true; - lastDumperTimer = new Date(); - dumperDistance = distance; - } - } - } - - if (shouldPressKeys) { - log.info(`距离下个战斗地点距离${dumperDistance.toFixed(2)},启用泥头车`); - for (const key of dumpers) { - log.info(`[泥头车]:尝试切换${key}号角色施放e技能`) - keyPress(String(key)); - await sleep(400); - keyPress('e'); - await sleep(400); - keyPress('e'); - await sleep(400); - keyPress('e'); - await sleep(400); - } - - for (let i = 0; i < 10; i++) { - if (await isRevivalUI()) { - //检测到复苏界面时,退出复苏界面 - keyPress("VK_ESCAPE"); - await sleep(500); - await genshin.returnMainUi(); - } else { - break; - } - } - } - } catch (error) { - } - } - if (state.cancelRequested) { - break; - } - } - } else { - log.info("当前路线含有按键T,不启用泥头车"); - } - } catch (error) { - log.error(`执行泥头车时出现异常: ${error.message}`); - } - } - - - - // 启动路径文件执行任务 - const pathTask = executePathFile(pathFilePath); - - // 根据条件决定是否启动 OCR 检测和交互任务 - let ocrTask = null; - if (pickupMode === "ocr拾取,默认只拾取狗粮和晶蝶" || pickupMode === "模板匹配拾取,默认只拾取狗粮") { - ocrTask = recognizeAndInteract(imagePath, whitelistKeywords, textxRange, texttolerance); - } - - // 启动泥头车 - let dumperTask = null; - if (dumpers.length > 0) { // 检查 dumpers 是否不为空 - dumperTask = dumper(pathFilePath, map_name); // 调用 dumper 函数 - } - - // 等待所有任务完成 - try { - await Promise.allSettled([pathTask, ocrTask, dumperTask]); - } catch (error) { - console.error(`执行任务时发生错误:${error.message}`); - state.cancelRequested = true; // 设置取消标志 - } finally { - state.completed = true; // 确保任务标记为完成 - state.cancelRequested = true; // 设置取消标志 - } } - // 定义 readFolder 函数 async function readFolder(folderPath, onlyJson) { // 新增一个堆栈,初始时包含 folderPath @@ -930,6 +999,10 @@ async function readFolder(folderPath, onlyJson) { // 如果是文件夹,先存储到临时数组中 subFolders.push(filePath); } else { + if (filePath.endsWith(".js")) { + //跳过js结尾的文件 + continue; + } // 如果是文件,根据 onlyJson 判断是否存储 if (onlyJson) { if (filePath.endsWith(".json")) { @@ -977,7 +1050,7 @@ async function copyPathingsByGroup(pathings) { } } -async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeywords, accountName) { +async function processPathingsByGroup(pathings, accountName) { let lastX = 0; let lastY = 0; let runningFailCount = 0; @@ -1008,7 +1081,7 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw // 获取该组的总路径数 const totalPathsInGroup = pathings.filter(pathing => pathing.group === targetGroup).length; - if (pickupMode === "bgi原版拾取") { + if (pickup_Mode === "bgi原版拾取") { dispatcher.addTimer(new RealtimeTimer("AutoPick")); } @@ -1078,7 +1151,6 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw // 输出路径已刷新并开始处理的信息 log.info(`该路线已刷新,开始处理。`); - await fakeLog(`${pathing.fileName}`, false, true, 0); try { await genshin.returnMainUi(); const miniMapPosition = await genshin.getPositionFromMap(pathing.map_name); @@ -1091,7 +1163,7 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw runningFailCount++; } // 调用 runPath 函数处理路径 - await runPath(pathing.fullPath, pathing.map_name, whitelistKeywords, blacklistKeywords); + await runPath(pathing.fullPath, pathing.map_name); try { await sleep(1); } catch (error) { @@ -1132,7 +1204,7 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw } const pathTime = new Date() - now; - pathing.records = [...pathing.records, pathTime / 1000].slice(-6); + pathing.records = [...pathing.records, pathTime / 1000].slice(-7); // 更新路径的 cdTime pathing.cdTime = nextEightClock.toLocaleString(); @@ -1166,20 +1238,20 @@ async function initializeCdTime(pathings, accountName) { : new Date(0).toLocaleString(); // 确保当前 records 是数组 - const current = Array.isArray(pathing.records) ? pathing.records : new Array(6).fill(-1); + const current = Array.isArray(pathing.records) ? pathing.records : new Array(7).fill(-1); // 读取文件中的 records(若缺失则为空数组) const loaded = (entry && Array.isArray(entry.records)) ? entry.records : []; // 合并:文件中的 records(倒序最新在前)→ 追加到当前数组末尾 - // 再整体倒序恢复正确顺序,截取最新 5 项 - pathing.records = [...current, ...loaded.reverse()].slice(-5); + // 再整体倒序恢复正确顺序,截取最新 7 项 + pathing.records = [...current, ...loaded.reverse()].slice(-7); }); } catch (error) { // 文件不存在或解析错误,初始化为 6 个 -1 pathings.forEach(pathing => { pathing.cdTime = new Date(0).toLocaleString(); - pathing.records = new Array(6).fill(-1); + pathing.records = new Array(7).fill(-1); }); } } @@ -1419,7 +1491,4 @@ async function isTimeRestricted(timeRule, threshold = 5) { } log.info("不处于限制时间"); return false; // 当前时间不在限制时间内 -} - - - +} \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/manifest.json b/repo/js/AutoHoeingOneDragon/manifest.json index 87b1d737a..3f65bbe8c 100644 --- a/repo/js/AutoHoeingOneDragon/manifest.json +++ b/repo/js/AutoHoeingOneDragon/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "锄地一条龙", - "version": "1.7.1", + "version": "1.8.3", "description": "一站式解决自动化锄地,支持只拾取狗粮,请仔细阅读README.md后使用", "authors": [ { @@ -17,6 +17,7 @@ "main": "main.js", "saved_files": [ "records/*.json", - "assets/拾取名单.json" + "blacklists/*.json", + "assets/targetItems/其他/预留/*.png" ] } diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/418【沙暴】须弥沙漠三运河之地(600_1,200_2).json b/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/418【沙暴】须弥沙漠三运河之地(600_1,200_2).json index 03d466ea4..b147f6aad 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/418【沙暴】须弥沙漠三运河之地(600_1,200_2).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/418【沙暴】须弥沙漠三运河之地(600_1,200_2).json @@ -13,7 +13,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "418【沙暴】须弥沙漠三运河之地(600_1,200_2)", - "tags": [], + "tags": [ + "沙暴" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/419【沙暴】须弥沙漠巨人峡谷西北(600_1).json b/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/419【沙暴】须弥沙漠巨人峡谷西北(600_1).json index 9b5d2c259..5d47ad819 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/419【沙暴】须弥沙漠巨人峡谷西北(600_1).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/419【沙暴】须弥沙漠巨人峡谷西北(600_1).json @@ -13,7 +13,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "419【沙暴】须弥沙漠巨人峡谷西北(600_1)", - "tags": [], + "tags": [ + "沙暴" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/420【沙暴】须弥沙漠折胫谷(600_1,200_1).json b/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/420【沙暴】须弥沙漠折胫谷(600_1,200_1).json index c8fa10712..8b92d9265 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/420【沙暴】须弥沙漠折胫谷(600_1,200_1).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-精英400/1-精英/420【沙暴】须弥沙漠折胫谷(600_1,200_1).json @@ -13,7 +13,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "420【沙暴】须弥沙漠折胫谷(600_1,200_1)", - "tags": [], + "tags": [ + "沙暴" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/settings.json b/repo/js/AutoHoeingOneDragon/settings.json index 90005b013..fdde34f9c 100644 --- a/repo/js/AutoHoeingOneDragon/settings.json +++ b/repo/js/AutoHoeingOneDragon/settings.json @@ -34,38 +34,38 @@ "label": "本路径组使用配队名称" }, { - "name": "pickupMode", + "name": "pickup_Mode", "type": "select", "label": "拾取模式", "options": [ - "模板匹配拾取,默认只拾取狗粮", - "ocr拾取,默认只拾取狗粮和晶蝶", + "模板匹配拾取,拾取狗粮和怪物材料", + "模板匹配拾取,只拾取狗粮", "bgi原版拾取", "不拾取任何物品" ], - "default": "模板匹配拾取,默认只拾取狗粮" + "default": "模板匹配拾取,拾取狗粮和全部怪物材料" }, { "name": "disableSelfOptimization", "type": "checkbox", "label": "勾选后禁用根据运行记录优化路线选择的功能\n完全使用路线原有信息" }, - { - "name": "enableNewTargets", - "type": "checkbox", - "label": "勾选后使用模板匹配拾取模式时将会拾取新材料\n默认为挪德卡莱地区所有怪物材料\n可在assets/newTargets文件中查看并调整", - "default": "true" - }, { "name": "pickupDelay", "type": "input-text", - "label": "拾取后延时(毫秒),观察到误捡时建议调大", - "default": "100" + "label": "拾取后延时(毫秒)\n观察到日志显示连续拾取相同物品时建议调大", + "default": "50" + }, + { + "name": "rollingDelay", + "type": "input-text", + "label": "滚动后延时(毫秒)\n观察到拾取错误时建议调大", + "default": "32" }, { "name": "timeMove", "type": "input-text", - "label": "单次滚动周期(毫秒),滚动不全时", + "label": "单次滚动周期(毫秒)\n观察到滚动不全时建议调大", "default": "1000" }, { @@ -76,7 +76,7 @@ { "name": "runByEfficiency", "type": "checkbox", - "label": "组内按照效率降序运行\n会略微增加传送花费时间,用于在时间有限时优先跑高效路线\n建议配合下一项配置使用" + "label": "组内按照效率降序运行\n会略微增加传送花费时间,用于在时间有限时优先跑高效路线\n建议配合下一项配置使用\n含优先关键词的路线效率会被视为最高" }, { "name": "timeRule",