koishi-plugin-ggcevo-game 1.6.37 → 1.6.39
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 +78 -61
- package/lib/items.d.ts +6 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -717,27 +717,27 @@ var initDefaultItems = {
|
|
|
717
717
|
"🎖S2赛季前二十勋章": { id: 115, type: "勋章", description: "" }
|
|
718
718
|
};
|
|
719
719
|
var itemConfig = {
|
|
720
|
-
"拾荒者": { quality: "t3", type: "皮肤", cost: 3, isLimited: false },
|
|
721
|
-
"劳工": { quality: "t3", type: "皮肤", cost: 3, isLimited: false },
|
|
722
|
-
"老兵": { quality: "t2", type: "皮肤", cost: 4, isLimited: false },
|
|
723
|
-
"合成人": { quality: "t2", type: "皮肤", cost: 4, isLimited: false },
|
|
724
|
-
"阿斯塔特": { quality: "t1", type: "皮肤", cost: 5, isLimited: false },
|
|
725
|
-
"皇家指挥官": { quality: "t1", type: "皮肤", cost: 5, isLimited: false },
|
|
726
|
-
"个性开场白": { quality: "t1", type: "入场特效", cost: 5, quantity:
|
|
720
|
+
"拾荒者": { quality: "t3", type: "皮肤", cost: 3, quantity: 8, isLimited: false },
|
|
721
|
+
"劳工": { quality: "t3", type: "皮肤", cost: 3, quantity: 8, isLimited: false },
|
|
722
|
+
"老兵": { quality: "t2", type: "皮肤", cost: 4, quantity: 5, isLimited: false },
|
|
723
|
+
"合成人": { quality: "t2", type: "皮肤", cost: 4, quantity: 5, isLimited: false },
|
|
724
|
+
"阿斯塔特": { quality: "t1", type: "皮肤", cost: 5, quantity: 4, isLimited: false },
|
|
725
|
+
"皇家指挥官": { quality: "t1", type: "皮肤", cost: 5, quantity: 4, isLimited: false },
|
|
726
|
+
"个性开场白": { quality: "t1", type: "入场特效", cost: 5, quantity: 4, isLimited: false },
|
|
727
727
|
"史蒂夫": { quality: "t0", type: "皮肤", cost: 6, quantity: 1, isLimited: true },
|
|
728
728
|
"ep4": { quality: "t0", type: "物品", cost: 6, quantity: 3, isLimited: false },
|
|
729
|
-
"小狗": { quality: "t3", type: "宠物", cost: 3, quantity:
|
|
730
|
-
"小猫": { quality: "t3", type: "宠物", cost: 3, quantity:
|
|
731
|
-
"小黄鸭": { quality: "t3", type: "宠物", cost: 3, quantity:
|
|
732
|
-
"萌萌熊": { quality: "t2", type: "宠物", cost: 4, quantity:
|
|
733
|
-
"荆棘蜥蜴": { quality: "t2", type: "宠物", cost: 4, quantity:
|
|
734
|
-
"萌宠小狗": { quality: "t1", type: "宠物", cost: 5, quantity:
|
|
735
|
-
"熔岩虫": { quality: "t1", type: "宠物", cost: 5, quantity:
|
|
736
|
-
"尸甲虫": { quality: "t1", type: "宠物", cost: 5, quantity:
|
|
737
|
-
"绿毛虫": { quality: "t0", type: "宠物", cost: 6, quantity:
|
|
738
|
-
"妙蛙种子": { quality: "t0", type: "宠物", cost: 6, quantity:
|
|
739
|
-
"皮卡丘": { quality: "t0", type: "宠物", cost: 6, quantity:
|
|
740
|
-
"哆啦A梦": { quality: "t0", type: "宠物", cost: 6, quantity:
|
|
729
|
+
"小狗": { quality: "t3", type: "宠物", cost: 3, quantity: 6, isLimited: false },
|
|
730
|
+
"小猫": { quality: "t3", type: "宠物", cost: 3, quantity: 6, isLimited: false },
|
|
731
|
+
"小黄鸭": { quality: "t3", type: "宠物", cost: 3, quantity: 6, isLimited: false },
|
|
732
|
+
"萌萌熊": { quality: "t2", type: "宠物", cost: 4, quantity: 5, isLimited: false },
|
|
733
|
+
"荆棘蜥蜴": { quality: "t2", type: "宠物", cost: 4, quantity: 5, isLimited: false },
|
|
734
|
+
"萌宠小狗": { quality: "t1", type: "宠物", cost: 5, quantity: 3, isLimited: false },
|
|
735
|
+
"熔岩虫": { quality: "t1", type: "宠物", cost: 5, quantity: 3, isLimited: false },
|
|
736
|
+
"尸甲虫": { quality: "t1", type: "宠物", cost: 5, quantity: 3, isLimited: false },
|
|
737
|
+
"绿毛虫": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false },
|
|
738
|
+
"妙蛙种子": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false },
|
|
739
|
+
"皮卡丘": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false },
|
|
740
|
+
"哆啦A梦": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false }
|
|
741
741
|
};
|
|
742
742
|
|
|
743
743
|
// src/careersystem/careers.ts
|
|
@@ -6295,7 +6295,7 @@ var GUESSING_ITEMS = [
|
|
|
6295
6295
|
{
|
|
6296
6296
|
id: 1,
|
|
6297
6297
|
description: "猜测下一个复活主宰的名字",
|
|
6298
|
-
odds: 9
|
|
6298
|
+
odds: 9,
|
|
6299
6299
|
minBet: 10,
|
|
6300
6300
|
status: "open"
|
|
6301
6301
|
}
|
|
@@ -7679,7 +7679,7 @@ function apply(ctx, config) {
|
|
|
7679
7679
|
);
|
|
7680
7680
|
const winMessages = [];
|
|
7681
7681
|
for (const winner of winners) {
|
|
7682
|
-
const prize = Math.floor(winner.amount * 9
|
|
7682
|
+
const prize = Math.floor(winner.amount * 9);
|
|
7683
7683
|
const [signInfo] = await ctx.database.get("ggcevo_sign", {
|
|
7684
7684
|
handle: winner.handle
|
|
7685
7685
|
});
|
|
@@ -8691,6 +8691,22 @@ ${ticketMessage}${effectMessage}`;
|
|
|
8691
8691
|
const configname2 = config2;
|
|
8692
8692
|
const quality = configname2.quality;
|
|
8693
8693
|
if (!qualityGroups[quality]) qualityGroups[quality] = [];
|
|
8694
|
+
let shouldSkip = false;
|
|
8695
|
+
if (configname2.quantity !== void 0) {
|
|
8696
|
+
const queryConditions = {
|
|
8697
|
+
item: itemName,
|
|
8698
|
+
GlobalLimit: true
|
|
8699
|
+
};
|
|
8700
|
+
if (itemName !== "史蒂夫") {
|
|
8701
|
+
queryConditions.season = currentSeason;
|
|
8702
|
+
}
|
|
8703
|
+
const records = await ctx.database.get("ggcevo_exchange", queryConditions);
|
|
8704
|
+
const remaining = Math.max(configname2.quantity - records.length, 0);
|
|
8705
|
+
if (configname2.isLimited && remaining <= 0) {
|
|
8706
|
+
shouldSkip = true;
|
|
8707
|
+
}
|
|
8708
|
+
}
|
|
8709
|
+
if (shouldSkip) continue;
|
|
8694
8710
|
let quantityText = "";
|
|
8695
8711
|
if (configname2.quantity !== void 0) {
|
|
8696
8712
|
const queryConditions = {
|
|
@@ -8722,7 +8738,7 @@ ${ticketMessage}${effectMessage}`;
|
|
|
8722
8738
|
|
|
8723
8739
|
`;
|
|
8724
8740
|
message += "请在30秒内输入可兑换物品名称(显示格式:物品名 [剩余/总量]):\n";
|
|
8725
|
-
message += "
|
|
8741
|
+
message += "注意:限量物品将在赛季更新时补货,限定物品除外。\n";
|
|
8726
8742
|
for (const quality of order) {
|
|
8727
8743
|
const items = qualityGroups[quality] || [];
|
|
8728
8744
|
if (!items.length) continue;
|
|
@@ -8789,7 +8805,8 @@ ${items.join("、")}
|
|
|
8789
8805
|
season: currentSeason
|
|
8790
8806
|
});
|
|
8791
8807
|
});
|
|
8792
|
-
return `🎉 恭喜!您使用${cost}个${couponName}兑换了【${name2}
|
|
8808
|
+
return `🎉 恭喜!您使用${cost}个${couponName}兑换了【${name2}】
|
|
8809
|
+
⚠️ 兑换完成后请寻找活动管理登记,否则将无法在游戏中使用!`;
|
|
8793
8810
|
} catch (error) {
|
|
8794
8811
|
console.error("兑换失败:", error);
|
|
8795
8812
|
return "兑换失败,请稍后再试";
|
|
@@ -8992,11 +9009,11 @@ ${items.join("、")}
|
|
|
8992
9009
|
return output.join("\n");
|
|
8993
9010
|
});
|
|
8994
9011
|
const processedLobbies = /* @__PURE__ */ new Set();
|
|
8995
|
-
ctx.command("ggcevo/pk [user]", "发起玩家对战").alias("挑战").action(async (argv, user) => {
|
|
9012
|
+
ctx.guild().command("ggcevo/pk [user]", "发起玩家对战").alias("挑战").action(async (argv, user) => {
|
|
8996
9013
|
try {
|
|
8997
9014
|
const session = argv.session;
|
|
8998
9015
|
const Curfew = fixedCurfewCheck(session, config);
|
|
8999
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9016
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9000
9017
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9001
9018
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9002
9019
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9379,7 +9396,7 @@ ${protectionList}
|
|
|
9379
9396
|
});
|
|
9380
9397
|
ctx.command("ggcevo/武器库 [category]").usage('输入"武器库"查看类型,或"武器库 类型"查看详细武器信息').action(async ({ session }, category) => {
|
|
9381
9398
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9382
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9399
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9383
9400
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9384
9401
|
if (!profile) return "⚠️ 需要先绑定游戏句柄";
|
|
9385
9402
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9524,7 +9541,7 @@ ${displayDiscounts.join("\n")}` : "",
|
|
|
9524
9541
|
});
|
|
9525
9542
|
ctx.command("ggcevo/爆破库 [type]").usage("输入“爆破库”查看分类,或“爆破库 类型”查看详细物品").action(async ({ session }, type) => {
|
|
9526
9543
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9527
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9544
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9528
9545
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9529
9546
|
if (!profile) return "⚠️ 需要先绑定游戏句柄";
|
|
9530
9547
|
const filteredItems = Object.values(SyndicatedItems).filter(
|
|
@@ -9573,7 +9590,7 @@ ${validTypes.join("、")}`;
|
|
|
9573
9590
|
});
|
|
9574
9591
|
ctx.command("ggcevo/购买 <item>").action(async ({ session }, item) => {
|
|
9575
9592
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9576
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9593
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9577
9594
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9578
9595
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9579
9596
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9761,7 +9778,7 @@ ${discountDetails.join("\n")}`;
|
|
|
9761
9778
|
});
|
|
9762
9779
|
ctx.command("ggcevo/武器仓库").action(async ({ session }) => {
|
|
9763
9780
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9764
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9781
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9765
9782
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9766
9783
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9767
9784
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9799,7 +9816,7 @@ ${discountDetails.join("\n")}`;
|
|
|
9799
9816
|
});
|
|
9800
9817
|
ctx.command("ggcevo/装备武器 <weapon>").alias("装备").action(async ({ session }, weapon) => {
|
|
9801
9818
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9802
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9819
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9803
9820
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9804
9821
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9805
9822
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9835,7 +9852,7 @@ ${discountDetails.join("\n")}`;
|
|
|
9835
9852
|
});
|
|
9836
9853
|
ctx.command("ggcevo/升级科技 <target>", "升级空间站科技").action(async ({ session }, target) => {
|
|
9837
9854
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9838
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9855
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9839
9856
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9840
9857
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9841
9858
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9854,7 +9871,7 @@ ${discountDetails.join("\n")}`;
|
|
|
9854
9871
|
});
|
|
9855
9872
|
ctx.command("ggcevo/升级武器 <target>", "升级武器").alias("升级").action(async ({ session }, target) => {
|
|
9856
9873
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9857
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9874
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9858
9875
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9859
9876
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9860
9877
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -9872,7 +9889,7 @@ ${discountDetails.join("\n")}`;
|
|
|
9872
9889
|
});
|
|
9873
9890
|
ctx.command("ggcevo/改装武器 <weapon> [mod]", "安装武器模块").alias("改装").action(async ({ session }, weapon, mod) => {
|
|
9874
9891
|
const Curfew = fixedCurfewCheck(session, config);
|
|
9875
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
9892
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
9876
9893
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
9877
9894
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
9878
9895
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -10030,7 +10047,7 @@ ${discountDetails.join("\n")}`;
|
|
|
10030
10047
|
});
|
|
10031
10048
|
ctx.command("ggcevo/拆卸 <weapon> <mod>", "卸载武器模块,专属模块返还50%金币,通用模块返还80%金币").action(async ({ session }, weapon, mod) => {
|
|
10032
10049
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10033
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10050
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10034
10051
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10035
10052
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10036
10053
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -10088,7 +10105,7 @@ ${discountDetails.join("\n")}`;
|
|
|
10088
10105
|
let bossEventBroadcast = null;
|
|
10089
10106
|
let cleanerRewardBroadcast = null;
|
|
10090
10107
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10091
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10108
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10092
10109
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10093
10110
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10094
10111
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -10293,7 +10310,7 @@ ${discountDetails.join("\n")}`;
|
|
|
10293
10310
|
const session = argv.session;
|
|
10294
10311
|
const { options } = argv;
|
|
10295
10312
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10296
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10313
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10297
10314
|
if (!name2) {
|
|
10298
10315
|
name2 = "测试假人";
|
|
10299
10316
|
}
|
|
@@ -10430,7 +10447,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10430
10447
|
});
|
|
10431
10448
|
ctx.command("ggcevo/异形信息", "查看当前主宰信息").alias("yx信息").action(async ({ session }) => {
|
|
10432
10449
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10433
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10450
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10434
10451
|
const activeBosses = await ctx.database.get("ggcevo_boss", { isActive: true });
|
|
10435
10452
|
if (!activeBosses.length) return "当前没有存活的异形,请等待12点或0点刷新。";
|
|
10436
10453
|
const mainBoss = activeBosses.find((b) => b.type === "主宰");
|
|
@@ -10623,7 +10640,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10623
10640
|
ctx.command("ggcevo/祈愿").action(async (argv) => {
|
|
10624
10641
|
const session = argv.session;
|
|
10625
10642
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10626
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10643
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10627
10644
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10628
10645
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10629
10646
|
const { regionId, realmId, profileId } = profile;
|
|
@@ -10702,7 +10719,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10702
10719
|
});
|
|
10703
10720
|
ctx.command("ggcevo/加入 <faction>", "加入阵营").alias("加入阵营").action(async ({ session }, faction) => {
|
|
10704
10721
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10705
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10722
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10706
10723
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10707
10724
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10708
10725
|
const { regionId, realmId, profileId } = profile;
|
|
@@ -10768,7 +10785,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10768
10785
|
});
|
|
10769
10786
|
ctx.command("ggcevo/退出", "退出当前阵营").alias("退出阵营").action(async ({ session }) => {
|
|
10770
10787
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10771
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10788
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10772
10789
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10773
10790
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10774
10791
|
const { regionId, realmId, profileId } = profile;
|
|
@@ -10820,7 +10837,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10820
10837
|
});
|
|
10821
10838
|
ctx.command("ggcevo/转职 [profession]", "转职系统").action(async ({ session }, profession) => {
|
|
10822
10839
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10823
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10840
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10824
10841
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10825
10842
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10826
10843
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -10904,7 +10921,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10904
10921
|
ctx.command("ggcevo/职业信息", "查看当前阵营与职业状态").action(async ({ session }) => {
|
|
10905
10922
|
try {
|
|
10906
10923
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10907
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10924
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10908
10925
|
const [profile] = await ctx.database.get("sc2arcade_player", {
|
|
10909
10926
|
userId: session.userId
|
|
10910
10927
|
});
|
|
@@ -10974,7 +10991,7 @@ ${testResult.passiveMessages.map((m) => `▸ ${m}`).join("\n")}`
|
|
|
10974
10991
|
});
|
|
10975
10992
|
ctx.command("ggcevo/黑市 [category]", "辛迪加海盗专属黑市").usage('输入"黑市"查看分类,或"黑市 分类名称"查看详细').action(async ({ session }, category) => {
|
|
10976
10993
|
const Curfew = fixedCurfewCheck(session, config);
|
|
10977
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
10994
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
10978
10995
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
10979
10996
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
10980
10997
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11106,7 +11123,7 @@ ${discountDetails.join("\n")}` : "",
|
|
|
11106
11123
|
});
|
|
11107
11124
|
ctx.command("ggcevo/订购 <item>").action(async ({ session }, item) => {
|
|
11108
11125
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11109
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11126
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11110
11127
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11111
11128
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
11112
11129
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11232,7 +11249,7 @@ ${discountReason}` : "",
|
|
|
11232
11249
|
ctx.command("ggcevo/仓库").action(async (argv) => {
|
|
11233
11250
|
const session = argv.session;
|
|
11234
11251
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11235
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11252
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11236
11253
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11237
11254
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
11238
11255
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11289,7 +11306,7 @@ ${discountReason}` : "",
|
|
|
11289
11306
|
let bossEventBroadcast = null;
|
|
11290
11307
|
let cleanerRewardBroadcast = null;
|
|
11291
11308
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11292
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11309
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11293
11310
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11294
11311
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
11295
11312
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11345,7 +11362,7 @@ ${discountReason}` : "",
|
|
|
11345
11362
|
});
|
|
11346
11363
|
ctx.command("ggcevo/科技 [techName]", "查看空间站科技信息").usage("输入“科技”查看列表,或“科技 科技名称”查看详细信息").action(async ({ session }, techName) => {
|
|
11347
11364
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11348
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11365
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11349
11366
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11350
11367
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
11351
11368
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11408,7 +11425,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11408
11425
|
});
|
|
11409
11426
|
ctx.command("ggcevo/挖矿").action(async ({ session }) => {
|
|
11410
11427
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11411
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11428
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11412
11429
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11413
11430
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
11414
11431
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11553,7 +11570,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11553
11570
|
});
|
|
11554
11571
|
ctx.command("ggcevo/任务 [name]").usage('输入"任务"查看所有任务列表,或"任务 任务名称"查看详细任务信息').action(async ({ session }, name2) => {
|
|
11555
11572
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11556
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11573
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11557
11574
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11558
11575
|
if (!profile) return "⚠️ 需要先绑定游戏句柄";
|
|
11559
11576
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11609,7 +11626,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11609
11626
|
ctx.command("ggcevo/完成任务 <name:text>", "完成指定任务领取奖励").usage('输入"完成任务 任务名称"来完成任务并领取奖励').action(async ({ session }, name2) => {
|
|
11610
11627
|
try {
|
|
11611
11628
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11612
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11629
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11613
11630
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11614
11631
|
if (!profile) return "⚠️ 需要先绑定游戏句柄";
|
|
11615
11632
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -11686,7 +11703,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11686
11703
|
ctx.command("ggcevo/购买保护卡", "花费600金币购买一周PK保护卡").alias("购买pk保护卡").action(async ({ session }) => {
|
|
11687
11704
|
try {
|
|
11688
11705
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11689
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11706
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11690
11707
|
const userId = session.userId;
|
|
11691
11708
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId });
|
|
11692
11709
|
if (!profile) return "🔒 请先绑定游戏句柄。";
|
|
@@ -11749,7 +11766,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11749
11766
|
ctx.command("ggcevo/开启军械库防爆门").alias("打开军械库防爆门").action(async (argv) => {
|
|
11750
11767
|
const session = argv.session;
|
|
11751
11768
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11752
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11769
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11753
11770
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
11754
11771
|
if (!profile) return "🔒 请先绑定游戏句柄。";
|
|
11755
11772
|
const { regionId, realmId, profileId } = profile;
|
|
@@ -11801,7 +11818,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11801
11818
|
});
|
|
11802
11819
|
ctx.command("ggcevo/技能 [异形名称]").usage('查询异形技能,输入"技能"查看所有异形,输入"技能 异形名称"查询详细技能').action(async ({ session }, unitName) => {
|
|
11803
11820
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11804
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11821
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11805
11822
|
const allUnits = /* @__PURE__ */ new Set();
|
|
11806
11823
|
bossPool.forEach((boss) => {
|
|
11807
11824
|
allUnits.add(boss.main.name);
|
|
@@ -11893,7 +11910,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11893
11910
|
ctx.command("ggcevo/咕咕更新").action(async ({ session }) => {
|
|
11894
11911
|
try {
|
|
11895
11912
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11896
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11913
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11897
11914
|
const latestUpdates = [...ggcevoUpdates].sort((a, b) => compareVersions(a.version, b.version)).slice(0, 3);
|
|
11898
11915
|
if (latestUpdates.length === 0) {
|
|
11899
11916
|
return "🛑 暂无更新记录";
|
|
@@ -11919,7 +11936,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11919
11936
|
});
|
|
11920
11937
|
ctx.command("ggcevo/探索 [galaxyName]").action(async ({ session }, galaxyName) => {
|
|
11921
11938
|
const Curfew = fixedCurfewCheck(session, config);
|
|
11922
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
11939
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
11923
11940
|
const possibleItems = [
|
|
11924
11941
|
{ id: 2, name: "闪光弹", type: "手榴弹", chance: 0.1 },
|
|
11925
11942
|
{ id: 4, name: "脉冲手雷", type: "手榴弹", chance: 0.1 },
|
|
@@ -12285,7 +12302,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
12285
12302
|
}
|
|
12286
12303
|
ctx.command("ggcevo/飞船信息").action(async ({ session }) => {
|
|
12287
12304
|
const Curfew = fixedCurfewCheck(session, config);
|
|
12288
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
12305
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
12289
12306
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
12290
12307
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
12291
12308
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -12313,7 +12330,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
12313
12330
|
});
|
|
12314
12331
|
ctx.command("ggcevo/购买飞船 [shipName]").alias("飞船").action(async ({ session }, shipName) => {
|
|
12315
12332
|
const Curfew = fixedCurfewCheck(session, config);
|
|
12316
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
12333
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
12317
12334
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
12318
12335
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
12319
12336
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -12386,7 +12403,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
12386
12403
|
});
|
|
12387
12404
|
ctx.command("ggcevo/升级物品 [itemName]", "升级辛迪加海盗物品").usage('输入"升级物品"查看可升级列表,或"升级物品 物品名称"进行升级').action(async ({ session }, itemName) => {
|
|
12388
12405
|
const Curfew = fixedCurfewCheck(session, config);
|
|
12389
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
12406
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
12390
12407
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
12391
12408
|
if (!profile) return "🔒 需要先绑定游戏句柄。";
|
|
12392
12409
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -12524,7 +12541,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
12524
12541
|
});
|
|
12525
12542
|
ctx.command("ggcevo/竞猜 [itemId] [amount] [guess]", "参与竞猜游戏").usage('输入"竞猜"查看可竞猜项目,"竞猜 项目ID 金额 内容"进行竞猜').example("竞猜 1 500 寒冰王蛇").action(async ({ session }, itemId, amount, guess) => {
|
|
12526
12543
|
const Curfew = fixedCurfewCheck(session, config);
|
|
12527
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
12544
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
12528
12545
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
12529
12546
|
if (!profile) return "🔒 需要先绑定游戏句柄";
|
|
12530
12547
|
const { regionId, realmId, profileId } = profile;
|
|
@@ -12622,7 +12639,7 @@ ${validBossNames.join("、")}`;
|
|
|
12622
12639
|
});
|
|
12623
12640
|
ctx.command("ggcevo/兑换资源 [name] [amount]").usage('输入"兑换资源"查看可兑换资源列表\n输入"兑换资源 物品名称 [数量]"进行兑换').action(async ({ session }, name2, amount) => {
|
|
12624
12641
|
const Curfew = fixedCurfewCheck(session, config);
|
|
12625
|
-
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00)
|
|
12642
|
+
if (!Curfew) return "⛔ 宵禁时段 (18:00-24:00) 禁止在群聊中使用咕咕之战指令。\n请添加C.O.R.E为好友使用私聊指令,好友验证信息为【咕咕之战】。";
|
|
12626
12643
|
const [profile] = await ctx.database.get("sc2arcade_player", { userId: session.userId });
|
|
12627
12644
|
if (!profile) return "🔒 需要先绑定游戏句柄";
|
|
12628
12645
|
const handle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
@@ -12640,7 +12657,7 @@ ${validBossNames.join("、")}`;
|
|
|
12640
12657
|
});
|
|
12641
12658
|
return [
|
|
12642
12659
|
"💰 资源兑换商店 💰",
|
|
12643
|
-
'使用 "兑换资源 物品名称
|
|
12660
|
+
'使用 "兑换资源 物品名称 兑换次数" 进行兑换',
|
|
12644
12661
|
`您当前持有: ${coupon?.quantity || 0}张资源兑换券`,
|
|
12645
12662
|
"====================",
|
|
12646
12663
|
...Object.entries(resourceItems).map(([itemName, config2]) => `▸ ${itemName}:1张券兑换${config2.valuePerCoupon}${itemName === "金币" ? "金币" : "红晶"}`),
|
package/lib/items.d.ts
CHANGED
|
@@ -212,36 +212,42 @@ export declare const itemConfig: {
|
|
|
212
212
|
quality: string;
|
|
213
213
|
type: string;
|
|
214
214
|
cost: number;
|
|
215
|
+
quantity: number;
|
|
215
216
|
isLimited: boolean;
|
|
216
217
|
};
|
|
217
218
|
劳工: {
|
|
218
219
|
quality: string;
|
|
219
220
|
type: string;
|
|
220
221
|
cost: number;
|
|
222
|
+
quantity: number;
|
|
221
223
|
isLimited: boolean;
|
|
222
224
|
};
|
|
223
225
|
老兵: {
|
|
224
226
|
quality: string;
|
|
225
227
|
type: string;
|
|
226
228
|
cost: number;
|
|
229
|
+
quantity: number;
|
|
227
230
|
isLimited: boolean;
|
|
228
231
|
};
|
|
229
232
|
合成人: {
|
|
230
233
|
quality: string;
|
|
231
234
|
type: string;
|
|
232
235
|
cost: number;
|
|
236
|
+
quantity: number;
|
|
233
237
|
isLimited: boolean;
|
|
234
238
|
};
|
|
235
239
|
阿斯塔特: {
|
|
236
240
|
quality: string;
|
|
237
241
|
type: string;
|
|
238
242
|
cost: number;
|
|
243
|
+
quantity: number;
|
|
239
244
|
isLimited: boolean;
|
|
240
245
|
};
|
|
241
246
|
皇家指挥官: {
|
|
242
247
|
quality: string;
|
|
243
248
|
type: string;
|
|
244
249
|
cost: number;
|
|
250
|
+
quantity: number;
|
|
245
251
|
isLimited: boolean;
|
|
246
252
|
};
|
|
247
253
|
个性开场白: {
|