koishi-plugin-xxck-1 0.2.26 → 0.2.28

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 +36 -9
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -1928,10 +1928,12 @@ async function doBattleAgree(ctx, session) {
1928
1928
  return {
1929
1929
  cardId: "test",
1930
1930
  name: "测试卡",
1931
- element: "physic",
1932
- hp: 400,
1933
- maxHp: 400,
1934
- atk: 300,
1931
+ element: "fire",
1932
+ hp: 700,
1933
+ // 血量上调
1934
+ maxHp: 700,
1935
+ atk: 180,
1936
+ // 攻击下调
1935
1937
  def: 200,
1936
1938
  spd: 80,
1937
1939
  critRate: 0.1,
@@ -1940,7 +1942,7 @@ async function doBattleAgree(ctx, session) {
1940
1942
  dmgIncrease: 0,
1941
1943
  dmgReduce: 0,
1942
1944
  skillCost: 999,
1943
- energy: 2,
1945
+ energy: 0,
1944
1946
  isAlive: true,
1945
1947
  hasActed: false,
1946
1948
  buffs: [],
@@ -1972,7 +1974,7 @@ async function doBattleAgree(ctx, session) {
1972
1974
  dmgIncrease: b.dmg_increase,
1973
1975
  dmgReduce: b.dmg_reduce,
1974
1976
  skillCost: b.skill_cost,
1975
- energy: 2,
1977
+ energy: 0,
1976
1978
  isAlive: true,
1977
1979
  hasActed: false,
1978
1980
  buffs: [],
@@ -2014,14 +2016,27 @@ async function doBattleAgree(ctx, session) {
2014
2016
  const isEnd = /* @__PURE__ */ __name(() => !teamA.some((c) => c.isAlive) || !teamB.some((c) => c.isAlive), "isEnd");
2015
2017
  async function act(card) {
2016
2018
  card.hasActed = true;
2019
+ const isTeamA = teamA.includes(card);
2020
+ const targetQQ = isTeamA ? p1 : p2;
2021
+ const sideGroup = session.guildId;
2022
+ let nick = targetQQ;
2023
+ if (sideGroup) {
2024
+ const member = await ctx.database.get("gacha_group_member", {
2025
+ group_id: sideGroup,
2026
+ qq: targetQQ
2027
+ });
2028
+ if (member.length) {
2029
+ nick = member[0].group_nickname || targetQQ;
2030
+ }
2031
+ }
2017
2032
  const tip = card.energy >= card.skillCost ? "【技能就绪】" : "【普攻】";
2018
2033
  await session.send(build_msg(
2019
2034
  session,
2020
- `⚔️【${card.name}】行动|血量:${card.hp}/${card.maxHp}|能量:${card.energy}/5|速度:${card.spd} ${tip}`
2035
+ `⚔️【${nick}】的 ${card.name}|血量:${card.hp}/${card.maxHp}|能量:${card.energy}/5|速度:${card.spd} ${tip}`
2021
2036
  ));
2022
2037
  await sleep(500);
2023
- const team = teamA.includes(card) ? teamA : teamB;
2024
- const enemy = teamA.includes(card) ? teamB : teamA;
2038
+ const team = isTeamA ? teamA : teamB;
2039
+ const enemy = isTeamA ? teamB : teamA;
2025
2040
  const skill = skillBook[card.cardId];
2026
2041
  if (skill?.wugui) await skill.wugui(card, team, enemy, session);
2027
2042
  if (skill && card.energy >= card.skillCost) {
@@ -2031,6 +2046,16 @@ async function doBattleAgree(ctx, session) {
2031
2046
  }
2032
2047
  await sleep(500);
2033
2048
  card.energy = Math.min(5, card.energy + 1);
2049
+ if (!card.isAlive) {
2050
+ await session.send(build_msg(
2051
+ session,
2052
+ `💀【${nick}】的 ${card.name} 已阵亡!`
2053
+ ));
2054
+ if (skill?.onDeath) {
2055
+ skill.onDeath(card, team);
2056
+ }
2057
+ await sleep(500);
2058
+ }
2034
2059
  }
2035
2060
  __name(act, "act");
2036
2061
  let turn = 0;
@@ -2038,6 +2063,8 @@ async function doBattleAgree(ctx, session) {
2038
2063
  turn++;
2039
2064
  teamA.forEach((c) => c.hasActed = false);
2040
2065
  teamB.forEach((c) => c.hasActed = false);
2066
+ teamA.filter((c) => c.isAlive).forEach((c) => c.energy = Math.min(5, c.energy + 2));
2067
+ teamB.filter((c) => c.isAlive).forEach((c) => c.energy = Math.min(5, c.energy + 2));
2041
2068
  await session.send(`=== 第 ${turn} 回合 ==`);
2042
2069
  while (true) {
2043
2070
  const q = rebuildQueue();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-xxck-1",
3
3
  "description": "自用(?)抽卡系统|完整指令说明见readme|建议使用skia-canvas|指令与本地化已经基本完成",
4
- "version": "0.2.26",
4
+ "version": "0.2.28",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [