Merge branch 'libccy:PR-Branch' into PR-Branch
This commit is contained in:
commit
862cc16cd6
|
@ -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"] ? '阴:包含花色数的牌;<span class="bluetext">阳:缺少花色数的牌。</span>' : '<span class="bluetext">阴:包含花色数的牌;</span>阳:缺少花色数的牌。')
|
||||
);
|
||||
},
|
||||
dddxuanlun(player) {
|
||||
|
|
|
@ -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,8 +1647,7 @@ game.import("character", function () {
|
|||
var bodies = _status.event.player
|
||||
.getStorage("jxzhaoluan_effect")
|
||||
.filter((i) => i.isIn());
|
||||
return `选择一名角色,你令${get.translation(bodies)}${
|
||||
bodies.length > 1 ? "中的一人" : ""
|
||||
return `选择一名角色,你令${get.translation(bodies)}${bodies.length > 1 ? "中的一人" : ""
|
||||
}减1点体力上限,然后你对选择的角色造成1点伤害。`;
|
||||
},
|
||||
delay: false,
|
||||
|
@ -1835,8 +1843,7 @@ game.import("character", function () {
|
|||
`<div class="text" data-nature=${get.groupnature(
|
||||
info[1],
|
||||
"raw"
|
||||
)}m style="font-family: ${
|
||||
lib.config.name_font || "xinwei"
|
||||
)}m style="font-family: ${lib.config.name_font || "xinwei"
|
||||
},xinwei">${skillstr}</div>`,
|
||||
node
|
||||
);
|
||||
|
@ -3602,7 +3609,7 @@ game.import("character", function () {
|
|||
evt.set("norestore", true);
|
||||
evt.set("custom", {
|
||||
add: {},
|
||||
replace: { window() {} },
|
||||
replace: { window() { } },
|
||||
});
|
||||
} else {
|
||||
delete evt.result.skill;
|
||||
|
@ -10838,12 +10845,14 @@ game.import("character", function () {
|
|||
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_identity: '回合结束后,你可以选择一名其他角色。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
|
||||
zhimeng_info: '回合结束后,你可以选择一名手牌数不大于Y的其他角色(Y为你的手牌数+1)。若如此做,你与其将各自所有手牌置于处理区,然后你随机获得这些牌中的一半(向上取整),其获得剩余的牌。',
|
||||
shen_xuzhu: "神许褚",
|
||||
shen_xuzhu_prefix: "神",
|
||||
zhengqing: "争擎",
|
||||
|
|
|
@ -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 = '<span style="text-decoration:line-through;">' + strx + "</span>";
|
||||
str += strx;
|
||||
if (i != "jiu") str += "/";
|
||||
|
|
|
@ -8741,6 +8741,9 @@ game.import("character", function () {
|
|||
.set("cards", trigger.cards);
|
||||
}
|
||||
},
|
||||
ai: {
|
||||
combo: "jsrglirang"
|
||||
},
|
||||
},
|
||||
//朱儁
|
||||
jsrgfendi: {
|
||||
|
|
|
@ -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:
|
||||
"锁定技。当你发动〖佐佑〗后,若目标角色不为你,你执行〖佐佑〗中目标角色未执行的一项。",
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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") ||
|
||||
|
|
|
@ -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: {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
"准备阶段,你可以亮出牌堆里的一张非赠物装备牌,然后令一名手牌数等于你的角色使用此牌。",
|
||||
|
|
|
@ -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: [],
|
||||
};
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in New Issue