koishi-plugin-ggcevo-game 1.5.10 → 1.5.12

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.
@@ -403,7 +403,7 @@ export declare const BattleEffectProcessor: {
403
403
  armorReduction: number;
404
404
  layerAdded: boolean;
405
405
  } | null;
406
- handleColdEffect: (targetBoss: any, weaponName: string) => {
406
+ handleColdEffect: (targetBoss: any, weaponName: string, equippedWeapon: any) => {
407
407
  messages: string[];
408
408
  targetUpdates: {
409
409
  name: string;
@@ -660,4 +660,6 @@ export declare function applyPassiveEffects(targetBoss: any, activeBosses: any[]
660
660
  burnLayerAdded: boolean;
661
661
  drainFactor: number;
662
662
  reductionAmount: number;
663
+ isLethal: boolean;
664
+ revivalTriggered: boolean;
663
665
  };
package/lib/index.js CHANGED
@@ -534,6 +534,12 @@ var modConfig = {
534
534
  effect: "攻击消耗目标双倍能量值",
535
535
  exclusiveTo: "弧焊枪",
536
536
  isExclusive: true
537
+ },
538
+ "氮气压缩核心": {
539
+ cost: 2e3,
540
+ effect: "双倍叠加[寒冷]层数",
541
+ exclusiveTo: "零度之下",
542
+ isExclusive: true
537
543
  }
538
544
  };
539
545
 
@@ -1226,7 +1232,7 @@ var bossPool = [
1226
1232
  main: {
1227
1233
  name: "异齿猛兽首领",
1228
1234
  type: "主宰",
1229
- maxHP: 25e3,
1235
+ maxHP: 2e4,
1230
1236
  maxShield: 0,
1231
1237
  maxEnergy: 0,
1232
1238
  armor: 25,
@@ -1239,7 +1245,7 @@ var bossPool = [
1239
1245
  {
1240
1246
  name: "异齿猛兽",
1241
1247
  type: "子代",
1242
- maxHP: 7500,
1248
+ maxHP: 1e4,
1243
1249
  maxShield: 0,
1244
1250
  maxEnergy: 0,
1245
1251
  armor: 20,
@@ -1255,7 +1261,7 @@ var bossPool = [
1255
1261
  main: {
1256
1262
  name: "寒冰王蛇",
1257
1263
  type: "主宰",
1258
- maxHP: 15e3,
1264
+ maxHP: 2e4,
1259
1265
  maxShield: 0,
1260
1266
  maxEnergy: 0,
1261
1267
  armor: 6,
@@ -1786,7 +1792,7 @@ var BattleEffectProcessor = {
1786
1792
  }, "handleAlienShell"),
1787
1793
  // 孤立无援处理(活跃Boss中仅自己时增伤20%)
1788
1794
  handleIsolated: /* @__PURE__ */ __name(function(targetBoss, activeBosses, tempMark) {
1789
- if (tempMark || targetBoss.name === "测试假人") {
1795
+ if (tempMark || targetBoss?.testTag) {
1790
1796
  return null;
1791
1797
  }
1792
1798
  const isIsolated = activeBosses.length === 1 && // 活跃Boss仅1个
@@ -3161,7 +3167,7 @@ var BattleEffectProcessor = {
3161
3167
  };
3162
3168
  }, "handleRadiationEffect"),
3163
3169
  // 统一的寒冷效果处理函数
3164
- handleColdEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName) {
3170
+ handleColdEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName, equippedWeapon) {
3165
3171
  const messages = [];
3166
3172
  let layerAdded = false;
3167
3173
  const currentLayers = targetBoss.coldLayers || 0;
@@ -3173,16 +3179,18 @@ var BattleEffectProcessor = {
3173
3179
  }
3174
3180
  }
3175
3181
  let targetUpdates = null;
3182
+ let layerIncrement = 0;
3176
3183
  if (weaponName === "零度之下") {
3184
+ const hasNitrogenCore = equippedWeapon.installedMods?.includes("氮气压缩核心");
3185
+ layerIncrement = hasNitrogenCore ? 2 : 1;
3177
3186
  targetUpdates = {
3178
3187
  name: targetBoss.name,
3179
3188
  updates: {
3180
- coldLayersChange: 1
3181
- // 寒冷层数增加1
3189
+ coldLayersChange: layerIncrement
3190
+ // 使用计算后的增量
3182
3191
  }
3183
3192
  };
3184
- const newLayers = currentLayers + 1;
3185
- messages.push(`❄️【零度之下】武器效果: 获得1层「寒冷」`);
3193
+ messages.push(`❄️【零度之下】武器效果:获得${layerIncrement}层「寒冷」`);
3186
3194
  layerAdded = true;
3187
3195
  }
3188
3196
  return {
@@ -3190,7 +3198,6 @@ var BattleEffectProcessor = {
3190
3198
  targetUpdates,
3191
3199
  buffMultiplier,
3192
3200
  layerAdded
3193
- // 返回层数增加标记
3194
3201
  };
3195
3202
  }, "handleColdEffect"),
3196
3203
  // 统一的武器能量消耗处理函数(已添加模组检测)
@@ -4324,7 +4331,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4324
4331
  }
4325
4332
  radiationLayerAdded = radiationResult.layerAdded;
4326
4333
  }
4327
- const coldResult = BattleEffectProcessor.handleColdEffect(targetBoss, weaponName);
4334
+ const coldResult = BattleEffectProcessor.handleColdEffect(targetBoss, weaponName, equippedWeapon);
4328
4335
  if (coldResult) {
4329
4336
  messages.push(...coldResult.messages);
4330
4337
  if (coldResult.buffMultiplier) {
@@ -4471,7 +4478,9 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4471
4478
  burnLayerAdded,
4472
4479
  // 新增燃烧叠加标记
4473
4480
  drainFactor,
4474
- reductionAmount
4481
+ reductionAmount,
4482
+ isLethal,
4483
+ revivalTriggered
4475
4484
  };
4476
4485
  }
4477
4486
  __name(applyPassiveEffects, "applyPassiveEffects");
@@ -4977,6 +4986,20 @@ var ggcevoUpdates = [
4977
4986
  content: `
4978
4987
  - 新增攻击假人指令可自定义假人名称
4979
4988
  `.trim()
4989
+ },
4990
+ {
4991
+ version: "1.5.11",
4992
+ time: "2025-07-02",
4993
+ content: `
4994
+ - 新增专属改装:氮气压缩核心
4995
+ `.trim()
4996
+ },
4997
+ {
4998
+ version: "1.5.12",
4999
+ time: "2025-07-02",
5000
+ content: `
5001
+ - 现在所有异形受到致命伤害后,若无复活技能,则会直接死亡
5002
+ `.trim()
4980
5003
  }
4981
5004
  ];
4982
5005
  function compareVersions(a, b) {
@@ -6108,6 +6131,7 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
6108
6131
  }
6109
6132
  __name(handleBossDefeatRewards, "handleBossDefeatRewards");
6110
6133
  async function handlePrimaryAttack(ctx, session, handle, config, equippedWeapon, targetBoss, activeBosses, weaponName, careerData) {
6134
+ let currentHP = 0;
6111
6135
  const damageResult = await calculateTotalDamage(ctx, session, config, equippedWeapon, targetBoss, careerData);
6112
6136
  const ignoreReduction = await handleIgnoreReductionEffects(ctx, handle, weaponName, targetBoss);
6113
6137
  const EffectProcessor = applyPassiveEffects(targetBoss, activeBosses, weaponName, damageResult.damage, damageResult.hasCrit, ignoreReduction.ignoreRate, careerData, equippedWeapon);
@@ -6119,8 +6143,10 @@ async function handlePrimaryAttack(ctx, session, handle, config, equippedWeapon,
6119
6143
  }
6120
6144
  }
6121
6145
  const [currentboss] = await ctx.database.get("ggcevo_boss", { name: targetBoss.name });
6122
- const currentHP = currentboss.HP;
6123
- const isDefeated = currentHP <= 0;
6146
+ const isDefeated = EffectProcessor.isLethal && !EffectProcessor.revivalTriggered;
6147
+ if (!isDefeated) {
6148
+ currentHP = currentboss.HP;
6149
+ }
6124
6150
  return {
6125
6151
  initialDamage,
6126
6152
  currentHP,
@@ -6184,7 +6210,9 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
6184
6210
  taskUpdates.push({ taskId: 1, count });
6185
6211
  }
6186
6212
  if (EffectProcessor.coldLayerAdded) {
6187
- taskUpdates.push({ taskId: 2, count: 1 });
6213
+ const hasNitrogenCore = equippedWeapon.installedMods?.includes("氮气压缩核心");
6214
+ const count = hasNitrogenCore ? 2 : 1;
6215
+ taskUpdates.push({ taskId: 2, count });
6188
6216
  }
6189
6217
  if (EffectProcessor.bileDetonationTrigger) {
6190
6218
  taskUpdates.push({ taskId: 3, count: 1 });
@@ -9360,7 +9388,9 @@ ${validTypes.join("、")}`;
9360
9388
  taskUpdates.push({ taskId: 1, count });
9361
9389
  }
9362
9390
  if (primaryAttackResult.freezing) {
9363
- taskUpdates.push({ taskId: 2, count: 1 });
9391
+ const hasNitrogenCore = equippedWeapon.installedMods?.includes("氮气压缩核心");
9392
+ const count = hasNitrogenCore ? 2 : 1;
9393
+ taskUpdates.push({ taskId: 2, count });
9364
9394
  }
9365
9395
  if (primaryAttackResult.bileStacks) {
9366
9396
  taskUpdates.push({ taskId: 3, count: 1 });
@@ -9486,7 +9516,8 @@ ${validTypes.join("、")}`;
9486
9516
  energy,
9487
9517
  armor,
9488
9518
  isActive: true,
9489
- lastWeaponName: ""
9519
+ lastWeaponName: "",
9520
+ testTag: true
9490
9521
  };
9491
9522
  const activeBosses = [dummyBoss];
9492
9523
  const weaponConfigEntry = Object.entries(weaponConfig).find(([_, c]) => c.id === equippedWeapon.weaponId);
package/lib/weapons.d.ts CHANGED
@@ -496,4 +496,10 @@ export declare const modConfig: {
496
496
  exclusiveTo: string;
497
497
  isExclusive: boolean;
498
498
  };
499
+ 氮气压缩核心: {
500
+ cost: number;
501
+ effect: string;
502
+ exclusiveTo: string;
503
+ isExclusive: boolean;
504
+ };
499
505
  };
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.5.10",
4
+ "version": "1.5.12",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [