乐祢衡
This commit is contained in:
parent
b4c8b80914
commit
1c0d75a427
|
@ -1,4 +1,5 @@
|
|||
const characters = {
|
||||
yue_miheng: ["male", "qun", 3, ["dcjigu", "dcsirui"]],
|
||||
chezhou: ["male", "wei", 4, ["dcshefu", "dcpigua"]],
|
||||
dc_lifeng: ["male", "shu", 3, ["dctunchu", "dcshuliang"]],
|
||||
wupu: ["male", "qun", 4, ["dcduanti", "dcshicao"]],
|
||||
|
|
|
@ -2,6 +2,137 @@ import { lib, game, ui, get, ai, _status } from "../../noname.js";
|
|||
|
||||
/** @type { importCharacterConfig['skill'] } */
|
||||
const skills = {
|
||||
//乐祢衡
|
||||
dcjigu: {
|
||||
audio: 2,
|
||||
trigger: {
|
||||
global: "phaseBefore",
|
||||
player: "enterGame",
|
||||
},
|
||||
filter(event, player) {
|
||||
return event.name != "phase" || game.phaseNumber == 0;
|
||||
},
|
||||
forced: true,
|
||||
content() {
|
||||
const cards = player.getCards("h");
|
||||
player.addGaintag(cards, "dcjigu");
|
||||
},
|
||||
mod: {
|
||||
ignoredHandcard(card) {
|
||||
if (card.hasGaintag("dcshuangjia_tag")) return true;
|
||||
},
|
||||
cardDiscardable(card, _, name) {
|
||||
if (name == "phaseDiscard" && card.hasGaintag("dcshuangjia_tag")) return false;
|
||||
},
|
||||
},
|
||||
group: "dcjigu_temp",
|
||||
subSkill: {
|
||||
temp: {
|
||||
audio: "dcjigu",
|
||||
trigger: {
|
||||
player: "damageEnd",
|
||||
source: "damageSource",
|
||||
},
|
||||
filter(event, player) {
|
||||
return player.countCards("e") == player.countCards("h", card => card.hasGaintag("dcjigu"));
|
||||
},
|
||||
usable: 1,
|
||||
prompt2(event, player) {
|
||||
return (
|
||||
"摸" +
|
||||
get.cnNumber(
|
||||
Array.from({ length: 5 })
|
||||
.map((_, i) => i + 1)
|
||||
.reduce((sum, i) => sum + player.countEmptySlot(i), 0)
|
||||
) +
|
||||
"张牌"
|
||||
);
|
||||
},
|
||||
content() {
|
||||
player.draw(
|
||||
Array.from({ length: 5 })
|
||||
.map((_, i) => i + 1)
|
||||
.reduce((sum, i) => sum + player.countEmptySlot(i), 0)
|
||||
);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
dcsirui: {
|
||||
audio: 2,
|
||||
enable: "phaseUse",
|
||||
filter(event, player) {
|
||||
if (!player.countCards("hes")) return false;
|
||||
return get
|
||||
.inpileVCardList(info => {
|
||||
const name = info[2];
|
||||
if (get.type(name) != "basic" && get.type(name) != "trick") return false;
|
||||
return true;
|
||||
})
|
||||
.some(card => player.hasCard(cardx => get.cardNameLength(cardx) == get.cardNameLength(card[2]) && event.filterCard({ name: card[2], nature: card[3], cards: [cardx] }, player, event), "hes"));
|
||||
},
|
||||
usable: 1,
|
||||
chooseButton: {
|
||||
dialog(event, player) {
|
||||
const list = get
|
||||
.inpileVCardList(info => {
|
||||
const name = info[2];
|
||||
if (get.type(name) != "basic" && get.type(name) != "trick") return false;
|
||||
return true;
|
||||
})
|
||||
.filter(card => player.hasCard(cardx => get.cardNameLength(cardx) == get.cardNameLength(card[2]) && event.filterCard({ name: card[2], nature: card[3], cards: [cardx] }, player, event), "hes"));
|
||||
return ui.create.dialog("思锐", [list, "vcard"]);
|
||||
},
|
||||
check(button) {
|
||||
return get.event("player").getUseValue({
|
||||
name: button.link[2],
|
||||
nature: button.link[3],
|
||||
});
|
||||
},
|
||||
backup(links, player) {
|
||||
return {
|
||||
audio: "dcsirui",
|
||||
filterCard(card, player) {
|
||||
return get.cardNameLength(card) == get.cardNameLength(lib.skill.dcsirui_backup.viewAs.name);
|
||||
},
|
||||
popname: true,
|
||||
viewAs: {
|
||||
name: links[0][2],
|
||||
nature: links[0][3],
|
||||
},
|
||||
check(card) {
|
||||
return 7 - get.value(card);
|
||||
},
|
||||
position: "hes",
|
||||
};
|
||||
},
|
||||
prompt(links, player) {
|
||||
return "将一张字数为" + get.cardNameLength(links[0][2]) + "的牌当作" + get.translation(links[0][3] || "") + "【" + get.translation(links[0][2]) + "】使用";
|
||||
},
|
||||
},
|
||||
ai: {
|
||||
order(item, player) {
|
||||
let list = get
|
||||
.inpileVCardList(info => {
|
||||
const name = info[2];
|
||||
if (get.type(name) != "basic" && get.type(name) != "trick") return false;
|
||||
return true;
|
||||
})
|
||||
.filter(card => player.hasCard(cardx => get.cardNameLength(cardx) == get.cardNameLength(card[2]) && player.hasUseTarget(get.autoViewAs({ name: card[2], nature: card[3] }, [cardx]), true, true), "hes"))
|
||||
.map(card => {
|
||||
return { name: card[2], nature: card[3] };
|
||||
})
|
||||
.filter(card => player.getUseValue(card, true, true) > 0);
|
||||
if (!list.length) return 0;
|
||||
list.sort((a, b) => (player.getUseValue(b, true, true) || 0) - (player.getUseValue(a, true, true) || 0));
|
||||
return get.order(list[0], player) * 0.99;
|
||||
},
|
||||
result: { player: 1 },
|
||||
},
|
||||
subSkill: {
|
||||
backup: { audio: "dcsirui" },
|
||||
},
|
||||
},
|
||||
//侧肘
|
||||
dcshefu: {
|
||||
audio: 2,
|
||||
|
|
|
@ -534,7 +534,13 @@ const translates = {
|
|||
dcshuliang_info: "一名角色的回合结束时,你可以将任意张手牌交给任意名没有手牌的角色各一张,然后本次获得可以指定自己为目标的牌的角色可以依次选择是否使用本次获得的牌。",
|
||||
chezhou: "车胄",
|
||||
dcshefu: "慑伏",
|
||||
dcshefu_info: "锁定技。你对其他角色/其他角色对你使用牌造成的伤害改为X(X为此牌对应的所有实体牌最近一次被伤害来源获得后至现在经过的轮次数)。",
|
||||
dcshefu_info: "锁定技。你对其他角色/其他角色对你使用牌造成的伤害改为X(X为此牌对应的所有实体牌最近一次被伤害来源获得后至现在经过的轮次数之和)。",
|
||||
yue_miheng: "乐祢衡",
|
||||
yue_miheng_prefix: "乐",
|
||||
dcjigu: "激鼓",
|
||||
dcjigu_info: "锁定技。①游戏开始时,你将所有手牌标记为“激鼓”。②你的“激鼓”牌不计入手牌上限。③每回合限一次,当你造成或受到伤害后,若你的你的“激鼓”牌数等于你的装备区的牌数,则你可以摸X张牌(X为你的空缺装备栏数)。",
|
||||
dcsirui: "思锐",
|
||||
dcsirui_info: "出牌阶段限一次,你可以将一张牌当作与其字数相同的一张基本牌或普通锦囊牌使用。",
|
||||
};
|
||||
|
||||
export default translates;
|
||||
|
|
|
@ -18,7 +18,7 @@ const characterReplaces = {
|
|||
sunhanhua: ["dc_sunhanhua", "sunhanhua"],
|
||||
zhoubuyi: ["zhoubuyi", "yj_zhoubuyi"],
|
||||
xianglang: ["xianglang", "mb_xianglang"],
|
||||
miheng: ["re_miheng", "miheng"],
|
||||
miheng: ["yue_miheng", "re_miheng", "miheng"],
|
||||
peixiu: ["ol_peixiu", "peixiu"],
|
||||
};
|
||||
|
||||
|
|
|
@ -287,6 +287,7 @@ window.noname_character_rank = {
|
|||
"zhangqiying",
|
||||
"wangyuanji",
|
||||
"miheng",
|
||||
"yue_miheng",
|
||||
"re_guojia",
|
||||
"re_sunquan",
|
||||
"re_zhangjiao",
|
||||
|
@ -1848,6 +1849,7 @@ window.noname_character_rank = {
|
|||
"dc_zhaoxiang",
|
||||
"liuyan",
|
||||
"miheng",
|
||||
"yue_miheng",
|
||||
"majun",
|
||||
"pangdegong",
|
||||
"yangbiao",
|
||||
|
|
Loading…
Reference in New Issue