koishi-plugin-ggcevo-game 1.4.84 → 1.4.85

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.
@@ -595,4 +595,5 @@ export declare function applyPassiveEffects(targetBoss: any, activeBosses: any[]
595
595
  layerReduced: boolean;
596
596
  bileDetonationTrigger: boolean;
597
597
  spawnNewBossMarks: string[];
598
+ pulseGrenadeTriggered: boolean;
598
599
  };
@@ -13,6 +13,7 @@ export declare function handlePrimaryAttack(ctx: Context, session: any, handle:
13
13
  bileStacks: boolean;
14
14
  pulseApplied: boolean;
15
15
  arcApplied: boolean;
16
+ pulseGrenadeTriggered: boolean;
16
17
  }>;
17
18
  export declare function handleScatterAttack(ctx: Context, session: any, handle: string, config: Config, equippedWeapon: any, targetBoss: any, weaponName: string, activeBosses: any[], careerData: any): Promise<{
18
19
  scatterEffectMessages: string[];
package/lib/index.js CHANGED
@@ -1116,7 +1116,7 @@ var Tasklist = {
1116
1116
  id: 1,
1117
1117
  type: "可重复任务",
1118
1118
  target: 1,
1119
- price: 50,
1119
+ price: 75,
1120
1120
  redCrystalCost: 0,
1121
1121
  condition: "使用【伽马枪】攻击目标并成功增加其辐射层数"
1122
1122
  },
@@ -1140,7 +1140,7 @@ var Tasklist = {
1140
1140
  id: 4,
1141
1141
  type: "可重复任务",
1142
1142
  target: 1,
1143
- price: 75,
1143
+ price: 100,
1144
1144
  redCrystalCost: 0,
1145
1145
  condition: "使用【脉冲扰乱枪】攻击目标并成功减少其技能层数"
1146
1146
  },
@@ -1148,9 +1148,17 @@ var Tasklist = {
1148
1148
  id: 5,
1149
1149
  type: "可重复任务",
1150
1150
  target: 1,
1151
- price: 75,
1151
+ price: 100,
1152
1152
  redCrystalCost: 0,
1153
1153
  condition: "使用【弧焊枪】或【DG-3电弧步枪】攻击目标并成功消耗其能量"
1154
+ },
1155
+ "破甲先锋": {
1156
+ id: 6,
1157
+ type: "可重复任务",
1158
+ target: 1,
1159
+ price: 150,
1160
+ redCrystalCost: 0,
1161
+ condition: "使用【M4AE脉冲步枪】攻击目标并成功削减其护甲"
1154
1162
  }
1155
1163
  };
1156
1164
 
@@ -3663,6 +3671,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
3663
3671
  let bileDetonationTrigger = false;
3664
3672
  let spawnNewBossMarks = [];
3665
3673
  let armor = 0;
3674
+ let pulseGrenadeTriggered = false;
3666
3675
  const weaponData = weaponConfig[weaponName] || { type: "" };
3667
3676
  let doubleAstralWind = false;
3668
3677
  let isolatedImmunityMark = false;
@@ -3736,6 +3745,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
3736
3745
  const pulseEffect = BattleEffectProcessor.handlePulseRifleEffect(weaponName, targetBoss);
3737
3746
  if (pulseEffect) {
3738
3747
  messages.push(...pulseEffect.messages);
3748
+ pulseGrenadeTriggered = pulseEffect.pulseGrenadeTriggered;
3739
3749
  if (pulseEffect.targetUpdates) {
3740
3750
  updateStatsByName(pulseEffect.targetUpdates.name, pulseEffect.targetUpdates.updates);
3741
3751
  }
@@ -3941,7 +3951,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
3941
3951
  let adjustedNerfMultiplier = totalNerfMultiplier * (1 - ignoreRate);
3942
3952
  const damageMultiplier = 1 + totalBuffMultiplier - adjustedNerfMultiplier;
3943
3953
  finalDamage = damage * damageMultiplier;
3944
- if (pulseEffect?.pulseGrenadeTriggered || fusionEffect?.fusionExplosionTriggered) {
3954
+ if (pulseGrenadeTriggered || fusionEffect?.fusionExplosionTriggered) {
3945
3955
  finalDamage *= 1.5;
3946
3956
  }
3947
3957
  if (hasCrit) {
@@ -4034,8 +4044,9 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4034
4044
  energyDrained,
4035
4045
  layerReduced,
4036
4046
  bileDetonationTrigger,
4037
- spawnNewBossMarks
4047
+ spawnNewBossMarks,
4038
4048
  // +++ 新增生成标记 +++
4049
+ pulseGrenadeTriggered
4039
4050
  };
4040
4051
  }
4041
4052
  __name(applyPassiveEffects, "applyPassiveEffects");
@@ -5422,7 +5433,8 @@ async function handlePrimaryAttack(ctx, session, handle, config, equippedWeapon,
5422
5433
  freezing: EffectProcessor.coldLayerAdded,
5423
5434
  bileStacks: EffectProcessor.bileDetonationTrigger,
5424
5435
  pulseApplied: EffectProcessor.layerReduced,
5425
- arcApplied: EffectProcessor.energyDrained
5436
+ arcApplied: EffectProcessor.energyDrained,
5437
+ pulseGrenadeTriggered: EffectProcessor.pulseGrenadeTriggered
5426
5438
  };
5427
5439
  }
5428
5440
  __name(handlePrimaryAttack, "handlePrimaryAttack");
@@ -5434,13 +5446,13 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
5434
5446
  const taskUpdates = [];
5435
5447
  let scatterRatio = 0;
5436
5448
  if (weaponName === "碎骨步枪") {
5437
- scatterEffectMessages.push("🔆 【光束曲射晶片】触发散射攻击!");
5449
+ scatterEffectMessages.push("【光束曲射晶片】触发散射攻击!");
5438
5450
  scatterRatio = 1;
5439
5451
  } else if (weaponName === "中子步枪") {
5440
- scatterEffectMessages.push("🔆 【中子步枪】触发散射攻击!");
5452
+ scatterEffectMessages.push("【中子步枪】触发散射攻击!");
5441
5453
  scatterRatio = 1.2;
5442
5454
  } else if (weaponName === "DG-3电弧步枪") {
5443
- scatterEffectMessages.push("🔆 【DG-3电弧步枪】触发散射攻击!");
5455
+ scatterEffectMessages.push("【DG-3电弧步枪】触发散射攻击!");
5444
5456
  scatterRatio = 0.3;
5445
5457
  }
5446
5458
  for (const secondaryTarget of secondaryTargets) {
@@ -5478,6 +5490,9 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
5478
5490
  if (EffectProcessor.energyDrained) {
5479
5491
  taskUpdates.push({ taskId: 5, count: 1 });
5480
5492
  }
5493
+ if (EffectProcessor.pulseGrenadeTriggered) {
5494
+ taskUpdates.push({ taskId: 6, count: 1 });
5495
+ }
5481
5496
  const isDead = currentHP <= 0;
5482
5497
  scatterEffectMessages.push(...EffectProcessor.messages.map((m) => ` 对 ${secondaryTarget.name} ${m}`));
5483
5498
  if (isDead) {
@@ -8540,6 +8555,9 @@ ${validTypes.join("、")}`;
8540
8555
  if (primaryAttackResult.arcApplied) {
8541
8556
  taskUpdates.push({ taskId: 5, count: 1 });
8542
8557
  }
8558
+ if (primaryAttackResult.pulseGrenadeTriggered) {
8559
+ taskUpdates.push({ taskId: 6, count: 1 });
8560
+ }
8543
8561
  if (scatterResult && scatterResult.taskUpdates) {
8544
8562
  scatterResult.taskUpdates.forEach((update) => {
8545
8563
  taskUpdates.push(update);
@@ -9936,8 +9954,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
9936
9954
  }
9937
9955
  }
9938
9956
  response.push(
9939
- `📊 累计完成次数: ${newCompletions}次`,
9940
- `⚙️ 剩余进度点数: ${remainingProgress}/${taskConfig.target}`
9957
+ `📊 累计完成次数: ${newCompletions}次`
9941
9958
  );
9942
9959
  return response.join("\n");
9943
9960
  } catch (error) {
package/lib/tasks.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare const Tasklist: {
3
3
  readonly id: 1;
4
4
  readonly type: "可重复任务";
5
5
  readonly target: 1;
6
- readonly price: 50;
6
+ readonly price: 75;
7
7
  readonly redCrystalCost: 0;
8
8
  readonly condition: "使用【伽马枪】攻击目标并成功增加其辐射层数";
9
9
  };
@@ -27,7 +27,7 @@ export declare const Tasklist: {
27
27
  readonly id: 4;
28
28
  readonly type: "可重复任务";
29
29
  readonly target: 1;
30
- readonly price: 75;
30
+ readonly price: 100;
31
31
  readonly redCrystalCost: 0;
32
32
  readonly condition: "使用【脉冲扰乱枪】攻击目标并成功减少其技能层数";
33
33
  };
@@ -35,8 +35,16 @@ export declare const Tasklist: {
35
35
  readonly id: 5;
36
36
  readonly type: "可重复任务";
37
37
  readonly target: 1;
38
- readonly price: 75;
38
+ readonly price: 100;
39
39
  readonly redCrystalCost: 0;
40
40
  readonly condition: "使用【弧焊枪】或【DG-3电弧步枪】攻击目标并成功消耗其能量";
41
41
  };
42
+ readonly 破甲先锋: {
43
+ readonly id: 6;
44
+ readonly type: "可重复任务";
45
+ readonly target: 1;
46
+ readonly price: 150;
47
+ readonly redCrystalCost: 0;
48
+ readonly condition: "使用【M4AE脉冲步枪】攻击目标并成功削减其护甲";
49
+ };
42
50
  };
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.84",
4
+ "version": "1.4.85",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [