koishi-plugin-ggcevo-game 1.4.72 → 1.4.74

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.
@@ -493,8 +493,13 @@ export declare const BattleEffectProcessor: {
493
493
  } | null;
494
494
  } | null;
495
495
  handleHiveMind: (targetBoss: any, activeBosses: any[], nestlingNames?: string[]) => {
496
+ buffMultiplier: number;
497
+ messages: string[];
498
+ nerfMultiplier?: undefined;
499
+ } | {
496
500
  nerfMultiplier: number;
497
501
  messages: string[];
502
+ buffMultiplier?: undefined;
498
503
  };
499
504
  handleBurrowAmbush: (targetBoss: any, nestlingNames?: string[]) => {
500
505
  messages: string[];
@@ -508,16 +513,14 @@ export declare const BattleEffectProcessor: {
508
513
  handleHealingSwarm: (targetBoss: any, activeBosses: any[]) => {
509
514
  messages: string[];
510
515
  targetUpdates: {
511
- name: any;
512
- updates: {
513
- hpChange: number;
514
- };
516
+ name: string;
517
+ updates: Partial<BattleStatistics>;
515
518
  };
516
- otherUpdates: {
519
+ otherUpdates: Array<{
517
520
  name: string;
518
521
  updates: Partial<BattleStatistics>;
519
- }[];
520
- };
522
+ }>;
523
+ } | null;
521
524
  handleReleasePheromones: (targetBoss: any) => {
522
525
  messages: string[];
523
526
  nerfMultiplier: number;
package/lib/index.js CHANGED
@@ -340,7 +340,7 @@ var weaponConfig = {
340
340
  redCrystalCost: 200,
341
341
  isantiair: true,
342
342
  tagEffects: {
343
- "生物": 2,
343
+ "生物": 1.75,
344
344
  "护盾": 0.5
345
345
  }
346
346
  },
@@ -356,7 +356,7 @@ var weaponConfig = {
356
356
  redCrystalCost: 200,
357
357
  isantiair: true,
358
358
  tagEffects: {
359
- "重甲": 1.5
359
+ "重甲": 1.75
360
360
  }
361
361
  },
362
362
  "龙息霰弹枪": {
@@ -423,15 +423,15 @@ var weaponConfig = {
423
423
  id: 107,
424
424
  type: "能量武器",
425
425
  category: "传奇武器",
426
- damage: 70,
426
+ damage: 80,
427
427
  armorDamageReduction: 0,
428
428
  description: "一件传奇武器",
429
- specialeffect: "每连续攻击三次将使用特殊榴弹对目标额外造成50%伤害并降低目标1点护甲",
429
+ specialeffect: "每次攻击有33%概率发射一枚特殊的榴弹,造成50%的额外伤害,并减少目标0.25护甲;若连续2次攻击没发射榴弹,则下一次攻击必定发射",
430
430
  price: 6400,
431
431
  redCrystalCost: 200,
432
432
  isantiair: true,
433
433
  tagEffects: {
434
- "重甲": 1.5
434
+ "重甲": 1.2
435
435
  }
436
436
  },
437
437
  "核聚变重炮": {
@@ -3413,6 +3413,12 @@ var BattleEffectProcessor = {
3413
3413
  }, "handleToxicAssault"),
3414
3414
  // 虫巢思维 - 每有一只巢穴子代,减伤20%
3415
3415
  handleHiveMind: /* @__PURE__ */ __name(function(targetBoss, activeBosses, nestlingNames = ["巢穴雷兽", "巢穴战士", "巢穴甲虫"]) {
3416
+ if (targetBoss.name.includes("巢穴雷兽") || targetBoss.name.includes("巢穴战士") || targetBoss.name.includes("巢穴甲虫")) {
3417
+ return {
3418
+ buffMultiplier: 0.2,
3419
+ messages: [`🐛 【虫巢思维】生效:受到的伤害+20%`]
3420
+ };
3421
+ }
3416
3422
  if (!targetBoss.skills.includes("虫巢思维")) return null;
3417
3423
  const livingNestlings = activeBosses.filter(
3418
3424
  (boss) => boss.isActive && nestlingNames.includes(boss.name)
@@ -3461,40 +3467,53 @@ var BattleEffectProcessor = {
3461
3467
  }
3462
3468
  return effect;
3463
3469
  }, "handleWeakeningSpit"),
3464
- // 治愈虫群 - 血量低于30%时,自身回复40%生命值,所有异形回复10%生命值
3465
3470
  handleHealingSwarm: /* @__PURE__ */ __name(function(targetBoss, activeBosses) {
3466
- if (!targetBoss.skills.includes("治愈虫群")) return null;
3471
+ if (!targetBoss.skills.includes("治愈虫群")) {
3472
+ return null;
3473
+ }
3467
3474
  const maxHP = getMaxHPByName(targetBoss.name);
3468
- const hpPercent = targetBoss.HP / maxHP;
3469
- let targetUpdates = null;
3470
- if (hpPercent >= 0.3) return null;
3471
- const selfHealAmount = Math.round(maxHP * 0.4);
3472
- const messages = [`💫 【治愈虫群】触发:生命值≤30%,自身回复${selfHealAmount}点生命值`];
3475
+ const currentHP = targetBoss.HP;
3476
+ const hpPercent = currentHP / maxHP;
3477
+ if (hpPercent > 0.3) {
3478
+ return null;
3479
+ }
3480
+ const messages = [];
3473
3481
  const otherUpdates = [];
3474
- const survivors = activeBosses.filter((boss) => boss.name !== targetBoss.name && boss.isActive);
3475
- survivors.forEach((boss) => {
3476
- const healAmount = Math.round(getMaxHPByName(boss.name) * 0.1);
3482
+ const selfHealAmount = Math.round(maxHP * 0.4);
3483
+ messages.push(`💫 【治愈虫群】触发:生命值≤30%,自身回复${selfHealAmount}点生命值`);
3484
+ messages.push(`💫 【治愈虫群】技能移除`);
3485
+ const targetUpdates = {
3486
+ name: targetBoss.name,
3487
+ updates: {
3488
+ hpChange: selfHealAmount,
3489
+ skillsRemoved: ["治愈虫群"]
3490
+ // 移除技能
3491
+ }
3492
+ };
3493
+ const otherSurvivingBosses = activeBosses.filter(
3494
+ (boss) => boss.isActive && boss.name !== targetBoss.name
3495
+ );
3496
+ otherSurvivingBosses.forEach((otherBoss) => {
3497
+ const otherMaxHP = getMaxHPByName(otherBoss.name);
3498
+ const healAmount = Math.round(otherMaxHP * 0.1);
3477
3499
  if (healAmount > 0) {
3478
3500
  otherUpdates.push({
3479
- name: boss.name,
3501
+ name: otherBoss.name,
3480
3502
  updates: { hpChange: healAmount }
3481
3503
  });
3482
- messages.push(`💫 「${boss.name}」回复${healAmount}点生命值`);
3504
+ messages.push(`💫 「${otherBoss.name}」回复${healAmount}点生命值`);
3483
3505
  }
3484
3506
  });
3485
3507
  return {
3486
3508
  messages,
3487
- targetUpdates: {
3488
- name: targetBoss.name,
3489
- updates: { hpChange: selfHealAmount }
3490
- },
3509
+ targetUpdates,
3491
3510
  otherUpdates
3492
3511
  };
3493
3512
  }, "handleHealingSwarm"),
3494
3513
  // 释放信息素 - 所有存活巢穴子代减伤20%
3495
3514
  handleReleasePheromones: /* @__PURE__ */ __name(function(targetBoss) {
3496
- if (!targetBoss.name.includes("巢穴雷兽") && !targetBoss.name.includes("巢穴战士") && !targetBoss.name.includes("巢穴甲虫")) return null;
3497
- const messages = [`🌬️ 【释放信息素】生效:所有巢穴子代受到的伤害-20%`];
3515
+ if (!targetBoss.name.includes("巢穴雷兽") && !targetBoss.name.includes("巢穴战士") && !targetBoss.name.includes("巢穴甲虫") && !targetBoss.name.includes("孵化场")) return null;
3516
+ const messages = [`🌬️ 【释放信息素】生效:受到的伤害-20%`];
3498
3517
  const nerfMultiplier = 0.2;
3499
3518
  return { messages, nerfMultiplier };
3500
3519
  }, "handleReleasePheromones"),
@@ -3585,6 +3604,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
3585
3604
  let layerReduced = false;
3586
3605
  let bileDetonationTrigger = false;
3587
3606
  let spawnNewBossMarks = [];
3607
+ let armor = 0;
3588
3608
  const weaponData = weaponConfig[weaponName] || { type: "" };
3589
3609
  let doubleAstralWind = false;
3590
3610
  let isolatedImmunityMark = false;
@@ -3862,7 +3882,11 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
3862
3882
  if (careerData?.career === "猩红杀手" && weaponName === "侦察步枪") {
3863
3883
  armorDamageReduction = 1;
3864
3884
  }
3865
- const armorReduction = armorDamageReduction * getArmorByName(targetBoss.name);
3885
+ armor = getArmorByName(targetBoss.name);
3886
+ if (targetBoss.name === "测试假人") {
3887
+ armor = targetBoss.armor;
3888
+ }
3889
+ const armorReduction = armorDamageReduction * armor;
3866
3890
  finalDamage = Math.max(Math.round(finalDamage - armorReduction), 1);
3867
3891
  const frostEvolutionResult = BattleEffectProcessor.handleFrostEvolution(
3868
3892
  targetBoss,
@@ -4179,7 +4203,7 @@ var passiveConfig = {
4179
4203
  },
4180
4204
  "虫巢思维": {
4181
4205
  type: "",
4182
- description: "每有一只巢穴子代,则受到的伤害降低20%"
4206
+ description: "每有一只巢穴子代,则受到的伤害降低20%;巢穴子代受到的伤害提高20%"
4183
4207
  },
4184
4208
  "爆虫伏击": {
4185
4209
  type: "",
@@ -4187,15 +4211,15 @@ var passiveConfig = {
4187
4211
  },
4188
4212
  "虚弱喷吐": {
4189
4213
  type: "",
4190
- description: "当孵化场存活时,自身受到的伤害降低80%;如果孵化场已死亡,则自身受到的伤害提高20%"
4214
+ description: "当孵化场存活时,受到的伤害降低80%;孵化场死亡时,受到的伤害提高20%"
4191
4215
  },
4192
4216
  "治愈虫群": {
4193
4217
  type: "",
4194
- description: "血量低于30%时,立即回复自身40%点生命值,同时回复所有存活异形10%点生命值"
4218
+ description: "血量低于30%时,立即回复自身40%点生命值,同时回复所有存活异形10%点生命值(生效后移除)"
4195
4219
  },
4196
4220
  "释放信息素": {
4197
4221
  type: "",
4198
- description: "所有存活的巢穴子代受到的伤害降低20%"
4222
+ description: "所有存活的其他异形受到的伤害降低20%"
4199
4223
  },
4200
4224
  "恐吓尖啸": {
4201
4225
  type: "",
@@ -8506,7 +8530,7 @@ ${testResult.ignoreMessage.map((m) => `▸ ${m}`).join("\n")}`
8506
8530
  ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8507
8531
  ] : [],
8508
8532
  `📊 理论伤害值:${testResult.initialDamage}${testResult.hasCrit ? "(✨ 暴击)" : ""}`,
8509
- "💡 参数添加:可添加标签(-t)、被动(-p)、血量(-l)、能量(-e)",
8533
+ "💡 参数添加:可添加标签(-t)、被动(-p)、血量(-l)、能量(-e)、护甲(-d)",
8510
8534
  "💡 层数选项:技能层数(-s)、辐射层数(-r)、寒冷层数(-c)、状态层数(-a)"
8511
8535
  ].filter((line) => line).join("\n");
8512
8536
  } finally {
@@ -8647,10 +8671,10 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8647
8671
  minionInfo.push(`☠️ 剧毒突袭:${minion.statusLayers}层`);
8648
8672
  }
8649
8673
  if (minion.skills.includes("恐吓尖啸")) {
8650
- minionInfo.push(`😱 恐吓尖啸:${mainBoss.statusLayers}层`);
8674
+ minionInfo.push(`😱 恐吓尖啸:${minion.statusLayers}层`);
8651
8675
  }
8652
8676
  if (minion.skills.includes("孵化")) {
8653
- minionInfo.push(`🥚 孵化:${mainBoss.statusLayers}层`);
8677
+ minionInfo.push(`🥚 孵化:${minion.statusLayers}层`);
8654
8678
  }
8655
8679
  if (minion.skills.includes("酸蚀池")) {
8656
8680
  let acidText;
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.72",
4
+ "version": "1.4.74",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [