From e55e40033378ee0c0148274432c03f3df7948f57 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Sat, 8 Jun 2024 19:42:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=88=E5=8E=9F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/collab/skill.js | 30 +++++++++++++++++++++++------- character/collab/translate.js | 4 ++-- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/character/collab/skill.js b/character/collab/skill.js index 14d974ae0..76fcc0951 100644 --- a/character/collab/skill.js +++ b/character/collab/skill.js @@ -199,7 +199,10 @@ const skills = { //屈原 dcqiusuo: { audio: 2, - trigger: { source: "damageSource" }, + trigger: { + source: "damageSource", + player: "damageEnd", + }, frequent: true, async content(event, trigger, player) { const tiesuo = get.cardPile("tiesuo"); @@ -293,8 +296,8 @@ const skills = { if (list[0].countCards("h")) { await list[0].showHandcards(); } + gaifa.remove(list[0]); } - gaifa.remove(list[0]); } else { list[0].popup("回答错误", "fire"); game.log(list[0], "回答错误"); @@ -305,6 +308,7 @@ const skills = { if (gaifa.length) { for (const i of gaifa) { i.addTempSkill("dclisao_gaifa"); + i.markAuto("dclisao_gaifa", [player]); } } }, @@ -327,7 +331,7 @@ const skills = { order: 10, result: { target(player, target) { - if (target.hasSkill("dclisao_gaifa")) return 0; + if (target.getStorage("dclisao_gaifa").includes(player)) return 0; if (get.damageEffect(target, player, player) < 0 && get.attitude(player, target) > 0) return 0; let cards = player.getCards("hs", card => get.tag(card, "damage") && player.canUse(card, target) && get.effect(target, card, player, player) > 0); if (!cards.length) return 0; @@ -342,18 +346,30 @@ const skills = { subSkill: { gaifa: { charlotte: true, - trigger: { player: "damageBegin3" }, + onremove: true, + trigger: { + global: "useCard", + player: "damageBegin3", + }, filter(event, player) { - return player.getHistory("damage", evt => evt.num > 0).length; + const targets = player.getStorage("dclisao_gaifa"); + return event.name != "useCard" || targets.includes(event.player); }, forced: true, popup: false, async content(event, trigger, player) { - trigger.num = player.getHistory("damage", evt => evt.num > 0).lastItem.num * 2; + const targets = player.getStorage("dclisao_gaifa"); + if (trigger.name == "useCard") trigger.directHit.add(player); + else trigger.num = trigger.num * targets.length; }, mark: true, marktext: "江", - intro: { content: "不能熟记《离骚》的惩罚——本回合受到伤害时,若你本回合已受到过伤害,则此伤害值改为上一次受到的伤害的两倍" }, + intro: { + markcount: () => 0, + content(storage) { + return "
  • 无法响应" + get.translation(storage) + "使用的牌
  • 受到的伤害翻" + storage.length + "倍"; + }, + }, }, }, }, diff --git a/character/collab/translate.js b/character/collab/translate.js index 63d513648..d1ae8077c 100644 --- a/character/collab/translate.js +++ b/character/collab/translate.js @@ -101,9 +101,9 @@ const translates = { dcbenxi_info: "转换技,锁定技。当你失去手牌后,阴:系统随机检索出一句转换为拼音后包含“wu,yi”的技能台词,然后你念出此台词。阳:你获得上次所念出的台词对应的技能;若你已拥有该技能,则改为对其他角色各造成1点伤害。", quyuan: "屈原", dcqiusuo: "求索", - dcqiusuo_info: "当你造成伤害后,你可以从牌堆或弃牌堆中获得一张【铁索连环】。", + dcqiusuo_info: "当你造成或受到伤害后,你可以从牌堆或弃牌堆中获得一张【铁索连环】。", dclisao: "离骚", - dclisao_info: "出牌阶段限一次,你可以选择至多两名角色,这些角色须同时回答《离骚》的句段填空。第一名回答正确的角色展示所有手牌,所有本次回答错误或未回答的角色本回合受到伤害时,若其本回合已受到过伤害,则此伤害值改为上一次受到的伤害的两倍。", + dclisao_info: "出牌阶段限一次,你可以选择至多两名角色,这些角色须同时回答《离骚》的句段填空。第一名回答正确的角色展示所有手牌,其余角色本回合不能响应你使用的牌且受到的伤害翻倍。", xin_sunquan: "会玩孙权", xin_sunquan_ab: "孙权", dchuiwan: "会玩",