Merge branch 'PR-Branch' of github.com:libccy/noname into dev

This commit is contained in:
copcap 2024-05-21 14:21:57 +08:00
commit 9481e6e14d
No known key found for this signature in database
GPG Key ID: 30E7AB6699451AEE
62 changed files with 1477 additions and 566 deletions

BIN
audio/die/liupan.mp3 Normal file

Binary file not shown.

BIN
audio/die/star_sunjian.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -5582,6 +5582,10 @@ const skills = {
combo: "chuyuan", combo: "chuyuan",
}, },
}, },
rerende_shen_caopi: { audio: 1 },
rezhiheng_shen_caopi: { audio: 1 },
olluanji_shen_caopi: { audio: 1 },
olfangquan_shen_caopi: { audio: 1 },
olzhiti: { olzhiti: {
audio: "drlt_zhiti", audio: "drlt_zhiti",
global: "olzhiti2", global: "olzhiti2",

View File

@ -218,11 +218,7 @@ export default {
"#rejianxiong_shen_caopi1": "孤之所长,继父之所长。", "#rejianxiong_shen_caopi1": "孤之所长,继父之所长。",
"#rejianxiong_shen_caopi2": "乱世枭雄,哼,孤亦是。", "#rejianxiong_shen_caopi2": "乱世枭雄,哼,孤亦是。",
"#rerende_shen_caopi1": "这些都是孤赏赐给你的。", "#rerende_shen_caopi1": "这些都是孤赏赐给你的。",
"#rerende_shen_caopi2": "这些都是孤赏赐给你的。",
"#rezhiheng_shen_caopi1": "有些事情,还需多加思索。", "#rezhiheng_shen_caopi1": "有些事情,还需多加思索。",
"#rezhiheng_shen_caopi2": "有些事情,还需多加思索。",
"#olluanji_shen_caopi1": "违逆我的,都该处罚。", "#olluanji_shen_caopi1": "违逆我的,都该处罚。",
"#olluanji_shen_caopi2": "违逆我的,都该处罚。",
"#olfangquan_shen_caopi1": "此等小事,你们处理即可。", "#olfangquan_shen_caopi1": "此等小事,你们处理即可。",
"#olfangquan_shen_caopi2": "此等小事,你们处理即可。",
}; };

View File

@ -11,6 +11,7 @@ const characters = {
ol_chengpu: ["male", "wu", 4, ["dclihuo", "olchunlao"], ["tempname:xin_chengpu", "die_audio:xin_chengpu"]], ol_chengpu: ["male", "wu", 4, ["dclihuo", "olchunlao"], ["tempname:xin_chengpu", "die_audio:xin_chengpu"]],
ol_wangyi: ["female", "wei", 3, ["olzhenlie", "olmiji"]], ol_wangyi: ["female", "wei", 3, ["olzhenlie", "olmiji"]],
ol_sb_pangtong: ["male", "shu", 3, ["olsbhongtu", "olsbqiwu"]], ol_sb_pangtong: ["male", "shu", 3, ["olsbhongtu", "olsbqiwu"]],
ol_fazheng: ["male", "shu", 3, ["olxuanhuo", "olenyuan"]],
}; };
export default characters; export default characters;

View File

@ -242,6 +242,134 @@ const skills = {
trigger.cancel(); trigger.cancel();
}, },
}, },
//法正
olxuanhuo: {
audio: 2,
trigger: { player: "phaseDrawEnd" },
filter(event, player) {
return player.countCards("he") > 1 && game.hasPlayer(target => target != player);
},
async cost(event, trigger, player) {
const ai2 = function (target) {
const player = _status.event.player;
if (
!game.hasPlayer(current => {
return current != player && current != target;
})
)
return get.effect(target, new lib.element.VCard({ name: "shunshou_copy2" }), player, player);
if (get.attitude(player, target) <= 0) return 0;
const num = target.getUseValue(new lib.element.VCard({ name: "sha" }), false);
if (target.hasSkillTag("nogain")) num /= 4;
return num;
};
event.result = await player
.chooseCardTarget({
prompt: get.prompt2("olxuanhuo"),
filterCard: true,
selectCard: 2,
position: "he",
filterTarget: lib.filter.notMe,
goon: game.hasPlayer(function (current) {
return current != player && ai2(player, current) > 0;
}),
ai1(card) {
if (!_status.event.goon && game.countPlayer(target => target != _status.event.player) > 1) return 0;
return 7 - get.value(card);
},
ai2: ai2,
})
.forResult();
},
async content(event, trigger, player) {
const target = event.targets[0];
await player.give(event.cards, target);
if (
game.hasPlayer(function (current) {
return current != player && current != target;
})
) {
const result2 = await player
.chooseTarget(
function (card, player, target) {
return target != player && target != _status.event.target;
},
"请选择" + get.translation(target) + "使用【杀】的目标",
true
)
.set("target", target)
.set("ai", function (target) {
const evt = _status.event,
card = new lib.element.VCard({ name: "sha" });
if (!evt.target.canUse(card, target, false)) return 0;
return get.effect(target, card, evt.target, evt.player);
})
.set("target", target)
.forResult();
if (result2.bool) {
const target2 = result2.targets[0];
const sha = new lib.element.VCard({ name: "sha" });
player.line(target2);
if (target.canUse(sha, target2, false)) {
const index = await target
.chooseControl()
.set("choiceList", ["视为对" + get.translation(target2) + "使用一张【杀】", "令" + get.translation(player) + "观看你的手牌并获得你的两张牌"])
.set("ai", () => {
const player = get.event("player"),
target = get.event("target"),
source = get.event("source");
const sha = new lib.element.VCard({ name: "sha" }),
shunshou = new lib.element.VCard({ name: "shunshou_copy2" });
return get.effect(target, sha, player, player) > get.effect(player, shunshou, source, player) * Math.min(2, player.countGainableCards(source, "he")) ? 0 : 1;
})
.set("source", player)
.set("target", target2)
.forResult("index");
if (index == 0) {
await target.useCard(sha, false, target2);
return;
}
}
}
}
await player.gainPlayerCard(target, 2, "he", true, "visible");
},
ai: { expose: 0.15 },
},
olenyuan: {
audio: 2,
group: ["olenyuan1", "olenyuan2"],
},
olenyuan1: {
inherit: "xinenyuan1",
},
olenyuan2: {
inherit: "xinenyuan2",
prompt2: event => "令" + get.translation(event.source) + "交给你一张红色手牌或失去1点体力",
getIndex: event => event.num,
async content(event, trigger, player) {
const result = await trigger.source
.chooseToGive(
"恩怨:交给" + get.translation(player) + "一张红色手牌或失去1点体力",
(card, player) => {
return get.color(card) == "red";
},
"h",
player
)
.set("ai", card => {
const player = _status.event.getParent().player,
source = _status.event.player;
if (get.effect(source, { name: "losehp" }, source, source) >= 0) return 0;
if (get.attitude(player, source) > 0) return 11 - get.value(card);
return 7 - get.value(card);
})
.forResult();
if (!result.bool) {
await trigger.source.loseHp();
}
},
},
//王异 //王异
olzhenlie: { olzhenlie: {
audio: 2, audio: 2,
@ -1665,13 +1793,12 @@ const skills = {
olqiaoshui: { olqiaoshui: {
audio: "reqiaoshui", audio: "reqiaoshui",
inherit: "reqiaoshui", inherit: "reqiaoshui",
filter: function (event, player) { filter(event, player) {
return player.countCards("h") > 0 && !player.hasSkill("olqiaoshui_used"); return player.countCards("h") > 0 && !player.hasSkill("olqiaoshui_used");
}, },
content: function () { async content(event, trigger, player) {
"step 0"; const target = event.target;
player.chooseToCompare(target); const result = await player.chooseToCompare(target).forResult();
"step 1";
if (result.bool) player.addTempSkill("qiaoshui3", { player: "phaseUseAfter" }); if (result.bool) player.addTempSkill("qiaoshui3", { player: "phaseUseAfter" });
else { else {
player.addTempSkill("qiaoshui2"); player.addTempSkill("qiaoshui2");
@ -1699,35 +1826,26 @@ const skills = {
player: ["loseAfter"], player: ["loseAfter"],
global: ["equipAfter", "addJudgeAfter", "gainAfter", "loseAsyncAfter", "addToExpansionAfter"], global: ["equipAfter", "addJudgeAfter", "gainAfter", "loseAsyncAfter", "addToExpansionAfter"],
}, },
filter: function (event, player) { filter(event, player) {
var evt = event.getl(player); const evt = event.getl(player);
return evt && (evt.es.length || evt.cards2.length > 1); return evt && (evt.es.length || evt.cards2.length > 1);
}, },
direct: true, getIndex: () => 2,
content: function () { async cost(event, trigger, player) {
"step 0"; event.result = await player
event.count = 2; .chooseTarget(get.prompt("olxuanfeng"), "弃置一名其他角色的一张牌", (card, player, target) => {
event.logged = false;
"step 1";
player
.chooseTarget(get.prompt("olxuanfeng"), "弃置一名其他角色的一张牌", function (card, player, target) {
if (player == target) return false; if (player == target) return false;
return target.countDiscardableCards(player, "he"); return target.countDiscardableCards(player, "he");
}) })
.set("ai", function (target) { .set("ai", target => {
return -get.attitude(_status.event.player, target); const player = get.event("player");
}); return get.effect(target, { name: "guohe_copy2" }, player, player);
"step 2"; })
if (result.bool) { .forResult();
if (!event.logged) { },
player.logSkill("olxuanfeng", result.targets); content() {
event.logged = true; const target = event.targets[0];
} else player.line(result.targets[0], "green"); player.discardPlayerCard(target, "he", true);
player.discardPlayerCard(result.targets[0], "he", true);
event.count--;
} else event.finish();
"step 3";
if (event.count) event.goto(1);
}, },
ai: { ai: {
reverseEquip: true, reverseEquip: true,

View File

@ -1,5 +1,5 @@
const characterSort = { const characterSort = {
onlyOL_yijiang1: ["ol_jianyong", "ol_lingtong", "ol_gaoshun"], onlyOL_yijiang1: ["ol_jianyong", "ol_lingtong", "ol_gaoshun", "ol_fazheng"],
onlyOL_yijiang2: ["ol_caozhang", "ol_chengpu", "ol_wangyi"], onlyOL_yijiang2: ["ol_caozhang", "ol_chengpu", "ol_wangyi"],
onlyOL_yijiang3: ["ol_yufan"], onlyOL_yijiang3: ["ol_yufan"],
onlyOL_sb: ["ol_sb_jiangwei", "ol_sb_guanyu", "ol_sb_taishici", "ol_sb_yuanshao", "ol_sb_pangtong"], onlyOL_sb: ["ol_sb_jiangwei", "ol_sb_guanyu", "ol_sb_taishici", "ol_sb_yuanshao", "ol_sb_pangtong"],

View File

@ -78,6 +78,14 @@ const translates = {
olsbhongtu_info: "一名角色的阶段结束时,若你于此阶段得到过至少两张牌,你可以摸三张牌,展示三张手牌,令一名其他角色选择是否使用其中一张牌并令你随机弃置其中另一张牌。若使用牌的点数于三张牌中满足以下条件,其获得如下技能或效果直到其下一个回合的回合结束:唯一最大,其获得〖飞军〗;不为唯一最大且不为唯一最小,其获得〖潜袭〗;唯一最小,其手牌上限+2。若其未以此法使用牌你对其与你各造成1点火焰伤害。", olsbhongtu_info: "一名角色的阶段结束时,若你于此阶段得到过至少两张牌,你可以摸三张牌,展示三张手牌,令一名其他角色选择是否使用其中一张牌并令你随机弃置其中另一张牌。若使用牌的点数于三张牌中满足以下条件,其获得如下技能或效果直到其下一个回合的回合结束:唯一最大,其获得〖飞军〗;不为唯一最大且不为唯一最小,其获得〖潜袭〗;唯一最小,其手牌上限+2。若其未以此法使用牌你对其与你各造成1点火焰伤害。",
olsbqiwu: "栖梧", olsbqiwu: "栖梧",
olsbqiwu_info: "当你每回合首次受到伤害时,若伤害来源为你或在你的攻击范围内,你可以弃置一张红色牌,防止此伤害。", olsbqiwu_info: "当你每回合首次受到伤害时,若伤害来源为你或在你的攻击范围内,你可以弃置一张红色牌,防止此伤害。",
ol_fazheng:'OL界法正',
ol_fazheng_prefix:'OL界',
olxuanhuo:'眩惑',
olxuanhuo_info:'摸牌阶段结束时你可以交给一名其他角色两张牌然后其选择一项1.视为对你选择的另一名其他角色使用一张【杀】2.令你观看并获得其两张牌。',
olenyuan:'恩怨',
olenyuan1:'恩怨',
olenyuan2:'恩怨',
olenyuan_info:'①当你一次性获得一名其他角色超过一张牌后你可以令其摸一张牌。②当你受到1点伤害后你可以令伤害来源选择一项1.将一张红色手牌交给你2.失去1点体力。',
}; };
export default translates; export default translates;

View File

@ -588,6 +588,7 @@ window.noname_character_rank = {
"wangrong", "wangrong",
"re_fazheng", "re_fazheng",
"tw_re_fazheng", "tw_re_fazheng",
"ol_fazheng",
"huaxin", "huaxin",
"re_chunyuqiong", "re_chunyuqiong",
"ns_luyusheng", "ns_luyusheng",
@ -2541,6 +2542,7 @@ window.noname_character_rank = {
"zhanghuyuechen", "zhanghuyuechen",
"re_fazheng", "re_fazheng",
"tw_re_fazheng", "tw_re_fazheng",
"ol_fazheng",
"re_fuhuanghou", "re_fuhuanghou",
"gongsunkang", "gongsunkang",
"xin_panzhangmazhong", "xin_panzhangmazhong",

View File

@ -10589,7 +10589,7 @@ const skills = {
}, },
olfangquan: { olfangquan: {
audio: 2, audio: 2,
audioname: ["shen_caopi"], audioname2: { shen_caopi: "olfangquan_shen_caopi" },
trigger: { player: "phaseUseBefore" }, trigger: { player: "phaseUseBefore" },
filter: function (event, player) { filter: function (event, player) {
return player.countCards("h") > 0 && !player.hasSkill("olfangquan3"); return player.countCards("h") > 0 && !player.hasSkill("olfangquan3");
@ -10666,7 +10666,7 @@ const skills = {
}, },
olluanji: { olluanji: {
inherit: "luanji", inherit: "luanji",
audioname: ["shen_caopi"], audioname2: { shen_caopi: "olluanji_shen_caopi" },
audio: 2, audio: 2,
line: false, line: false,
group: "olluanji_remove", group: "olluanji_remove",
@ -13144,7 +13144,7 @@ const skills = {
}, },
rezhiheng: { rezhiheng: {
audio: 2, audio: 2,
audioname: ["shen_caopi"], audioname2: { shen_caopi: "rezhiheng_shen_caopi" },
mod: { mod: {
aiOrder: function (player, card, num) { aiOrder: function (player, card, num) {
if (num <= 0 || get.itemtype(card) !== "card" || get.type(card) !== "equip") return num; if (num <= 0 || get.itemtype(card) !== "card" || get.type(card) !== "equip") return num;
@ -13307,7 +13307,8 @@ const skills = {
}, },
rerende: { rerende: {
audio: 2, audio: 2,
audioname: ["gz_jun_liubei", "shen_caopi"], audioname: ["gz_jun_liubei"],
audioname2: { shen_caopi: "rerende_shen_caopi" },
enable: "phaseUse", enable: "phaseUse",
filterCard: true, filterCard: true,
selectCard: [1, Infinity], selectCard: [1, Infinity],

View File

@ -2,7 +2,7 @@ import { lib, game, ui, get, ai, _status } from "../../noname.js";
/** @type { importCharacterConfig['skill'] } */ /** @type { importCharacterConfig['skill'] } */
const skills = { const skills = {
//2024标包武将 //四象封印·少阴
//孙皓 //孙皓
stdcanshi: { stdcanshi: {
audio: "canshi", audio: "canshi",
@ -836,7 +836,7 @@ const skills = {
}, },
}, },
stdzhanying: { stdzhanying: {
audio: "zhanying", audio: "jiaoying",
trigger: { global: "damageBegin2" }, trigger: { global: "damageBegin2" },
filter(event, player) { filter(event, player) {
if (_status.currentPhase !== player) return false; if (_status.currentPhase !== player) return false;

View File

@ -3,7 +3,7 @@ const characterSort = {
standard_2013: ["old_re_lidian", "huaxiong", "re_yuanshu"], standard_2013: ["old_re_lidian", "huaxiong", "re_yuanshu"],
standard_2019: ["gongsunzan", "xf_yiji"], standard_2019: ["gongsunzan", "xf_yiji"],
standard_2023: ["std_panfeng", "ganfuren"], standard_2023: ["std_panfeng", "ganfuren"],
standard_2024: ["std_sunhao", "std_mateng", "std_mayunlu", "std_jianggan", "std_zhouchu", "std_lvlingqi", "std_dc_yanghu", "std_dc_luotong", "std_lijue", "std_chengpu", "std_db_wenyang", "std_re_dengzhi", "std_zhangyì", "std_chengyu", "std_fanyufeng", "std_feiyi"], standard_shaoyin: ["std_sunhao", "std_mateng", "std_mayunlu", "std_jianggan", "std_zhouchu", "std_lvlingqi", "std_dc_yanghu", "std_dc_luotong", "std_lijue", "std_chengpu", "std_db_wenyang", "std_re_dengzhi", "std_zhangyì", "std_chengyu", "std_fanyufeng", "std_feiyi"],
}; };
const characterSortTranslate = { const characterSortTranslate = {
@ -11,7 +11,7 @@ const characterSortTranslate = {
standard_2013: "2013版标准包", standard_2013: "2013版标准包",
standard_2019: "2019版标准包", standard_2019: "2019版标准包",
standard_2023: "2023版标准包", standard_2023: "2023版标准包",
standard_2024: "2024版标准包", standard_shaoyin: "四象封印·少阴",
}; };
export { characterSort, characterSortTranslate }; export { characterSort, characterSortTranslate };

View File

@ -235,7 +235,7 @@ const translates = {
stdyibing_info: "一名角色进入濒死状态时,你可以获得其一张牌。", stdyibing_info: "一名角色进入濒死状态时,你可以获得其一张牌。",
stdbazhan: "把盏", stdbazhan: "把盏",
stdbazhan_info: "出牌阶段限一次,你可以交给一名男性角色一张手牌,然后其可以交给你一张与此牌类别不同的牌。", stdbazhan_info: "出牌阶段限一次,你可以交给一名男性角色一张手牌,然后其可以交给你一张与此牌类别不同的牌。",
stdzhanying: "影", stdzhanying: "影",
stdzhanying_info: "锁定技,你的回合内,手牌数比回合开始时多的角色不能使用红色牌且受到的伤害+1。", stdzhanying_info: "锁定技,你的回合内,手牌数比回合开始时多的角色不能使用红色牌且受到的伤害+1。",
stdtiaohe: "调和", stdtiaohe: "调和",
stdtiaohe_info: "出牌阶段限一次,你可以弃置场上的一张装备牌和一张防具牌(不能为同一名角色装备区的牌)。", stdtiaohe_info: "出牌阶段限一次,你可以弃置场上的一张装备牌和一张防具牌(不能为同一名角色装备区的牌)。",

View File

@ -4,7 +4,7 @@ const characterReplaces = {
yujin: ["yujin", "yujin_yujin", "ol_yujin", "sb_yujin", "xin_yujin", "re_yujin"], yujin: ["yujin", "yujin_yujin", "ol_yujin", "sb_yujin", "xin_yujin", "re_yujin"],
dc_xushu: ["re_xushu", "dc_xushu"], dc_xushu: ["re_xushu", "dc_xushu"],
xushu: ["xin_xushu", "xushu"], xushu: ["xin_xushu", "xushu"],
fazheng: ["xin_fazheng", "re_fazheng", "sb_fazheng", "tw_re_fazheng", "fazheng"], fazheng: ["xin_fazheng", "ol_fazheng", "re_fazheng", "sb_fazheng", "tw_re_fazheng", "fazheng"],
masu: ["xin_masu", "re_masu", "masu"], masu: ["xin_masu", "re_masu", "masu"],
xusheng: ["xusheng", "xin_xusheng", "re_xusheng", "old_xusheng"], xusheng: ["xusheng", "xin_xusheng", "re_xusheng", "old_xusheng"],
wuguotai: ["wuguotai", "xin_wuguotai", "re_wuguotai"], wuguotai: ["wuguotai", "xin_wuguotai", "re_wuguotai"],

View File

@ -110,7 +110,7 @@ const skills = {
return [1, -1]; return [1, -1];
}, },
}, },
halfneg: true halfneg: true,
}, },
subSkill: { subSkill: {
effect: { effect: {
@ -1649,9 +1649,9 @@ const skills = {
.getCards("he", function (card) { .getCards("he", function (card) {
return lib.filter.canBeDiscarded(card, player, target); return lib.filter.canBeDiscarded(card, player, target);
}) })
.map(c => { .map(c => ({
link: c; link: c,
}) }))
.sort(function (a, b) { .sort(function (a, b) {
return get.buttonValue(b) - get.buttonValue(a); return get.buttonValue(b) - get.buttonValue(a);
}) })

View File

@ -134,7 +134,7 @@
// 使serviceWorker加载完成后再加载entry.js // 使serviceWorker加载完成后再加载entry.js
if (location.protocol.startsWith("http") && "serviceWorker" in navigator) { if (location.protocol.startsWith("http") && "serviceWorker" in navigator) {
let scope = window.location.protocol + "//" + window.location.host + window.location.pathname; let scope = (new URL("./", location.href)).toString();
let registrations = await navigator.serviceWorker.getRegistrations(); let registrations = await navigator.serviceWorker.getRegistrations();
let findServiceWorker = registrations.find(registration => { let findServiceWorker = registrations.find(registration => {
return registration && registration.active && registration.active.scriptURL == `${scope}service-worker.js`; return registration && registration.active && registration.active.scriptURL == `${scope}service-worker.js`;

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -1,3 +1,4 @@
export const rootURL: URL;
export { boot } from "./noname/init/index.js"; export { boot } from "./noname/init/index.js";
export { GNC, gnc, setGNC } from "./noname/gnc/index.js"; export { GNC, gnc, setGNC } from "./noname/gnc/index.js";
export { AI, ai, setAI } from "./noname/ai/index.js"; export { AI, ai, setAI } from "./noname/ai/index.js";

View File

@ -5,7 +5,7 @@ export class Basic {
* buttons?: Button[] * buttons?: Button[]
* ) => number } check * ) => number } check
*/ */
chooseButton(check: (button: Button, buttons?: Button[]) => number): boolean | undefined; chooseButton(check: (button: Button, buttons?: Button[]) => number): boolean;
/** /**
* @param { ( * @param { (
* card?: Card, * card?: Card,
@ -20,5 +20,5 @@ export class Basic {
* targets?: Player[] * targets?: Player[]
* ) => number } check * ) => number } check
*/ */
chooseTarget(check: (target?: Player, targets?: Player[]) => number): boolean | undefined; chooseTarget(check: (target?: Player, targets?: Player[]) => number): boolean;
} }

View File

@ -3,6 +3,6 @@ export class AI {
get: import("../get/index.js").Get; get: import("../get/index.js").Get;
} }
export let ai: AI; export let ai: AI;
export function setAI(instance?: AI | undefined): void; export function setAI(instance?: InstanceType<typeof AI>): void;
export { Basic }; export { Basic };
import { Basic } from "./basic.js"; import { Basic } from "./basic.js";

View File

@ -7,19 +7,19 @@ export class Check {
isSelectable: any; isSelectable: any;
}): { }): {
ok: boolean; ok: boolean;
auto: boolean | undefined; auto: boolean;
}; };
button(event: any, useCache: any): { button(event: any, useCache: any): {
ok: boolean; ok: boolean;
auto: boolean | undefined; auto: boolean;
}; };
card(event: any, useCache: any): { card(event: any, useCache: any): {
ok: boolean; ok: boolean;
auto: boolean | undefined; auto: boolean;
}; };
target(event: any, useCache: any): { target(event: any, useCache: any): {
ok: boolean; ok: boolean;
auto: boolean | undefined; auto: boolean;
}; };
skill(event: any): void; skill(event: any): void;
confirm(event: any, confirm: any): void; confirm(event: any, confirm: any): void;

View File

@ -37,7 +37,7 @@ export class DynamicStyle {
*/ */
get(name: string): { get(name: string): {
[x: string]: string | number; [x: string]: string | number;
} | null; };
/** /**
* Callback of `DynamicStyle#find`, getting the rule wanted. * Callback of `DynamicStyle#find`, getting the rule wanted.
* `DynamicStyle#find` * `DynamicStyle#find`

View File

@ -1,7 +1,7 @@
export class Game { export class Game {
online: boolean; online: boolean;
onlineID: null; onlineID: any;
onlineKey: null; onlineKey: any;
/** /**
* @type {Player[]} * @type {Player[]}
*/ */
@ -15,7 +15,7 @@ export class Game {
* @type { { [key: string]: Player } } * @type { { [key: string]: Player } }
*/ */
playerMap: { playerMap: {
[key: string]: import("noname-typings/nonameModules/noname/library/element/player.js").Player; [key: string]: Player;
}; };
phaseNumber: number; phaseNumber: number;
roundNumber: number; roundNumber: number;
@ -64,7 +64,7 @@ export class Game {
/** /**
* *
*/ */
washCard(): false | never[] | (import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise); washCard(): false | any[] | (import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise);
/** /**
* *
*/ */
@ -81,7 +81,7 @@ export class Game {
* @param {Parameters<HookType[Name]>} args * @param {Parameters<HookType[Name]>} args
*/ */
callHook<HookType extends import("../library/hooks/interface.js").NonameHookType, Name extends keyof HookType>(name: Name, args: Parameters<HookType[Name]>): void; callHook<HookType extends import("../library/hooks/interface.js").NonameHookType, Name extends keyof HookType>(name: Name, args: Parameters<HookType[Name]>): void;
yingbianEffect(event: any, content: any, ...args: any[]): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; yingbianEffect(event: any, content: any, ...args: any[]): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
setYingbianConditionColor(yingbianCondition: any, color: any): void; setYingbianConditionColor(yingbianCondition: any, color: any): void;
setComplexYingbianCondition(yingbianCondition: any, condition: any): void; setComplexYingbianCondition(yingbianCondition: any, condition: any): void;
setSimpleYingbianCondition(yingbianCondition: any, condition: any): void; setSimpleYingbianCondition(yingbianCondition: any, condition: any): void;
@ -168,7 +168,7 @@ export class Game {
*/ */
loseAsync(arg?: { loseAsync(arg?: {
[key: string]: any; [key: string]: any;
} | undefined): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; }): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
callFuncUseStepCache(prefix: any, func: any, params: any): any; callFuncUseStepCache(prefix: any, func: any, params: any): any;
/** /**
* @param {string} name * @param {string} name
@ -181,7 +181,7 @@ export class Game {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { boolean } * @returns { boolean }
*/ */
hasGlobalHistory<T extends keyof GameHistory>(key: T, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean; hasGlobalHistory<T extends keyof GameHistory>(key: T, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): boolean;
/** /**
* @template { keyof GameHistory } T * @template { keyof GameHistory } T
* @param { T } key * @param { T } key
@ -189,7 +189,7 @@ export class Game {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { void } * @returns { void }
*/ */
checkGlobalHistory<T_1 extends keyof GameHistory>(key: T_1, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): void; checkGlobalHistory<T_1 extends keyof GameHistory>(key: T_1, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): void;
/** /**
* @overload * @overload
* @returns { GameHistory } * @returns { GameHistory }
@ -203,7 +203,7 @@ export class Game {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { GameHistory[T] } * @returns { GameHistory[T] }
*/ */
getGlobalHistory<T_2 extends keyof GameHistory>(key: T_2, filter?: ((event: GameEventPromise) => boolean) | undefined, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): GameHistory[T_2]; getGlobalHistory<T_2 extends keyof GameHistory>(key: T_2, filter?: (event: GameEventPromise) => boolean, last?: GameEventPromise): GameHistory[T_2];
/** /**
* @template { keyof GameHistory } T * @template { keyof GameHistory } T
* @param { T } key * @param { T } key
@ -211,7 +211,7 @@ export class Game {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { boolean } * @returns { boolean }
*/ */
hasAllGlobalHistory<T_3 extends keyof GameHistory>(key: T_3, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean; hasAllGlobalHistory<T_3 extends keyof GameHistory>(key: T_3, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): boolean;
/** /**
* @template { keyof GameHistory } T * @template { keyof GameHistory } T
* @param { T } key * @param { T } key
@ -219,7 +219,7 @@ export class Game {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { void } * @returns { void }
*/ */
checkAllGlobalHistory<T_4 extends keyof GameHistory>(key: T_4, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): void; checkAllGlobalHistory<T_4 extends keyof GameHistory>(key: T_4, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): void;
/** /**
* @overload * @overload
* @returns { GameHistory[] } * @returns { GameHistory[] }
@ -233,7 +233,7 @@ export class Game {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { GameHistory[T] } * @returns { GameHistory[T] }
*/ */
getAllGlobalHistory<T_5 extends keyof GameHistory>(key: T_5, filter?: ((event: GameEventPromise) => boolean) | undefined, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): GameHistory[T_5]; getAllGlobalHistory<T_5 extends keyof GameHistory>(key: T_5, filter?: (event: GameEventPromise) => boolean, last?: GameEventPromise): GameHistory[T_5];
/** /**
* @overload * @overload
* @returns { void } * @returns { void }
@ -279,14 +279,14 @@ export class Game {
* @param { 'toRenku' | false } [bool] false时不触发trigger'toRenku' * @param { 'toRenku' | false } [bool] false时不触发trigger'toRenku'
* @returns { GameEventPromise } * @returns { GameEventPromise }
*/ */
cardsGotoSpecial(cards: Card, bool?: false | "toRenku" | undefined): GameEventPromise; cardsGotoSpecial(cards: Card, bool?: 'toRenku' | false): GameEventPromise;
/** /**
* @overload * @overload
* @param {Card[]} cards * @param {Card[]} cards
* @param { 'toRenku' | false } [bool] false时不触发trigger'toRenku' * @param { 'toRenku' | false } [bool] false时不触发trigger'toRenku'
* @returns { GameEventPromise } * @returns { GameEventPromise }
*/ */
cardsGotoSpecial(cards: Card[], bool?: false | "toRenku" | undefined): GameEventPromise; cardsGotoSpecial(cards: Card[], bool?: 'toRenku' | false): GameEventPromise;
/** /**
* *
* @param {...( * @param {...(
@ -301,7 +301,7 @@ export class Game {
cardsGotoPile(...args: (Card[] | Card | Function | 'insert' | 'washCard' | 'triggeronly' | [ cardsGotoPile(...args: (Card[] | Card | Function | 'insert' | 'washCard' | 'triggeronly' | [
string, string,
any any
])[]): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; ])[]): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { GameEventPromise } event * @param { GameEventPromise } event
*/ */
@ -309,18 +309,18 @@ export class Game {
/** /**
* @param { false } [pause] * @param { false } [pause]
*/ */
showHistory(pause?: false | undefined): void; showHistory(pause?: false): void;
/** /**
* @param { string } src * @param { string } src
* @param { true } [blur] * @param { true } [blur]
*/ */
createBackground(src: string, blur?: true | undefined): HTMLDivElement; createBackground(src: string, blur?: true): HTMLDivElement;
/** /**
* *
* @param { string } url * @param { string } url
* @param { Player } [player] * @param { Player } [player]
*/ */
changeLand(url: string, player?: import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): void; changeLand(url: string, player?: Player): void;
/** /**
* @param { string[] } updates * @param { string[] } updates
* @param { Function } proceed * @param { Function } proceed
@ -343,7 +343,7 @@ export class Game {
/** /**
* @param { 'hidden' } [type] * @param { 'hidden' } [type]
*/ */
randomMapOL(type?: "hidden" | undefined): void; randomMapOL(type?: 'hidden'): void;
closeMenu(): void; closeMenu(): void;
closeConnectMenu(): void; closeConnectMenu(): void;
closePopped(): void; closePopped(): void;
@ -378,7 +378,7 @@ export class Game {
createDialog: (id: any, ...args: any[]) => void; createDialog: (id: any, ...args: any[]) => void;
gameStart: () => void; gameStart: () => void;
updateWaiting: (map: any) => void; updateWaiting: (map: any) => void;
}[T_6]> | undefined): void; }[T_6]>): void;
/** /**
* @template { any[] } T * @template { any[] } T
* @overload * @overload
@ -386,7 +386,7 @@ export class Game {
* @param { ...T } args * @param { ...T } args
* @returns { void } * @returns { void }
*/ */
broadcast<T_6 extends "cancel" | "onclose" | "init" | "reinit" | "log" | "opened" | "onconnection" | "onmessage" | "selfclose" | "reloadroom" | "createroom" | "enterroomfailed" | "roomlist" | "updaterooms" | "updateclients" | "updateevents" | "eventsdenied" | "exec" | "denied" | "closeDialog" | "createDialog" | "gameStart" | "updateWaiting">(func: (...args: T_6) => void, ...args: T_6 | undefined): void; broadcast<T_6 extends "cancel" | "onclose" | "init" | "reinit" | "log" | "opened" | "onconnection" | "onmessage" | "selfclose" | "reloadroom" | "createroom" | "enterroomfailed" | "roomlist" | "updaterooms" | "updateclients" | "updateevents" | "eventsdenied" | "exec" | "denied" | "closeDialog" | "createDialog" | "gameStart" | "updateWaiting">(func: (...args: T_6) => void, ...args: T_6): void;
/** /**
* @template { keyof typeof lib.message.client } T * @template { keyof typeof lib.message.client } T
* @overload * @overload
@ -418,7 +418,7 @@ export class Game {
createDialog: (id: any, ...args: any[]) => void; createDialog: (id: any, ...args: any[]) => void;
gameStart: () => void; gameStart: () => void;
updateWaiting: (map: any) => void; updateWaiting: (map: any) => void;
}[T_7]> | undefined): void; }[T_7]>): void;
/** /**
* @template { any[] } T * @template { any[] } T
* @overload * @overload
@ -426,7 +426,7 @@ export class Game {
* @param { ...T } args * @param { ...T } args
* @returns { void } * @returns { void }
*/ */
broadcastAll<T_7 extends "cancel" | "onclose" | "init" | "reinit" | "log" | "opened" | "onconnection" | "onmessage" | "selfclose" | "reloadroom" | "createroom" | "enterroomfailed" | "roomlist" | "updaterooms" | "updateclients" | "updateevents" | "eventsdenied" | "exec" | "denied" | "closeDialog" | "createDialog" | "gameStart" | "updateWaiting">(func: (...args: T_7) => void, ...args: T_7 | undefined): void; broadcastAll<T_7 extends "cancel" | "onclose" | "init" | "reinit" | "log" | "opened" | "onconnection" | "onmessage" | "selfclose" | "reloadroom" | "createroom" | "enterroomfailed" | "roomlist" | "updaterooms" | "updateclients" | "updateevents" | "eventsdenied" | "exec" | "denied" | "closeDialog" | "createDialog" | "gameStart" | "updateWaiting">(func: (...args: T_7) => void, ...args: T_7): void;
syncState(): void; syncState(): void;
updateWaiting(): void; updateWaiting(): void;
/** /**
@ -437,7 +437,7 @@ export class Game {
* @param { number } time * @param { number } time
* @param { Function } [onEnd] * @param { Function } [onEnd]
*/ */
countDown(time: number, onEnd?: Function | undefined): void; countDown(time: number, onEnd?: Function): void;
countChoose(clear: any): void; countChoose(clear: any): void;
stopCountChoose(): void; stopCountChoose(): void;
/** /**
@ -461,8 +461,9 @@ export class Game {
* @typedef {[string,number]|string|number|boolean} audioInfo * @typedef {[string,number]|string|number|boolean} audioInfo
* @typedef {{audio: audioInfo, audioname?:string[], audioname2?:{[playerName: string]: audioInfo}}} skillInfo * @typedef {{audio: audioInfo, audioname?:string[], audioname2?:{[playerName: string]: audioInfo}}} skillInfo
* @param { string } skill * @param { string } skill
* @param { Player | string } [player] / * @param { Player | Object | string } [player] /
* @param { skillInfo | audioInfo } [skillInfo] skillInfo/audioInfo(skillInfo)lib.skill[skill] * @param { skillInfo | audioInfo } [skillInfo] skillInfo/audioInfo(skillInfo)lib.skill[skill]
* @param { boolean | undefined } [useRawAudio]
* @returns { string[] } * @returns { string[] }
* @example * @example
* ```js * ```js
@ -494,13 +495,47 @@ export class Game {
* //如果key中包含发动技能的角色名player则直接改用info.audioname2[player]来播放语音 * //如果key中包含发动技能的角色名player则直接改用info.audioname2[player]来播放语音
* ``` * ```
*/ */
parseSkillAudio(skill: string, player?: string | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined, skillInfo?: { parseSkillAudio(skill: string, player?: Player | any | string, skillInfo?: {
audio: string | number | boolean | [string, number]; audio: string | number | boolean | [string, number];
audioname?: string[] | undefined; audioname?: string[];
audioname2?: { audioname2?: {
[playerName: string]: string | number | boolean | [string, number]; [playerName: string]: string | number | boolean | [string, number];
} | undefined; };
} | (string | number | boolean | [string, number]) | undefined): string[]; } | (string | number | boolean | [string, number])): string[];
/**
* skill中的audio,audioname,audioname2和player来获取技能台词列表
* @param { string } skill
* @param { Player | Object | string } [player] /
* @param { skillInfo | audioInfo } [skillInfo] skillInfo/audioInfo(skillInfo)lib.skill[skill]
* @returns { string[] }
*/
parseSkillText(skill: string, player?: Player | any | string, skillInfo?: {
audio: string | number | boolean | [string, number];
audioname?: string[];
audioname2?: {
[playerName: string]: string | number | boolean | [string, number];
};
} | (string | number | boolean | [string, number])): string[];
/**
* skill中的audio,audioname,audioname2和player来获取技能台词列表及其对应的源文件名
* @param { string } skill
* @param { Player | Object | string } [player] /
* @param { skillInfo | audioInfo } [skillInfo] skillInfo/audioInfo(skillInfo)lib.skill[skill]
* @returns { any[] }
*/
parseSkillTextMap(skill: string, player?: Player | any | string, skillInfo?: {
audio: string | number | boolean | [string, number];
audioname?: string[];
audioname2?: {
[playerName: string]: string | number | boolean | [string, number];
};
} | (string | number | boolean | [string, number])): any[];
/**
*
* @param { string | Player } player
* @returns { any[] }
*/
parseDieTextMap(player: string | Player): any[];
/** /**
* *
* @param { string } skill * @param { string } skill
@ -510,13 +545,18 @@ export class Game {
* @param { ['lib']['skill'] } [skillInfo] * @param { ['lib']['skill'] } [skillInfo]
* @returns * @returns
*/ */
trySkillAudio(skill: string, player: Player | string, directaudio?: boolean | undefined, nobroadcast?: boolean | undefined, skillInfo?: any): HTMLAudioElement | undefined; trySkillAudio(skill: string, player: Player | string, directaudio?: boolean, nobroadcast?: boolean, skillInfo?: any): HTMLAudioElement;
/**
* @param { Player | string } player
* @returns
*/
tryDieAudio(player: Player | string): HTMLAudioElement;
/** /**
* @param { string } name * @param { string } name
* @param { number } [index] * @param { number } [index]
* @returns * @returns
*/ */
playSkillAudio(name: string, index?: number | undefined, ...args: any[]): void; playSkillAudio(name: string, index?: number, ...args: any[]): void;
/** /**
* @param { string | Card } card * @param { string | Card } card
* @param { Player | Sex } sex * @param { Player | Sex } sex
@ -612,47 +652,47 @@ export class Game {
* *
* @type { undefined | ((url: string, folder: string, onsuccess?: Function, onerror?: (e: Error) => void, dev?: 'nodev', onprogress?: Function) => void) } * @type { undefined | ((url: string, folder: string, onsuccess?: Function, onerror?: (e: Error) => void, dev?: 'nodev', onprogress?: Function) => void) }
*/ */
download: ((url: string, folder: string, onsuccess?: Function, onerror?: ((e: Error) => void) | undefined, dev?: 'nodev', onprogress?: Function) => void) | undefined; download: undefined | ((url: string, folder: string, onsuccess?: Function, onerror?: (e: Error) => void, dev?: 'nodev', onprogress?: Function) => void);
/** /**
* arraybuffer * arraybuffer
* @type { undefined | ((filename: string, callback?: (data: Buffer | ArrayBuffer) => any, onerror?: (e: Error) => void) => void) } * @type { undefined | ((filename: string, callback?: (data: Buffer | ArrayBuffer) => any, onerror?: (e: Error) => void) => void) }
*/ */
readFile: ((filename: string, callback?: ((data: Buffer | ArrayBuffer) => any) | undefined, onerror?: ((e: Error) => void) | undefined) => void) | undefined; readFile: undefined | ((filename: string, callback?: (data: Buffer | ArrayBuffer) => any, onerror?: (e: Error) => void) => void);
/** /**
* *
* @type { undefined | ((filename: string, callback?: (data: string) => any, onerror?: (e: Error) => void) => void) } * @type { undefined | ((filename: string, callback?: (data: string) => any, onerror?: (e: Error) => void) => void) }
*/ */
readFileAsText: ((filename: string, callback?: ((data: string) => any) | undefined, onerror?: ((e: Error) => void) | undefined) => void) | undefined; readFileAsText: undefined | ((filename: string, callback?: (data: string) => any, onerror?: (e: Error) => void) => void);
/** /**
* *
* @type { undefined | ((data: File | ArrayBuffer, path: string, name: string, callback?: (e: Error) => void) => void) } * @type { undefined | ((data: File | ArrayBuffer, path: string, name: string, callback?: (e: Error) => void) => void) }
*/ */
writeFile: ((data: File | ArrayBuffer, path: string, name: string, callback?: ((e: Error) => void) | undefined) => void) | undefined; writeFile: undefined | ((data: File | ArrayBuffer, path: string, name: string, callback?: (e: Error) => void) => void);
/** /**
* *
* @type { undefined | ((filename: string, callback?: (e: Error) => void) => void) } * @type { undefined | ((filename: string, callback?: (e: Error) => void) => void) }
*/ */
removeFile: ((filename: string, callback?: ((e: Error) => void) | undefined) => void) | undefined; removeFile: undefined | ((filename: string, callback?: (e: Error) => void) => void);
/** /**
* *
* @type { undefined | ((dir: string, success: (folders: string[], files: string[]) => any, failure?: (e: Error) => void) => void) } * @type { undefined | ((dir: string, success: (folders: string[], files: string[]) => any, failure?: (e: Error) => void) => void) }
*/ */
getFileList: ((dir: string, success: (folders: string[], files: string[]) => any, failure?: ((e: Error) => void) | undefined) => void) | undefined; getFileList: undefined | ((dir: string, success: (folders: string[], files: string[]) => any, failure?: (e: Error) => void) => void);
/** /**
* *
* @type { undefined | ((list: string | string[], callback: Function, file?: boolean) => void) } * @type { undefined | ((list: string | string[], callback: Function, file?: boolean) => void) }
*/ */
ensureDirectory: ((list: string | string[], callback: Function, file?: boolean) => void) | undefined; ensureDirectory: undefined | ((list: string | string[], callback: Function, file?: boolean) => void);
/** /**
* *
* @type { undefined | ((directory: string, successCallback?: Function, errorCallback?: Function) => void) } * @type { undefined | ((directory: string, successCallback?: Function, errorCallback?: Function) => void) }
*/ */
createDir: ((directory: string, successCallback?: Function, errorCallback?: Function) => void) | undefined; createDir: undefined | ((directory: string, successCallback?: Function, errorCallback?: Function) => void);
/** /**
* *
* @type { undefined | ((directory: string, successCallback?: Function, errorCallback?: Function) => void) } * @type { undefined | ((directory: string, successCallback?: Function, errorCallback?: Function) => void) }
*/ */
removeDir: ((directory: string, successCallback?: Function, errorCallback?: Function) => void) | undefined; removeDir: undefined | ((directory: string, successCallback?: Function, errorCallback?: Function) => void);
/** /**
* @type { (forcecheck?: boolean | null, dev?: boolean) => Promise<any> } * @type { (forcecheck?: boolean | null, dev?: boolean) => Promise<any> }
*/ */
@ -661,12 +701,12 @@ export class Game {
* @type { () => Promise<any> } * @type { () => Promise<any> }
*/ */
checkForAssetUpdate: () => Promise<any>; checkForAssetUpdate: () => Promise<any>;
importExtension(data: any, finishLoad: any, exportExtension: any, extensionPackage: any): Promise<false | undefined>; importExtension(data: any, finishLoad: any, exportExtension: any, extensionPackage: any): Promise<boolean>;
/** /**
* @param { string } textToWrite * @param { string } textToWrite
* @param { string } [name] * @param { string } [name]
*/ */
export(textToWrite: string, name?: string | undefined): void; export(textToWrite: string, name?: string): void;
/** /**
* @param { string[] } list * @param { string[] } list
* @param { Function } [onsuccess] * @param { Function } [onsuccess]
@ -675,7 +715,7 @@ export class Game {
* @param { Function } [process] * @param { Function } [process]
* @param {*} [dev] * @param {*} [dev]
*/ */
multiDownload2(list: string[], onsuccess?: Function | undefined, onerror?: Function | undefined, onfinish?: Function | undefined, process?: Function | undefined, dev?: any): void; multiDownload2(list: string[], onsuccess?: Function, onerror?: Function, onfinish?: Function, process?: Function, dev?: any): void;
/** /**
* @param { string[] } list * @param { string[] } list
* @param { Function } onsuccess * @param { Function } onsuccess
@ -684,14 +724,14 @@ export class Game {
* @param { Function } [process] * @param { Function } [process]
* @param {*} [dev] * @param {*} [dev]
*/ */
multiDownload(list: string[], onsuccess: Function, onerror: Function, onfinish: Function, process?: Function | undefined, dev?: any, ...args: any[]): void; multiDownload(list: string[], onsuccess: Function, onerror: Function, onfinish: Function, process?: Function, dev?: any, ...args: any[]): void;
/** /**
* @param { string } url * @param { string } url
* @param { Function } onload * @param { Function } onload
* @param { Function } [onerror] * @param { Function } [onerror]
* @param { Function } [onprogress] * @param { Function } [onprogress]
*/ */
fetch(url: string, onload: Function, onerror?: Function | undefined, onprogress?: Function | undefined): void; fetch(url: string, onload: Function, onerror?: Function, onprogress?: Function): void;
/** /**
* @param { string } time * @param { string } time
* @param { string } mode * @param { string } mode
@ -745,6 +785,7 @@ export class Game {
reinit2: (source: any, name: any) => void; reinit2: (source: any, name: any) => void;
reinit3: (source: any, content: any) => void; reinit3: (source: any, content: any) => void;
changeSkin: (player: any, map: any) => void; changeSkin: (player: any, map: any) => void;
changeGroup: (player: any, targetGroup: any) => void;
skill: (player: any, content: any) => void; skill: (player: any, content: any) => void;
addFellow: (content: any) => void; addFellow: (content: any) => void;
windowzoom1: () => void; windowzoom1: () => void;
@ -856,7 +897,7 @@ export class Game {
/** /**
* @param { number } [time] * @param { number } [time]
*/ */
vibrate(time?: number | undefined): void; vibrate(time?: number): void;
prompt(...args: any[]): void; prompt(...args: any[]): void;
alert(str: any): void; alert(str: any): void;
print(...args: any[]): void; print(...args: any[]): void;
@ -867,21 +908,21 @@ export class Game {
/** /**
* @param { [number, number | {opacity:any, color:any, dashed:any, duration:any} | string, number, number] } path * @param { [number, number | {opacity:any, color:any, dashed:any, duration:any} | string, number, number] } path
*/ */
linexy(path: [number, string | number | { linexy(path: [number, number | {
opacity: any; opacity: any;
color: any; color: any;
dashed: any; dashed: any;
duration: any; duration: any;
}, number, number], ...args: any[]): any; } | string, number, number], ...args: any[]): any;
/** /**
* @param { [number, number | {opacity:any, color:any, dashed:any, duration:any} | string, number, number] } path * @param { [number, number | {opacity:any, color:any, dashed:any, duration:any} | string, number, number] } path
*/ */
_linexy(path: [number, string | number | { _linexy(path: [number, number | {
opacity: any; opacity: any;
color: any; color: any;
dashed: any; dashed: any;
duration: any; duration: any;
}, number, number], ...args: any[]): void; } | string, number, number], ...args: any[]): void;
/** /**
* @param { string } name * @param { string } name
* @param { string } skill * @param { string } skill
@ -897,7 +938,7 @@ export class Game {
* @param { false } [trigger] * @param { false } [trigger]
* @param { GameEventPromise } [triggerEvent] * @param { GameEventPromise } [triggerEvent]
*/ */
createEvent(name: string, trigger?: false | undefined, triggerEvent?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; createEvent(name: string, trigger?: false, triggerEvent?: GameEventPromise): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { string } name * @param { string } name
* @param { { extension: string, sex: Sex, group: string, hp: string | number, skills?: string[], tags?: any[], translate: string } } information * @param { { extension: string, sex: Sex, group: string, hp: string | number, skills?: string[], tags?: any[], translate: string } } information
@ -916,16 +957,16 @@ export class Game {
* @param { string } [packagename] * @param { string } [packagename]
*/ */
addCharacterPack(pack: { addCharacterPack(pack: {
[key: string]: any; mode?: string;
mode?: string | undefined;
forbid?: any; forbid?: any;
character: { character: {
[key: string]: Character; [key: string]: Character;
}; };
skill: { skill: {
[key: string]: any; [key: string]: object;
}; };
}, packagename?: string | undefined): void; [key: string]: any;
}, packagename?: string): void;
/** /**
* @param { string } name * @param { string } name
* @param { Card } info * @param { Card } info
@ -944,16 +985,16 @@ export class Game {
*/ */
addCardPack(pack: { addCardPack(pack: {
extension: string; extension: string;
mode?: string[] | undefined; mode?: string[];
forbid?: string[] | undefined; forbid?: string[];
list: any[]; list: any[];
card: { card: {
[key: string]: import("noname-typings/nonameModules/noname/library/element/card.js").Card; [key: string]: Card;
}; };
skill: { skill: {
[key: string]: any; [key: string]: object;
}; };
}, packagename?: string | undefined): void; }, packagename?: string): void;
/** /**
* @param { string } name * @param { string } name
* @param { { [key: string]: object } } info * @param { { [key: string]: object } } info
@ -963,8 +1004,8 @@ export class Game {
* @param { string } [abInfo] * @param { string } [abInfo]
*/ */
addSkill(name: string, info: { addSkill(name: string, info: {
[key: string]: any; [key: string]: object;
}, translate?: string | undefined, description?: string | undefined, appendInfo?: string | undefined, abInfo?: string | undefined): boolean; }, translate?: string, description?: string, appendInfo?: string, abInfo?: string): boolean;
/** /**
* @param { string } name * @param { string } name
* @param {*} info * @param {*} info
@ -973,14 +1014,14 @@ export class Game {
addMode(name: string, info: any, info2: { addMode(name: string, info: any, info2: {
translate: string; translate: string;
config: { config: {
[key: string]: any; [key: string]: object;
}; };
}): void; }): void;
/** /**
* @param { string } skill * @param { string } skill
* @param { Player } [player] * @param { Player } [player]
*/ */
addGlobalSkill(skill: string, player?: import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): boolean; addGlobalSkill(skill: string, player?: Player): boolean;
/** /**
* @param { string } skill * @param { string } skill
* @param { lib.element.Player } player * @param { lib.element.Player } player
@ -1008,7 +1049,7 @@ export class Game {
* @param { string } extensionName * @param { string } extensionName
* @param { boolean } [keepFile] * @param { boolean } [keepFile]
*/ */
removeExtension(extensionName: string, keepFile?: boolean | undefined): void; removeExtension(extensionName: string, keepFile?: boolean): void;
addRecentCharacter(...args: any[]): void; addRecentCharacter(...args: any[]): void;
/** /**
* @overload * @overload
@ -1022,7 +1063,7 @@ export class Game {
* @param { number | string } [number] * @param { number | string } [number]
* @param { string } [nature] * @param { string } [nature]
*/ */
createCard(name: Card | string, suit?: string | undefined, number?: string | number | undefined, nature?: string | undefined): any; createCard(name: Card | string, suit?: string, number?: number | string, nature?: string): any;
/** /**
* @overload * @overload
* @returns { Card } * @returns { Card }
@ -1046,7 +1087,7 @@ export class Game {
* @param { boolean } [bool] * @param { boolean } [bool]
* @returns * @returns
*/ */
over(result?: string | boolean | undefined, bool?: boolean | undefined, ...args: any[]): void; over(result?: boolean | string, bool?: boolean, ...args: any[]): void;
/** /**
* @type { Map<GameEvent, Promise<any>> } * @type { Map<GameEvent, Promise<any>> }
* *
@ -1062,27 +1103,27 @@ export class Game {
/** /**
* @param { GameEventPromise } [belongAsyncEvent] * @param { GameEventPromise } [belongAsyncEvent]
*/ */
loop(belongAsyncEvent?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): Promise<void>; loop(belongAsyncEvent?: GameEventPromise): Promise<void>;
/** /**
* @param { GameEventPromise } [belongAsyncEvent] * @param { GameEventPromise } [belongAsyncEvent]
*/ */
runContent(belongAsyncEvent?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): Promise<any>; runContent(belongAsyncEvent?: GameEventPromise): Promise<any>;
pause(): void; pause(): void;
pause2(): void; pause2(): void;
resume(): void; resume(): void;
resume2(): void; resume2(): void;
delaye(...args: any[]): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; delaye(...args: any[]): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
delayex(...args: any[]): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; delayex(...args: any[]): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { number } [time] * @param { number } [time]
* @param { number } [time2] * @param { number } [time2]
*/ */
delay(time?: number | undefined, time2?: number | undefined): void; delay(time?: number, time2?: number): void;
/** /**
* @param { number } [time] * @param { number } [time]
* @param { number } [time2] * @param { number } [time2]
*/ */
delayx(time?: number | undefined, time2?: number | undefined): void; delayx(time?: number, time2?: number): void;
/** /**
* async content中对game.delay的代替使用方法 * async content中对game.delay的代替使用方法
* *
@ -1091,7 +1132,7 @@ export class Game {
* @param { number } [time] * @param { number } [time]
* @param { number } [time2] * @param { number } [time2]
*/ */
asyncDelay(time?: number | undefined, time2?: number | undefined): Promise<void>; asyncDelay(time?: number, time2?: number): Promise<void>;
/** /**
* async content中对game.delayx的代替使用方法 * async content中对game.delayx的代替使用方法
* *
@ -1100,11 +1141,11 @@ export class Game {
* @param { number } [time] * @param { number } [time]
* @param { number } [time2] * @param { number } [time2]
*/ */
asyncDelayx(time?: number | undefined, time2?: number | undefined): Promise<void>; asyncDelayx(time?: number, time2?: number): Promise<void>;
/** /**
* @param { GameEventPromise } [event] * @param { GameEventPromise } [event]
*/ */
check(event?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean; check(event?: GameEventPromise): boolean;
Check: Check; Check: Check;
uncheck(...args: any[]): void; uncheck(...args: any[]): void;
/** /**
@ -1114,12 +1155,12 @@ export class Game {
* @param { boolean } [behind] * @param { boolean } [behind]
* @param { boolean } [noanimate] * @param { boolean } [noanimate]
*/ */
swapSeat(player1: Player, player2: Player, prompt?: boolean | undefined, behind?: boolean | undefined, noanimate?: boolean | undefined): void; swapSeat(player1: Player, player2: Player, prompt?: boolean, behind?: boolean, noanimate?: boolean): void;
/** /**
* @param { Player } player1 * @param { Player } player1
* @param { Player } [player2] * @param { Player } [player2]
*/ */
swapPlayer(player: any, player2?: import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): void; swapPlayer(player: any, player2?: Player): void;
/** /**
* @param { Player } player * @param { Player } player
*/ */
@ -1154,7 +1195,7 @@ export class Game {
/** /**
* @param { Player } [player] * @param { Player } [player]
*/ */
gameDraw(player?: import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined, num?: number): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; gameDraw(player?: Player, num?: number): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseCharacterDouble(...args: any[]): void; chooseCharacterDouble(...args: any[]): void;
updateRoundNumber(): void; updateRoundNumber(): void;
/** /**
@ -1163,9 +1204,9 @@ export class Game {
* @param { { drawDeck: boolean } } [drawDeck] * @param { { drawDeck: boolean } } [drawDeck]
* @param { boolean } [bottom] * @param { boolean } [bottom]
*/ */
asyncDraw(players: Player[], num?: number | number[] | ((player: Player) => number) | undefined, drawDeck?: { asyncDraw(players: Player[], num?: number | number[] | ((player: Player) => number), drawDeck?: {
drawDeck: boolean; drawDeck: boolean;
} | undefined, bottom?: boolean | undefined): void; }, bottom?: boolean): Promise<void>;
/** /**
* @param { Player[] } players * @param { Player[] } players
* @param { number | number[] | (player: Player) => number } num * @param { number | number[] | (player: Player) => number } num
@ -1173,7 +1214,7 @@ export class Game {
*/ */
asyncDrawAuto(players: Player[], num: number | number[] | ((player: Player) => number), drawDeck?: { asyncDrawAuto(players: Player[], num: number | number[] | ((player: Player) => number), drawDeck?: {
drawDeck: boolean; drawDeck: boolean;
} | undefined, ...args: any[]): void; }, ...args: any[]): void;
finishSkill(i: any, sub: any): void; finishSkill(i: any, sub: any): void;
finishCards(): void; finishCards(): void;
/** /**
@ -1195,7 +1236,7 @@ export class Game {
* @param { boolean } [forced] * @param { boolean } [forced]
* @param { string } [logvid] * @param { string } [logvid]
*/ */
logv(player: Player, card: string | Card[], targets?: import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | undefined, event?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined, forced?: boolean | undefined, logvid?: string | undefined): HTMLDivElement | undefined; logv(player: Player, card: string | Card[], targets?: Player[], event?: GameEventPromise, forced?: boolean, logvid?: string): HTMLDivElement;
/** /**
* @param { string } storeName * @param { string } storeName
* @param { string } idbValidKey * @param { string } idbValidKey
@ -1203,7 +1244,7 @@ export class Game {
* @param { Function } [onSuccess] * @param { Function } [onSuccess]
* @param { Function } [onError] * @param { Function } [onError]
*/ */
putDB(storeName: string, idbValidKey: string, value: any, onSuccess?: Function | undefined, onError?: Function | undefined): Promise<any>; putDB(storeName: string, idbValidKey: string, value: any, onSuccess?: Function, onError?: Function): Promise<any>;
/** /**
* *
* @param { string } storeName * @param { string } storeName
@ -1211,33 +1252,33 @@ export class Game {
* @param { Function } [onSuccess] * @param { Function } [onSuccess]
* @param { Function } [onError] * @param { Function } [onError]
*/ */
getDB(storeName: string, query?: string | null | undefined, onSuccess?: Function | undefined, onError?: Function | undefined): Promise<any>; getDB(storeName: string, query?: string | null, onSuccess?: Function, onError?: Function): Promise<any>;
/** /**
* @param { string } storeName * @param { string } storeName
* @param { string } [query] * @param { string } [query]
* @param { Function } [onSuccess] * @param { Function } [onSuccess]
* @param { Function } [onError] * @param { Function } [onError]
*/ */
deleteDB(storeName: string, query?: string | undefined, onSuccess?: Function | undefined, onError?: Function | undefined): Promise<any>; deleteDB(storeName: string, query?: string, onSuccess?: Function, onError?: Function): Promise<any>;
/** /**
* @param { string } key * @param { string } key
* @param { * } [value] * @param { * } [value]
* @param { string } [mode] * @param { string } [mode]
*/ */
save(key: string, value?: any, mode?: string | undefined): void; save(key: string, value?: any, mode?: string): void;
showChangeLog(): void; showChangeLog(): void;
/** /**
* @param { string } str * @param { string } str
* @param { string } [extname] * @param { string } [extname]
*/ */
showExtensionChangeLog(str: string, extname?: string | undefined): void; showExtensionChangeLog(str: string, extname?: string): void;
/** /**
* @param { string } key * @param { string } key
* @param { * } [value] * @param { * } [value]
* @param { string | boolean } [local] * @param { string | boolean } [local]
* @param { Function } [callback] * @param { Function } [callback]
*/ */
saveConfig(key: string, value?: any, local?: string | boolean | undefined, callback?: Function | undefined): void; saveConfig(key: string, value?: any, local?: string | boolean, callback?: Function): void;
/** /**
* @param { string } key * @param { string } key
*/ */
@ -1267,21 +1308,21 @@ export class Game {
* @param { string } [character] * @param { string } [character]
* @param { string } [character2] * @param { string } [character2]
*/ */
addPlayer(position: number, character?: string | undefined, character2?: string | undefined): import("../library/element/player.js").Player; addPlayer(position: number, character?: string, character2?: string): import("../library/element/player.js").Player;
/** /**
* @param { number } position * @param { number } position
* @param { string } [character] * @param { string } [character]
* @param { string } [animation] * @param { string } [animation]
*/ */
addFellow(position: number, character?: string | undefined, animation?: string | undefined): import("../library/element/player.js").Player; addFellow(position: number, character?: string, animation?: string): import("../library/element/player.js").Player;
/** /**
* @param { Player } player * @param { Player } player
*/ */
triggerEnter(player: Player): import("../library/element/gameEvent.js").GameEvent & import("../library/element/gameEventPromise.js").GameEventPromise; triggerEnter(player: Player): import("../library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { Player } player * @param { Player } player
*/ */
restorePlayer(player: Player): import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined; restorePlayer(player: Player): import("noname-typings/nonameModules/noname/library/element/player.js").Player;
/** /**
* @param { Player } player * @param { Player } player
*/ */
@ -1291,7 +1332,7 @@ export class Game {
* @param { string } [character] * @param { string } [character]
* @param { string } [character2] * @param { string } [character2]
*/ */
replacePlayer(player: Player, character?: string | undefined, character2?: string | undefined): import("../library/element/player.js").Player; replacePlayer(player: Player, character?: string, character2?: string): import("../library/element/player.js").Player;
arrangePlayers(): void; arrangePlayers(): void;
/** /**
* @param { string[] } skills * @param { string[] } skills
@ -1313,22 +1354,22 @@ export class Game {
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
*/ */
hasPlayer(func: (player: Player) => boolean, includeOut?: boolean | undefined): boolean; hasPlayer(func: (player: Player) => boolean, includeOut?: boolean): boolean;
/** /**
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
*/ */
hasPlayer2(func: (player: Player) => boolean, includeOut?: boolean | undefined): boolean; hasPlayer2(func: (player: Player) => boolean, includeOut?: boolean): boolean;
/** /**
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
*/ */
countPlayer(func: (player: Player) => boolean, includeOut?: boolean | undefined): number; countPlayer(func: (player: Player) => boolean, includeOut?: boolean): number;
/** /**
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
*/ */
countPlayer2(func: (player: Player) => boolean, includeOut?: boolean | undefined): number; countPlayer2(func: (player: Player) => boolean, includeOut?: boolean): number;
/** /**
* @overload * @overload
* @returns { Player[] } * @returns { Player[] }
@ -1341,7 +1382,7 @@ export class Game {
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
* @returns { Player[] } * @returns { Player[] }
*/ */
filterPlayer(func: (player: Player) => boolean, list?: import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | undefined, includeOut?: boolean | undefined): Player[]; filterPlayer(func: (player: Player) => boolean, list?: Player[], includeOut?: boolean): Player[];
/** /**
* @overload * @overload
* @returns { Player[] } * @returns { Player[] }
@ -1354,22 +1395,22 @@ export class Game {
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
* @returns { Player[] } * @returns { Player[] }
*/ */
filterPlayer2(func: (player: Player) => boolean, list?: import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | undefined, includeOut?: boolean | undefined): Player[]; filterPlayer2(func: (player: Player) => boolean, list?: Player[], includeOut?: boolean): Player[];
/** /**
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
*/ */
findPlayer(func: (player: Player) => boolean, includeOut?: boolean | undefined): import("noname-typings/nonameModules/noname/library/element/player.js").Player | null; findPlayer(func: (player: Player) => boolean, includeOut?: boolean): import("noname-typings/nonameModules/noname/library/element/player.js").Player;
/** /**
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [includeOut] * @param { boolean } [includeOut]
*/ */
findPlayer2(func: (player: Player) => boolean, includeOut?: boolean | undefined): import("noname-typings/nonameModules/noname/library/element/player.js").Player | null; findPlayer2(func: (player: Player) => boolean, includeOut?: boolean): import("noname-typings/nonameModules/noname/library/element/player.js").Player;
/** /**
* @param { (player: Player) => boolean } func * @param { (player: Player) => boolean } func
* @param { boolean } [all] * @param { boolean } [all]
*/ */
findCards(func: (player: Player) => boolean, all?: boolean | undefined): string[]; findCards(func: (player: Player) => boolean, all?: boolean): string[];
countGroup(): number; countGroup(): number;
/** /**
* *
@ -1387,7 +1428,7 @@ export class Game {
doAsyncInOrder(targets: Player[], asyncFunc: (player: Player, i: number) => Promise<any | void>, sort: (a: Player, b: Player) => number): Promise<void>; doAsyncInOrder(targets: Player[], asyncFunc: (player: Player, i: number) => Promise<any | void>, sort: (a: Player, b: Player) => number): Promise<void>;
} }
export let game: Game; export let game: Game;
export function setGame(instance?: Game | undefined): void; export function setGame(instance?: InstanceType<typeof Game>): void;
export type GameHistory = { export type GameHistory = {
cardMove: GameEventPromise[]; cardMove: GameEventPromise[];
custom: GameEventPromise[]; custom: GameEventPromise[];
@ -1415,4 +1456,3 @@ import { GamePromises } from "./promises.js";
import { DynamicStyle } from "./dynamic-style/index.js"; import { DynamicStyle } from "./dynamic-style/index.js";
import { lib } from "../library/index.js"; import { lib } from "../library/index.js";
import { Check } from "./check.js"; import { Check } from "./check.js";
import { delay } from "../util/index.js";

View File

@ -12,7 +12,7 @@ export class GamePromises {
* @returns { Promise<string> } * @returns { Promise<string> }
* *
*/ */
prompt(title: string, forced?: boolean | undefined): Promise<string>; prompt(title: string, forced?: boolean): Promise<string>;
/** /**
* 仿h5的alert * 仿h5的alert
* *
@ -36,4 +36,11 @@ export class GamePromises {
createDir(directory: any): Promise<any>; createDir(directory: any): Promise<any>;
removeFile(filename: any): Promise<void>; removeFile(filename: any): Promise<void>;
removeDir(directory: any): Promise<void>; removeDir(directory: any): Promise<void>;
/**
*
*
* @param { string } dir
* @returns { Promise<[string[], string[]]> }
*/
getFileList(dir: string): Promise<[string[], string[]]>;
} }

View File

@ -11,6 +11,12 @@ export class Get {
* @returns {["firefox" | "chrome" | "safari" | "other", number, number, number]} * @returns {["firefox" | "chrome" | "safari" | "other", number, number, number]}
*/ */
coreInfo(): ["firefox" | "chrome" | "safari" | "other", number, number, number]; coreInfo(): ["firefox" | "chrome" | "safari" | "other", number, number, number];
/**
* character转化为Character对象格式
* @param { Array|Object|import("../library/element/character").Character } data
* @returns {import("../library/element/character").Character}
*/
convertedCharacter(data: any[] | any | import("../library/element/character").Character): import("../library/element/character").Character;
/** /**
* VCard[] * VCard[]
* @param {Function} filter * @param {Function} filter
@ -74,17 +80,27 @@ export class Get {
* @param { false | Player } [player] * @param { false | Player } [player]
* @returns { string[] } * @returns { string[] }
*/ */
subtypes(obj: string | Card | VCard | CardBaseUIData, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string[]; subtypes(obj: string | Card | VCard | CardBaseUIData, player?: false | Player): string[];
/** /**
* @returns { string[] } * @param {string} chinese
* @param {boolean|undefined} withTone
* @returns { any[] }
*/ */
pinyin(chinese: any, withTone: any): string[]; pinyin(chinese: string, withTone: boolean | undefined): any[];
yunmu(str: any): any; /**
* @param { string } str
* @returns { string }
*/
yunmu(str: string): string;
/** /**
* key * key
*/ */
paramToCacheKey(...args: any[]): string; paramToCacheKey(...args: any[]): string;
yunjiao(str: any): string | null; /**
* @param { string } str
* @returns { string|null }
*/
yunjiao(str: string): string | null;
/** /**
* @param { string } skill * @param { string } skill
* @param { Player } player * @param { Player } player
@ -95,11 +111,11 @@ export class Get {
connectNickname(): any; connectNickname(): any;
zhinangs(filter: any): any; zhinangs(filter: any): any;
sourceCharacter(str: any): any; sourceCharacter(str: any): any;
isLuckyStar(player: any): any; isLuckyStar(player: any): boolean;
infoHp(hp: any): number; infoHp(hp: any): number;
infoMaxHp(hp: any): number; infoMaxHp(hp: any): number;
infoHujia(hp: any): number; infoHujia(hp: any): number;
bottomCards(num: any, putBack: any): Node | Node[]; bottomCards(num: any, putBack: any): ChildNode | ChildNode[];
discarded(): any; discarded(): any;
cardOffset(): number; cardOffset(): number;
colorspan(str: any): any; colorspan(str: any): any;
@ -114,9 +130,9 @@ export class Get {
/** /**
* @overload * @overload
* @param { string } name * @param { string } name
* @returns { Character } * @returns { import("../library/element/character").Character }
*/ */
character(name: string): Character; character(name: string): import("../library/element/character").Character;
/** /**
* @template { 0 | 1 | 2 | 3 | 4 } T * @template { 0 | 1 | 2 | 3 | 4 } T
* @overload * @overload
@ -139,11 +155,11 @@ export class Get {
zip(callback: (zip: JSZip) => any): void; zip(callback: (zip: JSZip) => any): void;
delayx(num: any, max: any): number; delayx(num: any, max: any): number;
prompt(skill: any, target: any, player: any): string; prompt(skill: any, target: any, player: any): string;
prompt2(skill: any, target: any, player: any, ...args: any[]): string; prompt2(skill: any, target: any, player: any, ...args: any[]): any;
url(master: any): string; url(master: any): string;
round(num: any, f: any): number; round(num: any, f: any): number;
playerNumber(): number; playerNumber(): number;
benchmark(func1: any, func2: any, iteration: any, arg: any): number | undefined; benchmark(func1: any, func2: any, iteration: any, arg: any): number;
/** /**
* @param {any} obj * @param {any} obj
*/ */
@ -159,7 +175,7 @@ export class Get {
* @param {WeakMap<object, unknown>} [map] - * @param {WeakMap<object, unknown>} [map] -
* @returns {T} - * @returns {T} -
*/ */
copy<T_1>(obj: T_1, copyKeyDeep?: boolean | undefined, map?: WeakMap<any, unknown> | undefined): T_1; copy<T_1>(obj: T_1, copyKeyDeep?: boolean, map?: WeakMap<object, unknown>): T_1;
inpilefull(type: any): { inpilefull(type: any): {
name: any; name: any;
suit: any; suit: any;
@ -170,14 +186,14 @@ export class Get {
inpile2(type: any): any[]; inpile2(type: any): any[];
typeCard(type: any, filter: any): string[]; typeCard(type: any, filter: any): string[];
libCard(filter: any): string[]; libCard(filter: any): string[];
ip(): any; ip(): string;
modetrans(config: any, server: any): string; modetrans(config: any, server: any): string;
charactersOL(func: any): number[]; charactersOL(func: any): number[];
trimip(str: any): any; trimip(str: any): any;
mode(): any; mode(): any;
idDialog(id: any): import("noname-typings/nonameModules/noname/library/element/dialog.js").Dialog | null; idDialog(id: any): import("noname-typings/nonameModules/noname/library/element/dialog.js").Dialog;
arenaState(): { arenaState(): {
number: string | undefined; number: string;
players: {}; players: {};
mode: any; mode: any;
dying: any[]; dying: any[];
@ -195,7 +211,7 @@ export class Get {
zhu(player: any, skill: any, group: any): any; zhu(player: any, skill: any, group: any): any;
config(item: any, mode: any): any; config(item: any, mode: any): any;
coinCoeff(list: any): number; coinCoeff(list: any): number;
rank(name: any, num: any): number | "x" | "s" | "c" | "d" | "b" | "a" | "ap" | "am" | "bp" | "bm" | "sp"; rank(name: any, num: any): number | "x" | "s" | "b" | "c" | "d" | "a" | "ap" | "am" | "bp" | "bm" | "sp";
skillRank(skill: any, type: any, grouped: any): number; skillRank(skill: any, type: any, grouped: any): number;
targetsInfo(targets: any): any[]; targetsInfo(targets: any): any[];
infoTargets(infos: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[]; infoTargets(infos: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[];
@ -217,7 +233,7 @@ export class Get {
/** /**
* @param {string} item * @param {string} item
*/ */
infoEventOL(item: string): import("../library/element/gameEvent.js").GameEvent; infoEventOL(item: string): string | import("../library/element/gameEvent.js").GameEvent;
stringifiedResult(item: any, level: any, nomore: any): any; stringifiedResult(item: any, level: any, nomore: any): any;
parsedResult(item: any): any; parsedResult(item: any): any;
verticalStr(str: any, sp: any): string; verticalStr(str: any, sp: any): string;
@ -305,7 +321,7 @@ export class Get {
*/ */
itemtype(obj: GameEvent | GameEventPromise): 'event'; itemtype(obj: GameEvent | GameEventPromise): 'event';
equipNum(card: any): number; equipNum(card: any): number;
objtype(obj: any): "div" | "object" | "array" | "table" | "tr" | "td" | "fragment" | undefined; objtype(obj: any): "object" | "div" | "array" | "table" | "tr" | "td" | "fragment";
type(obj: any, method: any, player: any): any; type(obj: any, method: any, player: any): any;
type2(card: any, player: any): any; type2(card: any, player: any): any;
/** /**
@ -314,7 +330,7 @@ export class Get {
* @param { false | Player } [player] * @param { false | Player } [player]
* @returns { string } * @returns { string }
*/ */
subtype(obj: string | Card | VCard | CardBaseUIData, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string; subtype(obj: string | Card | VCard | CardBaseUIData, player?: false | Player): string;
equiptype(card: any, player: any): number; equiptype(card: any, player: any): number;
/** /**
* *
@ -322,40 +338,40 @@ export class Get {
* @param { false | Player } [player] * @param { false | Player } [player]
* @returns { string } * @returns { string }
*/ */
name(card: Card | VCard | CardBaseUIData, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string; name(card: Card | VCard | CardBaseUIData, player?: false | Player): string;
/** /**
* @param {Card | VCard | Card[] | VCard[]} card * @param {Card | VCard | Card[] | VCard[]} card
* @param {false | Player} [player] * @param {false | Player} [player]
* @returns {string} * @returns {string}
*/ */
suit(card: Card | VCard | Card[] | VCard[], player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string; suit(card: Card | VCard | Card[] | VCard[], player?: false | Player): string;
/** /**
* @param {Card | VCard | Card[] | VCard[]} card * @param {Card | VCard | Card[] | VCard[]} card
* @param {false | Player} [player] * @param {false | Player} [player]
* @returns {string} * @returns {string}
*/ */
color(card: Card | VCard | Card[] | VCard[], player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string; color(card: Card | VCard | Card[] | VCard[], player?: false | Player): string;
/** /**
* @param {Card | VCard} card * @param {Card | VCard} card
* @param {false | Player} [player] * @param {false | Player} [player]
* @returns {number} * @returns {number}
*/ */
number(card: Card | VCard, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): number; number(card: Card | VCard, player?: false | Player): number;
/** /**
* `lib.natureSeparator``fire|thunder` * `lib.natureSeparator``fire|thunder`
* @param {string | string[] | Card | VCard} card * @param {string | string[] | Card | VCard} card
* @param {false | Player} [player] * @param {false | Player} [player]
* @returns {string} * @returns {string}
*/ */
nature(card: string | string[] | Card | VCard, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string; nature(card: string | string[] | Card | VCard, player?: false | Player): string;
/** /**
* *
* @param {string[] | string} card * @param {string[] | string} card
* @param {false | Player} [player] * @param {false | Player} [player]
* @returns {string[]} * @returns {string[]}
*/ */
natureList(card: string[] | string, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): string[]; natureList(card: string[] | string, player?: false | Player): string[];
cards(num: any, putBack: any): Node | Node[]; cards(num: any, putBack: any): ChildNode | ChildNode[];
judge(card: any): any; judge(card: any): any;
judge2(card: any): any; judge2(card: any): any;
distance(from: any, to: any, method: any): number; distance(from: any, to: any, method: any): number;
@ -371,12 +387,12 @@ export class Get {
* @param { Player | false } [player] * @param { Player | false } [player]
* @returns { any } * @returns { any }
*/ */
info(item: Card | VCard | CardBaseUIData, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): any; info(item: Card | VCard | CardBaseUIData, player?: Player | false): any;
/** /**
* @param { number | Select | (()=>Select) } [select] * @param { number | Select | (()=>Select) } [select]
* @returns { Select } * @returns { Select }
*/ */
select(select?: number | Select | (() => Select) | undefined): Select; select(select?: number | Select | (() => Select)): Select;
card(original: any): any; card(original: any): any;
/** /**
* @overload * @overload
@ -392,7 +408,7 @@ export class Get {
event<T_2 extends keyof import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent>(key: T_2): import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent[T_2]; event<T_2 extends keyof import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent>(key: T_2): import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent[T_2];
player(): import("noname-typings/nonameModules/noname/library/element/player.js").Player; player(): import("noname-typings/nonameModules/noname/library/element/player.js").Player;
players(sort: any, dead: any, out: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[]; players(sort: any, dead: any, out: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[];
position(card: any, ordering: any): number | "e" | "j" | "x" | "s" | "h" | "c" | "d" | "o" | null | undefined; position(card: any, ordering: any): number | "x" | "s" | "e" | "j" | "h" | "c" | "d" | "o";
skillTranslation(str: any, player: any): string; skillTranslation(str: any, player: any): string;
skillInfoTranslation(name: any, player: any): any; skillInfoTranslation(name: any, player: any): any;
/** /**
@ -412,12 +428,12 @@ export class Get {
* @param {((a: Button, b: Button) => number)} [sort] * @param {((a: Button, b: Button) => number)} [sort]
* @returns { Button[] } * @returns { Button[] }
*/ */
selectableButtons(sort?: ((a: Button, b: Button) => number) | undefined): Button[]; selectableButtons(sort?: ((a: Button, b: Button) => number)): Button[];
/** /**
* @param {((a: Card, b: Card) => number)} [sort] * @param {((a: Card, b: Card) => number)} [sort]
* @returns { Card[] } * @returns { Card[] }
*/ */
selectableCards(sort?: ((a: Card, b: Card) => number) | undefined): Card[]; selectableCards(sort?: ((a: Card, b: Card) => number)): Card[];
/** /**
* @returns { string[] } * @returns { string[] }
*/ */
@ -429,11 +445,11 @@ export class Get {
* @param {((a: Player, b: Player) => number)} [sort] * @param {((a: Player, b: Player) => number)} [sort]
* @returns { Player[] } * @returns { Player[] }
*/ */
selectableTargets(sort?: ((a: Player, b: Player) => number) | undefined): Player[]; selectableTargets(sort?: ((a: Player, b: Player) => number)): Player[];
filter(filter: any, i: any): any; filter(filter: any, i: any): any;
cardCount(card: any, player: any): any; cardCount(card: any, player: any): any;
skillCount(skill: any, player: any): any; skillCount(skill: any, player: any): any;
owner(card: any, method: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined; owner(card: any, method: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player;
noSelected(): boolean; noSelected(): boolean;
population(identity: any): number; population(identity: any): number;
totalPopulation(identity: any): number; totalPopulation(identity: any): number;
@ -442,7 +458,7 @@ export class Get {
*/ */
cardtag(item: Card | VCard, tag: any): any; cardtag(item: Card | VCard, tag: any): any;
tag(item: any, tag: any, item2: any, bool: any): any; tag(item: any, tag: any, item2: any, bool: any): any;
sortCard(sort: any): ((card: any) => any) | undefined; sortCard(sort: any): (card: any) => any;
difficulty(): 2 | 1 | 3; difficulty(): 2 | 1 | 3;
cardPile(name: any, create: any): any; cardPile(name: any, create: any): any;
cardPile2(name: any): any; cardPile2(name: any): any;
@ -451,7 +467,7 @@ export class Get {
skillintro(name: any, learn: any, learn2: any): string; skillintro(name: any, learn: any, learn2: any): string;
intro(name: any): string; intro(name: any): string;
storageintro(type: any, content: any, player: any, dialog: any, skill: any): any; storageintro(type: any, content: any, player: any, dialog: any, skill: any): any;
nodeintro(node: any, simple: any, evt: any): import("../library/element/dialog.js").Dialog | undefined; nodeintro(node: any, simple: any, evt: any): import("../library/element/dialog.js").Dialog;
linkintro(dialog: any, content: any, player: any): void; linkintro(dialog: any, content: any, player: any): void;
groups(): string[]; groups(): string[];
types(): any[]; types(): any[];
@ -492,9 +508,84 @@ export class Get {
recoverEffect(target: any, player: any, viewer: any): number; recoverEffect(target: any, player: any, viewer: any): number;
buttonValue(button: any): number; buttonValue(button: any): number;
attitude2(to: any): any; attitude2(to: any): any;
/**
* URL转换成相对于无名杀根目录的路径
*
* ---
*
* http协议前:
* - 网页端: 除了`db`
* - (electron): `node.js`
* - (cordova): 使`cordova``cordova-plugin-file`
*
* API基本如下:
* -
* - 使`lib.assetURL + <relative path>``lib.assetURL`:
* -
* - `externalApplicationStorageDirectory``Android/data/<app-id>/`
*
* http协议ES Module`import.meta.url``URL`
*
* API混乱且针对多端有不同的情况便API的情况
*
* @param {URL} url - URL对象
* @param {boolean} [addAssetURL=false] - `lib.assetURL`
* `false``true``file``lib.assetURL`
* @returns {string}
*
* @example
* // 当前文件以"noname/get/index.js"举例
* let parsedPath = get.relativePath(import.meta.url, true);
* console.assert(parsedPath == `${lib.assetURL}noname/get/index.js`);
*/
relativePath(url: URL, addAssetURL?: boolean): string;
/**
* `FileReader`Blob转换成对应内容的[Data URL](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs)
*
* @async
* @param {Blob} blob -
* @returns {Promise<URL>} Blob内容的
*
* @example
* let text = "Hello, World!";
* console.assert(btoa(text) === "SGVsbG8sIFdvcmxkIQ==");
*
* let blob = new Blob([text], { type: "text/plain" });
* let url = await get.dataUrlAsync(blob);
* console.assert(url.href === "data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==");
*/
dataUrlAsync(blob: Blob): Promise<URL>;
/**
* `Get#blobFromUrl`data URL的内容Blob后返回生成的blob URL
*
* > URL都能通过此方法读取
*
* data URL仅会返回同一blob URL
*
* `get.objectURL`
*
* ---
*
* > `get.objectURL``get.objectURL`
*
* @async
* @param {string | URL} dataUrl - data URL
* @returns {Promise<URL>}
*/
objectUrlAsync(dataUrl: string | URL): Promise<URL>;
/**
* URLBlob
*
* File协议下通过无名杀自带的文件处理函数读取内容`fetch`
*
* @async
* @param {string | URL} url - URL
* @returns {Promise<Blob>}
*/
blobFromUrl(url: string | URL): Promise<Blob>;
} }
export let get: Get; export let get: Get;
export function setGet(instance?: Get | undefined): void; export function setGet(instance?: InstanceType<typeof Get>): void;
import { Is } from "./is.js"; import { Is } from "./is.js";
import { Promises } from "./promises.js"; import { Promises } from "./promises.js";
export { Is, Promises }; export { Is, Promises };

View File

@ -5,14 +5,14 @@ export class Is {
* @param { false | Player } [player] * @param { false | Player } [player]
* @returns { boolean } * @returns { boolean }
*/ */
attackingMount(card: Card | VCard, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): boolean; attackingMount(card: Card | VCard, player?: false | Player): boolean;
/** /**
* *
* @param { Card | VCard } card * @param { Card | VCard } card
* @param { false | Player } [player] * @param { false | Player } [player]
* @returns { boolean } * @returns { boolean }
*/ */
defendingMount(card: Card | VCard, player?: false | import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): boolean; defendingMount(card: Card | VCard, player?: false | Player): boolean;
/** /**
* *
* @returns { boolean } * @returns { boolean }
@ -65,10 +65,10 @@ export class Is {
/** /**
* *
* @param { string } name * @param { string } name
* @param { string[] } array * @param { string[] } [array]
* @returns { boolean | string[] } * @returns { boolean | string[] }
*/ */
double(name: string, array: string[]): boolean | string[]; double(name: string, array?: string[]): boolean | string[];
/** /**
* Check if the card has a Yingbian condition * Check if the card has a Yingbian condition
* *
@ -99,7 +99,7 @@ export class Is {
/** /**
* @param { string } [substring] * @param { string } [substring]
*/ */
emoji(substring?: string | undefined): boolean; emoji(substring?: string): boolean;
/** /**
* @param { string } str * @param { string } str
*/ */
@ -162,7 +162,7 @@ export class Is {
/** /**
* @param { Player } [player] * @param { Player } [player]
*/ */
mobileMe(player?: import("noname-typings/nonameModules/noname/library/element/player.js").Player | undefined): boolean | undefined; mobileMe(player?: Player): boolean;
newLayout(): boolean; newLayout(): boolean;
phoneLayout(): boolean; phoneLayout(): boolean;
singleHandcard(): any; singleHandcard(): any;

View File

@ -0,0 +1,47 @@
export function addDict(dict: any, name: any): void;
export function clearCustomDict(dict: any): void;
/**
* @description: pin1 yin1 -> pīn yīn pīn yīn -> pin1 yin1 pīn yīn -> pin yin
* @param {string | string[]} pinyin
* @param {any} options
* @return {string | string[]}
*/
export function convert(pinyin: string | string[], options: any): string | string[];
/**
* @description:
* @param {{ [key: string]: string }} config
* @param {any} options multiple/polyphonic customPinyin
*/
export function customPinyin(config: {
[key: string]: string;
}, options: any): void;
/**
* @description: html
* @param {string} text
* @param {any} options html
* @return {string}
*/
export function html(text: string, options: any): string;
/**
* @description:
* @param {string} text
* @param {string} pinyin
* @param {any} options
* @return {Array | null} text null
*/
export function match(text: string, pinyin: string, options: any): any[] | null;
/**
* @description:
* @param {string} word
* @param {any} options
* @return {string | string[] | any[]} options.type string array all
*/
export function pinyin(word: string, options: any): string | string[] | any[];
/**
* @description:
* @param {string} text
* @param {any} options
* @return {string[] | string[][] | any[][]} options.type string array all
*/
export function polyphonic(text: string, options?: any): string[] | string[][] | any[][];
export function removeDict(dictName: any): void;

View File

@ -0,0 +1,172 @@
export default dictionary;
declare namespace dictionary {
let 用间: string[];
let 乐进: string[];
let 乐就: string[];
let 乐綝: string[];
let 华歆: string[];
let 华雄: string[];
let 贾诩: string[];
let 贾逵: string[];
let 贾充: string[];
let 沮授: string[];
let 纪灵: string[];
let 笮融: string[];
let 逢纪: string[];
let 许褚: string[];
let 刘辟: string[];
let 刘禅: string[];
let 甄宓: string[];
let 孙綝: string[];
let 李傕: string[];
let 李遗: string[];
let 张嶷: string[];
let 蒋干: string[];
let 雷薄: string[];
let 吕蒙: string[];
let 于禁: string[];
let 赵累: string[];
let 夏侯令女: string[];
let 马日磾: string[];
let 史阿: string[];
let 凯撒: string[];
let 乐无异: string[];
let 端蒙: string[];
let 妹喜: string[];
let 洛欧塞布: string[];
let 塞纳留斯: string[];
let 半藏: string[];
let 地藏王: string[];
let 查莉娅: string[];
let 单小小: string[];
let 少微: string[];
let 少昊: string[];
let 欧阳少恭: string[];
let 卡尔维特: string[];
let 卡西尔: string[];
let 卡扎库斯: string[];
let 卡德加: string[];
let 法兰茜斯卡: string[];
let 卡利莫斯: string[];
let 安卡: string[];
let 卡玛: string[];
let 梼杌: string[];
let 亚煞极: string[];
let 库特莉亚芙卡: string[];
let 露娜: string[];
let 弹雀: string[];
let 重身: string[];
let 畜鸣: string[];
let 聆乐: string[];
let 没矢: string[];
let 没欲: string[];
let 血裔: string[];
let 血卫: string[];
let 血诏: string[];
let 血偿: string[];
let 血拼: string[];
let 血途: string[];
let 行殇: string[];
let 节行: string[];
let 天行: string[];
let 神行: string[];
let 镇行: string[];
let 行图: string[];
let 绝行: string[];
let 好施: string[];
let 荐降: string[];
let 破降: string[];
let 拒降: string[];
let 应势: string[];
let 应援: string[];
let 应机: string[];
let 节应: string[];
let 驰应: string[];
let 断发: string[];
let 旋风: string[];
let 将驰: string[];
let 将烈: string[];
let 将略: string[];
let 斩将: string[];
let 拜将: string[];
let 强识: string[];
let 默识: string[];
let 数谏: string[];
let 巧说: string[];
let 营说: string[];
let 说盟: string[];
let 落宠: string[];
let 落雁: string[];
let 落雷: string[];
let 贲育: string[];
let 造王: string[];
let 舍宴: string[];
let 舍裔: string[];
let 省身: string[];
let 单骑: string[];
let 间书: string[];
let 伏间: string[];
let 间计: string[];
let 贵相: string[];
let 相鼠: string[];
let 辟田: string[];
let 辟撰: string[];
let 辟境: string[];
let 斗阵: string[];
let 斗缠: string[];
let 冯河: string[];
let 势吓: string[];
let 虚吓: string[];
let 叱吓: string[];
let 度断: string[];
let 度势: string[];
let 诛綝: string[];
let 大喝: string[];
let 暴喝: string[];
let 曲误: string[];
let 媛丽: string[];
let 调归: string[];
let 款塞: string[];
let 父荫: string[];
let 穆荫: string[];
let 长姬: string[];
let 朝凤: string[];
let 朝争: string[];
let 令法: string[];
let 耀令: string[];
let 冠绝: string[];
let 先著: string[];
let 量反: string[];
let 复难: string[];
let 膴仕: string[];
let 蒙斥: string[];
let 乐动: string[];
let 血凰: string[];
let 血戮: string[];
let 血刃: string[];
let 血契: string[];
let 血逐: string[];
let 血咒: string[];
let 血殇: string[];
let 血池: string[];
let 越行: string[];
let 侠行: string[];
let 枭行: string[];
let 劫行: string[];
let 割发: string[];
let 落梅: string[];
let 落石: string[];
let 落刀: string[];
let 星落: string[];
let 奈落: string[];
let 舍身: string[];
let 舍愿: string[];
let 月露: string[];
let 沾露: string[];
let 禁咒: string[];
let 挟令: string[];
let 七煞: string[];
let 冥煞: string[];
let 虎煞: string[];
let 煞魂: string[];
}

View File

@ -7,6 +7,5 @@ export class GNC {
is: Is; is: Is;
} }
export let gnc: GNC; export let gnc: GNC;
export function setGNC(instance?: GNC | undefined): void; export function setGNC(instance?: InstanceType<typeof GNC>): void;
import { GeneratorFunction } from "../util/index.js";
import { Is } from "./is.js"; import { Is } from "./is.js";

View File

@ -1,4 +1,4 @@
export function canUseHttpProtocol(): any; export function canUseHttpProtocol(): boolean;
/** /**
* *
* @returns { string | void } * @returns { string | void }

View File

@ -33,7 +33,7 @@ export class CacheContext {
* @param {Array<string>} methods * @param {Array<string>} methods
* @returns * @returns
*/ */
static inject(source: any, methods: Array<string>): null | undefined; static inject(source: any, methods: Array<string>): any;
static _getCacheValueFromObject(storage: any, key: any, params: any, source: any, func: any): any; static _getCacheValueFromObject(storage: any, key: any, params: any, source: any, func: any): any;
static _ensureMember(obj: any, key: any): any; static _ensureMember(obj: any, key: any): any;
static _wrapParametersToCacheKey(params: any): string; static _wrapParametersToCacheKey(params: any): string;

View File

@ -9,7 +9,7 @@ export class Channel<T> {
/** /**
* @type {PromiseResolve<T> | [T, PromiseResolve<void>] | null} * @type {PromiseResolve<T> | [T, PromiseResolve<void>] | null}
*/ */
_buffer: ((value?: T | PromiseLike<T> | undefined) => void) | [T, (value?: void | PromiseLike<void> | undefined) => void] | null; _buffer: ((value?: T | PromiseLike<T>) => void) | [T, (value?: void | PromiseLike<void>) => void];
/** /**
* *
* *

View File

@ -6,7 +6,7 @@ export class Button extends HTMLDivElement {
* @param {true} [noClick] * @param {true} [noClick]
* @param { Button } [button] * @param { Button } [button]
*/ */
constructor(item: {}, type: "character" | "tdnodes" | "blank" | "card" | "vcard" | "characterx" | "player" | ((item: {}, type: Function, position?: HTMLDivElement | DocumentFragment, noClick?: true, button?: Button) => Button), position?: HTMLDivElement | DocumentFragment | undefined, noClick?: true | undefined, button?: Button | undefined); constructor(item: {}, type: keyof typeof ui.create.buttonPresets | ((item: {}, type: Function, position?: HTMLDivElement | DocumentFragment, noClick?: true, button?: Button) => Button), position?: HTMLDivElement | DocumentFragment, noClick?: true, button?: Button);
/** /**
* @type { string | undefined } * @type { string | undefined }
*/ */

View File

@ -2,12 +2,12 @@ export class Card extends HTMLDivElement {
/** /**
* @param {HTMLDivElement|DocumentFragment} [position] * @param {HTMLDivElement|DocumentFragment} [position]
*/ */
constructor(position?: HTMLDivElement | DocumentFragment | undefined); constructor(position?: HTMLDivElement | DocumentFragment);
/** /**
* @param {'noclick'} [info] * @param {'noclick'} [info]
* @param {true} [noclick] * @param {true} [noclick]
*/ */
build(info?: "noclick" | undefined, noclick?: true | undefined): this; build(info?: 'noclick', noclick?: true): this;
buildEventListener(info: any): void; buildEventListener(info: any): void;
buildProperty(): void; buildProperty(): void;
/** /**
@ -42,8 +42,8 @@ export class Card extends HTMLDivElement {
willBeDestroyed(targetPosition: any, player: any, event: any): any; willBeDestroyed(targetPosition: any, player: any, event: any): any;
hasNature(nature: any, player: any): boolean; hasNature(nature: any, player: any): boolean;
addNature(nature: any): string; addNature(nature: any): string;
nature: string | undefined; nature: string;
removeNature(nature: any): string | undefined; removeNature(nature: any): string;
addGaintag(gaintag: any): void; addGaintag(gaintag: any): void;
removeGaintag(tag: any): void; removeGaintag(tag: any): void;
hasGaintag(tag: any): boolean; hasGaintag(tag: any): boolean;
@ -61,10 +61,10 @@ export class Card extends HTMLDivElement {
name: string; name: string;
nature: string; nature: string;
}): this; }): this;
suit: string | undefined; suit: string;
number: number | undefined; number: number;
destroyed: any; destroyed: any;
cardid: string | undefined; cardid: string;
/** /**
* @param {[string, number, string, string]} card * @param {[string, number, string, string]} card
*/ */
@ -72,17 +72,17 @@ export class Card extends HTMLDivElement {
updateTransform(bool: any, delay: any): void; updateTransform(bool: any, delay: any): void;
aiexclude(): void; aiexclude(): void;
addKnower(player: any): void; addKnower(player: any): void;
_knowers: any[] | undefined; _knowers: any[];
removeKnower(player: any): void; removeKnower(player: any): void;
clearKnowers(): void; clearKnowers(): void;
isKnownBy(player: any): boolean; isKnownBy(player: any): boolean;
getSource(name: any): any; getSource(name: any): any;
moveDelete(player: any): void; moveDelete(player: any): void;
fixed: boolean | undefined; fixed: boolean;
_onEndMoveDelete: any; _onEndMoveDelete: any;
moveTo(player: any): this; moveTo(player: any): this;
copy(...args: any[]): Card; copy(...args: any[]): Card;
clone: Card | undefined; clone: Card;
uncheck(skill: any): void; uncheck(skill: any): void;
recheck(skill: any): void; recheck(skill: any): void;
/** /**

View File

@ -0,0 +1,199 @@
export class Character {
/**
* @param { Object|[string, string, string|number, string[], any[]|undefined, any[]|undefined] } [data]
*/
constructor(data?: any | [string, string, string | number, string[], any[] | undefined, any[] | undefined]);
/**
*
* @type { string }
**/
sex: string;
/**
*
* @type { number }
**/
hp: number;
/**
*
* @type { number }
**/
maxHp: number;
/**
*
* @type { number }
**/
hujia: number;
/**
*
* @type { string }
**/
group: string;
/**
*
* @type { string|undefined }
**/
groupBorder: string | undefined;
/**
*
* @type { string|undefined }
**/
groupInGuozhan: string | undefined;
/**
*
* @type { string[] }
**/
skills: string[];
/**
*
* @type { boolean }
**/
isZhugong: boolean;
/**
*
* @type { boolean }
**/
isUnseen: boolean;
/**
*
* @type { boolean }
**/
hasHiddenSkill: boolean;
/**
* Character[4]
* @type { any[] }
**/
trashBin: any[];
/**
*
* @type { string|undefined }
**/
dualSideCharacter: string | undefined;
/**
*
* @type { string[] }
**/
doubleGroup: string[];
/**
* minskin
* @type { boolean }
**/
isMinskin: boolean;
/**
* BOSS
* @type { boolean }
**/
isBoss: boolean;
/**
* BOSS
* @type { boolean }
**/
isHiddenBoss: boolean;
/**
*
* @type { boolean }
**/
isAiForbidden: boolean;
/**
* /
* @type { any[]|undefined }
**/
extraModeData: any[] | undefined;
/**
*
* @type { boolean }
**/
isFellowInStoneMode: boolean;
/**
*
* @type { boolean }
**/
isHiddenInStoneMode: boolean;
/**
* 使
* @type { boolean }
**/
isSpecialInStoneMode: boolean;
/**
* bossallowed
* @type { boolean }
**/
isBossAllowed: boolean;
/**
* BOSS
* @type { boolean }
**/
isChessBoss: boolean;
/**
* BOSS
* @type { boolean }
**/
isJiangeBoss: boolean;
/**
*
* @type { boolean }
**/
isJiangeMech: boolean;
/**
*
* @type { boolean }
**/
hasSkinInGuozhan: boolean;
/**
*
* @type { string[] }
**/
clans: string[];
/**
*
* @type { string[] }
**/
dieAudios: string[];
/**
* /
* @type { string[] }
**/
initFilters: string[];
/**
*
* @type { string[] }
*/
tempname: string[];
/**
* (get.character未找到武将使用)
* @type { boolean }
*/
isNull: boolean;
initializeTrashProperties(): void;
/**
* @param { any[] } trash
*/
setPropertiesFromTrash(trash: any[]): void;
set 0(sex: string);
/**
* @deprecated
*/
get 0(): string;
set 1(group: string);
/**
* @deprecated
*/
get 1(): string;
set 2(hp: string | number);
/**
* @deprecated
*/
get 2(): string | number;
set 3(skills: string[]);
/**
* @deprecated
*/
get 3(): string[];
set 4(trashBin: string[]);
/**
*
* @deprecated
*/
get 4(): string[];
set 5(stoneData: any[]);
get 5(): any[];
}

View File

@ -22,16 +22,16 @@ export class Dialog extends HTMLDivElement {
* @param {*} [noclick] * @param {*} [noclick]
* @param { boolean } [zoom] * @param { boolean } [zoom]
*/ */
add(item: string | HTMLDivElement | Card[] | Player[], noclick?: any, zoom?: boolean | undefined): string | HTMLDivElement | import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; add(item: string | HTMLDivElement | Card[] | Player[], noclick?: any, zoom?: boolean): string | HTMLDivElement | import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
forcebutton: boolean | undefined; forcebutton: boolean;
/** /**
* @param { string } str * @param { string } str
* @param { boolean } [center] * @param { boolean } [center]
*/ */
addText(str: string, center?: boolean | undefined): this; addText(str: string, center?: boolean): this;
addSmall(item: any, noclick: any): string | HTMLDivElement | import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; addSmall(item: any, noclick: any): string | HTMLDivElement | import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
addAuto(content: any): void; addAuto(content: any): void;
open(): this | undefined; open(): this;
_dragtransform: any; _dragtransform: any;
close(): this; close(): this;
/** /**

View File

@ -1,10 +1,10 @@
export class GameEvent { export class GameEvent {
static initialGameEvent(): GameEvent & import("./gameEventPromise.js").GameEventPromise; static initialGameEvent(): GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param {string | GameEvent} [name] * @param {string | GameEvent} [name]
* @param {false} [trigger] * @param {false} [trigger]
*/ */
constructor(name?: string | GameEvent | undefined, trigger?: false | undefined); constructor(name?: string | GameEvent, trigger?: false);
/** /**
* @type { string } * @type { string }
*/ */
@ -35,10 +35,14 @@ export class GameEvent {
**/ **/
async: boolean; async: boolean;
/** /**
* @type {null|(event: GameEvent)=>any} Promise的resolve函数 * @type {null|((event: GameEvent | PromiseLike<GameEvent>)=>void)} Promise的resolve函数
**/ **/
resolve: ((event: GameEvent) => any) | null; resolve: null | ((event: GameEvent | PromiseLike<GameEvent>) => void);
_triggered: number | undefined; /**
* @type {null|((value?: any) => void)} event.content的resolve形式
**/
resolveContent: null | ((value?: any) => void);
_triggered: number;
__args: any; __args: any;
/** /**
* @type { Player } * @type { Player }
@ -157,27 +161,47 @@ export class GameEvent {
*/ */
ai: Function | undefined; ai: Function | undefined;
/** /**
* @param {keyof this} key * @type { string }
* @param {number} [value]
* @param {number} [baseValue]
*/ */
addNumber(key: keyof this, value?: number | undefined, baseValue?: number | undefined): this; triggername: string;
/** /**
* @param {keyof this} key * @type { ContentFuncByAll | GeneratorContentFuncByAll | OldContentFuncByAll }
* @param {number} [baseValue]
*/ */
decrease(key: keyof this, baseValue?: number | undefined): this; content: ContentFuncByAll | GeneratorContentFuncByAll | OldContentFuncByAll;
/** /**
* @param {keyof this} key * @type { boolean }
* @param {number} [baseValue]
*/ */
increase(key: keyof this, baseValue?: number | undefined): this; forceDie: boolean;
/**
* @type { Function | undefined }
*/
_oncancel: Function | undefined;
/**
* @type { boolean }
*/
includeOut: boolean;
/** /**
* @param {keyof this} key * @param {keyof this} key
* @param {number} [value] * @param {number} [value]
* @param {number} [baseValue] * @param {number} [baseValue]
*/ */
subtractNumber(key: keyof this, value?: number | undefined, baseValue?: number | undefined): this; addNumber(key: keyof this, value?: number, baseValue?: number): this;
/**
* @param {keyof this} key
* @param {number} [baseValue]
*/
decrease(key: keyof this, baseValue?: number): this;
/**
* @param {keyof this} key
* @param {number} [baseValue]
*/
increase(key: keyof this, baseValue?: number): this;
/**
* @param {keyof this} key
* @param {number} [value]
* @param {number} [baseValue]
*/
subtractNumber(key: keyof this, value?: number, baseValue?: number): this;
/** /**
* @param {Parameters<typeof this.hasHandler>[0]} type * @param {Parameters<typeof this.hasHandler>[0]} type
* @param {GameEvent} event * @param {GameEvent} event
@ -189,7 +213,7 @@ export class GameEvent {
callHandler(type: Parameters<typeof this.hasHandler>[0], event: GameEvent, option: { callHandler(type: Parameters<typeof this.hasHandler>[0], event: GameEvent, option: {
state?: 'begin' | 'end'; state?: 'begin' | 'end';
}): this; }): this;
getDefaultHandlerType(): string | undefined; getDefaultHandlerType(): string;
/** /**
* @param {Parameters<typeof this.hasHandler>[0]} [type] * @param {Parameters<typeof this.hasHandler>[0]} [type]
* @returns {((event: GameEvent, option: { * @returns {((event: GameEvent, option: {
@ -202,7 +226,7 @@ export class GameEvent {
/** /**
* @param {`on${Capitalize<string>}`} [type] * @param {`on${Capitalize<string>}`} [type]
*/ */
hasHandler(type?: `on${Capitalize<string>}` | undefined): any; hasHandler(type?: `on${Capitalize<string>}`): any;
/** /**
* @overload * @overload
* @param {...((event: GameEvent, option: { * @param {...((event: GameEvent, option: {
@ -212,7 +236,7 @@ export class GameEvent {
*/ */
pushHandler(...handlers: ((event: GameEvent, option: { pushHandler(...handlers: ((event: GameEvent, option: {
state?: 'begin' | 'end'; state?: 'begin' | 'end';
}) => void)[] | undefined): number; }) => void)[][]): number;
/** /**
* @overload * @overload
* @param {Parameters<typeof this.hasHandler>[0]} type * @param {Parameters<typeof this.hasHandler>[0]} type
@ -223,24 +247,24 @@ export class GameEvent {
*/ */
pushHandler(type: Parameters<typeof this.hasHandler>[0], ...handlers: ((event: GameEvent, option: { pushHandler(type: Parameters<typeof this.hasHandler>[0], ...handlers: ((event: GameEvent, option: {
state?: 'begin' | 'end'; state?: 'begin' | 'end';
}) => void)[] | undefined): number; }) => void)[][]): number;
changeToZero(): this; changeToZero(): this;
numFixed: boolean | undefined; numFixed: boolean;
finish(): this; finish(): this;
putStepCache(key: any, value: any): this; putStepCache(key: any, value: any): this;
_stepCache: {} | undefined; _stepCache: {};
getStepCache(key: any): any; getStepCache(key: any): any;
clearStepCache(key: any): this; clearStepCache(key: any): this;
callFuncUseStepCache(prefix: any, func: any, params: any): any; callFuncUseStepCache(prefix: any, func: any, params: any): any;
putTempCache(key1: any, key2: any, value: any): any; putTempCache(key1: any, key2: any, value: any): any;
_tempCache: {} | undefined; _tempCache: {};
getTempCache(key1: any, key2: any): any; getTempCache(key1: any, key2: any): any;
cancel(arg1: any, arg2: any, notrigger: any): (GameEvent & import("./gameEventPromise.js").GameEventPromise) | null | undefined; cancel(arg1: any, arg2: any, notrigger: any): GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
neutralize(event: any): this; neutralize(event: any): this;
_neutralized: boolean | undefined; _neutralized: boolean;
_neutralize_event: any; _neutralize_event: any;
unneutralize(): this; unneutralize(): this;
directHit: boolean | undefined; directHit: boolean;
goto(step: any): this; goto(step: any): this;
redo(): this; redo(): this;
setHiddenSkill(skill: any): this; setHiddenSkill(skill: any): this;
@ -249,14 +273,13 @@ export class GameEvent {
* @param {ArrayLike<Function> | Function | keyof typeof lib.element.content} item * @param {ArrayLike<Function> | Function | keyof typeof lib.element.content} item
*/ */
setContent(item: ArrayLike<Function> | Function | keyof typeof lib.element.content): this; setContent(item: ArrayLike<Function> | Function | keyof typeof lib.element.content): this;
content: any;
/** /**
* *
* @param {Function | keyof typeof lib.element.contents} contents * @param {Function | keyof typeof lib.element.contents} contents
* @returns {GameEvent} * @returns {GameEvent}
*/ */
setContents(contents: Function | keyof typeof lib.element.contents): GameEvent; setContents(contents: Function | keyof typeof lib.element.contents): GameEvent;
contents: ((string | number | Function) & any[]) | undefined; contents: (string | number | Function) & any[];
getLogv(): any; getLogv(): any;
send(): this; send(): this;
resume(): this; resume(): this;
@ -269,20 +292,20 @@ export class GameEvent {
* @param {boolean} [includeSelf] level不是数字 * @param {boolean} [includeSelf] level不是数字
* @returns {GameEvent|{}|null} * @returns {GameEvent|{}|null}
*/ */
getParent(level?: string | number | ((evt: GameEvent) => boolean) | undefined, forced?: boolean | undefined, includeSelf?: boolean | undefined): GameEvent | {} | null; getParent(level?: number | string | ((evt: GameEvent) => boolean), forced?: boolean, includeSelf?: boolean): GameEvent | {} | null;
getTrigger(): any; getTrigger(): any;
getRand(name: any): any; getRand(name: any): any;
_rand_map: {} | undefined; _rand_map: {};
_rand: number | undefined; _rand: number;
insert(content: any, map: any): GameEvent & import("./gameEventPromise.js").GameEventPromise; insert(content: any, map: any): GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
insertAfter(content: any, map: any): GameEvent & import("./gameEventPromise.js").GameEventPromise; insertAfter(content: any, map: any): GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
backup(skill: any): this; backup(skill: any): this;
_backup: any; _backup: any;
filterButton: any; filterButton: any;
selectButton: any; selectButton: any;
filterTarget: any; filterTarget: any;
selectTarget: any; selectTarget: any;
ignoreMod: boolean | undefined; ignoreMod: boolean;
filterCard2: any; filterCard2: any;
filterCard: any; filterCard: any;
filterOk: any; filterOk: any;
@ -305,12 +328,12 @@ export class GameEvent {
isPhaseUsing(player: any): boolean; isPhaseUsing(player: any): boolean;
addTrigger(skills: any, player: any): this; addTrigger(skills: any, player: any): this;
removeTrigger(skills: any, player: any): this; removeTrigger(skills: any, player: any): this;
trigger(name: any): (GameEvent & import("./gameEventPromise.js").GameEventPromise) | null | undefined; trigger(name: any): GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
untrigger(all: boolean | undefined, player: any): this; untrigger(all: boolean, player: any): this;
/** /**
* Promise化 * Promise化
*/ */
toPromise(): this & import("./gameEventPromise.js").GameEventPromise; toPromise(): this & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
#private; #private;
} }
import { lib } from "../index.js"; import { lib } from "../index.js";

View File

@ -23,11 +23,11 @@
*/ */
export class GameEventPromise extends Promise<import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent> { export class GameEventPromise extends Promise<import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent> {
/** /**
* @param { import('./gameEvent.js').GameEvent } arg * @param { GameEvent } arg
*/ */
constructor(arg: import('./gameEvent.js').GameEvent); constructor(arg: GameEvent);
/** 获取原事件对象 */ /** 获取原事件对象 */
toEvent(): import("./gameEvent.js").GameEvent; toEvent(): import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent;
/** /**
* *
* *

View File

@ -10,3 +10,4 @@ export { GameEventPromise } from "./gameEventPromise.js";
export { NodeWS } from "./nodeWS.js"; export { NodeWS } from "./nodeWS.js";
export { Player } from "./player.js"; export { Player } from "./player.js";
export { VCard } from "./vcard.js"; export { VCard } from "./vcard.js";
export { Character } from "./character.js";

View File

@ -3,7 +3,7 @@ export class NodeWS {
* @param {string | NodeWS} id * @param {string | NodeWS} id
*/ */
constructor(id: string | NodeWS); constructor(id: string | NodeWS);
wsid: string | undefined; wsid: string;
send(message: any): void; send(message: any): void;
on(type: any, func: any): void; on(type: any, func: any): void;
close(): void; close(): void;

View File

@ -2,7 +2,7 @@ export class Player extends HTMLDivElement {
/** /**
* @param {HTMLDivElement|DocumentFragment} [position] * @param {HTMLDivElement|DocumentFragment} [position]
*/ */
constructor(position?: HTMLDivElement | DocumentFragment | undefined); constructor(position?: HTMLDivElement | DocumentFragment);
build(noclick: any): this; build(noclick: any): this;
buildNode(): void; buildNode(): void;
/** @type { SMap<HTMLDivElement> } */ /** @type { SMap<HTMLDivElement> } */
@ -125,7 +125,7 @@ export class Player extends HTMLDivElement {
*/ */
outCount: number; outCount: number;
buildEventListener(noclick: any): void; buildEventListener(noclick: any): void;
noclick: boolean | undefined; noclick: boolean;
/** /**
* @type { number } * @type { number }
*/ */
@ -202,12 +202,16 @@ export class Player extends HTMLDivElement {
* @type { boolean | undefined } * @type { boolean | undefined }
*/ */
identityShown: boolean | undefined; identityShown: boolean | undefined;
/**
* @type { boolean }
*/
removed: boolean;
/** /**
* *
* @param { number } amount * @param { number } amount
* @param { boolean } [limit] * @param { boolean } [limit]
*/ */
changeFury(amount: number, limit?: boolean | undefined): void; changeFury(amount: number, limit?: boolean): void;
/** /**
* version 1.7 * version 1.7
* *
@ -284,8 +288,8 @@ export class Player extends HTMLDivElement {
/** /**
* *
*/ */
addShownCards(...args: any[]): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; addShownCards(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
hideShownCards(...args: any[]): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; hideShownCards(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* *
*/ */
@ -295,24 +299,24 @@ export class Player extends HTMLDivElement {
* @param { Player } [other] * @param { Player } [other]
* @param { (card: Card) => boolean } [filter] * @param { (card: Card) => boolean } [filter]
*/ */
getKnownCards(other?: Player | undefined, filter?: ((card: Card) => boolean) | undefined): import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; getKnownCards(other?: Player, filter?: (card: Card) => boolean): import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
/** /**
* *
* @param { Player } [other] * @param { Player } [other]
*/ */
isAllCardsKnown(other?: Player | undefined): boolean; isAllCardsKnown(other?: Player): boolean;
/** /**
* *
* @param { Player } [other] * @param { Player } [other]
* @param { (card: Card) => boolean } [filter] * @param { (card: Card) => boolean } [filter]
*/ */
hasKnownCards(other?: Player | undefined, filter?: ((card: Card) => boolean) | undefined): boolean; hasKnownCards(other?: Player, filter?: (card: Card) => boolean): boolean;
/** /**
* *
* @param { Player } [other] * @param { Player } [other]
* @param { (card: Card) => boolean } [filter] * @param { (card: Card) => boolean } [filter]
*/ */
countKnownCards(other?: Player | undefined, filter?: ((card: Card) => boolean) | undefined): number; countKnownCards(other?: Player, filter?: (card: Card) => boolean): number;
/** /**
* Execute the delay card effect * Execute the delay card effect
* *
@ -323,7 +327,7 @@ export class Player extends HTMLDivElement {
* @param {*} judge2 * @param {*} judge2
* @returns * @returns
*/ */
executeDelayCardEffect(card: Card | string, target: Player, judge: any, judge2: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; executeDelayCardEffect(card: Card | string, target: Player, judge: any, judge2: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* Check if the card does not count toward hand limit * Check if the card does not count toward hand limit
* *
@ -338,7 +342,7 @@ export class Player extends HTMLDivElement {
* @param { Card | Card[] } cards * @param { Card | Card[] } cards
* @param { Player } target * @param { Player } target
*/ */
gift(cards: Card | Card[], target: Player, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; gift(cards: Card | Card[], target: Player, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* Check if the player can gift the card * Check if the player can gift the card
* *
@ -347,7 +351,7 @@ export class Player extends HTMLDivElement {
* @param { Player } target * @param { Player } target
* @param { boolean } [strict] * @param { boolean } [strict]
*/ */
canGift(card: Card, target: Player, strict?: boolean | undefined): boolean; canGift(card: Card, target: Player, strict?: boolean): boolean;
/** /**
* Check if the player refuses gifts * Check if the player refuses gifts
* *
@ -375,7 +379,7 @@ export class Player extends HTMLDivElement {
* @param { (player: Player, cards: Card[]) => any } [recastingLose] * @param { (player: Player, cards: Card[]) => any } [recastingLose]
* @param { (player: Player, cards: Card[]) => any } [recastingGain] * @param { (player: Player, cards: Card[]) => any } [recastingGain]
*/ */
recast(cards: Card | Card[], recastingLose?: ((player: Player, cards: Card[]) => any) | undefined, recastingGain?: ((player: Player, cards: Card[]) => any) | undefined, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; recast(cards: Card | Card[], recastingLose?: (player: Player, cards: Card[]) => any, recastingGain?: (player: Player, cards: Card[]) => any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* Check if the player can recast the card * Check if the player can recast the card
* *
@ -384,7 +388,7 @@ export class Player extends HTMLDivElement {
* @param { Player } [source] * @param { Player } [source]
* @param { boolean } [strict] * @param { boolean } [strict]
*/ */
canRecast(card: Card, source?: Player | undefined, strict?: boolean | undefined): boolean; canRecast(card: Card, source?: Player, strict?: boolean): boolean;
/** /**
* *
* *
@ -392,39 +396,39 @@ export class Player extends HTMLDivElement {
* @param { string | number } [type] * @param { string | number } [type]
* @returns { boolean } * @returns { boolean }
*/ */
hasDisabledSlot(type?: string | number | undefined): boolean; hasDisabledSlot(type?: string | number): boolean;
/** /**
* *
* *
* {@link hasDisabledSlot} * {@link hasDisabledSlot}
* @param { string | number } [type] * @param { string | number } [type]
*/ */
countDisabledSlot(type?: string | number | undefined): number; countDisabledSlot(type?: string | number): number;
/** /**
* *
* @param { string | number } [type] * @param { string | number } [type]
* @returns { boolean } * @returns { boolean }
*/ */
hasEmptySlot(type?: string | number | undefined): boolean; hasEmptySlot(type?: string | number): boolean;
/** /**
* *
* @param { string | number } [type] * @param { string | number } [type]
*/ */
countEmptySlot(type?: string | number | undefined): number; countEmptySlot(type?: string | number): number;
/** /**
* *
* *
* {@link hasEnabledSlot} * {@link hasEnabledSlot}
* @param { string | number } [type] * @param { string | number } [type]
*/ */
hasEquipableSlot(type?: string | number | undefined): boolean; hasEquipableSlot(type?: string | number): boolean;
/** /**
* *
* *
* {@link hasEnabledSlot} * {@link hasEnabledSlot}
* @param { string | number } [type] * @param { string | number } [type]
*/ */
countEquipableSlot(type?: string | number | undefined): number; countEquipableSlot(type?: string | number): number;
/** /**
* *
* *
@ -432,14 +436,14 @@ export class Player extends HTMLDivElement {
* @param { string | number } [type] * @param { string | number } [type]
* @returns { boolean } * @returns { boolean }
*/ */
hasEnabledSlot(type?: string | number | undefined): boolean; hasEnabledSlot(type?: string | number): boolean;
/** /**
* *
* *
* {@link hasEnabledSlot} * {@link hasEnabledSlot}
* @param { string | number } [type] * @param { string | number } [type]
*/ */
countEnabledSlot(type?: string | number | undefined): number; countEnabledSlot(type?: string | number): number;
/** /**
* *
* *
@ -453,19 +457,19 @@ export class Player extends HTMLDivElement {
* *
* // * //
*/ */
disableEquip(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; disableEquip(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* *
* *
* // * //
*/ */
enableEquip(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; enableEquip(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* *
* *
* // * //
*/ */
expandEquip(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; expandEquip(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* *
*/ */
@ -474,18 +478,18 @@ export class Player extends HTMLDivElement {
* *
* @param { SMap<number> } [map] * @param { SMap<number> } [map]
*/ */
$syncExpand(map?: SMap<number> | undefined): void; $syncExpand(map?: SMap<number>): void;
/** /**
* *
* @param { SMap<number> } [map] * @param { SMap<number> } [map]
*/ */
$syncDisable(map?: SMap<number> | undefined): void; $syncDisable(map?: SMap<number>): void;
/** /**
* @param { string | Card | VCard | CardBaseUIData } name * @param { string | Card | VCard | CardBaseUIData } name
* @param { boolean } [replace] * @param { boolean } [replace]
* @returns * @returns
*/ */
canEquip(name: string | Card | VCard | CardBaseUIData, replace?: boolean | undefined): boolean; canEquip(name: string | Card | VCard | CardBaseUIData, replace?: boolean): boolean;
/** /**
* @deprecated * @deprecated
*/ */
@ -506,7 +510,7 @@ export class Player extends HTMLDivElement {
* @deprecated * @deprecated
*/ */
$enableEquip(): void; $enableEquip(): void;
chooseToDebate(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToDebate(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* target发起协力 * target发起协力
* @param { Player } target * @param { Player } target
@ -514,12 +518,18 @@ export class Player extends HTMLDivElement {
* @param {*} reason * @param {*} reason
*/ */
cooperationWith(target: Player, type: string, reason: any): void; cooperationWith(target: Player, type: string, reason: any): void;
chooseCooperationFor(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseCooperationFor(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
checkCooperationStatus(target: any, reason: any): boolean; checkCooperationStatus(target: any, reason: any): boolean;
removeCooperation(info: any): void; removeCooperation(info: any): void;
/**
* @param { boolean } unseen
* @returns { string[] }
*/
getClans(unseen: boolean): string[];
/** /**
* @param { string } clan * @param { string } clan
* @param { boolean } unseen * @param { boolean } unseen
* @returns { boolean }
*/ */
hasClan(clan: string, unseen: boolean): boolean; hasClan(clan: string, unseen: boolean): boolean;
/** /**
@ -558,7 +568,7 @@ export class Player extends HTMLDivElement {
* @param { string } skill * @param { string } skill
*/ */
removeSkillBlocker(skill: string): void; removeSkillBlocker(skill: string): void;
loseToSpecial(cards: any, tag: any, target: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; loseToSpecial(cards: any, tag: any, target: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { Card | Card[] } cards * @param { Card | Card[] } cards
* @param { string } tag * @param { string } tag
@ -568,7 +578,7 @@ export class Player extends HTMLDivElement {
* @param { string } tag * @param { string } tag
* @param { Card[] } [cards] * @param { Card[] } [cards]
*/ */
removeGaintag(tag: string, cards?: import("noname-typings/nonameModules/noname/library/element/card.js").Card[] | undefined): void; removeGaintag(tag: string, cards?: Card[]): void;
/** /**
* @param { Player } target * @param { Player } target
*/ */
@ -593,15 +603,15 @@ export class Player extends HTMLDivElement {
* @param { 0 | 1 | 2 } num * @param { 0 | 1 | 2 } num
* @param { false } [log] * @param { false } [log]
*/ */
showCharacter(num: 0 | 1 | 2, log?: false | undefined, ...args: any[]): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; showCharacter(num: 0 | 1 | 2, log?: false, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { 0 | 1 | 2 } num * @param { 0 | 1 | 2 } num
* @param { false } [log] * @param { false } [log]
*/ */
$showCharacter(num: 0 | 1 | 2, log?: false | undefined): void; $showCharacter(num: 0 | 1 | 2, log?: false): void;
chooseToPlayBeatmap(beatmap: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToPlayBeatmap(beatmap: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToMove(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToMove(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToGuanxing(num: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToGuanxing(num: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { Player } target * @param { Player } target
* @param { string } name * @param { string } name
@ -624,7 +634,7 @@ export class Player extends HTMLDivElement {
* @param { string } [nature] * @param { string } [nature]
* @param { string } [popname] * @param { string } [popname]
*/ */
tryCardAnimate(card: Card, name: string, nature?: string | undefined, popname?: string | undefined, ...args: any[]): void; tryCardAnimate(card: Card, name: string, nature?: string, popname?: string, ...args: any[]): void;
/** /**
* @param { string } name * @param { string } name
* @param { string } type * @param { string } type
@ -647,7 +657,7 @@ export class Player extends HTMLDivElement {
* *
* @param { boolean } [raw] * @param { boolean } [raw]
*/ */
getHp(raw?: boolean | undefined): number; getHp(raw?: boolean): number;
/** /**
* Set raw to true to get the player's raw damaged HP instead. * Set raw to true to get the player's raw damaged HP instead.
* *
@ -655,45 +665,45 @@ export class Player extends HTMLDivElement {
* *
* @param { boolean } [raw] * @param { boolean } [raw]
*/ */
getDamagedHp(raw?: boolean | undefined): number; getDamagedHp(raw?: boolean): number;
/** /**
* @param { string } group * @param { string } group
*/ */
changeGroup(group: string, log: any, broadcast: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; changeGroup(group: string, log: any, broadcast: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { Player } target * @param { Player } target
*/ */
chooseToDuiben(target: Player): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToDuiben(target: Player): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { Player } target * @param { Player } target
*/ */
chooseToPSS(target: Player): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToPSS(target: Player): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToEnable(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToEnable(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToDisable(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToDisable(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { boolean } [notmeisok] * @param { boolean } [notmeisok]
*/ */
isPhaseUsing(notmeisok?: boolean | undefined): boolean; isPhaseUsing(notmeisok?: boolean): boolean;
/** /**
* @param { Player } target * @param { Player } target
*/ */
swapEquip(target: Player): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; swapEquip(target: Player): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { Player } target * @param { Player } target
* @param { boolean } [goon] * @param { boolean } [goon]
* @param { boolean} [bool] * @param { boolean} [bool]
*/ */
canCompare(target: Player, goon?: boolean | undefined, bool?: boolean | undefined): boolean; canCompare(target: Player, goon?: boolean, bool?: boolean): boolean;
$disableJudge(): void; $disableJudge(): void;
$enableJudge(): void; $enableJudge(): void;
disableJudge(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; disableJudge(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
enableJudge(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; enableJudge(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
init(character: any, character2: any, skill: any, update: any): this | undefined; init(character: any, character2: any, skill: any, update: any): this;
skin: { skin: {
name: any; name: any;
name2: any; name2: any;
} | undefined; };
singleHp: boolean | undefined; singleHp: boolean;
$init(character: any, character2: any): this; $init(character: any, character2: any): this;
/** /**
* lib.character.characterSubstitute中存在该武将的idname代指武将idcharacter代指换肤图片名 * lib.character.characterSubstitute中存在该武将的idname代指武将idcharacter代指换肤图片名
@ -712,17 +722,17 @@ export class Player extends HTMLDivElement {
avatar: any; avatar: any;
uninitOL(): void; uninitOL(): void;
initRoom(info: any, info2: any): this; initRoom(info: any, info2: any): this;
serving: boolean | undefined; serving: boolean;
roomempty: boolean | undefined; roomempty: boolean;
roomfull: boolean | undefined; roomfull: boolean;
roomgaming: boolean | undefined; roomgaming: boolean;
version: any; version: any;
key: any; key: any;
config: any; config: any;
reinit2(newPairs: any): void; reinit2(newPairs: any): void;
$reinit12(newPairs: any): void; $reinit12(newPairs: any): void;
$reinit21(newPairs: any): void; $reinit21(newPairs: any): void;
reinit(from: any, to: any, maxHp: any, online: any): this | undefined; reinit(from: any, to: any, maxHp: any, online: any): this;
$reinit(from: any, to: any, maxHp: any, online: any): void; $reinit(from: any, to: any, maxHp: any, online: any): void;
uninit(): this; uninit(): this;
$uninit(): void; $uninit(): void;
@ -732,13 +742,13 @@ export class Player extends HTMLDivElement {
changeSeat(position: any, video: any): void; changeSeat(position: any, video: any): void;
send(...args: any[]): this; send(...args: any[]): this;
getId(): this; getId(): this;
playerid: string | undefined; playerid: string;
throwEmotion(target: any, emotion: any, rotate: any): void; throwEmotion(target: any, emotion: any, rotate: any): void;
emotion(pack: any, id: any): void; emotion(pack: any, id: any): void;
chat(str: any): void; chat(str: any): void;
say(str: any): void; say(str: any): void;
showGiveup(): void; showGiveup(): void;
_giveUp: boolean | undefined; _giveUp: boolean;
applySkills(skills: any): void; applySkills(skills: any): void;
getState(): { getState(): {
hp: number; hp: number;
@ -750,21 +760,21 @@ export class Player extends HTMLDivElement {
name1: string; name1: string;
name2: string; name2: string;
handcards: import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; handcards: import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
gaintag: never[]; gaintag: any[];
equips: import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; equips: import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
judges: import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; judges: import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
specials: import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; specials: import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
expansions: import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; expansions: import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
expansion_gaintag: never[]; expansion_gaintag: any[];
disableJudge: boolean; disableJudge: boolean;
disabledSlots: SMap<number>; disabledSlots: SMap<number>;
expandedSlots: SMap<number>; expandedSlots: SMap<number>;
views: never[]; views: any[];
position: number; position: number;
hujia: number; hujia: number;
side: any; side: any;
identityShown: boolean | undefined; identityShown: boolean;
identityNode: (string | undefined)[]; identityNode: string[];
identity: string; identity: string;
dead: boolean; dead: boolean;
linked: boolean; linked: boolean;
@ -796,8 +806,8 @@ export class Player extends HTMLDivElement {
num(arg1: any, arg2: any, arg3: any): any; num(arg1: any, arg2: any, arg3: any): any;
line(target: any, config: any): void; line(target: any, config: any): void;
line2(targets: any, config: any): void; line2(targets: any, config: any): void;
getNext(): this | null; getNext(): this;
getPrevious(): this | null; getPrevious(): this;
countUsed(card: any, type: any): number; countUsed(card: any, type: any): number;
getCacheKey(): string; getCacheKey(): string;
countSkill(skill: any): any; countSkill(skill: any): any;
@ -813,34 +823,40 @@ export class Player extends HTMLDivElement {
* @param { string | Record<string, any> | ((card: Card) => boolean) } [arg2] * @param { string | Record<string, any> | ((card: Card) => boolean) } [arg2]
* @returns { Iterable<Card> } * @returns { Iterable<Card> }
*/ */
iterableGetCards(arg1?: string | undefined, arg2?: string | Record<string, any> | ((card: Card) => boolean) | undefined): Iterable<Card>; iterableGetCards(arg1?: string, arg2?: string | Record<string, any> | ((card: Card) => boolean)): Iterable<Card>;
/** /**
* @param { string } [arg1='h'] * @param { string } [arg1='h']
* @param { string | Record<string, any> | ((card: Card) => boolean) } [arg2] * @param { string | Record<string, any> | ((card: Card) => boolean) } [arg2]
* @returns { Card[] } * @returns { Card[] }
*/ */
getCards(arg1?: string | undefined, arg2?: string | Record<string, any> | ((card: Card) => boolean) | undefined): Card[]; getCards(arg1?: string, arg2?: string | Record<string, any> | ((card: Card) => boolean)): Card[];
iterableGetDiscardableCards(player: any, arg1: any, arg2: any): Generator<import("noname-typings/nonameModules/noname/library/element/card.js").Card, void, unknown>; /**
* @param { Player } player
* @param { string } [arg1]
* @param { string } [arg2]
* @returns { Generator<Card, void, unknown> }
*/
iterableGetDiscardableCards(player: Player, arg1?: string, arg2?: string): Generator<Card, void, unknown>;
getDiscardableCards(player: any, arg1: any, arg2: any): import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; getDiscardableCards(player: any, arg1: any, arg2: any): import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
/** /**
* @param {Parameters<lib['filter']['canBeGained']>[1]} player * @param {Parameters<lib['filter']['canBeGained']>[1]} player
* @param {Parameters<this['iterableGetCards']>[0]} arg1 * @param {Parameters<this['iterableGetCards']>[0]} arg1
* @param {Parameters<this['iterableGetCards']>[1]} arg2 * @param {Parameters<this['iterableGetCards']>[1]} arg2
*/ */
iterableGetGainableCards(player: [card?: any, player?: any, target?: any, event?: any][1], arg1: Parameters<this['iterableGetCards']>[0], arg2: Parameters<this['iterableGetCards']>[1]): Generator<import("noname-typings/nonameModules/noname/library/element/card.js").Card, void, unknown>; iterableGetGainableCards(player: [card?: any, player?: any, target?: any, event?: any][1], arg1: Parameters<this['iterableGetCards']>[0], arg2: Parameters<this['iterableGetCards']>[1]): Generator<any, void, unknown>;
/** /**
* *
* @param {Parameters<this['iterableGetGainableCards']>[0]} player * @param {Parameters<this['iterableGetGainableCards']>[0]} player
* @param {Parameters<this['iterableGetGainableCards']>[1]} [arg1] * @param {Parameters<this['iterableGetGainableCards']>[1]} [arg1]
* @param {Parameters<this['iterableGetGainableCards']>[2]} [arg2] * @param {Parameters<this['iterableGetGainableCards']>[2]} [arg2]
*/ */
getGainableCards(player: Parameters<this['iterableGetGainableCards']>[0], arg1?: Parameters<this["iterableGetGainableCards"]>[1] | undefined, arg2?: Parameters<this["iterableGetGainableCards"]>[2] | undefined): import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; getGainableCards(player: Parameters<this['iterableGetGainableCards']>[0], arg1?: Parameters<this['iterableGetGainableCards']>[1], arg2?: Parameters<this['iterableGetGainableCards']>[2]): any[];
getGainableSkills(func: any): any[]; getGainableSkills(func: any): any[];
/** /**
* @param { Parameters<typeof this['iterableGetCards']>[0] } [arg1] * @param { Parameters<typeof this['iterableGetCards']>[0] } [arg1]
* @param { Parameters<typeof this['iterableGetCards']>[1] } [arg2] * @param { Parameters<typeof this['iterableGetCards']>[1] } [arg2]
*/ */
countCards(arg1?: Parameters<this["iterableGetCards"]>[0] | undefined, arg2?: Parameters<this["iterableGetCards"]>[1] | undefined): number; countCards(arg1?: Parameters<typeof this['iterableGetCards']>[0], arg2?: Parameters<typeof this['iterableGetCards']>[1]): number;
getCardIndex(arg1: any, name: any, card: any, max: any): number; getCardIndex(arg1: any, name: any, card: any, max: any): number;
countDiscardableCards(player: any, arg1: any, arg2: any): number; countDiscardableCards(player: any, arg1: any, arg2: any): number;
/** /**
@ -848,7 +864,7 @@ export class Player extends HTMLDivElement {
* @param {Parameters<this['getGainableCards']>[1]} [arg1] * @param {Parameters<this['getGainableCards']>[1]} [arg1]
* @param {Parameters<this['getGainableCards']>[2]} [arg2] * @param {Parameters<this['getGainableCards']>[2]} [arg2]
*/ */
countGainableCards(player: Parameters<this['getGainableCards']>[0], arg1?: Parameters<this["getGainableCards"]>[1] | undefined, arg2?: Parameters<this["getGainableCards"]>[2] | undefined): number; countGainableCards(player: Parameters<this['getGainableCards']>[0], arg1?: Parameters<this['getGainableCards']>[1], arg2?: Parameters<this['getGainableCards']>[2]): number;
getOriginalSkills(): any[]; getOriginalSkills(): any[];
getModableSkills(): any[]; getModableSkills(): any[];
/** /**
@ -856,61 +872,61 @@ export class Player extends HTMLDivElement {
* @param { boolean | null} [arg3] * @param { boolean | null} [arg3]
* @param {boolean} [arg4] * @param {boolean} [arg4]
*/ */
getSkills(arg2?: string | boolean | null | undefined, arg3?: boolean | null | undefined, arg4?: boolean | undefined): any[]; getSkills(arg2?: string | boolean | null, arg3?: boolean | null, arg4?: boolean): any[];
get(arg1: any, arg2: any, arg3: any, arg4: any, ...args: any[]): any[] | ChildNode | undefined; get(arg1: any, arg2: any, arg3: any, arg4: any, ...args: any[]): any[] | ChildNode;
syncStorage(skill: any): void; syncStorage(skill: any): void;
syncSkills(): void; syncSkills(): void;
playerfocus(time: any): this; playerfocus(time: any): this;
setIdentity(identity: any, nature: any): this; setIdentity(identity: any, nature: any): this;
insertPhase(skill: any, insert: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; insertPhase(skill: any, insert: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
insertEvent(name: any, content: any, arg: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; insertEvent(name: any, content: any, arg: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phase(skill: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phase(skill: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phaseZhunbei(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phaseZhunbei(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phaseJudge(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phaseJudge(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phaseDraw(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phaseDraw(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phaseUse(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phaseUse(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phaseDiscard(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phaseDiscard(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
phaseJieshu(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; phaseJieshu(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToUse(use: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToUse(use: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToRespond(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToRespond(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToGive(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToGive(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToDiscard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToDiscard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseToCompare(target: any, check: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseToCompare(target: any, check: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseSkill(target: any, ...args: any[]): void; chooseSkill(target: any, ...args: any[]): void;
discoverCard(list: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; discoverCard(list: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseCardButton(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseCardButton(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseVCardButton(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseVCardButton(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseButton(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseButton(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseButtonOL(list: any, callback: any, ai: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseButtonOL(list: any, callback: any, ai: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseCardOL(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseCardOL(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseCard(choose: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseCard(choose: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseUseTarget(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseUseTarget(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseTarget(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseTarget(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseCardTarget(choose: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseCardTarget(choose: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseControlList(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseControlList(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseControl(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseControl(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseBool(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseBool(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
chooseDrawRecover(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; chooseDrawRecover(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
choosePlayerCard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; choosePlayerCard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
discardPlayerCard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; discardPlayerCard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
gainPlayerCard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; gainPlayerCard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
showHandcards(str: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; showHandcards(str: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
showCards(cards: any, str: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; showCards(cards: any, str: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
viewCards(str: any, cards: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; viewCards(str: any, cards: any, ...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
viewHandcards(target: any): false | (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise); viewHandcards(target: any): false | (import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise);
canMoveCard(withatt: any, nojudge: any, ...args: any[]): boolean; canMoveCard(withatt: any, nojudge: any, ...args: any[]): boolean;
moveCard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; moveCard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
useResult(result: any, event: any): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; useResult(result: any, event: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
useCard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; useCard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
useSkill(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; useSkill(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
drawTo(num: any, args: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; drawTo(num: any, args: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
draw(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; draw(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
randomDiscard(...args: any[]): import("noname-typings/nonameModules/noname/library/element/card.js").Card[]; randomDiscard(...args: any[]): import("noname-typings/nonameModules/noname/library/element/card.js").Card[];
randomGain(...args: any[]): any; randomGain(...args: any[]): any;
discard(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; discard(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
loseToDiscardpile(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; loseToDiscardpile(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
respond(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; respond(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
swapHandcards(target: any, cards1: any, cards2: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; swapHandcards(target: any, cards1: any, cards2: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
directequip(cards: any): void; directequip(cards: any): void;
$addToExpansion(cards: any, broadcast: any, gaintag: any): this; $addToExpansion(cards: any, broadcast: any, gaintag: any): this;
directgain(cards: any, broadcast: any, gaintag: any): this; directgain(cards: any, broadcast: any, gaintag: any): this;
@ -920,52 +936,52 @@ export class Player extends HTMLDivElement {
* @param { Player[] } targets * @param { Player[] } targets
* @param { string } [position] * @param { string } [position]
*/ */
gainMultiple(targets: Player[], position?: string | undefined): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; gainMultiple(targets: Player[], position?: string): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
gain(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; gain(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
addToExpansion(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; addToExpansion(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* *
* @param { Card | Card[] } cards * @param { Card | Card[] } cards
* @param { Player } target * @param { Player } target
* @param { boolean } [visible] * @param { boolean } [visible]
*/ */
give(cards: Card | Card[], target: Player, visible?: boolean | undefined): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; give(cards: Card | Card[], target: Player, visible?: boolean): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
lose(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; lose(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
damage(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; damage(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
recover(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; recover(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
recoverTo(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; recoverTo(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
doubleDraw(): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; doubleDraw(): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @param { number } [num] * @param { number } [num]
*/ */
loseHp(num?: number | undefined): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; loseHp(num?: number): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
loseMaxHp(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; loseMaxHp(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
gainMaxHp(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; gainMaxHp(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
changeHp(num: any, popup: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; changeHp(num: any, popup: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
changeHujia(num: any, type: any, limit: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; changeHujia(num: any, type: any, limit: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
getBuff(...args: any[]): this; getBuff(...args: any[]): this;
getDebuff(...args: any[]): this; getDebuff(...args: any[]): this;
dying(reason: any): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; dying(reason: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
die(reason: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; die(reason: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
revive(hp: any, log: any): void; revive(hp: any, log: any): void;
isMad(): boolean; isMad(): boolean;
goMad(end: any): void; goMad(end: any): void;
unMad(): void; unMad(): void;
tempHide(): void; tempHide(): void;
addExpose(num: any): this; addExpose(num: any): this;
equip(card: any, draw: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; equip(card: any, draw: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
addJudge(card: any, cards: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; addJudge(card: any, cards: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @returns { boolean } * @returns { boolean }
*/ */
canAddJudge(card: any): boolean; canAddJudge(card: any): boolean;
addJudgeNext(card: any, unlimited: any): void; addJudgeNext(card: any, unlimited: any): void;
judge(...args: any[]): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; judge(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
turnOver(bool: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; turnOver(bool: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
out(skill: any): void; out(skill: any): void;
outSkills: any[] | undefined; outSkills: any[];
in(skill: any): void; in(skill: any): void;
link(bool: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; link(bool: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
skip(name: any): void; skip(name: any): void;
wait(callback: any): void; wait(callback: any): void;
unwait(result: any): void; unwait(result: any): void;
@ -976,7 +992,7 @@ export class Player extends HTMLDivElement {
* @param { boolean | string } [nature] * @param { boolean | string } [nature]
* @param { boolean } [logv] * @param { boolean } [logv]
*/ */
logSkill(name: string | string[], targets?: Player | Player[] | undefined, nature?: string | boolean | undefined, logv?: boolean | undefined): void; logSkill(name: string | string[], targets?: Player | Player[], nature?: boolean | string, logv?: boolean): void;
unprompt(): void; unprompt(): void;
prompt(str: any, nature: any): void; prompt(str: any, nature: any): void;
prompt_old(name2: any, className: any): void; prompt_old(name2: any, className: any): void;
@ -986,7 +1002,7 @@ export class Player extends HTMLDivElement {
* @param { string } className * @param { string } className
* @param { Parameters<this["damagepop"]>[3] } [nobroadcast] * @param { Parameters<this["damagepop"]>[3] } [nobroadcast]
*/ */
popup(name: string, className?: string, nobroadcast?: Parameters<this["damagepop"]>[3] | undefined): void; popup(name: string, className?: string, nobroadcast?: Parameters<this["damagepop"]>[3]): void;
popup_old(name: any, className: any): HTMLDivElement; popup_old(name: any, className: any): HTMLDivElement;
_popup(): void; _popup(): void;
showTimer(time: any): void; showTimer(time: any): void;
@ -1008,7 +1024,7 @@ export class Player extends HTMLDivElement {
markSkill(name: any, info: any, card: any, nobroadcast: any): this; markSkill(name: any, info: any, card: any, nobroadcast: any): this;
unmarkSkill(name: any, nobroadcast: any): this; unmarkSkill(name: any, nobroadcast: any): this;
markSkillCharacter(id: any, target: any, name: any, content: any, nobroadcast: any): this; markSkillCharacter(id: any, target: any, name: any, content: any, nobroadcast: any): this;
markCharacter(name: any, info: any, learn: any, learn2: any): HTMLDivElement | undefined; markCharacter(name: any, info: any, learn: any, learn2: any): HTMLDivElement;
mark(name: any, info: any, skill: any): any; mark(name: any, info: any, skill: any): any;
unmark(name: any, info: any): void; unmark(name: any, info: any): void;
addLink(): void; addLink(): void;
@ -1020,32 +1036,32 @@ export class Player extends HTMLDivElement {
* @param { GameEventPromise | boolean } [includecard] * @param { GameEventPromise | boolean } [includecard]
* @returns { boolean } * @returns { boolean }
*/ */
canUse(card: string | Card | VCard, target: Player, distance?: boolean | undefined, includecard?: boolean | import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean; canUse(card: string | Card | VCard, target: Player, distance?: boolean, includecard?: GameEventPromise | boolean): boolean;
hasUseTarget(card: any, distance: any, includecard: any): boolean; hasUseTarget(card: any, distance: any, includecard: any): boolean;
hasValueTarget(card: any, distance: any, includecard: any): boolean; hasValueTarget(card: any, distance: any, includecard: any): boolean;
getUseValue(card: any, distance: any, includecard: any): number; getUseValue(card: any, distance: any, includecard: any): number;
addSubPlayer(cfg: any): string; addSubPlayer(cfg: any): string;
removeSubPlayer(name: any): void; removeSubPlayer(name: any): void;
callSubPlayer(...args: any[]): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; callSubPlayer(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
toggleSubPlayer(...args: any[]): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; toggleSubPlayer(...args: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
exitSubPlayer(remove: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; exitSubPlayer(remove: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
getSubPlayers(tag: any): any[]; getSubPlayers(tag: any): any[];
addSkillTrigger(skills: any, hidden: any, triggeronly: any): this; addSkillTrigger(skills: any, hidden: any, triggeronly: any): this;
_hookTrigger: any[] | undefined; _hookTrigger: any[];
addSkillLog(skill: any): this | undefined; addSkillLog(skill: any): this;
removeSkillLog(skill: any, popup: any): this | undefined; removeSkillLog(skill: any, popup: any): this;
addInvisibleSkill(skill: any): void; addInvisibleSkill(skill: any): void;
removeInvisibleSkill(skill: any, ...args: any[]): any; removeInvisibleSkill(skill: any, ...args: any[]): any;
addSkills(skill: any): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; addSkills(skill: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
removeSkills(skill: any): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; removeSkills(skill: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
changeSkills(addSkill?: any[], removeSkill?: any[]): (import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise) | undefined; changeSkills(addSkill?: any[], removeSkill?: any[]): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
addSkill(skill: any, checkConflict: any, nobroadcast: any, addToSkills: any): any; addSkill(skill: any, checkConflict: any, nobroadcast: any, addToSkills: any): any;
addAdditionalSkills(skill: any, skillsToAdd: any, keep: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; addAdditionalSkills(skill: any, skillsToAdd: any, keep: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
addAdditionalSkill(skill: any, skillsToAdd: any, keep: any): this; addAdditionalSkill(skill: any, skillsToAdd: any, keep: any): this;
$removeAdditionalSkills(skill: any, target: any): void; $removeAdditionalSkills(skill: any, target: any): void;
getRemovableAdditionalSkills(skill: any, target: any): string[]; getRemovableAdditionalSkills(skill: any, target: any): string[];
removeAdditionalSkill(skill: any, target: any): this; removeAdditionalSkill(skill: any, target: any): this;
removeAdditionalSkills(skill: any, target: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; removeAdditionalSkills(skill: any, target: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
awakenSkill(skill: any, nounmark: any): this; awakenSkill(skill: any, nounmark: any): this;
restoreSkill(skill: any, nomark: any): this; restoreSkill(skill: any, nomark: any): this;
disableSkill(skill: any, skills: any): this; disableSkill(skill: any, skills: any): this;
@ -1055,21 +1071,21 @@ export class Player extends HTMLDivElement {
removeEquipTrigger(card: any): this; removeEquipTrigger(card: any): this;
removeSkillTrigger(skills: any, triggeronly: any): this; removeSkillTrigger(skills: any, triggeronly: any): this;
removeSkill(skill: any, ...args: any[]): any; removeSkill(skill: any, ...args: any[]): any;
addTempSkills(skillsToAdd: any, expire: any): import("./gameEvent.js").GameEvent & import("./gameEventPromise.js").GameEventPromise; addTempSkills(skillsToAdd: any, expire: any): import("./gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise;
/** /**
* @overload * @overload
* @param { string } skill * @param { string } skill
* @param { SkillTrigger | string } [expire] * @param { SkillTrigger | string } [expire]
* @param { boolean } [checkConflict] * @param { boolean } [checkConflict]
*/ */
addTempSkill(skill: string, expire?: string | SkillTrigger | undefined, checkConflict?: boolean | undefined): any; addTempSkill(skill: string, expire?: SkillTrigger | string, checkConflict?: boolean): any;
/** /**
* @overload * @overload
* @param { string[] } skill * @param { string[] } skill
* @param { SkillTrigger } [expire] * @param { SkillTrigger } [expire]
* @param { boolean } [checkConflict] * @param { boolean } [checkConflict]
*/ */
addTempSkill(skill: string[], expire?: SkillTrigger | undefined, checkConflict?: boolean | undefined): any; addTempSkill(skill: string[], expire?: SkillTrigger, checkConflict?: boolean): any;
tempBanSkill(skill: any, expire: any, log: any): any; tempBanSkill(skill: any, expire: any, log: any): any;
isTempBanned(skill: any): boolean; isTempBanned(skill: any): boolean;
attitudeTo(target: any): any; attitudeTo(target: any): any;
@ -1104,14 +1120,14 @@ export class Player extends HTMLDivElement {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { ActionHistory[T] } * @returns { ActionHistory[T] }
*/ */
getHistory<T extends keyof ActionHistory>(key: T, filter?: ((event: GameEventPromise) => boolean) | undefined, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): ActionHistory[T]; getHistory<T extends keyof ActionHistory>(key: T, filter?: (event: GameEventPromise) => boolean, last?: GameEventPromise): ActionHistory[T];
/** /**
* @template { keyof ActionHistory } T * @template { keyof ActionHistory } T
* @param { T } key * @param { T } key
* @param { (event: GameEventPromise) => boolean } filter * @param { (event: GameEventPromise) => boolean } filter
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
*/ */
checkHistory<T_1 extends keyof ActionHistory>(key: T_1, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): void; checkHistory<T_1 extends keyof ActionHistory>(key: T_1, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): void;
/** /**
* @template { keyof ActionHistory } T * @template { keyof ActionHistory } T
* @param { T } key * @param { T } key
@ -1119,7 +1135,7 @@ export class Player extends HTMLDivElement {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { boolean } * @returns { boolean }
*/ */
hasHistory<T_2 extends keyof ActionHistory>(key: T_2, filter?: ((event: GameEventPromise) => boolean) | undefined, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean; hasHistory<T_2 extends keyof ActionHistory>(key: T_2, filter?: (event: GameEventPromise) => boolean, last?: GameEventPromise): boolean;
/** /**
* @template { keyof ActionHistory } T * @template { keyof ActionHistory } T
* @overload * @overload
@ -1128,14 +1144,14 @@ export class Player extends HTMLDivElement {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { null | ActionHistory[T] | boolean } * @returns { null | ActionHistory[T] | boolean }
*/ */
getLastHistory<T_3 extends keyof ActionHistory>(key?: T_3 | undefined, filter?: ((event: GameEventPromise) => boolean) | undefined, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean | ActionHistory[T_3] | null; getLastHistory<T_3 extends keyof ActionHistory>(key?: T_3, filter?: (event: GameEventPromise) => boolean, last?: GameEventPromise): boolean | ActionHistory[T_3];
/** /**
* @template { keyof ActionHistory } T * @template { keyof ActionHistory } T
* @param { T } key * @param { T } key
* @param { (event: GameEventPromise) => boolean } filter * @param { (event: GameEventPromise) => boolean } filter
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
*/ */
checkAllHistory<T_4 extends keyof ActionHistory>(key: T_4, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): void; checkAllHistory<T_4 extends keyof ActionHistory>(key: T_4, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): void;
/** /**
* @template { keyof ActionHistory } T * @template { keyof ActionHistory } T
* @param { T } [key] * @param { T } [key]
@ -1143,7 +1159,7 @@ export class Player extends HTMLDivElement {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { ActionHistory[T] } * @returns { ActionHistory[T] }
*/ */
getAllHistory<T_5 extends keyof ActionHistory>(key?: T_5 | undefined, filter?: ((event: GameEventPromise) => boolean) | undefined, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): ActionHistory[T_5]; getAllHistory<T_5 extends keyof ActionHistory>(key?: T_5, filter?: (event: GameEventPromise) => boolean, last?: GameEventPromise): ActionHistory[T_5];
/** /**
* @template { keyof ActionHistory } T * @template { keyof ActionHistory } T
* @param { T } key * @param { T } key
@ -1151,19 +1167,19 @@ export class Player extends HTMLDivElement {
* @param { GameEventPromise } [last] * @param { GameEventPromise } [last]
* @returns { boolean } * @returns { boolean }
*/ */
hasAllHistory<T_6 extends keyof ActionHistory>(key: T_6, filter: (event: GameEventPromise) => boolean, last?: import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | undefined): boolean; hasAllHistory<T_6 extends keyof ActionHistory>(key: T_6, filter: (event: GameEventPromise) => boolean, last?: GameEventPromise): boolean;
getLastUsed(num: any): import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise | null; getLastUsed(num: any): import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise;
getStat(key: any): any; getStat(key: any): any;
getLastStat(key: any): any; getLastStat(key: any): any;
queue(time: any): void; queue(time: any): void;
queueTimeout: NodeJS.Timeout | undefined; queueTimeout: NodeJS.Timeout;
getCardUsable(card: any, pure: any): number; getCardUsable(card: any, pure: any): number;
getAttackRange(raw: any): number; getAttackRange(raw: any): number;
getEquipRange(cards: any): number; getEquipRange(cards: any): number;
getGlobalFrom(): number; getGlobalFrom(): number;
getGlobalTo(): number; getGlobalTo(): number;
getHandcardLimit(): number; getHandcardLimit(): number;
getEnemies(func: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | undefined; getEnemies(func: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[];
getFriends(func: any): any[]; getFriends(func: any): any[];
isEnemyOf(...args: any[]): boolean; isEnemyOf(...args: any[]): boolean;
isFriendOf(player: any): boolean; isFriendOf(player: any): boolean;
@ -1199,7 +1215,7 @@ export class Player extends HTMLDivElement {
* @param { (card?: Card, player?: Player) => boolean } [filter] * @param { (card?: Card, player?: Player) => boolean } [filter]
* @param { boolean } [pure] * @param { boolean } [pure]
*/ */
needsToDiscard(add?: number | import("noname-typings/nonameModules/noname/library/element/card.js").Card | import("noname-typings/nonameModules/noname/library/element/card.js").Card[] | undefined, filter?: ((card?: Card, player?: Player) => boolean) | undefined, pure?: boolean | undefined): number; needsToDiscard(add?: number | Card[] | Card, filter?: (card?: Card, player?: Player) => boolean, pure?: boolean): number;
distanceTo(target: any, method: any): number; distanceTo(target: any, method: any): number;
distanceFrom(target: any, method: any): number; distanceFrom(target: any, method: any): number;
/** /**
@ -1225,7 +1241,7 @@ export class Player extends HTMLDivElement {
* @param {string} skill * @param {string} skill
* @param {Player} [player] * @param {Player} [player]
*/ */
hasZhuSkill(skill: string, player?: Player | undefined): boolean; hasZhuSkill(skill: string, player?: Player): boolean;
hasGlobalTag(tag: any, arg: any): boolean; hasGlobalTag(tag: any, arg: any): boolean;
/** /**
* @param {string} tag * @param {string} tag
@ -1233,7 +1249,7 @@ export class Player extends HTMLDivElement {
* @param {Parameters<SkillAI['skillTagFilter']>[2]} arg * @param {Parameters<SkillAI['skillTagFilter']>[2]} arg
* @param {boolean} [globalskill] * @param {boolean} [globalskill]
*/ */
hasSkillTag(tag: string, hidden: Parameters<this['getSkills']>[0], arg: [player: import("noname-typings/nonameModules/noname/library/element/player.js").Player, tag: string, arg: any][2], globalskill?: boolean | undefined): boolean; hasSkillTag(tag: string, hidden: Parameters<this['getSkills']>[0], arg: [player: import("noname-typings/nonameModules/noname/library/element/player.js").Player, tag: string, arg: any][2], globalskill?: boolean): boolean;
hasJudge(name: any): boolean; hasJudge(name: any): boolean;
hasFriend(): boolean; hasFriend(): boolean;
hasUnknown(num: any): boolean; hasUnknown(num: any): boolean;
@ -1244,13 +1260,13 @@ export class Player extends HTMLDivElement {
* @param {string|boolean} [respond] * @param {string|boolean} [respond]
* @param {boolean} [noauto] * @param {boolean} [noauto]
*/ */
hasSha(respond?: string | boolean | undefined, noauto?: boolean | undefined): boolean; hasSha(respond?: string | boolean, noauto?: boolean): boolean;
hasShan(respond: any): boolean; hasShan(respond: any): boolean;
mayHaveSha(viewer: any, type: any, ignore: any, rvt: any): number | boolean; mayHaveSha(viewer: any, type: any, ignore: any, rvt: any): number | boolean;
mayHaveShan(viewer: any, type: any, ignore: any, rvt: any): number | boolean; mayHaveShan(viewer: any, type: any, ignore: any, rvt: any): number | boolean;
hasCard(name: any, position: any): boolean; hasCard(name: any, position: any): boolean;
getEquip(name: any): import("noname-typings/nonameModules/noname/library/element/card.js").Card | null; getEquip(name: any): import("noname-typings/nonameModules/noname/library/element/card.js").Card;
getJudge(name: any): ChildNode | null; getJudge(name: any): ChildNode;
$drawAuto(cards: any, target: any): void; $drawAuto(cards: any, target: any): void;
$draw(num: any, init: any, config: any): void; $draw(num: any, init: any, config: any): void;
$compareMultiple(card1: any, targets: any, cards: any): void; $compareMultiple(card1: any, targets: any, cards: any): void;
@ -1262,12 +1278,12 @@ export class Player extends HTMLDivElement {
$throwxy(card: any, left: any, top: any): any; $throwxy(card: any, left: any, top: any): any;
$throwxy2(card: any, left: any, top: any, trans: any, flipx: any, flipy: any, ...args: any[]): any; $throwxy2(card: any, left: any, top: any, trans: any, flipx: any, flipy: any, ...args: any[]): any;
throwDice(num: any): void; throwDice(num: any): void;
$giveAuto(card: any, player: any, ...args: any[]): void; $giveAuto(card: any, player: any, ...args: any[]): any;
$give(card: any, player: any, log: any, init: any): void; $give(card: any, player: any, log: any, init: any): void;
$handleEquipChange(): void; $handleEquipChange(): void;
$equip(card: any): this; $equip(card: any): this;
$gain(card: any, log: any, init: any): void; $gain(card: any, log: any, init: any): void;
$gain2(cards: any, log: any): true | undefined; $gain2(cards: any, log: any): boolean;
$skill(name: any, type: any, color: any, avatar: any): void; $skill(name: any, type: any, color: any, avatar: any): void;
$fire(): void; $fire(): void;
$thunder(): void; $thunder(): void;
@ -1288,7 +1304,7 @@ export class Player extends HTMLDivElement {
* @param { boolean } [font] * @param { boolean } [font]
* @param { boolean } [nobroadcast] * @param { boolean } [nobroadcast]
*/ */
$damagepop(num: number | string, nature?: string | undefined, font?: boolean | undefined, nobroadcast?: boolean | undefined): void; $damagepop(num: number | string, nature?: string, font?: boolean, nobroadcast?: boolean): void;
$damage(source: any, ...args: any[]): void; $damage(source: any, ...args: any[]): void;
$die(): void; $die(): void;
$dieflip(type: any): void; $dieflip(type: any): void;

View File

@ -5,7 +5,7 @@ export class VCard {
* @param { string } [name] * @param { string } [name]
* @param { string } [nature] * @param { string } [nature]
*/ */
constructor(suitOrCard?: any, numberOrCards?: number | import("noname-typings/nonameModules/noname/library/element/card.js").Card[] | undefined, name?: string | undefined, nature?: string | undefined); constructor(suitOrCard?: any, numberOrCards?: number | Card[], name?: string, nature?: string);
/** /**
* @type {string} * @type {string}
*/ */
@ -22,7 +22,7 @@ export class VCard {
* @type {string} * @type {string}
*/ */
nature: string; nature: string;
color: string | undefined; color: string;
/** /**
* @type { boolean } * @type { boolean }
*/ */

View File

@ -230,7 +230,7 @@ export class Library {
yingbian: { yingbian: {
condition: { condition: {
color: Map<string, string>; color: Map<string, string>;
complex: Map<string, (event: any, ...args: any[]) => Element.GameEvent & Element.GameEventPromise>; complex: Map<string, (event: any, ...args: any[]) => Element.GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEvent.js").GameEvent & import("noname-typings/nonameModules/noname/library/element/gameEventPromise.js").GameEventPromise>;
simple: Map<string, (event: any) => any>; simple: Map<string, (event: any) => any>;
}; };
effect: Map<string, () => void>; effect: Map<string, () => void>;
@ -346,7 +346,7 @@ export class Library {
restart: boolean; restart: boolean;
unfrequent: boolean; unfrequent: boolean;
intro: string; intro: string;
onclick(bool: any): false | undefined; onclick(bool: any): boolean;
}; };
swipe: { swipe: {
name: string; name: string;
@ -367,7 +367,7 @@ export class Library {
chat: string; chat: string;
off: string; off: string;
}; };
onclick(item: any): false | undefined; onclick(item: any): boolean;
}; };
swipe_up: { swipe_up: {
name: string; name: string;
@ -382,7 +382,7 @@ export class Library {
chat: string; chat: string;
off: string; off: string;
}; };
onclick(item: any): false | undefined; onclick(item: any): boolean;
}; };
swipe_left: { swipe_left: {
name: string; name: string;
@ -397,7 +397,7 @@ export class Library {
chat: string; chat: string;
off: string; off: string;
}; };
onclick(item: any): false | undefined; onclick(item: any): boolean;
}; };
swipe_right: { swipe_right: {
name: string; name: string;
@ -412,7 +412,7 @@ export class Library {
chat: string; chat: string;
off: string; off: string;
}; };
onclick(item: any): false | undefined; onclick(item: any): boolean;
}; };
round_menu_func: { round_menu_func: {
name: string; name: string;
@ -425,7 +425,7 @@ export class Library {
pause: string; pause: string;
auto: string; auto: string;
}; };
onclick(item: any): false | undefined; onclick(item: any): boolean;
}; };
show_splash: { show_splash: {
name: string; name: string;
@ -471,7 +471,7 @@ export class Library {
config: string; config: string;
auto: string; auto: string;
}; };
onclick(item: any): false | undefined; onclick(item: any): boolean;
}; };
longpress_info: { longpress_info: {
name: string; name: string;
@ -533,6 +533,20 @@ export class Library {
}; };
unfrequent: boolean; unfrequent: boolean;
}; };
video_default_play_speed: {
name: string;
init: string;
intro: string;
item: {
"0.25x": string;
"0.5x": string;
"1x": string;
"1.5x": string;
"2x": string;
"4x": string;
};
unfrequent: boolean;
};
max_loadtime: { max_loadtime: {
name: string; name: string;
intro: string; intro: string;
@ -710,7 +724,7 @@ export class Library {
phonelayout: { phonelayout: {
name: string; name: string;
init: boolean; init: boolean;
onclick(bool: any): false | undefined; onclick(bool: any): boolean;
}; };
change_skin: { change_skin: {
name: string; name: string;
@ -1338,7 +1352,7 @@ export class Library {
name: string; name: string;
init: boolean; init: boolean;
unfrequent: boolean; unfrequent: boolean;
onclick(bool: any): false | undefined; onclick(bool: any): boolean;
}; };
remember_round_button: { remember_round_button: {
name: string; name: string;
@ -3331,7 +3345,7 @@ export class Library {
setScroll(node: any): any; setScroll(node: any): any;
setMousewheel(node: any): void; setMousewheel(node: any): void;
setLongPress(node: any, func: any): any; setLongPress(node: any, func: any): any;
updateCanvas(time: any): false | undefined; updateCanvas(time: any): boolean;
run(time: any): void; run(time: any): void;
getUTC(date: any): any; getUTC(date: any): any;
saveVideo(): void; saveVideo(): void;
@ -3353,7 +3367,7 @@ export class Library {
typeEquals: (...args: any[]) => boolean; typeEquals: (...args: any[]) => boolean;
}; };
creation: { creation: {
readonly array: never[]; readonly array: any[];
readonly object: {}; readonly object: {};
readonly nullObject: any; readonly nullObject: any;
readonly string: string; readonly string: string;
@ -3438,7 +3452,7 @@ export class Library {
* @param { number | true } [i] game.players的第几个元素true时切换玩家布局 * @param { number | true } [i] game.players的第几个元素true时切换玩家布局
* @param { string } [skin] id * @param { string } [skin] id
*/ */
p(name: string, i?: number | true | undefined, skin?: string | undefined): void; p(name: string, i?: number | true, skin?: string): void;
/** /**
* @overload * @overload
* @description * @description
@ -3495,24 +3509,24 @@ export class Library {
* 使'spell_yexinglanghun' * 使'spell_yexinglanghun'
* @param { boolean } [me] 使'spell_yexinglanghun' * @param { boolean } [me] 使'spell_yexinglanghun'
*/ */
uy(me?: boolean | undefined): void; uy(me?: boolean): void;
/** /**
* 使`spell_${name}` * 使`spell_${name}`
* @param { string } [name] * @param { string } [name]
* @param { boolean } [act] * @param { boolean } [act]
*/ */
gs(name?: string | undefined, act?: boolean | undefined): void; gs(name?: string, act?: boolean): void;
/** /**
* `stone_${name}_stonecharacter` * `stone_${name}_stonecharacter`
* @param { string } [name] * @param { string } [name]
* @param { boolean } [act] * @param { boolean } [act]
*/ */
gc(name?: string | undefined, act?: boolean | undefined): void; gc(name?: string, act?: boolean): void;
/** /**
* /() * /()
* @param { boolean | string } [bool] * @param { boolean | string } [bool]
*/ */
a(bool?: string | boolean | undefined): void; a(bool?: boolean | string): void;
/** /**
* css效果 * css效果
* *
@ -3541,7 +3555,7 @@ export class Library {
* id和翻译 * id和翻译
* @param { boolean } [bool] false不输出无名杀自带的武将id和翻译 * @param { boolean } [bool] false不输出无名杀自带的武将id和翻译
*/ */
r(bool?: boolean | undefined): void; r(bool?: boolean): void;
/** /**
* *
* @param { Player } player * @param { Player } player
@ -3608,7 +3622,7 @@ export class Library {
* *
* @param { Player } [target] * @param { Player } [target]
*/ */
ge(target?: Element.Player | undefined): void; ge(target?: Player): void;
/** /**
* *
*/ */
@ -3622,7 +3636,7 @@ export class Library {
* @param { number } [num] * @param { number } [num]
* @param { Player } [target] * @param { Player } [target]
*/ */
d(num?: number | undefined, target?: Element.Player | undefined): void; d(num?: number, target?: Player): void;
/** /**
* *
* @param {...string} args * @param {...string} args
@ -3635,7 +3649,7 @@ export class Library {
* *
* @param { number | Player } [num] * @param { number | Player } [num]
*/ */
t(num?: number | Element.Player | undefined): void; t(num?: number | Player): void;
/** /**
* *
*/ */
@ -3689,6 +3703,8 @@ export class Library {
none2: string; none2: string;
red: string; red: string;
black: string; black: string;
red2: string;
black2: string;
ok: string; ok: string;
ok2: string; ok2: string;
cancel: string; cancel: string;
@ -4006,6 +4022,7 @@ export class Library {
Control: typeof Element.Control; Control: typeof Element.Control;
Client: typeof Element.Client; Client: typeof Element.Client;
NodeWS: typeof Element.NodeWS; NodeWS: typeof Element.NodeWS;
Character: typeof Element.Character;
ws: { ws: {
onopen: () => void; onopen: () => void;
onmessage: (messageevent: any) => void; onmessage: (messageevent: any) => void;
@ -4044,6 +4061,10 @@ export class Library {
* @legacy Use {@link lib.element.NodeWS.prototype} instead. * @legacy Use {@link lib.element.NodeWS.prototype} instead.
*/ */
readonly nodews: Element.NodeWS; readonly nodews: Element.NodeWS;
/**
* @legacy Use {@link lib.element.Character.prototype} instead.
*/
readonly character: Element.Character;
}; };
card: { card: {
/** /**
@ -4185,7 +4206,7 @@ export class Library {
* @param { Player } target * @param { Player } target
* @param { boolean } [strict] * @param { boolean } [strict]
*/ */
cardGiftable: (card: Card, player: Player, target: Player, strict?: boolean | undefined) => boolean; cardGiftable: (card: Card, player: Player, target: Player, strict?: boolean) => boolean;
/** /**
* Check if the card is recastable * Check if the card is recastable
* *
@ -4195,7 +4216,7 @@ export class Library {
* @param { Player } [source] * @param { Player } [source]
* @param { boolean } [strict] * @param { boolean } [strict]
*/ */
cardRecastable: (card: Card, player?: Player, source?: Element.Player | undefined, strict?: boolean | undefined) => boolean; cardRecastable: (card: Card, player?: Player, source?: Player, strict?: boolean) => boolean;
/** /**
* @param { Card } card * @param { Card } card
* @param { Player } player * @param { Player } player
@ -4222,7 +4243,7 @@ export class Library {
* @returns {boolean} * @returns {boolean}
*/ */
filterEnable: (event: GameEvent, player: Player, skill: string) => boolean; filterEnable: (event: GameEvent, player: Player, skill: string) => boolean;
characterDisabled: (i: any, libCharacter: any) => true | undefined; characterDisabled: (i: any, libCharacter: any) => boolean;
characterDisabled2: (i: any) => boolean; characterDisabled2: (i: any) => boolean;
skillDisabled: (skill: any) => boolean; skillDisabled: (skill: any) => boolean;
cardEnabled: (card: any, player: any, event: any) => any; cardEnabled: (card: any, player: any, event: any) => any;
@ -4246,11 +4267,11 @@ export class Library {
attackFrom: (card: any, player: any, target: any) => boolean; attackFrom: (card: any, player: any, target: any) => boolean;
globalFrom: (card: any, player: any, target: any) => boolean; globalFrom: (card: any, player: any, target: any) => boolean;
selectCard: () => number[]; selectCard: () => number[];
selectTarget: (card: any, player: any) => number | number[] | (() => number | Select) | undefined; selectTarget: (card: any, player: any) => number | number[] | (() => number | Select);
judge: (card: any, player: any, target: any) => any; judge: (card: any, player: any, target: any) => any;
autoRespondSha: () => boolean; autoRespondSha: () => boolean;
autoRespondShan: () => boolean; autoRespondShan: () => boolean;
wuxieSwap: (event: any) => true | undefined; wuxieSwap: (event: any) => boolean;
}; };
sort: { sort: {
nature: (a: any, b: any) => number; nature: (a: any, b: any) => number;
@ -4280,7 +4301,6 @@ export class Library {
* }} * }}
*/ */
skill: { skill: {
[key: string]: Skill;
global: string[]; global: string[];
globalmap: SMap<Player[]>; globalmap: SMap<Player[]>;
storage: SMap<any>; storage: SMap<any>;
@ -4289,6 +4309,7 @@ export class Library {
zhu: SMap<any>; zhu: SMap<any>;
zhuSkill: SMap<any>; zhuSkill: SMap<any>;
land_used: SMap<any>; land_used: SMap<any>;
[key: string]: Skill;
}; };
character: {}; character: {};
perfectPair: {}; perfectPair: {};
@ -4427,7 +4448,7 @@ export class Library {
phaseName: string[]; phaseName: string[];
quickVoice: string[]; quickVoice: string[];
other: { other: {
ignore: () => undefined; ignore: () => any;
}; };
InitFilter: { InitFilter: {
noZhuHp: string; noZhuHp: string;
@ -4437,7 +4458,7 @@ export class Library {
configOL: any; configOL: any;
} }
export let lib: Library; export let lib: Library;
export function setLibrary(instance?: Library | undefined): void; export function setLibrary(instance?: InstanceType<typeof Library>): void;
export type Player = InstanceType<typeof lib.element.Player>; export type Player = InstanceType<typeof lib.element.Player>;
export type Card = InstanceType<typeof lib.element.Card>; export type Card = InstanceType<typeof lib.element.Card>;
export type VCard = InstanceType<typeof lib.element.VCard>; export type VCard = InstanceType<typeof lib.element.VCard>;

View File

@ -12,7 +12,7 @@ export class LibInit {
sheet(...args: any[]): HTMLStyleElement; sheet(...args: any[]): HTMLStyleElement;
css(path: any, file: any, before: any): HTMLLinkElement; css(path: any, file: any, before: any): HTMLLinkElement;
jsForExtension(path: any, file: any, onLoad: any, onError: any): void; jsForExtension(path: any, file: any, onLoad: any, onError: any): void;
js(path: any, file: any, onLoad: any, onError: any): HTMLScriptElement | undefined; js(path: any, file: any, onLoad: any, onError: any): HTMLScriptElement;
/** /**
* lib.init.js * lib.init.js
* @returns { void } * @returns { void }
@ -22,7 +22,7 @@ export class LibInit {
/** /**
* lib.init.req * lib.init.req
*/ */
reqSync(str: any, onload: any, onerror: any, master: any): string | undefined; reqSync(str: any, onload: any, onerror: any, master: any): string;
json(url: any, onload: any, onerror: any): void; json(url: any, onload: any, onerror: any): void;
/** /**
* lib.init.json * lib.init.json
@ -37,7 +37,7 @@ export class LibInit {
* @param {Function} [scope] * @param {Function} [scope]
* @returns * @returns
*/ */
parsex(item: any, scope?: Function | undefined): any; parsex(item: any, scope?: Function): any;
eval(func: any): any; eval(func: any): any;
encode(strUni: any): string; encode(strUni: any): string;
decode(str: any): string; decode(str: any): string;
@ -48,5 +48,13 @@ export class LibInit {
* @param {*} url import.meta.url * @param {*} url import.meta.url
*/ */
getCurrentFileLocation(url: any): string; getCurrentFileLocation(url: any): string;
/**
* @param {string | URL} link -
* @param {((item: string) => string) | null} [defaultHandle] - `null``URL`
* @param {((item: URL) => unknown) | null} [loadAsDataUrlCallback] - [Data URL](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs),然后传入进回调函数
* @param {boolean} [dbNow] - 使
* @returns {URL}
*/
parseResourceAddress(link: string | URL, defaultHandle?: ((item: string) => string) | null, loadAsDataUrlCallback?: ((item: URL) => unknown) | null, dbNow?: boolean): URL;
} }
import { LibInitPromises } from "./promises.js"; import { LibInitPromises } from "./promises.js";

View File

@ -6,7 +6,7 @@ export class LibInitPromises {
* @param {string | string[]} [file] - `path` * @param {string | string[]} [file] - `path`
* @returns {Promise<Event>} * @returns {Promise<Event>}
*/ */
js(path: string, file?: string | string[] | undefined): Promise<Event>; js(path: string, file?: string | string[]): Promise<Event>;
/** /**
* Promise版的`lib.init.css` * Promise版的`lib.init.css`
* *
@ -16,7 +16,7 @@ export class LibInitPromises {
* @param {boolean} [noerror = false] - * @param {boolean} [noerror = false] -
* @returns {Promise<HTMLLinkElement>} * @returns {Promise<HTMLLinkElement>}
*/ */
css(path: string, file?: string | string[] | undefined, before?: Element | undefined, noerror?: boolean | undefined): Promise<HTMLLinkElement>; css(path: string, file?: string | string[], before?: Element, noerror?: boolean): Promise<HTMLLinkElement>;
/** /**
* Promise版的`lib.init.req` * Promise版的`lib.init.req`
* *
@ -24,7 +24,7 @@ export class LibInitPromises {
* @param {string} [master] * @param {string} [master]
* @returns {Promise<ProgressEvent>} * @returns {Promise<ProgressEvent>}
*/ */
req(str: string, master?: string | undefined): Promise<ProgressEvent>; req(str: string, master?: string): Promise<ProgressEvent>;
/** /**
* Promise版的`lib.init.json` * Promise版的`lib.init.json`
* *
@ -38,4 +38,19 @@ export class LibInitPromises {
* @returns {Promise<HTMLStyleElement>} * @returns {Promise<HTMLStyleElement>}
*/ */
sheet(): Promise<HTMLStyleElement>; sheet(): Promise<HTMLStyleElement>;
/**
* @async
* @param {string | URL} link -
* @param {((item: string) => string) | null} [defaultHandle] - `null``URL`
* @param {boolean} [forceLoadAsDataUrl] - [Data URL](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs),默认为`false`
* @returns {Promise<URL>}
*/
parseResourceAddress(link: string | URL, defaultHandle?: ((item: string) => string) | null, forceLoadAsDataUrl?: boolean): Promise<URL>;
/**
* @async
* @param {string | URL} link -
* @param {((item: string) => string) | null} [defaultHandle] - `null``URL`
* @returns {Promise<[origin: URL, data: URL]>}
*/
parseResourceAddressExt(link: string | URL, defaultHandle?: ((item: string) => string) | null): Promise<[origin: URL, data: URL]>;
} }

View File

@ -35,9 +35,9 @@ export function checkVersion(ver1: string, ver2: string): -1 | 0 | 1;
* ``` * ```
*/ */
export function getRepoTags(options?: { export function getRepoTags(options?: {
username?: string | undefined; username?: string;
repository?: string | undefined; repository?: string;
accessToken?: string | undefined; accessToken?: string;
}): Promise<{ }): Promise<{
commit: { commit: {
sha: string; sha: string;
@ -63,9 +63,9 @@ export function getRepoTags(options?: {
* ``` * ```
*/ */
export function getRepoTagDescription(tagName: string, options?: { export function getRepoTagDescription(tagName: string, options?: {
username?: string | undefined; username?: string;
repository?: string | undefined; repository?: string;
accessToken?: string | undefined; accessToken?: string;
}): Promise<{ }): Promise<{
/** @type { { browser_download_url: string, content_type: string, name: string, size: number }[] } tag额外上传的素材包 */ /** @type { { browser_download_url: string, content_type: string, name: string, size: number }[] } tag额外上传的素材包 */
assets: { assets: {
@ -110,10 +110,10 @@ export function getRepoTagDescription(tagName: string, options?: {
* .catch(error => console.error('Failed to fetch files:', error)); * .catch(error => console.error('Failed to fetch files:', error));
* ``` * ```
*/ */
export function getRepoFilesList(path?: string | undefined, branch?: string | undefined, options?: { export function getRepoFilesList(path?: string, branch?: string, options?: {
username?: string | undefined; username?: string;
repository?: string | undefined; repository?: string;
accessToken?: string | undefined; accessToken?: string;
}): Promise<({ }): Promise<({
download_url: string; download_url: string;
name: string; name: string;
@ -149,10 +149,10 @@ export function getRepoFilesList(path?: string | undefined, branch?: string | un
* .catch(error => console.error('Failed to fetch files:', error)); * .catch(error => console.error('Failed to fetch files:', error));
* ``` * ```
*/ */
export function flattenRepositoryFiles(path?: string | undefined, branch?: string | undefined, options?: { export function flattenRepositoryFiles(path?: string, branch?: string, options?: {
username?: string | undefined; username?: string;
repository?: string | undefined; repository?: string;
accessToken?: string | undefined; accessToken?: string;
}): Promise<{ }): Promise<{
download_url: string; download_url: string;
name: string; name: string;
@ -171,7 +171,7 @@ export function flattenRepositoryFiles(path?: string | undefined, branch?: strin
* await getRepoTagDescription('v1.10.10').then(({ zipball_url }) => request(zipball_url)); * await getRepoTagDescription('v1.10.10').then(({ zipball_url }) => request(zipball_url));
* ``` * ```
*/ */
export function request(url: string, onProgress?: ((receivedBytes: number, total?: number, filename?: string) => void) | undefined, options?: RequestInit | undefined): Promise<Blob>; export function request(url: string, onProgress?: (receivedBytes: number, total?: number, filename?: string) => void, options?: RequestInit): Promise<Blob>;
/** /**
* *
* @param { string } [title] * @param { string } [title]
@ -180,7 +180,7 @@ export function request(url: string, onProgress?: ((receivedBytes: number, total
* @param { string | number } [value] * @param { string | number } [value]
* @returns { progress } * @returns { progress }
*/ */
export function createProgress(title?: string | undefined, max?: string | number | undefined, fileName?: string | undefined, value?: string | number | undefined): progress; export function createProgress(title?: string, max?: string | number, fileName?: string, value?: string | number): progress;
/** /**
* GitHub存储库检索最新版本(tag)tag * GitHub存储库检索最新版本(tag)tag
* *
@ -207,7 +207,7 @@ export function getLatestVersionFromGitHub(owner?: string, repo?: string): Promi
* }[][]>} A promise that resolves with trees from the specified directories. * }[][]>} A promise that resolves with trees from the specified directories.
* @throws {Error} Will throw an error if unable to fetch the repository tree from GitHub. * @throws {Error} Will throw an error if unable to fetch the repository tree from GitHub.
*/ */
export function getTreesFromGithub(directories: string[], version: string, owner?: string | undefined, repo?: string | undefined): Promise<{ export function getTreesFromGithub(directories: string[], version: string, owner?: string, repo?: string): Promise<{
path: string; path: string;
mode: string; mode: string;
type: "blob" | "tree"; type: "blob" | "tree";

View File

@ -20,11 +20,11 @@ export class status {
*/ */
globalHistory: GameHistory[]; globalHistory: GameHistory[];
cardtag: { cardtag: {
yingbian_zhuzhan: never[]; yingbian_zhuzhan: any[];
yingbian_kongchao: never[]; yingbian_kongchao: any[];
yingbian_fujia: never[]; yingbian_fujia: any[];
yingbian_canqu: never[]; yingbian_canqu: any[];
yingbian_force: never[]; yingbian_force: any[];
}; };
renku: any[]; renku: any[];
prehidden_skills: any[]; prehidden_skills: any[];
@ -67,6 +67,14 @@ export class status {
* @type { Function | boolean | undefined } * @type { Function | boolean | undefined }
*/ */
new_tutorial: Function | boolean | undefined; new_tutorial: Function | boolean | undefined;
/**
* @type { Player | undefined }
*/
roundStart: Player | undefined;
/**
* @type { boolean }
*/
roundSkipped: boolean;
} }
export let _status: status; export let _status: status;
export function setStatus(instance?: status | undefined): void; export function setStatus(instance?: InstanceType<typeof status>): void;

View File

@ -20,22 +20,22 @@ export class Click {
exit(): void; exit(): void;
shortcut(show: any): void; shortcut(show: any): void;
favouriteCharacter(e: any): void; favouriteCharacter(e: any): void;
innerHTML: string | undefined; innerHTML: string;
buttonnameenter(): void; buttonnameenter(): void;
buttonnameleave(): void; buttonnameleave(): void;
dragtouchdialog(e: any): void; dragtouchdialog(e: any): void;
_dragorigin: { _dragorigin: {
clientX: any; clientX: any;
clientY: any; clientY: any;
} | undefined; };
_dragtransform: number[] | undefined; _dragtransform: number[];
_dragorigintransform: number[] | undefined; _dragorigintransform: number[];
identity(e: any): void; identity(e: any): void;
_customintro: ((uiintro: any) => void) | undefined; _customintro: (uiintro: any) => void;
identity2(): void; identity2(): void;
roundmenu(): void; roundmenu(): void;
pausehistory(): import("../../library/element/dialog.js").Dialog | undefined; pausehistory(): import("../../library/element/dialog.js").Dialog;
pauseconfig(): import("../../library/element/dialog.js").Dialog | undefined; pauseconfig(): import("../../library/element/dialog.js").Dialog;
cardPileButton(): import("../../library/element/dialog.js").Dialog; cardPileButton(): import("../../library/element/dialog.js").Dialog;
chat(): import("../../library/element/dialog.js").Dialog; chat(): import("../../library/element/dialog.js").Dialog;
volumn(): import("../../library/element/dialog.js").Dialog; volumn(): import("../../library/element/dialog.js").Dialog;
@ -44,7 +44,7 @@ export class Click {
hoverpopped(): void; hoverpopped(): void;
_uiintro: any; _uiintro: any;
hoverpopped_leave(): void; hoverpopped_leave(): void;
_poppedalready: boolean | undefined; _poppedalready: boolean;
leavehoverpopped(): void; leavehoverpopped(): void;
dierevive(): void; dierevive(): void;
dieswap(): void; dieswap(): void;
@ -62,24 +62,24 @@ export class Click {
_waitingfordrag: { _waitingfordrag: {
clientX: any; clientX: any;
clientY: any; clientY: any;
} | undefined; };
cardtouchmove(e: any): void; cardtouchmove(e: any): void;
windowmouseup(e: any): void; windowmouseup(e: any): void;
mousemove(): void; mousemove(): void;
mouseenter(): void; mouseenter(): void;
mouseleave(): void; mouseleave(): void;
_mouseentercreated: boolean | undefined; _mouseentercreated: boolean;
mousedown(): void; mousedown(): void;
mouseentercancel(): void; mouseentercancel(): void;
hoverplayer(e: any): import("../../library/element/dialog.js").Dialog | undefined; hoverplayer(e: any): import("../../library/element/dialog.js").Dialog;
longpressdown(e: any): void; longpressdown(e: any): void;
_longpresstimeout: NodeJS.Timeout | undefined; _longpresstimeout: NodeJS.Timeout;
_longpressevent: any; _longpressevent: any;
longpresscallback(): void; longpresscallback(): void;
longpresscancel(): void; longpresscancel(): void;
window(): void; window(): void;
toggle(): void; toggle(): void;
link: boolean | undefined; link: boolean;
editor(): void; editor(): void;
switcher(): void; switcher(): void;
choice(): void; choice(): void;
@ -87,10 +87,10 @@ export class Click {
touchintro(): void; touchintro(): void;
card(...args: any[]): void; card(...args: any[]): void;
avatar(): void; avatar(): void;
_doubleClicking: boolean | undefined; _doubleClicking: boolean;
avatar2(): void; avatar2(): void;
connectroom(e: any): void; connectroom(e: any): void;
player(...args: any[]): void; player(...args: any[]): any;
target(e: any): void; target(e: any): void;
control2(): void; control2(): void;
control(): void; control(): void;
@ -102,19 +102,19 @@ export class Click {
logvtimeout: any; logvtimeout: any;
logvleave(): void; logvleave(): void;
charactercard(name: any, sourcenode: any, noedit: any, resume: any, avatar: any): void; charactercard(name: any, sourcenode: any, noedit: any, resume: any, avatar: any): void;
intro(e: any): import("../../library/element/dialog.js").Dialog | undefined; intro(e: any): import("../../library/element/dialog.js").Dialog;
intro2(): void; intro2(): void;
auto(...args: any[]): void; auto(...args: any[]): void;
wuxie(): void; wuxie(): void;
tempnowuxie(): void; tempnowuxie(): void;
pause(): void; pause(): void;
resume(e: any): false | undefined; resume(e: any): boolean;
config(): void; config(): void;
swap(): void; swap(): void;
mousewheel(evt: any): void; mousewheel(evt: any): void;
touchStart(e: any): void; touchStart(e: any): void;
startX: number | undefined; startX: number;
startY: number | undefined; startY: number;
dialogtouchStart(e: any): void; dialogtouchStart(e: any): void;
touchScroll(e: any): void; touchScroll(e: any): void;
autoskill(bool: any, node: any): void; autoskill(bool: any, node: any): void;
@ -122,5 +122,5 @@ export class Click {
autoskill2(e: any): void; autoskill2(e: any): void;
hiddenskill(e: any): void; hiddenskill(e: any): void;
rightplayer(e: any): boolean; rightplayer(e: any): boolean;
right(e: any): false | undefined; right(e: any): boolean;
} }

View File

@ -21,11 +21,17 @@ export class Create {
* @param {Function} saveInput * @param {Function} saveInput
*/ */
editor(container: HTMLDivElement, saveInput: Function): HTMLDivElement; editor(container: HTMLDivElement, saveInput: Function): HTMLDivElement;
/**
*
* @param {string} message
*/
toast(message: string): HTMLDivElement;
showNextToast(): HTMLDivElement;
cardTempName(card: any, applyNode: any): any; cardTempName(card: any, applyNode: any): any;
connectRooms(list: any): void; connectRooms(list: any): void;
rarity(button: any): void; rarity(button: any): void;
div(...args: any[]): HTMLDivElement; div(...args: any[]): HTMLDivElement;
filediv(...args: any[]): HTMLDivElement; filediv(...args: any[]): any;
node(...args: any[]): any; node(...args: any[]): any;
iframe(src: any): void; iframe(src: any): void;
identitycircle(list: any, target: any): void; identitycircle(list: any, target: any): void;
@ -48,26 +54,26 @@ export class Create {
/** 创建“扩展”菜单 */ /** 创建“扩展”菜单 */
extensionMenu: (connectMenu: any) => void; extensionMenu: (connectMenu: any) => void;
/** 创建“其他”菜单 */ /** 创建“其他”菜单 */
otherMenu: (connectMenu: boolean | undefined) => void; otherMenu: (connectMenu: boolean) => void;
statictable(...args: any[]): HTMLTableElement; statictable(...args: any[]): HTMLTableElement;
giveup(): void; giveup(): void;
groupControl(dialog: any): import("../../library/element/control.js").Control; groupControl(dialog: any): import("../../library/element/control.js").Control;
cardDialog(...args: any[]): import("../../library/element/dialog.js").Dialog; cardDialog(...args: any[]): any;
characterDialog2(filter: any): import("../../library/element/dialog.js").Dialog; characterDialog2(filter: any): import("../../library/element/dialog.js").Dialog;
characterDialog(...args: any[]): import("../../library/element/dialog.js").Dialog; characterDialog(...args: any[]): import("../../library/element/dialog.js").Dialog;
dialog(...args: any[]): import("../../library/element/dialog.js").Dialog; dialog(...args: any[]): import("../../library/element/dialog.js").Dialog;
line2(...args: any[]): HTMLDivElement; line2(...args: any[]): any;
line(...args: any[]): HTMLDivElement; line(...args: any[]): HTMLDivElement;
switcher(name: any, current: any, current2: any, ...args: any[]): HTMLDivElement; switcher(name: any, current: any, current2: any, ...args: any[]): HTMLDivElement;
caption(str: any, position: any): HTMLDivElement; caption(str: any, position: any): HTMLDivElement;
control(...args: any[]): import("../../library/element/control.js").Control; control(...args: any[]): import("../../library/element/control.js").Control;
confirm(str: any, func: any): void; confirm(str: any, func: any): void;
skills(skills: any): import("noname-typings/nonameModules/noname/library/element/control.js").Control | undefined; skills(skills: any): import("noname-typings/nonameModules/noname/library/element/control.js").Control;
skills2(skills: any): import("noname-typings/nonameModules/noname/library/element/control.js").Control | undefined; skills2(skills: any): import("noname-typings/nonameModules/noname/library/element/control.js").Control;
skills3(skills: any): import("noname-typings/nonameModules/noname/library/element/control.js").Control | undefined; skills3(skills: any): import("noname-typings/nonameModules/noname/library/element/control.js").Control;
arena(): void; arena(): void;
system(str: any, func: any, right: any, before: any): HTMLDivElement; system(str: any, func: any, right: any, before: any): HTMLDivElement;
pause(): HTMLDivElement | undefined; pause(): HTMLDivElement;
prebutton(item: any, type: any, position: any, noclick: any): HTMLDivElement; prebutton(item: any, type: any, position: any, noclick: any): HTMLDivElement;
buttonPresets: { buttonPresets: {
/** /**
@ -104,7 +110,7 @@ export class Create {
textbuttons(list: any, dialog: any, noclick: any): void; textbuttons(list: any, dialog: any, noclick: any): void;
player(position: any, noclick: any): import("../../library/element/player.js").Player; player(position: any, noclick: any): import("../../library/element/player.js").Player;
connectPlayers(ip: any): void; connectPlayers(ip: any): void;
players(numberOfPlayers: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[] | undefined; players(numberOfPlayers: any): import("noname-typings/nonameModules/noname/library/element/player.js").Player[];
me(hasme: any): void; me(hasme: any): void;
card(position: any, info: any, noclick: any): import("../../library/element/card.js").Card; card(position: any, info: any, noclick: any): import("../../library/element/card.js").Card;
cardsAsync(...args: any[]): void; cardsAsync(...args: any[]): void;

View File

@ -22,7 +22,7 @@ export function setUpdateActiveCard(fun: Function): void;
/** /**
* @param { boolean } [connectMenu] * @param { boolean } [connectMenu]
*/ */
export function menu(connectMenu?: boolean | undefined): void; export function menu(connectMenu?: boolean): void;
/** /**
* @type { HTMLDivElement } * @type { HTMLDivElement }
* *

View File

@ -129,6 +129,10 @@ export class UI {
* @type {HTMLDivElement} * @type {HTMLDivElement}
*/ */
tempnowuxie: HTMLDivElement; tempnowuxie: HTMLDivElement;
/**
* @type {HTMLDivElement[]}
*/
toastQueue: HTMLDivElement[];
/** /**
* @type {HTMLDivElement} * @type {HTMLDivElement}
*/ */
@ -153,16 +157,16 @@ export class UI {
* @author Tipx-L * @author Tipx-L
* @param {number} [numberOfPlayers] * @param {number} [numberOfPlayers]
*/ */
updateConnectPlayerPositions(numberOfPlayers?: number | undefined): void; updateConnectPlayerPositions(numberOfPlayers?: number): void;
/** /**
* @author curpond * @author curpond
* @author Tipx-L * @author Tipx-L
* @param {number} [numberOfPlayers] * @param {number} [numberOfPlayers]
*/ */
updatePlayerPositions(numberOfPlayers?: number | undefined): void; updatePlayerPositions(numberOfPlayers?: number): void;
updateRoundNumber(roundNumber: any, cardPileNumber: any): void; updateRoundNumber(roundNumber: any, cardPileNumber: any): void;
} }
export let ui: UI; export let ui: UI;
export function setUI(instance?: UI | undefined): void; export function setUI(instance?: InstanceType<typeof UI>): void;
import { Create } from "./create/index.js"; import { Create } from "./create/index.js";
import { Click } from "./click/index.js"; import { Click } from "./click/index.js";

View File

@ -7,4 +7,3 @@
*/ */
export const promiseErrorHandlerMap: Record<"firefox" | "chrome" | "safari" | "other", new () => PromiseErrorHandler>; export const promiseErrorHandlerMap: Record<"firefox" | "chrome" | "safari" | "other", new () => PromiseErrorHandler>;
export type PromiseErrorHandler = import('./struct/interface/promise-error-handler.js').PromiseErrorHandler; export type PromiseErrorHandler = import('./struct/interface/promise-error-handler.js').PromiseErrorHandler;
import { PromiseErrorHandler } from "./struct/index.js";

View File

@ -5996,14 +5996,15 @@ export class Game {
resolve(); resolve();
} else if (event.content instanceof AsyncFunction) { } else if (event.content instanceof AsyncFunction) {
// _status,lib,game,ui,get,ai六个变量由game.import提供 // _status,lib,game,ui,get,ai六个变量由game.import提供
event.content(event, trigger, player).then(() => { // 使用另一种方式来停止event.content
const { promise, resolve: resolveContent } = Promise.withResolvers();
promise.then(() => {
// 其实这个if几乎一定执行了 // 其实这个if几乎一定执行了
if (game.executingAsyncEventMap.has(event.toEvent())) { if (game.executingAsyncEventMap.has(event.toEvent())) {
if (!game.executingAsyncEventMap.get(_status.event.toEvent())) { if (!game.executingAsyncEventMap.get(_status.event.toEvent())) {
console.warn(`game.executingAsyncEventMap中包括了event但不包括_status.event`); console.warn(`game.executingAsyncEventMap中包括了event但不包括_status.event`);
console.log("event :>> ", event.toEvent()); console.log("event :>> ", event.toEvent());
console.log("_status.event :>> ", _status.event.toEvent()); console.log("_status.event :>> ", _status.event.toEvent());
// debugger;
game.executingAsyncEventMap.set( game.executingAsyncEventMap.set(
event.toEvent(), event.toEvent(),
game.executingAsyncEventMap.get(event.toEvent()).then(() => { game.executingAsyncEventMap.get(event.toEvent()).then(() => {
@ -6025,6 +6026,8 @@ export class Game {
resolve(); resolve();
} }
}); });
event.resolveContent = resolveContent;
event.content(event, trigger, player).finally(() => resolveContent());
} else { } else {
event.content(event, step, source, player, target, targets, card, cards, skill, forced, num, trigger, result, _status, lib, game, ui, get, ai); event.content(event, step, source, player, target, targets, card, cards, skill, forced, num, trigger, result, _status, lib, game, ui, get, ai);
resolve(); resolve();

View File

@ -5,7 +5,7 @@ import { game } from "../game/index.js";
import { _status } from "../status/index.js"; import { _status } from "../status/index.js";
import { ui } from "../ui/index.js"; import { ui } from "../ui/index.js";
import { gnc } from "../gnc/index.js"; import { gnc } from "../gnc/index.js";
import { userAgent, nonameInitialized } from "../util/index.js"; import { userAgent, nonameInitialized, AsyncFunction } from "../util/index.js";
import * as config from "../util/config.js"; import * as config from "../util/config.js";
import { promiseErrorHandlerMap } from "../util/browser.js"; import { promiseErrorHandlerMap } from "../util/browser.js";
import { importCardPack, importCharacterPack, importExtension, importMode } from "./import.js"; import { importCardPack, importCharacterPack, importExtension, importMode } from "./import.js";
@ -1140,7 +1140,7 @@ async function setOnError() {
game.print(str); game.print(str);
if (promiseErrorHandler.onErrorFinish) promiseErrorHandler.onErrorFinish(); if (promiseErrorHandler.onErrorFinish) promiseErrorHandler.onErrorFinish();
// @ts-ignore // @ts-ignore
if (!lib.config.errstop) { if (!lib.config.errstop && (_status && _status.event && !(_status.event.content instanceof AsyncFunction))) {
_status.withError = true; _status.withError = true;
game.loop(); game.loop();
} }

View File

@ -6,7 +6,7 @@ import { ui } from "../../ui/index.js";
import { AsyncFunction } from "../../util/index.js"; import { AsyncFunction } from "../../util/index.js";
export class GameEvent { export class GameEvent {
/** @type { this & import('./gameEventPromise.js').GameEventPromise } */ /** @type { this & GameEventPromise } */
#promise; #promise;
/** /**
* @param {string | GameEvent} [name] * @param {string | GameEvent} [name]
@ -55,9 +55,13 @@ export class GameEvent {
**/ **/
this.async = false; this.async = false;
/** /**
* @type {null|(event: GameEvent)=>any} 这个异步事件对应Promise的resolve函数 * @type {null|((event: GameEvent | PromiseLike<GameEvent>)=>void)} 这个异步事件对应Promise的resolve函数
**/ **/
this.resolve = null; this.resolve = null;
/**
* @type {null|((value?: any) => void)} 另一种结束event.content的resolve形式
**/
this.resolveContent = null;
if (trigger !== false && !game.online) this._triggered = 0; if (trigger !== false && !game.online) this._triggered = 0;
this.__args = [name, trigger]; this.__args = [name, trigger];
} }
@ -188,6 +192,26 @@ export class GameEvent {
* @type { Function | undefined } * @type { Function | undefined }
*/ */
ai; ai;
/**
* @type { string }
*/
triggername;
/**
* @type { ContentFuncByAll | GeneratorContentFuncByAll | OldContentFuncByAll }
*/
content;
/**
* @type { boolean }
*/
forceDie;
/**
* @type { Function | undefined }
*/
_oncancel;
/**
* @type { boolean }
*/
includeOut;
/** /**
* @param {keyof this} key * @param {keyof this} key
* @param {number} [value] * @param {number} [value]
@ -352,7 +376,11 @@ export class GameEvent {
} }
cancel(arg1, arg2, notrigger) { cancel(arg1, arg2, notrigger) {
this.untrigger(arg1, arg2); this.untrigger(arg1, arg2);
// this.forceFinish();
this.finish(); this.finish();
if (typeof this.resolveContent == 'function') {
this.resolveContent();
}
if (notrigger != "notrigger") { if (notrigger != "notrigger") {
if (this.player && lib.phaseName.includes(this.name)) if (this.player && lib.phaseName.includes(this.name))
this.player.getHistory("skipped").add(this.name); this.player.getHistory("skipped").add(this.name);
@ -423,9 +451,11 @@ export class GameEvent {
try { try {
if ( if (
!(lib.element.content[item] instanceof AsyncFunction) && !(lib.element.content[item] instanceof AsyncFunction) &&
// @ts-ignore
!lib.element.content[item]._parsed !lib.element.content[item]._parsed
) { ) {
lib.element.content[item] = lib.init.parsex(lib.element.content[item]); lib.element.content[item] = lib.init.parsex(lib.element.content[item]);
// @ts-ignore
lib.element.content[item]._parsed = true; lib.element.content[item]._parsed = true;
} }
} catch { } catch {

View File

@ -35,7 +35,7 @@ export class GameEventPromise extends Promise {
} }
#event; #event;
/** /**
* @param { import('./gameEvent.js').GameEvent } arg * @param { GameEvent } arg
*/ */
constructor(arg) { constructor(arg) {
if (arg instanceof GameEventPromise) throw new Error("GameEventPromise cannot copy."); if (arg instanceof GameEventPromise) throw new Error("GameEventPromise cannot copy.");
@ -64,21 +64,52 @@ export class GameEventPromise extends Promise {
// 不直接game.loop(event)是因为需要让别人可以手动set()和setContent() // 不直接game.loop(event)是因为需要让别人可以手动set()和setContent()
// 再执行game.loop是因为原有的game.loop被await卡住了 // 再执行game.loop是因为原有的game.loop被await卡住了
// 得新执行一个只执行这个异步事件的game.loop // 得新执行一个只执行这个异步事件的game.loop
_status.event.next.remove(eventPromise);
// 事件自行处理skip情况 /**
_status.event.next.remove(eventPromise); * @param { import("noname-typings/nonameModules/noname/library/index.js").GameEventPromise } event
if (event.player && event.player.skipList.includes(event.name)) { */
const check = event => {
if (event.player) {
const { player } = event;
if (player.skipList.includes(event.name)) {
_status.event.trigger(event.name + "Skipped"); _status.event.trigger(event.name + "Skipped");
event.player.skipList.remove(event.name); player.skipList.remove(event.name);
if (lib.phaseName.includes(event.name)) if (lib.phaseName.includes(event.name))
event.player.getHistory("skipped").add(event.name); player.getHistory("skipped").add(event.name);
_status.event.next.remove(eventPromise); _status.event.next.remove(event);
event.finish(); event.finish();
// @ts-ignore resolve(event.toEvent());
resolve(); } else if (player.classList.contains("dead") && !event.forceDie && event.name != "phaseLoop") {
game.broadcastAll(function () {
while (_status.dieClose.length) {
_status.dieClose.shift().close();
}
});
if (event._oncancel) event._oncancel();
event.finish();
resolve(event.toEvent());
} else if (player.removed && event.name != "phaseLoop") {
event.finish();
resolve(event.toEvent());
} else if (player.isOut() && event.name != "phaseLoop" && !event.includeOut) {
if (event.name == "phase" && player == _status.roundStart && !event.skill) {
_status.roundSkipped = true;
}
event.finish();
resolve(event.toEvent());
}
}
};
check(eventPromise)
if (eventPromise.finished) {
return eventPromise; return eventPromise;
} }
const oldEvent = _status.event;
// 处理eventNeutralized反复横跳
if (!oldEvent.finished) {
if (_status.event != eventPromise) { if (_status.event != eventPromise) {
eventPromise.parent = _status.event; eventPromise.parent = _status.event;
_status.event = eventPromise; _status.event = eventPromise;
@ -87,8 +118,50 @@ export class GameEventPromise extends Promise {
return game.loop(eventPromise).then(() => { return game.loop(eventPromise).then(() => {
// 有时候event.finished还是false // 有时候event.finished还是false
return eventPromise; return eventPromise;
}).then(event => {
check(event.toPromise());
return event.toPromise();
}); });
} }
else {
// event.neutralize()执行后只允许带有eventNeutralized的arrangeTrigger执行
if (eventPromise.name == "arrangeTrigger" &&
eventPromise.triggername == "eventNeutralized") {
if (_status.event != eventPromise) {
eventPromise.parent = _status.event;
_status.event = eventPromise;
game.getGlobalHistory("everything").push(eventPromise);
}
return game.loop(eventPromise).then(() => {
// 有时候event.finished还是false
return eventPromise;
}).then(event => {
// 如果它终于不给我跳了就给老子停
if (oldEvent.finished === true && typeof oldEvent.resolveContent == 'function') {
oldEvent.resolveContent();
}
return event.toPromise();
});
}
// 否则以其他形式使finished为true的时候停止oldEvent
else {
console.log(`不继续执行event(${eventPromise.name})`, eventPromise.toEvent());
// 给老子停
if (oldEvent.finished === true && typeof oldEvent.resolveContent == 'function') {
oldEvent.resolveContent();
console.log(`事件结束(${oldEvent.name})`, oldEvent.toEvent());
}
else {
if (oldEvent.finished === true) {
console.log(`事件未结束(${oldEvent.name})`, oldEvent.toEvent());
}
if (typeof oldEvent.resolveContent != 'function') {
console.log(`事件未结束, event.resolveContent不是一个函数`, oldEvent.toEvent());
}
}
}
}
}
} }
) )
); );

View File

@ -357,6 +357,10 @@ export class Player extends HTMLDivElement {
* @type { boolean | undefined } * @type { boolean | undefined }
*/ */
identityShown; identityShown;
/**
* @type { boolean }
*/
removed;
//新函数 //新函数
/** /**
* 怒气 * 怒气
@ -3646,6 +3650,12 @@ export class Player extends HTMLDivElement {
getCards(arg1, arg2) { getCards(arg1, arg2) {
return Array.from(this.iterableGetCards(arg1, arg2)); return Array.from(this.iterableGetCards(arg1, arg2));
} }
/**
* @param { Player } player
* @param { string } [arg1]
* @param { string } [arg2]
* @returns { Generator<Card, void, unknown> }
*/
*iterableGetDiscardableCards(player, arg1, arg2) { *iterableGetDiscardableCards(player, arg1, arg2) {
for (let card of this.iterableGetCards(arg1, arg2)) { for (let card of this.iterableGetCards(arg1, arg2)) {
if (lib.filter.canBeDiscarded(card, player, this)) { if (lib.filter.canBeDiscarded(card, player, this)) {

View File

@ -76,6 +76,14 @@ export class status {
* @type { Function | boolean | undefined } * @type { Function | boolean | undefined }
*/ */
new_tutorial = undefined; new_tutorial = undefined;
/**
* @type { Player | undefined }
*/
roundStart = undefined;
/**
* @type { boolean }
*/
roundSkipped;
} }
export let _status = new status(); export let _status = new status();