OL界高顺【陷阵】效果调整,修复高顺【陷阵】描述错误

This commit is contained in:
mengxinzxz 2024-05-11 14:31:49 +08:00
parent b9b0653880
commit fd6f42804d
3 changed files with 70 additions and 4 deletions

View File

@ -688,14 +688,80 @@ const skills = {
result: { bool },
} = await player.chooseToCompare(target);
if (bool) {
player.storage.xinxianzhen = target;
player.addTempSkill("xinxianzhen2");
player.markAuto("olxianzhen_effect", [target]);
player.addTempSkill("olxianzhen_effect");
} else {
player.markAuto("olxianzhen_buff", [target]);
player.addTempSkill("olxianzhen_buff");
}
},
subSkill: {
effect: {
charlotte: true,
onremove: true,
audio: "rexianzhen",
mod: {
targetInRange(card, player, target) {
if (player.getStorage("olxianzhen_effect").includes(target)) return true;
},
cardUsableTarget(card, player, target) {
if (player.getStorage("olxianzhen_effect").includes(target)) return true;
},
},
trigger: { player: "useCard2" },
filter(event, player) {
if (event.card.name != "sha" && get.type(event.card) != "trick") return false;
if (!Array.isArray(event.targets)) return false;
return game.hasPlayer(target => {
if (!player.getStorage("olxianzhen_effect").includes(target)) return false;
return !event.targets.includes(target) && lib.filter.targetEnabled2(event.card, player, target);
});
},
async cost(event, trigger, player) {
const targets = game.filterPlayer(target => {
if (!player.getStorage("olxianzhen_effect").includes(target)) return false;
return trigger.targets.includes(target) && lib.filter.targetEnabled2(trigger.card, player, target);
});
if (targets.length == 1) {
const target = targets[0];
const bool = await player.chooseBool(get.prompt("olxianzhen_effect", target), "令" + get.translation(target) + "也成为" + get.translation(trigger.card) + "的目标").forResult("bool");
event.result = { bool: bool, targets: targets };
} else {
event.result = await player
.chooseTarget(get.prompt("olxianzhen_effect"), "令任意名【陷阵】拼点成功的目标角色也成为" + get.translation(trigger.card) + "的目标", (card, player, target) => {
const trigger = get.event().getTrigger();
if (!player.getStorage("olxianzhen_effect").includes(target)) return false;
return trigger.targets.includes(target) && lib.filter.targetEnabled2(trigger.card, player, target);
})
.set("ai", target => {
const player = get.event("player"),
trigger = get.event().getTrigger();
return get.effect(target, trigger.card, player, player);
})
.forResult();
}
},
content() {
trigger.targets.addArray(event.targets);
game.log(event.targets, "成为了", trigger.card, "的额外目标");
},
ai: {
unequip: true,
skillTagFilter(player, tag, arg) {
if (!arg || !arg.target || !player.getStorage("olxianzhen_effect").includes(arg.target)) return false;
},
effect: {
player(card, player, target, current, isLink) {
if (isLink || !target) return;
if (!player.getStorage("olxianzhen_effect").includes(target) && ["sha", "guohe", "shunshou", "huogong", "juedou"].includes(card.name)) {
if (get.effect(target, card, player, player) > 0) {
return [1, 2];
}
}
},
},
},
},
buff: {
charlotte: true,
onremove: true,

View File

@ -38,7 +38,7 @@ const translates = {
ol_gaoshun: "OL界高顺",
ol_gaoshun_prefix: "OL界",
olxianzhen: "陷阵",
olxianzhen_info: "出牌阶段限一次,你可以与一名角色拼点。若你赢,本回合你无视该角色的防具且对其使用牌没有次数和距离限制,且当你使用【杀】或普通锦囊牌指定其他角色为唯一目标时可以令该角色也成为此牌的目标;若你没赢,本回合你不能对其使用【杀】且你的【杀】不计入手牌上限。",
olxianzhen_info: "出牌阶段限一次,你可以与一名角色拼点。若你赢,本回合你无视该角色的防具且对其使用牌没有次数和距离限制,且当你使用【杀】或普通锦囊牌指定目标时可以令该角色也成为此牌的目标;若你没赢,本回合你不能对其使用【杀】且你的【杀】不计入手牌上限。",
ol_sb_yuanshao: "OL谋袁绍",
ol_sb_yuanshao_prefix: "OL谋",
olsbhetao: "合讨",

View File

@ -222,7 +222,7 @@ const translates = {
xianzhen: "陷阵",
xianzhen_info: "出牌阶段限一次,你可以与一名角色拼点。若你赢,你获得以下效果直到回合结束:无视与该角色的距离;无视该角色的防具且对其使用【杀】没有次数限制。若你没赢,你不能使用【杀】直到回合结束。",
xinxianzhen: "陷阵",
xinxianzhen_info: "出牌阶段限一次,你可以与一名角色拼点。若你赢,你获得以下效果直到回合结束:无视该角色的防具且对其使用牌没有次数和距离限制,且当你使用【杀】或普通锦囊牌指定其他角色为唯一目标时可以令该角色也成为此牌的目标。若你没赢,你不能使用【杀】且你的【杀】不计入手牌上限直到回合结束。",
xinxianzhen_info: "出牌阶段限一次,你可以与一名角色拼点。若你赢,你获得以下效果直到回合结束:无视该角色的防具且对其使用牌没有次数和距离限制,且当你使用【杀】或普通锦囊牌指定唯一目标时可以令该角色也成为此牌的目标。若你没赢,你不能使用【杀】且你的【杀】不计入手牌上限直到回合结束。",
xinxianzhen2: "陷阵",
jinjiu: "禁酒",
jinjiu_info: "锁定技,你的【酒】均视为【杀】。",