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