koishi-plugin-ggcevo-game 1.4.92 → 1.4.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -394,7 +394,7 @@ export declare const BattleEffectProcessor: {
394
394
  updates: Partial<BattleStatistics>;
395
395
  } | null;
396
396
  } | null;
397
- handleRadiationEffect: (targetBoss: any, weaponName: string) => {
397
+ handleRadiationEffect: (targetBoss: any, weaponName: string, equippedWeapon: any) => {
398
398
  messages: string[];
399
399
  targetUpdates: {
400
400
  name: string;
@@ -1,258 +1,302 @@
1
1
  export declare const passiveConfig: {
2
- 弱化形态: {
3
- type: string;
4
- description: string;
5
- };
6
2
  异形甲壳: {
7
- type: string;
8
3
  description: string;
4
+ belong: string[];
9
5
  };
10
6
  冰霜回复: {
11
- type: string;
12
7
  description: string;
8
+ belong: string[];
13
9
  };
14
10
  冰霜进化: {
15
- type: string;
16
11
  description: string;
12
+ belong: string[];
17
13
  };
18
14
  冰霜环绕: {
19
- type: string;
20
15
  description: string;
16
+ belong: string[];
21
17
  };
22
18
  寒霜地狱: {
23
- type: string;
24
19
  description: string;
20
+ belong: any[];
25
21
  };
26
22
  应激甲壳I: {
27
- type: string;
28
23
  description: string;
24
+ belong: string[];
29
25
  };
30
26
  应激甲壳II: {
31
- type: string;
32
27
  description: string;
28
+ belong: string[];
33
29
  };
34
30
  求生本能I: {
35
- type: string;
36
31
  description: string;
32
+ belong: string[];
37
33
  };
38
34
  求生本能II: {
39
- type: string;
40
35
  description: string;
36
+ belong: string[];
41
37
  };
42
38
  冷适应: {
43
- type: string;
44
39
  description: string;
40
+ belong: string[];
45
41
  };
46
42
  感染空间站: {
47
- type: string;
48
43
  description: string;
44
+ belong: string[];
49
45
  };
50
46
  病毒云: {
51
- type: string;
52
47
  description: string;
48
+ belong: string[];
53
49
  };
54
50
  霉菌滋生: {
55
- type: string;
56
51
  description: string;
52
+ belong: string[];
57
53
  };
58
54
  岗哨机枪: {
59
- type: string;
60
55
  description: string;
56
+ belong: string[];
61
57
  };
62
58
  结构装甲: {
63
- type: string;
64
59
  description: string;
60
+ belong: string[];
65
61
  };
66
62
  吸血唾液: {
67
- type: string;
68
63
  description: string;
64
+ belong: string[];
69
65
  };
70
66
  进食: {
71
- type: string;
72
67
  description: string;
68
+ belong: string[];
73
69
  };
74
70
  嗜血狂暴: {
75
- type: string;
76
71
  description: string;
72
+ belong: string[];
77
73
  };
78
74
  吐血: {
79
- type: string;
80
75
  description: string;
76
+ belong: string[];
81
77
  };
82
78
  超导体: {
83
- type: string;
84
79
  description: string;
80
+ belong: string[];
85
81
  };
86
82
  能量虹吸: {
87
- type: string;
88
83
  description: string;
84
+ belong: string[];
89
85
  };
90
86
  能源虹吸: {
91
- type: string;
92
87
  description: string;
88
+ belong: string[];
93
89
  };
94
90
  电能立场: {
95
- type: string;
96
91
  description: string;
92
+ belong: string[];
97
93
  };
98
94
  电能冲击波: {
99
- type: string;
100
95
  description: string;
96
+ belong: string[];
101
97
  };
102
98
  脉冲: {
103
- type: string;
104
99
  description: string;
100
+ belong: string[];
105
101
  };
106
102
  能量黑洞: {
107
- type: string;
108
103
  description: string;
104
+ belong: string[];
109
105
  };
110
106
  火焰异形: {
111
- type: string;
112
107
  description: string;
108
+ belong: string[];
113
109
  };
114
110
  庞兽狂暴: {
115
- type: string;
116
111
  description: string;
112
+ belong: string[];
117
113
  };
118
114
  灼烧粘液: {
119
- type: string;
120
115
  description: string;
116
+ belong: string[];
121
117
  };
122
118
  腐蚀胆汁: {
123
- type: string;
124
119
  description: string;
120
+ belong: string[];
125
121
  };
126
122
  火焰吐息: {
127
- type: string;
128
123
  description: string;
124
+ belong: string[];
129
125
  };
130
126
  太阳耀斑: {
131
- type: string;
132
127
  description: string;
128
+ belong: string[];
133
129
  };
134
130
  燃烧潜地: {
135
- type: string;
136
131
  description: string;
132
+ belong: string[];
137
133
  };
138
134
  炼狱爆弹: {
139
- type: string;
140
135
  description: string;
136
+ belong: string[];
141
137
  };
142
138
  猎手异形: {
143
- type: string;
144
139
  description: string;
140
+ belong: string[];
145
141
  };
146
142
  狂暴: {
147
- type: string;
148
143
  description: string;
144
+ belong: string[];
149
145
  };
150
146
  伪装: {
151
- type: string;
152
147
  description: string;
148
+ belong: string[];
153
149
  };
154
150
  致命一击: {
155
- type: string;
156
151
  description: string;
152
+ belong: string[];
157
153
  };
158
154
  星界之风: {
159
- type: string;
160
155
  description: string;
156
+ belong: string[];
161
157
  };
162
158
  心灵狂热: {
163
- type: string;
164
159
  description: string;
160
+ belong: string[];
165
161
  };
166
162
  宇宙能量: {
167
- type: string;
168
163
  description: string;
164
+ belong: string[];
169
165
  };
170
166
  复苏: {
171
- type: string;
172
167
  description: string;
168
+ belong: string[];
173
169
  };
174
170
  光影之刃: {
175
- type: string;
176
171
  description: string;
172
+ belong: string[];
177
173
  };
178
174
  远古预兆: {
179
- type: string;
180
175
  description: string;
176
+ belong: string[];
181
177
  };
182
178
  超视距穿梭: {
183
- type: string;
184
179
  description: string;
180
+ belong: string[];
185
181
  };
186
182
  灵能构造炉: {
187
- type: string;
188
183
  description: string;
184
+ belong: any[];
189
185
  };
190
186
  天启超载护盾: {
191
- type: string;
192
187
  description: string;
188
+ belong: any[];
193
189
  };
194
190
  塌缩脉冲: {
195
- type: string;
196
191
  description: string;
192
+ belong: any[];
197
193
  };
198
194
  地毯式轰炸: {
199
- type: string;
200
195
  description: string;
196
+ belong: any[];
201
197
  };
202
198
  轰炸引导: {
203
- type: string;
204
199
  description: string;
200
+ belong: any[];
205
201
  };
206
202
  毒性唾液: {
207
- type: string;
208
203
  description: string;
204
+ belong: string[];
209
205
  };
210
206
  剧毒狂暴: {
211
- type: string;
212
207
  description: string;
208
+ belong: string[];
213
209
  };
214
210
  毒气波: {
215
- type: string;
216
211
  description: string;
212
+ belong: string[];
217
213
  };
218
214
  淬毒撕咬: {
219
- type: string;
220
215
  description: string;
216
+ belong: string[];
221
217
  };
222
218
  酸蚀池: {
223
- type: string;
224
219
  description: string;
220
+ belong: string[];
225
221
  };
226
222
  剧毒突袭: {
227
- type: string;
228
223
  description: string;
224
+ belong: string[];
229
225
  };
230
226
  虫巢思维: {
231
- type: string;
232
227
  description: string;
228
+ belong: string[];
233
229
  };
234
230
  爆虫伏击: {
235
- type: string;
236
231
  description: string;
232
+ belong: string[];
237
233
  };
238
234
  虚弱喷吐: {
239
- type: string;
240
235
  description: string;
236
+ belong: string[];
241
237
  };
242
238
  治愈虫群: {
243
- type: string;
244
239
  description: string;
240
+ belong: string[];
245
241
  };
246
242
  释放信息素: {
247
- type: string;
248
243
  description: string;
244
+ belong: string[];
249
245
  };
250
246
  恐吓尖啸: {
251
- type: string;
252
247
  description: string;
248
+ belong: string[];
253
249
  };
254
250
  孵化: {
255
- type: string;
256
251
  description: string;
252
+ belong: string[];
253
+ };
254
+ 基因变异: {
255
+ description: string;
256
+ belong: string[];
257
+ };
258
+ 优化冗余片段: {
259
+ description: string;
260
+ belong: any[];
261
+ };
262
+ 开天眼: {
263
+ description: string;
264
+ belong: any[];
265
+ };
266
+ 环境适应: {
267
+ description: string;
268
+ belong: any[];
269
+ };
270
+ 加快分化: {
271
+ description: string;
272
+ belong: any[];
273
+ };
274
+ 耐力强化: {
275
+ description: string;
276
+ belong: any[];
277
+ };
278
+ 稳定DNA: {
279
+ description: string;
280
+ belong: any[];
281
+ };
282
+ 增厚甲壳: {
283
+ description: string;
284
+ belong: any[];
285
+ };
286
+ 质粒增殖: {
287
+ description: string;
288
+ belong: any[];
289
+ };
290
+ 加速代谢: {
291
+ description: string;
292
+ belong: any[];
293
+ };
294
+ 组织增生: {
295
+ description: string;
296
+ belong: any[];
297
+ };
298
+ 模仿生物签名: {
299
+ description: string;
300
+ belong: any[];
257
301
  };
258
302
  };
package/lib/index.js CHANGED
@@ -303,7 +303,7 @@ var weaponConfig = {
303
303
  damage: 70,
304
304
  armorDamageReduction: 0.1,
305
305
  description: "二十一世纪的武器,经过修改以减少后坐力并提高远程精度",
306
- specialeffect: "连续攻击叠加[横冲直撞]效果,每层提高2.5%伤害(最多20层)",
306
+ specialeffect: "连续攻击叠加[横冲直撞]效果,每层提高2.5%伤害(至多提高50%伤害)",
307
307
  price: 2e3,
308
308
  redCrystalCost: 20,
309
309
  isantiair: true,
@@ -510,6 +510,18 @@ var modConfig = {
510
510
  effect: "连续攻击叠加[聚变]效果,每层提高10%伤害(最多6层)",
511
511
  exclusiveTo: "聚变磁轨枪",
512
512
  isExclusive: true
513
+ },
514
+ "辐射充能核心": {
515
+ cost: 1750,
516
+ effect: "双倍叠加[辐射]层数,对[生物]目标改为造成150%伤害",
517
+ exclusiveTo: "伽马枪",
518
+ isExclusive: true
519
+ },
520
+ "等离子轴承": {
521
+ cost: 3e3,
522
+ effect: "每层[横冲直撞]提供双倍伤害",
523
+ exclusiveTo: "M134轮转机枪",
524
+ isExclusive: true
513
525
  }
514
526
  };
515
527
 
@@ -1217,7 +1229,7 @@ var bossPool = [
1217
1229
  shieldArmor: 0,
1218
1230
  maxStacks: 0,
1219
1231
  tags: ["重甲", "生物", "重型", "异形"],
1220
- passive: ["弱化形态", "异形甲壳"]
1232
+ passive: ["异形甲壳"]
1221
1233
  }
1222
1234
  ]
1223
1235
  },
@@ -1246,7 +1258,7 @@ var bossPool = [
1246
1258
  shieldArmor: 0,
1247
1259
  maxStacks: 0,
1248
1260
  tags: ["生物", "惧热", "异形"],
1249
- passive: ["弱化形态", "冰霜回复", "冰霜进化"]
1261
+ passive: ["冰霜回复", "冰霜进化"]
1250
1262
  }
1251
1263
  ]
1252
1264
  },
@@ -1275,7 +1287,7 @@ var bossPool = [
1275
1287
  shieldArmor: 0,
1276
1288
  maxStacks: 0,
1277
1289
  tags: ["重甲", "生物", "重型", "极地", "异形"],
1278
- passive: ["弱化形态", "应激甲壳I", "求生本能I", "冷适应"]
1290
+ passive: ["应激甲壳I", "求生本能I", "冷适应"]
1279
1291
  },
1280
1292
  {
1281
1293
  name: "剧毒畸变体",
@@ -1287,7 +1299,7 @@ var bossPool = [
1287
1299
  shieldArmor: 0,
1288
1300
  maxStacks: 0,
1289
1301
  tags: ["重甲", "生物", "重型", "极地", "异形"],
1290
- passive: ["弱化形态", "应激甲壳I", "求生本能I", "冷适应"]
1302
+ passive: ["应激甲壳I", "求生本能I", "冷适应"]
1291
1303
  }
1292
1304
  ]
1293
1305
  },
@@ -1316,7 +1328,7 @@ var bossPool = [
1316
1328
  shieldArmor: 0,
1317
1329
  maxStacks: 0,
1318
1330
  tags: ["重甲", "生物", "机械", "异形"],
1319
- passive: ["弱化形态", "病毒云", "霉菌滋生"]
1331
+ passive: ["病毒云", "霉菌滋生"]
1320
1332
  },
1321
1333
  {
1322
1334
  name: "空间站哨枪塔",
@@ -1357,7 +1369,7 @@ var bossPool = [
1357
1369
  shieldArmor: 0,
1358
1370
  maxStacks: 20,
1359
1371
  tags: ["生物", "异形"],
1360
- passive: ["弱化形态", "吸血唾液", "进食", "吐血"]
1372
+ passive: ["吸血唾液", "进食", "吐血"]
1361
1373
  }
1362
1374
  ]
1363
1375
  },
@@ -1386,7 +1398,7 @@ var bossPool = [
1386
1398
  shieldArmor: 4,
1387
1399
  maxStacks: 0,
1388
1400
  tags: ["重甲", "灵能", "异形"],
1389
- passive: ["弱化形态", "超导体", "能源虹吸", "能量黑洞"]
1401
+ passive: ["超导体", "能量虹吸", "能量黑洞"]
1390
1402
  }
1391
1403
  ]
1392
1404
  },
@@ -1415,7 +1427,7 @@ var bossPool = [
1415
1427
  shieldArmor: 15,
1416
1428
  maxStacks: 20,
1417
1429
  tags: ["重甲", "生物", "惧寒", "异形"],
1418
- passive: ["弱化形态", "火焰异形", "灼烧粘液", "腐蚀胆汁", "燃烧潜地"]
1430
+ passive: ["火焰异形", "灼烧粘液", "腐蚀胆汁", "燃烧潜地"]
1419
1431
  }
1420
1432
  ]
1421
1433
  },
@@ -1444,7 +1456,7 @@ var bossPool = [
1444
1456
  shieldArmor: 0,
1445
1457
  maxStacks: 0,
1446
1458
  tags: ["生物", "异形"],
1447
- passive: ["弱化形态", "猎手异形", "狂暴", "伪装"]
1459
+ passive: ["猎手异形", "狂暴", "伪装"]
1448
1460
  },
1449
1461
  {
1450
1462
  name: "狂猎猛禽2",
@@ -1456,7 +1468,7 @@ var bossPool = [
1456
1468
  shieldArmor: 0,
1457
1469
  maxStacks: 0,
1458
1470
  tags: ["生物", "异形"],
1459
- passive: ["弱化形态", "猎手异形", "狂暴", "伪装"]
1471
+ passive: ["猎手异形", "狂暴", "伪装"]
1460
1472
  }
1461
1473
  ]
1462
1474
  },
@@ -1485,7 +1497,7 @@ var bossPool = [
1485
1497
  shieldArmor: 0,
1486
1498
  maxStacks: 0,
1487
1499
  tags: ["重甲", "生物", "灵能", "异形"],
1488
- passive: ["弱化形态", "心灵狂热", "星界之风"]
1500
+ passive: ["心灵狂热", "星界之风"]
1489
1501
  }
1490
1502
  ]
1491
1503
  },
@@ -1514,7 +1526,7 @@ var bossPool = [
1514
1526
  shieldArmor: 0,
1515
1527
  maxStacks: 20,
1516
1528
  tags: ["轻甲", "生物", "异形"],
1517
- passive: ["弱化形态", "毒性唾液", "毒气波", "淬毒撕咬", "酸蚀池"]
1529
+ passive: ["毒性唾液", "毒气波", "淬毒撕咬", "酸蚀池"]
1518
1530
  }
1519
1531
  ]
1520
1532
  },
@@ -1582,6 +1594,22 @@ var bossPool = [
1582
1594
  passive: []
1583
1595
  }
1584
1596
  ]
1597
+ },
1598
+ {
1599
+ id: 12,
1600
+ main: {
1601
+ name: "坏兄弟",
1602
+ type: "主宰",
1603
+ maxHP: 2e4,
1604
+ maxShield: 0,
1605
+ maxEnergy: 1e3,
1606
+ armor: 3,
1607
+ shieldArmor: 0,
1608
+ maxStacks: 20,
1609
+ tags: ["生物", "异形"],
1610
+ passive: ["基因变异"]
1611
+ },
1612
+ minions: []
1585
1613
  }
1586
1614
  ];
1587
1615
 
@@ -3085,7 +3113,7 @@ var BattleEffectProcessor = {
3085
3113
  };
3086
3114
  }, "handleBombardmentGuide"),
3087
3115
  // 统一的辐射效果处理函数
3088
- handleRadiationEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName) {
3116
+ handleRadiationEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName, equippedWeapon) {
3089
3117
  const messages = [];
3090
3118
  let layerAdded = false;
3091
3119
  const currentLayers = targetBoss.radiationLayers || 0;
@@ -3094,18 +3122,18 @@ var BattleEffectProcessor = {
3094
3122
  messages.push(`☢️ 【辐射】:当前${currentLayers}层,护甲值减少${armorReduction.toFixed(2)}`);
3095
3123
  }
3096
3124
  let targetUpdates = null;
3097
- if (weaponName === "伽马枪" && // 使用伽马枪
3098
- !targetBoss.tags.includes("机械") && // 非机械目标
3099
- targetBoss.tags.includes("生物")) {
3125
+ if (weaponName === "伽马枪" && !targetBoss.tags.includes("机械") && targetBoss.tags.includes("生物")) {
3126
+ const hasRadiationCore = equippedWeapon.installedMods?.includes("辐射充能核心");
3127
+ const layerIncrement = hasRadiationCore ? 2 : 1;
3100
3128
  targetUpdates = {
3101
3129
  name: targetBoss.name,
3102
3130
  updates: {
3103
- radiationLayersChange: 1
3104
- // 辐射层数增加1
3131
+ radiationLayersChange: layerIncrement
3105
3132
  }
3106
3133
  };
3107
- const newLayers = currentLayers + 1;
3108
- messages.push(`☢️ 【伽马枪】武器效果:获得1层「辐射」并削减0.05护甲值`);
3134
+ messages.push(
3135
+ `☢️ 【伽马枪】武器效果:获得${layerIncrement}层「辐射」并削减${(layerIncrement * 0.05).toFixed(2)}护甲值`
3136
+ );
3109
3137
  layerAdded = true;
3110
3138
  }
3111
3139
  return {
@@ -3113,7 +3141,6 @@ var BattleEffectProcessor = {
3113
3141
  targetUpdates,
3114
3142
  armorReduction,
3115
3143
  layerAdded
3116
- // 返回层数增加标记
3117
3144
  };
3118
3145
  }, "handleRadiationEffect"),
3119
3146
  // 统一的寒冷效果处理函数
@@ -3974,7 +4001,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
3974
4001
  updateStatsByName(psychicForgeResult.targetUpdates.name, psychicForgeResult.targetUpdates.updates);
3975
4002
  }
3976
4003
  }
3977
- const radiationResult = BattleEffectProcessor.handleRadiationEffect(targetBoss, weaponName);
4004
+ const radiationResult = BattleEffectProcessor.handleRadiationEffect(targetBoss, weaponName, equippedWeapon);
3978
4005
  if (radiationResult) {
3979
4006
  messages.push(...radiationResult.messages);
3980
4007
  if (radiationResult.targetUpdates) {
@@ -4124,261 +4151,322 @@ __name(applyPassiveEffects, "applyPassiveEffects");
4124
4151
 
4125
4152
  // src/boss/passive.ts
4126
4153
  var passiveConfig = {
4127
- "弱化形态": {
4128
- type: "伤害易伤",
4129
- description: "子代防御脆弱,受到的伤害提高10%"
4130
- },
4131
4154
  "异形甲壳": {
4132
- type: "伤害减免",
4133
- description: "拥有厚重的甲壳,受到的伤害降低20%"
4155
+ description: "拥有厚重的甲壳,受到的伤害降低20%",
4156
+ belong: ["异齿猛兽首领", "异齿猛兽"]
4134
4157
  },
4135
4158
  "冰霜回复": {
4136
- type: "濒死治疗(移除)",
4137
- description: "生命值≤30%时,立即回复自身40%最大生命值,并为所有其他存活异形回复10%最大生命值(生效后移除)"
4159
+ description: "生命值≤30%时,立即回复自身40%最大生命值,并为所有其他存活异形回复10%最大生命值(生效后移除)",
4160
+ belong: ["冰蛇"]
4138
4161
  },
4139
4162
  "冰霜进化": {
4140
- type: "元素转换",
4141
- description: "免疫寒冷伤害,受到寒冷攻击时回复等量生命值"
4163
+ description: "免疫寒冷伤害,受到寒冷攻击时回复等量生命值",
4164
+ belong: ["寒冰王蛇", "冰蛇"]
4142
4165
  },
4143
4166
  "冰霜环绕": {
4144
- type: "濒死治疗+技能赋予(移除)",
4145
- description: "生命值≤30%时,立即回复自身45%最大生命值,并使所有存活异形获得「寒霜地狱」技能(生效后移除)"
4167
+ description: "生命值≤30%时,立即回复自身45%最大生命值,并使所有存活异形获得「寒霜地狱」技能(生效后移除)",
4168
+ belong: ["寒冰王蛇"]
4146
4169
  },
4147
4170
  "寒霜地狱": {
4148
- type: "伤害减免",
4149
- description: "受到的伤害降低30%"
4171
+ description: "受到的伤害降低30%",
4172
+ belong: []
4173
+ // 未在任何异形中找到
4150
4174
  },
4151
4175
  "应激甲壳I": {
4152
- type: "伤害减免",
4153
- description: "受到的伤害降低20%"
4176
+ description: "受到的伤害降低20%",
4177
+ belong: ["狂暴畸变体", "剧毒畸变体"]
4154
4178
  },
4155
4179
  "应激甲壳II": {
4156
- type: "伤害减免",
4157
- description: "受到的伤害降低25%"
4180
+ description: "受到的伤害降低25%",
4181
+ belong: ["莽兽"]
4158
4182
  },
4159
4183
  "求生本能I": {
4160
- type: "濒死治疗(移除)",
4161
- description: "濒死时立即回复自身30%最大生命值(生效后移除)"
4184
+ description: "濒死时立即回复自身30%最大生命值(生效后移除)",
4185
+ belong: ["狂暴畸变体", "剧毒畸变体"]
4162
4186
  },
4163
4187
  "求生本能II": {
4164
- type: "濒死治疗(移除)",
4165
- description: "濒死时立即回复自身50%最大生命值(生效后移除)"
4188
+ description: "濒死时立即回复自身50%最大生命值(生效后移除)",
4189
+ belong: ["莽兽"]
4166
4190
  },
4167
4191
  "冷适应": {
4168
- type: "元素免疫+标签转化",
4169
- description: "累计承受10次寒冷伤害后,获得「惧热」标签并永久免疫寒冷伤害"
4192
+ description: "累计承受10次寒冷伤害后,获得「惧热」标签并永久免疫寒冷伤害",
4193
+ belong: ["莽兽", "狂暴畸变体", "剧毒畸变体"]
4170
4194
  },
4171
4195
  "感染空间站": {
4172
- type: "条件减伤",
4173
- description: "当空间站哨枪塔存活时,自身受到的伤害降低50%"
4196
+ description: "当空间站哨枪塔存活时,自身受到的伤害降低50%",
4197
+ belong: ["空间站感染虫"]
4174
4198
  },
4175
4199
  "病毒云": {
4176
- type: "伤害减免",
4177
- description: "受到的伤害降低10%"
4200
+ description: "受到的伤害降低10%",
4201
+ belong: ["空间站感染虫", "机械感染虫"]
4178
4202
  },
4179
4203
  "霉菌滋生": {
4180
- type: "建筑治疗",
4181
- description: "受击后,若空间站哨枪塔存活,为其回复1%最大生命值"
4204
+ description: "受击后,若空间站哨枪塔存活,为其回复1%最大生命值",
4205
+ belong: ["空间站感染虫", "机械感染虫"]
4182
4206
  },
4183
4207
  "岗哨机枪": {
4184
- type: "群体治疗",
4185
- description: "每累计承受10次攻击,为所有其他存活异形回复10%最大生命值"
4208
+ description: "每累计承受10次攻击,为所有其他存活异形回复10%最大生命值",
4209
+ belong: ["空间站哨枪塔"]
4186
4210
  },
4187
4211
  "结构装甲": {
4188
- type: "元素抗性",
4189
- description: "受实弹/能量武器伤害降低20%,受热能武器伤害降低40%"
4212
+ description: "受实弹/能量武器伤害降低20%,受热能武器伤害降低40%",
4213
+ belong: ["空间站哨枪塔"]
4190
4214
  },
4191
4215
  "吸血唾液": {
4192
- type: "叠层减伤",
4193
- description: "受击获得1层「吸血唾液」(上限20层),每层使受到的伤害降低5%"
4216
+ description: "受击获得1层「吸血唾液」(上限20层),每层使受到的伤害降低5%",
4217
+ belong: ["吸血蝙蝠首领", "吸血蝙蝠"]
4194
4218
  },
4195
4219
  "进食": {
4196
- type: "叠层转化(治疗)",
4197
- description: "「吸血唾液」≥20层时,下次受击消耗所有层数并回复自身20%最大生命值"
4220
+ description: "「吸血唾液」≥20层时,下次受击消耗所有层数并回复自身20%最大生命值",
4221
+ belong: ["吸血蝙蝠首领", "吸血蝙蝠"]
4198
4222
  },
4199
4223
  "嗜血狂暴": {
4200
- type: "狂怒机制",
4201
- description: "生命值≤50%时,受击额外获得1层「吸血唾液」且受到的伤害降低20%"
4224
+ description: "生命值≤50%时,受击额外获得1层「吸血唾液」且受到的伤害降低20%",
4225
+ belong: ["吸血蝙蝠首领"]
4202
4226
  },
4203
4227
  "吐血": {
4204
- type: "叠层惩罚",
4205
- description: "无「吸血唾液」层数时,受到的伤害提高20%"
4228
+ description: "无「吸血唾液」层数时,受到的伤害提高20%",
4229
+ belong: ["吸血蝙蝠首领", "吸血蝙蝠"]
4206
4230
  },
4207
4231
  "超导体": {
4208
- type: "标签转换",
4209
- description: "生命值≤10%时,护盾标签永久转换为重甲标签"
4232
+ description: "生命值≤10%时,护盾标签永久转换为重甲标签",
4233
+ belong: ["亚电主宰者", "亚电能者"]
4210
4234
  },
4211
4235
  "能量虹吸": {
4212
- type: "血线减伤",
4213
- description: "生命值≥70%时伤害降低40%,30%-70%时伤害降低20%"
4236
+ description: "生命值≥70%时伤害降低40%,30%-70%时伤害降低20%",
4237
+ belong: ["亚电能者"]
4214
4238
  },
4215
4239
  "能源虹吸": {
4216
- type: "能量减伤",
4217
- description: "能量值≥80%时伤害降低50%,50%-80%时伤害降低30%"
4240
+ description: "能量值≥80%时伤害降低50%,50%-80%时伤害降低30%",
4241
+ belong: ["亚电主宰者"]
4218
4242
  },
4219
4243
  "电能立场": {
4220
- type: "概率免疫",
4221
- description: "能量值≥30%时,55%概率免疫非热能伤害(每层寒冷降低5%触发概率)"
4244
+ description: "能量值≥30%时,55%概率免疫非热能伤害(每层寒冷降低5%触发概率)",
4245
+ belong: ["亚电主宰者"]
4222
4246
  },
4223
4247
  "电能冲击波": {
4224
- type: "受击回能",
4225
- description: "受击后回复100点能量"
4248
+ description: "受击后回复100点能量",
4249
+ belong: ["亚电主宰者"]
4226
4250
  },
4227
4251
  "脉冲": {
4228
- type: "概率群体治疗",
4229
- description: "能量值≥30%时,60%概率为所有存活异形回复100点生命(每层寒冷降低5%触发概率)"
4252
+ description: "能量值≥30%时,60%概率为所有存活异形回复100点生命(每层寒冷降低5%触发概率)",
4253
+ belong: ["亚电主宰者"]
4230
4254
  },
4231
4255
  "能量黑洞": {
4232
- type: "环境减伤",
4233
- description: "存在能量黑洞时,受到的伤害降低20%"
4256
+ description: "存在能量黑洞时,受到的伤害降低20%",
4257
+ belong: ["亚电主宰者", "亚电能者"]
4234
4258
  },
4235
4259
  "火焰异形": {
4236
- type: "元素转换",
4237
- description: "免疫火焰伤害,受到火焰攻击时回复等量生命值"
4260
+ description: "免疫火焰伤害,受到火焰攻击时回复等量生命值",
4261
+ belong: ["烈焰庞兽", "火焰甲虫"]
4238
4262
  },
4239
4263
  "庞兽狂暴": {
4240
- type: "半血减伤",
4241
- description: "生命值≤50%时,受到的伤害降低50%"
4264
+ description: "生命值≤50%时,受到的伤害降低50%",
4265
+ belong: ["烈焰庞兽"]
4242
4266
  },
4243
4267
  "灼烧粘液": {
4244
- type: "叠层治疗",
4245
- description: "受击获得1层「灼烧粘液」(上限20层);受火焰攻击时消耗所有层数并回复(层数×10)点生命"
4268
+ description: "受击获得1层「灼烧粘液」(上限20层);受火焰攻击时消耗所有层数并回复(层数×10)点生命",
4269
+ belong: ["烈焰庞兽", "火焰甲虫"]
4246
4270
  },
4247
4271
  "腐蚀胆汁": {
4248
- type: "叠层转化(群体治疗)",
4249
- description: "「灼烧粘液」≥10层时,下次受击消耗所有层数并为所有存活异形回复1000点生命"
4272
+ description: "「灼烧粘液」≥10层时,下次受击消耗所有层数并为所有存活异形回复1000点生命",
4273
+ belong: ["火焰甲虫"]
4250
4274
  },
4251
4275
  "火焰吐息": {
4252
- type: "叠层转化(群体治疗)",
4253
- description: "「灼烧粘液」≥20层时,下次攻击消耗所有层数并为所有存活异形回复20%最大生命值"
4276
+ description: "「灼烧粘液」≥20层时,下次攻击消耗所有层数并为所有存活异形回复20%最大生命值",
4277
+ belong: ["烈焰庞兽"]
4254
4278
  },
4255
4279
  "太阳耀斑": {
4256
- type: "净化机制",
4257
- description: "所有子代阵亡后,移除惧寒标签和孤立无援状态,并永久免疫寒冷伤害"
4280
+ description: "所有子代阵亡后,移除惧寒标签和孤立无援状态,并永久免疫寒冷伤害",
4281
+ belong: ["烈焰庞兽"]
4258
4282
  },
4259
4283
  "燃烧潜地": {
4260
- type: "濒死治疗(移除)",
4261
- description: "生命值≤10%时立即回复50%最大生命值(生效后移除)"
4284
+ description: "生命值≤10%时立即回复50%最大生命值(生效后移除)",
4285
+ belong: ["火焰甲虫"]
4262
4286
  },
4263
4287
  "炼狱爆弹": {
4264
- type: "叠层减伤+联动作战",
4265
- description: "每层「灼烧粘液」使受到的伤害降低5%,存活子代存在时每层额外降低5%"
4288
+ description: "每层「灼烧粘液」使受到的伤害降低5%,存活子代存在时每层额外降低5%",
4289
+ belong: ["烈焰庞兽"]
4266
4290
  },
4267
4291
  "猎手异形": {
4268
- type: "团队联动",
4269
- description: "存在其他存活异形时伤害降低20%,无其他存活异形时伤害提高20%;免疫火焰及寒冷伤害"
4292
+ description: "存在其他存活异形时伤害降低20%,无其他存活异形时伤害提高20%;免疫火焰及寒冷伤害",
4293
+ belong: ["狂猎猛禽首领", "狂猎猛禽1", "狂猎猛禽2"]
4270
4294
  },
4271
4295
  "狂暴": {
4272
- type: "半血减伤",
4273
- description: "生命值≤50%时,受到的伤害降低50%"
4296
+ description: "生命值≤50%时,受到的伤害降低50%",
4297
+ belong: ["狂猎猛禽1", "狂猎猛禽2"]
4274
4298
  },
4275
4299
  "伪装": {
4276
- type: "动态抗性",
4277
- description: "受击记录伤害来源武器名称,下次被同名武器攻击时伤害降低80%"
4300
+ description: "受击记录伤害来源武器名称,下次被同名武器攻击时伤害降低80%",
4301
+ belong: ["狂猎猛禽首领", "狂猎猛禽1", "狂猎猛禽2"]
4278
4302
  },
4279
4303
  "致命一击": {
4280
- type: "概率免疫",
4281
- description: "受击时5%概率免疫该次伤害"
4304
+ description: "受击时5%概率免疫该次伤害",
4305
+ belong: ["狂猎猛禽首领"]
4282
4306
  },
4283
4307
  "星界之风": {
4284
- type: "概率群体治疗",
4285
- description: "受击时5%概率为所有存活异形回复200点生命"
4308
+ description: "受击时5%概率为所有存活异形回复200点生命",
4309
+ belong: ["宇宙界主", "宇宙战将"]
4286
4310
  },
4287
4311
  "心灵狂热": {
4288
- type: "半血强化",
4289
- description: "生命值<50%时伤害降低20%且「星界之风」触发概率翻倍"
4312
+ description: "生命值<50%时伤害降低20%且「星界之风」触发概率翻倍",
4313
+ belong: ["宇宙战将"]
4290
4314
  },
4291
4315
  "宇宙能量": {
4292
- type: "能量转化",
4293
- description: "受击回复等量能量值,能量溢出时转换为生命回复"
4316
+ description: "受击回复等量能量值,能量溢出时转换为生命回复",
4317
+ belong: ["宇宙界主"]
4294
4318
  },
4295
4319
  "复苏": {
4296
- type: "濒死重生(移除)",
4297
- description: "免疫致命伤害,回复60%最大生命与100%能量值,并获得「灵能构造炉」技能(生效后移除)"
4320
+ description: "免疫致命伤害,回复60%最大生命与100%能量值,并获得「灵能构造炉」技能(生效后移除)",
4321
+ belong: ["宇宙界主"]
4298
4322
  },
4299
4323
  "光影之刃": {
4300
- type: "叠层机制",
4301
- description: "受击获得1层「光影之刃」(上限50层)"
4324
+ description: "受击获得1层「光影之刃」(上限50层)",
4325
+ belong: ["宇宙界主"]
4302
4326
  },
4303
4327
  "远古预兆": {
4304
- type: "层数强化",
4305
- description: "受击时1%概率免疫非热能伤害并回复100点能量,每层「光影之刃」使触发概率提升0.5%"
4328
+ description: "受击时1%概率免疫非热能伤害并回复100点能量,每层「光影之刃」使触发概率提升0.5%",
4329
+ belong: ["宇宙界主"]
4306
4330
  },
4307
4331
  "超视距穿梭": {
4308
- type: "动态减伤",
4309
- description: "能量≥60%时每层「光影之刃」使伤害降低10%,30%-60%时每层降低5%,能量≤10%时每层提高5%"
4332
+ description: "能量≥60%时每层「光影之刃」使伤害降低10%,30%-60%时每层降低5%,能量≤10%时每层提高5%",
4333
+ belong: ["宇宙界主"]
4310
4334
  },
4311
4335
  "灵能构造炉": {
4312
- type: "技能获取",
4313
- description: "受击时5%概率随机获得以下技能之一:天启超载护盾/塌缩脉冲/地毯式轰炸/轰炸引导"
4336
+ description: "受击时5%概率随机获得以下技能之一:天启超载护盾/塌缩脉冲/地毯式轰炸/轰炸引导",
4337
+ belong: []
4338
+ // 未在任何异形中找到
4314
4339
  },
4315
4340
  "天启超载护盾": {
4316
- type: "叠层转化(群体治疗)",
4317
- description: "受击时10%概率触发,消耗当前「光影之刃」层数的一半(向下取整),并为所有存活异形回复(消耗层数×10)点生命"
4341
+ description: "受击时10%概率触发,消耗当前「光影之刃」层数的一半(向下取整),并为所有存活异形回复(消耗层数×10)点生命",
4342
+ belong: []
4343
+ // 未在任何异形中找到
4318
4344
  },
4319
4345
  "塌缩脉冲": {
4320
- type: "叠层加速",
4321
- description: "受击后额外获得1层「光影之刃」"
4346
+ description: "受击后额外获得1层「光影之刃」",
4347
+ belong: []
4348
+ // 未在任何异形中找到
4322
4349
  },
4323
4350
  "地毯式轰炸": {
4324
- type: "状态净化",
4325
- description: "移除孤立无援状态,受到的伤害降低80%"
4351
+ description: "移除孤立无援状态,受到的伤害降低80%",
4352
+ belong: []
4353
+ // 未在任何异形中找到
4326
4354
  },
4327
4355
  "轰炸引导": {
4328
- type: "叠层转化(能量)",
4329
- description: "受击时10%概率触发,消耗当前「光影之刃」层数的一半(向下取整),并回复(消耗层数×10)点能量"
4356
+ description: "受击时10%概率触发,消耗当前「光影之刃」层数的一半(向下取整),并回复(消耗层数×10)点能量",
4357
+ belong: []
4358
+ // 未在任何异形中找到
4330
4359
  },
4331
4360
  "毒性唾液": {
4332
- type: "叠层减伤",
4333
- description: "受击获得1层「毒性唾液」(上限20层),每层使受到的伤害降低5%"
4361
+ description: "受击获得1层「毒性唾液」(上限20层),每层使受到的伤害降低5%",
4362
+ belong: ["猛毒异兽", "剧毒蝙蝠"]
4334
4363
  },
4335
4364
  "剧毒狂暴": {
4336
- type: "狂怒机制",
4337
- description: "生命值≤50%时,受击额外获得1层「毒性唾液」且受到的伤害降低20%"
4365
+ description: "生命值≤50%时,受击额外获得1层「毒性唾液」且受到的伤害降低20%",
4366
+ belong: ["猛毒异兽"]
4338
4367
  },
4339
4368
  "毒气波": {
4340
- type: "概率叠层",
4341
- description: "受击时,有20%概率获得5层「毒性唾液」"
4369
+ description: "受击时,有20%概率获得5层「毒性唾液」",
4370
+ belong: ["猛毒异兽", "剧毒蝙蝠"]
4342
4371
  },
4343
4372
  "淬毒撕咬": {
4344
- type: "层数治疗",
4345
- description: "「毒性唾液」≥5层时,受击会回复50点生命值;「毒性唾液」≥10层时,受击会回复100点生命值;「毒性唾液」≥15层时,受击会回复150点生命值"
4373
+ description: "「毒性唾液」≥5层时,受击会回复50点生命值;「毒性唾液」≥10层时,受击会回复100点生命值;「毒性唾液」≥15层时,受击会回复150点生命值",
4374
+ belong: ["猛毒异兽", "剧毒蝙蝠"]
4346
4375
  },
4347
4376
  "酸蚀池": {
4348
- type: "随机抗性",
4349
- description: "每次受击将会从3种酸液中顺序选择一种释放(脓蚀酸池:受到实弹武器伤害降低50%,受到能量武器伤害提高50%;蚀骨酸池:受到能量武器伤害降低50%,受到热能武器伤害提高50%;焦熔酸池:受到热能武器的伤害降低50%,受到实弹武器伤害提高50%)"
4377
+ description: "每次受击将会从3种酸液中顺序选择一种释放(脓蚀酸池:受到实弹武器伤害降低50%,受到能量武器伤害提高50%;蚀骨酸池:受到能量武器伤害降低50%,受到热能武器伤害提高50%;焦熔酸池:受到热能武器的伤害降低50%,受到实弹武器伤害提高50%)",
4378
+ belong: ["猛毒异兽", "剧毒蝙蝠"]
4350
4379
  },
4351
4380
  "剧毒突袭": {
4352
- type: "强化效果",
4353
- description: "「毒性唾液」≥20层时,受击消耗所有层数并强化下5次触发的「酸蚀池」(武器类型对应的增伤和减伤效果翻倍)"
4381
+ description: "「毒性唾液」≥20层时,受击消耗所有层数并强化下5次触发的「酸蚀池」(武器类型对应的增伤和减伤效果翻倍)",
4382
+ belong: ["猛毒异兽"]
4354
4383
  },
4355
4384
  "虫巢思维": {
4356
- type: "",
4357
- description: "每有一只巢穴子代,则受到的伤害降低20%;巢穴子代受到的伤害提高20%"
4385
+ description: "每有一只巢穴子代,则受到的伤害降低20%;巢穴子代受到的伤害提高20%",
4386
+ belong: ["虫群女王"]
4358
4387
  },
4359
4388
  "爆虫伏击": {
4360
- type: "",
4361
- description: "血量低于50%时,立即孵化巢穴子代直至上限(生效后移除)"
4389
+ description: "血量低于50%时,立即孵化巢穴子代直至上限(生效后移除)",
4390
+ belong: ["虫群女王"]
4362
4391
  },
4363
4392
  "虚弱喷吐": {
4364
- type: "",
4365
- description: "当孵化场存活时,受到的伤害降低80%"
4393
+ description: "当孵化场存活时,受到的伤害降低80%",
4394
+ belong: ["虫群女王"]
4366
4395
  },
4367
4396
  "治愈虫群": {
4368
- type: "",
4369
- description: "血量低于30%时,立即回复自身40%点生命值,同时回复所有其他存活异形10%点生命值(生效后移除)"
4397
+ description: "血量低于30%时,立即回复自身40%点生命值,同时回复所有其他存活异形10%点生命值(生效后移除)",
4398
+ belong: ["虫群女王"]
4370
4399
  },
4371
4400
  "释放信息素": {
4372
- type: "",
4373
- description: "所有存活的异形受到的伤害降低20%"
4401
+ description: "所有存活的异形受到的伤害降低20%",
4402
+ belong: ["虫群女王"]
4374
4403
  },
4375
4404
  "恐吓尖啸": {
4376
- type: "",
4377
- description: "每受到10次攻击,如果没有存活的巢穴子代,则随机孵化1只巢穴子代(巢穴雷兽,巢穴战士,巢穴甲虫)"
4405
+ description: "每受到10次攻击,如果没有存活的巢穴子代,则随机孵化1只巢穴子代(巢穴雷兽,巢穴战士,巢穴甲虫)",
4406
+ belong: ["虫群女王"]
4378
4407
  },
4379
4408
  "孵化": {
4380
- type: "",
4381
- description: "每受到10次攻击,如果没有存活的巢穴子代,则随机孵化1只巢穴子代(巢穴雷兽,巢穴战士,巢穴甲虫)"
4409
+ description: "每受到10次攻击,如果没有存活的巢穴子代,则随机孵化1只巢穴子代(巢穴雷兽,巢穴战士,巢穴甲虫)",
4410
+ belong: ["孵化场"]
4411
+ },
4412
+ "基因变异": {
4413
+ description: "移除孤立无援状态;每次受击叠加1层「基因变异」;每受击3次随机获得1个基因技能,累计获得4个基因后再次触发则移除全部基因技能",
4414
+ belong: ["坏兄弟"]
4415
+ },
4416
+ "优化冗余片段": {
4417
+ description: "免疫辐射伤害;清空自身的辐射层数",
4418
+ belong: []
4419
+ // 未在任何异形中找到
4420
+ },
4421
+ "开天眼": {
4422
+ description: "免疫闪光弹",
4423
+ belong: []
4424
+ // 未在任何异形中找到
4425
+ },
4426
+ "环境适应": {
4427
+ description: "免疫火焰伤害和寒冷伤害;清空自身的寒冷层数和燃烧层数",
4428
+ belong: []
4429
+ // 未在任何异形中找到
4430
+ },
4431
+ "加快分化": {
4432
+ description: "每次受击回复X点血量(X为「基因变异」层数 x 10)",
4433
+ belong: []
4434
+ // 未在任何异形中找到
4435
+ },
4436
+ "耐力强化": {
4437
+ description: "当能量≥80%时,受到的伤害降低80%;当能量≥50%时,受到的伤害降低50%;当能量≥30%时,受到的伤害降低30%",
4438
+ belong: []
4439
+ // 未在任何异形中找到
4440
+ },
4441
+ "稳定DNA": {
4442
+ description: "伤害来源的武器不受标签影响",
4443
+ belong: []
4444
+ // 未在任何异形中找到
4445
+ },
4446
+ "增厚甲壳": {
4447
+ description: "每层「基因变异」使受到的伤害降低5%",
4448
+ belong: []
4449
+ // 未在任何异形中找到
4450
+ },
4451
+ "质粒增殖": {
4452
+ description: "每次受击回复100点能量;免疫脉冲手雷",
4453
+ belong: []
4454
+ // 未在任何异形中找到
4455
+ },
4456
+ "加速代谢": {
4457
+ description: "每次受击叠加X层「基因变异」(X为当前拥有的技能数量)",
4458
+ belong: []
4459
+ // 未在任何异形中找到
4460
+ },
4461
+ "组织增生": {
4462
+ description: "每层「基因变异」使护甲值提高1点",
4463
+ belong: []
4464
+ // 未在任何异形中找到
4465
+ },
4466
+ "模仿生物签名": {
4467
+ description: "受击时5%概率免疫该次伤害,每层「基因变异」提高1%的概率",
4468
+ belong: []
4469
+ // 未在任何异形中找到
4382
4470
  }
4383
4471
  };
4384
4472
 
@@ -5209,7 +5297,8 @@ __name(calculateCrit, "calculateCrit");
5209
5297
  async function calculateTagMultiplier(weaponData, tags, equippedWeapon) {
5210
5298
  const MOD_EFFECTS = [
5211
5299
  { mod: "助燃核心", tag: "惧热", value: 3 },
5212
- { mod: "助燃核心", tag: "生物", value: 2 }
5300
+ { mod: "助燃核心", tag: "生物", value: 2 },
5301
+ { mod: "辐射充能核心", tag: "生物", value: 1.5 }
5213
5302
  ];
5214
5303
  let totalAdditive = 0;
5215
5304
  for (const tag of tags) {
@@ -5242,6 +5331,21 @@ function calculateModifiers(equippedWeapon, weaponName) {
5242
5331
  totalModAdd += bonusDamage;
5243
5332
  modMessages.push(`🛠️ 【微型聚变核心】:攻击伤害+${(bonusDamage * 100).toFixed(0)}%`);
5244
5333
  }
5334
+ if (weaponName === "M134轮转机枪") {
5335
+ const baseBonusPerStack = 0.025;
5336
+ const currentStacks = equippedWeapon.comboCount || 0;
5337
+ const hasPlasmaBearing = equippedWeapon.installedMods?.includes("等离子轴承");
5338
+ const bonusPerStack = hasPlasmaBearing ? baseBonusPerStack * 2 : baseBonusPerStack;
5339
+ const rawStacksBonus = currentStacks * bonusPerStack;
5340
+ const maxBonus = 0.5;
5341
+ const stacksBonus = Math.min(rawStacksBonus, maxBonus);
5342
+ totalModAdd += stacksBonus;
5343
+ let stacksMessage = `🔫 【横冲直撞】:连续攻击${currentStacks}次,伤害增加${(stacksBonus * 100).toFixed(1)}%`;
5344
+ if (rawStacksBonus >= maxBonus) {
5345
+ stacksMessage += ` (已达上限)`;
5346
+ }
5347
+ modMessages.push(stacksMessage);
5348
+ }
5245
5349
  return {
5246
5350
  totalModAdd,
5247
5351
  modMessages
@@ -5366,13 +5470,17 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
5366
5470
  return { rewardMessages };
5367
5471
  }
5368
5472
  const handles = damageRecords.map((r) => r.handle);
5473
+ const careerData = await ctx.database.get("ggcevo_careers", {
5474
+ handle: { $in: handles }
5475
+ });
5476
+ const groupMap = new Map(careerData.map((c) => [c.handle, c.group]));
5477
+ const pirateRedcrystalRewards = /* @__PURE__ */ new Map();
5369
5478
  const doubleWishRecords = await ctx.database.get("ggcevo_wish", {
5370
5479
  handle: { $in: handles },
5371
5480
  wishname: "精灵双倍",
5372
5481
  startTime: { $lte: /* @__PURE__ */ new Date() },
5373
5482
  endTime: { $gte: /* @__PURE__ */ new Date() },
5374
5483
  isused: false
5375
- // 只查询未使用过的双倍祈愿
5376
5484
  });
5377
5485
  const doubleWishIds = doubleWishRecords.map((r) => r.id);
5378
5486
  const doubleWishHandles = new Set(doubleWishRecords.map((r) => r.handle));
@@ -5408,7 +5516,6 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
5408
5516
  gold,
5409
5517
  playerName: record.playerName,
5410
5518
  hasDoubleWish
5411
- // 标记该记录使用了双倍祈愿
5412
5519
  };
5413
5520
  rewardMap.set(record.handle, reward);
5414
5521
  const bonusNote = hasDoubleWish ? " (🧝‍♀ 精灵双倍祈愿生效)" : "";
@@ -5416,9 +5523,21 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
5416
5523
  `${rank}. ${record.playerName}`,
5417
5524
  ` 获得奖励: ${guguCoins} 咕咕币 + ${gold} 金币${bonusNote}`
5418
5525
  );
5526
+ const group = groupMap.get(record.handle);
5527
+ if (group === "辛迪加海盗") {
5528
+ let redcrystal = 0;
5529
+ if (rank === 1) redcrystal = 30;
5530
+ else if (rank === 2) redcrystal = 25;
5531
+ else if (rank === 3) redcrystal = 20;
5532
+ else if (rank <= 10) redcrystal = 15;
5533
+ else if (rank <= 20) redcrystal = 10;
5534
+ pirateRedcrystalRewards.set(record.handle, redcrystal);
5535
+ rewardMessages.push(` 辛迪加海盗奖励: ${redcrystal} 红晶`);
5536
+ }
5419
5537
  });
5420
5538
  const others = damageRecords.slice(20);
5421
5539
  const doubleWishOthers = [];
5540
+ const pirateOtherRewards = [];
5422
5541
  if (others.length > 0) {
5423
5542
  others.forEach((record) => {
5424
5543
  let guguCoins = 3;
@@ -5433,12 +5552,20 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
5433
5552
  gold
5434
5553
  });
5435
5554
  }
5555
+ const group = groupMap.get(record.handle);
5556
+ if (group === "辛迪加海盗") {
5557
+ const redcrystal = 3;
5558
+ pirateRedcrystalRewards.set(record.handle, redcrystal);
5559
+ pirateOtherRewards.push({
5560
+ playerName: record.playerName,
5561
+ redcrystal
5562
+ });
5563
+ }
5436
5564
  rewardMap.set(record.handle, {
5437
5565
  guguCoins,
5438
5566
  gold,
5439
5567
  playerName: record.playerName,
5440
5568
  hasDoubleWish
5441
- // 标记该记录使用了双倍祈愿
5442
5569
  });
5443
5570
  });
5444
5571
  rewardMessages.push(`其他参与者获得基础奖励: 3 咕咕币 + 500 金币`);
@@ -5451,6 +5578,9 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
5451
5578
  });
5452
5579
  }
5453
5580
  }
5581
+ if (pirateOtherRewards.length > 0) {
5582
+ rewardMessages.push(`🏴‍☠️ 辛迪加海盗成员获得额外参与者奖励: ${pirateOtherRewards.length} 位成员每人获得 3 红晶`);
5583
+ }
5454
5584
  await ctx.database.withTransaction(async () => {
5455
5585
  for (const [handle, reward] of rewardMap) {
5456
5586
  const [signData] = await ctx.database.get("ggcevo_sign", { handle });
@@ -5468,10 +5598,18 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
5468
5598
  quantity: (backpackData?.quantity || 0) + reward.guguCoins
5469
5599
  }], ["handle", "itemId"]);
5470
5600
  }
5601
+ for (const [handle, redcrystal] of pirateRedcrystalRewards) {
5602
+ const [career] = await ctx.database.get("ggcevo_careers", { handle });
5603
+ if (career) {
5604
+ await ctx.database.upsert("ggcevo_careers", [{
5605
+ handle,
5606
+ redcrystal: (career?.redcrystal || 0) + redcrystal
5607
+ }], ["handle"]);
5608
+ }
5609
+ }
5471
5610
  if (doubleWishIds.length > 0) {
5472
5611
  await ctx.database.set("ggcevo_wish", { id: { $in: doubleWishIds } }, {
5473
5612
  isused: true
5474
- // 将使用过的双倍祈愿标记为已使用
5475
5613
  });
5476
5614
  }
5477
5615
  });
@@ -5548,7 +5686,9 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
5548
5686
  damage: actualDamage
5549
5687
  });
5550
5688
  if (EffectProcessor.radiationLayerAdded) {
5551
- taskUpdates.push({ taskId: 1, count: 1 });
5689
+ const hasRadiationCore = equippedWeapon.installedMods?.includes("辐射充能核心");
5690
+ const count = hasRadiationCore ? 2 : 1;
5691
+ taskUpdates.push({ taskId: 1, count });
5552
5692
  }
5553
5693
  if (EffectProcessor.coldLayerAdded) {
5554
5694
  taskUpdates.push({ taskId: 2, count: 1 });
@@ -7926,7 +8066,7 @@ ${protectionList}
7926
8066
  result.push(`⚡ 加成效果:`);
7927
8067
  result.push(...bonusEffects);
7928
8068
  }
7929
- result.push(`📅 剩余挑战次数:${config.dailyPKLimit - (initiatorPK.todayCount + 1)}`);
8069
+ result.push(`📅 剩余挑战次数:${dailyPKLimit - (initiatorPK.todayCount + 1)}`);
7930
8070
  return result.join("\n");
7931
8071
  } catch (error) {
7932
8072
  console.error("PK系统异常:", error);
@@ -8637,7 +8777,9 @@ ${validTypes.join("、")}`;
8637
8777
  await updateSignRecord(ctx, handle, finalReward);
8638
8778
  const taskUpdates = [];
8639
8779
  if (primaryAttackResult.radiationApplied) {
8640
- taskUpdates.push({ taskId: 1, count: 1 });
8780
+ const hasRadiationCore = equippedWeapon.installedMods?.includes("辐射充能核心");
8781
+ const count = hasRadiationCore ? 2 : 1;
8782
+ taskUpdates.push({ taskId: 1, count });
8641
8783
  }
8642
8784
  if (primaryAttackResult.freezing) {
8643
8785
  taskUpdates.push({ taskId: 2, count: 1 });
@@ -8713,7 +8855,7 @@ ${validTypes.join("、")}`;
8713
8855
  cleanerRewardBroadcast
8714
8856
  );
8715
8857
  });
8716
- ctx.command("ggcevo/攻击假人").option("tags", "-t <tags:string> 添加BOSS标签(逗号分隔)").option("passives", "-p <passives:string> 添加被动技能(逗号分隔)").option("hp", "-l <hp:number> 模拟假人血量").option("energy", "-e <energy:number> 模拟假人能量").option("skillStacks", "-s <stacks:number> 技能层数").option("radiation", "-r <rad:number> 辐射层数").option("cold", "-c <cold:number> 寒冷层数").option("status", "-a <status:number> 状态层数").option("armor", "-d <armor:number> 护甲").action(async (argv) => {
8858
+ ctx.command("ggcevo/攻击假人").option("tags", "-t <tags:string> 添加BOSS标签(逗号分隔)").option("passives", "-p <passives:string> 添加被动技能(逗号分隔)").option("hp", "-l <hp:number> 模拟假人血量").option("energy", "-e <energy:number> 模拟假人能量").option("skillStacks", "-s <stacks:number> 技能层数").option("radiation", "-r <rad:number> 辐射层数").option("cold", "-c <cold:number> 寒冷层数").option("status", "-a <status:number> 状态层数").option("armor", "-d <armor:number> 护甲").option("burn", "-b <burn:number> 燃烧层数").action(async (argv) => {
8717
8859
  const session = argv.session;
8718
8860
  const { options } = argv;
8719
8861
  let hp = 1e4;
@@ -8733,6 +8875,7 @@ ${validTypes.join("、")}`;
8733
8875
  const radiationLayers = clampLayer(options.radiation);
8734
8876
  const coldLayers = clampLayer(options.cold);
8735
8877
  const skillStatus = clampLayer(options.status);
8878
+ const burnLayers = clampLayer(options.burn);
8736
8879
  const parseList = /* @__PURE__ */ __name((str) => str ? str.split(",").map((s) => s.trim()).filter(Boolean) : [], "parseList");
8737
8880
  const tags = parseList(options.tags);
8738
8881
  const passives = parseList(options.passives);
@@ -8754,12 +8897,11 @@ ${validTypes.join("、")}`;
8754
8897
  tags: tags || [],
8755
8898
  skills: passives || [],
8756
8899
  skillStacks,
8757
- // 使用自定义技能层数
8758
8900
  skillStatus,
8759
8901
  radiationLayers,
8760
- // 使用自定义辐射层数
8761
8902
  coldLayers,
8762
- // 使用自定义寒冷层数
8903
+ // 添加燃烧层数
8904
+ burnLayers,
8763
8905
  energy,
8764
8906
  armor,
8765
8907
  isActive: true,
@@ -8786,6 +8928,7 @@ ${validTypes.join("、")}`;
8786
8928
  if (radiationLayers > 0) layerInfo.push(`辐射层数: ${radiationLayers}`);
8787
8929
  if (coldLayers > 0) layerInfo.push(`寒冷层数: ${coldLayers}`);
8788
8930
  if (skillStatus > 0) layerInfo.push(`状态层数: ${skillStatus}`);
8931
+ if (burnLayers > 0) layerInfo.push(`燃烧层数: ${burnLayers}`);
8789
8932
  const layerDisplay = layerInfo.length > 0 ? `📊 层数状态: ${layerInfo.join(" | ")}` : "";
8790
8933
  return [
8791
8934
  `🎯 使用武器 ${weaponName} 攻击 ${dummyBoss.name}`,
@@ -8795,7 +8938,6 @@ ${validTypes.join("、")}`;
8795
8938
  options.tags?.length && `🏷️ 模拟标签:${tags.join(", ")}`,
8796
8939
  options.passives?.length && `✨ 模拟被动:${passives.join(", ")}`,
8797
8940
  layerDisplay,
8798
- // 添加层数显示
8799
8941
  ...testResult.effectMessage.length > 0 ? [
8800
8942
  `⚡ 攻击效果:
8801
8943
  ${testResult.effectMessage.map((m) => `▸ ${m}`).join("\n")}`
@@ -8810,7 +8952,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8810
8952
  ] : [],
8811
8953
  `📊 理论伤害值:${testResult.initialDamage}${testResult.hasCrit ? "(✨ 暴击)" : ""}`,
8812
8954
  "💡 参数添加:可添加标签(-t)、被动(-p)、血量(-l)、能量(-e)、护甲(-d)",
8813
- "💡 层数选项:技能层数(-s)、辐射层数(-r)、寒冷层数(-c)、状态层数(-a)"
8955
+ "💡 层数选项:技能层数(-s)、辐射层数(-r)、寒冷层数(-c)、状态层数(-a)、燃烧层数(-b)"
8814
8956
  ].filter((line) => line).join("\n");
8815
8957
  } finally {
8816
8958
  Object.keys("测试假人").forEach((key) => delete battleStatsMap[key]);
@@ -8869,6 +9011,9 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8869
9011
  if (mainBoss.coldLayers > 0) {
8870
9012
  result.push(`❄️ 寒冷:${mainBoss.coldLayers}层`);
8871
9013
  }
9014
+ if (mainBoss.burnLayers > 0) {
9015
+ result.push(`🔥 燃烧:${mainBoss.burnLayers}层`);
9016
+ }
8872
9017
  result.push(`✨ 被动:`);
8873
9018
  if (mainBoss.skills.length > 0) {
8874
9019
  result.push(...mainBoss.skills.map((p) => `➤ ${p}:${passiveConfig[p]?.description}`));
@@ -8933,6 +9078,9 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8933
9078
  if (minion.coldLayers > 0) {
8934
9079
  minionInfo.push(`❄️ 寒冷:${minion.coldLayers}层`);
8935
9080
  }
9081
+ if (minion.burnLayers > 0) {
9082
+ minionInfo.push(`🔥 燃烧:${minion.burnLayers}层`);
9083
+ }
8936
9084
  minionInfo.push(`✨ 被动:`);
8937
9085
  if (minion.skills.length > 0) {
8938
9086
  minionInfo.push(...minion.skills.map((p) => `➤ ${p}:${passiveConfig[p]?.description}`));
@@ -10061,7 +10209,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
10061
10209
  return "处理任务时发生错误,请稍后重试。";
10062
10210
  }
10063
10211
  });
10064
- ctx.command("ggcevo/购买保护卡", "花费600金币购买一周PK保护卡").action(async ({ session }) => {
10212
+ ctx.command("ggcevo/购买保护卡", "花费600金币购买一周PK保护卡").alias("购买pk保护卡").action(async ({ session }) => {
10065
10213
  try {
10066
10214
  const userId = session.userId;
10067
10215
  const [profile] = await ctx.database.get("sc2arcade_player", { userId });
package/lib/weapons.d.ts CHANGED
@@ -472,4 +472,16 @@ export declare const modConfig: {
472
472
  exclusiveTo: string;
473
473
  isExclusive: boolean;
474
474
  };
475
+ 辐射充能核心: {
476
+ cost: number;
477
+ effect: string;
478
+ exclusiveTo: string;
479
+ isExclusive: boolean;
480
+ };
481
+ 等离子轴承: {
482
+ cost: number;
483
+ effect: string;
484
+ exclusiveTo: string;
485
+ isExclusive: boolean;
486
+ };
475
487
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-ggcevo-game",
3
3
  "description": "《星际争霸2》咕咕虫-evolved地图的专属游戏助手插件,集成天梯排行、抽奖系统、签到福利、兑换商城等丰富功能。",
4
- "version": "1.4.92",
4
+ "version": "1.4.94",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [