koishi-plugin-ggcevo-game 1.4.40 → 1.4.42

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.
@@ -80,14 +80,14 @@ export declare const BattleEffectProcessor: {
80
80
  nerfMultiplier: number;
81
81
  messages: string[];
82
82
  };
83
- handleSurvivalInstinctI: (targetBoss: any) => {
83
+ handleSurvivalInstinctI: (targetBoss: any, damageAmount: number) => {
84
84
  messages: string[];
85
85
  targetUpdates: {
86
86
  name: string;
87
87
  updates: Partial<BattleStatistics>;
88
88
  } | null;
89
89
  } | null;
90
- handleSurvivalInstinctII: (targetBoss: any) => {
90
+ handleSurvivalInstinctII: (targetBoss: any, damageAmount: number) => {
91
91
  messages: string[];
92
92
  targetUpdates: {
93
93
  name: string;
@@ -301,8 +301,7 @@ export declare const BattleEffectProcessor: {
301
301
  updates: Partial<BattleStatistics>;
302
302
  } | null;
303
303
  } | null;
304
- /** 复苏处理(免疫死亡并回复) */
305
- handleRevival: (targetBoss: any) => {
304
+ handleRevival: (targetBoss: any, damageAmount: number) => {
306
305
  messages: string[];
307
306
  targetUpdates: {
308
307
  name: string;
@@ -318,7 +317,7 @@ export declare const BattleEffectProcessor: {
318
317
  } | null;
319
318
  } | null;
320
319
  /** 远古预兆处理(概率免疫能量伤害)- 增加boost参数 */
321
- handleAncientOmen: (targetBoss: any, weaponData: any, boost: number) => {
320
+ handleAncientOmen: (targetBoss: any, weaponData: any, boost?: number) => {
322
321
  isImmune: boolean;
323
322
  messages: string[];
324
323
  targetUpdates: {
package/lib/index.js CHANGED
@@ -1542,15 +1542,18 @@ async function calculateTotalDamage(ctx, session, config, equippedWeapon, target
1542
1542
  const weaponConfigEntry = Object.entries(weaponConfig).find(([_, c]) => c.id === equippedWeapon.weaponId);
1543
1543
  const [weaponName, weaponData] = weaponConfigEntry;
1544
1544
  const baseDamage = weaponData.damage * (1 + 0.1 * equippedWeapon.level);
1545
+ const levelBonusPercent = (0.1 * equippedWeapon.level * 100).toFixed(0);
1546
+ effectMessage.push(`🔫 ${weaponName}Lv.${equippedWeapon.level}:基础伤害+${levelBonusPercent}%`);
1545
1547
  let totalAdditive = 0;
1546
1548
  const tagAdditive = await calculateTagMultiplier(weaponData, finalTags, equippedWeapon);
1547
1549
  totalAdditive += tagAdditive;
1548
- const { totalModAdd, hasCrit } = calculateModifiers(
1550
+ const { totalModAdd, hasCrit, modMessages } = calculateModifiers(
1549
1551
  equippedWeapon,
1550
1552
  weaponName,
1551
1553
  await checkCritRhythm(ctx, handle)
1552
1554
  );
1553
1555
  totalAdditive += totalModAdd;
1556
+ effectMessage.push(...modMessages);
1554
1557
  const careerBonus = await calculateCareerAdditive(ctx, handle, weaponData.type, weaponData.id);
1555
1558
  totalAdditive += careerBonus.value;
1556
1559
  if (careerBonus.message) effectMessage.push(careerBonus.message);
@@ -1566,7 +1569,6 @@ async function calculateTotalDamage(ctx, session, config, equippedWeapon, target
1566
1569
  let finalDamage = baseDamage * (1 + totalAdditive);
1567
1570
  if (finalDamage < 1) {
1568
1571
  finalDamage = 1;
1569
- effectMessage.push("⚠️ 触发伤害保底机制:强制造成1点伤害");
1570
1572
  }
1571
1573
  return {
1572
1574
  damage: Math.round(finalDamage),
@@ -1607,33 +1609,45 @@ __name(calculateTagMultiplier, "calculateTagMultiplier");
1607
1609
  function calculateModifiers(equippedWeapon, weaponName, hasCritRhythm) {
1608
1610
  let totalModAdd = 0;
1609
1611
  let hasCrit = false;
1612
+ const modMessages = [];
1610
1613
  let crystalCrit = 0;
1611
1614
  let overloadCrit = 0;
1612
1615
  let rhythmCrit = 0;
1613
1616
  let weaponCrit = 0;
1614
1617
  if (weaponName === "MK-4激光步枪") {
1615
1618
  weaponCrit = 80;
1619
+ modMessages.push(`🔫 【MK-4激光步枪】武器效果:暴击率+${weaponCrit}%`);
1616
1620
  }
1617
1621
  equippedWeapon.installedMods.forEach((mod) => {
1618
1622
  if (mod === "动能增幅") {
1619
1623
  totalModAdd += 0.2;
1624
+ modMessages.push(`🛠️ 【动能增幅】生效:攻击伤害+20%`);
1620
1625
  }
1621
1626
  if (mod === "裂甲核心" && weaponName === modConfig[mod].exclusiveTo) {
1622
1627
  totalModAdd += 0.4;
1628
+ modMessages.push(`🛠️ 【裂甲核心】生效:攻击伤害+40%`);
1623
1629
  }
1624
1630
  if (mod === "棱镜水晶") {
1625
1631
  crystalCrit = 20;
1632
+ modMessages.push(`🛠️ 【棱镜水晶】生效:暴击率+20%`);
1626
1633
  }
1627
1634
  if (mod === "棱镜超载核心" && weaponName === modConfig[mod].exclusiveTo) {
1628
1635
  overloadCrit = 80;
1636
+ modMessages.push(`🛠️ 【棱镜超载核心】生效:暴击率+80%`);
1629
1637
  }
1630
1638
  });
1631
1639
  rhythmCrit = hasCritRhythm ? 20 : 0;
1640
+ if (hasCritRhythm) {
1641
+ modMessages.push(`🎵 暴击韵律祈愿:暴击率+20%`);
1642
+ }
1632
1643
  const totalCritRate = Math.min(
1633
1644
  crystalCrit + overloadCrit + rhythmCrit + weaponCrit,
1634
1645
  // 包含武器专属暴击
1635
1646
  100
1636
1647
  );
1648
+ if (totalCritRate > 0) {
1649
+ modMessages.push(`🎯 总暴击率:${totalCritRate}%`);
1650
+ }
1637
1651
  if (totalCritRate > 0) {
1638
1652
  const roll = Math.random() * 100;
1639
1653
  if (roll <= totalCritRate) {
@@ -1641,7 +1655,12 @@ function calculateModifiers(equippedWeapon, weaponName, hasCritRhythm) {
1641
1655
  totalModAdd += 1;
1642
1656
  }
1643
1657
  }
1644
- return { totalModAdd, hasCrit };
1658
+ return {
1659
+ totalModAdd,
1660
+ hasCrit,
1661
+ modMessages
1662
+ // 返回模块消息数组
1663
+ };
1645
1664
  }
1646
1665
  __name(calculateModifiers, "calculateModifiers");
1647
1666
  async function calculateCareerAdditive(ctx, handle, weaponType, weaponId) {
@@ -2642,22 +2661,25 @@ var BattleEffectProcessor = {
2642
2661
  }
2643
2662
  return null;
2644
2663
  }, "handleStressShellII"),
2645
- handleSurvivalInstinctI: /* @__PURE__ */ __name(function(targetBoss) {
2664
+ // 求生本能I (修改后)
2665
+ handleSurvivalInstinctI: /* @__PURE__ */ __name(function(targetBoss, damageAmount) {
2646
2666
  const messages = [];
2647
2667
  if (!targetBoss.skills.includes("求生本能I")) {
2648
2668
  return null;
2649
2669
  }
2650
2670
  const targetMaxHP = getMaxHPByName(targetBoss.name);
2651
- const currentHP = targetBoss.HP;
2652
- if (currentHP !== 0) {
2671
+ const isLethal = damageAmount >= targetBoss.HP;
2672
+ if (!isLethal) {
2653
2673
  return null;
2654
2674
  }
2655
2675
  const selfHealAmount = Math.round(targetMaxHP * 0.3);
2656
2676
  const updates = {
2657
2677
  hpChange: selfHealAmount,
2678
+ // 回复生命值
2658
2679
  skillsRemoved: ["求生本能I"]
2680
+ // 移除技能
2659
2681
  };
2660
- messages.push(`❤️ 【求生本能I】触发:濒死时,回复${selfHealAmount}点生命值`);
2682
+ messages.push(`❤️ 【求生本能I】触发:承受致命伤害时,回复${selfHealAmount}点生命值`);
2661
2683
  messages.push(`❤️ 【求生本能I】技能移除`);
2662
2684
  return {
2663
2685
  messages,
@@ -2667,14 +2689,15 @@ var BattleEffectProcessor = {
2667
2689
  }
2668
2690
  };
2669
2691
  }, "handleSurvivalInstinctI"),
2670
- handleSurvivalInstinctII: /* @__PURE__ */ __name(function(targetBoss) {
2692
+ // 求生本能II (修改后)
2693
+ handleSurvivalInstinctII: /* @__PURE__ */ __name(function(targetBoss, damageAmount) {
2671
2694
  const messages = [];
2672
2695
  if (!targetBoss.skills.includes("求生本能II")) {
2673
2696
  return null;
2674
2697
  }
2675
2698
  const targetMaxHP = getMaxHPByName(targetBoss.name);
2676
- const currentHP = targetBoss.HP;
2677
- if (currentHP !== 0) {
2699
+ const isLethal = damageAmount >= targetBoss.HP;
2700
+ if (!isLethal) {
2678
2701
  return null;
2679
2702
  }
2680
2703
  const selfHealAmount = Math.round(targetMaxHP * 0.5);
@@ -2684,7 +2707,7 @@ var BattleEffectProcessor = {
2684
2707
  skillsRemoved: ["求生本能II"]
2685
2708
  // 移除的技能
2686
2709
  };
2687
- messages.push(`❤️ 【求生本能II】触发:濒死时,回复${selfHealAmount}点生命值`);
2710
+ messages.push(`❤️ 【求生本能II】触发:承受致命伤害时,回复${selfHealAmount}点生命值`);
2688
2711
  messages.push(`❤️ 【求生本能II】技能移除`);
2689
2712
  return {
2690
2713
  messages,
@@ -3506,6 +3529,7 @@ var BattleEffectProcessor = {
3506
3529
  }
3507
3530
  return { nerfMultiplier, doubleAstralWind, messages };
3508
3531
  }, "handleMindFrenzy"),
3532
+ //宇宙能量
3509
3533
  handleCosmicEnergy: /* @__PURE__ */ __name(function(targetBoss, damage) {
3510
3534
  if (!targetBoss.skills.includes("宇宙能量")) {
3511
3535
  return null;
@@ -3549,13 +3573,14 @@ var BattleEffectProcessor = {
3549
3573
  }
3550
3574
  };
3551
3575
  }, "handleCosmicEnergy"),
3552
- /** 复苏处理(免疫死亡并回复) */
3553
- handleRevival: /* @__PURE__ */ __name(function(targetBoss) {
3576
+ // 复苏 (修改后)
3577
+ handleRevival: /* @__PURE__ */ __name(function(targetBoss, damageAmount) {
3554
3578
  const messages = [];
3555
3579
  if (!targetBoss.skills.includes("复苏")) {
3556
3580
  return null;
3557
3581
  }
3558
- if (targetBoss.HP !== 0) {
3582
+ const isLethal = damageAmount >= targetBoss.HP;
3583
+ if (!isLethal) {
3559
3584
  return null;
3560
3585
  }
3561
3586
  const maxHP = getMaxHPByName(targetBoss.name);
@@ -3566,7 +3591,7 @@ var BattleEffectProcessor = {
3566
3591
  name: targetBoss.name,
3567
3592
  updates: {
3568
3593
  hpChange: healAmount,
3569
- // 回复50%最大生命值
3594
+ // 回复60%最大生命值
3570
3595
  energyChange: energyGain,
3571
3596
  // 回复100%能量
3572
3597
  skillsRemoved: ["复苏"],
@@ -3608,7 +3633,7 @@ var BattleEffectProcessor = {
3608
3633
  };
3609
3634
  }, "handleBladeOfLight"),
3610
3635
  /** 远古预兆处理(概率免疫能量伤害)- 增加boost参数 */
3611
- handleAncientOmen: /* @__PURE__ */ __name(function(targetBoss, weaponData, boost) {
3636
+ handleAncientOmen: /* @__PURE__ */ __name(function(targetBoss, weaponData, boost = 0) {
3612
3637
  const messages = [];
3613
3638
  let isImmune = false;
3614
3639
  let targetUpdates = null;
@@ -3976,21 +4001,12 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, ignor
3976
4001
  messages.push(...lightningResult.messages);
3977
4002
  }
3978
4003
  const coldImmuneEffects = [
3979
- {
3980
- effect: BattleEffectProcessor.handleFrostEvolution,
3981
- args: [targetBoss, weaponName, damage]
3982
- },
3983
4004
  {
3984
4005
  effect: BattleEffectProcessor.handleColdAdaptation,
3985
4006
  args: [targetBoss, weaponName]
3986
4007
  }
3987
4008
  ];
3988
- const fireImmuneEffects = [
3989
- {
3990
- effect: BattleEffectProcessor.handleFlameAlien,
3991
- args: [targetBoss, weaponName, damage]
3992
- }
3993
- ];
4009
+ const fireImmuneEffects = [];
3994
4010
  const chanceImmuneEffects = [
3995
4011
  {
3996
4012
  effect: BattleEffectProcessor.handleDeadlyHit,
@@ -4019,7 +4035,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, ignor
4019
4035
  updateStatsByName(solarFlareResult.targetUpdates.name, solarFlareResult.targetUpdates.updates);
4020
4036
  }
4021
4037
  }
4022
- const carpetBombResult = processEffect(BattleEffectProcessor.handleCarpetBombing, targetBoss);
4038
+ const carpetBombResult = BattleEffectProcessor.handleCarpetBombing(targetBoss);
4023
4039
  if (carpetBombResult) {
4024
4040
  isolatedImmunityMark = carpetBombResult.tempMark || false;
4025
4041
  if (carpetBombResult.nerfMultiplier) {
@@ -4038,6 +4054,8 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, ignor
4038
4054
  { effect: BattleEffectProcessor.handleEnergyBlackhole, args: [targetBoss] },
4039
4055
  { effect: BattleEffectProcessor.handleColossalRampage, args: [targetBoss] },
4040
4056
  { effect: BattleEffectProcessor.handleVomit, args: [targetBoss] },
4057
+ { effect: BattleEffectProcessor.handleRampage, args: [targetBoss] },
4058
+ { effect: BattleEffectProcessor.handleHyperRangeShift, args: [targetBoss] },
4041
4059
  // 双参数效果
4042
4060
  { effect: BattleEffectProcessor.handleStructuralArmor, args: [targetBoss, weaponData] },
4043
4061
  { effect: BattleEffectProcessor.handleDisguise, args: [targetBoss, weaponName] },
@@ -4045,9 +4063,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, ignor
4045
4063
  { effect: BattleEffectProcessor.handleIsolated, args: [targetBoss, activeBosses, isolatedImmunityMark] },
4046
4064
  { effect: BattleEffectProcessor.handleInfectedSpaceStation, args: [targetBoss, activeBosses] },
4047
4065
  { effect: BattleEffectProcessor.handleInfernalBomb, args: [targetBoss, activeBosses] },
4048
- { effect: BattleEffectProcessor.handleHunterAlien, args: [targetBoss, activeBosses, weaponName] },
4049
- { effect: BattleEffectProcessor.handleRampage, args: [targetBoss, activeBosses] },
4050
- { effect: BattleEffectProcessor.handleHyperRangeShift, args: [targetBoss] }
4066
+ { effect: BattleEffectProcessor.handleHunterAlien, args: [targetBoss, activeBosses, weaponName] }
4051
4067
  ];
4052
4068
  for (const effectItem of damageAdjustEffects) {
4053
4069
  const result = processEffect(effectItem.effect, ...effectItem.args);
@@ -4088,15 +4104,11 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, ignor
4088
4104
  { effect: BattleEffectProcessor.handleFrostRegeneration, args: [targetBoss, activeBosses] },
4089
4105
  { effect: BattleEffectProcessor.handleFrostAura, args: [targetBoss, activeBosses] },
4090
4106
  { effect: BattleEffectProcessor.handleSentryGun, args: [targetBoss, activeBosses] },
4091
- { effect: BattleEffectProcessor.handleSurvivalInstinctI, args: [targetBoss] },
4092
- { effect: BattleEffectProcessor.handleSurvivalInstinctII, args: [targetBoss] },
4093
4107
  { effect: BattleEffectProcessor.handleMoldGrowth, args: [targetBoss, activeBosses] },
4094
4108
  { effect: BattleEffectProcessor.handleElectricShockwave, args: [targetBoss] },
4095
4109
  { effect: BattleEffectProcessor.handlePulse, args: [targetBoss, activeBosses] },
4096
4110
  { effect: BattleEffectProcessor.handleFeeding, args: [targetBoss] },
4097
4111
  { effect: BattleEffectProcessor.handleBurningBurrow, args: [targetBoss] },
4098
- { effect: BattleEffectProcessor.handleRevival, args: [targetBoss] },
4099
- { effect: BattleEffectProcessor.handleCosmicEnergy, args: [targetBoss, damage] },
4100
4112
  { effect: BattleEffectProcessor.handleBombardmentGuide, args: [targetBoss] },
4101
4113
  { effect: BattleEffectProcessor.handleOverdriveShield, args: [targetBoss, activeBosses] }
4102
4114
  ];
@@ -4180,18 +4192,80 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, ignor
4180
4192
  layerReduced = layerReduceResult.reductionSuccess || false;
4181
4193
  }
4182
4194
  let finalDamage = damage;
4183
- if (!immune) {
4184
- let adjustedNerfMultiplier = totalNerfMultiplier * (1 - ignoreRate);
4185
- const damageMultiplier = 1 + totalBuffMultiplier - adjustedNerfMultiplier;
4186
- finalDamage = Math.max(1, Math.round(damage * damageMultiplier));
4187
- if (finalDamage > 0) {
4188
- updateStatsByName(targetBoss.name, {
4189
- hpChange: -finalDamage
4190
- });
4195
+ let adjustedNerfMultiplier = totalNerfMultiplier * (1 - ignoreRate);
4196
+ const damageMultiplier = 1 + totalBuffMultiplier - adjustedNerfMultiplier;
4197
+ finalDamage = Math.max(1, Math.round(damage * damageMultiplier));
4198
+ const frostEvolutionResult = BattleEffectProcessor.handleFrostEvolution(
4199
+ targetBoss,
4200
+ weaponName,
4201
+ finalDamage
4202
+ // 使用最新计算的finalDamage
4203
+ );
4204
+ if (frostEvolutionResult) {
4205
+ messages.push(...frostEvolutionResult.messages);
4206
+ if (frostEvolutionResult.targetUpdates) {
4207
+ updateStatsByName(frostEvolutionResult.targetUpdates.name, frostEvolutionResult.targetUpdates.updates);
4208
+ }
4209
+ if (frostEvolutionResult.isImmune) {
4210
+ immune = true;
4211
+ finalDamage = 0;
4191
4212
  }
4192
- } else {
4213
+ }
4214
+ const flameAlienResult = BattleEffectProcessor.handleFlameAlien(
4215
+ targetBoss,
4216
+ weaponName,
4217
+ finalDamage
4218
+ // 使用最新计算的finalDamage
4219
+ );
4220
+ if (flameAlienResult) {
4221
+ messages.push(...flameAlienResult.messages);
4222
+ if (flameAlienResult.targetUpdates) {
4223
+ updateStatsByName(flameAlienResult.targetUpdates.name, flameAlienResult.targetUpdates.updates);
4224
+ }
4225
+ if (flameAlienResult.isImmune) {
4226
+ immune = true;
4227
+ finalDamage = 0;
4228
+ }
4229
+ }
4230
+ const cosmicEnergyResult = BattleEffectProcessor.handleCosmicEnergy(
4231
+ targetBoss,
4232
+ finalDamage
4233
+ // 使用最新计算的finalDamage
4234
+ );
4235
+ if (cosmicEnergyResult) {
4236
+ messages.push(...cosmicEnergyResult.messages);
4237
+ if (cosmicEnergyResult.targetUpdates) {
4238
+ updateStatsByName(cosmicEnergyResult.targetUpdates.name, cosmicEnergyResult.targetUpdates.updates);
4239
+ }
4240
+ }
4241
+ if (immune) {
4193
4242
  finalDamage = 0;
4194
4243
  }
4244
+ const isLethal = finalDamage >= targetBoss.HP && finalDamage > 0;
4245
+ const survivalSkills = [
4246
+ { func: BattleEffectProcessor.handleSurvivalInstinctI, name: "求生本能I" },
4247
+ { func: BattleEffectProcessor.handleSurvivalInstinctII, name: "求生本能II" },
4248
+ { func: BattleEffectProcessor.handleRevival, name: "复苏" }
4249
+ ];
4250
+ let revivalTriggered = false;
4251
+ if (isLethal) {
4252
+ for (const skill of survivalSkills) {
4253
+ if (targetBoss.skills.includes(skill.name)) {
4254
+ const result = skill.func(targetBoss, finalDamage);
4255
+ if (result) {
4256
+ updateStatsByName(result.targetUpdates.name, result.targetUpdates.updates);
4257
+ messages.push(...result.messages);
4258
+ revivalTriggered = true;
4259
+ break;
4260
+ }
4261
+ }
4262
+ }
4263
+ }
4264
+ if (!revivalTriggered && !immune && finalDamage > 0) {
4265
+ updateStatsByName(targetBoss.name, {
4266
+ hpChange: -finalDamage
4267
+ });
4268
+ }
4195
4269
  return {
4196
4270
  finalDamage,
4197
4271
  messages,
@@ -4726,7 +4800,7 @@ async function handleIgnoreReductionEffects(ctx, handle, weaponName, targetBoss)
4726
4800
  }
4727
4801
  if (careerData.career === "猩红杀手" && weaponName === "侦察步枪") {
4728
4802
  ignoreEffects.push(0.2);
4729
- messages.push(`🎯 【猩红杀手】职业效果:无视20%减伤效果`);
4803
+ messages.push(`🎯 猩红杀手职业:无视20%减伤效果`);
4730
4804
  }
4731
4805
  }, "handleCareerEffects");
4732
4806
  await handleCareerEffects();
@@ -5303,7 +5377,7 @@ function apply(ctx, config) {
5303
5377
  const [itemName, itemData] = entry;
5304
5378
  return itemData.description ? `${itemName} x ${userItem.quantity}:${itemData.description}` : `${itemName} x ${userItem.quantity}`;
5305
5379
  });
5306
- return `【${handle}的背包】
5380
+ return `【${session.username}的背包】
5307
5381
  ${itemDetails.join("\n")}`;
5308
5382
  });
5309
5383
  ctx.command("ggcevo/签到").action(async (argv) => {
@@ -6969,12 +7043,12 @@ ${validTypes.join("、")}`;
6969
7043
  return [
6970
7044
  `${statusIcon} ${weaponName} ${statusText}`,
6971
7045
  `等级:Lv.${w.level} | 改装槽:${w.modificationSlots}`,
6972
- `伤害:${currentDamage.toFixed(1)}`,
7046
+ `基础伤害:${currentDamage.toFixed(1)}`,
6973
7047
  `改装:${mods}`
6974
7048
  ].join("\n");
6975
7049
  }));
6976
7050
  return [
6977
- `🛡️ ${handle}的武器仓库`,
7051
+ `🛡️ ${session.username}的武器仓库`,
6978
7052
  '使用"装备 武器名称"来装备武器',
6979
7053
  "⚡表示当前装备武器",
6980
7054
  "──────────────",
@@ -8151,7 +8225,7 @@ ${validTypes.join("、")}`;
8151
8225
  ]);
8152
8226
  const totalRewards = signData[0]?.totalRewards || 0;
8153
8227
  const redcrystal = careerData[0]?.redcrystal || 0;
8154
- const message = [`【${handle}的仓库】`];
8228
+ const message = [`【${session.username}的仓库】`];
8155
8229
  message.push(`💰 金币:${totalRewards}`);
8156
8230
  if (careerData[0]?.group === "辛迪加海盗") {
8157
8231
  message.push(`🔴 红晶:${redcrystal}`);
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.40",
4
+ "version": "1.4.42",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
@@ -19,7 +19,7 @@
19
19
  "peerDependencies": {
20
20
  "@koishijs/plugin-proxy-agent": "^0.3.3",
21
21
  "koishi": "^4.18.7",
22
- "koishi-plugin-sc2arcade-search": "^1.1.18"
22
+ "koishi-plugin-sc2arcade-search": "^1.1.19"
23
23
  },
24
24
  "koishi": {
25
25
  "service": {