From 024a34f8f9ebf42218526043dc4b628148226bb5 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sat, 4 Jul 2026 20:06:19 +0800 Subject: [PATCH 01/15] Update skill.js --- apps/core/character/xianding/skill.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/apps/core/character/xianding/skill.js b/apps/core/character/xianding/skill.js index 6aaa8e03f2..b10d5ac4de 100644 --- a/apps/core/character/xianding/skill.js +++ b/apps/core/character/xianding/skill.js @@ -32703,6 +32703,27 @@ const skills = { onremove: true, marktext: "灿", intro: { content: "对$使用牌无距离和次数限制" }, + forced: true, + trigger: { player: "useCard1" }, + // 2. 新增过滤条件:确保只拦截对标记目标使用的【杀】 + filter(event, player) { + // 如果目标不在标记列表中,不触发 + if (!event.targets?.some(target => player.getStorage("dcwencan_paoxiao").includes(target))) { + return false; + } + // 必须是【杀】才触发 + return event.card.name === "sha"; + }, + // 3. 新增执行内容:在卡牌使用时,强制将使用次数减 1 + async content(event, trigger, player) { + trigger.addCount = false; // 告诉系统不要增加使用次数 + const stat = player.getStat().card; + const name = trigger.card.name; + // 抵消系统默认增加的次数,实现真正的“无次数限制” + if (typeof stat[name] === "number") { + stat[name]--; + } + }, mod: { cardUsableTarget(card, player, target) { if (player.getStorage("dcwencan_paoxiao").includes(target)) { From fa889a9172341cf404cb674733c9210f61a60e90 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sat, 4 Jul 2026 20:09:56 +0800 Subject: [PATCH 02/15] Update character.js --- apps/core/character/xianding/character.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/core/character/xianding/character.js b/apps/core/character/xianding/character.js index 430e4438fb..fd63b54699 100644 --- a/apps/core/character/xianding/character.js +++ b/apps/core/character/xianding/character.js @@ -21,16 +21,14 @@ const characters = { dc_shen_guanyu: { sex: "male", group: "shen", - hp: 4, - maxHp: 5, + hp: 5, skills: ["dcwushen", "dcwuhun"], groupInGuozhan: "shu", }, dc_shen_liubei: { sex: "male", group: "shen", - hp: 4, - maxHp: 6, + hp: 6, skills: ["dclongnu", "dcjieying"], groupInGuozhan: "shu", }, From 843f45c63d8936ea3562a3700fd17c9d267ac9f5 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sat, 4 Jul 2026 21:21:58 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/xianding/skill.js | 33 ++++++++++++--------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/apps/core/character/xianding/skill.js b/apps/core/character/xianding/skill.js index b10d5ac4de..da8d354efb 100644 --- a/apps/core/character/xianding/skill.js +++ b/apps/core/character/xianding/skill.js @@ -32705,25 +32705,20 @@ const skills = { intro: { content: "对$使用牌无距离和次数限制" }, forced: true, trigger: { player: "useCard1" }, - // 2. 新增过滤条件:确保只拦截对标记目标使用的【杀】 - filter(event, player) { - // 如果目标不在标记列表中,不触发 - if (!event.targets?.some(target => player.getStorage("dcwencan_paoxiao").includes(target))) { - return false; - } - // 必须是【杀】才触发 - return event.card.name === "sha"; - }, - // 3. 新增执行内容:在卡牌使用时,强制将使用次数减 1 - async content(event, trigger, player) { - trigger.addCount = false; // 告诉系统不要增加使用次数 - const stat = player.getStat().card; - const name = trigger.card.name; - // 抵消系统默认增加的次数,实现真正的“无次数限制” - if (typeof stat[name] === "number") { - stat[name]--; - } - }, + filter(event, player) { + if (!event.targets?.some(target => player.getStorage("dcwencan_paoxiao").includes(target))) { + return false; + } + return event.card.name === "sha"; + }, + async content(event, trigger, player) { + trigger.addCount = false; + const stat = player.getStat().card; + const name = trigger.card.name; + if (typeof stat[name] === "number") { + stat[name]--; + } + }, mod: { cardUsableTarget(card, player, target) { if (player.getStorage("dcwencan_paoxiao").includes(target)) { From 4f810392178f6115052036fddc6b706a2fae1aae Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sat, 4 Jul 2026 21:28:13 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/sp/skill.js | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/apps/core/character/sp/skill.js b/apps/core/character/sp/skill.js index 685801c6bf..cb19953e37 100644 --- a/apps/core/character/sp/skill.js +++ b/apps/core/character/sp/skill.js @@ -3833,17 +3833,12 @@ const skills = { } if (!player.hasMark("olshanjia")) { return false; - } - // 3. 【核心新增逻辑】:排除“因主动使用装备牌”而失去装备的情况 - // 获取当前失去牌事件的父级事件(通常是 useCard) - const parentEvt = event.relatedEvent || event.getParent(); - - // 如果父级事件是“使用牌”,且使用者是自己,且使用的牌是“装备”,则不扣除标记 - if (parentEvt && parentEvt.name === "useCard" && parentEvt.player === player && get.type(parentEvt.card, null, false) === "equip") { - return false; - } - // 4. 排除以上情况后,允许扣除标记 - return true; + } + const parentEvt = event.relatedEvent || event.getParent(); + if (parentEvt && parentEvt.name === "useCard" && parentEvt.player === player && get.type(parentEvt.card, null, false) === "equip") { + return false; + } + return true; }, forced: true, locked: false, From d75424de76e48fd14f6c0fd0033e772cdde6f1c7 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sat, 4 Jul 2026 23:38:59 +0800 Subject: [PATCH 05/15] Update skill.js --- apps/core/character/mobile/skill.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/core/character/mobile/skill.js b/apps/core/character/mobile/skill.js index 3141805400..a502dab984 100644 --- a/apps/core/character/mobile/skill.js +++ b/apps/core/character/mobile/skill.js @@ -11039,7 +11039,6 @@ const skills = { //手杀薛综 mbfunan: { audio: "funan", - derivation: ["mbfunan_rewrite"], trigger: { global: ["respond", "useCard"] }, filter(event, player) { if (!event.respondTo) { @@ -11193,6 +11192,7 @@ const skills = { const drawNum = Math.min(5, get.info(event.name).getSuitsMap()[suit] || 0); const discardNum = player.countMark(event.name + "_used"); await target.draw(drawNum); + const handCardsBefore = target.countCards('h'); const result = await target .chooseToDiscard({ selectCard: discardNum, @@ -11200,7 +11200,7 @@ const skills = { forced: true, }) .forResult(); - if (result?.cards?.length > 0 && result.autochoose && result.cards?.length === result.rawcards?.length) { + if (handCardsBefore > 0 && target.countCards('h') === 0) { game.log(player, "修改了", "#g【复难】"); player.addSkill("mbfunan_rewrite"); } From 1146b0cd9855d03df7c1831cc54c51f0913118ce Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sun, 5 Jul 2026 09:54:29 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/mobile/skill.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/core/character/mobile/skill.js b/apps/core/character/mobile/skill.js index a502dab984..b6fd5840c9 100644 --- a/apps/core/character/mobile/skill.js +++ b/apps/core/character/mobile/skill.js @@ -11192,7 +11192,7 @@ const skills = { const drawNum = Math.min(5, get.info(event.name).getSuitsMap()[suit] || 0); const discardNum = player.countMark(event.name + "_used"); await target.draw(drawNum); - const handCardsBefore = target.countCards('h'); + const handCardsBefore == target.countCards('h'); const result = await target .chooseToDiscard({ selectCard: discardNum, @@ -11200,7 +11200,7 @@ const skills = { forced: true, }) .forResult(); - if (handCardsBefore > 0 && target.countCards('h') === 0) { + if (handCardsBefore > 0 && !target.hasCards('h')) { game.log(player, "修改了", "#g【复难】"); player.addSkill("mbfunan_rewrite"); } From 928a21485df7c9d44f2eea8ea24b6f666c0983a6 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sun, 5 Jul 2026 10:36:40 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/mobile/skill.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/core/character/mobile/skill.js b/apps/core/character/mobile/skill.js index b6fd5840c9..948d6f9276 100644 --- a/apps/core/character/mobile/skill.js +++ b/apps/core/character/mobile/skill.js @@ -11192,7 +11192,7 @@ const skills = { const drawNum = Math.min(5, get.info(event.name).getSuitsMap()[suit] || 0); const discardNum = player.countMark(event.name + "_used"); await target.draw(drawNum); - const handCardsBefore == target.countCards('h'); + const handCardsBefore = target.countCards('h'); const result = await target .chooseToDiscard({ selectCard: discardNum, From 1e05ba47fe932130f375d550d9e5fe3ea1fe560d Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sun, 5 Jul 2026 15:38:16 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E6=96=B0=E6=9D=80=E8=B0=8B=E5=85=B3?= =?UTF-8?q?=E7=BE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/xianding/skill.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/core/character/xianding/skill.js b/apps/core/character/xianding/skill.js index da8d354efb..7bf8e183df 100644 --- a/apps/core/character/xianding/skill.js +++ b/apps/core/character/xianding/skill.js @@ -139,6 +139,13 @@ const skills = { audio: 2, enable: "phaseUse", usable: 1, + mod: { + cardUsable(card, player) { + if (card?.storage?.dcsbjuao) { + return Infinity; + } + } + } filter(event, player) { if (!player.hasDiscardableCards(player, "he")) { return false; @@ -222,6 +229,7 @@ const skills = { suit: "none", number: null, isCard: true, + storage:{ dcsbjuao: true } }, multitarget: true, multiline: true, From b860e1fe77d1376784ac036f98ae9a0c1761c6e6 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sun, 5 Jul 2026 16:06:30 +0800 Subject: [PATCH 09/15] Update translate.js --- apps/core/character/sp/translate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/core/character/sp/translate.js b/apps/core/character/sp/translate.js index b25d100074..6b889146ec 100644 --- a/apps/core/character/sp/translate.js +++ b/apps/core/character/sp/translate.js @@ -1157,7 +1157,7 @@ const translates = { olfushi: "缚豕", olfushi_info: "①一名角色使用【杀】结算结束后,若你至其的距离不大于1,你将此【杀】对应的所有实体牌置于武将牌上。②当你需要使用一张【杀】时,你可以将任意张“缚豕”牌置入弃牌堆并摸等量的牌,视为使用一张【杀】并选择X项(X为你以此法重铸的牌数且至多为3):1.你为此【杀】额外指定一个目标;2.你选择此【杀】的一个目标角色,此牌对其造成的伤害-1;3.你选择此【杀】的一个目标角色,此【杀】对其造成的伤害+1。当此【杀】指定最后一个目标后,若此牌被选择的效果选项相邻且此牌的目标角色座位连续,则此【杀】不计入次数限制。", oldongdao: "东道", - oldongdao_info: "农民的回合结束时:阴,你可以令地主进行一个额外回合;阳,其可以进行一个额外回合。", + oldongdao_info: "农民的回合结束时:阳,你可以令地主进行一个额外回合;阴,其可以进行一个额外回合。", zhangyan: "张燕", olsuji: "肃疾", olsuji_info: "一名角色的出牌阶段开始时,若其已受伤,你可以将一张黑色牌当【杀】使用。若其受到此【杀】的伤害,你获得其一张牌。", From b6b4ae6edbfe9023e779593674eda614fb484698 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sun, 5 Jul 2026 16:09:06 +0800 Subject: [PATCH 10/15] Update dynamicTranslate.js --- apps/core/character/sp/dynamicTranslate.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/core/character/sp/dynamicTranslate.js b/apps/core/character/sp/dynamicTranslate.js index d1d11081da..cbd93a3fb6 100644 --- a/apps/core/character/sp/dynamicTranslate.js +++ b/apps/core/character/sp/dynamicTranslate.js @@ -164,9 +164,9 @@ const dynamicTranslates = { }, oldongdao(player) { if (player.storage.oldongdao) { - return '农民的回合结束时:阴,你可以令地主进行一个额外回合;阳,其可以进行一个额外回合。'; + return '农民的回合结束时:阳,你可以令地主进行一个额外回合;阴,其可以进行一个额外回合。'; } - return '农民的回合结束时:阴,你可以令地主进行一个额外回合;阳,其可以进行一个额外回合。'; + return '农民的回合结束时:阳,你可以令地主进行一个额外回合;阴,其可以进行一个额外回合。'; }, ollangdao(player) { var str = "当你使用【杀】指定唯一目标时,你可以与该目标角色同时选择一项:"; From 69a69d24bda50be027253992b0dc70b6de3be721 Mon Sep 17 00:00:00 2001 From: Rintim Date: Sun, 5 Jul 2026 17:46:35 +0800 Subject: [PATCH 11/15] Update skill.js --- apps/core/character/mobile/skill.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/core/character/mobile/skill.js b/apps/core/character/mobile/skill.js index 948d6f9276..76cb0ef468 100644 --- a/apps/core/character/mobile/skill.js +++ b/apps/core/character/mobile/skill.js @@ -11192,7 +11192,7 @@ const skills = { const drawNum = Math.min(5, get.info(event.name).getSuitsMap()[suit] || 0); const discardNum = player.countMark(event.name + "_used"); await target.draw(drawNum); - const handCardsBefore = target.countCards('h'); + const handCardsBefore = target.countCards("h"); const result = await target .chooseToDiscard({ selectCard: discardNum, @@ -11200,7 +11200,7 @@ const skills = { forced: true, }) .forResult(); - if (handCardsBefore > 0 && !target.hasCards('h')) { + if (handCardsBefore > 0 && !target.hasCards("h")) { game.log(player, "修改了", "#g【复难】"); player.addSkill("mbfunan_rewrite"); } From e410b1d431488e4105c3d839696c6ef85e2dfa7d Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Sun, 5 Jul 2026 19:18:50 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E6=9D=A8=E8=89=B3=E9=80=89=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/yingbian/skill.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/core/character/yingbian/skill.js b/apps/core/character/yingbian/skill.js index fde5021252..9b1d9e3643 100644 --- a/apps/core/character/yingbian/skill.js +++ b/apps/core/character/yingbian/skill.js @@ -623,7 +623,7 @@ const skills = { targets: [player], addCount: false, }); - const num = player.hasHistory("damage", evt => evt.card === cardx) ? 2 : 1; + const num = player.hasHistory("damage", evt => evt.source === target) ? 2 : 1; await player.draw(num); }, ai: { From 54f88741c6ac85dbbd295be5bc9fbbe76013cf08 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Mon, 6 Jul 2026 13:08:54 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/yingbian/skill.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/core/character/yingbian/skill.js b/apps/core/character/yingbian/skill.js index 9b1d9e3643..71e3b62ae3 100644 --- a/apps/core/character/yingbian/skill.js +++ b/apps/core/character/yingbian/skill.js @@ -623,7 +623,7 @@ const skills = { targets: [player], addCount: false, }); - const num = player.hasHistory("damage", evt => evt.source === target) ? 2 : 1; + const num = player.hasHistory("damage", evt => evt.card?.name === "sha" && evt.source === target) ? 2 : 1; await player.draw(num); }, ai: { From 4138a7d31de72250aa2b529671d3cefb8051d5e4 Mon Sep 17 00:00:00 2001 From: gitxin09 <1403970958@qq.com> Date: Mon, 6 Jul 2026 13:15:15 +0800 Subject: [PATCH 14/15] Update player.js --- apps/core/noname/library/element/player.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/core/noname/library/element/player.js b/apps/core/noname/library/element/player.js index 1ee43bcb88..6224ba359c 100644 --- a/apps/core/noname/library/element/player.js +++ b/apps/core/noname/library/element/player.js @@ -4716,7 +4716,7 @@ export class Player extends HTMLDivElement { } this.node.count.innerHTML = numh; }*/ - this.node.count.innerHTML = numh.toString(); + this.node.count.innerHTML = numh?.toString(); if (numh < 10) { this.node.count.dataset.condition = "low"; } else if (numh < 100) { From e7bcc71ed1c965b8ab1a1b14dc93235101fb9b75 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Mon, 6 Jul 2026 17:35:35 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E9=87=8D=E6=96=B0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=9D=A8=E8=89=B3=E3=80=90=E9=80=89=E5=A4=87=E3=80=91=EF=BC=8C?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96yingbian/skills.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/core/character/yingbian/skill.js | 80 +++++++++++++-------------- 1 file changed, 38 insertions(+), 42 deletions(-) diff --git a/apps/core/character/yingbian/skill.js b/apps/core/character/yingbian/skill.js index 71e3b62ae3..dd54435b1f 100644 --- a/apps/core/character/yingbian/skill.js +++ b/apps/core/character/yingbian/skill.js @@ -473,7 +473,7 @@ const skills = { cards: result.cards, source: target, animate: "give", - gaintag: ["xinwanyi"] + gaintag: ["xinwanyi"], }); }, mod: { @@ -562,8 +562,8 @@ const skills = { forced: true, ai(target) { const player = get.player(); - get.attitude(player, target) - } + get.attitude(player, target); + }, }) .forResult(); if (!result.bool || !result.targets?.length) { @@ -617,13 +617,14 @@ const skills = { if ((get.position(card) !== "j" && !game.checkMod(card, target, "unchanged", "cardEnabled2", target)) || !target.canUse(cardx, player, false)) { return; } - await target.useCard({ - card: cardx, + const next = target.useCard({ + card: cardx, cards: [card], - targets: [player], + targets: [player], addCount: false, }); - const num = player.hasHistory("damage", evt => evt.card?.name === "sha" && evt.source === target) ? 2 : 1; + await next; + const num = player.hasHistory("damage", evt => evt.card === next.card) ? 2 : 1; await player.draw(num); }, ai: { @@ -1083,12 +1084,12 @@ const skills = { async content(event, trigger, player) { const result = await player .chooseTarget({ - prompt: "请选择【卫戍】的目标", + prompt: "请选择【卫戍】的目标", prompt2: "令一名角色摸一张牌", forced: true, ai(target) { return get.attitude(_status.event.player, target) * Math.sqrt(Math.max(1, 4 - target.countCards("h"))); - } + }, }) .forResult(); if (!result.bool || !result.targets?.length) { @@ -1127,7 +1128,7 @@ const skills = { ai(target) { const player = get.player(); return get.effect(target, { name: "guohe_copy2" }, player, player); - } + }, }) .forResult(); if (!result.bool || !result.targets?.length) { @@ -2480,7 +2481,7 @@ const skills = { ai(target) { const player = get.player(); return get.damageEffect(target, player, player); - } + }, }) .forResult(); if (!result.bool || !result.targets?.length) { @@ -2533,7 +2534,7 @@ const skills = { return -att; } return 0; - } + }, }) .forResult(); if (!result.bool || !result.targets?.length) { @@ -2640,20 +2641,14 @@ const skills = { async content(event, trigger, player) { const result = await player .chooseButton({ - createDialog: [ - "请选择要装备的宝物", - [ - lib.skill.chexuan.derivation?.map(skillName => ["宝物", "", skillName]), - "vcard", - ], - ], + createDialog: ["请选择要装备的宝物", [lib.skill.chexuan.derivation?.map(skillName => ["宝物", "", skillName]), "vcard"]], forced: true, ai(button) { if (button.link[2] === "cheliji_sichengliangyu" && player.countCards("h") < player.hp) { return 1; } return Math.random(); - } + }, }) .forResult(); if (!result.bool || !result.links?.length) { @@ -2697,12 +2692,14 @@ const skills = { return false; }, async content(event, trigger, player) { - const result = await player.judge(card => { - if (get.color(card) === "black") { - return 3; - } - return 0; - }).forResult(); + const result = await player + .judge(card => { + if (get.color(card) === "black") { + return 3; + } + return 0; + }) + .forResult(); if (!result.bool) { return; } @@ -3895,11 +3892,13 @@ const skills = { inherit: "choufa", async content(event, _trigger, player) { const target = event.targets[0]; - const result = await player.choosePlayerCard({ - target, - position: "h", - forced: true, - }).forResult(); + const result = await player + .choosePlayerCard({ + target, + position: "h", + forced: true, + }) + .forResult(); if (!result?.bool || !result.cards?.length) { return; } @@ -4071,7 +4070,7 @@ const skills = { return -attitude; } return 0; - } + }, }) .forResult(); if (!result.bool || !result.targets?.length) { @@ -4215,7 +4214,7 @@ const skills = { return button.link == evt.answer ? 1 : 0; } return get.value(button.link, evt.player); - } + }, }); next.set("dialog", videoId); if (card.isKnownBy(player) || player.hasSkillTag("viewHandcard", null, target, true)) { @@ -4321,7 +4320,7 @@ const skills = { return 7 - get.value(card); } return -get.value(card); - } + }, }) .forResult(); if (!result.bool || !result.cards?.length) { @@ -4447,12 +4446,7 @@ const skills = { player: "phaseDrawBegin2", }, filter(event, player) { - return ( - event.num > 0 && - !event.numFixed && - player.hasMark("xijue") && - game.hasPlayer(target => player !== target && target.hasCards("h")) - ); + return event.num > 0 && !event.numFixed && player.hasMark("xijue") && game.hasPlayer(target => player !== target && target.hasCards("h")); }, async cost(event, trigger, player) { const num = get.mode() === "guozhan" ? Math.min(trigger.num, 2) : trigger.num; @@ -4535,7 +4529,7 @@ const skills = { return 10 - get.value(card); } return 9 - get.value(card); - } + }, }) .set("nono", get.damageEffect(target, player, target) >= 0) .forResult(); @@ -4592,7 +4586,9 @@ const skills = { }); const result = await next.forResult(); if (result.moved?.length) { - const { moved: [gain, bottom] } = result; + const { + moved: [gain, bottom], + } = result; if (gain.length) { await player.gain(gain, "gain2"); }