koishi-plugin-ggcevo-game 1.1.5 → 1.1.6
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 +10 -13
- package/package.json +2 -2
package/lib/index.js
CHANGED
|
@@ -1536,10 +1536,9 @@ ${achievementList.join("\n")}`;
|
|
|
1536
1536
|
return `❌拒绝访问,您已被列入活动黑名单。`;
|
|
1537
1537
|
}
|
|
1538
1538
|
const parsedUser = import_koishi.h.parse(user)[0];
|
|
1539
|
-
if (!parsedUser || parsedUser.type !== "at") return '参数格式错误,请输入"pk @指定对战玩家"';
|
|
1539
|
+
if (!parsedUser || parsedUser.type !== "at" || !parsedUser.attrs.id) return '参数格式错误,请输入"pk @指定对战玩家"';
|
|
1540
1540
|
const targetUserId = parsedUser.attrs.id;
|
|
1541
|
-
|
|
1542
|
-
const [targetprofile] = await ctx.database.get("sc2arcade_player", { userId: targetUsername });
|
|
1541
|
+
const [targetprofile] = await ctx.database.get("sc2arcade_player", { userId: targetUserId });
|
|
1543
1542
|
if (!targetprofile) return "对方尚未绑定句柄";
|
|
1544
1543
|
const initiatorHandle = `${profile.regionId}-S2-${profile.realmId}-${profile.profileId}`;
|
|
1545
1544
|
const targetHandle = `${targetprofile.regionId}-S2-${targetprofile.realmId}-${targetprofile.profileId}`;
|
|
@@ -1614,18 +1613,16 @@ ${achievementList.join("\n")}`;
|
|
|
1614
1613
|
ctx.database.get("ggcevo_pk", targetHandle)
|
|
1615
1614
|
]);
|
|
1616
1615
|
if (!finalInitiator[0]?.enable || !finalTarget[0]?.enable) {
|
|
1617
|
-
return "
|
|
1616
|
+
return "对战状态已发生变化,请重新发起挑战。";
|
|
1618
1617
|
}
|
|
1619
1618
|
const [initiatorData, targetData] = await Promise.all([
|
|
1620
1619
|
ctx.database.get("ggcevo_rank", initiatorHandle),
|
|
1621
1620
|
ctx.database.get("ggcevo_rank", targetHandle)
|
|
1622
1621
|
]);
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
return "对方尚未有积分数据,无法接受挑战";
|
|
1628
|
-
}
|
|
1622
|
+
const initiatorRank = initiatorData[0]?.rank || 0;
|
|
1623
|
+
const targetRank = targetData[0]?.rank || 0;
|
|
1624
|
+
const initiatorRankname = initiatorData[0]?.name || session.username;
|
|
1625
|
+
const targetRankname = targetData[0]?.name || parsedUser.attrs.name;
|
|
1629
1626
|
const [initiatorSign, targetSign] = await Promise.all([
|
|
1630
1627
|
ctx.database.get("ggcevo_sign", initiatorHandle),
|
|
1631
1628
|
ctx.database.get("ggcevo_sign", targetHandle)
|
|
@@ -1634,7 +1631,7 @@ ${achievementList.join("\n")}`;
|
|
|
1634
1631
|
const targetGold = targetSign[0]?.totalRewards || 0;
|
|
1635
1632
|
if (initiatorGold < 100) return "发起者需要至少100金币才能挑战!";
|
|
1636
1633
|
if (targetGold < 100) return "对方金币不足100,无法应战";
|
|
1637
|
-
const rankDiff =
|
|
1634
|
+
const rankDiff = initiatorRank - targetRank;
|
|
1638
1635
|
const clampedDiff = Math.min(Math.max(rankDiff, -1e4), 1e4);
|
|
1639
1636
|
const winRate = Math.min(Math.max(50 + clampedDiff * 5e-3, 5), 95);
|
|
1640
1637
|
const isWin = Math.random() * 100 < winRate;
|
|
@@ -1690,8 +1687,8 @@ ${achievementList.join("\n")}`;
|
|
|
1690
1687
|
});
|
|
1691
1688
|
const result = [
|
|
1692
1689
|
`⚔️【对战结果】${isWin ? "胜利" : "失败"}`,
|
|
1693
|
-
`🏅 挑战者:${
|
|
1694
|
-
`🛡️ 应战者:${
|
|
1690
|
+
`🏅 挑战者:${initiatorRankname}(积分 ${initiatorRank})`,
|
|
1691
|
+
`🛡️ 应战者:${targetRankname}(积分 ${targetRank})`,
|
|
1695
1692
|
`📊 胜率预测:${winRate.toFixed(1)}%`,
|
|
1696
1693
|
`🎰 金币变动:${stealPercentage}%`
|
|
1697
1694
|
];
|
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.1.
|
|
4
|
+
"version": "1.1.6",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"peerDependencies": {
|
|
20
20
|
"@koishijs/plugin-proxy-agent": "^0.3.3",
|
|
21
21
|
"koishi": "^4.18.7",
|
|
22
|
-
"koishi-plugin-sc2arcade-search": "^1.1.
|
|
22
|
+
"koishi-plugin-sc2arcade-search": "^1.1.8"
|
|
23
23
|
},
|
|
24
24
|
"koishi": {
|
|
25
25
|
"service": {
|