自动购买每天&3天&每周刷新商品3.2.2 (#2891)

* 自动购买每天&3天&每周刷新商品3.2.2

* 回退购买商人標籤

* 回退

* 補充商品信息

* 修復BUG
This commit is contained in:
this-Fish
2026-02-17 11:49:33 +08:00
committed by GitHub
parent 248b8e0e3f
commit 75b5e1b846
32 changed files with 820 additions and 177 deletions

View File

@@ -41,6 +41,10 @@
3. **每周商品购买方式**
- 0跟随游戏系统周期自动判断
- 1-7指定周几购买1=周一7=周日)
- **适用范围**:包含所有每周刷新的商品
- 周一刷新商品
- 周四刷新商品
- **每月1号刷新商品**:不受此设置影响,刷新即购买
4. **要禁用的商人**:不想购买的商人,用空格分隔
```
示例:阿扎莱 皮托
@@ -61,6 +65,10 @@
1. **每天刷新商品** - 每天凌晨4点刷新
2. **3天刷新商品** - 每3天刷新一次
3. **每周刷新商品** - 每周固定週一购买
- 周一刷新商品:按设置决定是否购买
- 周四刷新商品(狗粮商人):同样受设置控制
4. **每月1号刷新商品** - 每月1号凌晨4点刷新
购买记录保存在:`record/你填的账号名/records.json`
- 下次执行时只购买已刷新商品
@@ -71,9 +79,7 @@
### 如何查看支持的商品?
- **查看本文件下方表格**:包含所有支持的商人与商品
- **查看`assets/data/foods.json`**:所有商品的中文名称
### 商人信息总览
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 标签 |
|--------|--------|-------------|------------|-------------|------|
| 蒙德-风起地 | 克罗丽丝 | - | 金鱼草、薄荷、钩钩果、落落莓、慕风蘑菇 | - | 移动 |
@@ -82,6 +88,7 @@
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
| 蒙德-蒙德城 | 莎拉 | - | - | 面粉、奶油、熏禽肉、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | |
| 蒙德-蒙德城 | 芙萝拉 | - | 甜甜花、风车菊、塞西莉亚花、小灯草、嘟嘟莲 | - | |
| 蒙德-蒙德城 | 石榴 | - | - | 冒险家金杯、冒险家尾羽、冒险家头带、冒险家之花、冒险家怀表 | 狗粮商人 |
| 蒙德-蒙德城-天使的馈赠 | 查尔斯 | 冰钩钩果汁、树莓薄荷饮、苹果酿、气泡酸莓汁 | - | - | 独立地图、稀少商品 |
| 璃月-璃月港 | 阿山婆 | 霄灯 | - | - | |
| 璃月-璃月港 | 石头 | 铁块、白铁块、夜泊石 | - | - | |
@@ -90,17 +97,20 @@
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | |
| 璃月-璃月港 | 老高 | 鱼肉、鱼肉2 | - | - | |
| 璃月-璃月港 | 长顺 | 土豆 | 石珀、电气水晶 | 糖、奶酪 | |
| 璃月-璃月港 | 琳琅 | - | - | 游医的药壶、游医的枭羽、游医的方巾、游医的银莲、游医的怀钟 | 狗粮商人 |
| 璃月-璃月港 | 张顺 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 璃月-璃月港 | 博来 | - | 苹果、日落果、鱼肉、星螺 | - | |
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋、马尾、莲蓬、冰雾花花朵、烈焰花花蕊 | - | |
| 璃月-琼玑野 | 朱老板 | 大碗茶 | - | - | 稀少商品 |
| 璃月-望舒客栈 | 菲尔戈黛特 | - | 松茸、霓裳花、琉璃袋 | 黄油、香肠 | |
| 璃月-石门 | 老周叔 | 大碗茶 | - | - | 稀少商品 |
| 璃月-轻策庄 | 小白 | - | 豆腐、杏仁、霓裳花 | - | |
| 璃月-轻策庄 | 小白 | - | 豆腐、杏仁、霓裳花 | - | 琉璃百合(每月刷新) |
| 璃月-轻策庄 | 凯叔 | 大碗茶 | - | - | 稀少商品 |
| 璃月-遗珑埠 | 丰泰 | - | 沉玉仙茗、琉璃袋、绝云椒椒 | 蟹黄 | |
| 璃月-遗珑埠 | 连芳 | - | 沉玉仙茗 | - | |
| 稻妻-离岛 | 小畑 | 螃蟹、鱼肉、虾仁 | 海灵芝 | - | |
| 稻妻-离岛 | 秋月 | 铁块、白铁块、电气水晶 | - | - | |
| 稻妻-离岛 | 山城健太 | 鳗肉 | 珊瑚真珠 | 幸运儿之杯、幸运儿鹰羽、幸运儿绿花、幸运儿银冠、幸运儿沙漏 | 狗粮商人 |
| 稻妻-离岛 | 卡琵莉亚 | - | 蒲公英籽 | - | |
| 稻妻-白狐之野 | 若紫 | - | - | 「四方八方之网」 | |
| 稻妻-稻妻城 | 葵 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、稻米、虾仁、豆腐 | 鸣草 | - | |
@@ -110,6 +120,7 @@
| 稻妻-海祇岛 | 清子 | - | - | 牛奶、番茄、土豆、小麦、豆腐 | |
| 须弥-化城郭 | 阿什帕齐 | 兽肉、禽肉 | 鸟蛋、树王圣体菇 | 香辛料 | |
| 须弥-须弥城 | 朱特 | - | 香辛果、帕蒂沙兰 | 香辛料 | |
| 须弥-须弥城 | 阿夫辛 | - | - | 冒险家金杯、冒险家尾羽、冒险家头带、冒险家之花、冒险家怀表 | 狗粮商人 |
| 须弥-须弥城 | 珀姆 | 鱼肉、螃蟹、虾仁 | 海草 | - | |
| 须弥-须弥城 | 哈马维 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、稻米、豆腐、虾仁 | 香辛果、墩墩桃 | - | |
| 须弥-须弥城-兰巴德酒馆 | 兰巴德 | 鱼肉、螃蟹、秃秃豆 | 星蕈 | 面粉、香肠、培根、香辛料、糖 | 独立地图 |
@@ -122,11 +133,14 @@
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | 星蕈、枣椰、墩墩桃 | 面粉、香辛料、糖 | 黑心商人 |
| 枫丹-枫丹廷 | 布希柯 | 枫达、盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、秃秃豆、杏仁、发酵果实汁 | 蘑菇、茉洁草 | - | |
| 枫丹-枫丹廷 | 阿鲁埃 | 枫达、咖啡豆 | - | - | |
| 枫丹-枫丹廷 | 路易 | 枫达 | - | - | |
| 枫丹-枫丹廷 | 欧仁妮 | 番茄、卷心菜 | 泡泡桔、茉洁草、日落果、墩墩桃、枣椰、落落莓、虹彩蔷薇 | - | |
| 枫丹-枫丹廷-德波大饭店 | 桑格内蒂 | 枫达 | - | 面粉、奶油、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | 独立地图 |
| 枫丹-枫丹廷-灰河 | 克洛莎 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 枫丹-白淞镇 | 安特曼 | 鱼肉、螃蟹、虾仁 | 海露花、汐藻、苍晶螺 | - | |
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | 黑心商人 |
| 纳塔-圣火竞技场 | 钦特利 | 土豆 | 烛伞蘑菇、颗粒果、苦种、烬芯花、青蜜莓、肉龙掌 | - | |
| 纳塔-圣火竞技场 | 艾库瓦 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 纳塔-圣火竞技场 | 布纳马 | 盐、胡椒、小麦、洋葱、牛奶、番茄、卷心菜、土豆、秃秃豆 | 蘑菇 | - | |
| 纳塔-圣火竞技场 | 夏安卡 | - | - | 面粉、奶油、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | |
| 纳塔-坚岩隘谷 | 伊蜜 | - | 铁块、白铁块、水晶块、萃凝晶、澄晶实 | - | |
@@ -134,14 +148,20 @@
| 挪德卡莱-那夏镇 | 采若 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、黑麦 | - | - | |
| 挪德卡莱-那夏镇 | 丽切娅 | - | 甜甜花、宿影花、霜盏花 | - | |
| 挪德卡莱-那夏镇 | 卡嘉 | - | - | 面粉、奶油、熏禽肉、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | |
| 挪德卡莱-那夏镇 | 雷科 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | 黑心商人 |
- 移动:指商人会移动,有机会购买失败
- 稀少商品:指稀少商品
- 独立地图:指需要进入独立空间的特殊地图,这些地图部份路径无法使用地图追踪功能
- 黑心商人:指没有折扣的商人,价格较贵的商人
- **国家标签**:蒙德、璃月、稻妻、须弥、枫丹、纳塔、挪德卡莱
- **地区标签**:风起地、清泉镇、蒙德城、璃月港、离岛、稻妻城、海祇岛等
- **小地图标签**:天使的馈赠、兰巴德酒馆、德波大饭店、灰河、锈舵酒馆等
- **商人标签**:克罗丽丝、神奇的霍普金斯、杜拉夫等(所有商人名)
- **移动**:指商人会移动,有机会购买失败
- **稀少商品**:指稀少商品
- **独立地图**:指需要进入独立空间的特殊地图,这些地图部份路径无法使用地图追踪功能
- **黑心商人**:指没有折扣的商人,价格较贵的商人
- **狗粮商人**:指每周四刷新商品的狗粮商人
### **商人与商品与标签系统尚未完全添加,欢迎补充**
### **欢迎补充商人与商品与标签**
## 🔧 添加新商品

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -6,7 +6,7 @@
"time": "any",
"path": "assets/path/蒙德-风起地-克罗丽丝.json",
"_3d_foods": ["金鱼草", "薄荷", "钩钩果","落落莓","慕风蘑菇"],
"tags": ["蒙德", "移动"]
"tags": ["蒙德", "风起地", "克罗丽丝", "移动"]
},
"神奇的霍普金斯": {
"name": "神奇的霍普金斯",
@@ -15,7 +15,7 @@
"time": "day",
"path": "assets/path/蒙德-清泉镇-神奇的霍普金斯.json",
"_1d_foods": ["圣水"],
"tags": ["蒙德","稀少商品"]
"tags": ["蒙德", "清泉镇", "神奇的霍普金斯", "稀少商品"]
},
"杜拉夫": {
"name": "杜拉夫",
@@ -24,7 +24,7 @@
"time": "day",
"path": "assets/path/蒙德-清泉镇-杜拉夫.json",
"_1d_foods": ["兽肉", "禽肉", "鸟蛋"],
"tags": ["蒙德"]
"tags": ["蒙德", "清泉镇", "杜拉夫"]
},
"Blanche": {
"name": "布兰琪",
@@ -33,7 +33,7 @@
"time": "night",
"path": "assets/path/蒙德-蒙德城-布兰琪.json",
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦"],
"tags": ["蒙德"]
"tags": ["蒙德", "蒙德城", "布兰琪"]
},
"莎拉": {
"name": "莎拉",
@@ -42,7 +42,7 @@
"time": "night",
"path": "assets/path/蒙德-蒙德城-莎拉.json",
"_7d_foods": ["面粉","奶油","熏禽肉","黄油","火腿","糖","蟹黄","果酱","奶酪","培根","香肠"],
"tags": ["蒙德"]
"tags": ["蒙德", "蒙德城", "莎拉"]
},
"芙萝拉": {
"name": "芙萝拉",
@@ -51,7 +51,16 @@
"time": "day",
"path": "assets/path/蒙德-蒙德城-芙萝拉.json",
"_3d_foods": ["甜甜花", "风车菊", "塞西莉亚花", "小灯草", "嘟嘟莲"],
"tags": ["蒙德"]
"tags": ["蒙德", "蒙德城", "芙萝拉"]
},
"石榴": {
"name": "石榴",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/蒙德-蒙德城-石榴.json",
"_thu_foods": ["冒险家金杯", "冒险家尾羽", "冒险家头带", "冒险家之花", "冒险家怀表"],
"tags": ["蒙德", "蒙德城", "石榴", "狗粮商人"]
},
"查尔斯": {
"name": "查尔斯",
@@ -60,7 +69,7 @@
"time": "any",
"path": "assets/path/蒙德-蒙德城-天使的馈赠-查尔斯.json",
"_1d_foods": ["冰钩钩果汁", "树莓薄荷饮", "苹果酿", "气泡酸莓汁"],
"tags": ["蒙德","独立地图","稀少商品"]
"tags": ["蒙德", "蒙德城", "天使的馈赠", "查尔斯", "独立地图", "稀少商品"]
},
"阿山婆": {
"name": "阿山婆",
@@ -69,7 +78,7 @@
"time": "any",
"path": "assets/path/璃月-璃月港-阿山婆.json",
"_1d_foods": ["霄灯"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "阿山婆"]
},
"石头": {
"name": "石头",
@@ -78,7 +87,7 @@
"time": "any",
"path": "assets/path/璃月-璃月港-石头.json",
"_1d_foods": ["铁块", "白铁块", "夜泊石"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "石头"]
},
"DongSheng": {
"name": "东升",
@@ -87,7 +96,7 @@
"time": "any",
"path": "assets/path/璃月-璃月港-东升.json",
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "杏仁" ],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "东升"]
},
"ChefMao": {
"name": "卯师父",
@@ -98,7 +107,7 @@
"_1d_foods": ["鱼肉", "螃蟹"],
"_3d_foods": ["竹笋", "莲蓬", "松茸", "蘑菇", "胡萝卜", "白萝卜", "绝云椒椒"],
"_7d_foods": ["面粉","糖","香肠","火腿"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "卯师父"]
},
"UncleSun": {
"name": "老孙",
@@ -107,7 +116,7 @@
"time": "day",
"path": "assets/path/璃月-璃月港-老孙.json",
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "老孙"]
},
"UncleGao": {
"name": "老高",
@@ -116,7 +125,7 @@
"time": "day",
"path": "assets/path/璃月-璃月港-老高.json",
"_1d_foods": ["鱼肉","鱼肉2"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "老高"]
},
"长顺": {
"name": "长顺",
@@ -127,7 +136,25 @@
"_1d_foods": ["土豆"],
"_3d_foods": ["石珀", "电气水晶"],
"_7d_foods": ["糖", "奶酪"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "长顺"]
},
"琳琅": {
"name": "琳琅",
"enable": true,
"page": 1,
"time": "night",
"path": "assets/path/璃月-璃月港-琳琅.json",
"_thu_foods": ["游医的药壶" ,"游医的枭羽" ,"游医的方巾" ,"游医的银莲" ,"游医的怀钟"],
"tags": ["璃月", "璃月港", "琳琅", "狗粮商人"]
},
"张顺": {
"name": "张顺",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/璃月-璃月港-张顺.json",
"_thu_foods": ["幸运儿之杯", "幸运儿鹰羽", "幸运儿银冠", "幸运儿绿花", "幸运儿沙漏"],
"tags": ["璃月", "璃月港", "张顺", "狗粮商人"]
},
"博来": {
"name": "博来",
@@ -136,7 +163,7 @@
"time": "any",
"path": "assets/path/璃月-璃月港-博来.json",
"_3d_foods": ["苹果", "日落果", "鱼肉", "星螺"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "博来"]
},
"阿桂": {
"name": "阿桂",
@@ -145,7 +172,7 @@
"time": "night",
"path": "assets/path/璃月-璃月港-阿桂.json",
"_3d_foods": ["清心", "琉璃袋", "马尾", "莲蓬", "冰雾花花朵", "烈焰花花蕊"],
"tags": ["璃月"]
"tags": ["璃月", "璃月港", "阿桂"]
},
"朱老板": {
"name": "朱老板",
@@ -154,7 +181,7 @@
"time": "any",
"path": "assets/path/璃月-琼玑野-朱老板.json",
"_1d_foods": ["大碗茶"],
"tags": ["璃月","稀少商品"]
"tags": ["璃月", "琼玑野", "朱老板", "稀少商品"]
},
"菲尔戈黛特": {
"name": "菲尔戈黛特",
@@ -164,7 +191,7 @@
"path": "assets/path/璃月-望舒客栈-菲尔戈黛特.json",
"_3d_foods": ["松茸","霓裳花", "琉璃袋"],
"_7d_foods": ["黄油", "香肠"],
"tags": ["璃月"]
"tags": ["璃月", "望舒客栈", "菲尔戈黛特"]
},
"老周叔": {
"name": "老周叔",
@@ -173,7 +200,7 @@
"time": "any",
"path": "assets/path/璃月-石门-老周叔.json",
"_1d_foods": ["大碗茶"],
"tags": ["璃月","稀少商品"]
"tags": ["璃月", "石门", "老周叔", "稀少商品"]
},
"小白": {
"name": "小白",
@@ -182,7 +209,8 @@
"time": "any",
"path": "assets/path/璃月-轻策庄-小白.json",
"_3d_foods": ["豆腐", "杏仁", "霓裳花"],
"tags": ["璃月"]
"_month_foods": ["琉璃百合"],
"tags": ["璃月", "轻策庄", "小白"]
},
"凯叔": {
"name": "凯叔",
@@ -191,7 +219,7 @@
"time": "day",
"path": "assets/path/璃月-轻策庄-凯叔.json",
"_1d_foods": ["大碗茶"],
"tags": ["璃月","稀少商品"]
"tags": ["璃月", "轻策庄", "凯叔", "稀少商品"]
},
"丰泰": {
"name": "丰泰",
@@ -201,7 +229,7 @@
"path": "assets/path/璃月-遗珑埠-丰泰.json",
"_3d_foods": ["沉玉仙茗", "琉璃袋", "绝云椒椒"],
"_7d_foods": ["蟹黄"],
"tags": ["璃月"]
"tags": ["璃月", "遗珑埠", "丰泰"]
},
"连芳": {
"name": "连芳",
@@ -210,7 +238,7 @@
"time": "any",
"path": "assets/path/璃月-遗珑埠-连芳.json",
"_3d_foods": ["沉玉仙茗"],
"tags": ["璃月"]
"tags": ["璃月", "遗珑埠", "连芳"]
},
"Obata": {
"name": "小畑",
@@ -220,7 +248,7 @@
"path": "assets/path/稻妻-离岛-小畑.json",
"_1d_foods": ["螃蟹","鱼肉", "虾仁"],
"_3d_foods": ["海灵芝"],
"tags": ["稻妻"]
"tags": ["稻妻", "离岛", "小畑"]
},
"秋月": {
"name": "秋月",
@@ -229,7 +257,18 @@
"time": "any",
"path": "assets/path/稻妻-离岛-秋月.json",
"_1d_foods": ["铁块", "白铁块", "电气水晶"],
"tags": ["稻妻"]
"tags": ["稻妻", "离岛", "秋月"]
},
"山城健太": {
"name": "山城健太",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/稻妻-离岛-山城健太.json",
"_1d_foods": ["鳗肉"],
"_3d_foods": ["珊瑚真珠"],
"_thu_foods": ["幸运儿之杯", "幸运儿鹰羽", "幸运儿银冠", "幸运儿绿花", "幸运儿沙漏"],
"tags": ["稻妻", "离岛", "山城健太", "狗粮商人"]
},
"卡琵莉亚": {
"name": "卡琵莉亚",
@@ -238,7 +277,7 @@
"time": "any",
"path": "assets/path/稻妻-离岛-卡琵莉亚.json",
"_3d_foods": ["蒲公英籽"],
"tags": ["稻妻"]
"tags": ["稻妻", "离岛", "卡琵莉亚"]
},
"若紫": {
"name": "若紫",
@@ -247,7 +286,7 @@
"time": "any",
"path": "assets/path/稻妻-白狐之野-若紫.json",
"_7d_foods": ["「四方八方之网」"],
"tags": ["稻妻"]
"tags": ["稻妻", "白狐之野", "若紫"]
},
"Aoi": {
"name": "葵",
@@ -257,7 +296,7 @@
"path": "assets/path/稻妻-稻妻城-葵.json",
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐"],
"_3d_foods": ["鸣草"],
"tags": ["稻妻"]
"tags": ["稻妻", "稻妻城", "葵"]
},
"ShimuraKanbei": {
"name": "志村勘兵卫",
@@ -268,7 +307,7 @@
"_1d_foods": ["鱼肉", "螃蟹"],
"_3d_foods": ["海草", "堇瓜", "白萝卜"],
"_7d_foods": ["香肠", "培根", "面粉", "糖"],
"tags": ["稻妻"]
"tags": ["稻妻", "稻妻城", "志村勘兵卫"]
},
"智树": {
"name": "智树",
@@ -277,7 +316,7 @@
"time": "any",
"path": "assets/path/稻妻-稻妻城-智树.json",
"_1d_foods": ["团子牛奶"],
"tags": ["稻妻","稀少商品"]
"tags": ["稻妻", "稻妻城", "智树", "稀少商品"]
},
"木南杏奈": {
"name": "木南杏奈",
@@ -286,7 +325,7 @@
"time": "any",
"path": "assets/path/稻妻-稻妻城-木南杏奈.json",
"_1d_foods": ["特制风味烤蘑菇披萨"],
"tags": ["稻妻", "稀少商品"]
"tags": ["稻妻", "稻妻城", "木南杏奈", "稀少商品"]
},
"清子": {
"name": "清子",
@@ -295,7 +334,7 @@
"time": "any",
"path": "assets/path/稻妻-海祇岛-清子.json",
"_7d_foods": ["牛奶", "番茄", "土豆", "小麦", "豆腐"],
"tags": ["稻妻"]
"tags": ["稻妻", "海祇岛", "清子"]
},
"阿什帕齐": {
"name": "阿什帕齐",
@@ -306,7 +345,7 @@
"_1d_foods": ["兽肉", "禽肉"],
"_3d_foods": ["鸟蛋", "树王圣体菇"],
"_7d_foods": ["香辛料"],
"tags": ["须弥"]
"tags": ["须弥", "化城郭", "阿什帕齐"]
},
"Zhute": {
"name": "朱特",
@@ -316,7 +355,16 @@
"path": "assets/path/须弥-须弥城-朱特.json",
"_3d_foods": ["香辛果", "帕蒂沙兰"],
"_7d_foods": ["香辛料"],
"tags": ["须弥"]
"tags": ["须弥", "须弥城", "朱特"]
},
"阿夫辛": {
"name": "阿夫辛",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/须弥-须弥城-阿夫辛.json",
"_thu_foods": ["冒险家金杯", "冒险家尾羽", "冒险家头带", "冒险家之花", "冒险家怀表"],
"tags": ["须弥", "须弥城", "阿夫辛", "狗粮商人"]
},
"Pam": {
"name": "珀姆",
@@ -326,7 +374,7 @@
"path": "assets/path/须弥-须弥城-珀姆.json",
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
"_3d_foods": ["海草"],
"tags": ["须弥"]
"tags": ["须弥", "须弥城", "珀姆"]
},
"Hamawi": {
"name": "哈马维",
@@ -336,7 +384,7 @@
"path": "assets/path/须弥-须弥城-哈马维.json",
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦", "稻米", "豆腐", "虾仁"],
"_3d_foods": ["香辛果", "墩墩桃"],
"tags": ["须弥"]
"tags": ["须弥", "须弥城", "哈马维"]
},
"Lambad": {
"name": "兰巴德",
@@ -347,7 +395,7 @@
"_1d_foods": ["鱼肉", "螃蟹", "秃秃豆"],
"_3d_foods": ["星蕈"],
"_7d_foods": ["面粉", "香肠", "培根", "香辛料", "糖"],
"tags": ["须弥","独立地图"]
"tags": ["须弥", "须弥城", "兰巴德酒馆", "兰巴德", "独立地图"]
},
"Enteka": {
"name": "恩忒卡",
@@ -356,7 +404,7 @@
"time": "any",
"path": "assets/path/须弥-须弥城-普斯帕咖啡馆-恩忒卡.json",
"_1d_foods": ["咖啡豆"],
"tags": ["须弥","独立地图"]
"tags": ["须弥", "须弥城", "普斯帕咖啡馆", "恩忒卡", "独立地图"]
},
"拉玛": {
"name": "拉玛",
@@ -366,7 +414,7 @@
"path": "assets/path/须弥-奥摩斯港-拉玛.json",
"_1d_foods": ["盐", "胡椒"],
"_7d_foods": ["香辛料", "糖", "黄油", "奶酪"],
"tags": ["须弥"]
"tags": ["须弥", "奥摩斯港", "拉玛"]
},
"Butrus": {
"name": "布特罗斯",
@@ -375,7 +423,7 @@
"time": "any",
"path": "assets/path/须弥-奥摩斯港-布特罗斯.json",
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
"tags": ["须弥"]
"tags": ["须弥", "奥摩斯港", "布特罗斯"]
},
"秋蔚": {
"name": "秋蔚",
@@ -384,7 +432,7 @@
"time": "any",
"path": "assets/path/须弥-奥摩斯港-秋蔚.json",
"_3d_foods": ["水晶块", "石珀", "夜泊石", "霓裳花"],
"tags": ["须弥"]
"tags": ["须弥", "奥摩斯港", "秋蔚"]
},
"巴巴克": {
"name": "巴巴克",
@@ -393,7 +441,7 @@
"time": "any",
"path": "assets/path/须弥-奥摩斯港-巴巴克.json",
"_3d_foods": ["慕风蘑菇" ,"蒲公英籽" ,"琉璃袋", "清心", "鸣草", "珊瑚真珠"],
"tags": ["须弥"]
"tags": ["须弥", "奥摩斯港", "巴巴克"]
},
"兰玛尼": {
"name": "兰玛尼",
@@ -402,7 +450,7 @@
"time": "any",
"path": "assets/path/须弥-桓那兰那(梦境)-兰玛尼.json",
"_3d_foods": ["日落果", "香辛果", "墩墩桃", "树王圣体菇", "劫波莲"],
"tags": ["须弥", "桓那兰那(梦境)"]
"tags": ["须弥", "桓那兰那(梦境)", "兰玛尼", "桓那兰那(梦境)"]
},
"Azalai": {
"name": "阿扎莱",
@@ -413,7 +461,7 @@
"_1d_foods": ["鱼肉", "兽肉", "秃秃豆"],
"_3d_foods": ["星蕈", "枣椰", "墩墩桃"],
"_7d_foods": ["面粉", "香辛料", "糖"],
"tags": ["须弥", "黑心商人"]
"tags": ["须弥", "阿如村", "阿扎莱", "黑心商人"]
},
"Boucicaut": {
"name": "布希柯",
@@ -423,7 +471,7 @@
"path": "assets/path/枫丹-枫丹廷-布希柯.json",
"_1d_foods": ["枫达", "盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦", "秃秃豆", "杏仁", "发酵果实汁"],
"_3d_foods": ["蘑菇", "茉洁草"],
"tags": ["枫丹"]
"tags": ["枫丹", "枫丹廷", "布希柯"]
},
"Arouet": {
"name": "阿鲁埃",
@@ -432,7 +480,16 @@
"time": "any",
"path": "assets/path/枫丹-枫丹廷-阿鲁埃.json",
"_1d_foods": ["枫达", "咖啡豆"],
"tags": ["枫丹"]
"tags": ["枫丹", "枫丹廷", "阿鲁埃"]
},
"路易": {
"name": "路易",
"enable": true,
"page": 2,
"time": "any",
"path": "assets/path/枫丹-枫丹廷-路易.json",
"_1d_foods": ["枫达"],
"tags": ["枫丹", "枫丹廷", "路易"]
},
"欧仁妮": {
"name": "欧仁妮",
@@ -442,7 +499,7 @@
"path": "assets/path/枫丹-枫丹廷-欧仁妮.json",
"_1d_foods": ["番茄", "卷心菜"],
"_3d_foods": ["泡泡桔", "茉洁草", "日落果", "墩墩桃", "枣椰", "落落莓", "虹彩蔷薇"],
"tags": ["枫丹"]
"tags": ["枫丹", "枫丹廷", "欧仁妮"]
},
"桑格内蒂": {
"name": "桑格内蒂",
@@ -452,7 +509,16 @@
"path": "assets/path/枫丹-枫丹廷-德波大饭店-桑格内蒂.json",
"_1d_foods": ["枫达"],
"_7d_foods": ["面粉","奶油","黄油","火腿","糖","蟹黄","果酱","奶酪","培根","香肠"],
"tags": ["枫丹","独立地图"]
"tags": ["枫丹", "枫丹廷", "德波大饭店", "桑格内蒂", "独立地图"]
},
"克洛莎": {
"name": "克洛莎",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/枫丹-枫丹廷-灰河-克洛莎.json",
"_thu_foods": ["幸运儿之杯", "幸运儿鹰羽", "幸运儿银冠", "幸运儿绿花", "幸运儿沙漏"],
"tags": ["枫丹", "枫丹廷", "灰河", "克洛莎", "狗粮商人"]
},
"Antman": {
"name": "安特曼",
@@ -462,7 +528,7 @@
"path": "assets/path/枫丹-白淞镇-安特曼.json",
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
"_3d_foods": ["海露花", "汐藻", "苍晶螺"],
"tags": ["枫丹"]
"tags": ["枫丹", "白淞镇", "安特曼"]
},
"皮托": {
"name": "皮托",
@@ -472,7 +538,16 @@
"path": "assets/path/枫丹-锈舵酒馆-皮托.json",
"_1d_foods": ["牛奶"],
"_7d_foods": ["培根", "火腿", "香肠", "奶酪"],
"tags": ["枫丹", "黑心商人"]
"tags": ["枫丹", "锈舵酒馆", "皮托", "黑心商人"]
},
"艾库瓦": {
"name": "艾库瓦",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/纳塔-圣火竞技场-艾库瓦.json",
"_thu_foods": ["幸运儿之杯", "幸运儿鹰羽", "幸运儿银冠", "幸运儿绿花", "幸运儿沙漏"],
"tags": ["纳塔", "圣火竞技场", "艾库瓦", "狗粮商人"]
},
"钦特利": {
"name": "钦特利",
@@ -482,7 +557,7 @@
"path": "assets/path/纳塔-圣火竞技场-钦特利.json",
"_1d_foods": ["土豆"],
"_3d_foods": ["烛伞蘑菇", "颗粒果", "苦种", "烬芯花", "青蜜莓", "肉龙掌"],
"tags": ["纳塔"]
"tags": ["纳塔", "圣火竞技场", "钦特利"]
},
"Bunama": {
"name": "布纳马",
@@ -491,7 +566,7 @@
"time": "any",
"path": "assets/path/纳塔-圣火竞技场-布纳马.json",
"_1d_foods": ["盐", "胡椒", "小麦", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "秃秃豆"],
"tags": ["纳塔"]
"tags": ["纳塔", "圣火竞技场", "布纳马"]
},
"夏安卡": {
"name": "夏安卡",
@@ -500,7 +575,7 @@
"time": "any",
"path": "assets/path/纳塔-圣火竞技场-夏安卡.json",
"_7d_foods": ["面粉", "奶油", "黄油", "火腿", "糖", "蟹黄", "果酱", "奶酪", "培根", "香肠"],
"tags": ["纳塔"]
"tags": ["纳塔", "圣火竞技场", "夏安卡"]
},
"伊蜜": {
"name": "伊蜜",
@@ -509,7 +584,7 @@
"time": "any",
"path": "assets/path/纳塔-坚岩隘谷-伊蜜.json",
"_3d_foods": ["铁块", "白铁块", "水晶块", "萃凝晶", "澄晶实"],
"tags": ["纳塔"]
"tags": ["纳塔", "坚岩隘谷", "伊蜜"]
},
"穆托莉娜": {
"name": "穆托莉娜",
@@ -518,7 +593,7 @@
"time": "any",
"path": "assets/path/纳塔-悠悠度假村-穆托莉娜.json",
"_3d_foods": ["灼灼彩菊", "肉龙掌", "云岩裂叶", "浪沫羽鳃"],
"tags": ["纳塔"]
"tags": ["纳塔", "悠悠度假村", "穆托莉娜"]
},
"采若": {
"name": "采若",
@@ -527,7 +602,7 @@
"time": "any",
"path": "assets/path/挪德卡莱-那夏镇-采若.json",
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦", "黑麦"],
"tags": ["挪德卡莱"]
"tags": ["挪德卡莱", "那夏镇", "采若"]
},
"丽切娅": {
"name": "丽切娅",
@@ -536,7 +611,7 @@
"time": "any",
"path": "assets/path/挪德卡莱-那夏镇-丽切娅.json",
"_3d_foods": ["甜甜花", "宿影花", "霜盏花"],
"tags": ["挪德卡莱"]
"tags": ["挪德卡莱", "那夏镇", "丽切娅"]
},
"卡嘉": {
"name": "卡嘉",
@@ -545,7 +620,16 @@
"time": "any",
"path": "assets/path/挪德卡莱-那夏镇-卡嘉.json",
"_7d_foods": ["面粉", "奶油", "熏禽肉", "黄油", "火腿", "糖", "蟹黄", "果酱", "奶酪", "培根", "香肠"],
"tags": ["挪德卡莱"]
"tags": ["挪德卡莱", "那夏镇", "卡嘉"]
},
"雷科": {
"name": "雷科",
"enable": true,
"page": 1,
"time": "any",
"path": "assets/path/挪德卡莱-那夏镇-雷科.json",
"_thu_foods": ["幸运儿之杯", "幸运儿鹰羽", "幸运儿银冠", "幸运儿绿花", "幸运儿沙漏"],
"tags": ["挪德卡莱", "那夏镇", "雷科", "狗粮商人"]
},
"科菲策": {
"name": "科菲策",
@@ -555,6 +639,6 @@
"path": "assets/path/挪德卡莱-皮拉米达城-科菲策.json",
"_1d_foods": ["牛奶", "咖啡豆"],
"_3d_foods": ["微光角菌", "琉鳞石"],
"tags": ["挪德卡莱"]
"tags": ["挪德卡莱", "皮拉米达城", "科菲策", "黑心商人"]
}
}

View File

@@ -0,0 +1,44 @@
{
"info": {
"name": "挪德卡莱-那夏镇-雷科",
"type": "collect",
"author": "勺子",
"version": "1.0",
"description": "挪德卡莱购买狗粮",
"bgi_version": "0.50"
},
"positions": [
{
"id": 1,
"x": 9367.1484375,
"y": 1435.6484375,
"type": "teleport",
"move_mode": "dash",
"action": ""
},
{
"id": 2,
"x": 9396.775390625,
"y": 1486.4755859375,
"type": "path",
"move_mode": "dash",
"action": ""
},
{
"id": 3,
"x": 9381.6875,
"y": 1561.802734375,
"type": "path",
"move_mode": "dash",
"action": ""
},
{
"id": 4,
"x": 9389.0546,
"y": 1566.3916,
"type": "target",
"move_mode": "dash",
"action": ""
}
]
}

View File

@@ -0,0 +1,74 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "枫丹购买狗粮",
"enable_monster_loot_split": false,
"last_modified_time": 1766154078571,
"map_match_method": "",
"map_name": "Teyvat",
"name": "枫丹-枫丹廷-灰河-克洛莎",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": 4509.2685546875,
"y": 3460.351806640625
},
{
"action": "combat_script",
"action_params": "wait(2)",
"id": 2,
"locked": false,
"move_mode": "walk",
"type": "orientation",
"x": 4510.45019,
"y": 3461.465
},
{
"action": "stop_flying",
"id": 3,
"move_mode": "fly",
"type": "path",
"x": 4522.5634765625,
"y": 3476.1142578125
},
{
"action": "",
"action_params": "",
"id": 4,
"move_mode": "climb",
"type": "path",
"x": 4522.37109375,
"y": 3482.04541015625
},
{
"action": "",
"id": 5,
"move_mode": "climb",
"type": "target",
"x": 4517.3359375,
"y": 3485.044921875
},
{
"action": "",
"action_params": "",
"id": 6,
"move_mode": "dash",
"type": "target",
"x": 4519.431640625,
"y": 3487.817138671875
}
]
}

View File

@@ -0,0 +1,67 @@
{
"info": {
"authors": [
{
"links": "",
"name": "蜜柑魚"
}
],
"bgi_version": "0.45.0",
"description": "",
"enable_monster_loot_split": false,
"last_modified_time": 1771281465170,
"map_match_method": "",
"map_name": "Teyvat",
"name": "枫丹-枫丹廷-路易",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": 4649.1728515625,
"y": 3467.025390625
},
{
"action": "",
"action_params": "",
"id": 2,
"move_mode": "dash",
"type": "path",
"x": 4632.396484375,
"y": 3471.94970703125
},
{
"action": "stop_flying",
"action_params": "",
"id": 3,
"move_mode": "fly",
"type": "path",
"x": 4603.3974609375,
"y": 3480.7109375
},
{
"action": "",
"action_params": "",
"id": 4,
"move_mode": "dash",
"type": "path",
"x": 4591.146484375,
"y": 3471.0068359375
},
{
"action": "",
"action_params": "",
"id": 5,
"move_mode": "walk",
"type": "target",
"x": 4588.537109375,
"y": 3474.55908203125
}
]
}

View File

@@ -0,0 +1,49 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "",
"enable_monster_loot_split": false,
"last_modified_time": 1766154459290,
"map_match_method": "",
"map_name": "Teyvat",
"name": "璃月-璃月港-张顺",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": 371.55078125,
"y": -506.57421875
},
{
"action": "stop_flying",
"action_params": "",
"id": 2,
"move_mode": "fly",
"type": "path",
"x": 359.8564453125,
"y": -490.62060546875
},
{
"action": "",
"action_params": "",
"id": 3,
"move_mode": "dash",
"type": "path",
"x": 340.1533203125,
"y": -471.30517578125
}
]
}

View File

@@ -0,0 +1,58 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "璃月购买狗粮2",
"enable_monster_loot_split": false,
"last_modified_time": 1766154709905,
"map_match_method": "",
"map_name": "Teyvat",
"name": "璃月-璃月港-琳琅",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": 366.748046875,
"y": -502.51904296875
},
{
"action": "",
"action_params": "",
"id": 2,
"move_mode": "dash",
"type": "path",
"x": 375.892578125,
"y": -530.60009765625
},
{
"action": "",
"action_params": "",
"id": 3,
"move_mode": "dash",
"type": "path",
"x": 335.251953125,
"y": -588.611328125
},
{
"action": "combat_script",
"action_params": "dash",
"id": 4,
"move_mode": "run",
"type": "path",
"x": 340.091796875,
"y": -593.6611328125
}
]
}

View File

@@ -0,0 +1,49 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "稻妻购买狗粮",
"enable_monster_loot_split": false,
"last_modified_time": 1766155060953,
"map_match_method": "",
"map_name": "Teyvat",
"name": "稻妻-离岛-山城健太",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": -3812.6689453125,
"y": -2546.5498046875
},
{
"action": "",
"action_params": "",
"id": 2,
"move_mode": "dash",
"type": "path",
"x": -3809.064453125,
"y": -2564.548828125
},
{
"action": "",
"action_params": "",
"id": 3,
"move_mode": "dash",
"type": "path",
"x": -3784.875,
"y": -2577.5002213307926
}
]
}

View File

@@ -0,0 +1,40 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "纳塔-圣火竞技场-艾库瓦",
"enable_monster_loot_split": false,
"last_modified_time": 1766155084145,
"map_match_method": "",
"map_name": "Teyvat",
"name": "纳塔-圣火竞技场-艾库瓦",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": 9057.61328125,
"y": -1845.81005859375
},
{
"action": "",
"action_params": "",
"id": 2,
"move_mode": "walk",
"type": "target",
"x": 9061.1553,
"y": -1850.5386
}
]
}

View File

@@ -0,0 +1,58 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "蒙德购买狗粮",
"enable_monster_loot_split": false,
"last_modified_time": 1766155550206,
"map_match_method": "",
"map_name": "Teyvat",
"name": "蒙德-蒙德城-石榴",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": -867.7177734375,
"y": 2281.383544921875
},
{
"action": "",
"action_params": "",
"id": 2,
"move_mode": "dash",
"type": "path",
"x": -886.9833984375,
"y": 2277.64013671875
},
{
"action": "",
"action_params": "",
"id": 3,
"move_mode": "dash",
"type": "path",
"x": -911.95703125,
"y": 2291.001220703125
},
{
"action": "",
"action_params": "",
"id": 4,
"move_mode": "climb",
"type": "target",
"x": -913.046875,
"y": 2291.388427734375
}
]
}

View File

@@ -0,0 +1,67 @@
{
"info": {
"authors": [
{
"links": "",
"name": "柒叶子"
}
],
"bgi_version": "0.45.0",
"description": "须弥购买狗粮",
"enable_monster_loot_split": false,
"last_modified_time": 1766156030914,
"map_match_method": "",
"map_name": "Teyvat",
"name": "须弥购买狗粮",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "",
"action_params": "",
"id": 1,
"move_mode": "walk",
"type": "teleport",
"x": 2694.060546875,
"y": -416.48193359375
},
{
"action": "",
"action_params": "",
"id": 2,
"move_mode": "dash",
"type": "path",
"x": 2703.25,
"y": -412.1879647946662
},
{
"action": "stop_flying",
"action_params": "",
"id": 3,
"move_mode": "fly",
"type": "path",
"x": 2711.25390625,
"y": -408.43115234375
},
{
"action": "",
"action_params": "",
"id": 4,
"move_mode": "dash",
"type": "path",
"x": 2750.25,
"y": -406.0810546875
},
{
"action": "",
"action_params": "",
"id": 5,
"move_mode": "dash",
"type": "target",
"x": 2766.1728515625,
"y": -389.298828125
}
]
}

View File

@@ -36,10 +36,6 @@ async function fakeLog(name, isJs, isStart, duration) {
log.error("参数 'isStart' 必须是布尔型!");
return;
}
if (typeof currentTime !== 'number' || !Number.isInteger(currentTime)) {
log.error("参数 'currentTime' 必须是整数!");
return;
}
if (typeof duration !== 'number' || !Number.isInteger(duration)) {
log.error("参数 'duration' 必须是整数!");
return;
@@ -126,7 +122,7 @@ async function loadExternalData() {
// 解析用户要购买的商品列表(中文商品名,空格分隔)
const foodsInput = (settings.foodsToBuy || "").trim();
if (foodsInput) {
const foodNames = foodsInput.split(/\s+/);
const foodNames = foodsInput.split(/[,\s、]+/).filter(name => name.trim() !== "");
const enabledFoodsList = [];
for (const foodName of foodNames) {
// 直接使用用户输入的商品名,不需要验证是否存在(由用户自行确保)
@@ -200,6 +196,34 @@ function getMondayOfWeek(date) {
return d;
}
// ==================== 辅助函数:获取给定日期所在的周四日期 ====================
function getThursdayOfWeek(date) {
const d = new Date(date);
// 调整到4点刷新
if (d.getHours() < 4) {
d.setDate(d.getDate() - 1);
}
const day = d.getDay(); // 0=周日, 1=周一, 2=周二, 3=周三, 4=周四, 5=周五, 6=周六
// 目标周四:如果当前<=周四,则取本周四;否则取下周四
let targetDay = 4; // 周四对应的getDay值为4
if (day <= targetDay) {
d.setDate(d.getDate() + (targetDay - day));
} else {
d.setDate(d.getDate() + (7 - day + targetDay));
}
d.setHours(4, 0, 0, 0);
return d;
}
// ==================== 辅助函数获取下个月1号的日期 ====================
function getNextMonthFirstDay(date) {
const d = new Date(date);
d.setMonth(d.getMonth() + 1);
d.setDate(1);
d.setHours(4, 0, 0, 0);
return d;
}
// ==================== 账号管理功能 ====================
let userName = settings.userName || "默认账户";
@@ -208,13 +232,13 @@ const ignoreRecords = settings.ignoreRecords || false;
const recordDebug = settings.recordDebug || false;
// 解析禁用的商人列表
const disabledNpcs = (settings.disabledNpcs || "").split(/\s+/).filter(npc => npc.trim() !== "");
const disabledNpcs = (settings.disabledNpcs || "").split(/[,\s、]+/).filter(npc => npc.trim() !== "");
if (disabledNpcs.length > 0) {
log.info(`已禁用商人: ${disabledNpcs.join(", ")}`);
}
// 解析禁用的标签列表
const disabledTags = (settings.disabledTags || "").split(/\s+/).filter(tag => tag.trim() !== "");
const disabledTags = (settings.disabledTags || "").split(/[,\s、]+/).filter(tag => tag.trim() !== "");
if (disabledTags.length > 0) {
log.info(`已禁用标签: ${disabledTags.join(", ")}`);
}
@@ -227,10 +251,10 @@ let followSystem = false;
if (AKFValue === 0) {
// 0 表示跟随系统判定
followSystem = true;
log.info("7天商品购买: 跟随系统判定");
log.info("每周商品购买: 跟随系统判定");
} else {
AFKDay = AKFValue === 7 ? 0 : AKFValue;
log.info(`7天商品购买: 每周${AFKDay === 0 ? "日" : AFKDay}购买`);
log.info(`每周商品购买: 每周${AFKDay === 0 ? "日" : AFKDay}购买`);
}
// 获取账号记录路径
@@ -242,6 +266,26 @@ function getRecordPath(accountName) {
return `record/${accountName.trim()}/records.json`;
}
// 确保账号目录存在
async function ensureAccountDirectory(accountName) {
const validName = validateUserName(accountName);
const dirPath = `record/${validName}`;
try {
// 检查目录是否存在
await file.readText(dirPath + "/.keep");
} catch (error) {
// 目录不存在,尝试创建
try {
// 创建目录(通过写入一个临时文件)
await file.writeText(dirPath + "/.keep", "");
log.info(`创建账号目录: ${dirPath}`);
} catch (mkdirError) {
log.error(`创建账号目录失败: ${mkdirError.message}`);
}
}
}
// ==================== 新增函数:读取商人记录文件 ====================
async function loadNpcRecords() {
const recordPath = getRecordPath(userName);
@@ -303,7 +347,11 @@ function updateNpcRecord(records, npcName, refreshType, purchasedItems) {
"3d": [],
"3d_time": null,
"7d": [],
"7d_time": null
"7d_time": null,
"thu": [],
"thu_time": null,
"month": [],
"month_time": null
};
records.push(record);
}
@@ -347,9 +395,16 @@ function updateNpcRecord(records, npcName, refreshType, purchasedItems) {
// 确保刷新时间是04:00
refreshTime.setHours(4, 0, 0, 0);
} else if (refreshType === "7d") {
// 7天商品下次刷新是下周一
// 7天商品(周一刷新):下次刷新是下周一
refreshTime = getMondayOfWeek(now);
refreshTime.setDate(refreshTime.getDate() + 7);
} else if (refreshType === "thu") {
// 周四刷新商品:下次刷新是下周四
refreshTime = getThursdayOfWeek(now);
refreshTime.setDate(refreshTime.getDate() + 7);
} else if (refreshType === "month") {
// 每月1号刷新商品下次刷新是下个月1号
refreshTime = getNextMonthFirstDay(now);
}
// 只更新实际购买的商品
@@ -397,107 +452,59 @@ function shouldBuyFoods(npc, npcRecord, currentPeriod, forceRefresh = false) {
const foodsToBuy = {
"1d": [],
"3d": [],
"7d": []
"7d": [],
"thu": [],
"month": []
};
if (forceRefresh) {
// 强制刷新,但只购买已启用商品
// 强制刷新:所有启用商品都尝试
if (npc._1d_foods) foodsToBuy["1d"] = filterUserFoods(npc._1d_foods);
if (npc._3d_foods) foodsToBuy["3d"] = filterUserFoods(npc._3d_foods);
if (npc._7d_foods) foodsToBuy["7d"] = filterUserFoods(npc._7d_foods);
if (npc._thu_foods) foodsToBuy["thu"] = filterUserFoods(npc._thu_foods);
if (npc._month_foods) foodsToBuy["month"] = filterUserFoods(npc._month_foods);
return foodsToBuy;
}
// 1天商品逻辑
if (npc._1d_foods) {
const enabledFoods = filterUserFoods(npc._1d_foods);
if (enabledFoods.length > 0) {
if (!npcRecord || !npcRecord["1d_time"]) {
// 没有记录,需要购买已启用的商品
foodsToBuy["1d"] = enabledFoods;
} else {
// 读取记录中的下次刷新时间
const nextRefreshTime = new Date(npcRecord["1d_time"]);
// 辅助函数:处理单个刷新类型
function processType(type, enabledFoods, refreshLogic) {
if (!enabledFoods || enabledFoods.length === 0) return [];
if (now >= nextRefreshTime) {
// 已到刷新时间,需要购买
foodsToBuy["1d"] = enabledFoods;
} else if (recordDebug) {
log.info(`[调试] ${npc.name} 的1天商品未到刷新时间下次刷新: ${formatDateToLocalISO(nextRefreshTime)}`);
}
}
// 获取已购买列表(如果记录存在)
const purchasedList = npcRecord && npcRecord[type] ? npcRecord[type] : [];
// 找出未购买的商品
const notPurchased = enabledFoods.filter(food => !purchasedList.includes(food));
// 如果没有记录或没有刷新时间,说明从未买过,全部尝试
if (!npcRecord || !npcRecord[`${type}_time`]) {
return enabledFoods;
}
const nextRefreshTime = new Date(npcRecord[`${type}_time`]);
if (now >= nextRefreshTime) {
// 已到刷新时间:所有商品都应重新尝试(已购买和未购买的都可能再次出现)
return enabledFoods;
} else {
// 未到刷新时间:只尝试从未购买过的商品
return notPurchased;
}
}
// 3天商品逻辑
if (npc._3d_foods) {
const enabledFoods = filterUserFoods(npc._3d_foods);
if (enabledFoods.length > 0) {
if (!npcRecord || !npcRecord["3d_time"]) {
// 没有记录,直接购买
foodsToBuy["3d"] = enabledFoods;
if (recordDebug) {
log.info(`[调试] ${npc.name} 的3天商品没有记录直接购买`);
}
} else {
// 有记录,检查是否已刷新
const nextRefreshTime = new Date(npcRecord["3d_time"]);
// 处理每天刷新商品
foodsToBuy["1d"] = processType("1d", filterUserFoods(npc._1d_foods));
if (now >= nextRefreshTime) {
// 已到刷新时间,需要购买
foodsToBuy["3d"] = enabledFoods;
if (recordDebug) {
log.info(`[调试] ${npc.name} 的3天商品已到刷新时间需要购买`);
}
} else if (recordDebug) {
log.info(`[调试] ${npc.name} 的3天商品未到刷新时间下次刷新: ${formatDateToLocalISO(nextRefreshTime)}`);
}
}
}
}
// 处理3天刷新商品
foodsToBuy["3d"] = processType("3d", filterUserFoods(npc._3d_foods));
// 7天商品逻辑
if (npc._7d_foods) {
const enabledFoods = filterUserFoods(npc._7d_foods);
if (enabledFoods.length > 0) {
if (!npcRecord || !npcRecord["7d_time"]) {
// 没有记录,直接购买
foodsToBuy["7d"] = enabledFoods;
if (recordDebug) {
log.info(`[调试] ${npc.name} 的7天商品没有记录直接购买`);
}
} else {
// 有记录,检查是否已刷新
const nextRefreshTime = new Date(npcRecord["7d_time"]);
// 处理7天刷新商品周一刷新
foodsToBuy["7d"] = processType("7d", filterUserFoods(npc._7d_foods));
if (now >= nextRefreshTime) {
// 已到刷新时间,检查是否应该购买
if (followSystem) {
// 跟随系统模式:直接购买
foodsToBuy["7d"] = enabledFoods;
if (recordDebug) {
log.info(`[调试] ${npc.name} 的7天商品已到刷新时间跟随系统模式直接购买`);
}
} else {
// 固定日模式:检查今天是否是指定购买日
const today = getAdjustedDayOfWeek();
const targetDay = AFKDay === 0 ? 7 : AFKDay; // 将0周日转换为7
// 处理周四刷新商品
foodsToBuy["thu"] = processType("thu", filterUserFoods(npc._thu_foods));
if (today === targetDay) {
foodsToBuy["7d"] = enabledFoods;
if (recordDebug) {
log.info(`[调试] ${npc.name} 的7天商品已到刷新时间今天是指定购买日(${targetDay}),购买`);
}
} else if (recordDebug) {
log.info(`[调试] ${npc.name} 的7天商品已到刷新时间但今天(${today})不是指定购买日(${targetDay}),不购买`);
}
}
} else if (recordDebug) {
log.info(`[调试] ${npc.name} 的7天商品未到刷新时间下次刷新: ${formatDateToLocalISO(nextRefreshTime)}`);
}
}
}
}
// 处理每月刷新商品
foodsToBuy["month"] = processType("month", filterUserFoods(npc._month_foods));
return foodsToBuy;
}
@@ -755,7 +762,7 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
if (recordDebug) {
log.info(`[调试] 开始处理: ${displayName}`);
if (npcRecord) {
log.info(`[调试] 当前记录: 1d=${npcRecord["1d_time"] || "无"}, 3d=${npcRecord["3d_time"] || "无"}, 7d=${npcRecord["7d_time"] || "无"}`);
log.info(`[调试] 当前记录: 1d=${npcRecord["1d_time"] || "无"}, 3d=${npcRecord["3d_time"] || "无"}, 7d=${npcRecord["7d_time"] || "无"}, thu=${npcRecord["thu_time"] || "无"}, month=${npcRecord["month_time"] || "无"}`);
}
}
@@ -767,6 +774,8 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
log.info(`[调试] 1天商品: ${foodsToBuy["1d"].join(", ")}`);
log.info(`[调试] 3天商品: ${foodsToBuy["3d"].join(", ")}`);
log.info(`[调试] 7天商品: ${foodsToBuy["7d"].join(", ")}`);
log.info(`[调试] 周四商品: ${foodsToBuy["thu"].join(", ")}`);
log.info(`[调试] 每月商品: ${foodsToBuy["month"].join(", ")}`);
}
// 合并所有要购买的食物
@@ -774,6 +783,8 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
if (foodsToBuy["1d"]) allFoodsToBuy.push(...foodsToBuy["1d"]);
if (foodsToBuy["3d"]) allFoodsToBuy.push(...foodsToBuy["3d"]);
if (foodsToBuy["7d"]) allFoodsToBuy.push(...foodsToBuy["7d"]);
if (foodsToBuy["thu"]) allFoodsToBuy.push(...foodsToBuy["thu"]);
if (foodsToBuy["month"]) allFoodsToBuy.push(...foodsToBuy["month"]);
if (allFoodsToBuy.length === 0) {
logConditional(`${displayName} 没有需要购买的商品`);
@@ -781,7 +792,9 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
purchased: [],
"1d": [],
"3d": [],
"7d": []
"7d": [],
"thu": [],
"month": []
};
}
@@ -792,12 +805,14 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
const purchasedByType = {
"1d": [],
"3d": [],
"7d": []
"7d": [],
"thu": [],
"month": []
};
// 构建商品到刷新类型的映射
const foodToRefreshType = {};
for (const type of ["1d", "3d", "7d"]) {
for (const type of ["1d", "3d", "7d", "thu", "month"]) {
if (foodsToBuy[type]) {
for (const food of foodsToBuy[type]) {
foodToRefreshType[food] = type;
@@ -891,7 +906,9 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
purchased: purchasedFoods,
"1d": purchasedByType["1d"],
"3d": purchasedByType["3d"],
"7d": purchasedByType["7d"]
"7d": purchasedByType["7d"],
"thu": purchasedByType["thu"],
"month": purchasedByType["month"]
};
}
@@ -929,7 +946,9 @@ async function initNpcData(records) {
// 检查是否有需要购买的商品
const hasFoodsToBuy = foodsToBuy["1d"].length > 0 ||
foodsToBuy["3d"].length > 0 ||
foodsToBuy["7d"].length > 0;
foodsToBuy["7d"].length > 0 ||
foodsToBuy["thu"].length > 0 ||
foodsToBuy["month"].length > 0;
npc.enable = npc.enable && hasFoodsToBuy;
@@ -969,6 +988,8 @@ async function initNpcData(records) {
if (record["1d_time"]) log.info(`[调试] 1天刷新: ${record["1d_time"]}`);
if (record["3d_time"]) log.info(`[调试] 3天刷新: ${record["3d_time"]}`);
if (record["7d_time"]) log.info(`[调试] 7天刷新: ${record["7d_time"]}`);
if (record["thu_time"]) log.info(`[调试] 周四刷新: ${record["thu_time"]}`);
if (record["month_time"]) log.info(`[调试] 每月刷新: ${record["month_time"]}`);
});
}

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "自动购买每天&3天&每周刷新商品",
"version": "3.2.1",
"version": "3.2.2",
"description": "自动购买每天&3天&每周刷新商品\n每天刷新商品自动购买商品\n3天刷新商品未到刷新日不购买该商品\n每周刷新商品可指定每周购买商品",
"authors": [
{

View File

@@ -2,9 +2,7 @@
### 如何查看支持的商品?
- **查看本文件下方表格**:包含所有支持的商人与商品
- **查看`assets/data/foods.json`**:所有商品的中文名称
### 商人信息总览
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 标签 |
|--------|--------|-------------|------------|-------------|------|
| 蒙德-风起地 | 克罗丽丝 | - | 金鱼草、薄荷、钩钩果、落落莓、慕风蘑菇 | - | 移动 |
@@ -13,6 +11,7 @@
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
| 蒙德-蒙德城 | 莎拉 | - | - | 面粉、奶油、熏禽肉、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | |
| 蒙德-蒙德城 | 芙萝拉 | - | 甜甜花、风车菊、塞西莉亚花、小灯草、嘟嘟莲 | - | |
| 蒙德-蒙德城 | 石榴 | - | - | 冒险家金杯、冒险家尾羽、冒险家头带、冒险家之花、冒险家怀表 | 狗粮商人 |
| 蒙德-蒙德城-天使的馈赠 | 查尔斯 | 冰钩钩果汁、树莓薄荷饮、苹果酿、气泡酸莓汁 | - | - | 独立地图、稀少商品 |
| 璃月-璃月港 | 阿山婆 | 霄灯 | - | - | |
| 璃月-璃月港 | 石头 | 铁块、白铁块、夜泊石 | - | - | |
@@ -21,17 +20,20 @@
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | |
| 璃月-璃月港 | 老高 | 鱼肉、鱼肉2 | - | - | |
| 璃月-璃月港 | 长顺 | 土豆 | 石珀、电气水晶 | 糖、奶酪 | |
| 璃月-璃月港 | 琳琅 | - | - | 游医的药壶、游医的枭羽、游医的方巾、游医的银莲、游医的怀钟 | 狗粮商人 |
| 璃月-璃月港 | 张顺 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 璃月-璃月港 | 博来 | - | 苹果、日落果、鱼肉、星螺 | - | |
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋、马尾、莲蓬、冰雾花花朵、烈焰花花蕊 | - | |
| 璃月-琼玑野 | 朱老板 | 大碗茶 | - | - | 稀少商品 |
| 璃月-望舒客栈 | 菲尔戈黛特 | - | 松茸、霓裳花、琉璃袋 | 黄油、香肠 | |
| 璃月-石门 | 老周叔 | 大碗茶 | - | - | 稀少商品 |
| 璃月-轻策庄 | 小白 | - | 豆腐、杏仁、霓裳花 | - | |
| 璃月-轻策庄 | 小白 | - | 豆腐、杏仁、霓裳花 | - | 琉璃百合(每月刷新) |
| 璃月-轻策庄 | 凯叔 | 大碗茶 | - | - | 稀少商品 |
| 璃月-遗珑埠 | 丰泰 | - | 沉玉仙茗、琉璃袋、绝云椒椒 | 蟹黄 | |
| 璃月-遗珑埠 | 连芳 | - | 沉玉仙茗 | - | |
| 稻妻-离岛 | 小畑 | 螃蟹、鱼肉、虾仁 | 海灵芝 | - | |
| 稻妻-离岛 | 秋月 | 铁块、白铁块、电气水晶 | - | - | |
| 稻妻-离岛 | 山城健太 | 鳗肉 | 珊瑚真珠 | 幸运儿之杯、幸运儿鹰羽、幸运儿绿花、幸运儿银冠、幸运儿沙漏 | 狗粮商人 |
| 稻妻-离岛 | 卡琵莉亚 | - | 蒲公英籽 | - | |
| 稻妻-白狐之野 | 若紫 | - | - | 「四方八方之网」 | |
| 稻妻-稻妻城 | 葵 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、稻米、虾仁、豆腐 | 鸣草 | - | |
@@ -41,6 +43,7 @@
| 稻妻-海祇岛 | 清子 | - | - | 牛奶、番茄、土豆、小麦、豆腐 | |
| 须弥-化城郭 | 阿什帕齐 | 兽肉、禽肉 | 鸟蛋、树王圣体菇 | 香辛料 | |
| 须弥-须弥城 | 朱特 | - | 香辛果、帕蒂沙兰 | 香辛料 | |
| 须弥-须弥城 | 阿夫辛 | - | - | 冒险家金杯、冒险家尾羽、冒险家头带、冒险家之花、冒险家怀表 | 狗粮商人 |
| 须弥-须弥城 | 珀姆 | 鱼肉、螃蟹、虾仁 | 海草 | - | |
| 须弥-须弥城 | 哈马维 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、稻米、豆腐、虾仁 | 香辛果、墩墩桃 | - | |
| 须弥-须弥城-兰巴德酒馆 | 兰巴德 | 鱼肉、螃蟹、秃秃豆 | 星蕈 | 面粉、香肠、培根、香辛料、糖 | 独立地图 |
@@ -53,11 +56,14 @@
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | 星蕈、枣椰、墩墩桃 | 面粉、香辛料、糖 | 黑心商人 |
| 枫丹-枫丹廷 | 布希柯 | 枫达、盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、秃秃豆、杏仁、发酵果实汁 | 蘑菇、茉洁草 | - | |
| 枫丹-枫丹廷 | 阿鲁埃 | 枫达、咖啡豆 | - | - | |
| 枫丹-枫丹廷 | 路易 | 枫达 | - | - | |
| 枫丹-枫丹廷 | 欧仁妮 | 番茄、卷心菜 | 泡泡桔、茉洁草、日落果、墩墩桃、枣椰、落落莓、虹彩蔷薇 | - | |
| 枫丹-枫丹廷-德波大饭店 | 桑格内蒂 | 枫达 | - | 面粉、奶油、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | 独立地图 |
| 枫丹-枫丹廷-灰河 | 克洛莎 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 枫丹-白淞镇 | 安特曼 | 鱼肉、螃蟹、虾仁 | 海露花、汐藻、苍晶螺 | - | |
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | 黑心商人 |
| 纳塔-圣火竞技场 | 钦特利 | 土豆 | 烛伞蘑菇、颗粒果、苦种、烬芯花、青蜜莓、肉龙掌 | - | |
| 纳塔-圣火竞技场 | 艾库瓦 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 纳塔-圣火竞技场 | 布纳马 | 盐、胡椒、小麦、洋葱、牛奶、番茄、卷心菜、土豆、秃秃豆 | 蘑菇 | - | |
| 纳塔-圣火竞技场 | 夏安卡 | - | - | 面粉、奶油、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | |
| 纳塔-坚岩隘谷 | 伊蜜 | - | 铁块、白铁块、水晶块、萃凝晶、澄晶实 | - | |
@@ -65,11 +71,17 @@
| 挪德卡莱-那夏镇 | 采若 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦、黑麦 | - | - | |
| 挪德卡莱-那夏镇 | 丽切娅 | - | 甜甜花、宿影花、霜盏花 | - | |
| 挪德卡莱-那夏镇 | 卡嘉 | - | - | 面粉、奶油、熏禽肉、黄油、火腿、糖、蟹黄、果酱、奶酪、培根、香肠 | |
| 挪德卡莱-那夏镇 | 雷科 | - | - | 幸运儿之杯、幸运儿鹰羽、幸运儿银冠、幸运儿绿花、幸运儿沙漏 | 狗粮商人 |
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | 黑心商人 |
- 移动:指商人会移动,有机会购买失败
- 稀少商品:指稀少商品
- 独立地图:指需要进入独立空间的特殊地图,这些地图部份路径无法使用地图追踪功能
- 黑心商人:指没有折扣的商人,价格较贵的商人
- **国家标签**:蒙德、璃月、稻妻、须弥、枫丹、纳塔、挪德卡莱
- **地区标签**:风起地、清泉镇、蒙德城、璃月港、离岛、稻妻城、海祇岛等
- **小地图标签**:天使的馈赠、兰巴德酒馆、德波大饭店、灰河、锈舵酒馆等
- **商人标签**:克罗丽丝、神奇的霍普金斯、杜拉夫等(所有商人名)
- **移动**:指商人会移动,有机会购买失败
- **稀少商品**:指稀少商品
- **独立地图**:指需要进入独立空间的特殊地图,这些地图部份路径无法使用地图追踪功能
- **黑心商人**:指没有折扣的商人,价格较贵的商人
- **狗粮商人**:指每周四刷新商品的狗粮商人
### **商人与商品与标签系统尚未完全添加,欢迎补充**
### **欢迎补充商人与商品与标签**