koishi-plugin-ggcevo-game 1.5.5 → 1.5.7
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 +6 -2
- package/lib/boss/attackhandling.d.ts +2 -0
- package/lib/index.js +108 -53
- package/lib/tasks.d.ts +5 -5
- package/lib/weapons.d.ts +12 -0
- package/package.json +1 -1
|
@@ -412,21 +412,23 @@ export declare const BattleEffectProcessor: {
|
|
|
412
412
|
buffMultiplier: number;
|
|
413
413
|
layerAdded: boolean;
|
|
414
414
|
} | null;
|
|
415
|
-
handleWeaponEnergyDrain: (targetBoss: any, weaponName: string, maxStatsForTarget: any) => {
|
|
415
|
+
handleWeaponEnergyDrain: (targetBoss: any, weaponName: string, maxStatsForTarget: any, equippedWeapon: any) => {
|
|
416
416
|
messages: string[];
|
|
417
417
|
targetUpdates: {
|
|
418
418
|
name: string;
|
|
419
419
|
updates: Partial<BattleStatistics>;
|
|
420
420
|
} | null;
|
|
421
421
|
success: boolean;
|
|
422
|
+
drainFactor: number;
|
|
422
423
|
} | null;
|
|
423
|
-
handleWeaponLayerReduction: (targetBoss: any, weaponName: string, maxStatsForTarget: any) => {
|
|
424
|
+
handleWeaponLayerReduction: (targetBoss: any, weaponName: string, maxStatsForTarget: any, equippedWeapon: any) => {
|
|
424
425
|
messages: string[];
|
|
425
426
|
targetUpdates: {
|
|
426
427
|
name: string;
|
|
427
428
|
updates: Partial<BattleStatistics>;
|
|
428
429
|
} | null;
|
|
429
430
|
reductionSuccess: boolean;
|
|
431
|
+
reductionAmount: number;
|
|
430
432
|
} | null;
|
|
431
433
|
handleToxicSaliva: (targetBoss: any) => {
|
|
432
434
|
nerfMultiplier: number;
|
|
@@ -656,4 +658,6 @@ export declare function applyPassiveEffects(targetBoss: any, activeBosses: any[]
|
|
|
656
658
|
spawnNewBossMarks: string[];
|
|
657
659
|
pulseGrenadeTriggered: boolean;
|
|
658
660
|
burnLayerAdded: boolean;
|
|
661
|
+
drainFactor: number;
|
|
662
|
+
reductionAmount: number;
|
|
659
663
|
};
|
|
@@ -15,6 +15,8 @@ export declare function handlePrimaryAttack(ctx: Context, session: any, handle:
|
|
|
15
15
|
arcApplied: boolean;
|
|
16
16
|
pulseGrenadeTriggered: boolean;
|
|
17
17
|
burnLayerAdded: boolean;
|
|
18
|
+
drainFactor: number;
|
|
19
|
+
reductionAmount: number;
|
|
18
20
|
}>;
|
|
19
21
|
export declare function handleScatterAttack(ctx: Context, session: any, handle: string, config: Config, equippedWeapon: any, targetBoss: any, weaponName: string, activeBosses: any[], careerData: any): Promise<{
|
|
20
22
|
scatterEffectMessages: string[];
|
package/lib/index.js
CHANGED
|
@@ -148,7 +148,7 @@ var weaponConfig = {
|
|
|
148
148
|
damage: 25,
|
|
149
149
|
armorDamageReduction: 1,
|
|
150
150
|
description: "喷射稳定的液氮恒流,对长时间接触者造成致命的损伤",
|
|
151
|
-
specialeffect: "攻击时为目标附加[寒冷]效果,每层使目标受到的伤害提高
|
|
151
|
+
specialeffect: "攻击时为目标附加[寒冷]效果,每层使目标受到的伤害提高1%(最多提高100%)",
|
|
152
152
|
price: 775,
|
|
153
153
|
redCrystalCost: 7,
|
|
154
154
|
isantiair: false,
|
|
@@ -351,7 +351,7 @@ var weaponConfig = {
|
|
|
351
351
|
damage: 80,
|
|
352
352
|
armorDamageReduction: -1,
|
|
353
353
|
description: "一件传奇武器",
|
|
354
|
-
specialeffect: "暴击率提高25%;连续
|
|
354
|
+
specialeffect: "暴击率提高25%;连续2次未暴击时,下次攻击必定暴击",
|
|
355
355
|
price: 6400,
|
|
356
356
|
redCrystalCost: 200,
|
|
357
357
|
isantiair: true,
|
|
@@ -522,6 +522,18 @@ var modConfig = {
|
|
|
522
522
|
effect: "每层[横冲直撞]提供双倍伤害",
|
|
523
523
|
exclusiveTo: "M134轮转机枪",
|
|
524
524
|
isExclusive: true
|
|
525
|
+
},
|
|
526
|
+
"脉冲稳定核心": {
|
|
527
|
+
cost: 2500,
|
|
528
|
+
effect: "攻击减少目标双倍技能层数",
|
|
529
|
+
exclusiveTo: "脉冲扰乱枪",
|
|
530
|
+
isExclusive: true
|
|
531
|
+
},
|
|
532
|
+
"高压电池": {
|
|
533
|
+
cost: 2250,
|
|
534
|
+
effect: "攻击消耗目标双倍能量值",
|
|
535
|
+
exclusiveTo: "弧焊枪",
|
|
536
|
+
isExclusive: true
|
|
525
537
|
}
|
|
526
538
|
};
|
|
527
539
|
|
|
@@ -745,10 +757,10 @@ var syndicatePirateConfig = [
|
|
|
745
757
|
},
|
|
746
758
|
{
|
|
747
759
|
professionName: "辛迪加财务经理",
|
|
748
|
-
effect: "每日签到能额外获得红晶;
|
|
760
|
+
effect: "每日签到能额外获得红晶; 仓库中每拥有20个红晶,每日签到能额外获得1个红晶(至多额外获得5个)",
|
|
749
761
|
requirements: "当月累计签到14天及以上",
|
|
750
762
|
Jobtransfer: true,
|
|
751
|
-
costredcrystal:
|
|
763
|
+
costredcrystal: 40
|
|
752
764
|
},
|
|
753
765
|
{
|
|
754
766
|
professionName: "计算机专家",
|
|
@@ -1172,17 +1184,17 @@ var Tasklist = {
|
|
|
1172
1184
|
id: 4,
|
|
1173
1185
|
type: "可重复任务",
|
|
1174
1186
|
target: 1,
|
|
1175
|
-
price:
|
|
1187
|
+
price: 40,
|
|
1176
1188
|
redCrystalCost: 0,
|
|
1177
|
-
condition: "
|
|
1189
|
+
condition: "使用【脉冲扰乱枪】攻击目标并成功减少其1层技能层数"
|
|
1178
1190
|
},
|
|
1179
1191
|
"能量消耗": {
|
|
1180
1192
|
id: 5,
|
|
1181
1193
|
type: "可重复任务",
|
|
1182
1194
|
target: 1,
|
|
1183
|
-
price:
|
|
1195
|
+
price: 40,
|
|
1184
1196
|
redCrystalCost: 0,
|
|
1185
|
-
condition: "使用【弧焊枪】或【DG-3
|
|
1197
|
+
condition: "使用【弧焊枪】或【DG-3电弧步枪】攻击目标并成功消耗其100能量"
|
|
1186
1198
|
},
|
|
1187
1199
|
"破甲先锋": {
|
|
1188
1200
|
id: 6,
|
|
@@ -1190,7 +1202,7 @@ var Tasklist = {
|
|
|
1190
1202
|
target: 1,
|
|
1191
1203
|
price: 200,
|
|
1192
1204
|
redCrystalCost: 0,
|
|
1193
|
-
condition: "使用【M4AE
|
|
1205
|
+
condition: "使用【M4AE脉冲步枪】攻击目标并成功削减其0.5护甲"
|
|
1194
1206
|
},
|
|
1195
1207
|
"烈火燎原": {
|
|
1196
1208
|
id: 7,
|
|
@@ -3148,11 +3160,11 @@ var BattleEffectProcessor = {
|
|
|
3148
3160
|
const messages = [];
|
|
3149
3161
|
let layerAdded = false;
|
|
3150
3162
|
const currentLayers = targetBoss.coldLayers || 0;
|
|
3151
|
-
const effectiveLayers = Math.min(currentLayers,
|
|
3152
|
-
const buffMultiplier = effectiveLayers * 0.
|
|
3163
|
+
const effectiveLayers = Math.min(currentLayers, 100);
|
|
3164
|
+
const buffMultiplier = effectiveLayers * 0.01;
|
|
3153
3165
|
if (effectiveLayers > 0) {
|
|
3154
|
-
messages.push(`❄️ 【寒冷】:当前${currentLayers}层,受到的伤害+${(effectiveLayers *
|
|
3155
|
-
if (currentLayers >
|
|
3166
|
+
messages.push(`❄️ 【寒冷】:当前${currentLayers}层,受到的伤害+${(effectiveLayers * 1).toFixed(1)}%`);
|
|
3167
|
+
if (currentLayers > 100) {
|
|
3156
3168
|
}
|
|
3157
3169
|
}
|
|
3158
3170
|
let targetUpdates = null;
|
|
@@ -3176,18 +3188,22 @@ var BattleEffectProcessor = {
|
|
|
3176
3188
|
// 返回层数增加标记
|
|
3177
3189
|
};
|
|
3178
3190
|
}, "handleColdEffect"),
|
|
3179
|
-
//
|
|
3180
|
-
handleWeaponEnergyDrain: /* @__PURE__ */ __name(function(targetBoss, weaponName, maxStatsForTarget) {
|
|
3191
|
+
// 统一的武器能量消耗处理函数(已添加模组检测)
|
|
3192
|
+
handleWeaponEnergyDrain: /* @__PURE__ */ __name(function(targetBoss, weaponName, maxStatsForTarget, equippedWeapon) {
|
|
3181
3193
|
const weaponEnergyDrain = {
|
|
3182
3194
|
"弧焊枪": 200,
|
|
3183
3195
|
"DG-3电弧步枪": 500
|
|
3184
3196
|
};
|
|
3185
3197
|
const targetmaxEnergy = maxStatsForTarget.maxEnergy;
|
|
3186
|
-
|
|
3198
|
+
let drainValue = weaponEnergyDrain[weaponName];
|
|
3187
3199
|
if (!drainValue || targetmaxEnergy === 0) {
|
|
3188
3200
|
return null;
|
|
3189
3201
|
}
|
|
3190
3202
|
const messages = [];
|
|
3203
|
+
const hasHighVoltageBattery = equippedWeapon.installedMods?.includes("高压电池");
|
|
3204
|
+
if (hasHighVoltageBattery && weaponName === "弧焊枪") {
|
|
3205
|
+
drainValue *= 2;
|
|
3206
|
+
}
|
|
3191
3207
|
const success = drainValue > 0;
|
|
3192
3208
|
let targetUpdates = null;
|
|
3193
3209
|
if (success) {
|
|
@@ -3199,28 +3215,36 @@ var BattleEffectProcessor = {
|
|
|
3199
3215
|
}
|
|
3200
3216
|
};
|
|
3201
3217
|
}
|
|
3218
|
+
const drainFactor = drainValue / 100;
|
|
3202
3219
|
const weaponDisplayName = weaponName === "弧焊枪" ? "弧焊枪" : "DG-3电弧步枪";
|
|
3220
|
+
let effectDescription = `消耗${drainValue}点能量`;
|
|
3221
|
+
if (hasHighVoltageBattery && weaponName === "弧焊枪") {
|
|
3222
|
+
}
|
|
3203
3223
|
if (success) {
|
|
3204
|
-
messages.push(`⚡ 【${weaponDisplayName}
|
|
3224
|
+
messages.push(`⚡ 【${weaponDisplayName}】武器效果:${effectDescription}`);
|
|
3205
3225
|
}
|
|
3206
3226
|
return {
|
|
3207
3227
|
messages,
|
|
3208
3228
|
targetUpdates,
|
|
3209
|
-
success
|
|
3229
|
+
success,
|
|
3230
|
+
drainFactor
|
|
3210
3231
|
};
|
|
3211
3232
|
}, "handleWeaponEnergyDrain"),
|
|
3212
|
-
//
|
|
3213
|
-
handleWeaponLayerReduction: /* @__PURE__ */ __name(function(targetBoss, weaponName, maxStatsForTarget) {
|
|
3233
|
+
// 统一的武器层数减少处理函数(已添加模组检测)
|
|
3234
|
+
handleWeaponLayerReduction: /* @__PURE__ */ __name(function(targetBoss, weaponName, maxStatsForTarget, equippedWeapon) {
|
|
3214
3235
|
const weaponLayerReduction = {
|
|
3215
3236
|
"脉冲扰乱枪": 2
|
|
3216
|
-
// 可以在这里添加其他武器及其减少层数
|
|
3217
3237
|
};
|
|
3218
3238
|
const maxStacks = maxStatsForTarget.maxStacks;
|
|
3219
|
-
|
|
3239
|
+
let reductionAmount = weaponLayerReduction[weaponName];
|
|
3220
3240
|
if (!reductionAmount || maxStacks === 0) {
|
|
3221
3241
|
return null;
|
|
3222
3242
|
}
|
|
3223
3243
|
const messages = [];
|
|
3244
|
+
const hasStabilizationCore = equippedWeapon.installedMods?.includes("脉冲稳定核心");
|
|
3245
|
+
if (hasStabilizationCore && weaponName === "脉冲扰乱枪") {
|
|
3246
|
+
reductionAmount *= 2;
|
|
3247
|
+
}
|
|
3224
3248
|
const reductionSuccess = reductionAmount > 0;
|
|
3225
3249
|
let targetUpdates = null;
|
|
3226
3250
|
if (reductionSuccess) {
|
|
@@ -3228,17 +3252,20 @@ var BattleEffectProcessor = {
|
|
|
3228
3252
|
name: targetBoss.name,
|
|
3229
3253
|
updates: {
|
|
3230
3254
|
skillStacksChanged: -reductionAmount
|
|
3231
|
-
// 减少层数
|
|
3232
3255
|
}
|
|
3233
3256
|
};
|
|
3234
3257
|
}
|
|
3258
|
+
let effectDescription = `技能层数减少${reductionAmount}层`;
|
|
3259
|
+
if (hasStabilizationCore && weaponName === "脉冲扰乱枪") {
|
|
3260
|
+
}
|
|
3235
3261
|
if (reductionSuccess) {
|
|
3236
|
-
messages.push(`⚡ 【${weaponName}
|
|
3262
|
+
messages.push(`⚡ 【${weaponName}】武器效果:${effectDescription}`);
|
|
3237
3263
|
}
|
|
3238
3264
|
return {
|
|
3239
3265
|
messages,
|
|
3240
3266
|
targetUpdates,
|
|
3241
|
-
reductionSuccess
|
|
3267
|
+
reductionSuccess,
|
|
3268
|
+
reductionAmount
|
|
3242
3269
|
};
|
|
3243
3270
|
}, "handleWeaponLayerReduction"),
|
|
3244
3271
|
handleToxicSaliva: /* @__PURE__ */ __name(function(targetBoss) {
|
|
@@ -3889,19 +3916,18 @@ var BattleEffectProcessor = {
|
|
|
3889
3916
|
return null;
|
|
3890
3917
|
}
|
|
3891
3918
|
const currentStacks = targetBoss.skillStacks || 0;
|
|
3892
|
-
const
|
|
3893
|
-
if (
|
|
3919
|
+
const halfStacks = Math.floor(currentStacks / 2);
|
|
3920
|
+
if (halfStacks <= 0) {
|
|
3894
3921
|
return null;
|
|
3895
3922
|
}
|
|
3896
|
-
const healAmount =
|
|
3923
|
+
const healAmount = halfStacks * 5;
|
|
3897
3924
|
return {
|
|
3898
|
-
messages: [`🧬
|
|
3925
|
+
messages: [`🧬 【加快分化】生效:回复${healAmount}点生命值`],
|
|
3899
3926
|
targetUpdates: {
|
|
3900
3927
|
name: targetBoss.name,
|
|
3901
3928
|
updates: {
|
|
3902
|
-
hpChange: healAmount
|
|
3903
|
-
|
|
3904
|
-
// 消耗层数
|
|
3929
|
+
hpChange: healAmount
|
|
3930
|
+
// 不再消耗层数
|
|
3905
3931
|
}
|
|
3906
3932
|
}
|
|
3907
3933
|
};
|
|
@@ -4009,6 +4035,8 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4009
4035
|
let armor = 0;
|
|
4010
4036
|
let pulseGrenadeTriggered = false;
|
|
4011
4037
|
let burnLayerAdded = false;
|
|
4038
|
+
let drainFactor = 0;
|
|
4039
|
+
let reductionAmount = 0;
|
|
4012
4040
|
const weaponData = weaponConfig[weaponName] || { type: "" };
|
|
4013
4041
|
let doubleAstralWind = false;
|
|
4014
4042
|
let isolatedImmunityMark = false;
|
|
@@ -4302,21 +4330,23 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4302
4330
|
}
|
|
4303
4331
|
coldLayerAdded = coldResult.layerAdded;
|
|
4304
4332
|
}
|
|
4305
|
-
const energyDrainResult = BattleEffectProcessor.handleWeaponEnergyDrain(targetBoss, weaponName, maxStatsForTarget);
|
|
4333
|
+
const energyDrainResult = BattleEffectProcessor.handleWeaponEnergyDrain(targetBoss, weaponName, maxStatsForTarget, equippedWeapon);
|
|
4306
4334
|
if (energyDrainResult) {
|
|
4307
4335
|
messages.push(...energyDrainResult.messages);
|
|
4308
4336
|
if (energyDrainResult.targetUpdates) {
|
|
4309
4337
|
updateStatsByName(energyDrainResult.targetUpdates.name, energyDrainResult.targetUpdates.updates);
|
|
4310
4338
|
}
|
|
4311
4339
|
energyDrained = energyDrainResult.success || false;
|
|
4340
|
+
drainFactor = energyDrainResult.drainFactor;
|
|
4312
4341
|
}
|
|
4313
|
-
const layerReduceResult = BattleEffectProcessor.handleWeaponLayerReduction(targetBoss, weaponName, maxStatsForTarget);
|
|
4342
|
+
const layerReduceResult = BattleEffectProcessor.handleWeaponLayerReduction(targetBoss, weaponName, maxStatsForTarget, equippedWeapon);
|
|
4314
4343
|
if (layerReduceResult) {
|
|
4315
4344
|
messages.push(...layerReduceResult.messages);
|
|
4316
4345
|
if (layerReduceResult.targetUpdates) {
|
|
4317
4346
|
updateStatsByName(layerReduceResult.targetUpdates.name, layerReduceResult.targetUpdates.updates);
|
|
4318
4347
|
}
|
|
4319
4348
|
layerReduced = layerReduceResult.reductionSuccess || false;
|
|
4349
|
+
reductionAmount = layerReduceResult.reductionAmount;
|
|
4320
4350
|
}
|
|
4321
4351
|
let finalDamage = damage;
|
|
4322
4352
|
let adjustedNerfMultiplier = totalNerfMultiplier * (1 - ignoreRate);
|
|
@@ -4340,7 +4370,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4340
4370
|
const armorBonus = geneMutationStacks * 0.1;
|
|
4341
4371
|
armor += armorBonus;
|
|
4342
4372
|
if (armorBonus > 0) {
|
|
4343
|
-
messages.push(`【组织增生】生效:临时增加${armorBonus}点护甲`);
|
|
4373
|
+
messages.push(`【组织增生】生效:临时增加${armorBonus.toFixed(1)}点护甲`);
|
|
4344
4374
|
}
|
|
4345
4375
|
}
|
|
4346
4376
|
let armorDamageReduction = weaponData.armorDamageReduction || 0;
|
|
@@ -4433,8 +4463,10 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4433
4463
|
spawnNewBossMarks,
|
|
4434
4464
|
// +++ 新增生成标记 +++
|
|
4435
4465
|
pulseGrenadeTriggered,
|
|
4436
|
-
burnLayerAdded
|
|
4466
|
+
burnLayerAdded,
|
|
4437
4467
|
// 新增燃烧叠加标记
|
|
4468
|
+
drainFactor,
|
|
4469
|
+
reductionAmount
|
|
4438
4470
|
};
|
|
4439
4471
|
}
|
|
4440
4472
|
__name(applyPassiveEffects, "applyPassiveEffects");
|
|
@@ -4789,7 +4821,7 @@ var passiveConfig = {
|
|
|
4789
4821
|
derivedSkills: []
|
|
4790
4822
|
},
|
|
4791
4823
|
"加快分化": {
|
|
4792
|
-
description: "
|
|
4824
|
+
description: "每次受击回复X点血量(X为「基因变异」层数的一半并向下取整 x 5)",
|
|
4793
4825
|
belong: [],
|
|
4794
4826
|
derivedSkills: []
|
|
4795
4827
|
},
|
|
@@ -4908,6 +4940,23 @@ var ggcevoUpdates = [
|
|
|
4908
4940
|
- 削弱了坏兄弟的加快分化基因技能
|
|
4909
4941
|
- 雷达面罩价格下调至20红晶
|
|
4910
4942
|
`.trim()
|
|
4943
|
+
},
|
|
4944
|
+
{
|
|
4945
|
+
version: "1.5.6",
|
|
4946
|
+
time: "2025-06-29",
|
|
4947
|
+
content: `
|
|
4948
|
+
- 重制了坏兄弟的分化基因技能
|
|
4949
|
+
- 重制了辛迪加海盗阵营的辛迪加财务经理职业,并提高其转职门槛
|
|
4950
|
+
- 增强了MK-4激光步枪暴击保底机制
|
|
4951
|
+
`.trim()
|
|
4952
|
+
},
|
|
4953
|
+
{
|
|
4954
|
+
version: "1.5.7",
|
|
4955
|
+
time: "2025-06-29",
|
|
4956
|
+
content: `
|
|
4957
|
+
- 重制了脉冲干扰和能量消耗的任务要求
|
|
4958
|
+
- 新增专属模块:脉冲稳定核心和高压电池
|
|
4959
|
+
`.trim()
|
|
4911
4960
|
}
|
|
4912
4961
|
];
|
|
4913
4962
|
function compareVersions(a, b) {
|
|
@@ -5676,7 +5725,7 @@ async function calculateCrit(ctx, handle, equippedWeapon, weaponName) {
|
|
|
5676
5725
|
critSources: []
|
|
5677
5726
|
};
|
|
5678
5727
|
}
|
|
5679
|
-
if (weaponName === "MK-4激光步枪" && pityCounter >=
|
|
5728
|
+
if (weaponName === "MK-4激光步枪" && pityCounter >= 2) {
|
|
5680
5729
|
return {
|
|
5681
5730
|
hasCrit: true,
|
|
5682
5731
|
critSources: ["🔫 MK-4激光步枪:保底暴击"]
|
|
@@ -6066,7 +6115,9 @@ async function handlePrimaryAttack(ctx, session, handle, config, equippedWeapon,
|
|
|
6066
6115
|
pulseApplied: EffectProcessor.layerReduced,
|
|
6067
6116
|
arcApplied: EffectProcessor.energyDrained,
|
|
6068
6117
|
pulseGrenadeTriggered: EffectProcessor.pulseGrenadeTriggered,
|
|
6069
|
-
burnLayerAdded: EffectProcessor.burnLayerAdded
|
|
6118
|
+
burnLayerAdded: EffectProcessor.burnLayerAdded,
|
|
6119
|
+
drainFactor: EffectProcessor.drainFactor,
|
|
6120
|
+
reductionAmount: EffectProcessor.reductionAmount
|
|
6070
6121
|
};
|
|
6071
6122
|
}
|
|
6072
6123
|
__name(handlePrimaryAttack, "handlePrimaryAttack");
|
|
@@ -6119,10 +6170,10 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
|
|
|
6119
6170
|
taskUpdates.push({ taskId: 3, count: 1 });
|
|
6120
6171
|
}
|
|
6121
6172
|
if (EffectProcessor.layerReduced) {
|
|
6122
|
-
taskUpdates.push({ taskId: 4, count:
|
|
6173
|
+
taskUpdates.push({ taskId: 4, count: EffectProcessor.reductionAmount });
|
|
6123
6174
|
}
|
|
6124
6175
|
if (EffectProcessor.energyDrained) {
|
|
6125
|
-
taskUpdates.push({ taskId: 5, count:
|
|
6176
|
+
taskUpdates.push({ taskId: 5, count: EffectProcessor.drainFactor });
|
|
6126
6177
|
}
|
|
6127
6178
|
if (EffectProcessor.pulseGrenadeTriggered) {
|
|
6128
6179
|
taskUpdates.push({ taskId: 6, count: 1 });
|
|
@@ -7228,18 +7279,22 @@ ${itemDetails.join("\n")}`;
|
|
|
7228
7279
|
const finalPoints = Math.round(basePoints * (1 + totalBonus));
|
|
7229
7280
|
let redCrystal = 0;
|
|
7230
7281
|
if (careerData?.group === "辛迪加海盗" && careerData.career === "辛迪加财务经理") {
|
|
7231
|
-
if (monthlyDays < 7)
|
|
7232
|
-
|
|
7233
|
-
|
|
7234
|
-
|
|
7235
|
-
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7282
|
+
if (monthlyDays < 7) redCrystal = 1;
|
|
7283
|
+
else if (monthlyDays < 14) redCrystal = 2;
|
|
7284
|
+
else if (monthlyDays < 21) redCrystal = 3;
|
|
7285
|
+
else if (monthlyDays < 28) redCrystal = 4;
|
|
7286
|
+
else redCrystal = 5;
|
|
7287
|
+
const crystalStock = careerData.redcrystal || 0;
|
|
7288
|
+
const extraBonus = Math.min(Math.floor(crystalStock / 20), 5);
|
|
7289
|
+
if (extraBonus > 0) {
|
|
7290
|
+
redCrystal += extraBonus;
|
|
7291
|
+
messages.push(
|
|
7292
|
+
`🎖️ 辛迪加财务经理职业:+${redCrystal - extraBonus}枚红晶(基础)
|
|
7293
|
+
▸ 红晶储量加成:+${extraBonus}枚`
|
|
7294
|
+
);
|
|
7239
7295
|
} else {
|
|
7240
|
-
redCrystal
|
|
7296
|
+
messages.push(`🎖️ 辛迪加财务经理职业:+${redCrystal}枚红晶`);
|
|
7241
7297
|
}
|
|
7242
|
-
messages.push(`🎖️ 辛迪加财务经理职业:+${redCrystal}枚红晶`);
|
|
7243
7298
|
}
|
|
7244
7299
|
await ctx.database.withTransaction(async () => {
|
|
7245
7300
|
await ctx.database.upsert("ggcevo_sign", [{
|
|
@@ -9215,10 +9270,10 @@ ${validTypes.join("、")}`;
|
|
|
9215
9270
|
taskUpdates.push({ taskId: 3, count: 1 });
|
|
9216
9271
|
}
|
|
9217
9272
|
if (primaryAttackResult.pulseApplied) {
|
|
9218
|
-
taskUpdates.push({ taskId: 4, count:
|
|
9273
|
+
taskUpdates.push({ taskId: 4, count: primaryAttackResult.reductionAmount });
|
|
9219
9274
|
}
|
|
9220
9275
|
if (primaryAttackResult.arcApplied) {
|
|
9221
|
-
taskUpdates.push({ taskId: 5, count:
|
|
9276
|
+
taskUpdates.push({ taskId: 5, count: primaryAttackResult.drainFactor });
|
|
9222
9277
|
}
|
|
9223
9278
|
if (primaryAttackResult.pulseGrenadeTriggered) {
|
|
9224
9279
|
taskUpdates.push({ taskId: 6, count: 1 });
|
package/lib/tasks.d.ts
CHANGED
|
@@ -27,17 +27,17 @@ export declare const Tasklist: {
|
|
|
27
27
|
readonly id: 4;
|
|
28
28
|
readonly type: "可重复任务";
|
|
29
29
|
readonly target: 1;
|
|
30
|
-
readonly price:
|
|
30
|
+
readonly price: 40;
|
|
31
31
|
readonly redCrystalCost: 0;
|
|
32
|
-
readonly condition: "
|
|
32
|
+
readonly condition: "使用【脉冲扰乱枪】攻击目标并成功减少其1层技能层数";
|
|
33
33
|
};
|
|
34
34
|
readonly 能量消耗: {
|
|
35
35
|
readonly id: 5;
|
|
36
36
|
readonly type: "可重复任务";
|
|
37
37
|
readonly target: 1;
|
|
38
|
-
readonly price:
|
|
38
|
+
readonly price: 40;
|
|
39
39
|
readonly redCrystalCost: 0;
|
|
40
|
-
readonly condition: "使用【弧焊枪】或【DG-3
|
|
40
|
+
readonly condition: "使用【弧焊枪】或【DG-3电弧步枪】攻击目标并成功消耗其100能量";
|
|
41
41
|
};
|
|
42
42
|
readonly 破甲先锋: {
|
|
43
43
|
readonly id: 6;
|
|
@@ -45,7 +45,7 @@ export declare const Tasklist: {
|
|
|
45
45
|
readonly target: 1;
|
|
46
46
|
readonly price: 200;
|
|
47
47
|
readonly redCrystalCost: 0;
|
|
48
|
-
readonly condition: "使用【M4AE
|
|
48
|
+
readonly condition: "使用【M4AE脉冲步枪】攻击目标并成功削减其0.5护甲";
|
|
49
49
|
};
|
|
50
50
|
readonly 烈火燎原: {
|
|
51
51
|
readonly id: 7;
|
package/lib/weapons.d.ts
CHANGED
|
@@ -484,4 +484,16 @@ export declare const modConfig: {
|
|
|
484
484
|
exclusiveTo: string;
|
|
485
485
|
isExclusive: boolean;
|
|
486
486
|
};
|
|
487
|
+
脉冲稳定核心: {
|
|
488
|
+
cost: number;
|
|
489
|
+
effect: string;
|
|
490
|
+
exclusiveTo: string;
|
|
491
|
+
isExclusive: boolean;
|
|
492
|
+
};
|
|
493
|
+
高压电池: {
|
|
494
|
+
cost: number;
|
|
495
|
+
effect: string;
|
|
496
|
+
exclusiveTo: string;
|
|
497
|
+
isExclusive: boolean;
|
|
498
|
+
};
|
|
487
499
|
};
|