Merge pull request #1288 from mengxinzxz/PR-Branch

tempname获取bugfix,技能效果/描述优化,格式化
This commit is contained in:
Spmario233 2024-04-30 16:12:05 +08:00 committed by GitHub
commit a0d7c81fb4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
57 changed files with 1936 additions and 4911 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/die/clan_zhongyao.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/die/wu_guanyu.mp3 Normal file

Binary file not shown.

BIN
audio/skill/Ivxin1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/Ivxin2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/clanjieli1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanjieli2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/clanxieshu3.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanxieshu4.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanxieshu5.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanxieshu6.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/clanyuzhi3.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanyuzhi4.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanyuzhi5.mp3 Normal file

Binary file not shown.

BIN
audio/skill/clanyuzhi6.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dchuiji1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dchuiji2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcjijie1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcjijie2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcjuewu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcjuewu2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/dcwuyou1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcwuyou2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcyixian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dcyixian2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/huandao1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/huandao2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jingyu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jingyu2.mp3 Normal file

Binary file not shown.

View File

@ -18,7 +18,7 @@ game.import("character", function () {
clan_zhongyan: ["female", "jin", 3, ["clanguangu", "clanxiaoyong", "clanbaozu"], ["clan:颍川钟氏"]], clan_zhongyan: ["female", "jin", 3, ["clanguangu", "clanxiaoyong", "clanbaozu"], ["clan:颍川钟氏"]],
clan_wangyun: ["male", "qun", 3, ["clanjiexuan", "clanmingjie", "clanzhongliu"], ["clan:太原王氏"]], clan_wangyun: ["male", "qun", 3, ["clanjiexuan", "clanmingjie", "clanzhongliu"], ["clan:太原王氏"]],
clan_wanghun: ["male", "jin", 3, ["clanfuxun", "clanchenya", "clanzhongliu"], ["clan:太原王氏"]], clan_wanghun: ["male", "jin", 3, ["clanfuxun", "clanchenya", "clanzhongliu"], ["clan:太原王氏"]],
clan_zhonghui: ["male", "wei", "3/4", ["clanyuzhi", "clanxieshu", "clanbaozu"], ["clan:颍川钟氏"]], clan_zhonghui: ["male", "wei", "3/4", ["clanyuzhi", "clanxieshu", "clanbaozu"], ["clan:颍川钟氏", "die_audio:clan_zhonghui:clan_zhonghui2:clan_zhonghui3"]],
clan_zhongyu: ["male", "wei", 3, ["clanjiejian", "clanhuanghan", "clanbaozu"], ["clan:颍川钟氏"]], clan_zhongyu: ["male", "wei", 3, ["clanjiejian", "clanhuanghan", "clanbaozu"], ["clan:颍川钟氏"]],
clan_wanglun: ["male", "jin", 3, ["clanqiuxin", "clanjianyuan", "clanzhongliu"], ["clan:太原王氏"]], clan_wanglun: ["male", "jin", 3, ["clanqiuxin", "clanjianyuan", "clanzhongliu"], ["clan:太原王氏"]],
clan_xunyou: ["male", "wei", 3, ["clanbaichu", "clandaojie"], ["clan:颍川荀氏"]], clan_xunyou: ["male", "wei", 3, ["clanbaichu", "clandaojie"], ["clan:颍川荀氏"]],
@ -117,7 +117,7 @@ game.import("character", function () {
}; };
}, },
prompt(links, player) { prompt(links, player) {
return "将至少两张牌当作" + get.translation(links[0][3] || "") + "【" + get.translation(links[0][2]) + "】使用"; return "将至少两张牌当作" + get.translation(links[0][3] || "") + "【" + get.translation(links[0][2]) + "】使用";
}, },
}, },
ai: { ai: {
@ -189,70 +189,29 @@ game.import("character", function () {
}); });
}, },
async cost(event, trigger, player) { async cost(event, trigger, player) {
let num = 0; const num = player.getHistory("useCard").length > 0 ? Math.max(...player.getHistory("useCard").map(history => get.cardNameLength(history.card))) : 0;
if (player.getHistory("useCard").length) { const str = num > 0 ? "并观看牌堆顶" + get.cnNumber(num) + "张牌,然后你可以交换其中任意张牌" : "";
for (const history of player.getHistory("useCard")) {
if (num < get.cardNameLength(history.card)) {
num = get.cardNameLength(history.card);
}
}
}
const str = num > 0 ? "并观看牌堆顶" + get.cnNumber(num) + "张牌,然后你可以交换其中等量的牌" : "";
event.result = await player event.result = await player
.chooseTarget(get.prompt("clanjieli"), "观看一名角色的牌名字数最多的手牌" + str, (card, player, target) => { .chooseTarget(get.prompt("clanjieli"), "观看一名角色的牌名字数最多的手牌" + str, (card, player, target) => {
return target.countCards("h"); return target.countCards("h");
}) })
.set("ai", target => { .set("ai", target => {
const player = get.event("player"), const player = get.event("player");
num = get.event("num"); const num = Math.max(...target.getCards("h").map(card => get.cardNameLength(card)));
let map = {}; return num + 0.0001 * get.attitude(player, target);
for (const i of target.getCards("h")) {
if (!map[get.cardNameLength(i)]) {
map[get.cardNameLength(i)] = 0;
}
map[get.cardNameLength(i)]++;
}
let list = Object.keys(map).sort((a, b) => map[b] - map[a]);
list = list.filter(i => map[i] == map[list[0]]).map(i => parseInt(i));
if (
num >=
target.countCards("h", card => {
return list.includes(get.cardNameLength(card));
}) })
)
return target.countCards("h") * 5 * get.sgn(get.sgn(get.attitude(player, target)) - 0.5);
return -target.countCards("h");
})
.set("num", num)
.forResult(); .forResult();
}, },
async content(event, trigger, player) { async content(event, trigger, player) {
const target = event.targets[0]; const target = event.targets[0];
let num = 0; const num = player.getHistory("useCard").length > 0 ? Math.max(...player.getHistory("useCard").map(history => get.cardNameLength(history.card))) : 0;
if (player.getHistory("useCard").length) { const limit = Math.max(...target.getCards("h").map(card => get.cardNameLength(card)));
for (const history of player.getHistory("useCard")) { const cards = target.getCards("h", card => get.cardNameLength(card) == limit);
if (num < get.cardNameLength(history.card)) { if (num > 0) {
num = get.cardNameLength(history.card);
}
}
}
let map = {};
for (const i of target.getCards("h")) {
if (!map[get.cardNameLength(i)]) {
map[get.cardNameLength(i)] = 0;
}
map[get.cardNameLength(i)]++;
}
let list = Object.keys(map).sort((a, b) => map[b] - map[a]);
list = list.filter(i => map[i] == map[list[0]]).map(i => parseInt(i));
const cards = target.getCards("h", card => {
return list.includes(get.cardNameLength(card));
});
if (num > 0 && cards.length >= num) {
const topCards = get.cards(num); const topCards = get.cards(num);
game.updateRoundNumber(); await game.cardsGotoOrdering(topCards);
const result = await player const result = await player
.chooseToMove("诫厉:交换其中" + get.cnNumber(num) + "张牌") .chooseToMove("诫厉:交换其中任意张牌")
.set("list", [ .set("list", [
[get.translation(target) + "牌名字数最多的手牌", cards, "dcsushou_tag"], [get.translation(target) + "牌名字数最多的手牌", cards, "dcsushou_tag"],
["牌堆顶", topCards], ["牌堆顶", topCards],
@ -260,37 +219,40 @@ game.import("character", function () {
.set("filterMove", (from, to) => { .set("filterMove", (from, to) => {
return typeof to != "number"; return typeof to != "number";
}) })
.set("num", num)
.set("filterOk", moved => { .set("filterOk", moved => {
return moved[1].every(card => get.owner(card)); return moved[1].some(card => get.owner(card));
}) })
.set("processAI", list => { .set("processAI", list => {
const num = Math.min(list[0][1].length, list[1][1].length);
const player = get.event("player"), const player = get.event("player"),
target = get.event().getParent().targets[0]; target = get.event().getParent().targets[0];
const sgn = get.sgn(get.sgn(get.attitude(player, target)) - 0.5); const sgn = get.sgn(get.sgn(get.attitude(player, target)) - 0.5);
const cards1 = list[0][1].slice().sort((a, b) => get.value(a, "raw") * sgn - get.value(b, "raw") * sgn); const cards1 = list[0][1].slice().sort((a, b) => get.value(a, "raw") * sgn - get.value(b, "raw") * sgn);
const cards2 = list[1][1].slice().sort((a, b) => get.value(b, "raw") * sgn - get.value(a, "raw") * sgn); const cards2 = list[1][1].slice().sort((a, b) => get.value(b, "raw") * sgn - get.value(a, "raw") * sgn);
return [cards1.slice().addArray(cards2.slice(0, get.event("num"))), cards2.slice().addArray(cards1.slice(0, get.event("num")))]; return [cards1.slice().addArray(cards2.slice(0, num)), cards2.slice().addArray(cards1.slice(0, num))];
}) })
.forResult(); .forResult();
if (result.bool) { if (result.bool) {
const lose = result.moved[1].slice(); const lose = result.moved[1].slice();
const gain = result.moved[0].slice().filter(i => !get.owner(i)); const gain = result.moved[0].slice().filter(i => !get.owner(i));
if (lose.length) await target.lose(lose, ui.special); if (lose.some(i => get.owner(i)))
await target.lose(
lose.filter(i => get.owner(i)),
ui.special
);
for (let i = lose.length - 1; i--; i >= 0) { for (let i = lose.length - 1; i--; i >= 0) {
ui.cardPile.insertBefore(lose[i], ui.cardPile.firstChild); ui.cardPile.insertBefore(lose[i], ui.cardPile.firstChild);
} }
game.updateRoundNumber(); game.updateRoundNumber();
if (gain.length) await target.gain(gain, "draw"); if (gain.length) await target.gain(gain, "draw");
} else {
for (let i = topCards.length - 1; i--; i >= 0) {
ui.cardPile.insertBefore(topCards[i], ui.cardPile.firstChild);
}
game.updateRoundNumber();
} }
} else { } else {
let content = ['<div class="text center">' + get.translation(target) + "牌名字数最多的手牌</div>", cards]; const content = ['###诫厉###<div class="text center">' + get.translation(target) + "牌名字数最多的手牌</div>", cards];
if (num > 0) {
const topCards = get.cards(num, true);
game.updateRoundNumber();
content.push('<div class="text center">牌堆顶</div>');
content.push(topCards);
}
await player.chooseControl("ok").set("dialog", content); await player.chooseControl("ok").set("dialog", content);
} }
}, },
@ -769,7 +731,7 @@ game.import("character", function () {
} else event.goto(2); } else event.goto(2);
} }
} else event.goto(2); } else event.goto(2);
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var key = `${get.suit(trigger.card)}+${get.type2(trigger.card)}`, var key = `${get.suit(trigger.card)}+${get.type2(trigger.card)}`,
name = result.links[0][2]; name = result.links[0][2];
@ -779,7 +741,7 @@ game.import("character", function () {
game.log(player, "记录了", "#y" + get.translation(name)); game.log(player, "记录了", "#y" + get.translation(name));
game.delayx(); game.delayx();
} }
("step 2"); "step 2";
if (Object.values(player.getStorage("clanbaichu")).includes(trigger.card.name)) { if (Object.values(player.getStorage("clanbaichu")).includes(trigger.card.name)) {
player.chooseDrawRecover(true); player.chooseDrawRecover(true);
} }
@ -829,7 +791,7 @@ game.import("character", function () {
return num1 >= num2 ? 1 : 0; return num1 >= num2 ? 1 : 0;
}) })
.set("target", player); .set("target", player);
("step 1"); "step 1";
player.addSkill("clanqiuxin_effect"); player.addSkill("clanqiuxin_effect");
player.markAuto("clanqiuxin_effect", [[target, result.index]]); player.markAuto("clanqiuxin_effect", [[target, result.index]]);
}, },
@ -896,7 +858,7 @@ game.import("character", function () {
player.unmarkAuto("clanqiuxin_effect", list); player.unmarkAuto("clanqiuxin_effect", list);
var targets = list.map(listx => listx[0]); var targets = list.map(listx => listx[0]);
event.targets = targets; event.targets = targets;
("step 1"); "step 1";
var target = event.targets.shift(); var target = event.targets.shift();
event.target = target; event.target = target;
var list = []; var list = [];
@ -926,7 +888,7 @@ game.import("character", function () {
}) })
.set("target", target); .set("target", target);
} }
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
var card = { var card = {
name: result.links[0][2], name: result.links[0][2],
@ -934,7 +896,7 @@ game.import("character", function () {
}; };
player.useCard(card, target, false); player.useCard(card, target, false);
} }
("step 3"); "step 3";
if (event.targets.length) event.goto(1); if (event.targets.length) event.goto(1);
else if (!player.getStorage("clanqiuxin_effect").length) player.removeSkill("clanqiuxin_effect"); else if (!player.getStorage("clanqiuxin_effect").length) player.removeSkill("clanqiuxin_effect");
}, },
@ -973,7 +935,7 @@ game.import("character", function () {
return get.cardNameLength(card) == num; return get.cardNameLength(card) == num;
}) })
); );
("step 1"); "step 1";
if (result.bool) trigger.player.recast(result.cards); if (result.bool) trigger.player.recast(result.cards);
}, },
}, },
@ -996,7 +958,7 @@ game.import("character", function () {
return _status.event.getTrigger().targets.includes(target); return _status.event.getTrigger().targets.includes(target);
}) })
.set("ai", target => get.attitude(_status.event.player, target)); .set("ai", target => get.attitude(_status.event.player, target));
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
player.logSkill("clanjiejian", target); player.logSkill("clanjiejian", target);
@ -1059,7 +1021,7 @@ game.import("character", function () {
"step 0"; "step 0";
player.draw(get.cardNameLength(trigger.card)); player.draw(get.cardNameLength(trigger.card));
if (player.isDamaged()) player.chooseToDiscard(player.getDamagedHp(), "he", true); if (player.isDamaged()) player.chooseToDiscard(player.getDamagedHp(), "he", true);
("step 1"); "step 1";
if (player.getHistory("useSkill", evt => evt.skill == "clanhuanghan").length > 1 && player.hasSkill("clanbaozu", null, false, false) && player.awakenedSkills.includes("clanbaozu")) { if (player.getHistory("useSkill", evt => evt.skill == "clanhuanghan").length > 1 && player.hasSkill("clanbaozu", null, false, false) && player.awakenedSkills.includes("clanbaozu")) {
player.restoreSkill("clanbaozu"); player.restoreSkill("clanbaozu");
player.popup("保族"); player.popup("保族");
@ -1084,7 +1046,7 @@ game.import("character", function () {
if (card.name == "tao") return num / 114514; if (card.name == "tao") return num / 114514;
}, },
}, },
audio: 2, audio: 6,
trigger: { global: "roundStart" }, trigger: { global: "roundStart" },
direct: true, direct: true,
locked: true, locked: true,
@ -1106,7 +1068,7 @@ game.import("character", function () {
true true
).logSkill = "clanyuzhi"; ).logSkill = "clanyuzhi";
} }
("step 1"); "step 1";
player.removeGaintag("clanyuzhi"); player.removeGaintag("clanyuzhi");
var num1 = player var num1 = player
.getRoundHistory( .getRoundHistory(
@ -1143,11 +1105,11 @@ game.import("character", function () {
if (player.hasSkill("clanbaozu", null, false, false)) player.chooseBool("迂志:是否失去〖保族〗?", "若选择“否”则你受到1点雷属性伤害").set("choice", player.awakenedSkills.includes("clanbaozu")); if (player.hasSkill("clanbaozu", null, false, false)) player.chooseBool("迂志:是否失去〖保族〗?", "若选择“否”则你受到1点雷属性伤害").set("choice", player.awakenedSkills.includes("clanbaozu"));
else event._result = { bool: false }; else event._result = { bool: false };
} else event.goto(3); } else event.goto(3);
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
player.removeSkills("clanbaozu"); player.removeSkills("clanbaozu");
} else player.damage(1, "thunder"); } else player.damage(1, "thunder");
("step 3"); "step 3";
if (player.countCards("h")) { if (player.countCards("h")) {
player player
.chooseCard( .chooseCard(
@ -1173,7 +1135,7 @@ game.import("character", function () {
) )
.set("num", event.num1); .set("num", event.num1);
} else event.finish(); } else event.finish();
("step 4"); "step 4";
if (result.bool) { if (result.bool) {
player.logSkill("clanyuzhi"); player.logSkill("clanyuzhi");
player.showCards(result.cards, get.translation(player) + "发动了【迂志】"); player.showCards(result.cards, get.translation(player) + "发动了【迂志】");
@ -1191,7 +1153,7 @@ game.import("character", function () {
intro: { content: "本轮野心:#张" }, intro: { content: "本轮野心:#张" },
}, },
clanxieshu: { clanxieshu: {
audio: 2, audio: 6,
trigger: { player: "damageEnd", source: "damageSource" }, trigger: { player: "damageEnd", source: "damageSource" },
filter(event, player) { filter(event, player) {
if (!event.card || player.isLinked()) return false; if (!event.card || player.isLinked()) return false;
@ -1292,7 +1254,7 @@ game.import("character", function () {
} else { } else {
player.gainPlayerCard(target, "h", true); player.gainPlayerCard(target, "h", true);
} }
("step 1"); "step 1";
var evtx = event.getParent("phaseUse"); var evtx = event.getParent("phaseUse");
if ( if (
player.countCards("h") == target.countCards("h") && player.countCards("h") == target.countCards("h") &&
@ -1330,7 +1292,7 @@ game.import("character", function () {
}); });
} else event.finish(); } else event.finish();
} else event.finish(); } else event.finish();
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
var card = { var card = {
name: result.links[0][2], name: result.links[0][2],
@ -1450,7 +1412,7 @@ game.import("character", function () {
return get.cardNameLength(card) == num; return get.cardNameLength(card) == num;
}) })
); );
("step 1"); "step 1";
if (result.bool) trigger.player.recast(result.cards); if (result.bool) trigger.player.recast(result.cards);
}, },
}, },
@ -1613,7 +1575,7 @@ game.import("character", function () {
var trigger = _status.event.getTrigger(); var trigger = _status.event.getTrigger();
return get.effect(target, trigger.card, player, player); return get.effect(target, trigger.card, player, player);
}); });
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var targets = result.targets.sortBySeat(); var targets = result.targets.sortBySeat();
player.logSkill("clanmingjie_effect", targets); player.logSkill("clanmingjie_effect", targets);
@ -1655,7 +1617,7 @@ game.import("character", function () {
var cards = player.getStorage("clanmingjie_record").slice(); var cards = player.getStorage("clanmingjie_record").slice();
cards = cards.filterInD("d"); cards = cards.filterInD("d");
event.cards = cards; event.cards = cards;
("step 1"); "step 1";
player player
.chooseButton(["铭戒:是否使用这些牌?", cards]) .chooseButton(["铭戒:是否使用这些牌?", cards])
.set("filterButton", button => { .set("filterButton", button => {
@ -1664,7 +1626,7 @@ game.import("character", function () {
.set("ai", button => { .set("ai", button => {
return _status.event.player.getUseValue(button.link); return _status.event.player.getUseValue(button.link);
}); });
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
var card = result.links[0]; var card = result.links[0];
event.cards.remove(card); event.cards.remove(card);
@ -1672,7 +1634,7 @@ game.import("character", function () {
game.delayx(); game.delayx();
player.chooseUseTarget(card, true); player.chooseUseTarget(card, true);
} else event.finish(); } else event.finish();
("step 3"); "step 3";
if ( if (
event.cards.filter(card => { event.cards.filter(card => {
return get.position(card, true) == "d" && player.hasUseTarget(card); return get.position(card, true) == "d" && player.hasUseTarget(card);
@ -1800,13 +1762,13 @@ game.import("character", function () {
}) })
.set("num", ret); .set("num", ret);
} }
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
event.cards = result.links; event.cards = result.links;
} else { } else {
event.finish(); event.finish();
} }
("step 2"); "step 2";
var count = cards.length; var count = cards.length;
event.getParent().viewedCount = count; event.getParent().viewedCount = count;
player player
@ -1842,7 +1804,7 @@ game.import("character", function () {
return 4; return 4;
})() })()
); );
("step 3"); "step 3";
if (result.bool) { if (result.bool) {
var card = result.links[0]; var card = result.links[0];
cards.remove(card); cards.remove(card);
@ -1963,7 +1925,8 @@ game.import("character", function () {
}, },
clanbaozu: { clanbaozu: {
audio: 2, audio: 2,
audioname: ["clan_zhongyan", "clan_zhonghui", "clan_zhongyu"], audioname: ["clan_zhongyan", "clan_zhongyu", "clan_zhongyao"],
audioname2: { clan_zhonghui: "clanbaozu_clan_zhonghui" },
trigger: { global: "dying" }, trigger: { global: "dying" },
clanSkill: true, clanSkill: true,
limited: true, limited: true,
@ -1979,10 +1942,11 @@ game.import("character", function () {
content() { content() {
"step 0"; "step 0";
player.awakenSkill("clanbaozu"); player.awakenSkill("clanbaozu");
("step 1"); "step 1";
trigger.player.link(true); trigger.player.link(true);
trigger.player.recover(); trigger.player.recover();
}, },
subSkill: { clan_zhonghui: { audio: 6 } },
}, },
//族王淩 //族王淩
clanbolong: { clanbolong: {
@ -2024,7 +1988,7 @@ game.import("character", function () {
return true; return true;
})() })()
); );
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var cards = result.cards; var cards = result.cards;
target.give(cards, player); target.give(cards, player);
@ -2033,7 +1997,7 @@ game.import("character", function () {
} else { } else {
player.chooseCard("驳龙:交给" + get.translation(target) + "一张牌", get.translation(target) + "拒绝给牌,请交给其一张牌然后视为对其使用一张雷【杀】", true, "he"); player.chooseCard("驳龙:交给" + get.translation(target) + "一张牌", get.translation(target) + "拒绝给牌,请交给其一张牌然后视为对其使用一张雷【杀】", true, "he");
} }
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
var cards = result.cards; var cards = result.cards;
player.give(cards, target); player.give(cards, target);
@ -2225,18 +2189,18 @@ game.import("character", function () {
target.addTempSkill("clanlianzhu_targeted", "phaseUseAfter"); target.addTempSkill("clanlianzhu_targeted", "phaseUseAfter");
if (target.storage.clanlianzhu) event.goto(4); if (target.storage.clanlianzhu) event.goto(4);
target.changeZhuanhuanji("clanlianzhu"); target.changeZhuanhuanji("clanlianzhu");
("step 1"); "step 1";
player.recast(cards); player.recast(cards);
("step 2"); "step 2";
if (!target.countCards("he") && !_status.connectMode) event._result = { bool: false }; if (!target.countCards("he") && !_status.connectMode) event._result = { bool: false };
else target.chooseCard("he", "联诛:是否重铸一张牌?", lib.filter.cardRecastable); else target.chooseCard("he", "联诛:是否重铸一张牌?", lib.filter.cardRecastable);
("step 3"); "step 3";
if (result.bool) { if (result.bool) {
target.recast(result.cards); target.recast(result.cards);
if (get.color(cards[0]) === get.color(result.cards[0])) lib.skill.chenliuwushi.change(target, 1); if (get.color(cards[0]) === get.color(result.cards[0])) lib.skill.chenliuwushi.change(target, 1);
} }
event.finish(); event.finish();
("step 4"); "step 4";
target target
.chooseTarget("联诛:选择其与你使用【杀】的目标", true, (card, player, target) => { .chooseTarget("联诛:选择其与你使用【杀】的目标", true, (card, player, target) => {
if (target == player || target == _status.event.sourcex) return false; if (target == player || target == _status.event.sourcex) return false;
@ -2246,7 +2210,7 @@ game.import("character", function () {
return get.effect(target, { name: "sha" }, _status.event.player, _status.event.player); return get.effect(target, { name: "sha" }, _status.event.player, _status.event.player);
}) })
.set("sourcex", player); .set("sourcex", player);
("step 5"); "step 5";
if (result.bool) { if (result.bool) {
var targetx = result.targets[0]; var targetx = result.targets[0];
event.targetx = targetx; event.targetx = targetx;
@ -2255,7 +2219,7 @@ game.import("character", function () {
event.cards = []; event.cards = [];
if (!event.isMine() && !event.isOnline()) game.delayx(); if (!event.isMine() && !event.isOnline()) game.delayx();
} else event.finish(); } else event.finish();
("step 6"); "step 6";
var current = targets.shift(); var current = targets.shift();
current current
.chooseToUse(function (card, player, event) { .chooseToUse(function (card, player, event) {
@ -2270,10 +2234,10 @@ game.import("character", function () {
}) })
.set("sourcex", event.targetx) .set("sourcex", event.targetx)
.set("addCount", false); .set("addCount", false);
("step 7"); "step 7";
if (result.bool) cards.push(result.card); if (result.bool) cards.push(result.card);
if (targets.length > 0) event.goto(6); if (targets.length > 0) event.goto(6);
("step 8"); "step 8";
if (cards.length > 1) { if (cards.length > 1) {
const color = get.color(cards[0], false); const color = get.color(cards[0], false);
if (color != "none") { if (color != "none") {
@ -2352,7 +2316,7 @@ game.import("character", function () {
return game.hasNature(card, "linked"); return game.hasNature(card, "linked");
}) })
); );
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
event.target = target; event.target = target;
@ -2376,7 +2340,7 @@ game.import("character", function () {
return 2 * get.effect(target, { name: "draw" }, player, player) + 0.6 * get.effect(player, { name: "draw" }, player, player) > get.recoverEffect(target, player, player) ? 0 : 1; return 2 * get.effect(target, { name: "draw" }, player, player) + 0.6 * get.effect(player, { name: "draw" }, player, player) > get.recoverEffect(target, player, player) ? 0 : 1;
}); });
} else event.finish(); } else event.finish();
("step 2"); "step 2";
if (result.control == "选项一") { if (result.control == "选项一") {
player.draw(2); player.draw(2);
if (player == target) event.finish(); if (player == target) event.finish();
@ -2384,7 +2348,7 @@ game.import("character", function () {
target.recover(); target.recover();
event.finish(); event.finish();
} }
("step 3"); "step 3";
if (!player.countCards("he")) event.finish(); if (!player.countCards("he")) event.finish();
else if (player.countCards("he") <= 2) else if (player.countCards("he") <= 2)
event._result = { event._result = {
@ -2394,7 +2358,7 @@ game.import("character", function () {
else { else {
player.chooseCard("放赈:交给" + get.translation(target) + "两张牌", "he", 2, true); player.chooseCard("放赈:交给" + get.translation(target) + "两张牌", "he", 2, true);
} }
("step 4"); "step 4";
if (result.bool) { if (result.bool) {
player.give(result.cards, target); player.give(result.cards, target);
} }
@ -2443,14 +2407,14 @@ game.import("character", function () {
} }
return get.type(ts[0]) != "basic"; return get.type(ts[0]) != "basic";
}); });
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
event.target = target; event.target = target;
player.logSkill("clanliuju", target); player.logSkill("clanliuju", target);
player.chooseToCompare(target).set("small", true); player.chooseToCompare(target).set("small", true);
} else event.finish(); } else event.finish();
("step 2"); "step 2";
if (!result.tie) { if (!result.tie) {
var loser = result.bool ? target : player; var loser = result.bool ? target : player;
var cards = []; var cards = [];
@ -2467,7 +2431,7 @@ game.import("character", function () {
if (cards.length) event.cards = cards; if (cards.length) event.cards = cards;
else event.finish(); else event.finish();
} else event.finish(); } else event.finish();
("step 3"); "step 3";
var cardsx = cards.filter(i => get.position(i, true) == "d" && event.loser.hasUseTarget(i)); var cardsx = cards.filter(i => get.position(i, true) == "d" && event.loser.hasUseTarget(i));
if (!cardsx.length) event.goto(6); if (!cardsx.length) event.goto(6);
else else
@ -2479,7 +2443,7 @@ game.import("character", function () {
.set("ai", button => { .set("ai", button => {
return _status.event.player.getUseValue(button.link) + 0.1; return _status.event.player.getUseValue(button.link) + 0.1;
}); });
("step 4"); "step 4";
if (result.bool) { if (result.bool) {
var card = result.links[0]; var card = result.links[0];
event.cards.remove(card); event.cards.remove(card);
@ -2487,9 +2451,9 @@ game.import("character", function () {
game.delayx(); game.delayx();
event.loser.chooseUseTarget(true, card, false); event.loser.chooseUseTarget(true, card, false);
} else event.goto(6); } else event.goto(6);
("step 5"); "step 5";
if (cards.filter(i => get.position(i, true) == "d" && event.loser.hasUseTarget(i)).length) event.goto(3); if (cards.filter(i => get.position(i, true) == "d" && event.loser.hasUseTarget(i)).length) event.goto(3);
("step 6"); "step 6";
if (get.distance(player, target) != event.distance[0] || get.distance(target, player) != event.distance[1]) { if (get.distance(player, target) != event.distance[0] || get.distance(target, player) != event.distance[1]) {
player.restoreSkill("clanxumin"); player.restoreSkill("clanxumin");
game.log(player, "重置了", "#g【恤民】"); game.log(player, "重置了", "#g【恤民】");
@ -2545,7 +2509,7 @@ game.import("character", function () {
if (att > 0) att /= 1.2; if (att > 0) att /= 1.2;
return Math.abs(att); return Math.abs(att);
}); });
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var targets = result.targets.sortBySeat(); var targets = result.targets.sortBySeat();
targets.forEach(i => i.link(true)); targets.forEach(i => i.link(true));
@ -2571,7 +2535,7 @@ game.import("character", function () {
"step 0"; "step 0";
player.unmarkAuto("clanlianhe_effect", [trigger.player]); player.unmarkAuto("clanlianhe_effect", [trigger.player]);
if (trigger.name == "die") event.finish(); if (trigger.name == "die") event.finish();
("step 1"); "step 1";
if ( if (
trigger.player.hasHistory("gain", evt => { trigger.player.hasHistory("gain", evt => {
return evt.getParent().name == "draw" && evt.getParent("phaseUse") == trigger; return evt.getParent().name == "draw" && evt.getParent("phaseUse") == trigger;
@ -2599,7 +2563,7 @@ game.import("character", function () {
.set("draw", get.attitude(trigger.player, player) >= 0); .set("draw", get.attitude(trigger.player, player) >= 0);
} }
} }
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
trigger.player.give(result.cards, player); trigger.player.give(result.cards, player);
} else player.draw(num + 1); } else player.draw(num + 1);
@ -2631,14 +2595,14 @@ game.import("character", function () {
} }
return 0; return 0;
}); });
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
event.target = target; event.target = target;
player.logSkill("clanhuanjia", target); player.logSkill("clanhuanjia", target);
player.chooseToCompare(target); player.chooseToCompare(target);
} else event.finish(); } else event.finish();
("step 2"); "step 2";
if (!result.tie) { if (!result.tie) {
var winner = result.bool ? player : target; var winner = result.bool ? player : target;
var cards = []; var cards = [];
@ -2649,7 +2613,7 @@ game.import("character", function () {
if (cards.length) event.cards = cards; if (cards.length) event.cards = cards;
else event.finish(); else event.finish();
} else event.finish(); } else event.finish();
("step 3"); "step 3";
var cardsx = cards.filter(i => get.position(i, true) == "d" && event.winner.hasUseTarget(i)); var cardsx = cards.filter(i => get.position(i, true) == "d" && event.winner.hasUseTarget(i));
if (!cardsx.length) event.goto(6); if (!cardsx.length) event.goto(6);
else else
@ -2664,7 +2628,7 @@ game.import("character", function () {
return _status.event.player.getUseValue(button.link) * damage + 0.1; return _status.event.player.getUseValue(button.link) * damage + 0.1;
}) })
.set("att", get.attitude(event.winner, player)); .set("att", get.attitude(event.winner, player));
("step 4"); "step 4";
if (result.bool) { if (result.bool) {
var card = result.links[0]; var card = result.links[0];
event.card = card; event.card = card;
@ -2673,7 +2637,7 @@ game.import("character", function () {
game.delayx(); game.delayx();
event.winner.chooseUseTarget(true, card, false); event.winner.chooseUseTarget(true, card, false);
} }
("step 5"); "step 5";
if ( if (
game.hasPlayer2(current => { game.hasPlayer2(current => {
return current.hasHistory("sourceDamage", evt => evt.cards && evt.cards[0] == card); return current.hasHistory("sourceDamage", evt => evt.cards && evt.cards[0] == card);
@ -2709,7 +2673,7 @@ game.import("character", function () {
player.gain(cards, "gain2"); player.gain(cards, "gain2");
event.finish(); event.finish();
} }
("step 6"); "step 6";
player.removeSkills(result.control); player.removeSkills(result.control);
}, },
ai: { ai: {
@ -2749,7 +2713,7 @@ game.import("character", function () {
trigger.cards.map(i => get.value(i)) trigger.cards.map(i => get.value(i))
) <= 5 || trigger.cards.filterInD("oe").length == 0 ) <= 5 || trigger.cards.filterInD("oe").length == 0
); );
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var target = result.targets[0], var target = result.targets[0],
num = lib.skill.clansankuang.getNum(target), num = lib.skill.clansankuang.getNum(target),
@ -2770,13 +2734,13 @@ game.import("character", function () {
.set("prompt", num > 0 ? "是否交给" + get.translation(player) + "任意张牌" + (cards.length ? "并获得" + get.translation(cards) : "") + "" : "交给" + get.translation(player) + "至少" + get.cnNumber(num) + "张牌"); .set("prompt", num > 0 ? "是否交给" + get.translation(player) + "任意张牌" + (cards.length ? "并获得" + get.translation(cards) : "") + "" : "交给" + get.translation(player) + "至少" + get.cnNumber(num) + "张牌");
} }
} else event.finish(); } else event.finish();
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
var cards = result.cards; var cards = result.cards;
target.give(cards, player); target.give(cards, player);
game.delayx(); game.delayx();
} else event.finish(); } else event.finish();
("step 3"); "step 3";
if (trigger.cards.filterInD().length) target.gain(trigger.cards.filterInD(), "gain2", "bySelf"); if (trigger.cards.filterInD().length) target.gain(trigger.cards.filterInD(), "gain2", "bySelf");
else if (trigger.cards.filterInD("e").length) target.gain(trigger.cards.filterInD("e"), get.owner(trigger.cards.filterInD("e")[0]), "give"); else if (trigger.cards.filterInD("e").length) target.gain(trigger.cards.filterInD("e"), get.owner(trigger.cards.filterInD("e")[0]), "give");
}, },
@ -2893,7 +2857,7 @@ game.import("character", function () {
nature: button.link[3], nature: button.link[3],
}); });
}); });
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var name = result.links[0][2], var name = result.links[0][2],
nature = result.links[0][3]; nature = result.links[0][3];
@ -2972,7 +2936,7 @@ game.import("character", function () {
content() { content() {
"step 0"; "step 0";
target.recover(); target.recover();
("step 1"); "step 1";
var name = get.translation(target); var name = get.translation(target);
player player
.chooseControl() .chooseControl()
@ -2993,7 +2957,7 @@ game.import("character", function () {
else return "选项二"; else return "选项二";
})() })()
); );
("step 2"); "step 2";
var players = [target, player]; var players = [target, player];
if (result.control == "选项二") players.reverse(); if (result.control == "选项二") players.reverse();
var card = { name: "sha", nature: "ice", isCard: true }; var card = { name: "sha", nature: "ice", isCard: true };
@ -3206,7 +3170,7 @@ game.import("character", function () {
var cards = player.getCards("h", choice); var cards = player.getCards("h", choice);
if (cards.length) player.discard(cards); if (cards.length) player.discard(cards);
} }
("step 1"); "step 1";
if (!player.isIn() || !game.hasPlayer(current => current != player)) event.finish(); if (!player.isIn() || !game.hasPlayer(current => current != player)) event.finish();
else else
player.chooseTarget("烈誓:令一名其他角色选择另一项", lib.filter.notMe, true).set("ai", target => { player.chooseTarget("烈誓:令一名其他角色选择另一项", lib.filter.notMe, true).set("ai", target => {
@ -3219,7 +3183,7 @@ game.import("character", function () {
} }
return get.damageEffect(target, player, player, "fire"); return get.damageEffect(target, player, player, "fire");
}); });
("step 2"); "step 2";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
event.target = target; event.target = target;
@ -3266,7 +3230,7 @@ game.import("character", function () {
return controls.randomGet(); return controls.randomGet();
}); });
} else event.finish(); } else event.finish();
("step 3"); "step 3";
if (result.control == "选项一") { if (result.control == "选项一") {
if (!target.isDisabledJudge()) target.disableJudge(); if (!target.isDisabledJudge()) target.disableJudge();
target.damage("fire"); target.damage("fire");
@ -3303,7 +3267,7 @@ game.import("character", function () {
player.recast(cards); player.recast(cards);
event.recast = true; event.recast = true;
} }
("step 1"); "step 1";
if (event.link && event.recast) player.draw(); if (event.link && event.recast) player.draw();
}, },
group: "clandianzhan_count", group: "clandianzhan_count",
@ -3418,13 +3382,13 @@ game.import("character", function () {
if (player.hp > 3) return "cancel2"; if (player.hp > 3) return "cancel2";
return Math.random() < 0.75 ? "clandaojie" : choices.randomGet(); return Math.random() < 0.75 ? "clandaojie" : choices.randomGet();
}); });
("step 1"); "step 1";
if (result.control != "cancel2") { if (result.control != "cancel2") {
player.removeSkills(result.control); player.removeSkills(result.control);
} else { } else {
player.loseHp(); player.loseHp();
} }
("step 2"); "step 2";
var targets = game.filterPlayer(current => current == player || current.hasClan("颍川荀氏")); var targets = game.filterPlayer(current => current == player || current.hasClan("颍川荀氏"));
if (targets.length == 1) event._result = { bool: true, targets: targets }; if (targets.length == 1) event._result = { bool: true, targets: targets };
else else
@ -3433,7 +3397,7 @@ game.import("character", function () {
return target == player || target.hasClan("颍川荀氏"); return target == player || target.hasClan("颍川荀氏");
}) })
.set("ai", target => get.attitude(_status.event.player, target)); .set("ai", target => get.attitude(_status.event.player, target));
("step 3"); "step 3";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
player.line(target, "green"); player.line(target, "green");
@ -3558,7 +3522,7 @@ game.import("character", function () {
num2 = player.getHandcardLimit(); num2 = player.getHandcardLimit();
if (num1 < num2) player.draw(Math.min(8, num2 - num1)); if (num1 < num2) player.draw(Math.min(8, num2 - num1));
} }
("step 1"); "step 1";
lib.skill.chenliuwushi.change(player, -1); lib.skill.chenliuwushi.change(player, -1);
}, },
ai: { ai: {
@ -3616,7 +3580,7 @@ game.import("character", function () {
.set("ai", function (target) { .set("ai", function (target) {
return get.attitude(_status.event.player, target); return get.attitude(_status.event.player, target);
}); });
("step 1"); "step 1";
if (result.bool) { if (result.bool) {
var target = result.targets[0]; var target = result.targets[0];
player.logSkill("clanmuyin", target); player.logSkill("clanmuyin", target);
@ -3819,7 +3783,7 @@ game.import("character", function () {
clanchengqi: "承启", clanchengqi: "承启",
clanchengqi_info: "你可以将至少两张手牌当作本回合未以此法转换过的基本牌或普通锦囊牌使用,且你以此法转化的牌名字数须不大于以此法转化的所有实体牌牌名字数之和,若你以此法转化的牌名字数等于以此法转化的所有实体牌牌名字数之和,则你使用此牌时可以令一名角色摸一张牌。", clanchengqi_info: "你可以将至少两张手牌当作本回合未以此法转换过的基本牌或普通锦囊牌使用,且你以此法转化的牌名字数须不大于以此法转化的所有实体牌牌名字数之和,若你以此法转化的牌名字数等于以此法转化的所有实体牌牌名字数之和,则你使用此牌时可以令一名角色摸一张牌。",
clanjieli: "诫厉", clanjieli: "诫厉",
clanjieli_info: "结束阶段,你可以选择一名角色,你观看其手牌中牌名字数最多的牌和牌堆顶X张牌然后你可以交换其中的X张牌X为你本回合使用过的牌中的牌名字数最大值。", clanjieli_info: "结束阶段,你可以选择一名角色,你观看其手牌中牌名字数最多的牌和牌堆顶的X张牌然后你可以交换其中的任意张牌X为你本回合使用过的牌中的牌名字数最大值。",
clan_wu: "陈留·吴氏", clan_wu: "陈留·吴氏",
clan_xun: "颍川·荀氏", clan_xun: "颍川·荀氏",

View File

@ -888,9 +888,7 @@ game.import("character", function () {
enable: "phaseUse", enable: "phaseUse",
usable: 1, usable: 1,
async content(event, trigger, player) { async content(event, trigger, player) {
let num = player.maxHp, let num = player.maxHp, cards = get.cards(num, true);
cards = get.cards(num);
await game.cardsGotoOrdering(cards);
await player.showCards(cards, get.translation(player) + "发动了【易城】"); await player.showCards(cards, get.translation(player) + "发动了【易城】");
if (player.countCards("h")) { if (player.countCards("h")) {
const sum = cards.reduce((num, card) => num + get.number(card), 0); const sum = cards.reduce((num, card) => num + get.number(card), 0);
@ -951,6 +949,14 @@ game.import("character", function () {
await player.lose(puts, ui.special); await player.lose(puts, ui.special);
await player.gain(gains, "gain2"); await player.gain(gains, "gain2");
cards = moved[0].slice(); cards = moved[0].slice();
if (cards.length) {
await game.cardsGotoOrdering(cards);
for (let i = cards.length - 1; i--; i >= 0) {
ui.cardPile.insertBefore(cards[i], ui.cardPile.firstChild);
}
game.log(cards, "被放回了牌堆顶");
game.updateRoundNumber();
}
await player.showCards(cards, get.translation(player) + "【易城】第一次交换后"); await player.showCards(cards, get.translation(player) + "【易城】第一次交换后");
if (cards.reduce((num, card) => num + get.number(card), 0) > sum && player.countCards("h")) { if (cards.reduce((num, card) => num + get.number(card), 0) > sum && player.countCards("h")) {
const { const {
@ -967,18 +973,19 @@ game.import("character", function () {
await player.lose(hs, ui.special); await player.lose(hs, ui.special);
await player.gain(cards, "gain2"); await player.gain(cards, "gain2");
cards = hs.slice(); cards = hs.slice();
await player.showCards(cards, get.translation(player) + "【易城】第二次交换后");
}
}
}
}
if (cards.length) { if (cards.length) {
await game.cardsGotoOrdering(cards);
for (let i = cards.length - 1; i--; i >= 0) { for (let i = cards.length - 1; i--; i >= 0) {
ui.cardPile.insertBefore(cards[i], ui.cardPile.firstChild); ui.cardPile.insertBefore(cards[i], ui.cardPile.firstChild);
} }
game.log(cards, "被放回了牌堆顶"); game.log(cards, "被放回了牌堆顶");
game.updateRoundNumber(); game.updateRoundNumber();
} }
await player.showCards(cards, get.translation(player) + "【易城】第二次交换后");
}
}
}
}
} }
}, },
ai: { ai: {
@ -30067,7 +30074,7 @@ game.import("character", function () {
ol_luyusheng: "OL陆郁生", ol_luyusheng: "OL陆郁生",
ol_luyusheng_prefix: "OL", ol_luyusheng_prefix: "OL",
olcangxin: "藏心", olcangxin: "藏心",
olcangxin_info: "锁定技。①当你每回合第一次受到伤害时,你观看牌堆底的三张牌并弃置其中任意张牌,然后此伤害-X。②摸牌阶段开始时亮出牌堆底的三张牌然后摸X张牌X为其中红桃牌的数量。", olcangxin_info: "锁定技。①当你每回合第一次受到伤害时,你观看牌堆底的三张牌并弃置其中任意张牌,然后此伤害-X。②摸牌阶段开始时展示牌堆底的三张牌然后摸X张牌X为其中红桃牌的数量。",
olrunwei: "润微", olrunwei: "润微",
olrunwei_info: "其他角色的弃牌阶段开始时,若其已受伤,则你可以选择一项:①令其弃置一张牌,其本回合手牌上限+1②令其摸一张牌其本回合手牌上限-1。", olrunwei_info: "其他角色的弃牌阶段开始时,若其已受伤,则你可以选择一项:①令其弃置一张牌,其本回合手牌上限+1②令其摸一张牌其本回合手牌上限-1。",
caoxi: "曹羲", caoxi: "曹羲",
@ -30157,7 +30164,7 @@ game.import("character", function () {
oljiane_info: "锁定技。①当你对其他角色使用的牌生效后,其本回合无法抵消牌。②当你抵消牌后,你本回合无法成为牌的目标。", oljiane_info: "锁定技。①当你对其他角色使用的牌生效后,其本回合无法抵消牌。②当你抵消牌后,你本回合无法成为牌的目标。",
ol_liupi: "刘辟", ol_liupi: "刘辟",
olyicheng: "易城", olyicheng: "易城",
olyicheng_info: "出牌阶段限一次,你可以亮出牌堆顶的X张牌X为你的体力上限然后你可以以任意手牌交换其中等量张牌亮出的牌的点数和因此增加,则你可以选择用所有手牌交换亮出的牌。最后你将亮出的牌置于牌堆顶。", olyicheng_info: "出牌阶段限一次,你可以展示牌堆顶的X张牌X为你的体力上限然后你可以以任意手牌交换其中等量张牌这些牌的点数和因此增加,则你可以选择用所有手牌再次交换这些牌。",
sp_sunce: "SP孙策", sp_sunce: "SP孙策",
sp_sunce_prefix: "SP", sp_sunce_prefix: "SP",
olliantao: "连讨", olliantao: "连讨",

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

File diff suppressed because it is too large Load Diff

View File

@ -8811,7 +8811,7 @@ export const Content = {
} else if (lib.character[name][4].some((tag) => tag.startsWith("die_audio"))) { } else if (lib.character[name][4].some((tag) => tag.startsWith("die_audio"))) {
var tag = lib.character[name][4].find((tag) => tag.startsWith("die_audio")); var tag = lib.character[name][4].find((tag) => tag.startsWith("die_audio"));
var list = tag.split(":").slice(1); var list = tag.split(":").slice(1);
game.playAudio("die", list.length ? list[0] : name); game.playAudio("die", list.length ? list.randomGet() : name);
} else { } else {
game.playAudio("die", name, function () { game.playAudio("die", name, function () {
game.playAudio("die", name.slice(name.indexOf("_") + 1)); game.playAudio("die", name.slice(name.indexOf("_") + 1));