koishi-plugin-ggcevo-game 1.4.49 → 1.4.50

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/index.js CHANGED
@@ -251,7 +251,7 @@ var weaponConfig = {
251
251
  description: "一件传奇武器",
252
252
  specialeffect: "",
253
253
  price: 6400,
254
- redCrystalCost: 150,
254
+ redCrystalCost: 200,
255
255
  isantiair: true,
256
256
  tagEffects: {
257
257
  "生物": 2,
@@ -267,7 +267,7 @@ var weaponConfig = {
267
267
  description: "一件传奇武器",
268
268
  specialeffect: "攻击暴击率+80%",
269
269
  price: 6400,
270
- redCrystalCost: 150,
270
+ redCrystalCost: 200,
271
271
  isantiair: true,
272
272
  tagEffects: {
273
273
  "重甲": 1.5
@@ -281,7 +281,7 @@ var weaponConfig = {
281
281
  description: "这是传说中的武器",
282
282
  specialeffect: "",
283
283
  price: 6400,
284
- redCrystalCost: 150,
284
+ redCrystalCost: 200,
285
285
  isantiair: false,
286
286
  tagEffects: {
287
287
  "轻甲": 1.5,
@@ -296,7 +296,7 @@ var weaponConfig = {
296
296
  description: "一件传奇武器",
297
297
  specialeffect: "",
298
298
  price: 6400,
299
- redCrystalCost: 150,
299
+ redCrystalCost: 200,
300
300
  isantiair: true,
301
301
  tagEffects: {
302
302
  "重甲": 1.2
@@ -310,7 +310,7 @@ var weaponConfig = {
310
310
  description: "优雅而独特的武器",
311
311
  specialeffect: "无视目标100%的减伤效果",
312
312
  price: 6400,
313
- redCrystalCost: 150,
313
+ redCrystalCost: 200,
314
314
  isantiair: false,
315
315
  tagEffects: {}
316
316
  },
@@ -322,7 +322,7 @@ var weaponConfig = {
322
322
  description: "一件传奇武器",
323
323
  specialeffect: "攻击消耗目标500点能量",
324
324
  price: 6400,
325
- redCrystalCost: 150,
325
+ redCrystalCost: 200,
326
326
  isantiair: true,
327
327
  tagEffects: {
328
328
  "机械": 1.5
@@ -336,7 +336,7 @@ var weaponConfig = {
336
336
  description: "一件传奇武器",
337
337
  specialeffect: "攻击无视目标80%的减伤效果",
338
338
  price: 6400,
339
- redCrystalCost: 150,
339
+ redCrystalCost: 200,
340
340
  isantiair: true,
341
341
  tagEffects: {
342
342
  "重甲": 2
@@ -350,7 +350,7 @@ var weaponConfig = {
350
350
  description: "一件传奇武器",
351
351
  specialeffect: "",
352
352
  price: 6400,
353
- redCrystalCost: 150,
353
+ redCrystalCost: 200,
354
354
  isantiair: true,
355
355
  tagEffects: {
356
356
  "建筑": 2,
@@ -604,7 +604,7 @@ var spaceStationCrewConfig = [
604
604
  var syndicatePirateConfig = [
605
605
  {
606
606
  professionName: "能量武器专家",
607
- effect: "能量武器攻击伤害+20%; 解锁MK-4激光步枪(传奇)购买权限",
607
+ effect: "能量武器攻击伤害+20%; 购买MK-4激光步枪(传奇)享有50%的折扣",
608
608
  requirements: "至少拥有一把3级及以上等级的能量武器",
609
609
  Jobtransfer: true,
610
610
  costredcrystal: 30
@@ -618,21 +618,21 @@ var syndicatePirateConfig = [
618
618
  },
619
619
  {
620
620
  professionName: "枪手",
621
- effect: "武器等级上限为7级; 升级武器享有10%的折扣; 解锁M4AE脉冲步枪(传奇)购买权限",
621
+ effect: "武器等级上限为7级; 升级武器享有10%的折扣; 购买M4AE脉冲步枪(传奇)享有50%的折扣",
622
622
  requirements: "至少拥有一把6级及以上等级的武器",
623
623
  Jobtransfer: true,
624
624
  costredcrystal: 35
625
625
  },
626
626
  {
627
627
  professionName: "猩红杀手",
628
- effect: "“侦察步枪”攻击伤害+15%; 使用“侦察步枪”攻击时无视目标20%的减伤效果; 解锁DSR-55反器材步枪(传奇)购买权限",
628
+ effect: "“侦察步枪”攻击伤害+15%; 使用“侦察步枪”攻击时无视目标20%的减伤效果; 购买DSR-55反器材步枪(传奇)享有50%的折扣",
629
629
  requirements: "“侦察步枪”武器等级≥3级",
630
630
  Jobtransfer: true,
631
631
  costredcrystal: 30
632
632
  },
633
633
  {
634
634
  professionName: "纵火狂",
635
- effect: "热能武器攻击伤害+20%; 解锁龙息霰弹枪(传奇)购买权限",
635
+ effect: "热能武器攻击伤害+20%; 购买龙息霰弹枪(传奇)享有50%的折扣",
636
636
  requirements: "至少拥有一把3级及以上等级的热能武器",
637
637
  Jobtransfer: true,
638
638
  costredcrystal: 30
@@ -4078,6 +4078,12 @@ function formatTime(date) {
4078
4078
  });
4079
4079
  }
4080
4080
  __name(formatTime, "formatTime");
4081
+ var legendaryDiscounts = {
4082
+ "MK-4激光步枪": ["能量武器专家"],
4083
+ "DSR-55反器材步枪": ["猩红杀手"],
4084
+ "龙息霰弹枪": ["纵火狂"],
4085
+ "M4AE脉冲步枪": ["枪手"]
4086
+ };
4081
4087
 
4082
4088
  // src/boss/damagecalculation.ts
4083
4089
  async function calculateTotalDamage(ctx, session, config, equippedWeapon, targetBoss) {
@@ -7572,8 +7578,8 @@ ${validTypes.join("、")}`;
7572
7578
  const layerDisplay = layerInfo.length > 0 ? `📊 层数状态: ${layerInfo.join(" | ")}` : "";
7573
7579
  return [
7574
7580
  `🎯 使用武器 ${weaponName} 攻击 ${dummyBoss.name}`,
7575
- `❤️ 假人血量:${dummyBoss.HP}`,
7576
- `⚡ 假人能量:${dummyBoss.energy}`,
7581
+ `❤️ 假人血量:${dummyBoss.HP}/10000`,
7582
+ `⚡ 假人能量:${dummyBoss.energy}/1000`,
7577
7583
  options.tags?.length && `🏷️ 模拟标签:${tags.join(", ")}`,
7578
7584
  options.passives?.length && `✨ 模拟被动:${passives.join(", ")}`,
7579
7585
  layerDisplay,
@@ -7591,9 +7597,8 @@ ${testResult.ignoreMessage.map((m) => `▸ ${m}`).join("\n")}`
7591
7597
  ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
7592
7598
  ] : [],
7593
7599
  `📊 理论伤害值:${testResult.initialDamage}${testResult.hasCrit ? "(✨ 暴击)" : ""}`,
7594
- "💡 提示:可添加标签(-t)、被动(-p)、血量(-l)、能量(-e)",
7595
- "💡 层数选项:技能层数(-s)、辐射层数(-r)、寒冷层数(-c)、状态层数(-a)",
7596
- `ℹ️ 测试假人最大血量:10000 | 最大能量:1000 | 最大层数:100`
7600
+ "💡 参数添加:可添加标签(-t)、被动(-p)、血量(-l)、能量(-e)",
7601
+ "💡 层数选项:技能层数(-s)、辐射层数(-r)、寒冷层数(-c)、状态层数(-a)"
7597
7602
  ].filter((line) => line).join("\n");
7598
7603
  } finally {
7599
7604
  Object.keys("测试假人").forEach((key) => delete battleStatsMap[key]);
@@ -7910,7 +7915,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
7910
7915
  return `您输入的是错误的阵营名称,请选择有效阵营:${validFactions.join(" / ")}`;
7911
7916
  }
7912
7917
  const [existing] = await ctx.database.get("ggcevo_careers", { handle });
7913
- if (existing) {
7918
+ if (existing.group === "人类联盟" || existing.group === "辛迪加海盗") {
7914
7919
  return `你已经加入${existing.group}阵营,当前职业:${existing.career}`;
7915
7920
  }
7916
7921
  const [signData] = await ctx.database.get("ggcevo_sign", { handle });
@@ -7927,15 +7932,13 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
7927
7932
  handle,
7928
7933
  totalRewards: signData?.totalRewards - 1e3
7929
7934
  }], ["handle"]);
7930
- await ctx.database.create("ggcevo_careers", {
7935
+ await ctx.database.upsert("ggcevo_careers", [{
7931
7936
  handle,
7932
7937
  group: "人类联盟",
7933
7938
  career: "联盟新兵",
7934
- redcrystal: 0,
7935
7939
  date: /* @__PURE__ */ new Date()
7936
- });
7940
+ }], ["handle"]);
7937
7941
  } else if (faction === "辛迪加海盗") {
7938
- const [pkData] = await ctx.database.get("ggcevo_pk", { handle });
7939
7942
  if (userCoins < 2e3) {
7940
7943
  return `加入辛迪加海盗需要缴纳2000金币,您当前拥有${userCoins}金币`;
7941
7944
  }
@@ -7946,13 +7949,13 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
7946
7949
  handle,
7947
7950
  totalRewards: signData?.totalRewards - 2e3
7948
7951
  }], ["handle"]);
7949
- await ctx.database.create("ggcevo_careers", {
7952
+ await ctx.database.upsert("ggcevo_careers", [{
7950
7953
  handle,
7951
7954
  group: "辛迪加海盗",
7952
7955
  career: "辛迪加炮灰新兵",
7953
- redcrystal: 5,
7956
+ redcrystal: (existing?.redcrystal || 0) + 5,
7954
7957
  date: /* @__PURE__ */ new Date()
7955
- });
7958
+ }], ["handle"]);
7956
7959
  }
7957
7960
  return `花费了${faction === "人类联盟" ? "1000金币" : "2000金币"}成功加入${faction}!${faction === "人类联盟" ? "" : "获得5枚红晶,"}初始职业:${faction === "人类联盟" ? "联盟新兵" : "辛迪加炮灰新兵"}`;
7958
7961
  } catch (err) {
@@ -8168,8 +8171,22 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8168
8171
  if (!careerData || careerData.group !== "辛迪加海盗") {
8169
8172
  return "🚫 该功能需要【辛迪加海盗】阵营权限";
8170
8173
  }
8171
- const isComputerExpert = careerData.career === "计算机专家";
8172
- const isSaboteur = careerData.career === "破坏者";
8174
+ const currentCareer = careerData.career;
8175
+ const discountProfessions = {
8176
+ "计算机专家": ["设备工具"],
8177
+ "破坏者": ["爆破物"]
8178
+ };
8179
+ Object.keys(legendaryDiscounts).forEach((item) => {
8180
+ if (legendaryDiscounts[item].includes(currentCareer)) {
8181
+ const category2 = weaponConfig[item]?.category;
8182
+ if (category2 && !discountProfessions[currentCareer]?.includes(category2)) {
8183
+ discountProfessions[currentCareer] = [
8184
+ ...discountProfessions[currentCareer] || [],
8185
+ category2
8186
+ ];
8187
+ }
8188
+ }
8189
+ });
8173
8190
  const categoryStats = {};
8174
8191
  Object.values(weaponConfig).filter((config2) => config2.redCrystalCost > 0).forEach((weapon) => {
8175
8192
  categoryStats[weapon.category] = (categoryStats[weapon.category] || 0) + 1;
@@ -8179,17 +8196,16 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8179
8196
  });
8180
8197
  if (!category) {
8181
8198
  const discountLines = [];
8182
- if (isComputerExpert) {
8183
- discountLines.push("▸ 💻 计算机专家职业:设备工具类物品50%折扣");
8184
- }
8185
- if (isSaboteur) {
8186
- discountLines.push("▸ 💣 破坏者职业:爆破物类物品50%折扣");
8187
- }
8199
+ Object.entries(discountProfessions).forEach(([profession, categories]) => {
8200
+ categories.forEach((cat) => {
8201
+ discountLines.push(`▸ ${profession}:${cat}类50%折扣`);
8202
+ });
8203
+ });
8188
8204
  return [
8189
8205
  "🏴 辛迪加黑市 🏴",
8190
8206
  '使用 "黑市 分类名称" 查看详细信息',
8191
8207
  discountLines.length ? [
8192
- "💰 折扣明细:",
8208
+ "💰 专属折扣职业:",
8193
8209
  ...discountLines
8194
8210
  ].join("\n") : "",
8195
8211
  "====================",
@@ -8199,18 +8215,29 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8199
8215
  }
8200
8216
  const normalizedCategory = Object.keys(categoryStats).find((c) => c === category);
8201
8217
  if (!normalizedCategory) return `无效分类,可用:${Object.keys(categoryStats).join("、")}`;
8202
- const isLegendaryCategory = normalizedCategory === "传奇武器";
8203
- const legendaryNotice = isLegendaryCategory ? "⚠️ 注意:购买传奇武器需要对应的辛迪加海盗职业权限" : null;
8204
8218
  const items = [
8205
8219
  ...Object.entries(weaponConfig).filter(
8206
8220
  ([_, config2]) => config2.category === normalizedCategory && config2.redCrystalCost > 0
8207
8221
  ).map(([name2, config2]) => {
8222
+ let discountPrice = null;
8223
+ let discountProfession = null;
8224
+ if (legendaryDiscounts[name2]?.includes(currentCareer)) {
8225
+ discountPrice = Math.floor(config2.redCrystalCost * 0.5);
8226
+ discountProfession = currentCareer;
8227
+ }
8208
8228
  const infoBlocks = [
8209
8229
  `【${name2}】`,
8210
8230
  `武器类型:${config2.type}`,
8211
- `基础伤害:${config2.damage}`,
8212
- `订购价:${config2.redCrystalCost}红晶`
8231
+ `基础伤害:${config2.damage}`
8213
8232
  ];
8233
+ if (discountPrice) {
8234
+ infoBlocks.push(
8235
+ `订购价:${discountPrice}红晶 (原价${config2.redCrystalCost})`,
8236
+ `折扣:${discountProfession}专属50%折扣`
8237
+ );
8238
+ } else {
8239
+ infoBlocks.push(`订购价:${config2.redCrystalCost}红晶`);
8240
+ }
8214
8241
  if (config2.specialeffect) {
8215
8242
  infoBlocks.push(`特殊效果:${config2.specialeffect}`);
8216
8243
  }
@@ -8228,26 +8255,23 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8228
8255
  ...Object.entries(SyndicatedItems).filter(
8229
8256
  ([_, item]) => item.type === normalizedCategory && item.redCrystalCost > 0
8230
8257
  ).map(([name2, item]) => {
8231
- let finalPrice = item.redCrystalCost;
8232
- let discountApplied = false;
8233
- let discountType = "";
8234
- if (isSaboteur && normalizedCategory === "爆破物") {
8235
- finalPrice = Math.floor(item.redCrystalCost * 0.5);
8236
- discountApplied = true;
8237
- discountType = "破坏者";
8238
- } else if (isComputerExpert && normalizedCategory === "设备工具") {
8239
- finalPrice = Math.floor(item.redCrystalCost * 0.5);
8240
- discountApplied = true;
8241
- discountType = "计算机专家";
8258
+ let discountPrice = null;
8259
+ let discountReason = null;
8260
+ if (currentCareer === "破坏者" && normalizedCategory === "爆破物") {
8261
+ discountPrice = Math.floor(item.redCrystalCost * 0.5);
8262
+ discountReason = "破坏者";
8263
+ } else if (currentCareer === "计算机专家" && normalizedCategory === "设备工具") {
8264
+ discountPrice = Math.floor(item.redCrystalCost * 0.5);
8265
+ discountReason = "计算机专家";
8242
8266
  }
8243
8267
  const infoBlocks = [
8244
8268
  `【${name2}】`,
8245
8269
  `物品类型:${item.type}`
8246
8270
  ];
8247
- if (discountApplied) {
8271
+ if (discountPrice) {
8248
8272
  infoBlocks.push(
8249
- `订购价:${finalPrice}红晶 (原价${item.redCrystalCost})`,
8250
- `折扣:${discountType}专属50%折扣`
8273
+ `订购价:${discountPrice}红晶 (原价${item.redCrystalCost})`,
8274
+ `折扣:${discountReason}专属50%折扣`
8251
8275
  );
8252
8276
  } else {
8253
8277
  infoBlocks.push(
@@ -8256,7 +8280,6 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8256
8280
  }
8257
8281
  infoBlocks.push(
8258
8282
  `条件:${item.condition}`,
8259
- // 新增的条件字段
8260
8283
  `特殊效果:${item.effects}`,
8261
8284
  `描述:${item.description}`,
8262
8285
  "------------------"
@@ -8264,23 +8287,29 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8264
8287
  return infoBlocks.join("\n");
8265
8288
  })
8266
8289
  ];
8267
- let discountInfo = [];
8268
- if (isSaboteur && normalizedCategory === "爆破物") {
8269
- discountInfo = [
8270
- "💰 折扣明细:",
8271
- "▸ 💣 破坏者职业:爆破物类物品50%折扣"
8272
- ];
8273
- } else if (isComputerExpert && normalizedCategory === "设备工具") {
8274
- discountInfo = [
8290
+ const discountInfo = [];
8291
+ if (normalizedCategory === "传奇武器") {
8292
+ const availableDiscounts = [];
8293
+ Object.entries(legendaryDiscounts).forEach(([weapon, professions]) => {
8294
+ if (professions.includes(currentCareer)) {
8295
+ availableDiscounts.push(`${weapon}(${currentCareer}专属50%折扣)`);
8296
+ }
8297
+ });
8298
+ if (availableDiscounts.length) {
8299
+ discountInfo.push(
8300
+ "💰 传奇武器职业折扣:",
8301
+ `▸ ${availableDiscounts.join("\n▸ ")}`
8302
+ );
8303
+ }
8304
+ } else if (currentCareer === "破坏者" && normalizedCategory === "爆破物" || currentCareer === "计算机专家" && normalizedCategory === "设备工具") {
8305
+ discountInfo.push(
8275
8306
  "💰 折扣明细:",
8276
- "▸ 💻 计算机专家职业:设备工具类物品50%折扣"
8277
- ];
8307
+ `▸ ${currentCareer}职业:${normalizedCategory}类50%折扣`
8308
+ );
8278
8309
  }
8279
8310
  return [
8280
8311
  `🏴 辛迪加黑市 - ${normalizedCategory} 🏴`,
8281
8312
  '使用"订购 物品名称"进行购买(仅消耗红晶)',
8282
- legendaryNotice,
8283
- // 新增传奇武器权限提示
8284
8313
  ...discountInfo,
8285
8314
  "====================",
8286
8315
  ...items
@@ -8303,34 +8332,22 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8303
8332
  if (!isWeapon && !isSyndicatedItem) return "❌ 无效物品名称";
8304
8333
  const itemConfig2 = isWeapon ? weaponConfig[item] : SyndicatedItems[item];
8305
8334
  if (!itemConfig2.redCrystalCost) return "⛔ 该物品不可订购";
8306
- const isLegendaryWeapon = isWeapon && itemConfig2.category === "传奇武器";
8307
- if (isLegendaryWeapon) {
8308
- if (item === "MK-4激光步枪" && careerData.career !== "能量武器专家") {
8309
- return "❌ 购买MK-4激光步枪需要【能量武器专家】职业。";
8310
- } else if (item === "DSR-55反器材步枪" && careerData.career !== "猩红杀手") {
8311
- return "❌ 购买DSR-55反器材步枪需要【猩红杀手】职业。";
8312
- } else if (item === "龙息霰弹枪" && careerData.career !== "纵火狂") {
8313
- return "❌ 购买龙息霰弹枪需要【纵火狂】职业。";
8314
- } else if (item === "M4AE脉冲步枪" && careerData.career !== "枪手") {
8315
- return "❌ 购买M4AE脉冲步枪需要【枪手】职业。";
8316
- } else if (item !== "MK-4激光步枪" && item !== "DSR-55反器材步枪" && item !== "龙息霰弹枪" && item !== "M4AE脉冲步枪") {
8317
- return "❌ 未知的传奇武器或未开放购买权限";
8318
- }
8319
- }
8320
- let isComputerExpertDiscount = false;
8321
- let isSaboteurDiscount = false;
8335
+ let discountApplied = false;
8336
+ let discountReason = "";
8322
8337
  let originalPrice = itemConfig2.redCrystalCost;
8323
8338
  let finalCost = originalPrice;
8324
- let discountApplied = false;
8325
8339
  if (!isWeapon && itemConfig2.type === "爆破物" && careerData.career === "破坏者") {
8326
8340
  finalCost = Math.floor(originalPrice * 0.5);
8327
- isSaboteurDiscount = true;
8328
8341
  discountApplied = true;
8329
- }
8330
- if (!isWeapon && itemConfig2.type === "设备工具" && careerData.career === "计算机专家") {
8342
+ discountReason = "破坏者职业:爆破物类物品50%折扣";
8343
+ } else if (!isWeapon && itemConfig2.type === "设备工具" && careerData.career === "计算机专家") {
8344
+ finalCost = Math.floor(originalPrice * 0.5);
8345
+ discountApplied = true;
8346
+ discountReason = "计算机专家职业:设备工具类物品50%折扣";
8347
+ } else if (isWeapon && itemConfig2.category === "传奇武器" && legendaryDiscounts[item]?.includes(careerData.career)) {
8331
8348
  finalCost = Math.floor(originalPrice * 0.5);
8332
- isComputerExpertDiscount = true;
8333
8349
  discountApplied = true;
8350
+ discountReason = `${careerData.career}职业:购买${item}享受50%折扣`;
8334
8351
  }
8335
8352
  if ((careerData.redcrystal || 0) < finalCost) {
8336
8353
  const discountMessage = discountApplied ? `(原价${originalPrice})` : "";
@@ -8380,12 +8397,6 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8380
8397
  });
8381
8398
  const buildResponse = /* @__PURE__ */ __name(async () => {
8382
8399
  const discountLines = [];
8383
- if (isSaboteurDiscount) {
8384
- discountLines.push("💣 破坏者职业:爆破物类物品50%折扣");
8385
- }
8386
- if (isComputerExpertDiscount) {
8387
- discountLines.push("💻 计算机专家职业:设备工具类物品50%折扣");
8388
- }
8389
8400
  const priceInfo = [
8390
8401
  `消耗红晶:${finalCost}${discountApplied ? ` (原价${originalPrice})` : ""}`
8391
8402
  ];
@@ -8394,8 +8405,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8394
8405
  return [
8395
8406
  `✅ 成功订购【${item}】!`,
8396
8407
  ...priceInfo,
8397
- discountLines.length ? `💰 折扣明细:
8398
- ▸ ${discountLines.join("\n▸ ")}` : "",
8408
+ discountApplied ? `💰 折扣明细:${discountReason}` : "",
8399
8409
  `装备状态:${equippedStatus}`,
8400
8410
  '输入 "武器仓库" 管理武器'
8401
8411
  ].filter(Boolean).join("\n");
@@ -8407,8 +8417,8 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
8407
8417
  return [
8408
8418
  `✅ 成功订购【${item}】x1!`,
8409
8419
  ...priceInfo,
8410
- discountLines.length ? `💰 折扣明细:
8411
- ${discountLines.join("\n▸ ")}` : "",
8420
+ discountApplied ? `💰 折扣明细:
8421
+ ${discountReason}` : "",
8412
8422
  `当前库存:${currentStock}件`,
8413
8423
  '输入 "仓库" 查看所有物品'
8414
8424
  ].filter(Boolean).join("\n");
@@ -8855,7 +8865,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
8855
8865
  return "购买过程中发生错误,请稍后再试";
8856
8866
  }
8857
8867
  });
8858
- ctx.command("ggcevo/打开军械库防爆门").action(async (argv) => {
8868
+ ctx.command("ggcevo/开启军械库防爆门").alias("打开军械库防爆门").action(async (argv) => {
8859
8869
  const session = argv.session;
8860
8870
  const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
8861
8871
  if (!profile) return "🔒 请先绑定游戏句柄。";
@@ -8898,7 +8908,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
8898
8908
  }]);
8899
8909
  });
8900
8910
  return [
8901
- `🎉 军械库防爆门已打开!`,
8911
+ `🎉 军械库防爆门已开启!`,
8902
8912
  `✨ 您获得了传奇武器:${awardedWeapon.name}`,
8903
8913
  `🔧 武器类型:${awardedWeapon.type}`,
8904
8914
  `⚔️ 基础伤害:${awardedWeapon.damage}`,
package/lib/utils.d.ts CHANGED
@@ -23,3 +23,9 @@ export declare function generateUpgradePriceList(ctx: Context, handle: string):
23
23
  export declare function getRankInfo(ctx: Context, config: Config, handle: string): Promise<string>;
24
24
  export declare function isWithinProtection(protections: PKProtection[]): boolean;
25
25
  export declare function formatTime(date: Date): string;
26
+ export declare const legendaryDiscounts: {
27
+ 'MK-4\u6FC0\u5149\u6B65\u67AA': string[];
28
+ 'DSR-55\u53CD\u5668\u6750\u6B65\u67AA': string[];
29
+ 龙息霰弹枪: string[];
30
+ M4AE脉冲步枪: string[];
31
+ };
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.49",
4
+ "version": "1.4.50",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [