koishi-plugin-ggcevo-game 1.5.12 → 1.5.14

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.
@@ -580,7 +580,7 @@ export declare const BattleEffectProcessor: {
580
580
  fusionExplosionTriggered: boolean;
581
581
  messages: string[];
582
582
  };
583
- handleBurnEffect: (targetBoss: any, weaponName: string) => {
583
+ handleBurnEffect: (targetBoss: any, weaponName: string, equippedWeapon: any) => {
584
584
  messages: string[];
585
585
  targetUpdates: {
586
586
  name: string;
@@ -660,6 +660,4 @@ 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;
665
663
  };
package/lib/index.js CHANGED
@@ -41,7 +41,7 @@ var weaponConfig = {
41
41
  // 每点护甲减伤1点伤害
42
42
  description: "标准配置武器,中距离作战利器",
43
43
  specialeffect: "",
44
- price: 1,
44
+ price: 100,
45
45
  redCrystalCost: 1,
46
46
  isantiair: true,
47
47
  tagEffects: {
@@ -71,7 +71,7 @@ var weaponConfig = {
71
71
  damage: 23,
72
72
  armorDamageReduction: 0.25,
73
73
  description: "基于热能的强大武器,烧烬一切",
74
- specialeffect: "攻击时为目标附加[燃烧]效果,每层使目标受到火焰伤害时额外造成5点伤害(至多额外造成100点伤害)",
74
+ specialeffect: "攻击时为目标附加1层[燃烧]效果,每层使目标受到火焰伤害时额外造成2点伤害(至多额外造成100点伤害)",
75
75
  price: 450,
76
76
  redCrystalCost: 4,
77
77
  isantiair: false,
@@ -366,7 +366,7 @@ var weaponConfig = {
366
366
  damage: 90,
367
367
  armorDamageReduction: 0,
368
368
  description: "这是传说中的武器",
369
- specialeffect: "攻击时为目标附加[燃烧]效果,每层使目标受到火焰伤害时额外造成5点伤害(至多额外造成100点伤害)",
369
+ specialeffect: "攻击时为目标附加2层[燃烧]效果,每层使目标受到火焰伤害时额外造成2点伤害(至多额外造成100点伤害)",
370
370
  price: 6400,
371
371
  redCrystalCost: 200,
372
372
  isantiair: false,
@@ -489,7 +489,7 @@ var modConfig = {
489
489
  },
490
490
  "助燃核心": {
491
491
  cost: 2550,
492
- effect: "对[惧热]目标改为造成300%伤害,对[生物]目标改为造成200%伤害",
492
+ effect: "对[惧热]目标改为造成300%伤害,对[生物]目标改为造成200%伤害;攻击时每1点护甲改为增加0.5点伤害;双倍叠加[燃烧]层数",
493
493
  exclusiveTo: "焚烧枪",
494
494
  isExclusive: true
495
495
  },
@@ -537,9 +537,15 @@ var modConfig = {
537
537
  },
538
538
  "氮气压缩核心": {
539
539
  cost: 2e3,
540
- effect: "双倍叠加[寒冷]层数",
540
+ effect: "双倍叠加[寒冷]层数;攻击时每1点护甲改为减少0点伤害",
541
541
  exclusiveTo: "零度之下",
542
542
  isExclusive: true
543
+ },
544
+ "轻型电源节点": {
545
+ cost: 1250,
546
+ effect: "伤害提高40%;攻击时每1点护甲改为减少0点伤害",
547
+ exclusiveTo: "等离子切割机",
548
+ isExclusive: true
543
549
  }
544
550
  };
545
551
 
@@ -1232,7 +1238,7 @@ var bossPool = [
1232
1238
  main: {
1233
1239
  name: "异齿猛兽首领",
1234
1240
  type: "主宰",
1235
- maxHP: 2e4,
1241
+ maxHP: 25e3,
1236
1242
  maxShield: 0,
1237
1243
  maxEnergy: 0,
1238
1244
  armor: 25,
@@ -1245,7 +1251,7 @@ var bossPool = [
1245
1251
  {
1246
1252
  name: "异齿猛兽",
1247
1253
  type: "子代",
1248
- maxHP: 1e4,
1254
+ maxHP: 7500,
1249
1255
  maxShield: 0,
1250
1256
  maxEnergy: 0,
1251
1257
  armor: 20,
@@ -1261,7 +1267,7 @@ var bossPool = [
1261
1267
  main: {
1262
1268
  name: "寒冰王蛇",
1263
1269
  type: "主宰",
1264
- maxHP: 2e4,
1270
+ maxHP: 25e3,
1265
1271
  maxShield: 0,
1266
1272
  maxEnergy: 0,
1267
1273
  armor: 6,
@@ -1274,7 +1280,7 @@ var bossPool = [
1274
1280
  {
1275
1281
  name: "冰蛇",
1276
1282
  type: "子代",
1277
- maxHP: 5e3,
1283
+ maxHP: 7500,
1278
1284
  maxShield: 0,
1279
1285
  maxEnergy: 0,
1280
1286
  armor: 4,
@@ -3755,22 +3761,32 @@ var BattleEffectProcessor = {
3755
3761
  return null;
3756
3762
  }, "handleFusionCannonEffect"),
3757
3763
  // 在 BattleEffectProcessor 对象中添加以下函数
3758
- handleBurnEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName) {
3764
+ handleBurnEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName, equippedWeapon) {
3759
3765
  const messages = [];
3760
3766
  let burnLayerAdded = false;
3761
3767
  const isBurnWeapon = weaponName === "焚烧枪" || weaponName === "龙息霰弹枪";
3762
3768
  if (!isBurnWeapon) {
3763
3769
  return null;
3764
3770
  }
3771
+ let burnLayers = 1;
3772
+ if (weaponName === "龙息霰弹枪") {
3773
+ burnLayers = 2;
3774
+ }
3775
+ if (equippedWeapon && equippedWeapon.installedMods?.includes("助燃核心")) {
3776
+ burnLayers = 2;
3777
+ }
3765
3778
  const targetUpdates = {
3766
3779
  name: targetBoss.name,
3767
3780
  updates: {
3768
- burnLayersChanged: 1
3769
- // 燃烧层数+1
3781
+ burnLayersChanged: burnLayers
3782
+ // 动态燃烧层数
3770
3783
  }
3771
3784
  };
3772
3785
  burnLayerAdded = true;
3773
- messages.push(`🔥 【${weaponName}】武器效果:目标获得1层「燃烧」`);
3786
+ let effectMessage = `🔥 【${weaponName}】武器效果:目标获得${burnLayers}层「燃烧」`;
3787
+ if (burnLayers > 1) {
3788
+ }
3789
+ messages.push(effectMessage);
3774
3790
  return {
3775
3791
  messages,
3776
3792
  targetUpdates,
@@ -4145,7 +4161,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4145
4161
  if (fusionEffect) {
4146
4162
  messages.push(...fusionEffect.messages);
4147
4163
  }
4148
- const burnEffectResult = BattleEffectProcessor.handleBurnEffect(targetBoss, weaponName);
4164
+ const burnEffectResult = BattleEffectProcessor.handleBurnEffect(targetBoss, weaponName, equippedWeapon);
4149
4165
  if (burnEffectResult) {
4150
4166
  messages.push(...burnEffectResult.messages);
4151
4167
  if (burnEffectResult.targetUpdates) {
@@ -4266,26 +4282,6 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4266
4282
  totalBuffMultiplier += acidPoolResult.buffMultiplier;
4267
4283
  }
4268
4284
  }
4269
- const healingEffects = [
4270
- { effect: BattleEffectProcessor.handleFrostRegeneration, args: [targetBoss, activeBosses, maxStatsForTarget] },
4271
- { effect: BattleEffectProcessor.handleFrostAura, args: [targetBoss, activeBosses] },
4272
- { effect: BattleEffectProcessor.handleSentryGun, args: [targetBoss, activeBosses] },
4273
- { effect: BattleEffectProcessor.handleMoldGrowth, args: [targetBoss, activeBosses] },
4274
- { effect: BattleEffectProcessor.handleElectricShockwave, args: [targetBoss] },
4275
- { effect: BattleEffectProcessor.handlePulse, args: [targetBoss, activeBosses] },
4276
- { effect: BattleEffectProcessor.handleFeeding, args: [targetBoss] },
4277
- { effect: BattleEffectProcessor.handleBurningBurrow, args: [targetBoss] },
4278
- { effect: BattleEffectProcessor.handleBombardmentGuide, args: [targetBoss] },
4279
- { effect: BattleEffectProcessor.handleOverdriveShield, args: [targetBoss, activeBosses] },
4280
- // 6. 淬毒撕咬
4281
- { effect: BattleEffectProcessor.handlePoisonedBite, args: [targetBoss] },
4282
- { effect: BattleEffectProcessor.handleHealingSwarm, args: [targetBoss, activeBosses] },
4283
- { effect: BattleEffectProcessor.handleBurrowAmbush, args: [targetBoss, activeBosses] },
4284
- { effect: BattleEffectProcessor.handleAcceleratedDifferentiation, args: [targetBoss] }
4285
- ];
4286
- for (const effectItem of healingEffects) {
4287
- processEffect(effectItem.effect, ...effectItem.args);
4288
- }
4289
4285
  const burningSlimeResult = BattleEffectProcessor.handleBurningSlime(targetBoss, weaponName);
4290
4286
  if (burningSlimeResult) {
4291
4287
  messages.push(...burningSlimeResult.messages);
@@ -4371,7 +4367,8 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4371
4367
  finalDamage *= 2;
4372
4368
  }
4373
4369
  if (weaponName === "焚烧枪" || weaponName === "龙息霰弹枪") {
4374
- const burnDamage = (targetBoss?.burnLayers || 0) * 5;
4370
+ const currentBurnLayers = Math.min(targetBoss?.burnLayers || 0, 50);
4371
+ const burnDamage = currentBurnLayers * 2;
4375
4372
  if (burnDamage > 0) {
4376
4373
  messages.push(`🔥 【燃烧】效果造成额外${burnDamage}点伤害`);
4377
4374
  }
@@ -4389,12 +4386,40 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4389
4386
  if (careerData?.career === "猩红杀手" && weaponName === "侦察步枪") {
4390
4387
  armorDamageReduction = 1;
4391
4388
  }
4389
+ if (equippedWeapon.installedMods?.includes("氮气压缩核心")) {
4390
+ armorDamageReduction = 0;
4391
+ }
4392
+ if (equippedWeapon.installedMods?.includes("轻型电源节点")) {
4393
+ armorDamageReduction = 0;
4394
+ }
4392
4395
  armor += targetBoss.armor - targetBoss.radiationLayers * 0.05;
4393
4396
  const armorReduction = armorDamageReduction * armor;
4394
4397
  if (armorReduction !== 0) {
4395
4398
  messages.push(`护甲减伤: ${armorReduction.toFixed(2)}点`);
4396
4399
  }
4397
4400
  finalDamage = Math.max(Math.round(finalDamage - armorReduction), 1);
4401
+ if (finalDamage < targetBoss.HP) {
4402
+ const healingEffects = [
4403
+ { effect: BattleEffectProcessor.handleFrostRegeneration, args: [targetBoss, activeBosses, maxStatsForTarget] },
4404
+ { effect: BattleEffectProcessor.handleFrostAura, args: [targetBoss, activeBosses] },
4405
+ { effect: BattleEffectProcessor.handleSentryGun, args: [targetBoss, activeBosses] },
4406
+ { effect: BattleEffectProcessor.handleMoldGrowth, args: [targetBoss, activeBosses] },
4407
+ { effect: BattleEffectProcessor.handleElectricShockwave, args: [targetBoss] },
4408
+ { effect: BattleEffectProcessor.handlePulse, args: [targetBoss, activeBosses] },
4409
+ { effect: BattleEffectProcessor.handleFeeding, args: [targetBoss] },
4410
+ { effect: BattleEffectProcessor.handleBurningBurrow, args: [targetBoss] },
4411
+ { effect: BattleEffectProcessor.handleBombardmentGuide, args: [targetBoss] },
4412
+ { effect: BattleEffectProcessor.handleOverdriveShield, args: [targetBoss, activeBosses] },
4413
+ // 6. 淬毒撕咬
4414
+ { effect: BattleEffectProcessor.handlePoisonedBite, args: [targetBoss] },
4415
+ { effect: BattleEffectProcessor.handleHealingSwarm, args: [targetBoss, activeBosses] },
4416
+ { effect: BattleEffectProcessor.handleBurrowAmbush, args: [targetBoss, activeBosses] },
4417
+ { effect: BattleEffectProcessor.handleAcceleratedDifferentiation, args: [targetBoss] }
4418
+ ];
4419
+ for (const effectItem of healingEffects) {
4420
+ processEffect(effectItem.effect, ...effectItem.args);
4421
+ }
4422
+ }
4398
4423
  const frostEvolutionResult = BattleEffectProcessor.handleFrostEvolution(
4399
4424
  targetBoss,
4400
4425
  weaponName,
@@ -4478,9 +4503,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4478
4503
  burnLayerAdded,
4479
4504
  // 新增燃烧叠加标记
4480
4505
  drainFactor,
4481
- reductionAmount,
4482
- isLethal,
4483
- revivalTriggered
4506
+ reductionAmount
4484
4507
  };
4485
4508
  }
4486
4509
  __name(applyPassiveEffects, "applyPassiveEffects");
@@ -4995,10 +5018,14 @@ var ggcevoUpdates = [
4995
5018
  `.trim()
4996
5019
  },
4997
5020
  {
4998
- version: "1.5.12",
4999
- time: "2025-07-02",
5021
+ version: "1.5.14",
5022
+ time: "2025-07-03",
5000
5023
  content: `
5001
- - 现在所有异形受到致命伤害后,若无复活技能,则会直接死亡
5024
+ - 增强了专属模块:助燃核心和氮气压缩核心
5025
+ - 新增了专属模块:轻型电源节点
5026
+ - 增强了传奇武器:龙息霰弹枪
5027
+ - 修改了[燃烧]机制
5028
+ - 修改了回血技能逻辑,现在攻击造成致命伤害时不再触发回血技能
5002
5029
  `.trim()
5003
5030
  }
5004
5031
  ];
@@ -5836,6 +5863,10 @@ function calculateModifiers(equippedWeapon, weaponName) {
5836
5863
  totalModAdd += 0.4;
5837
5864
  modMessages.push(`🛠️ 【裂甲核心】:伤害+40%`);
5838
5865
  }
5866
+ if (equippedWeapon.installedMods?.includes("轻型电源节点") && weaponName === modConfig["轻型电源节点"]?.exclusiveTo) {
5867
+ totalModAdd += 0.4;
5868
+ modMessages.push(`🛠️ 【轻型电源节点】:伤害+40%`);
5869
+ }
5839
5870
  if (equippedWeapon.installedMods?.includes("微型聚变核心")) {
5840
5871
  const currentCombo = equippedWeapon?.comboCount || 0;
5841
5872
  const maxStacks = 6;
@@ -6131,7 +6162,6 @@ async function handleBossDefeatRewards(ctx, targetBoss) {
6131
6162
  }
6132
6163
  __name(handleBossDefeatRewards, "handleBossDefeatRewards");
6133
6164
  async function handlePrimaryAttack(ctx, session, handle, config, equippedWeapon, targetBoss, activeBosses, weaponName, careerData) {
6134
- let currentHP = 0;
6135
6165
  const damageResult = await calculateTotalDamage(ctx, session, config, equippedWeapon, targetBoss, careerData);
6136
6166
  const ignoreReduction = await handleIgnoreReductionEffects(ctx, handle, weaponName, targetBoss);
6137
6167
  const EffectProcessor = applyPassiveEffects(targetBoss, activeBosses, weaponName, damageResult.damage, damageResult.hasCrit, ignoreReduction.ignoreRate, careerData, equippedWeapon);
@@ -6143,10 +6173,8 @@ async function handlePrimaryAttack(ctx, session, handle, config, equippedWeapon,
6143
6173
  }
6144
6174
  }
6145
6175
  const [currentboss] = await ctx.database.get("ggcevo_boss", { name: targetBoss.name });
6146
- const isDefeated = EffectProcessor.isLethal && !EffectProcessor.revivalTriggered;
6147
- if (!isDefeated) {
6148
- currentHP = currentboss.HP;
6149
- }
6176
+ const currentHP = currentboss.HP;
6177
+ const isDefeated = currentHP <= 0;
6150
6178
  return {
6151
6179
  initialDamage,
6152
6180
  currentHP,
@@ -6227,7 +6255,14 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
6227
6255
  taskUpdates.push({ taskId: 6, count: 1 });
6228
6256
  }
6229
6257
  if (EffectProcessor.burnLayerAdded) {
6230
- taskUpdates.push({ taskId: 7, count: 1 });
6258
+ let burnLayers = 1;
6259
+ if (weaponName === "龙息霰弹枪") {
6260
+ burnLayers = 2;
6261
+ }
6262
+ if (equippedWeapon.installedMods?.includes("助燃核心")) {
6263
+ burnLayers *= 2;
6264
+ }
6265
+ taskUpdates.push({ taskId: 7, count: burnLayers });
6231
6266
  }
6232
6267
  const isDead = currentHP <= 0;
6233
6268
  scatterEffectMessages.push(...EffectProcessor.messages.map((m) => ` 对 ${secondaryTarget.name} ${m}`));
@@ -8646,7 +8681,7 @@ ${protectionList}
8646
8681
  bonusEffects.push(
8647
8682
  `▸ 💻 计算机专家特权:`,
8648
8683
  ` - 主动PK胜率+10%(最高可至100%)`,
8649
- ` - 每日挑战次数+3(${usedCount}/${dailyPKLimit})`
8684
+ ` - 每日挑战次数+3`
8650
8685
  );
8651
8686
  }
8652
8687
  if (targetCareer.group === "人类联盟" && isWin) {
@@ -9405,7 +9440,14 @@ ${validTypes.join("、")}`;
9405
9440
  taskUpdates.push({ taskId: 6, count: 1 });
9406
9441
  }
9407
9442
  if (primaryAttackResult.burnLayerAdded) {
9408
- taskUpdates.push({ taskId: 7, count: 1 });
9443
+ let burnLayers = 1;
9444
+ if (weaponName === "龙息霰弹枪") {
9445
+ burnLayers = 2;
9446
+ }
9447
+ if (equippedWeapon.installedMods?.includes("助燃核心")) {
9448
+ burnLayers *= 2;
9449
+ }
9450
+ taskUpdates.push({ taskId: 7, count: burnLayers });
9409
9451
  }
9410
9452
  if (scatterResult && scatterResult.taskUpdates) {
9411
9453
  scatterResult.taskUpdates.forEach((update) => {
package/lib/weapons.d.ts CHANGED
@@ -502,4 +502,10 @@ export declare const modConfig: {
502
502
  exclusiveTo: string;
503
503
  isExclusive: boolean;
504
504
  };
505
+ 轻型电源节点: {
506
+ cost: number;
507
+ effect: string;
508
+ exclusiveTo: string;
509
+ isExclusive: boolean;
510
+ };
505
511
  };
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.12",
4
+ "version": "1.5.14",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [