koishi-plugin-ggcevo-game 1.5.30 → 1.6.0

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.
@@ -11,7 +11,6 @@ export declare const Spacestationtechnology: {
11
11
  }[];
12
12
  }[];
13
13
  export declare const itemupgrades: {
14
- id: number;
15
14
  name: string;
16
15
  upgradeCostBase: number;
17
16
  minUpgrade: number;
package/lib/index.js CHANGED
@@ -627,7 +627,7 @@ var SyndicatedItems = {
627
627
  price: 0,
628
628
  redCrystalCost: 30,
629
629
  condition: "辛迪加海盗阵营",
630
- effects: "挖矿收益提高10%;可使用红晶升级(每次升级提高5%-10%,最多提高100%)"
630
+ effects: "挖矿收益提高10%;可使用红晶升级"
631
631
  }
632
632
  };
633
633
  var initDefaultItems = {
@@ -1237,7 +1237,6 @@ var Spacestationtechnology = [
1237
1237
  ];
1238
1238
  var itemupgrades = [
1239
1239
  {
1240
- id: 1,
1241
1240
  name: "自动采掘机器人",
1242
1241
  upgradeCostBase: 10,
1243
1242
  // 升级基础成本
@@ -5265,6 +5264,18 @@ var ggcevoUpdates = [
5265
5264
  - 新增了辛迪加海盗阵营升级物品机制
5266
5265
  - 修改了异形主宰复活逻辑,现在只会在12点和0点复活
5267
5266
  `.trim()
5267
+ },
5268
+ {
5269
+ version: "1.6.0",
5270
+ time: "2025-07-08",
5271
+ content: `
5272
+ - 增强了采掘科技,关键系统固件科技和反应堆科技的加成效果
5273
+ - 签到的金币奖励变更为固定区间50-100
5274
+ - 挖矿的收益增加至每半小时4金币
5275
+ - 重制了部分飞船效果
5276
+ - 优化了升级物品,仓库和探索的显示信息
5277
+ - 减少了物品“自动采掘机器人”的升级所需红晶数量
5278
+ `.trim()
5268
5279
  }
5269
5280
  ];
5270
5281
  function compareVersions(a, b) {
@@ -10798,13 +10809,22 @@ ${discountReason}` : "",
10798
10809
  ([, item]) => item.id === warehouseItem.itemId
10799
10810
  );
10800
10811
  const [itemName, itemData] = entry;
10801
- return [
10812
+ const upgradeConfig = itemupgrades.find((config2) => config2.name === itemName);
10813
+ const isUpgradable = upgradeConfig && itemName in SyndicatedItems;
10814
+ const bonusValue = warehouseItem.bonus || 0;
10815
+ const itemLines = [
10802
10816
  `${itemName}`,
10803
10817
  `类型:${itemData.type} | 持有数量:${warehouseItem.quantity}`,
10804
- `效果:${itemData.effects}`,
10818
+ `效果:${itemData.effects}`
10819
+ ];
10820
+ if (isUpgradable) {
10821
+ itemLines.push(`升级加成:${bonusValue}%`);
10822
+ }
10823
+ itemLines.push(
10805
10824
  `描述:${itemData.description}`,
10806
10825
  "――――――――――――――"
10807
- ].join("\n");
10826
+ );
10827
+ return itemLines.join("\n");
10808
10828
  }).join("\n")
10809
10829
  );
10810
10830
  }
@@ -10939,7 +10959,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
10939
10959
  totalMined: 0
10940
10960
  // 初始化总收益
10941
10961
  });
10942
- return "⛏️ 首次挖矿作业已开始,请至少等待1小时后才可收获。\n提示:基础收益为每半小时4枚金币";
10962
+ return "⛏️ 首次挖矿作业已开始,请至少等待1小时。\n💡 提示:基础收益为每半小时4枚金币";
10943
10963
  }
10944
10964
  const nowtime = /* @__PURE__ */ new Date();
10945
10965
  const chinaStart = record.startTime;
@@ -10953,29 +10973,28 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
10953
10973
  `🕒 开始时间:${record.startTime.toLocaleString("zh-CN", { hour12: false })}`,
10954
10974
  `⏱️ 当前时间:${nowtime.toLocaleString("zh-CN", { hour12: false })}`,
10955
10975
  `⏳ 还需等待:${remaining}分钟`,
10956
- `💡 提示:本轮挖矿1小时后才可收获并自动开始下一轮挖矿
10957
- 基础收益为每半小时4枚金币`
10976
+ `💡 提示:基础收益为每半小时4枚金币`
10958
10977
  ].join("\n");
10959
10978
  }
10960
10979
  let halfHours = Math.floor(duration / 30);
10961
10980
  let base = halfHours * 4;
10962
- const maxHalfHours = career.group === "人类联盟" && techLevel === 5 ? 96 : 48;
10981
+ const maxHalfHours = career?.group === "人类联盟" && techLevel === 5 ? 96 : 48;
10963
10982
  halfHours = Math.min(halfHours, maxHalfHours);
10964
10983
  base = Math.min(base, maxHalfHours * 4);
10965
10984
  let techBonusRate = 0;
10966
10985
  let careerBonusRate = 0;
10967
10986
  let shipBonusRate = 0;
10968
10987
  let minerBonusRate = 0;
10969
- if (career.group === "人类联盟") {
10988
+ if (career?.group === "人类联盟") {
10970
10989
  const baseTechRates = [0, 0.1, 0.2, 0.3, 0.4, 0.5];
10971
10990
  techBonusRate = baseTechRates[Math.min(techLevel, 5)];
10972
10991
  const techCareers = ["深空矿工", "情报副官"];
10973
- if (techCareers.includes(career.career)) {
10992
+ if (techCareers.includes(career?.career)) {
10974
10993
  const careerBonusRates = [0, 0.1, 0.2, 0.3, 0.4, 0.5];
10975
10994
  careerBonusRate = careerBonusRates[Math.min(techLevel, 5)];
10976
10995
  }
10977
10996
  }
10978
- if (career.career === "深空矿工") {
10997
+ if (career?.career === "深空矿工") {
10979
10998
  minerBonusRate = 0.5;
10980
10999
  }
10981
11000
  let shipName = "";
@@ -11048,12 +11067,12 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11048
11067
  if (hasMinerBonus) {
11049
11068
  reportLines.push(`▸ ⛏️ 深空矿工专业加成:+${(minerBonusRate * 100).toFixed(0)}%金币`);
11050
11069
  }
11051
- if (techLevel === 5 && career.group === "人类联盟") {
11070
+ if (techLevel === 5 && career?.group === "人类联盟") {
11052
11071
  reportLines.push(`▸ ⏱️ 单次挖矿时间上限增加至48小时`);
11053
11072
  }
11054
11073
  }
11055
11074
  reportLines.push(`🏆 历史总挖矿收益:${record.totalMined + total}金币`);
11056
- reportLines.push("💡 已自动开始下一轮挖矿\n基础收益为每半小时4枚金币");
11075
+ reportLines.push("💡 已自动开始新一轮挖矿");
11057
11076
  return reportLines.join("\n");
11058
11077
  });
11059
11078
  ctx.command("ggcevo/任务 [name]").usage('输入"任务"查看所有任务列表,或"任务 任务名称"查看详细任务信息').action(async ({ session }, name2) => {
@@ -11419,10 +11438,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11419
11438
  return "⛔ 您已被列入黑名单。";
11420
11439
  }
11421
11440
  const [career] = await ctx.database.get("ggcevo_careers", { handle });
11422
- const allowedGroups = ["人类联盟", "辛迪加海盗"];
11423
- if (!allowedGroups.includes(career.group)) {
11424
- }
11425
- const careerName = career.career;
11441
+ const careerName = career?.career;
11426
11442
  const careerCoinBonus = careerName === "总工程师" ? 50 : 0;
11427
11443
  const [shipRecord] = await ctx.database.get("ggcevo_spaceship", { handle });
11428
11444
  let shipBonus = 0;
@@ -11457,7 +11473,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11457
11473
  const techLevel = techReactor?.level || 0;
11458
11474
  let techBonusRate = 0;
11459
11475
  let careerBonusRate = 0;
11460
- if (career.group === "人类联盟" && techLevel > 0) {
11476
+ if (career?.group === "人类联盟" && techLevel > 0) {
11461
11477
  const baseRates = [0, 0.1, 0.2, 0.3, 0.4, 0.5];
11462
11478
  techBonusRate = baseRates[techLevel];
11463
11479
  const specialCareers = ["总工程师", "情报副官"];
@@ -11474,23 +11490,44 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11474
11490
  `🌌 星系:${record.galaxy}`,
11475
11491
  `⏱️ 开始时间:${record.startTime.toLocaleString("zh-CN", { hour12: false })}`,
11476
11492
  `⏳ 剩余时间:${Math.floor(remainingMinutes / 60)}小时${remainingMinutes % 60}分钟`,
11477
- "💡 提示:探索将持续12小时,完成后可再次进行探索"
11493
+ "💡 提示:探索将持续12小时,完成后才可再次进行探索"
11478
11494
  ].join("\n");
11479
11495
  } else {
11480
11496
  const returnsIncrement = (record.returns || 0) + 1;
11481
11497
  const galaxyData2 = galaxy[record.galaxy];
11482
11498
  let successRate = galaxyData2.success;
11483
- if (career.group === "人类联盟" && record.galaxy === "联盟星系") successRate += 0.1;
11484
- else if (career.group === "辛迪加海盗" && record.galaxy === "辛迪加星系") successRate += 0.1;
11499
+ if (career?.group === "人类联盟" && record.galaxy === "联盟星系") successRate += 0.1;
11500
+ else if (career?.group === "辛迪加海盗" && record.galaxy === "辛迪加星系") successRate += 0.1;
11485
11501
  if (stealthShipEffectAdded) successRate += 0.2;
11486
11502
  successRate = Math.min(successRate, 1);
11487
11503
  let baseCoinReward = Math.floor(Math.random() * 51) + 50;
11488
11504
  baseCoinReward = Math.floor(baseCoinReward * galaxyData2.bonus);
11489
- let totalBonus = shipBonus + (record.plunderbonus || 0) + (techBonusRate + careerBonusRate) * 100 + careerCoinBonus;
11490
- let finalCoin = baseCoinReward * (1 + totalBonus / 100);
11505
+ const bonusEffects = [];
11506
+ if (shipBonus) {
11507
+ let shipType = "";
11508
+ if (shipRecord.id === 2) shipType = "TX-12S隐形巡洋舰";
11509
+ else if (shipRecord.id === 3) shipType = "TX-12A突击巡洋舰";
11510
+ else if (shipRecord.id === 4) shipType = "庞兽号歼星舰";
11511
+ bonusEffects.push(`▸ 🚀 ${shipType}:+${shipBonus}%金币`);
11512
+ }
11513
+ if (record.plunderbonus) {
11514
+ const sign = record.plunderbonus > 0 ? "+" : "";
11515
+ bonusEffects.push(`▸ ⚔️ 掠夺事件:${sign}${record.plunderbonus}%金币`);
11516
+ }
11517
+ const combinedTechBonus = techBonusRate + careerBonusRate;
11518
+ if (combinedTechBonus > 0) {
11519
+ bonusEffects.push(`▸ ⚙️ 反应堆科技Lv.${techLevel}:+${(combinedTechBonus * 100).toFixed(0)}%金币`);
11520
+ }
11521
+ if (careerCoinBonus) {
11522
+ bonusEffects.push(`▸ 🎓 总工程师职业:+${careerCoinBonus}%金币`);
11523
+ }
11524
+ const totalBonusMultiplier = 1 + (shipBonus + (record.plunderbonus || 0) + (techBonusRate + careerBonusRate) * 100 + careerCoinBonus) / 100;
11525
+ let finalCoin = Math.floor(baseCoinReward * totalBonusMultiplier);
11491
11526
  const isSuccess = Math.random() < successRate;
11492
- if (!isSuccess) finalCoin *= 0.5;
11493
- finalCoin = Math.floor(finalCoin);
11527
+ if (!isSuccess) {
11528
+ finalCoin = Math.floor(finalCoin * 0.5);
11529
+ bonusEffects.push(`▸ ⚠️ 探索失败:金币奖励减半`);
11530
+ }
11494
11531
  const [signRecord] = await ctx.database.get("ggcevo_sign", { handle });
11495
11532
  let newTotalRewards = finalCoin;
11496
11533
  if (signRecord) {
@@ -11506,12 +11543,12 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11506
11543
  }
11507
11544
  let itemRewards = [];
11508
11545
  if (isSuccess) {
11509
- const itemsToCheck = [
11510
- { id: 2, name: "闪光弹" },
11511
- { id: 4, name: "脉冲手雷" }
11546
+ const possibleItems = [
11547
+ { id: 2, name: "闪光弹", chance: 0.05 },
11548
+ { id: 4, name: "脉冲手雷", chance: 0.05 }
11512
11549
  ];
11513
- for (const item of itemsToCheck) {
11514
- if (Math.random() < 0.05) {
11550
+ for (const item of possibleItems) {
11551
+ if (Math.random() < item.chance) {
11515
11552
  const [existing] = await ctx.database.get("ggcevo_warehouse", {
11516
11553
  handle,
11517
11554
  itemId: item.id
@@ -11540,16 +11577,20 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11540
11577
  returns: returnsIncrement,
11541
11578
  plunderbonus: 0
11542
11579
  });
11543
- return [
11580
+ const resultMessage = [
11544
11581
  isSuccess ? "🎉 探索成功!" : "⚠️ 探索失败!",
11545
11582
  `🌌 星系:${record.galaxy}`,
11546
11583
  `🔮 实际成功率:${(successRate * 100).toFixed(1)}%`,
11547
- `🏆 已探索次数:${returnsIncrement}`,
11548
- "--------------------------------",
11549
11584
  `💰 金币 +${finalCoin}`,
11550
- ...itemRewards.length > 0 ? [`📦 获得:${itemRewards.join("、")}`] : [],
11551
- "💡 已自动结束探索任务"
11552
- ].join("\n");
11585
+ ...itemRewards.length > 0 ? [`📦 获得物品:${itemRewards.join("、")}`] : [],
11586
+ "",
11587
+ "⚡ 加成效果:",
11588
+ ...bonusEffects,
11589
+ "",
11590
+ `🏆 已探索次数:${returnsIncrement}`,
11591
+ "💡 输入“探索 星系名称”开始下一轮探索"
11592
+ ].filter(Boolean).join("\n");
11593
+ return resultMessage;
11553
11594
  }
11554
11595
  }
11555
11596
  if (!galaxyName) {
@@ -11577,6 +11618,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11577
11618
  const basePlunderRate = 0.2;
11578
11619
  const actualPlunderRate = basePlunderRate + plunderRateBonus / 100;
11579
11620
  const canPlunder = Math.random() < actualPlunderRate;
11621
+ let plunderHandled = false;
11580
11622
  if (canPlunder) {
11581
11623
  const explorers = await ctx.database.get("ggcevo_explore", {
11582
11624
  galaxy: galaxyName,
@@ -11595,52 +11637,67 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11595
11637
  });
11596
11638
  if (plunderTargets.length > 0) {
11597
11639
  const target = plunderTargets[Math.floor(Math.random() * plunderTargets.length)];
11598
- await session.send(`❗ 您在探索过程中发现了【${target.name}】的飞船,是否掠夺?(30秒内输入"是"来进行掠夺)`);
11599
- const response = await session.prompt(3e4);
11600
- if (response === "是") {
11601
- let baseSuccessRate = 0.5;
11602
- if (isBehemoth) baseSuccessRate += 0.3;
11603
- if (shipRecord?.id === 3) baseSuccessRate += 0.1;
11604
- const success = Math.random() < baseSuccessRate;
11605
- let playerBonus, targetBonus;
11606
- if (success) {
11607
- playerBonus = 20;
11608
- targetBonus = -20;
11609
- } else {
11610
- playerBonus = -20;
11611
- targetBonus = 20;
11640
+ let baseSuccessRate = 50;
11641
+ if (isBehemoth) baseSuccessRate += 30;
11642
+ if (shipRecord?.id === 3) baseSuccessRate += 10;
11643
+ await session.send([
11644
+ `❗ 您在探索过程中发现了【${target.name}】的飞船,是否掠夺?`,
11645
+ `🎯 掠夺成功率:${baseSuccessRate}%`,
11646
+ `⏱️ (30秒内输入"是"来进行掠夺)`
11647
+ ].join("\n"));
11648
+ try {
11649
+ const response = await session.prompt(3e4);
11650
+ if (response === "是") {
11651
+ let baseSuccessRate2 = 0.5;
11652
+ if (isBehemoth) baseSuccessRate2 += 0.3;
11653
+ if (shipRecord?.id === 3) baseSuccessRate2 += 0.1;
11654
+ const success = Math.random() < baseSuccessRate2;
11655
+ let playerBonus, targetBonus;
11656
+ if (success) {
11657
+ playerBonus = 20;
11658
+ targetBonus = -20;
11659
+ } else {
11660
+ playerBonus = -20;
11661
+ targetBonus = 20;
11662
+ }
11663
+ await ctx.database.upsert("ggcevo_explore", [{
11664
+ handle,
11665
+ name: name2,
11666
+ startTime: /* @__PURE__ */ new Date(),
11667
+ galaxy: galaxyName,
11668
+ returns: record?.returns || 0,
11669
+ plunderbonus: playerBonus,
11670
+ status: "探索中"
11671
+ }], ["handle"]);
11672
+ const [targetRecord] = await ctx.database.get("ggcevo_explore", { handle: target.handle });
11673
+ await ctx.database.set("ggcevo_explore", { handle: target.handle }, {
11674
+ plunderbonus: (targetRecord.plunderbonus || 0) + targetBonus
11675
+ });
11676
+ await session.send(
11677
+ success ? `✅ 掠夺成功!您获得${playerBonus}%金币加成,${target.name}的金币收益被降低了20%。` : `❌ 掠夺失败!您的金币收益被降低20%,${target.name}获得了20%的金币收益加成。`
11678
+ );
11679
+ plunderHandled = true;
11612
11680
  }
11613
- await ctx.database.upsert("ggcevo_explore", [{
11614
- handle,
11615
- name: name2,
11616
- startTime: /* @__PURE__ */ new Date(),
11617
- galaxy: galaxyName,
11618
- returns: record?.returns || 0,
11619
- plunderbonus: playerBonus,
11620
- status: "探索中"
11621
- }], ["handle"]);
11622
- const [targetRecord] = await ctx.database.get("ggcevo_explore", { handle: target.handle });
11623
- await ctx.database.set("ggcevo_explore", { handle: target.handle }, {
11624
- plunderbonus: (targetRecord.plunderbonus || 0) + targetBonus
11625
- });
11626
- return success ? `✅ 掠夺成功!您获得${playerBonus}%金币加成,${target.name}的金币收益被降低了20%。` : `❌ 掠夺失败!您的金币收益被降低20%,${target.name}获得了20%的金币收益加成。`;
11681
+ } catch (error) {
11627
11682
  }
11628
11683
  }
11629
11684
  }
11630
11685
  }
11631
- await ctx.database.upsert("ggcevo_explore", [{
11632
- handle,
11633
- name: name2,
11634
- startTime: /* @__PURE__ */ new Date(),
11635
- galaxy: galaxyName,
11636
- returns: record?.returns || 0,
11637
- plunderbonus: 0,
11638
- status: "探索中"
11639
- }], ["handle"]);
11686
+ if (!plunderHandled) {
11687
+ await ctx.database.upsert("ggcevo_explore", [{
11688
+ handle,
11689
+ name: name2,
11690
+ startTime: /* @__PURE__ */ new Date(),
11691
+ galaxy: galaxyName,
11692
+ returns: record?.returns || 0,
11693
+ plunderbonus: 0,
11694
+ status: "探索中"
11695
+ }], ["handle"]);
11696
+ }
11640
11697
  const galaxyData = galaxy[galaxyName];
11641
11698
  let estimatedRate = galaxyData.success;
11642
- if (career.group === "人类联盟" && galaxyName === "联盟星系") estimatedRate += 0.1;
11643
- if (career.group === "辛迪加海盗" && galaxyName === "辛迪加星系") estimatedRate += 0.1;
11699
+ if (career?.group === "人类联盟" && galaxyName === "联盟星系") estimatedRate += 0.1;
11700
+ else if (career?.group === "辛迪加海盗" && galaxyName === "辛迪加星系") estimatedRate += 0.1;
11644
11701
  if (isStealthShip) estimatedRate += 0.2;
11645
11702
  estimatedRate = Math.min(estimatedRate, 1) * 100;
11646
11703
  return [
@@ -11648,7 +11705,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11648
11705
  `⏱️ 开始时间:${(/* @__PURE__ */ new Date()).toLocaleString("zh-CN", { hour12: false })}`,
11649
11706
  `⏳ 持续时间:12小时`,
11650
11707
  `📊 预计成功率:${estimatedRate.toFixed(0)}%`,
11651
- "💡 探索完成后将自动获得奖励"
11708
+ "💡 探索可获得50-100的基础金币"
11652
11709
  ].join("\n");
11653
11710
  });
11654
11711
  const shipIdToName = {};
@@ -11771,16 +11828,50 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11771
11828
  // 新增的提示
11772
11829
  ].join("\n");
11773
11830
  });
11774
- ctx.command("ggcevo/升级物品 [itemName]", "升级辛迪加海盗物品").action(async ({ session }, itemName) => {
11831
+ ctx.command("ggcevo/升级物品 [itemName]", "升级辛迪加海盗物品").usage('输入"升级物品"查看可升级列表,或"升级物品 物品名称"进行升级').action(async ({ session }, itemName) => {
11775
11832
  const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
11776
11833
  if (!profile) return "🔒 需要先绑定游戏句柄。";
11777
11834
  const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
11778
- if (!itemName) return "请输入要升级的物品名称,例如:升级物品 自动采掘机器人";
11779
11835
  const [career] = await ctx.database.get("ggcevo_careers", { handle });
11780
11836
  if (!career) return "🚫 未查询到您的阵营信息";
11781
11837
  if (career.group !== "辛迪加海盗") {
11782
11838
  return `🚫 仅限辛迪加海盗阵营使用`;
11783
11839
  }
11840
+ const isCommander = career.career === "指挥官";
11841
+ if (!itemName) {
11842
+ const warehouseItems2 = await ctx.database.get("ggcevo_warehouse", { handle });
11843
+ const upgradableItems = [];
11844
+ for (const item of warehouseItems2) {
11845
+ const [itemName2, itemConfig3] = Object.entries(SyndicatedItems).find(([name2, config2]) => config2.id === item.itemId) || [];
11846
+ if (!itemName2 || !itemConfig3) continue;
11847
+ const upgradeConfig2 = itemupgrades.find((cfg) => cfg.name === itemName2);
11848
+ if (!upgradeConfig2) continue;
11849
+ if (item.bonus >= upgradeConfig2.maxBonus) continue;
11850
+ const baseCost = upgradeConfig2.upgradeCostBase;
11851
+ const actualCost = isCommander ? Math.floor(baseCost * 0.5) : baseCost;
11852
+ upgradableItems.push({
11853
+ name: itemName2,
11854
+ currentBonus: item.bonus,
11855
+ maxBonus: upgradeConfig2.maxBonus,
11856
+ cost: actualCost,
11857
+ discount: isCommander ? `(原价: ${baseCost})` : ""
11858
+ });
11859
+ }
11860
+ if (upgradableItems.length === 0) {
11861
+ return "🚫 当前没有可升级的物品";
11862
+ }
11863
+ const msgLines = [
11864
+ "💎 可升级物品列表",
11865
+ "====================",
11866
+ ...upgradableItems.map((item) => {
11867
+ return `▸ ${item.name}:当前 ${item.currentBonus}%/${item.maxBonus}%
11868
+ 升级消耗:${item.cost}红晶 ${item.discount}`;
11869
+ }),
11870
+ "====================",
11871
+ `使用"升级物品 物品名称"进行升级`
11872
+ ];
11873
+ return msgLines.join("\n");
11874
+ }
11784
11875
  const itemConfig2 = SyndicatedItems[itemName];
11785
11876
  if (!itemConfig2) return `🚫 未找到物品【${itemName}】的配置信息`;
11786
11877
  const upgradeConfig = itemupgrades.find((cfg) => cfg.name === itemName);
@@ -11798,10 +11889,10 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11798
11889
  }
11799
11890
  let upgradeCost = upgradeConfig.upgradeCostBase;
11800
11891
  let discountNotice = "";
11801
- if (career.career === "指挥官") {
11892
+ if (isCommander) {
11802
11893
  upgradeCost = Math.floor(upgradeCost * 0.5);
11803
11894
  discountNotice = `
11804
- ✨ 指挥官职业生效!实际消耗: ${upgradeCost} (原价${upgradeConfig.upgradeCostBase}的50%)`;
11895
+ ✨ 指挥官职业生效!实际消耗: ${upgradeCost} (原价:${upgradeConfig.upgradeCostBase})`;
11805
11896
  }
11806
11897
  if (career.redcrystal < upgradeCost) {
11807
11898
  return `🚫 红晶不足!升级需要${upgradeCost}红晶,您当前有${career.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.5.30",
4
+ "version": "1.6.0",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [