diff --git a/character/extra.js b/character/extra.js
index d38d9034e..6746813d8 100755
--- a/character/extra.js
+++ b/character/extra.js
@@ -673,7 +673,7 @@ game.import("character", function () {
return game.hasPlayer((current) => {
if (current == player) return false;
const total = current.countCards("ej");
- return total > 0 && num > total;
+ return total > 0 && num >= total;
});
},
filterCard: true,
@@ -682,7 +682,7 @@ game.import("character", function () {
1,
Math.max(
...game.filterPlayer((i) => i != get.player()).map((i) => i.countCards("ej"))
- ) + 1,
+ ),
];
},
check(card) {
@@ -691,10 +691,10 @@ game.import("character", function () {
filterTarget(card, player, target) {
const num = target.countCards("ej");
if (!num) return false;
- return ui.selected.cards.length == num + 1 && player != target;
+ return ui.selected.cards.length == num && player != target;
},
filterOk() {
- return ui.selected.cards.length == ui.selected.targets[0].countCards("ej") + 1;
+ return ui.selected.cards.length == ui.selected.targets[0].countCards("ej");
},
position: "he",
lose: false,
@@ -746,8 +746,9 @@ game.import("character", function () {
filter(event, player) {
return (
(event.name != "phase" || game.phaseNumber == 0) &&
- game.countPlayer((current) => {
- return !current.isZhu2();
+ game.countPlayer(current => {
+ if (get.mode() != "doudizhu") return !current.isZhu2();
+ return current.getSeatNum() != 3;
}) > 1
);
},
@@ -756,15 +757,13 @@ game.import("character", function () {
derivation: "tamo_faq",
async content(event, trigger, player) {
const toSortPlayers = game.filterPlayer((current) => {
- return (
- !current.isZhu2() ||
- get.mode() == "doudizhu" && current.getSeatNum() == 3
- );
+ if (get.mode() != "doudizhu") return !current.isZhu2();
+ return current.getSeatNum() != 3;
});
toSortPlayers.sortBySeat(game.findPlayer2((current) => current.getSeatNum() == 1, true));
const next = player.chooseToMove("榻谟:是否分配" +
- (game.countPlayer() > toSortPlayers.length ?
- "除主公" + (get.mode() == "doudizhu" ? "和三号位外" : "外") : "") +
+ (get.mode() != "doudizhu" ?
+ (game.hasPlayer(cur => cur.isZhu2()) ? "除主公外" : "") : "除三号位外") +
"所有角色的座次?"
);
next.set("list", [
@@ -1422,8 +1421,7 @@ game.import("character", function () {
group: "jxlianpo_show",
*content(event, map) {
var source = map.trigger.source;
- source.draw(2);
- source.recover();
+ source.chooseDrawRecover(2, true);
},
mark: true,
intro: {
@@ -10817,7 +10815,7 @@ game.import("character", function () {
le_shen_jiaxu_prefix: "神",
jxlianpo: "炼魄",
jxlianpo_info:
- "锁定技。①若场上最大阵营为:反贼,其他角色的手牌上限-1,所有角色使用【杀】的次数上限和攻击范围+1;主忠,其他角色不能对其以外的角色使用【桃】。其他角色死亡后,若有多个最大阵营,来源摸两张牌并回复1点体力。②一轮游戏开始时,你展示一张未加入游戏或已死亡角色的身份牌,本轮视为该身份对应阵营的角色数+1。",
+ "锁定技。①若场上最大阵营为:反贼,其他角色的手牌上限-1,所有角色使用【杀】的次数上限和攻击范围+1;主忠,其他角色不能对其以外的角色使用【桃】。若有多个最大阵营,其他角色死亡后,来源摸两张牌或回复1点体力。②一轮游戏开始时,你展示一张未加入游戏或已死亡角色的身份牌,本轮视为该身份对应阵营的角色数+1。",
jxzhaoluan: "兆乱",
jxzhaoluan_info:
"限定技。一名角色死亡前,若其此次进入过濒死状态,你可以取消之,令其加3点体力上限并失去所有非锁定技,回复体力至3点,摸四张牌。然后你获得如下效果:出牌阶段,你可以令一名成为过你〖兆乱〗目标的角色减1点体力上限,然后对一名此阶段未以此法选择过的角色造成1点伤害。",
@@ -10841,18 +10839,20 @@ game.import("character", function () {
shen_lusu_prefix: "神",
dingzhou: "定州",
dingzhou_info:
- "出牌阶段限一次。你可以将X张牌交给一名场上有牌的角色,然后你获得其场上的所有牌(X为其场上的牌数+1)。",
+ "出牌阶段限一次。你可以将X张牌交给一名场上有牌的角色,然后你获得其场上的所有牌(X为其场上的牌数)。",
tamo: "榻谟",
tamo_info:
"游戏开始时,你可以重新分配除主公外所有角色的座次。",
tamo_info_doudizhu:
- "游戏开始时,你可以重新分配除主公和三号位外所有角色的座次。",
+ "游戏开始时,你可以重新分配除三号位外所有角色的座次。",
tamo_faq: "FAQ",
tamo_faq_info:
"
Q:在一号位不为主公的情况下,〖榻谟〗如何结算?A:该角色可以正常进行座次交换。若受此技能影响导致一号位角色发生了变化,则以排列后的一号位角色为起始角色开始本局游戏。",
zhimeng: "智盟",
- zhimeng_info_identity: '回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
- zhimeng_info: '回合结束后,你可以选择一名手牌数不大于Y的其他角色(Y为你的手牌数+1)。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
+ zhimeng_info:
+ "回合结束后,你可以选择一名手牌数不大于Y的其他角色(Y为你的手牌数+1)。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。",
+ zhimeng_info_identity:
+ "回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。",
shen_xuzhu: "神许褚",
shen_xuzhu_prefix: "神",
zhengqing: "争擎",
diff --git a/character/huicui.js b/character/huicui.js
index d1bc8a563..380fa70f4 100644
--- a/character/huicui.js
+++ b/character/huicui.js
@@ -9905,7 +9905,7 @@ game.import("character", function () {
var delta = player.countCards("h") - player.hp;
if (delta > 0) player.chooseToDiscard("h", 4, true);
else if (delta == 0) {
- player.chooseToDiscard("h", true);
+ player.chooseToDiscard("he", true);
player.recover();
} else {
player.damage("fire", "nosource");
@@ -14163,18 +14163,18 @@ game.import("character", function () {
check: function (event, player) {
var target = event.player;
var att = get.attitude(player, target);
- var num2 = Math.min(5, target.hp - target.countCards("h"));
+ var num2 = Math.min(5, target.hp) - target.countCards("h");
if (num2 <= 0) return att <= 0;
var num = target.countCards("h", function (card) {
return target.hasValueTarget(card, null, true);
});
if (!num) return att > 0;
- return num > num2;
+ return (num - num2) * att < 0;
},
preHidden: true,
content: function () {
"step 0";
- var num = Math.min(5, trigger.player.hp - trigger.player.countCards("h"));
+ var num = Math.min(5, trigger.player.hp) - trigger.player.countCards("h");
if (num > 0) trigger.player.draw(num);
"step 1";
trigger.player.addTempSkill("xibing2");
@@ -15731,9 +15731,9 @@ game.import("character", function () {
"①当你受到伤害后,你可以摸一张牌,或和一名势力相同的其他角色各摸一张牌;②每回合限一次,当你造成伤害后,你可以对一名与你势力不同的角色造成1点伤害。",
xibing: "息兵",
xibing_info:
- "当一名其他角色在其出牌阶段内使用黑色【杀】或黑色普通锦囊牌指定唯一角色为目标后,你可令该角色将手牌摸至当前体力值(至多摸五张)且本回合不能再使用手牌。",
+ "当一名其他角色在其出牌阶段内使用黑色【杀】或黑色普通锦囊牌指定唯一角色为目标后,你可令该角色将手牌摸至当前体力值(至多摸至五张)且本回合不能再使用手牌。",
xibing_info_guozhan:
- "当一名其他角色在其出牌阶段内使用第一张黑色【杀】或黑色普通锦囊牌指定唯一角色为目标后,你可令该角色将手牌摸至当前体力(至多摸五张)值且本回合不能再使用手牌。若你与其均明置了所有武将牌,则你可以暗置你与其各一张武将牌且本回合不能再明置此武将牌。",
+ "当一名其他角色在其出牌阶段内使用第一张黑色【杀】或黑色普通锦囊牌指定唯一角色为目标后,你可令该角色将手牌摸至当前体力(至多摸至五张)值且本回合不能再使用手牌。若你与其均明置了所有武将牌,则你可以暗置你与其各一张武将牌且本回合不能再明置此武将牌。",
luyusheng: "陆郁生",
zhente: "贞特",
zhente2: "贞特",
@@ -15868,7 +15868,7 @@ game.import("character", function () {
lianzhou_info: "锁定技。准备阶段,你横置你的武将牌。然后你可横置任意名体力值等于你的角色。",
jinglan: "惊澜",
jinglan_info:
- "锁定技。当你造成伤害后,若你的手牌数:大于体力值,你弃置四张手牌;等于体力值,你弃置一张手牌并回复1点体力;小于体力值,你受到1点无来源火焰伤害并摸五张牌。",
+ "锁定技。当你造成伤害后,若你的手牌数:大于体力值,你弃置四张手牌;等于体力值,你弃置一张牌并回复1点体力;小于体力值,你受到1点无来源火焰伤害并摸五张牌。",
dc_yanghu: "羊祜",
dcdeshao: "德劭",
dcdeshao_info:
diff --git a/character/mobile.js b/character/mobile.js
index eb8d7e132..dc1010d2a 100644
--- a/character/mobile.js
+++ b/character/mobile.js
@@ -2442,9 +2442,9 @@ game.import("character", function () {
mbyilie3: {
audio: "mbyilie",
trigger: { player: "phaseEnd" },
- //filter:function(event,player){
- // return player.countMark('mbyilie');
- //},
+ filter: function (event, player) {
+ return player.hasMark('mbyilie');
+ },
forced: true,
content: function () {
"step 0";
@@ -20080,8 +20080,8 @@ game.import("character", function () {
mbzuoyou(player) {
const mbzuoyou = player.storage.mbzuoyou;
if (mbzuoyou)
- return '转换技。出牌阶段限一次,阴:你可以令一名角色摸三张牌,然后其弃置两张牌;阳:你可以令一名角色弃置一张手牌,然后其获得1点护甲。';
- return '转换技。出牌阶段限一次,阴:你可以令一名角色摸三张牌,然后其弃置两张牌;阳:你可以令一名角色弃置一张手牌,然后其获得1点护甲。';
+ return '转换技。出牌阶段限一次,阴:你可以令一名角色摸两张牌,然后其弃置一张牌;阳:你可以令一名手牌数不少于二的角色弃置两张手牌,然后其获得1点护甲。';
+ return '转换技。出牌阶段限一次,阴:你可以令一名角色摸两张牌,然后其弃置一张牌;阳:你可以令一名手牌数不少于二的角色弃置两张手牌,然后其获得1点护甲。';
},
},
perfectPair: {
@@ -21154,7 +21154,7 @@ game.import("character", function () {
mbyilie2: "义烈",
mbyilie3: "义烈",
mbyilie_info:
- "锁定技。①游戏开始时,你选择一名其他角色,然后你获得以下效果:其受到伤害时,若你没有“烈”,则你获得等同于伤害值的“烈”标记,然后防止此伤害;其对其他角色造成伤害后,你回复1点体力。②结束阶段,你摸一张牌并失去X点体力,然后移去所有“烈”(X为你拥有的“烈”标记数)。",
+ "锁定技。①游戏开始时,你选择一名其他角色,然后你获得以下效果:其受到伤害时,若你没有“烈”,则你获得等同于伤害值的“烈”标记,然后防止此伤害;其对其他角色造成伤害后,你回复1点体力。②结束阶段,若你拥有“烈”标记,你摸一张牌并失去X点体力,然后移去所有“烈”(X为你拥有的“烈”标记数)。",
muludawang: "木鹿大王",
shoufa: "兽法",
shoufa_info:
diff --git a/character/offline.js b/character/offline.js
index 662a28be9..1c9ad4f72 100644
--- a/character/offline.js
+++ b/character/offline.js
@@ -703,7 +703,10 @@ game.import("character", function () {
dragjuwu: {
trigger: { target: "shaBefore" },
filter(event, player) {
- return game.countPlayer((target) => event.player.inRange(target)) >= 3;
+ return (
+ !game.hasNature(event.card) &&
+ game.countPlayer((target) => event.player.inRange(target)) >= 3
+ );
},
forced: true,
content() {
@@ -714,6 +717,7 @@ game.import("character", function () {
target(card, player, target) {
if (
card.name == "sha" &&
+ !game.hasNature(card) &&
game.countPlayer((targetx) => player.inRange(targetx)) >= 3
)
return "zerotarget";
diff --git a/character/refresh.js b/character/refresh.js
index 295c285b7..cbcb65b29 100755
--- a/character/refresh.js
+++ b/character/refresh.js
@@ -8241,7 +8241,7 @@ game.import("character", function () {
cardUsable: function (card, player) {
if (card.name == "sha") {
const suit = get.suit(card);
- return suit === "unsure" || player.storage.xingongji2.includes(suit);
+ if (suit === "unsure" || player.storage.xingongji2.includes(suit)) return Infinity;
}
},
aiOrder: function (player, card, num) {
@@ -18102,9 +18102,9 @@ game.import("character", function () {
reluoyi_info:
"你可以跳过摸牌阶段,然后亮出牌堆顶的三张牌,获得其中的基本牌、武器牌和【决斗】,若如此做,直到你的下回合开始,你为伤害来源的【杀】或【决斗】造成的伤害+1。",
reganglie_info:
- "当你受到1点伤害后,你可进行判定,若结果为:红色,你对伤害来源造成1点伤害,;黑色,你弃置伤害来源一张牌。",
+ "当你受到1点伤害后,你可进行判定,若结果为:红色,你对伤害来源造成1点伤害;黑色,你弃置伤害来源一张牌。",
reganglie_info_guozhan:
- "当你受到伤害后,你可进行判定,若结果为:红色,你对伤害来源造成1点伤害,;黑色,你弃置伤害来源一张牌。",
+ "当你受到伤害后,你可进行判定,若结果为:红色,你对伤害来源造成1点伤害;黑色,你弃置伤害来源一张牌。",
botu: "博图",
botu_info: "回合结束时,若你本回合出牌阶段内使用的牌包含四种花色,则你可以进行一个额外回合。",
rebotu: "博图",