Merge pull request #1241 from PZ157/PR-Branch

技能调整
This commit is contained in:
Spmario233 2024-04-20 22:07:03 +08:00 committed by GitHub
commit a9035e3fd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 40 additions and 36 deletions

View File

@ -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:
"<br><li>Q在一号位不为主公的情况下〖榻谟〗如何结算</li><li>A该角色可以正常进行座次交换。若受此技能影响导致一号位角色发生了变化则以排列后的一号位角色为起始角色开始本局游戏。</li>",
zhimeng: "智盟",
zhimeng_info_identity: '回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
zhimeng_info: '回合结束后你可以选择一名手牌数不大于Y的其他角色Y为你的手牌数+1。若如此做你与其将各自所有手牌置于处理区然后你随机获得这些牌中的一半向上取整其获得剩余的牌。',
zhimeng_info:
"回合结束后你可以选择一名手牌数不大于Y的其他角色Y为你的手牌数+1。若如此做你与其将各自所有手牌置于处理区然后你随机获得这些牌中的一半向上取整其获得剩余的牌。",
zhimeng_info_identity:
"回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。",
shen_xuzhu: "神许褚",
shen_xuzhu_prefix: "神",
zhengqing: "争擎",

View File

@ -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:

View File

@ -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 '转换技。出牌阶段限一次,阴:你可以令一名角色摸三张牌,然后其弃置两张牌;<span class="bluetext">阳:你可以令一名角色弃置一张手牌然后其获得1点护甲。</span>';
return '转换技。出牌阶段限一次,<span class="bluetext">阴:你可以令一名角色摸三张牌,然后其弃置两张牌;</span>阳:你可以令一名角色弃置一张手牌然后其获得1点护甲。';
return '转换技。出牌阶段限一次,阴:你可以令一名角色摸两张牌,然后其弃置一张牌;<span class="bluetext">阳:你可以令一名手牌数不少于二的角色弃置两张手牌然后其获得1点护甲。</span>';
return '转换技。出牌阶段限一次,<span class="bluetext">阴:你可以令一名角色摸两张牌,然后其弃置一张牌;</span>阳:你可以令一名手牌数不少于二的角色弃置两张手牌然后其获得1点护甲。';
},
},
perfectPair: {
@ -21154,7 +21154,7 @@ game.import("character", function () {
mbyilie2: "义烈",
mbyilie3: "义烈",
mbyilie_info:
"锁定技。①游戏开始时你选择一名其他角色然后你获得以下效果其受到伤害时若你没有“烈”则你获得等同于伤害值的“烈”标记然后防止此伤害其对其他角色造成伤害后你回复1点体力。②结束阶段你摸一张牌并失去X点体力然后移去所有“烈”X为你拥有的“烈”标记数。",
"锁定技。①游戏开始时你选择一名其他角色然后你获得以下效果其受到伤害时若你没有“烈”则你获得等同于伤害值的“烈”标记然后防止此伤害其对其他角色造成伤害后你回复1点体力。②结束阶段若你拥有“烈”标记,你摸一张牌并失去X点体力然后移去所有“烈”X为你拥有的“烈”标记数。",
muludawang: "木鹿大王",
shoufa: "兽法",
shoufa_info:

View File

@ -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";

View File

@ -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: "博图",