koishi-plugin-ggcevo-game 1.6.6 → 1.6.8

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.
package/lib/database.d.ts CHANGED
@@ -132,7 +132,7 @@ export interface BossInfo {
132
132
  type: string;
133
133
  HP: number;
134
134
  energy: number;
135
- armor: number;
135
+ armorReductionLayers: number;
136
136
  tags: string[];
137
137
  skills: string[];
138
138
  skillStacks: number;
package/lib/index.js CHANGED
@@ -625,7 +625,7 @@ var SyndicatedItems = {
625
625
  type: "设备工具",
626
626
  description: "建造机器人,用于自动采集太空矿物",
627
627
  price: 0,
628
- redCrystalCost: 30,
628
+ redCrystalCost: 20,
629
629
  condition: "辛迪加海盗阵营",
630
630
  effects: "挖矿获得的金币收益提高10%;可使用红晶升级"
631
631
  }
@@ -1242,7 +1242,7 @@ var itemupgrades = [
1242
1242
  // 升级基础成本
1243
1243
  minUpgrade: 5,
1244
1244
  // 每次升级最小提升
1245
- maxUpgrade: 10,
1245
+ maxUpgrade: 15,
1246
1246
  // 每次升级最大提升
1247
1247
  maxBonus: 90
1248
1248
  // 总提升上限
@@ -1251,7 +1251,7 @@ var itemupgrades = [
1251
1251
  name: "CRED-17",
1252
1252
  upgradeCostBase: 10,
1253
1253
  minUpgrade: 5,
1254
- maxUpgrade: 10,
1254
+ maxUpgrade: 15,
1255
1255
  maxBonus: 50
1256
1256
  }
1257
1257
  ];
@@ -1270,7 +1270,7 @@ var Tasklist = {
1270
1270
  id: 2,
1271
1271
  type: "可重复任务",
1272
1272
  target: 1,
1273
- price: 50,
1273
+ price: 75,
1274
1274
  redCrystalCost: 0,
1275
1275
  condition: "使用【零度之下】攻击目标并成功增加其1层[寒冷]"
1276
1276
  },
@@ -1286,7 +1286,7 @@ var Tasklist = {
1286
1286
  id: 4,
1287
1287
  type: "可重复任务",
1288
1288
  target: 1,
1289
- price: 40,
1289
+ price: 45,
1290
1290
  redCrystalCost: 0,
1291
1291
  condition: "使用【脉冲扰乱枪】攻击目标并成功减少其1层技能层数"
1292
1292
  },
@@ -1302,7 +1302,7 @@ var Tasklist = {
1302
1302
  id: 6,
1303
1303
  type: "可重复任务",
1304
1304
  target: 1,
1305
- price: 100,
1305
+ price: 80,
1306
1306
  redCrystalCost: 0,
1307
1307
  condition: "使用【M4AE脉冲步枪】或【动力钻头】攻击目标并成功削减其0.1护甲"
1308
1308
  },
@@ -1310,7 +1310,7 @@ var Tasklist = {
1310
1310
  id: 7,
1311
1311
  type: "可重复任务",
1312
1312
  target: 1,
1313
- price: 50,
1313
+ price: 40,
1314
1314
  redCrystalCost: 0,
1315
1315
  condition: "使用【焚烧枪】或【龙息霰弹枪】攻击目标并成功增加其1层[燃烧]"
1316
1316
  }
@@ -1773,9 +1773,6 @@ function updateStatsByName(name2, updates) {
1773
1773
  }
1774
1774
  __name(updateStatsByName, "updateStatsByName");
1775
1775
  function getMaxHPByName(bossName) {
1776
- if (bossName === "测试假人") {
1777
- return 1e6;
1778
- }
1779
1776
  for (const boss of bossPool) {
1780
1777
  if (boss.main.name === bossName) {
1781
1778
  return boss.main.maxHP;
@@ -1786,13 +1783,10 @@ function getMaxHPByName(bossName) {
1786
1783
  }
1787
1784
  }
1788
1785
  }
1789
- return void 0;
1786
+ return 1e4;
1790
1787
  }
1791
1788
  __name(getMaxHPByName, "getMaxHPByName");
1792
1789
  function getMaxEnergyByName(bossName) {
1793
- if (bossName === "测试假人") {
1794
- return 1e3;
1795
- }
1796
1790
  for (const boss of bossPool) {
1797
1791
  if (boss.main.name === bossName) {
1798
1792
  return boss.main.maxEnergy;
@@ -1803,13 +1797,10 @@ function getMaxEnergyByName(bossName) {
1803
1797
  }
1804
1798
  }
1805
1799
  }
1806
- return void 0;
1800
+ return 1e4;
1807
1801
  }
1808
1802
  __name(getMaxEnergyByName, "getMaxEnergyByName");
1809
1803
  function getMaxStacksByName(bossName) {
1810
- if (bossName === "测试假人") {
1811
- return 100;
1812
- }
1813
1804
  for (const boss of bossPool) {
1814
1805
  if (boss.main.name === bossName) {
1815
1806
  return boss.main.maxStacks;
@@ -1820,40 +1811,37 @@ function getMaxStacksByName(bossName) {
1820
1811
  }
1821
1812
  }
1822
1813
  }
1823
- return void 0;
1814
+ return 0;
1824
1815
  }
1825
1816
  __name(getMaxStacksByName, "getMaxStacksByName");
1826
1817
  function getMaxShieldByName(bossName) {
1827
- if (bossName === "测试假人") return 0;
1828
1818
  for (const boss of bossPool) {
1829
1819
  if (boss.main.name === bossName) return boss.main.maxShield;
1830
1820
  for (const minion of boss.minions) {
1831
1821
  if (minion.name === bossName) return minion.maxShield;
1832
1822
  }
1833
1823
  }
1834
- return void 0;
1824
+ return 0;
1835
1825
  }
1836
1826
  __name(getMaxShieldByName, "getMaxShieldByName");
1837
1827
  function getArmorByName(bossName) {
1838
- if (bossName === "测试假人") return 0;
1839
1828
  for (const boss of bossPool) {
1840
1829
  if (boss.main.name === bossName) return boss.main.armor;
1841
1830
  for (const minion of boss.minions) {
1842
1831
  if (minion.name === bossName) return minion.armor;
1843
1832
  }
1844
1833
  }
1845
- return void 0;
1834
+ return 0;
1846
1835
  }
1847
1836
  __name(getArmorByName, "getArmorByName");
1848
1837
  function getShieldArmorByName(bossName) {
1849
- if (bossName === "测试假人") return 0;
1850
1838
  for (const boss of bossPool) {
1851
1839
  if (boss.main.name === bossName) return boss.main.shieldArmor;
1852
1840
  for (const minion of boss.minions) {
1853
1841
  if (minion.name === bossName) return minion.shieldArmor;
1854
1842
  }
1855
1843
  }
1856
- return void 0;
1844
+ return 0;
1857
1845
  }
1858
1846
  __name(getShieldArmorByName, "getShieldArmorByName");
1859
1847
  var BattleEffectProcessor = {
@@ -3866,7 +3854,7 @@ var BattleEffectProcessor = {
3866
3854
  let targetUpdates = null;
3867
3855
  let pulseGrenadeTriggered = false;
3868
3856
  if (weaponName === "M4AE脉冲步枪") {
3869
- const armorReduction = -0.2;
3857
+ const armorReduction = 2;
3870
3858
  targetUpdates = {
3871
3859
  name: targetBoss.name,
3872
3860
  updates: { armorChange: armorReduction }
@@ -3879,7 +3867,7 @@ var BattleEffectProcessor = {
3879
3867
  } else if (weaponName === "动力钻头" && equippedWeapon.installedMods?.includes("强力钻刺核心")) {
3880
3868
  targetUpdates = {
3881
3869
  name: targetBoss.name,
3882
- updates: { armorChange: -0.1 }
3870
+ updates: { armorChange: 1 }
3883
3871
  };
3884
3872
  messages.push(`⚡ 【强力钻刺核心】触发:动力钻头穿透装甲,削减目标0.1点护甲值`);
3885
3873
  } else {
@@ -4583,10 +4571,14 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
4583
4571
  if (equippedWeapon.installedMods?.includes("强力钻刺核心")) {
4584
4572
  armorDamageReduction = 0.2;
4585
4573
  }
4586
- armor += targetBoss.armor - targetBoss.radiationLayers * 0.05;
4574
+ armor += getArmorByName(targetBoss.name) - targetBoss.radiationLayers * 0.05 - targetBoss.armorReductionLayers * 0.1;
4587
4575
  const armorReduction = armorDamageReduction * armor;
4588
4576
  if (armorReduction !== 0) {
4589
- messages.push(`护甲减伤: ${armorReduction.toFixed(2)}点`);
4577
+ if (armorReduction > 0) {
4578
+ messages.push(`护甲减伤: ${armorReduction.toFixed(2)}点`);
4579
+ } else {
4580
+ messages.push(`护甲增伤: ${Math.abs(armorReduction).toFixed(2)}点`);
4581
+ }
4590
4582
  }
4591
4583
  finalDamage = Math.max(Math.round(finalDamage - armorReduction), 1);
4592
4584
  if (finalDamage < targetBoss.HP) {
@@ -5297,6 +5289,15 @@ var ggcevoUpdates = [
5297
5289
  - 黑市订购逻辑已修改,现在无法重复订购已有的设备工具类物品
5298
5290
  - 新增探索星系“陨石星系”
5299
5291
  `.trim()
5292
+ },
5293
+ {
5294
+ version: "1.6.8",
5295
+ time: "2025-07-09",
5296
+ content: `
5297
+ - 增强DG-3电弧步枪的散射伤害系数至50%
5298
+ - 提高“绝对零度”和“脉冲干扰”任务金币奖励,降低“破甲先锋”和“烈火燎原”任务金币奖励
5299
+ - 提高“自动采掘机器人”和“CRED-17”每次升级区间至5%-15%
5300
+ `.trim()
5300
5301
  }
5301
5302
  ];
5302
5303
  function compareVersions(a, b) {
@@ -5470,7 +5471,6 @@ async function activateNextBossGroup(ctx, currentBossId = null) {
5470
5471
  // 新增标签字段
5471
5472
  skills: [...nextBossGroup.main.passive],
5472
5473
  energy: nextBossGroup.main.maxEnergy,
5473
- armor: nextBossGroup.main.armor,
5474
5474
  groupId: nextBossGroup.id,
5475
5475
  isActive: true,
5476
5476
  respawnTime: /* @__PURE__ */ new Date()
@@ -5484,7 +5484,6 @@ async function activateNextBossGroup(ctx, currentBossId = null) {
5484
5484
  // 新增标签字段
5485
5485
  skills: [...minion.passive],
5486
5486
  energy: minion.maxEnergy,
5487
- armor: minion.armor,
5488
5487
  groupId: nextBossGroup.id,
5489
5488
  isActive: true,
5490
5489
  respawnTime: /* @__PURE__ */ new Date()
@@ -6780,8 +6779,8 @@ async function updateDatabaseWithStats(ctx, stats) {
6780
6779
  updateData.energy = Math.max(0, Math.min(maxEnergy, newEnergy));
6781
6780
  }
6782
6781
  if (stats.armorChange !== 0) {
6783
- const newarmor = boss.armor + stats.armorChange;
6784
- updateData.armor = newarmor;
6782
+ const newarmor = boss.armorReductionLayers + stats.armorChange;
6783
+ updateData.armorReductionLayers = newarmor;
6785
6784
  }
6786
6785
  if (stats.skillStacksChanged !== 0) {
6787
6786
  const newStacks = boss.skillStacks + stats.skillStacksChanged;
@@ -7196,7 +7195,7 @@ function apply(ctx, config) {
7196
7195
  type: "string",
7197
7196
  HP: "unsigned",
7198
7197
  energy: "unsigned",
7199
- armor: "integer",
7198
+ armorReductionLayers: "unsigned",
7200
7199
  tags: "list",
7201
7200
  skills: "list",
7202
7201
  skillStacks: "unsigned",
@@ -9962,7 +9961,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
9962
9961
  if (bossGroup.main.maxEnergy > 0) {
9963
9962
  result.push(`⚡ 能量:${mainBoss.energy}/1000`);
9964
9963
  }
9965
- result.push(`🛡️ 护甲:${mainBoss.armor || 0}`);
9964
+ result.push(`🛡️ 护甲:${bossGroup.main.armor || 0}`);
9966
9965
  result.push(`🏷️ 标签:${mainBoss.tags?.join("、") || "无"}`);
9967
9966
  if (mainBoss.radiationLayers > 0) {
9968
9967
  result.push(`☢️ 辐射:${mainBoss.radiationLayers}层`);
@@ -10029,7 +10028,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
10029
10028
  if (minionConfig && minionConfig.maxEnergy > 0) {
10030
10029
  minionInfo.push(`⚡ 能量:${minion.energy}/1000`);
10031
10030
  }
10032
- minionInfo.push(`🛡️ 护甲:${minion.armor || 0}`);
10031
+ minionInfo.push(`🛡️ 护甲:${minionConfig?.armor || 0}`);
10033
10032
  minionInfo.push(`🏷️ 标签:${minion.tags?.join("、") || "无"}`);
10034
10033
  if (minion.radiationLayers > 0) {
10035
10034
  minionInfo.push(`☢️ 辐射:${minion.radiationLayers}层`);
@@ -10105,7 +10104,6 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
10105
10104
  tags: bossConfig.main.tags,
10106
10105
  skills: [...bossConfig.main.passive],
10107
10106
  energy: bossConfig.main.maxEnergy,
10108
- armor: bossConfig.main.armor,
10109
10107
  groupId: groupid,
10110
10108
  isActive: true,
10111
10109
  respawnTime: /* @__PURE__ */ new Date()
@@ -10122,7 +10120,6 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
10122
10120
  tags: minion.tags,
10123
10121
  skills: [...minion.passive],
10124
10122
  energy: minion.maxEnergy,
10125
- armor: minion.armor,
10126
10123
  groupId: groupid,
10127
10124
  isActive: true,
10128
10125
  respawnTime: /* @__PURE__ */ new Date()
@@ -11675,7 +11672,9 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11675
11672
  const explorers = await ctx.database.get("ggcevo_explore", {
11676
11673
  galaxy: galaxyName,
11677
11674
  status: "探索中",
11678
- handle: { $ne: handle }
11675
+ handle: { $ne: handle },
11676
+ plunderbonus: { $gte: 0 }
11677
+ // 新增条件:掠夺收益大于等于0
11679
11678
  });
11680
11679
  if (explorers.length > 0) {
11681
11680
  const shipHandles = explorers.map((e) => e.handle);
@@ -11780,7 +11779,6 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11780
11779
  ...shipList.map((ship) => `▸ ${ship}`),
11781
11780
  "\n🛒 购买指令:购买飞船 [飞船名称]",
11782
11781
  "例如:购买飞船 TX-12S隐形巡洋舰",
11783
- "\n📡 查询您当前的飞船:飞船信息",
11784
11782
  '\n💡 提示:购买飞船后使用"飞船信息"查看您的飞船'
11785
11783
  ].join("\n");
11786
11784
  });
@@ -11904,7 +11902,9 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11904
11902
  currentBonus: item.bonus,
11905
11903
  maxBonus: upgradeConfig2.maxBonus,
11906
11904
  cost: actualCost,
11907
- discount: isCommander ? `(原价: ${baseCost} 红晶)` : ""
11905
+ discount: isCommander ? `(原价: ${baseCost} 红晶)` : "",
11906
+ // 新增: 存储升级区间信息
11907
+ upgradeRange: `${upgradeConfig2.minUpgrade}%~${upgradeConfig2.maxUpgrade}%`
11908
11908
  });
11909
11909
  }
11910
11910
  if (upgradableItems.length === 0) {
@@ -11920,12 +11920,16 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
11920
11920
  const msgLines = [
11921
11921
  "💎 可升级物品列表",
11922
11922
  ...discountNotice2,
11923
- // 在列表下方第一行添加折扣明细
11924
11923
  "====================",
11924
+ // 修改这里: 在物品信息中增加升级区间显示
11925
11925
  ...upgradableItems.map((item) => {
11926
- return `▸ ${item.name}:
11927
- 升级加成 ${item.currentBonus}% / ${item.maxBonus}%
11928
- 升级消耗:${item.cost} 红晶 ${item.discount}`;
11926
+ return [
11927
+ `▸ ${item.name}:`,
11928
+ ` 当前升级加成: ${item.currentBonus}% / ${item.maxBonus}%`,
11929
+ ` 每次升级提升: ${item.upgradeRange}`,
11930
+ // 新增行
11931
+ ` 升级消耗: ${item.cost} 红晶 ${item.discount}`
11932
+ ].join("\n");
11929
11933
  }),
11930
11934
  "====================",
11931
11935
  `使用"升级物品 物品名称"进行升级`
package/lib/tasks.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare const Tasklist: {
11
11
  readonly id: 2;
12
12
  readonly type: "可重复任务";
13
13
  readonly target: 1;
14
- readonly price: 50;
14
+ readonly price: 75;
15
15
  readonly redCrystalCost: 0;
16
16
  readonly condition: "使用【零度之下】攻击目标并成功增加其1层[寒冷]";
17
17
  };
@@ -27,7 +27,7 @@ export declare const Tasklist: {
27
27
  readonly id: 4;
28
28
  readonly type: "可重复任务";
29
29
  readonly target: 1;
30
- readonly price: 40;
30
+ readonly price: 45;
31
31
  readonly redCrystalCost: 0;
32
32
  readonly condition: "使用【脉冲扰乱枪】攻击目标并成功减少其1层技能层数";
33
33
  };
@@ -43,7 +43,7 @@ export declare const Tasklist: {
43
43
  readonly id: 6;
44
44
  readonly type: "可重复任务";
45
45
  readonly target: 1;
46
- readonly price: 100;
46
+ readonly price: 80;
47
47
  readonly redCrystalCost: 0;
48
48
  readonly condition: "使用【M4AE脉冲步枪】或【动力钻头】攻击目标并成功削减其0.1护甲";
49
49
  };
@@ -51,7 +51,7 @@ export declare const Tasklist: {
51
51
  readonly id: 7;
52
52
  readonly type: "可重复任务";
53
53
  readonly target: 1;
54
- readonly price: 50;
54
+ readonly price: 40;
55
55
  readonly redCrystalCost: 0;
56
56
  readonly condition: "使用【焚烧枪】或【龙息霰弹枪】攻击目标并成功增加其1层[燃烧]";
57
57
  };
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.6.6",
4
+ "version": "1.6.8",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [