koishi-plugin-ggcevo-game 1.2.31 → 1.2.33
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 +21 -22
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -331,12 +331,11 @@ function apply(ctx, config) {
|
|
|
331
331
|
"狙击步枪": {
|
|
332
332
|
id: 7,
|
|
333
333
|
type: "实弹武器",
|
|
334
|
-
damage:
|
|
334
|
+
damage: 60,
|
|
335
335
|
description: "用于隐秘射击的最佳武器,但是无法穿透护甲",
|
|
336
336
|
price: 550,
|
|
337
337
|
tagEffects: {
|
|
338
|
-
"
|
|
339
|
-
"轻甲": 0.8,
|
|
338
|
+
"轻甲": 0.5,
|
|
340
339
|
"重甲": 0.2
|
|
341
340
|
}
|
|
342
341
|
}
|
|
@@ -580,7 +579,7 @@ function apply(ctx, config) {
|
|
|
580
579
|
damage *= 1 + levelBonus;
|
|
581
580
|
effectMessage.push(`🗡️ 悲鸣之锋祈愿触发(+${(levelBonus * 100).toFixed(0)}%等级加成)`);
|
|
582
581
|
}
|
|
583
|
-
const [rankRecord] = await ctx2.database.get("ggcevo_rank", { handle: session.handle });
|
|
582
|
+
const [rankRecord] = await ctx2.database.get("ggcevo_rank", { handle: session.handle, rankseason: config.rankseason });
|
|
584
583
|
const rankBonus = calculateRankBonus(rankRecord);
|
|
585
584
|
damage *= 1 + rankBonus;
|
|
586
585
|
return {
|
|
@@ -1493,9 +1492,9 @@ ${itemDetails.join("\n")}`;
|
|
|
1493
1492
|
}
|
|
1494
1493
|
report += "🏆 精英奖励详情:\n";
|
|
1495
1494
|
report += rewardDetails.join("\n") + "\n";
|
|
1496
|
-
report += `✦ 第4-10名:60枚咕咕币 +
|
|
1495
|
+
report += `✦ 第4-10名:60枚咕咕币 + 2000枚金币 + ${requiredMedals.top10}
|
|
1497
1496
|
`;
|
|
1498
|
-
report += `✦ 第11-20名:40枚咕咕币 +
|
|
1497
|
+
report += `✦ 第11-20名:40枚咕咕币 + 1000枚金币 + ${requiredMedals.top20}
|
|
1499
1498
|
|
|
1500
1499
|
`;
|
|
1501
1500
|
const otherPlayers = await ctx.database.get("ggcevo_rank", {
|
|
@@ -1507,7 +1506,7 @@ ${itemDetails.join("\n")}`;
|
|
|
1507
1506
|
for (const player of otherPlayers) {
|
|
1508
1507
|
if (player.rank > 0) positiveCount++;
|
|
1509
1508
|
if (player.rank < 0) negativeCount++;
|
|
1510
|
-
const gold = player.rank > 0 ?
|
|
1509
|
+
const gold = player.rank > 0 ? 500 : 250;
|
|
1511
1510
|
const [signData] = await ctx.database.get("ggcevo_sign", { handle: player.handle });
|
|
1512
1511
|
await ctx.database.upsert("ggcevo_sign", [{
|
|
1513
1512
|
handle: player.handle,
|
|
@@ -1515,9 +1514,9 @@ ${itemDetails.join("\n")}`;
|
|
|
1515
1514
|
}], ["handle"]);
|
|
1516
1515
|
}
|
|
1517
1516
|
report += "🎉 参与奖励发放:\n";
|
|
1518
|
-
report += `✦ 积极玩家(分数>0):${positiveCount}人,每人获得
|
|
1517
|
+
report += `✦ 积极玩家(分数>0):${positiveCount}人,每人获得500枚金币
|
|
1519
1518
|
`;
|
|
1520
|
-
report += `✦ 奋斗玩家(分数<0):${negativeCount}人,每人获得
|
|
1519
|
+
report += `✦ 奋斗玩家(分数<0):${negativeCount}人,每人获得250枚金币
|
|
1521
1520
|
|
|
1522
1521
|
`;
|
|
1523
1522
|
report += `✅ 总计发放:
|
|
@@ -1529,15 +1528,15 @@ ${itemDetails.join("\n")}`;
|
|
|
1529
1528
|
return `${currentSeason}赛季结算数据已更新!`;
|
|
1530
1529
|
function getRewardByRank(rank) {
|
|
1531
1530
|
return [
|
|
1532
|
-
{ coins: 100, gold:
|
|
1531
|
+
{ coins: 100, gold: 4e3 },
|
|
1533
1532
|
// 第1名
|
|
1534
|
-
{ coins: 90, gold:
|
|
1533
|
+
{ coins: 90, gold: 3500 },
|
|
1535
1534
|
// 第2名
|
|
1536
|
-
{ coins: 80, gold:
|
|
1535
|
+
{ coins: 80, gold: 3e3 },
|
|
1537
1536
|
// 第3名
|
|
1538
|
-
...Array(7).fill({ coins: 60, gold:
|
|
1537
|
+
...Array(7).fill({ coins: 60, gold: 2e3 }),
|
|
1539
1538
|
//4-10
|
|
1540
|
-
...Array(10).fill({ coins: 40, gold:
|
|
1539
|
+
...Array(10).fill({ coins: 40, gold: 1e3 })
|
|
1541
1540
|
//11-20
|
|
1542
1541
|
][rank - 1] || { coins: 0, gold: 0 };
|
|
1543
1542
|
}
|
|
@@ -1565,7 +1564,7 @@ ${itemDetails.join("\n")}`;
|
|
|
1565
1564
|
});
|
|
1566
1565
|
if (!user) return "暂未找到您的排名信息。";
|
|
1567
1566
|
if (user.Blacklist) return "❌ 您已经被禁止参加本赛季胜点榜。";
|
|
1568
|
-
const allRanks = await ctx.database.select("ggcevo_rank").where({ Blacklist: false }).orderBy("rank", "desc").execute();
|
|
1567
|
+
const allRanks = await ctx.database.select("ggcevo_rank").where({ Blacklist: false, rankseason: config.rankseason }).orderBy("rank", "desc").execute();
|
|
1569
1568
|
const userRank = allRanks.findIndex(
|
|
1570
1569
|
(u) => u.handle === handle
|
|
1571
1570
|
) + 1;
|
|
@@ -1598,7 +1597,7 @@ ${itemDetails.join("\n")}`;
|
|
|
1598
1597
|
});
|
|
1599
1598
|
if (!user) return "暂未找到对方的排名信息。";
|
|
1600
1599
|
if (user.Blacklist) return "❌ 对方已经被禁止参加本赛季胜点榜。";
|
|
1601
|
-
const allRanks = await ctx.database.select("ggcevo_rank").where({ Blacklist: false }).orderBy("rank", "desc").execute();
|
|
1600
|
+
const allRanks = await ctx.database.select("ggcevo_rank").where({ Blacklist: false, rankseason: config.rankseason }).orderBy("rank", "desc").execute();
|
|
1602
1601
|
const userRank = allRanks.findIndex(
|
|
1603
1602
|
(u) => u.handle === handle
|
|
1604
1603
|
) + 1;
|
|
@@ -2708,13 +2707,13 @@ ${validTypes.join("、")}`;
|
|
|
2708
2707
|
gold = 2e3;
|
|
2709
2708
|
} else if (rank === 2) {
|
|
2710
2709
|
guguCoins = 25;
|
|
2711
|
-
gold =
|
|
2710
|
+
gold = 1750;
|
|
2712
2711
|
} else if (rank === 3) {
|
|
2713
2712
|
guguCoins = 20;
|
|
2714
|
-
gold =
|
|
2713
|
+
gold = 1500;
|
|
2715
2714
|
} else if (rank <= 10) {
|
|
2716
2715
|
guguCoins = 15;
|
|
2717
|
-
gold =
|
|
2716
|
+
gold = 1e3;
|
|
2718
2717
|
} else {
|
|
2719
2718
|
guguCoins = 10;
|
|
2720
2719
|
gold = 500;
|
|
@@ -2735,12 +2734,12 @@ ${validTypes.join("、")}`;
|
|
|
2735
2734
|
others.forEach((record) => {
|
|
2736
2735
|
const key = record.handle;
|
|
2737
2736
|
rewardMap.set(key, {
|
|
2738
|
-
guguCoins: (rewardMap.get(key)?.guguCoins || 0) +
|
|
2739
|
-
gold: (rewardMap.get(key)?.gold || 0) +
|
|
2737
|
+
guguCoins: (rewardMap.get(key)?.guguCoins || 0) + 3,
|
|
2738
|
+
gold: (rewardMap.get(key)?.gold || 0) + 200,
|
|
2740
2739
|
playerName: record.playerName
|
|
2741
2740
|
});
|
|
2742
2741
|
});
|
|
2743
|
-
rewardMessages.push(`其他参与者各获得:
|
|
2742
|
+
rewardMessages.push(`其他参与者各获得: 3 咕咕币 + 200 金币`);
|
|
2744
2743
|
}
|
|
2745
2744
|
const doubleRewardPlayers = /* @__PURE__ */ new Map();
|
|
2746
2745
|
for (const record of damageRecords) {
|