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.
Files changed (2) hide show
  1. package/lib/index.js +10 -13
  2. 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
- let targetUsername = parsedUser.attrs.name || targetUserId;
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
- if (!initiatorData[0]?.rank) {
1624
- return "发起者尚未有积分数据,无法发起挑战";
1625
- }
1626
- if (!targetData[0]?.rank) {
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 = (initiatorData[0]?.rank || 0) - (targetData[0]?.rank || 0);
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
- `🏅 挑战者:${initiatorData[0]?.name}(积分 ${initiatorData[0]?.rank})`,
1694
- `🛡️ 应战者:${targetData[0]?.name}(积分 ${targetData[0]?.rank})`,
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.5",
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.6"
22
+ "koishi-plugin-sc2arcade-search": "^1.1.8"
23
23
  },
24
24
  "koishi": {
25
25
  "service": {