koishi-plugin-ggcevo-game 1.3.44 → 1.3.46

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 +25 -17
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -708,7 +708,7 @@ function apply(ctx, config) {
708
708
  },
709
709
  "脉冲": {
710
710
  effect: 0,
711
- description: "当“能量”≥80%的时候,每次受到攻击有60%的概率回复所有异形100点HP; 每拥有一层“寒冷”则降低5%的概率"
711
+ description: "当“能量”≥10%的时候,每次受到攻击有60%的概率回复所有存活的异形100点血量; 每拥有一层“寒冷”则降低5%的概率"
712
712
  },
713
713
  "能量黑洞": {
714
714
  effect: 0,
@@ -1190,7 +1190,7 @@ function apply(ctx, config) {
1190
1190
  "零度之下": {
1191
1191
  id: 2,
1192
1192
  type: "可重复任务",
1193
- description: "利用【零度之下】武器对异形目标造成严寒伤害",
1193
+ description: "利用【零度之下】武器对异形目标造成寒冷伤害",
1194
1194
  target: 2,
1195
1195
  price: 100,
1196
1196
  redCrystalCost: 0,
@@ -2075,7 +2075,7 @@ function apply(ctx, config) {
2075
2075
  const currentEnergy = targetBoss.energy || 0;
2076
2076
  const currentFreezing = targetBoss.freezing || 0;
2077
2077
  const maxEnergy = 1e3;
2078
- if (currentEnergy < maxEnergy * 0.8) {
2078
+ if (currentEnergy < maxEnergy * 0.1) {
2079
2079
  return null;
2080
2080
  }
2081
2081
  let triggerChance = 60 - currentFreezing * 5;
@@ -2092,7 +2092,7 @@ function apply(ctx, config) {
2092
2092
  const memberConfig = this.getMemberConfig(member.name, bossGroup);
2093
2093
  if (!memberConfig) continue;
2094
2094
  const maxHP = memberConfig.maxHP;
2095
- const healAmount = member.type === "主宰" ? 200 : 100;
2095
+ const healAmount = member.type === "主宰" ? 100 : 100;
2096
2096
  const newHP = Math.min(member.HP + healAmount, maxHP);
2097
2097
  const actualHeal = newHP - member.HP;
2098
2098
  updates.push(
@@ -2134,7 +2134,7 @@ function apply(ctx, config) {
2134
2134
  { name: targetBoss.name },
2135
2135
  { energy: newEnergy }
2136
2136
  );
2137
- messages.push(`⚡ 【电弧焊接】生效:消耗目标${energyDrain}点能量`);
2137
+ messages.push(`⚡ 【弧焊枪】触发特效:消耗目标${energyDrain}点能量`);
2138
2138
  } else {
2139
2139
  return null;
2140
2140
  }
@@ -2150,7 +2150,7 @@ function apply(ctx, config) {
2150
2150
  const effectiveReduction = originalReduction * 0.5;
2151
2151
  const reducedMultiplier = -effectiveReduction;
2152
2152
  messages.push(
2153
- `⚡ 【粒子相位】生效:护盾目标减伤效果减半`,
2153
+ `⚡ 【粒子相位枪】触发特效:护盾目标减伤效果减半`,
2154
2154
  `原减伤:${Math.round(originalReduction * 100)}% → 实际减伤:${Math.round(effectiveReduction * 100)}%`
2155
2155
  );
2156
2156
  return {
@@ -2168,10 +2168,6 @@ function apply(ctx, config) {
2168
2168
  let totalMultiplier = 0;
2169
2169
  let radiationApplied = false;
2170
2170
  let freezing = false;
2171
- const arcResult = await this.handleArcWelderEffect(ctx2, targetBoss, weaponName);
2172
- if (arcResult) {
2173
- messages.push(...arcResult.messages);
2174
- }
2175
2171
  const frostEvoResult = this.handleFrostEvolution(targetBoss, weaponName, initialDamage, maxHP);
2176
2172
  if (frostEvoResult) {
2177
2173
  return {
@@ -2263,7 +2259,14 @@ function apply(ctx, config) {
2263
2259
  finalDamage = Math.max(finalDamage, 1);
2264
2260
  currentHP = targetBoss.HP - finalDamage;
2265
2261
  if (currentHP <= 0 && !targetBoss.skills.includes("求生本能I") && !targetBoss.skills.includes("求生本能II")) {
2266
- return { currentHP, messages: [], skillUpdates: [], initialDamage };
2262
+ return {
2263
+ currentHP,
2264
+ messages,
2265
+ skillUpdates,
2266
+ initialDamage: finalDamage,
2267
+ radiationApplied,
2268
+ freezing
2269
+ };
2267
2270
  }
2268
2271
  const frostSurroundResult = await this.handleFrostSurround(ctx2, targetBoss, currentHP, maxHP);
2269
2272
  if (frostSurroundResult) {
@@ -2313,6 +2316,10 @@ function apply(ctx, config) {
2313
2316
  if (tagChangeResult) {
2314
2317
  messages.push(...tagChangeResult.messages);
2315
2318
  }
2319
+ const arcResult = await this.handleArcWelderEffect(ctx2, targetBoss, weaponName);
2320
+ if (arcResult) {
2321
+ messages.push(...arcResult.messages);
2322
+ }
2316
2323
  const shockwaveResult = await this.handleEnergyShockwave(ctx2, targetBoss);
2317
2324
  if (shockwaveResult) {
2318
2325
  messages.push(...shockwaveResult.messages);
@@ -5112,18 +5119,18 @@ ${validTypes.join("、")}`;
5112
5119
  const existingEntries = await ctx.database.get("ggcevo_blacklist", { handle });
5113
5120
  if (existingEntries.length > 0) return "⛔ 您已被列入黑名单";
5114
5121
  const weaponId = weaponConfig[weapon]?.id;
5115
- if (!weaponId) return "❌ 无效的武器名称";
5122
+ if (!weaponId) return "❌ 请输入“拆卸 武器名称 模块名称”\n注意:专属模块返还50%金币,通用模块返还80%金币";
5116
5123
  const modInfo = modConfig[mod];
5117
- if (!modInfo) return "❌ 无效的模块名称";
5124
+ if (!modInfo) return "❌ 请输入“拆卸 武器名称 模块名称”\n注意:专属模块返还50%金币,通用模块返还80%金币";
5118
5125
  const refundRate = modInfo.isExclusive ? 0.5 : 0.8;
5119
5126
  const refundType = modInfo.isExclusive ? "专属模块返还50%" : "通用模块返还80%";
5120
5127
  const [equipment] = await ctx.database.get("ggcevo_equipment", {
5121
5128
  handle,
5122
5129
  weaponId
5123
5130
  });
5124
- if (!equipment) return "❌ 您尚未获得该武器";
5131
+ if (!equipment) return "❌ 您尚未获得该武器。";
5125
5132
  if (!equipment.installedMods.includes(mod)) {
5126
- return `❌ 该武器未安装${mod}模块`;
5133
+ return `❌ 该武器未安装${mod}模块。`;
5127
5134
  }
5128
5135
  const refund = Math.floor(modInfo.cost * refundRate);
5129
5136
  const newMods = equipment.installedMods.filter((m) => m !== mod);
@@ -5134,9 +5141,10 @@ ${validTypes.join("、")}`;
5134
5141
  );
5135
5142
  const [signInfo] = await ctx.database.get("ggcevo_sign", { handle });
5136
5143
  const newBalance = (signInfo?.totalRewards || 0) + refund;
5137
- await ctx.database.set("ggcevo_sign", { handle }, {
5144
+ await ctx.database.upsert("ggcevo_sign", [{
5145
+ handle,
5138
5146
  totalRewards: newBalance
5139
- });
5147
+ }], ["handle"]);
5140
5148
  return [
5141
5149
  `✅ 已从 ${weapon} 拆卸 ${mod} 模块`,
5142
5150
  `返还金币:${refund} (原价${modInfo.cost},${refundType})`,
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.3.44",
4
+ "version": "1.3.46",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [