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.
- package/lib/boss/BattleEffectProcessor.d.ts +1 -1
- package/lib/boss/passive.d.ts +111 -67
- package/lib/index.js +316 -168
- package/lib/weapons.d.ts +12 -0
- package/package.json +1 -1
|
@@ -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;
|
package/lib/boss/passive.d.ts
CHANGED
|
@@ -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
|
|
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: ["
|
|
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: ["
|
|
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
|
-
|
|
3099
|
-
|
|
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:
|
|
3104
|
-
// 辐射层数增加1
|
|
3131
|
+
radiationLayersChange: layerIncrement
|
|
3105
3132
|
}
|
|
3106
3133
|
};
|
|
3107
|
-
|
|
3108
|
-
|
|
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
|
-
|
|
4133
|
-
|
|
4155
|
+
description: "拥有厚重的甲壳,受到的伤害降低20%",
|
|
4156
|
+
belong: ["异齿猛兽首领", "异齿猛兽"]
|
|
4134
4157
|
},
|
|
4135
4158
|
"冰霜回复": {
|
|
4136
|
-
|
|
4137
|
-
|
|
4159
|
+
description: "生命值≤30%时,立即回复自身40%最大生命值,并为所有其他存活异形回复10%最大生命值(生效后移除)",
|
|
4160
|
+
belong: ["冰蛇"]
|
|
4138
4161
|
},
|
|
4139
4162
|
"冰霜进化": {
|
|
4140
|
-
|
|
4141
|
-
|
|
4163
|
+
description: "免疫寒冷伤害,受到寒冷攻击时回复等量生命值",
|
|
4164
|
+
belong: ["寒冰王蛇", "冰蛇"]
|
|
4142
4165
|
},
|
|
4143
4166
|
"冰霜环绕": {
|
|
4144
|
-
|
|
4145
|
-
|
|
4167
|
+
description: "生命值≤30%时,立即回复自身45%最大生命值,并使所有存活异形获得「寒霜地狱」技能(生效后移除)",
|
|
4168
|
+
belong: ["寒冰王蛇"]
|
|
4146
4169
|
},
|
|
4147
4170
|
"寒霜地狱": {
|
|
4148
|
-
|
|
4149
|
-
|
|
4171
|
+
description: "受到的伤害降低30%",
|
|
4172
|
+
belong: []
|
|
4173
|
+
// 未在任何异形中找到
|
|
4150
4174
|
},
|
|
4151
4175
|
"应激甲壳I": {
|
|
4152
|
-
|
|
4153
|
-
|
|
4176
|
+
description: "受到的伤害降低20%",
|
|
4177
|
+
belong: ["狂暴畸变体", "剧毒畸变体"]
|
|
4154
4178
|
},
|
|
4155
4179
|
"应激甲壳II": {
|
|
4156
|
-
|
|
4157
|
-
|
|
4180
|
+
description: "受到的伤害降低25%",
|
|
4181
|
+
belong: ["莽兽"]
|
|
4158
4182
|
},
|
|
4159
4183
|
"求生本能I": {
|
|
4160
|
-
|
|
4161
|
-
|
|
4184
|
+
description: "濒死时立即回复自身30%最大生命值(生效后移除)",
|
|
4185
|
+
belong: ["狂暴畸变体", "剧毒畸变体"]
|
|
4162
4186
|
},
|
|
4163
4187
|
"求生本能II": {
|
|
4164
|
-
|
|
4165
|
-
|
|
4188
|
+
description: "濒死时立即回复自身50%最大生命值(生效后移除)",
|
|
4189
|
+
belong: ["莽兽"]
|
|
4166
4190
|
},
|
|
4167
4191
|
"冷适应": {
|
|
4168
|
-
|
|
4169
|
-
|
|
4192
|
+
description: "累计承受10次寒冷伤害后,获得「惧热」标签并永久免疫寒冷伤害",
|
|
4193
|
+
belong: ["莽兽", "狂暴畸变体", "剧毒畸变体"]
|
|
4170
4194
|
},
|
|
4171
4195
|
"感染空间站": {
|
|
4172
|
-
|
|
4173
|
-
|
|
4196
|
+
description: "当空间站哨枪塔存活时,自身受到的伤害降低50%",
|
|
4197
|
+
belong: ["空间站感染虫"]
|
|
4174
4198
|
},
|
|
4175
4199
|
"病毒云": {
|
|
4176
|
-
|
|
4177
|
-
|
|
4200
|
+
description: "受到的伤害降低10%",
|
|
4201
|
+
belong: ["空间站感染虫", "机械感染虫"]
|
|
4178
4202
|
},
|
|
4179
4203
|
"霉菌滋生": {
|
|
4180
|
-
|
|
4181
|
-
|
|
4204
|
+
description: "受击后,若空间站哨枪塔存活,为其回复1%最大生命值",
|
|
4205
|
+
belong: ["空间站感染虫", "机械感染虫"]
|
|
4182
4206
|
},
|
|
4183
4207
|
"岗哨机枪": {
|
|
4184
|
-
|
|
4185
|
-
|
|
4208
|
+
description: "每累计承受10次攻击,为所有其他存活异形回复10%最大生命值",
|
|
4209
|
+
belong: ["空间站哨枪塔"]
|
|
4186
4210
|
},
|
|
4187
4211
|
"结构装甲": {
|
|
4188
|
-
|
|
4189
|
-
|
|
4212
|
+
description: "受实弹/能量武器伤害降低20%,受热能武器伤害降低40%",
|
|
4213
|
+
belong: ["空间站哨枪塔"]
|
|
4190
4214
|
},
|
|
4191
4215
|
"吸血唾液": {
|
|
4192
|
-
|
|
4193
|
-
|
|
4216
|
+
description: "受击获得1层「吸血唾液」(上限20层),每层使受到的伤害降低5%",
|
|
4217
|
+
belong: ["吸血蝙蝠首领", "吸血蝙蝠"]
|
|
4194
4218
|
},
|
|
4195
4219
|
"进食": {
|
|
4196
|
-
|
|
4197
|
-
|
|
4220
|
+
description: "「吸血唾液」≥20层时,下次受击消耗所有层数并回复自身20%最大生命值",
|
|
4221
|
+
belong: ["吸血蝙蝠首领", "吸血蝙蝠"]
|
|
4198
4222
|
},
|
|
4199
4223
|
"嗜血狂暴": {
|
|
4200
|
-
|
|
4201
|
-
|
|
4224
|
+
description: "生命值≤50%时,受击额外获得1层「吸血唾液」且受到的伤害降低20%",
|
|
4225
|
+
belong: ["吸血蝙蝠首领"]
|
|
4202
4226
|
},
|
|
4203
4227
|
"吐血": {
|
|
4204
|
-
|
|
4205
|
-
|
|
4228
|
+
description: "无「吸血唾液」层数时,受到的伤害提高20%",
|
|
4229
|
+
belong: ["吸血蝙蝠首领", "吸血蝙蝠"]
|
|
4206
4230
|
},
|
|
4207
4231
|
"超导体": {
|
|
4208
|
-
|
|
4209
|
-
|
|
4232
|
+
description: "生命值≤10%时,护盾标签永久转换为重甲标签",
|
|
4233
|
+
belong: ["亚电主宰者", "亚电能者"]
|
|
4210
4234
|
},
|
|
4211
4235
|
"能量虹吸": {
|
|
4212
|
-
|
|
4213
|
-
|
|
4236
|
+
description: "生命值≥70%时伤害降低40%,30%-70%时伤害降低20%",
|
|
4237
|
+
belong: ["亚电能者"]
|
|
4214
4238
|
},
|
|
4215
4239
|
"能源虹吸": {
|
|
4216
|
-
|
|
4217
|
-
|
|
4240
|
+
description: "能量值≥80%时伤害降低50%,50%-80%时伤害降低30%",
|
|
4241
|
+
belong: ["亚电主宰者"]
|
|
4218
4242
|
},
|
|
4219
4243
|
"电能立场": {
|
|
4220
|
-
|
|
4221
|
-
|
|
4244
|
+
description: "能量值≥30%时,55%概率免疫非热能伤害(每层寒冷降低5%触发概率)",
|
|
4245
|
+
belong: ["亚电主宰者"]
|
|
4222
4246
|
},
|
|
4223
4247
|
"电能冲击波": {
|
|
4224
|
-
|
|
4225
|
-
|
|
4248
|
+
description: "受击后回复100点能量",
|
|
4249
|
+
belong: ["亚电主宰者"]
|
|
4226
4250
|
},
|
|
4227
4251
|
"脉冲": {
|
|
4228
|
-
|
|
4229
|
-
|
|
4252
|
+
description: "能量值≥30%时,60%概率为所有存活异形回复100点生命(每层寒冷降低5%触发概率)",
|
|
4253
|
+
belong: ["亚电主宰者"]
|
|
4230
4254
|
},
|
|
4231
4255
|
"能量黑洞": {
|
|
4232
|
-
|
|
4233
|
-
|
|
4256
|
+
description: "存在能量黑洞时,受到的伤害降低20%",
|
|
4257
|
+
belong: ["亚电主宰者", "亚电能者"]
|
|
4234
4258
|
},
|
|
4235
4259
|
"火焰异形": {
|
|
4236
|
-
|
|
4237
|
-
|
|
4260
|
+
description: "免疫火焰伤害,受到火焰攻击时回复等量生命值",
|
|
4261
|
+
belong: ["烈焰庞兽", "火焰甲虫"]
|
|
4238
4262
|
},
|
|
4239
4263
|
"庞兽狂暴": {
|
|
4240
|
-
|
|
4241
|
-
|
|
4264
|
+
description: "生命值≤50%时,受到的伤害降低50%",
|
|
4265
|
+
belong: ["烈焰庞兽"]
|
|
4242
4266
|
},
|
|
4243
4267
|
"灼烧粘液": {
|
|
4244
|
-
|
|
4245
|
-
|
|
4268
|
+
description: "受击获得1层「灼烧粘液」(上限20层);受火焰攻击时消耗所有层数并回复(层数×10)点生命",
|
|
4269
|
+
belong: ["烈焰庞兽", "火焰甲虫"]
|
|
4246
4270
|
},
|
|
4247
4271
|
"腐蚀胆汁": {
|
|
4248
|
-
|
|
4249
|
-
|
|
4272
|
+
description: "「灼烧粘液」≥10层时,下次受击消耗所有层数并为所有存活异形回复1000点生命",
|
|
4273
|
+
belong: ["火焰甲虫"]
|
|
4250
4274
|
},
|
|
4251
4275
|
"火焰吐息": {
|
|
4252
|
-
|
|
4253
|
-
|
|
4276
|
+
description: "「灼烧粘液」≥20层时,下次攻击消耗所有层数并为所有存活异形回复20%最大生命值",
|
|
4277
|
+
belong: ["烈焰庞兽"]
|
|
4254
4278
|
},
|
|
4255
4279
|
"太阳耀斑": {
|
|
4256
|
-
|
|
4257
|
-
|
|
4280
|
+
description: "所有子代阵亡后,移除惧寒标签和孤立无援状态,并永久免疫寒冷伤害",
|
|
4281
|
+
belong: ["烈焰庞兽"]
|
|
4258
4282
|
},
|
|
4259
4283
|
"燃烧潜地": {
|
|
4260
|
-
|
|
4261
|
-
|
|
4284
|
+
description: "生命值≤10%时立即回复50%最大生命值(生效后移除)",
|
|
4285
|
+
belong: ["火焰甲虫"]
|
|
4262
4286
|
},
|
|
4263
4287
|
"炼狱爆弹": {
|
|
4264
|
-
|
|
4265
|
-
|
|
4288
|
+
description: "每层「灼烧粘液」使受到的伤害降低5%,存活子代存在时每层额外降低5%",
|
|
4289
|
+
belong: ["烈焰庞兽"]
|
|
4266
4290
|
},
|
|
4267
4291
|
"猎手异形": {
|
|
4268
|
-
|
|
4269
|
-
|
|
4292
|
+
description: "存在其他存活异形时伤害降低20%,无其他存活异形时伤害提高20%;免疫火焰及寒冷伤害",
|
|
4293
|
+
belong: ["狂猎猛禽首领", "狂猎猛禽1", "狂猎猛禽2"]
|
|
4270
4294
|
},
|
|
4271
4295
|
"狂暴": {
|
|
4272
|
-
|
|
4273
|
-
|
|
4296
|
+
description: "生命值≤50%时,受到的伤害降低50%",
|
|
4297
|
+
belong: ["狂猎猛禽1", "狂猎猛禽2"]
|
|
4274
4298
|
},
|
|
4275
4299
|
"伪装": {
|
|
4276
|
-
|
|
4277
|
-
|
|
4300
|
+
description: "受击记录伤害来源武器名称,下次被同名武器攻击时伤害降低80%",
|
|
4301
|
+
belong: ["狂猎猛禽首领", "狂猎猛禽1", "狂猎猛禽2"]
|
|
4278
4302
|
},
|
|
4279
4303
|
"致命一击": {
|
|
4280
|
-
|
|
4281
|
-
|
|
4304
|
+
description: "受击时5%概率免疫该次伤害",
|
|
4305
|
+
belong: ["狂猎猛禽首领"]
|
|
4282
4306
|
},
|
|
4283
4307
|
"星界之风": {
|
|
4284
|
-
|
|
4285
|
-
|
|
4308
|
+
description: "受击时5%概率为所有存活异形回复200点生命",
|
|
4309
|
+
belong: ["宇宙界主", "宇宙战将"]
|
|
4286
4310
|
},
|
|
4287
4311
|
"心灵狂热": {
|
|
4288
|
-
|
|
4289
|
-
|
|
4312
|
+
description: "生命值<50%时伤害降低20%且「星界之风」触发概率翻倍",
|
|
4313
|
+
belong: ["宇宙战将"]
|
|
4290
4314
|
},
|
|
4291
4315
|
"宇宙能量": {
|
|
4292
|
-
|
|
4293
|
-
|
|
4316
|
+
description: "受击回复等量能量值,能量溢出时转换为生命回复",
|
|
4317
|
+
belong: ["宇宙界主"]
|
|
4294
4318
|
},
|
|
4295
4319
|
"复苏": {
|
|
4296
|
-
|
|
4297
|
-
|
|
4320
|
+
description: "免疫致命伤害,回复60%最大生命与100%能量值,并获得「灵能构造炉」技能(生效后移除)",
|
|
4321
|
+
belong: ["宇宙界主"]
|
|
4298
4322
|
},
|
|
4299
4323
|
"光影之刃": {
|
|
4300
|
-
|
|
4301
|
-
|
|
4324
|
+
description: "受击获得1层「光影之刃」(上限50层)",
|
|
4325
|
+
belong: ["宇宙界主"]
|
|
4302
4326
|
},
|
|
4303
4327
|
"远古预兆": {
|
|
4304
|
-
|
|
4305
|
-
|
|
4328
|
+
description: "受击时1%概率免疫非热能伤害并回复100点能量,每层「光影之刃」使触发概率提升0.5%",
|
|
4329
|
+
belong: ["宇宙界主"]
|
|
4306
4330
|
},
|
|
4307
4331
|
"超视距穿梭": {
|
|
4308
|
-
|
|
4309
|
-
|
|
4332
|
+
description: "能量≥60%时每层「光影之刃」使伤害降低10%,30%-60%时每层降低5%,能量≤10%时每层提高5%",
|
|
4333
|
+
belong: ["宇宙界主"]
|
|
4310
4334
|
},
|
|
4311
4335
|
"灵能构造炉": {
|
|
4312
|
-
|
|
4313
|
-
|
|
4336
|
+
description: "受击时5%概率随机获得以下技能之一:天启超载护盾/塌缩脉冲/地毯式轰炸/轰炸引导",
|
|
4337
|
+
belong: []
|
|
4338
|
+
// 未在任何异形中找到
|
|
4314
4339
|
},
|
|
4315
4340
|
"天启超载护盾": {
|
|
4316
|
-
|
|
4317
|
-
|
|
4341
|
+
description: "受击时10%概率触发,消耗当前「光影之刃」层数的一半(向下取整),并为所有存活异形回复(消耗层数×10)点生命",
|
|
4342
|
+
belong: []
|
|
4343
|
+
// 未在任何异形中找到
|
|
4318
4344
|
},
|
|
4319
4345
|
"塌缩脉冲": {
|
|
4320
|
-
|
|
4321
|
-
|
|
4346
|
+
description: "受击后额外获得1层「光影之刃」",
|
|
4347
|
+
belong: []
|
|
4348
|
+
// 未在任何异形中找到
|
|
4322
4349
|
},
|
|
4323
4350
|
"地毯式轰炸": {
|
|
4324
|
-
|
|
4325
|
-
|
|
4351
|
+
description: "移除孤立无援状态,受到的伤害降低80%",
|
|
4352
|
+
belong: []
|
|
4353
|
+
// 未在任何异形中找到
|
|
4326
4354
|
},
|
|
4327
4355
|
"轰炸引导": {
|
|
4328
|
-
|
|
4329
|
-
|
|
4356
|
+
description: "受击时10%概率触发,消耗当前「光影之刃」层数的一半(向下取整),并回复(消耗层数×10)点能量",
|
|
4357
|
+
belong: []
|
|
4358
|
+
// 未在任何异形中找到
|
|
4330
4359
|
},
|
|
4331
4360
|
"毒性唾液": {
|
|
4332
|
-
|
|
4333
|
-
|
|
4361
|
+
description: "受击获得1层「毒性唾液」(上限20层),每层使受到的伤害降低5%",
|
|
4362
|
+
belong: ["猛毒异兽", "剧毒蝙蝠"]
|
|
4334
4363
|
},
|
|
4335
4364
|
"剧毒狂暴": {
|
|
4336
|
-
|
|
4337
|
-
|
|
4365
|
+
description: "生命值≤50%时,受击额外获得1层「毒性唾液」且受到的伤害降低20%",
|
|
4366
|
+
belong: ["猛毒异兽"]
|
|
4338
4367
|
},
|
|
4339
4368
|
"毒气波": {
|
|
4340
|
-
|
|
4341
|
-
|
|
4369
|
+
description: "受击时,有20%概率获得5层「毒性唾液」",
|
|
4370
|
+
belong: ["猛毒异兽", "剧毒蝙蝠"]
|
|
4342
4371
|
},
|
|
4343
4372
|
"淬毒撕咬": {
|
|
4344
|
-
|
|
4345
|
-
|
|
4373
|
+
description: "「毒性唾液」≥5层时,受击会回复50点生命值;「毒性唾液」≥10层时,受击会回复100点生命值;「毒性唾液」≥15层时,受击会回复150点生命值",
|
|
4374
|
+
belong: ["猛毒异兽", "剧毒蝙蝠"]
|
|
4346
4375
|
},
|
|
4347
4376
|
"酸蚀池": {
|
|
4348
|
-
|
|
4349
|
-
|
|
4377
|
+
description: "每次受击将会从3种酸液中顺序选择一种释放(脓蚀酸池:受到实弹武器伤害降低50%,受到能量武器伤害提高50%;蚀骨酸池:受到能量武器伤害降低50%,受到热能武器伤害提高50%;焦熔酸池:受到热能武器的伤害降低50%,受到实弹武器伤害提高50%)",
|
|
4378
|
+
belong: ["猛毒异兽", "剧毒蝙蝠"]
|
|
4350
4379
|
},
|
|
4351
4380
|
"剧毒突袭": {
|
|
4352
|
-
|
|
4353
|
-
|
|
4381
|
+
description: "「毒性唾液」≥20层时,受击消耗所有层数并强化下5次触发的「酸蚀池」(武器类型对应的增伤和减伤效果翻倍)",
|
|
4382
|
+
belong: ["猛毒异兽"]
|
|
4354
4383
|
},
|
|
4355
4384
|
"虫巢思维": {
|
|
4356
|
-
|
|
4357
|
-
|
|
4385
|
+
description: "每有一只巢穴子代,则受到的伤害降低20%;巢穴子代受到的伤害提高20%",
|
|
4386
|
+
belong: ["虫群女王"]
|
|
4358
4387
|
},
|
|
4359
4388
|
"爆虫伏击": {
|
|
4360
|
-
|
|
4361
|
-
|
|
4389
|
+
description: "血量低于50%时,立即孵化巢穴子代直至上限(生效后移除)",
|
|
4390
|
+
belong: ["虫群女王"]
|
|
4362
4391
|
},
|
|
4363
4392
|
"虚弱喷吐": {
|
|
4364
|
-
|
|
4365
|
-
|
|
4393
|
+
description: "当孵化场存活时,受到的伤害降低80%",
|
|
4394
|
+
belong: ["虫群女王"]
|
|
4366
4395
|
},
|
|
4367
4396
|
"治愈虫群": {
|
|
4368
|
-
|
|
4369
|
-
|
|
4397
|
+
description: "血量低于30%时,立即回复自身40%点生命值,同时回复所有其他存活异形10%点生命值(生效后移除)",
|
|
4398
|
+
belong: ["虫群女王"]
|
|
4370
4399
|
},
|
|
4371
4400
|
"释放信息素": {
|
|
4372
|
-
|
|
4373
|
-
|
|
4401
|
+
description: "所有存活的异形受到的伤害降低20%",
|
|
4402
|
+
belong: ["虫群女王"]
|
|
4374
4403
|
},
|
|
4375
4404
|
"恐吓尖啸": {
|
|
4376
|
-
|
|
4377
|
-
|
|
4405
|
+
description: "每受到10次攻击,如果没有存活的巢穴子代,则随机孵化1只巢穴子代(巢穴雷兽,巢穴战士,巢穴甲虫)",
|
|
4406
|
+
belong: ["虫群女王"]
|
|
4378
4407
|
},
|
|
4379
4408
|
"孵化": {
|
|
4380
|
-
|
|
4381
|
-
|
|
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
|
-
|
|
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(`📅 剩余挑战次数:${
|
|
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
|
-
|
|
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
|
};
|