");
}
uiintro.content.lastChild.querySelector(".skill>.card").style.transform = "";
}
if (get.is.phoneLayout()) {
var markCoutainer = ui.create.div(".mark-container.marks");
for (var i in node.marks) {
var nodemark = node.marks[i].cloneNode(true);
nodemark.classList.add("pointerdiv");
nodemark.link = node.marks[i];
nodemark.style.transform = "";
markCoutainer.appendChild(nodemark);
nodemark.listen(function () {
uiintro.noresume = true;
var rect = this.link.getBoundingClientRect();
ui.click.intro.call(this.link, {
clientX: rect.left + rect.width,
clientY: rect.top + rect.height / 2
});
if (lib.config.touchscreen) {
uiintro._close();
}
});
}
if (markCoutainer.childElementCount) {
uiintro.addText("标记");
uiintro.add(markCoutainer);
}
}
}
if (!game.observe && _status.gameStarted && game.me && node != game.me) {
ui.throwEmotion = [];
uiintro.addText("发送交互表情");
var click = function () {
if (_status.dragged) return;
if (_status.justdragged) return;
if (_status.throwEmotionWait) return;
var emotion = this.link;
if (game.online) {
game.send("throwEmotion", node, emotion);
} else game.me.throwEmotion(node, emotion);
uiintro._close();
_status.throwEmotionWait = true;
setTimeout(
function () {
_status.throwEmotionWait = false;
if (ui.throwEmotion) {
for (var i of ui.throwEmotion) i.classList.remove("exclude");
}
},
emotion == "flower" || emotion == "egg" ? 500 : 5000
);
};
var td;
var table = document.createElement("div");
table.classList.add("add-setting");
table.style.margin = "0";
table.style.width = "100%";
table.style.position = "relative";
var listi = ["flower", "egg"];
for (var i = 0; i < listi.length; i++) {
td = ui.create.div(".menubutton.reduce_radius.pointerdiv.tdnode");
ui.throwEmotion.add(td);
if (_status.throwEmotionWait) td.classList.add("exclude");
td.link = listi[i];
table.appendChild(td);
td.innerHTML = "" + get.translation(listi[i]) + "";
td.addEventListener(lib.config.touchscreen ? "touchend" : "click", click);
}
uiintro.content.appendChild(table);
table = document.createElement("div");
table.classList.add("add-setting");
table.style.margin = "0";
table.style.width = "100%";
table.style.position = "relative";
var listi = ["wine", "shoe"];
if (game.me.storage.zhuSkill_shanli) listi = ["yuxisx", "jiasuo"];
for (var i = 0; i < listi.length; i++) {
td = ui.create.div(".menubutton.reduce_radius.pointerdiv.tdnode");
ui.throwEmotion.add(td);
if (_status.throwEmotionWait) td.classList.add("exclude");
td.link = listi[i];
table.appendChild(td);
td.innerHTML = "" + get.translation(listi[i]) + "";
td.addEventListener(lib.config.touchscreen ? "touchend" : "click", click);
}
uiintro.content.appendChild(table);
}
var modepack = lib.characterPack["mode_" + get.mode()];
if (
lib.config.show_favourite &&
lib.character[node.name] &&
game.players.contains(node) &&
(!modepack || !modepack[node.name]) &&
(!simple || get.is.phoneLayout())
) {
var addFavourite = ui.create.div(".text.center.pointerdiv");
addFavourite.link = node.name;
if (lib.config.favouriteCharacter.contains(node.name)) {
addFavourite.innerHTML = "移除收藏";
} else {
addFavourite.innerHTML = "添加收藏";
}
addFavourite.listen(ui.click.favouriteCharacter);
uiintro.add(addFavourite);
}
if (!simple || get.is.phoneLayout()) {
if ((lib.config.change_skin || lib.skin) && !node.isUnseen()) {
var num = 1;
var introadded = false;
var createButtons = function (num, avatar2) {
if (!introadded) {
introadded = true;
uiintro.add('
更改皮肤
');
}
var buttons = ui.create.div(".buttons.smallzoom.scrollbuttons");
lib.setMousewheel(buttons);
var nameskin = avatar2 ? node.name2 : node.name1;
var nameskin2 = nameskin;
var gzbool = false;
if (nameskin.indexOf("gz_shibing") == 0) {
nameskin = nameskin.slice(3, 11);
} else if (nameskin.indexOf("gz_") == 0) {
nameskin = nameskin.slice(3);
gzbool = true;
}
for (var i = 0; i <= num; i++) {
var button = ui.create.div(".button.character.pointerdiv", buttons, function () {
if (this._link) {
if (avatar2) {
lib.config.skin[nameskin] = this._link;
node.node.avatar2.style.backgroundImage = this.style.backgroundImage;
} else {
lib.config.skin[nameskin] = this._link;
node.node.avatar.style.backgroundImage = this.style.backgroundImage;
}
} else {
delete lib.config.skin[nameskin];
if (avatar2) {
if (gzbool && lib.character[nameskin2][4].contains("gzskin") && lib.config.mode_config.guozhan.guozhanSkin)
node.node.avatar2.setBackground(nameskin2, "character");
else node.node.avatar2.setBackground(nameskin, "character");
} else {
if (gzbool && lib.character[nameskin2][4].contains("gzskin") && lib.config.mode_config.guozhan.guozhanSkin)
node.node.avatar.setBackground(nameskin2, "character");
else node.node.avatar.setBackground(nameskin, "character");
}
}
game.saveConfig("skin", lib.config.skin);
});
button._link = i;
if (i) {
button.setBackgroundImage("image/skin/" + nameskin + "/" + i + ".jpg");
} else {
if (gzbool && lib.character[nameskin2][4].contains("gzskin") && lib.config.mode_config.guozhan.guozhanSkin)
button.setBackground(nameskin2, "character", "noskin");
else button.setBackground(nameskin, "character", "noskin");
}
}
uiintro.add(buttons);
};
var loadImage = function (avatar2) {
var img = new Image();
img.onload = function () {
num++;
loadImage(avatar2);
};
img.onerror = function () {
num--;
if (num) {
createButtons(num, avatar2);
}
if (!avatar2) {
if (!node.classList.contains("unseen2") && node.name2) {
num = 1;
loadImage(true);
}
}
};
var nameskin = avatar2 ? node.name2 : node.name1;
var nameskin2 = nameskin;
var gzbool = false;
if (nameskin.indexOf("gz_shibing") == 0) {
nameskin = nameskin.slice(3, 11);
} else if (nameskin.indexOf("gz_") == 0) {
nameskin = nameskin.slice(3);
gzbool = true;
}
img.src = lib.assetURL + "image/skin/" + nameskin + "/" + num + ".jpg";
};
if (lib.config.change_skin) {
if (!node.isUnseen(0)) {
loadImage();
} else if (node.name2) {
loadImage(true);
}
} else {
setTimeout(function () {
var nameskin1 = node.name1;
var nameskin2 = node.name2;
if (nameskin1 && nameskin1.indexOf("gz_") == 0) {
nameskin1 = nameskin1.slice(3);
}
if (nameskin2 && nameskin2.indexOf("gz_") == 0) {
nameskin2 = nameskin2.slice(3);
}
if (!node.isUnseen(0) && lib.skin[nameskin1]) {
createButtons(lib.skin[nameskin1]);
}
if (!node.isUnseen(1) && lib.skin[nameskin2]) {
createButtons(lib.skin[nameskin2], true);
}
});
}
}
}
uiintro.add(ui.create.div(".placeholder.slim"));
} else if (
node.classList.contains("mark") &&
node.info &&
node.parentNode &&
node.parentNode.parentNode &&
node.parentNode.parentNode.classList.contains("player")
) {
var info = node.info;
var player = node.parentNode.parentNode;
if (info.name) {
if (typeof info.name == "function") {
var named = info.name(player.storage[node.skill], player);
if (named) {
uiintro.add(named);
}
} else {
uiintro.add(info.name);
}
} else if (info.name !== false) {
uiintro.add(get.translation(node.skill));
}
if (typeof info.id == "string" && info.id.indexOf("subplayer") == 0 && player.isUnderControl(true) && player.storage[info.id] && !_status.video) {
var storage = player.storage[info.id];
uiintro.addText("当前体力:" + storage.hp + "/" + storage.maxHp);
if (storage.hs.length) {
uiintro.addText("手牌区");
uiintro.addSmall(storage.hs);
}
if (storage.es.length) {
uiintro.addText("装备区");
uiintro.addSmall(storage.es);
}
}
if (typeof info.mark == "function") {
var stint = info.mark(uiintro, player.storage[node.skill], player);
if (stint) {
var placetext = uiintro.add('
' + stint + "
");
if (stint.indexOf('
'+stint+'
');
// }
// else{
// uiintro.add('
'+stint+'
');
// }
}
} else {
var stint = get.storageintro(info.content, player.storage[node.skill], player, uiintro, node.skill);
if (stint) {
if (stint[0] == "@") {
uiintro.add('
' + stint.slice(1) + "
");
} else {
var placetext = uiintro.add('
' + stint + "
");
if (stint.indexOf('
'+stint+'
');
// }
// else{
// uiintro.add('
'+stint+'
');
// }
}
}
uiintro.add(ui.create.div(".placeholder.slim"));
} else if (node.classList.contains("card")) {
//卡牌长按介绍
if (ui.arena.classList.contains("observe") && node.parentNode.classList.contains("handcards")) {
return;
}
var name = node.name;
if (node.parentNode.cardMod) {
var moded = false;
for (var i in node.parentNode.cardMod) {
var item = node.parentNode.cardMod[i](node);
if (Array.isArray(item)) {
moded = true;
uiintro.add(item[0]);
uiintro._place_text = uiintro.add('
' + item[1] + "
");
}
}
if (moded) return uiintro;
}
if (node.link && node.link.name && lib.card[node.link.name]) {
name = node.link.name;
}
if (get.position(node) == "j" && node.viewAs && node.viewAs != name) {
uiintro.add(get.translation(node.viewAs));
uiintro.add('
(' + get.translation(get.translation(node)) + ")
");
// uiintro.add(get.translation(node.viewAs)+'
('+get.translation(node)+')
');
uiintro.nosub = true;
name = node.viewAs;
} else {
uiintro.add(get.translation(node));
}
if (node._banning) {
var clickBanned = function () {
var banned = lib.config[this.bannedname] || [];
if (banned.contains(name)) {
banned.remove(name);
} else {
banned.push(name);
}
game.saveConfig(this.bannedname, banned);
this.classList.toggle("on");
if (node.updateBanned) {
node.updateBanned();
}
};
var modeorder = lib.config.modeorder || [];
for (var i in lib.mode) {
modeorder.add(i);
}
var list = [];
uiintro.contentContainer.listen(function (e) {
ui.click.touchpop();
e.stopPropagation();
});
for (var i = 0; i < modeorder.length; i++) {
if (node._banning == "online") {
if (!lib.mode[modeorder[i]].connect) continue;
} else if (modeorder[i] == "connect" || modeorder[i] == "brawl") {
continue;
}
if (lib.config.all.mode.contains(modeorder[i])) {
list.push(modeorder[i]);
}
}
if (lib.card[name] && lib.card[name].type == "trick") list.push("zhinang_tricks");
var page = ui.create.div(".menu-buttons.configpopped", uiintro.content);
var banall = false;
for (var i = 0; i < list.length; i++) {
var cfg = ui.create.div(".config", list[i] == "zhinang_tricks" ? "设为智囊" : lib.translate[list[i]] + "模式", page);
cfg.classList.add("toggle");
if (list[i] == "zhinang_tricks") {
cfg.bannedname = (node._banning == "offline" ? "" : "connect_") + "zhinang_tricks";
} else if (node._banning == "offline") {
cfg.bannedname = list[i] + "_bannedcards";
} else {
cfg.bannedname = "connect_" + list[i] + "_bannedcards";
}
cfg.listen(clickBanned);
ui.create.div(ui.create.div(cfg));
var banned = lib.config[cfg.bannedname] || [];
if (banned.contains(name) == (list[i] == "zhinang_tricks")) {
cfg.classList.add("on");
banall = true;
}
}
ui.create.div(".menubutton.pointerdiv", banall ? "全部禁用" : "全部启用", uiintro.content, function () {
if (this.innerHTML == "全部禁用") {
for (var i = 0; i < page.childElementCount; i++) {
if (
page.childNodes[i].bannedname.indexOf("zhinang_tricks") == -1 &&
page.childNodes[i].bannedname &&
page.childNodes[i].classList.contains("on")
) {
clickBanned.call(page.childNodes[i]);
}
}
this.innerHTML = "全部启用";
} else {
for (var i = 0; i < page.childElementCount; i++) {
if (
page.childNodes[i].bannedname.indexOf("zhinang_tricks") == -1 &&
page.childNodes[i].bannedname &&
!page.childNodes[i].classList.contains("on")
) {
clickBanned.call(page.childNodes[i]);
}
}
this.innerHTML = "全部禁用";
}
}).style.marginTop = "-10px";
ui.create.div(".placeholder.slim", uiintro.content);
} else {
if (lib.translate[name + "_info"]) {
if (!uiintro.nosub) {
if (get.subtype(name) == "equip1") {
var added = false;
if (lib.card[node.name] && lib.card[node.name].distance) {
var dist = lib.card[node.name].distance;
if (dist.attackFrom) {
added = true;
uiintro.add('
攻击范围:' + (-dist.attackFrom + 1) + "
");
}
}
if (!added) {
uiintro.add('
攻击范围:1
');
}
} else if (get.subtype(name)) {
uiintro.add('
' + get.translation(get.subtype(name)) + "
");
} else if (lib.card[name] && lib.card[name].addinfomenu) {
uiintro.add('
' + lib.card[name].addinfomenu + "
");
} else if (lib.card[name] && lib.card[name].derivation) {
if (typeof lib.card[name].derivation == "string") {
uiintro.add('
',
clear: true,
onclick: function () {
if (this.globalStatusLib == undefined) {
var str = " ",
flag = false;
for (var i in lib.globalStatusTypeTranslation) {
if (flag == false) {
flag = true;
} else {
str += "
";
}
str += '====== ' + lib.globalStatusTypeTranslation[i] + " ====== ";
for (var j in lib.globalStatus) {
if (lib.globalStatus[j].type == i) {
str +=
'