diff --git a/apps/core/character/bingshi/skill.js b/apps/core/character/bingshi/skill.js index 76894625ea..25aaf9993c 100644 --- a/apps/core/character/bingshi/skill.js +++ b/apps/core/character/bingshi/skill.js @@ -10,7 +10,7 @@ const skills = { pot_zhouyu_shadow: "potchiyun_pot_zhouyu_shadow", }, logAudio2: { - pot_zhouyu_shadow: (event, player) => ("potchiyun_pot_zhouyu_shadow" + (player.storage.potchiyun1 ? get.rand(3, 4) : get.rand(1, 2)) + ".mp3"), + pot_zhouyu_shadow: (event, player) => "potchiyun_pot_zhouyu_shadow" + (player.storage.potchiyun1 ? get.rand(3, 4) : get.rand(1, 2)) + ".mp3", }, trigger: { player: "gainAfter", @@ -285,11 +285,42 @@ const skills = { trigger: { global: ["showCardsAfter", "gainAfter", "loseAsyncAfter", "phaseAfter"], }, + filter(event, player) { + return player == _status.currentPhase || (!player.storage.potyanhui1 && !player.storage.potyanhui2); + }, + getIndex(event, player) { + if (event.name == "phase") { + return game.filterPlayer(); + } + if (event.name == "showCards") { + return [event.player]; + } + return game.filterPlayer(current => { + if (!event.getg?.(current)?.length) { + return false; + } + return current.hasCards("h", card => { + const shown = game + .getGlobalHistory("everything", evt => { + return evt.name == "showCards" && evt.cards?.length > 0; + }) + .map(evt => evt.cards) + .flat(); + return shown.includes(card); + }); + }); + }, async content(event, trigger, player) { + const target = event.indexedData; if (trigger.name == "phase") { - game.countPlayer(current => current.removeGaintag("potyanhui")); + target.removeGaintag("potyanhui"); + } else if (trigger.name == "showCards") { + const cards = trigger.cards; + game.broadcastAll(cards => { + cards.forEach(card => card.addGaintag("potyanhui")); + }, cards); } else { - const cards = trigger.player.getCards("h", card => { + const cards = target.getCards("h", card => { const shown = game .getGlobalHistory("everything", evt => { return evt.name == "showCards" && evt.cards?.length > 0; @@ -299,7 +330,7 @@ const skills = { return shown.includes(card); }); if (cards.length) { - trigger.player.addGaintag(cards, "potyanhui"); + target.addGaintag(cards, "potyanhui"); } } }, @@ -313,7 +344,7 @@ const skills = { pot_zhouyu_shadow: "potfentao_pot_zhouyu_shadow", }, logAudio2: { - pot_zhouyu_shadow: (event, player) => ("potfentao_pot_zhouyu_shadow" + (player.storage.potfentao2 ? get.rand(3, 4) : get.rand(1, 2)) + ".mp3"), + pot_zhouyu_shadow: (event, player) => "potfentao_pot_zhouyu_shadow" + (player.storage.potfentao2 ? get.rand(3, 4) : get.rand(1, 2)) + ".mp3", }, trigger: { global: "damageBegin4" }, filter(event, player) { @@ -379,7 +410,7 @@ const skills = { } } }, - subSkill: { + subSkill: { dam: { charlotte: true, onremove: true }, pot_zhouyu_shadow: { audio: 4 }, }, diff --git a/apps/core/character/xianding/skill.js b/apps/core/character/xianding/skill.js index 2aceb8b9c3..6a10a854e3 100644 --- a/apps/core/character/xianding/skill.js +++ b/apps/core/character/xianding/skill.js @@ -144,8 +144,9 @@ const skills = { if (card?.storage?.dcsbjuao) { return Infinity; } - } - } + }, + }, + locked: false, filter(event, player) { if (!player.hasDiscardableCards(player, "he")) { return false; @@ -160,6 +161,7 @@ const skills = { name: info[2], nature: info[3], isCard: true, + storage:{ dcsbjuao: true }, }, "unsure" ); @@ -178,6 +180,7 @@ const skills = { name: info[2], nature: info[3], isCard: true, + storage:{ dcsbjuao: true }, }, "unsure" ); @@ -190,6 +193,7 @@ const skills = { return player.getUseValue({ name: button.link[2], nature: button.link[3], + storage:{ dcsbjuao: true }, }); }, backup(links, player) { @@ -205,6 +209,7 @@ const skills = { name: link[2], nature: link[3], isCard: true, + storage:{ dcsbjuao: true }, }, "unsure" ); diff --git a/apps/core/image/character/dc_sb_xusheng.jpg b/apps/core/image/character/dc_sb_xusheng.jpg new file mode 100644 index 0000000000..9f7411c673 Binary files /dev/null and b/apps/core/image/character/dc_sb_xusheng.jpg differ diff --git a/apps/core/image/character/sm_mo_sunquan.jpg b/apps/core/image/character/sm_mo_sunquan.jpg new file mode 100644 index 0000000000..b427f0848c Binary files /dev/null and b/apps/core/image/character/sm_mo_sunquan.jpg differ diff --git a/apps/core/image/character/sm_shen_sunquan.jpg b/apps/core/image/character/sm_shen_sunquan.jpg new file mode 100644 index 0000000000..65eae19551 Binary files /dev/null and b/apps/core/image/character/sm_shen_sunquan.jpg differ diff --git a/apps/core/image/character/sm_shenmo_sunquan.jpg b/apps/core/image/character/sm_shenmo_sunquan.jpg new file mode 100644 index 0000000000..5cbba4e448 Binary files /dev/null and b/apps/core/image/character/sm_shenmo_sunquan.jpg differ