koishi-plugin-ggcevo-game 1.4.63 → 1.4.64

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.
Files changed (2) hide show
  1. package/lib/index.js +36 -13
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -467,7 +467,7 @@ var modConfig = {
467
467
  },
468
468
  "破甲模块": {
469
469
  cost: 1250,
470
- effect: "攻击无视目标15%的减伤效果",
470
+ effect: "攻击无视目标10%的减伤效果",
471
471
  exclusiveTo: "",
472
472
  isExclusive: false
473
473
  },
@@ -500,7 +500,7 @@ var modConfig = {
500
500
  },
501
501
  "金刚石瞄准镜": {
502
502
  cost: 2250,
503
- effect: "无视目标50%的减伤效果",
503
+ effect: "无视目标20%的减伤效果",
504
504
  exclusiveTo: "侦察步枪",
505
505
  isExclusive: true
506
506
  },
@@ -5110,6 +5110,11 @@ async function handleDeathTargets(ctx, deadTargets, killerName, killerHandle) {
5110
5110
  "🏆 伤害排行榜奖励:",
5111
5111
  ...rewardMessages
5112
5112
  );
5113
+ } else {
5114
+ await ctx.database.set("ggcevo_boss", { groupId: deadBoss.groupId }, {
5115
+ isActive: false,
5116
+ HP: 0
5117
+ });
5113
5118
  }
5114
5119
  }
5115
5120
  return {
@@ -5354,16 +5359,16 @@ async function handleIgnoreReductionEffects(ctx, handle, weaponName, targetBoss)
5354
5359
  });
5355
5360
  if (!equippedWeapon?.installedMods) return;
5356
5361
  if (equippedWeapon.installedMods.includes("破甲模块")) {
5357
- ignoreEffects.push(0.15);
5358
- messages.push(`⚡ 【破甲模块】生效:无视15%减伤效果`);
5362
+ ignoreEffects.push(0.1);
5363
+ messages.push(`⚡ 【破甲模块】生效:无视10%减伤效果`);
5359
5364
  }
5360
5365
  if (weaponName === "高斯步枪" && equippedWeapon.installedMods.includes("裂甲核心")) {
5361
5366
  ignoreEffects.push(0.4);
5362
5367
  messages.push(`💥 【裂甲核心】生效:无视40%减伤效果`);
5363
5368
  }
5364
5369
  if (weaponName === "侦察步枪" && equippedWeapon.installedMods.includes("金刚石瞄准镜")) {
5365
- ignoreEffects.push(0.4);
5366
- messages.push(`💥 【金刚石瞄准镜】生效:无视50%减伤效果`);
5370
+ ignoreEffects.push(0.2);
5371
+ messages.push(`💥 【金刚石瞄准镜】生效:无视20%减伤效果`);
5367
5372
  }
5368
5373
  }, "handlePiercingMod");
5369
5374
  handleWeaponEffect();
@@ -5379,10 +5384,6 @@ async function handleIgnoreReductionEffects(ctx, handle, weaponName, targetBoss)
5379
5384
  ignoreEffects.push(0.1);
5380
5385
  messages.push(`🛰️ 【雷达面罩】生效:无视10%减伤效果`);
5381
5386
  }
5382
- if (careerData.career === "猩红杀手" && weaponName === "侦察步枪") {
5383
- ignoreEffects.push(0.2);
5384
- messages.push(`🎯 猩红杀手职业:无视20%减伤效果`);
5385
- }
5386
5387
  }, "handleCareerEffects");
5387
5388
  await handleCareerEffects();
5388
5389
  if (ignoreEffects.length === 0) return { ignoreRate: 0, messages: [] };
@@ -7453,7 +7454,6 @@ ${Object.keys(categoryStats).join("、")}`;
7453
7454
  if (config2.tagEffects && Object.keys(config2.tagEffects).length > 0) {
7454
7455
  tagEffectsDesc = Object.entries(config2.tagEffects).map(([tag, multiplier]) => `▸ 对${tag}目标造成${(multiplier * 100).toFixed(0)}%伤害`).join("\n");
7455
7456
  }
7456
- const specialEffect = config2.specialeffect ? `特殊效果:${config2.specialeffect}` : "";
7457
7457
  const armorDamageDesc = (() => {
7458
7458
  if (config2.armorDamageReduction === 0) {
7459
7459
  return `护甲减伤:0`;
@@ -7868,6 +7868,19 @@ ${validTypes.join("、")}`;
7868
7868
  const universalDiscountRate = calculateDiscountRate(false);
7869
7869
  const exclusiveDiscountRate = calculateDiscountRate(true);
7870
7870
  if (weapon && weaponConfig[weapon]?.id) {
7871
+ const weaponExclusiveMods = Object.entries(modConfig).filter(
7872
+ ([_, cfg]) => cfg.isExclusive && cfg.exclusiveTo === weapon
7873
+ );
7874
+ const exclusiveList = weaponExclusiveMods.length > 0 ? weaponExclusiveMods.map(([name2, cfg]) => {
7875
+ const discountRate = calculateDiscountRate(true);
7876
+ const actualPrice = Math.floor(cfg.cost * (1 - discountRate / 100));
7877
+ return [
7878
+ `【${name2}】`,
7879
+ `价格:${actualPrice}金币${discountRate > 0 ? ` (原价${cfg.cost})` : ""}`,
7880
+ `效果:${cfg.effect}`,
7881
+ "------------------"
7882
+ ].join("\n");
7883
+ }).join("\n") : "❌ 该武器没有可用的专属模块";
7871
7884
  return [
7872
7885
  `🛠️ ${weapon} 专属模块 🛠️`,
7873
7886
  "使用「改装 武器名称 模块名称」安装",
@@ -7875,7 +7888,7 @@ ${validTypes.join("、")}`;
7875
7888
  exclusiveDiscountRate > 0 && `💰 当前专属模块折扣:
7876
7889
  ▸ ⚙️ 武器升级平台Lv.${techLevel}:${exclusiveDiscountRate}%折扣`,
7877
7890
  "====================",
7878
- buildModList(true)
7891
+ exclusiveList
7879
7892
  ].filter(Boolean).join("\n");
7880
7893
  } else {
7881
7894
  return [
@@ -8843,10 +8856,20 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8843
8856
  discountPrice = Math.floor(config2.redCrystalCost * 0.5);
8844
8857
  discountProfession = currentCareer;
8845
8858
  }
8859
+ const armorDamageDesc = (() => {
8860
+ if (config2.armorDamageReduction === 0) {
8861
+ return `护甲减伤:0`;
8862
+ } else if (config2.armorDamageReduction > 0) {
8863
+ return `护甲减伤:${config2.armorDamageReduction}(每点护甲扣除${config2.armorDamageReduction}点伤害)`;
8864
+ } else {
8865
+ return `护甲减伤:${config2.armorDamageReduction}(每点护甲增加${Math.abs(config2.armorDamageReduction)}点伤害)`;
8866
+ }
8867
+ })();
8846
8868
  const infoBlocks = [
8847
8869
  `【${name2}】`,
8848
8870
  `武器类型:${config2.type}`,
8849
- `基础伤害:${config2.damage}`
8871
+ `基础伤害:${config2.damage}`,
8872
+ armorDamageDesc
8850
8873
  ];
8851
8874
  if (discountPrice) {
8852
8875
  infoBlocks.push(
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.63",
4
+ "version": "1.4.64",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [