diff --git a/character/ddd.js b/character/ddd.js
index 07065aeb2..adaa7e8ba 100644
--- a/character/ddd.js
+++ b/character/ddd.js
@@ -3361,6 +3361,9 @@ game.import("character", function () {
content() {
player.draw(3);
},
+ ai: {
+ combo: "dddfusi"
+ },
},
dddchashi: {
trigger: { global: "phaseUseBegin" },
@@ -5113,6 +5116,9 @@ game.import("character", function () {
},
},
},
+ ai: {
+ combo: "dddyouxue"
+ },
},
dddyouxue_old: {
audio: 2,
@@ -6624,7 +6630,7 @@ game.import("character", function () {
"锁定技。出牌阶段开始时,你选择一名角色,其弃置两张牌,然后你对一名角色造成1点伤害。" +
(player.storage["dddxiaheng_del"]
? ""
- : "。“若两名角色:均不为你,你失去一点体力上限;为同一名角色,你失去一点体力;然后若以此法对包括你在内三名不同的角色造成伤害,删除双引号里的描述内容”")
+ : "“若两名角色:均不为你,你失去一点体力上限;为同一名角色,你失去一点体力;然后若以此法对包括你在内三名不同的角色造成伤害,删除双引号里的描述内容”")
);
},
dddshichao(player) {
@@ -6638,9 +6644,8 @@ game.import("character", function () {
return (
"转换技,摸牌阶段,你" +
(player.hasMark("dddxuanlun_del") ? "" : "可") +
- "展示手牌(无牌则不展示),并改为摸其中" +
- (!player.storage["dddlanghuai"] ? "包含" : "缺少") +
- "花色数的牌。"
+ "展示手牌(无牌则不展示),并改为摸其中:" +
+ (player.storage["dddlanghuai"] ? '阴:包含花色数的牌;阳:缺少花色数的牌。' : '阴:包含花色数的牌;阳:缺少花色数的牌。')
);
},
dddxuanlun(player) {
diff --git a/character/extra.js b/character/extra.js
index 77939c610..d38d9034e 100755
--- a/character/extra.js
+++ b/character/extra.js
@@ -604,18 +604,18 @@ game.import("character", function () {
if (
player.hp < 2 ||
target.hp +
- target.countCards("h", (card) =>
- target.canSaveCard(card, target)
- ) <=
- 1 +
- trigger.targets.some((current) =>
- current.hasMark("zhengqing")
- )
+ target.countCards("h", (card) =>
+ target.canSaveCard(card, target)
+ ) <=
+ 1 +
+ trigger.targets.some((current) =>
+ current.hasMark("zhengqing")
+ )
)
allIn = true;
if (
cards.map((card) => get.value(card)).reduce((p, c) => p + c, 0) /
- cards.length >
+ cards.length >
5
)
allIn = true;
@@ -755,9 +755,18 @@ game.import("character", function () {
changeSeat: true,
derivation: "tamo_faq",
async content(event, trigger, player) {
- const toSortPlayers = game.filterPlayer((current) => !current.isZhu2());
+ const toSortPlayers = game.filterPlayer((current) => {
+ return (
+ !current.isZhu2() ||
+ get.mode() == "doudizhu" && current.getSeatNum() == 3
+ );
+ });
toSortPlayers.sortBySeat(game.findPlayer2((current) => current.getSeatNum() == 1, true));
- const next = player.chooseToMove("榻谟:是否分配所有角色的座次?");
+ const next = player.chooseToMove("榻谟:是否分配" +
+ (game.countPlayer() > toSortPlayers.length ?
+ "除主公" + (get.mode() == "doudizhu" ? "和三号位外" : "外") : "") +
+ "所有角色的座次?"
+ );
next.set("list", [
[
"(以下排列的顺序即为发动技能后角色的座次顺序)",
@@ -920,8 +929,8 @@ game.import("character", function () {
trigger: { player: "phaseAfter" },
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;
+ if (target == player || target.countCards('h') + player.countCards('h') == 0) return false;
+ return get.mode() == 'identity' || target.countCards('h') <= player.countCards('h') + 1;
});
},
direct: true,
@@ -933,8 +942,8 @@ game.import("character", function () {
get.prompt("zhimeng"),
"与一名其他角色平分手牌",
(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;
+ if (target == player || target.countCards('h') + player.countCards('h') == 0) return false;
+ return get.mode() == 'identity' || target.countCards('h') <= player.countCards('h') + 1;
}
)
.set("ai", (target) => {
@@ -1638,9 +1647,8 @@ game.import("character", function () {
var bodies = _status.event.player
.getStorage("jxzhaoluan_effect")
.filter((i) => i.isIn());
- return `选择一名角色,你令${get.translation(bodies)}${
- bodies.length > 1 ? "中的一人" : ""
- }减1点体力上限,然后你对选择的角色造成1点伤害。`;
+ return `选择一名角色,你令${get.translation(bodies)}${bodies.length > 1 ? "中的一人" : ""
+ }减1点体力上限,然后你对选择的角色造成1点伤害。`;
},
delay: false,
content() {
@@ -1757,9 +1765,9 @@ game.import("character", function () {
.chooseButton(
[
"挈挟:选择" +
- (num > 1 ? "至多" : "") +
- get.cnNumber(num) +
- "张武将置入武器栏",
+ (num > 1 ? "至多" : "") +
+ get.cnNumber(num) +
+ "张武将置入武器栏",
[
list,
function (item, type, position, noclick, node) {
@@ -1835,8 +1843,7 @@ game.import("character", function () {
`
${skillstr}
`,
node
);
@@ -1863,18 +1870,18 @@ game.import("character", function () {
if (lib.skill[skills[i]] && lib.skill[skills[i]].nobracket) {
uiintro.add(
'' +
- get.translation(skills[i]) +
- "
" +
- get.skillInfoTranslation(skills[i]) +
- "
"
+ get.translation(skills[i]) +
+ "" +
+ get.skillInfoTranslation(skills[i]) +
+ "
"
);
} else {
uiintro.add(
'【' +
- translation +
- "】
" +
- get.skillInfoTranslation(skills[i]) +
- "
"
+ translation +
+ "】" +
+ get.skillInfoTranslation(skills[i]) +
+ "
"
);
}
if (lib.translate[skills[i] + "_append"]) {
@@ -2425,10 +2432,10 @@ game.import("character", function () {
)
return false;
var card = {
- name: event.card.name,
- nature: event.card.nature,
- isCard: true,
- },
+ name: event.card.name,
+ nature: event.card.nature,
+ isCard: true,
+ },
list = event._dccuixin;
for (var target of list) {
var targetx = player[target]();
@@ -2455,10 +2462,10 @@ game.import("character", function () {
player
.chooseBool(
"摧心:是否视为对" +
- get.translation(list[0]) +
- "使用" +
- get.translation(card) +
- "?"
+ get.translation(list[0]) +
+ "使用" +
+ get.translation(card) +
+ "?"
)
.set("goon", get.effect(list[0], card, player, player) > 0)
.set("ai", () => _status.event.goon);
@@ -3301,8 +3308,8 @@ game.import("character", function () {
return 15;
})
.set("forceDie", true).judge2 = function (result) {
- return result.bool;
- };
+ return result.bool;
+ };
"step 1";
var num = game.countPlayer(function (current) {
return current != player && current.hasMark("twwuhun");
@@ -3594,15 +3601,15 @@ game.import("character", function () {
evt.set(
"openskilldialog",
"选择" +
- get.translation(name) +
- "(" +
- get.translation(result.links[0]) +
- ")的目标"
+ get.translation(name) +
+ "(" +
+ get.translation(result.links[0]) +
+ ")的目标"
);
evt.set("norestore", true);
evt.set("custom", {
add: {},
- replace: { window() {} },
+ replace: { window() { } },
});
} else {
delete evt.result.skill;
@@ -3787,11 +3794,11 @@ game.import("character", function () {
return [
1,
0.8 *
- game.countPlayer((current) => {
- return current.countCards("e", (card) => {
- return get.suit(card, current) == suit;
- });
- }),
+ game.countPlayer((current) => {
+ return current.countCards("e", (card) => {
+ return get.suit(card, current) == suit;
+ });
+ }),
];
},
target: (card, player, target) => {
@@ -4805,9 +4812,9 @@ game.import("character", function () {
return (
numx +
num *
- game.countPlayer(function (current) {
- return current.hasSkill("yingba");
- })
+ game.countPlayer(function (current) {
+ return current.hasSkill("yingba");
+ })
);
},
},
@@ -5532,10 +5539,10 @@ game.import("character", function () {
.chooseTarget(
get.prompt("dangmo"),
"为" +
- get.translation(trigger.card) +
- "增加至多" +
- get.translation(num) +
- "个目标",
+ get.translation(trigger.card) +
+ "增加至多" +
+ get.translation(num) +
+ "个目标",
[1, num],
function (card, player, target) {
var evt = _status.event.getTrigger();
@@ -5581,8 +5588,8 @@ game.import("character", function () {
return 1;
})
.set("callback", lib.skill.reshuishi.callback).judge2 = function (result) {
- return result.bool ? true : false;
- };
+ return result.bool ? true : false;
+ };
"step 2";
var cards = cards.filterInD();
if (cards.length)
@@ -6015,10 +6022,10 @@ game.import("character", function () {
.chooseCard(
"h",
"交给" +
- get.translation(player) +
- "一张" +
- get.translation(suit) +
- "花色的手牌",
+ get.translation(player) +
+ "一张" +
+ get.translation(suit) +
+ "花色的手牌",
true,
function (card, player) {
return get.suit(card, player) == _status.event.suit;
@@ -6294,10 +6301,10 @@ game.import("character", function () {
.set(
"prompt",
"把" +
- get.translation(card) +
- "移动到" +
- (event.index2 == 0 ? "弃" : "") +
- "牌堆的..."
+ get.translation(card) +
+ "移动到" +
+ (event.index2 == 0 ? "弃" : "") +
+ "牌堆的..."
);
}
"step 5";
@@ -6323,13 +6330,13 @@ game.import("character", function () {
.set(
"prompt",
"把" +
- get.translation(card) +
- "移动到" +
- get.translation(event.target2) +
- "的..."
+ get.translation(card) +
+ "移动到" +
+ get.translation(event.target2) +
+ "的..."
).ai = function () {
- return 0;
- };
+ return 0;
+ };
}
}
"step 6";
@@ -6667,8 +6674,8 @@ game.import("character", function () {
num == 3
? event.numFixed
: !game.hasPlayer(function (current) {
- return current.hasEnabledSlot();
- })
+ return current.hasEnabledSlot();
+ })
)
return false;
return (
@@ -7041,12 +7048,12 @@ game.import("character", function () {
!target._new_guixin_eff &&
get.tag(card, "damage") &&
target.hp >
- (player.hasSkillTag("damageBonus", true, {
- card: card,
- target: target,
- })
- ? 2
- : 1)
+ (player.hasSkillTag("damageBonus", true, {
+ card: card,
+ target: target,
+ })
+ ? 2
+ : 1)
) {
if (player.hasSkillTag("jueqing", false, target)) return [1, -2];
target._new_guixin_eff = true;
@@ -8006,12 +8013,12 @@ game.import("character", function () {
!target._guixin_eff &&
get.tag(card, "damage") &&
target.hp >
- (player.hasSkillTag("damageBonus", true, {
- card: card,
- target: target,
- })
- ? 2
- : 1)
+ (player.hasSkillTag("damageBonus", true, {
+ card: card,
+ target: target,
+ })
+ ? 2
+ : 1)
) {
if (player.hasSkillTag("jueqing", false, target)) return [1, -2];
target._guixin_eff = true;
@@ -8211,10 +8218,10 @@ game.import("character", function () {
.set(
"allUse",
player.getExpansions("qixing").length >=
- game.countPlayer(function (current) {
- return get.attitude(player, current) > 4;
- }) *
- 2
+ game.countPlayer(function (current) {
+ return get.attitude(player, current) > 4;
+ }) *
+ 2
);
"step 1";
if (result.bool) {
@@ -8492,10 +8499,10 @@ game.import("character", function () {
)
) {
let suits = player.getDiscardableCards(player, "h").reduce((map, card) => {
- const suit = get.suit(card, player);
- if (!map[suit]) map[suit] = [];
- return map;
- }, {}),
+ const suit = get.suit(card, player);
+ if (!map[suit]) map[suit] = [];
+ return map;
+ }, {}),
cards = [];
Object.keys(suits).forEach((i) => {
suits[i].addArray(
@@ -8505,11 +8512,11 @@ game.import("character", function () {
});
return (
player.hp +
- player.countCards(
- "h",
- (card) => !cards.includes(card) && player.canSaveCard(card, player)
- ) -
- 3 >
+ player.countCards(
+ "h",
+ (card) => !cards.includes(card) && player.canSaveCard(card, player)
+ ) -
+ 3 >
0
);
}
@@ -9444,9 +9451,9 @@ game.import("character", function () {
return (
player.storage.nzry_junlve >= num &&
num ==
- game.countPlayer(function (current) {
- return get.attitude(player, current) < 0;
- })
+ game.countPlayer(function (current) {
+ return get.attitude(player, current) < 0;
+ })
);
},
filterTarget(card, player, target) {
@@ -9471,8 +9478,8 @@ game.import("character", function () {
return _status.event.targets.includes(target);
})
.set("targets", targets).ai = function () {
- return 1;
- };
+ return 1;
+ };
"step 2";
if (result.bool) {
result.targets[0].damage("fire", "nocard");
@@ -10838,12 +10845,14 @@ game.import("character", function () {
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_identity: '回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
+ zhimeng_info: '回合结束后,你可以选择一名手牌数不大于Y的其他角色(Y为你的手牌数+1)。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
shen_xuzhu: "神许褚",
shen_xuzhu_prefix: "神",
zhengqing: "争擎",
diff --git a/character/huicui.js b/character/huicui.js
index 802280436..d1bc8a563 100644
--- a/character/huicui.js
+++ b/character/huicui.js
@@ -8005,6 +8005,9 @@ game.import("character", function () {
return false;
},
},
+ ai: {
+ neg: true
+ },
},
//公孙度
dczhenze: {
@@ -10831,7 +10834,10 @@ game.import("character", function () {
player.addTempSkill("zhishi_mark", { player: "phaseBegin" });
}
},
- ai: { expose: 0.3 },
+ ai: {
+ combo: "xunli",
+ expose: 0.3
+ },
subSkill: {
mark: {
trigger: {
@@ -12096,6 +12102,9 @@ game.import("character", function () {
}
}
},
+ ai: {
+ combo: "huguan"
+ },
},
mingluan: {
audio: 2,
@@ -15060,6 +15069,10 @@ game.import("character", function () {
content: function () {
player.removeMark("recangchu", Math.min(player.countMark("recangchu"), trigger.num || 1));
},
+ ai: {
+ combo: "recangchu",
+ neg: true
+ },
group: "reshishou2",
},
reshishou2: {
@@ -15493,7 +15506,7 @@ game.import("character", function () {
var list = ["sha", "shan", "tao", "jiu"];
for (var i of list) {
var strx = "【" + get.translation(i) + "】";
- if (!info || !info[0].includes(i))
+ if (info && !info[0].includes(i))
strx = '' + strx + "";
str += strx;
if (i != "jiu") str += "/";
diff --git a/character/jsrg.js b/character/jsrg.js
index d5015f55d..1d2830e01 100644
--- a/character/jsrg.js
+++ b/character/jsrg.js
@@ -8741,6 +8741,9 @@ game.import("character", function () {
.set("cards", trigger.cards);
}
},
+ ai: {
+ combo: "jsrglirang"
+ },
},
//朱儁
jsrgfendi: {
diff --git a/character/mobile.js b/character/mobile.js
index 38dbc9102..eb8d7e132 100644
--- a/character/mobile.js
+++ b/character/mobile.js
@@ -604,7 +604,7 @@ game.import("character", function () {
usable: 1,
zhuanhuanji: true,
filterTarget(card, player, target) {
- if (player.storage.mbzuoyou) return target.countCards("h");
+ if (player.storage.mbzuoyou) return target.countCards("h") >= 2;
return true;
},
async content(event, trigger, player) {
@@ -612,12 +612,13 @@ game.import("character", function () {
target = event.target;
if (event.name === "mbzuoyou") player.changeZhuanhuanji("mbzuoyou");
if (!storage) {
- await target.draw(3);
- await target.chooseToDiscard(2, true, "he");
+ await target.draw(2);
+ await target.chooseToDiscard(1, true, "h");
} else {
await target.chooseToDiscard(
target === player ? "佐佑" : `${get.translation(player)}对你发动了【佐佑】`,
- "请弃置一张手牌,然后获得1点护甲",
+ "请弃置两张手牌,然后获得1点护甲",
+ 2,
true
);
await target.changeHujia(1, null, true);
@@ -628,8 +629,8 @@ game.import("character", function () {
intro: {
content(storage, player) {
if (!storage)
- return "转换技。出牌阶段限一次,你可以令一名角色摸三张牌,然后其弃置两张牌。";
- return "转换技。出牌阶段限一次,你可以令一名角色弃置一张手牌,然后其获得1点护甲。";
+ return "转换技。出牌阶段限一次,你可以令一名角色摸两张牌,然后其弃置一张手牌。";
+ return "转换技。出牌阶段限一次,你可以令一名手牌数不少于二的角色弃置两张手牌,然后其获得1点护甲。";
},
},
ai: {
@@ -21192,7 +21193,7 @@ game.import("character", function () {
lizhaojiaobo: "李昭焦伯",
mbzuoyou: "佐佑",
mbzuoyou_info:
- "转换技。出牌阶段限一次,阴:你可以令一名角色摸三张牌,然后其弃置两张牌;阳:你可以令一名角色弃置一张手牌,然后其获得1点护甲。",
+ "转换技。出牌阶段限一次,阴:你可以令一名角色摸两张牌,然后其弃置一张手牌;阳:你可以令一名手牌数不少于二的角色弃置两张手牌,然后其获得1点护甲。",
mbshishou: "侍守",
mbshishou_info:
"锁定技。当你发动〖佐佑〗后,若目标角色不为你,你执行〖佐佑〗中目标角色未执行的一项。",
diff --git a/character/offline.js b/character/offline.js
index f606dda50..662a28be9 100644
--- a/character/offline.js
+++ b/character/offline.js
@@ -4049,6 +4049,7 @@ game.import("character", function () {
result: {
player: 1,
},
+ combo: "zyquanji"
},
},
//孙綝
@@ -6954,6 +6955,9 @@ game.import("character", function () {
player.loseToDiscardpile(cards);
if (num <= 1) player.draw();
},
+ ai: {
+ combo: "spyicong"
+ },
},
sptuji2: {
onremove: true,
diff --git a/character/old.js b/character/old.js
index a4f2eaeed..aaf9d071f 100755
--- a/character/old.js
+++ b/character/old.js
@@ -1169,7 +1169,13 @@ game.import("character", function () {
content: function () {
player.addToExpansion(cards, player, "give").gaintag.add("old_jijun");
},
- ai: { order: 1, result: { player: 1 } },
+ ai: {
+ order: 1,
+ result: {
+ player: 1
+ },
+ combo: "old_fangtong"
+ },
},
old_fangtong: {
trigger: {
@@ -1186,6 +1192,9 @@ game.import("character", function () {
var winners = player.getFriends();
game.over(player == game.me || winners.includes(game.me));
},
+ ai:{
+ combo: "oldjijun"
+ },
},
oldanxu: {
enable: "phaseUse",
diff --git a/character/shenhua.js b/character/shenhua.js
index 607075312..9df90bd42 100755
--- a/character/shenhua.js
+++ b/character/shenhua.js
@@ -6134,8 +6134,10 @@ game.import("character", function () {
}
},
ai: {
+ halfneg: true,
directHit_ai: true,
skillTagFilter: function (player, tag, arg) {
+ if (tag === "directHit_ai") return;
if (
arg.card.name != "sha" ||
!arg.target.hasSex("female") ||
diff --git a/character/sp.js b/character/sp.js
index 5207e11fd..8b9ace269 100755
--- a/character/sp.js
+++ b/character/sp.js
@@ -1005,7 +1005,7 @@ game.import("character", function () {
}
return list;
}, []);
- return Math[att > 0 ? "max" : "min"].apply(Math, list);
+ return Math[att > 0 ? "max" : "min"].apply(Math, effs);
})
.forResult();
},
@@ -32648,6 +32648,9 @@ game.import("character", function () {
player.gain(event.togain, "gain2");
}
},
+ ai: {
+ combo: "xinfu_falu"
+ },
},
zhenyi_spade: {
trigger: {
diff --git a/character/tw.js b/character/tw.js
index 9c1cc61cd..e4e72e310 100644
--- a/character/tw.js
+++ b/character/tw.js
@@ -18750,7 +18750,9 @@ game.import("character", function () {
audio: 2,
enable: "phaseUse",
usable: 1,
- filterTarget: lib.filter.notMe,
+ filterTarget: function (card, player, target) {
+ return target.hp >= player.hp;
+ },
content: function () {
"step 0";
var str = get.translation(target);
diff --git a/character/xianding.js b/character/xianding.js
index aa1b34a2c..693673dfc 100644
--- a/character/xianding.js
+++ b/character/xianding.js
@@ -4306,6 +4306,9 @@ game.import("character", function () {
content: function () {
lib.skill.dcluoyan.init(player, "dcluoyan");
},
+ ai: {
+ combo: "dcxingwu"
+ },
},
retianxiang_daxiaoqiao: {
audio: "tianxiang_daxiaoqiao",
@@ -19631,7 +19634,7 @@ game.import("character", function () {
zhugemengxue: "诸葛梦雪",
dcjichun: "寄春",
dcjichun_info:
- "出牌阶段限一次,你可以展示一张手牌并选择一项:①将此牌交给一名手牌数小于你的角色,然后摸X张牌。②弃置此牌并弃置一名手牌数大于你的角色区域里至多X张牌。(X为此牌牌名字数)",
+ "出牌阶段限一次,你可以展示一张牌并选择一项:①将此牌交给一名手牌数小于你的角色,然后摸X张牌。②弃置此牌并弃置一名手牌数大于你的角色区域里至多X张牌。(X为此牌牌名字数)",
dchanying: "寒英",
dchanying_info:
"准备阶段,你可以亮出牌堆里的一张非赠物装备牌,然后令一名手牌数等于你的角色使用此牌。",
diff --git a/game/update.js b/game/update.js
index 3ad3d7dbe..2bbef6d9f 100644
--- a/game/update.js
+++ b/game/update.js
@@ -1,13 +1,8 @@
window.noname_update = {
- version: "1.10.11.1",
+ version: "1.10.11.3",
update: "NULL", //新版本更新文件较多,直接强制进行全量更新
changeLog: [
- "整合@Rintim @mengxinzxz @nonameShijian @lieren2023 @itsnoteasytonameaccount @kuangshen04 @IceCola97 @PZ157 @universe-st @Iking123 @copcap @nineMangos 的Pull Request",
- "OL族王广、族王明山、界王异、刘辟、SP孙策;十周年曹芳、武关羽、神华佗、SP甄姬",
- "手杀SP毌丘俭、曹髦、成济、李昭&焦伯;海外服颜良、文丑、袁谭",
- "添加“无限火力”单挑模式",
- "拆分“技能的消耗”和“技能的效果”,加入“按点卖血”等同时机多次发动技能的机制,逐步淘汰direct:true的写法",
- "其他AI优化与bug修复",
+ "bug修复",
],
files: [],
};
diff --git a/noname/library/element/player.js b/noname/library/element/player.js
index 421247310..0fabfa39b 100644
--- a/noname/library/element/player.js
+++ b/noname/library/element/player.js
@@ -4524,7 +4524,7 @@ export class Player extends HTMLDivElement {
if (typeof this.selectCard == "function") return false;
if (this.complexCard || this.complexSelect || this.filterOk) return false;
var cards = this.player.getCards(this.position);
- if (cards.some(card => !this.filterCard(card, this))) return false;
+ if (cards.some(card => !this.filterCard(card, this.player, this))) return false;
var num = cards.length;
for (var i = 0; i < cards.length; i++) {
if (!lib.filter.cardDiscardable(cards[i], this.player, this)) num--;
@@ -4783,7 +4783,7 @@ export class Player extends HTMLDivElement {
if (typeof this.selectCard == "function") return false;
if (this.complexCard || this.complexSelect || this.filterOk) return false;
var cards = this.player.getCards(this.position);
- if (cards.some(card => !this.filterCard(card, this))) return false;
+ if (cards.some(card => !this.filterCard(card, this.player, this))) return false;
return get.select(this.selectCard)[0] >= this.player.countCards(this.position);
};
next.setContent("chooseCard");