diff --git a/card/standard.js b/card/standard.js index 9ea1a0d37..cb42ca830 100644 --- a/card/standard.js +++ b/card/standard.js @@ -1007,6 +1007,7 @@ game.import("card", function () { }); game.loseAsync({ lose_list: lose_list, + visible: true, }).setContent("chooseToCompareLose"); } if (cards2.length) game.cardsGotoOrdering(cards2); diff --git a/character/extra.js b/character/extra.js index 6746813d8..c70a11367 100755 --- a/character/extra.js +++ b/character/extra.js @@ -126,7 +126,7 @@ game.import("character", function () { if (!skill || skill === "jingyu") return false; let info = get.info(skill); while (true) { - if (!info || info.charlotte) return false; + if (!info || info.charlotte || info.equipSkill) return false; if (info && !info.sourceSkill) break; skill = info.sourceSkill; info = get.info(skill); @@ -235,13 +235,13 @@ game.import("character", function () { if (["global", "equip"].includes(event.type)) return false; const skill = event.sourceSkill || event.skill; const info = get.info(skill); - return info && !info.charlotte; + return info && !info.charlotte && !info.equipSkill; }, forced: true, onremove: true, charlotte: true, async content(event, trigger, player) { - player.loseHp(player.countMark("lvxin_recover")); + player.recover(player.countMark("lvxin_recover")); player.removeSkill("lvxin_recover"); }, intro: { @@ -256,7 +256,7 @@ game.import("character", function () { if (["global", "equip"].includes(event.type)) return false; const skill = event.sourceSkill || event.skill; const info = get.info(skill); - return info && !info.charlotte; + return info && !info.charlotte && !info.equipSkill; }, forced: true, onremove: true, @@ -746,9 +746,9 @@ game.import("character", function () { filter(event, player) { return ( (event.name != "phase" || game.phaseNumber == 0) && - game.countPlayer(current => { - if (get.mode() != "doudizhu") return !current.isZhu2(); - return current.getSeatNum() != 3; + game.countPlayer((current) => { + if (get.mode() === "doudizhu") return current.getSeatNum() !== 3; + return !current.isZhu2(); }) > 1 ); }, @@ -757,8 +757,8 @@ game.import("character", function () { derivation: "tamo_faq", async content(event, trigger, player) { const toSortPlayers = game.filterPlayer((current) => { - if (get.mode() != "doudizhu") return !current.isZhu2(); - return current.getSeatNum() != 3; + if (get.mode() === "doudizhu") return current.getSeatNum() !== 3; + return !current.isZhu2(); }); toSortPlayers.sortBySeat(game.findPlayer2((current) => current.getSeatNum() == 1, true)); const next = player.chooseToMove("榻谟:是否分配" + @@ -900,7 +900,12 @@ game.import("character", function () { game.swapSeat(list[0], list[1], false); } }, toSwapList); - if (trigger.name === "phase" && !trigger.player.isZhu2() && trigger.player !== toSortPlayers[0] && !trigger._finished) { + if ( + trigger.name === "phase" && + !trigger.player.isZhu2() && + trigger.player !== toSortPlayers[0] && + !trigger._finished + ) { trigger.finish(); trigger._triggered = 5; const evt = toSortPlayers[0].insertPhase(); @@ -911,10 +916,7 @@ game.import("character", function () { } //跳过新回合的phaseBefore evt.pushHandler("onPhase", (event, option) => { - if ( - event.step === 0 && - option.state === "begin" - ) { + if (event.step === 0 && option.state === "begin") { event.step = 1; } }); @@ -929,7 +931,8 @@ game.import("character", function () { filter(event, player) { return game.hasPlayer(target => { if (target == player || target.countCards('h') + player.countCards('h') == 0) return false; - return get.mode() == 'identity' || target.countCards('h') <= player.countCards('h') + 1; + // return get.mode() == 'identity' || target.countCards('h') <= player.countCards('h') + 1; + return true; }); }, direct: true, @@ -942,7 +945,8 @@ game.import("character", function () { "与一名其他角色平分手牌", (card, player, target) => { if (target == player || target.countCards('h') + player.countCards('h') == 0) return false; - return get.mode() == 'identity' || target.countCards('h') <= player.countCards('h') + 1; + // return get.mode() == 'identity' || target.countCards('h') <= player.countCards('h') + 1; + return true; } ) .set("ai", (target) => { @@ -10841,17 +10845,13 @@ game.import("character", function () { dingzhou_info: "出牌阶段限一次。你可以将X张牌交给一名场上有牌的角色,然后你获得其场上的所有牌(X为其场上的牌数)。", tamo: "榻谟", - tamo_info: - "游戏开始时,你可以重新分配除主公外所有角色的座次。", - tamo_info_doudizhu: - "游戏开始时,你可以重新分配除三号位外所有角色的座次。", + tamo_info_doudizhu: "游戏开始时,你可以重新分配除三号位角色外所有角色的座次。", + tamo_info: "游戏开始时,你可以重新分配除主公外所有角色的座次。", tamo_faq: "FAQ", tamo_faq_info: "
  • Q:在一号位不为主公的情况下,〖榻谟〗如何结算?
  • A:该角色可以正常进行座次交换。若受此技能影响导致一号位角色发生了变化,则以排列后的一号位角色为起始角色开始本局游戏。
  • ", zhimeng: "智盟", zhimeng_info: - "回合结束后,你可以选择一名手牌数不大于Y的其他角色(Y为你的手牌数+1)。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。", - zhimeng_info_identity: "回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。", shen_xuzhu: "神许褚", shen_xuzhu_prefix: "神", diff --git a/image/character/sp_zhenji.jpg b/image/character/sp_zhenji.jpg new file mode 100644 index 000000000..6ce90fb41 Binary files /dev/null and b/image/character/sp_zhenji.jpg differ