import miaoTool from "./miaoTool.js";
export default function content (config, pack) {
lib.miaoTool = miaoTool
/*---------------------------------------------------------------以下为杂项---------------------------------------------------------------*/
get.is.xuemai = function (skill) {
var info = lib.skill[skill];
if (typeof info.xuemai == "function") return info.xuemai(skill);
if (info.xuemai == false) return false;
if (info.trigger && info.forced) return true;
if (info.mod) return true;
if (info.xuemai) return true;
return false;
};
game.changeRoundNumber = function () {
/*接受输入num,游戏轮数+=num */
//event.trigger("changeRoundNumberBegin");
var num = 1,
source = _status.event.player,
is_skip = false;
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] == "number") {
num = arguments[i];
} else if (arguments[i] == "skip") {
is_skip = true;
} else if (get.itemtype(arguments[i]) == "player" || arguments[i] == null) {
source = arguments[i];
}
}
if (is_skip) {
game.roundNumber += num;
} else {
while (num > 0) {
num--;
game.roundNumber++;
game.updateRoundNumber();
_status.event.trigger("roundStart");
}
}
game.updateRoundNumber();
//event.trigger("changeRoundNumberEnd");
};
// 重写废除判定区相关
lib.element.content.enableJudge = function () {
"step 0"
if (!player.storage._disableJudge || player.storage._disableJudge == false) event.finish();
// 多次废除恢复判断
if (!player.storage._disableJudge_layer) {
player.storage._disableJudge_layer = 0;
}
player.storage._disableJudge_layer--;
if (player.storage._disableJudge_layer < 0) {
player.storage._disableJudge_layer = 0;
event.finish();
}
if (player.storage._disableJudge_layer > 0) event.finish();
"step 1"
game.log(player, "恢复了判定区");
player.storage._disableJudge = false;
// player.markSkill('_disableJudge');
"step 2"
game.broadcastAll(function (player, card) {
player.$enableJudge();
}, player);
};
lib.element.content.disableJudge = function () {
"step 0"
// if (player.storage._disableJudge == true) return;
// 多次废除恢复判断
if (!player.storage._disableJudge_layer) {
player.storage._disableJudge_layer = 0;
}
player.storage._disableJudge_layer++;
if (player.storage._disableJudge_layer > 1) {
event.finish();
}
"step 1"
game.log(player, "废除了判定区");
var js = player.getCards("j");
if (js.length) player.discard(js);
player.storage._disableJudge = true;
//player.markSkill('_disableJudge');
"step 2"
game.broadcastAll(function (player, card) {
player.$disableJudge();
}, player);
};
// 并不是很好的写法
let gameAddPlayerBak = game.addPlayer
game.addPlayer = (position, character, character2) => {
let player = gameAddPlayerBak(position, character, character2)
// if (position < 0 || position > game.players.length + game.dead.length || position == undefined)
// position = Math.ceil(Math.random() * (game.players.length + game.dead.length));
// const players = game.players.concat(game.dead);
// ui.arena.setNumber(players.length + 1);
// players.forEach(value => {
// if (parseInt(value.dataset.position) >= position) value.dataset.position = parseInt(value.dataset.position) + 1;
// });
// const player = ui.create.player(ui.arena).animate("start");
// if (character) player.init(character, character2);
// //技能修复
// var skills=lib.character[character][3];
// if(character2)skills.concat(lib.character[character2][3])
// for(var i of skills){
// game.log(i)
// player.removeSkill(i)
// player.addSkill(i);
// }
// 属性
player.storage.enhancementArray = {
attack: 0, //攻击力
defend: 0, //防御力
miss: 0, //闪避率
hit: 0, //命中率
strike: 0, //暴击率,目前没用
draw: 0, //摸牌,目前没用
locked: false,
locked_end: -1,
locked_type: null
};
game.players.push(player);
player.playerid = get.id();
game.playerMap[player.playerid] = player;
// game.log(game.playerMap)
// for(var i in game.playerMap){
// game.log(i)
// }
// game.playerMap.push(player);
player.dataset.position = position;
game.arrangePlayers();
return player;
};
// //多位主公死亡情况
// lib.skill._miao_zhu_dying = {
// }
//更换武将头像
lib.element.player.changeAvatarMiao = function (imgFrom, imgTo) {
var path = this.node.avatar.style.backgroundImage.split(imgFrom)[0];
this.node.avatar.style.backgroundImage = path + imgTo + '")';
};
//获得限伤
lib.element.player.addDamageLimiter = function () {
if (!this.storage._damageLimiter_Miao) {
this.storage._damageLimiter_Miao = [];
}
var id = _status.event.name,
num = 1,
source = _status.event.player,
nolog = false;
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == "nolog") {
nolog = true;
} else if (typeof arguments[i] == "number") {
num = arguments[i];
} else if (get.itemtype(arguments[i]) == "player" || arguments[i] == null) {
source = arguments[i];
} else if (typeof arguments[i] == "string") {
id = arguments[i];
}
}
this.removeDamageLimiter(id, "noUnmark");
var Limiter = {};
Limiter.id = id;
Limiter.num = num;
Limiter.source = source;
this.storage._damageLimiter_Miao.push(Limiter);
this.markSkill("_DamageLimiter");
};
//移除限伤
lib.element.player.removeDamageLimiter = function () {
if (!this.storage._damageLimiter_Miao) {
this.storage._damageLimiter_Miao = [];
}
var id = _status.event.name,
noUnmark = false,
nolog = false;
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == "nolog") {
nolog = true;
} else if (arguments[i] == "noUnmark") {
noUnmark = true;
} else if (typeof arguments[i] == "string") {
id = arguments[i];
}
}
for (var i = 0; i < this.storage._damageLimiter_Miao.length; i += 1) {
if (this.storage._damageLimiter_Miao[i].id == id) {
this.storage._damageLimiter_Miao.splice(i, 1);
}
}
if (this.storage._damageLimiter_Miao.length == 0 && noUnmark == false) this.unmarkSkill("_DamageLimiter");
};
lib.skill["_DamageLimiter"] = {
trigger: {
player: ["damageBegin3"]
},
filter: function (event, player) {
if (!player.storage._damageLimiter_Miao) return false;
var min = Infinity;
for (var i = 0; i < player.storage._damageLimiter_Miao.length; ++i) {
var limiter = player.storage._damageLimiter_Miao[i];
if (player.storage._damageLimiter_Miao[i].num < min) min = player.storage._damageLimiter_Miao[i].num;
}
return event.num > min;
},
priority: -705831,
forced: true,
silent:true,
charlotte: true,
unique: true,
mark: true,
marktext: "限伤",
intro: {
name: "最大伤害限制",
mark: function (dialog, storage, player) {
var min = Infinity;
for (var i = 0; i < player.storage._damageLimiter_Miao.length; ++i) {
var limiter = player.storage._damageLimiter_Miao[i];
if (player.storage._damageLimiter_Miao[i].num < min) min = player.storage._damageLimiter_Miao[i].num;
}
return "你受到的所有伤害不超过" + min + "点";
}
},
content: function () {
var min = Infinity;
for (var i = 0; i < player.storage._damageLimiter_Miao.length; ++i) {
var limiter = player.storage._damageLimiter_Miao[i];
if (player.storage._damageLimiter_Miao[i].num < min) min = player.storage._damageLimiter_Miao[i].num;
}
if (trigger.num > min) trigger.num = min;
game.log(player, "触发了限伤");
_status.event.trigger("damageLimit");
}
};
//获得缓伤,即百分比减伤
lib.element.player.addDamageMitigationer = function () {
if (!this.storage._damageMitigationer_Miao) {
this.storage._damageMitigationer_Miao = [];
}
var id = _status.event.name,
num = 1,
source = _status.event.player,
nolog = false;
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == "nolog") {
nolog = true;
} else if (typeof arguments[i] == "number") {
num = arguments[i];
} else if (get.itemtype(arguments[i]) == "player" || arguments[i] == null) {
source = arguments[i];
} else if (typeof arguments[i] == "string") {
id = arguments[i];
}
}
this.removeDamageMitigationer(id);
var Limiter = {};
Limiter.id = id;
Limiter.num = num;
Limiter.source = source;
this.storage._damageMitigationer_Miao.push(Limiter);
this.markSkill("_DamageMitigationer");
};
lib.element.player.removeDamageMitigationer = function () {
if (!this.storage._damageMitigationer_Miao) {
this.storage._damageMitigationer_Miao = [];
}
var id = _status.event.name,
nolog = false;
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == "nolog") {
nolog = true;
} else if (typeof arguments[i] == "string") {
id = arguments[i];
}
}
for (var i = 0; i < this.storage._damageMitigationer_Miao.length; i += 1) {
if (this.storage._damageMitigationer_Miao[i].id == id) {
this.storage._damageMitigationer_Miao.splice(i, 1);
}
}
if (this.storage._damageMitigationer_Miao.length == 0) this.unmarkSkill("_DamageMitigationer");
};
lib.skill["_DamageMitigationer"] = {
trigger: {
player: ["damageBegin4"]
},
filter: function (event, player) {
if (!player.hp_float) {
player.hp_float = 0; //储存浮点位的hp
}
if (!player.storage._damageMitigationer_Miao || player.storage._damageMitigationer_Miao.length == 0) return false;
return true;
},
priority: -Infinity, //保证优先级最低
forced: true,
silent:true,
charlotte: true,
unique: true,
mark: true,
marktext: "减伤",
intro: {
name: "伤害减免",
mark: function (dialog, storage, player) {
var min = Infinity;
for (var i = 0; i < player.storage._damageMitigationer_Miao.length; ++i) {
limiter = player.storage._damageMitigationer_Miao[i];
if (player.storage._damageMitigationer_Miao[i].num < min) min = player.storage._damageMitigationer_Miao[i].num;
}
return "你受到的所有伤害减少" + (100 - min * 100).toString() + "%";
}
},
content: function () {
"step 0"
var min = 1;
for (var i = 0; i < player.storage._damageMitigationer_Miao.length; ++i) {
limiter = player.storage._damageMitigationer_Miao[i];
if (player.storage._damageMitigationer_Miao[i].num < min) min = player.storage._damageMitigationer_Miao[i].num;
}
n1 = trigger.num;
n2 = parseFloat((n1 * min + 0.00001).toFixed(4));
// nint = parseInt(n2)
// game.log(n2,nint,n2-nint)
// nfloathp = parseFloat(n2 - nint)
// player.hp_float = player.hp_float + parseFloat(nfloathp)
// trigger.num = parseInt(n2)
// if(parseFloat(nfloathp) != 0){
// trigger.num += 1
// }
// game.log(player.hp_float >= 1)
// flag=false
// if(player.hp_float == 0 && n2 > 0){
// // if(player.hujia > 0){
// // player.changeHujia(-1)
// // }
// // else{
// // player.hp-=1
// // }
// trigger.num += 1
// }
player.hp_float -= n2;
// game.log(player.hp_float)
trigger.num = 0;
// if(flag){
// trigger.num += 1
// }
while (player.hp_float < 0) {
player.hp_float += 1;
trigger.num += 1;
}
// if(player.hp_float == 0){
// // if(player.hujia > 0){
// // player.changeHujia(1)
// // }
// // else{
// // player.hp+=1
// // }
// trigger.num -= 1
// }
// game.log(player.hp_float,'sss',trigger.num)
game.log(player, "触发了减伤,实际受到" + n2 + "点伤害");
if (n2 < 1) {
if (player.hujia != 0) {
player.changeHujia(-trigger.num);
} else player.hp -= trigger.num;
if (trigger.source) {
player.$damage(trigger.source);
} else {
player.$damage();
}
player.update();
trigger.num = 0;
}
_status.event.trigger("damageMitigation");
"step 1"
if (player.hp <= 0 && player.hp_float <= 0) {
player.nodying = false;
// game.log(player.hp,player.hp_float);
player.dying();
}
}
};
//濒死阶段0.xhp处理
lib.skill["_DyingWithFloatHp"] = {
trigger: {
player: ["dying"]
},
direct: true,
unique: true,
silent:true,
// forceunique:true,
filter: function (event, player) {
if (!player.hp_float) {
player.hp_float = 0; //储存浮点位的hp
}
return player.hp == 0 && player.hp_float > 0;
},
init: function (player) {
if (!player.hp_float) {
player.hp_float = 0; //储存浮点位的hp
}
},
content: function () {
// game.log(player.hp,player.hp_float)
trigger.cancel();
for (var i = 0; i < _status.dying.length; ++i) {
if (_status.dying[i] == player) {
_status.dying.splice(i, 1);
}
}
// trigger.nodying = true
}
};
//回满血0.xhp处理
lib.skill["_RecoverWithFloatHp"] = {
trigger: {
player: ["recoverEnd"]
},
direct: true,
unique: true,
silent:true,
forceunique: true,
filter: function (event, player) {
if (!player.hp_float) {
player.hp_float = 0; //储存浮点位的hp
}
return player.hp == player.maxHp;
},
init: function (player) {
if (!player.hp_float) {
player.hp_float = 0; //储存浮点位的hp
}
},
content: function () {
player.hp_float = 0;
}
};
lib.skill["zioy_lockHp"] = {
trigger: {
player: ["damageBegin", "loseHpBegin"]
},
direct: true,
unique: true,
silent:true,
forceunique: true,
filter: function (event, player) {
return true;
},
mark: true,
marktext: "锁血",
intro: {
name: "锁血"
},
init: function (player) {},
content: function () {
trigger.cancel();
}
};
/*-----------------------------------------------------------以下部分为全局状态相关----------------------------------------------------------- */
game.globalStatus = {
name: null,
/*全局状态名称,string or null*/
timing_type: null,
/*全局状态计时类型,轮:'round'or回合:"phase"or null */
locked_timing_type: null,
/*全局状态锁定计时类型,轮:'round'or回合:"phase"or null */
source: null,
/*全局状态来源,player or null*/
end: 0,
/*全局状态结束时间,int */
locked_end: -1,
/*锁定结束时间,int */
storage: {
remove_timing_locked: true
},
/*存放全局状态需要的数据,object */
isLocked: function () {
/*返回全局状态是否锁定 */
if (this.locked_timing_type == "round") return this.locked_end > game.roundNumber;
else return this.locked_end > 0;
},
translation: function () {
/*返回全局状态的中文字符名称 */
return get.status(this).translation;
}
};
game.changeGlobalStatus = function () {
/*改变场上状态,example:game.changeGlobalStatus(5,3,"xiyu",ture,"phase") 表示强制转换为细雨天气5回合并锁定3回合,来源默认为event.player*/
if (!game.hasGlobalStatusButton) {
game.hasGlobalStatusButton = true;
ui.globalStatusButton = ui.create.system("喵喵", null, true);
ui.globalStatusButton.style.display = "hidden";
lib.setPopped(ui.globalStatusButton, ui.click.globalStatusButton, 170);
if (get.is.phoneLayout()) {
ui.globalStatus = ui.create.div(".touchinfo.right", ui.window);
} else {
ui.globalStatus = ui.create.div(ui.gameinfo);
}
}
var status = null,
timing_type = null,
locked_timing_type = null,
num = -1,
locked_num = -1,
source = _status.event.player,
forced = false,
Overridable = false,
nolog = false; //最后不game.log(xxxxx)
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == "nolog") {
nolog = true;
} else if (arguments[i] == "round" || arguments[i] == "phase") {
if (timing_type == null) timing_type = arguments[i];
else locked_timing_type = arguments[i];
} else if (typeof arguments[i] == "boolean") {
forced = arguments[i];
} else if (typeof arguments[i] == "number") {
if (num == -1) num = arguments[i];
else if (locked_num == -1) locked_num = arguments[i];
} else if (get.itemtype(arguments[i]) == "player" || arguments[i] == null) {
source = arguments[i];
} else if (typeof arguments[i] == "string") {
status = arguments[i];
}
}
if (timing_type == null) timing_type = "round";
if (locked_timing_type == null) locked_timing_type = timing_type;
_status.event.trigger("changeGlobalStatusBegin");
/*以上处理输入信息 */
if (get.status(status) == null) status = null;
var skill = get.status(status).skill;
if (num <= -1) {
num = 1;
}
if (locked_num <= -1) {
locked_num = 0;
}
if (locked_num > num) {
locked_num = num;
}
if (forced) {
Overridable = true;
} else if (
(get.status(status).type == get.status(game.globalStatus).type || get.status(null).type == get.status(game.globalStatus).type) &&
!game.globalStatus.isLocked()
) {
Overridable = true;
}
var str = "";
var str1 = lib.globalStatusTypeTranslation[get.status(game.globalStatus).type];
/*全局状态类型中文字符 */
var str2 = "轮",
str4 = str2;
var flag1 = true;
if (timing_type == "phase") str2 = "回合";
if (locked_timing_type == "phase") str4 = "回合";
//event.trigger("changeGlobalStatus");
if (Overridable) {
if (game.globalStatus && game.globalStatus.name != null) {
if (game.globalStatus.name != status) {
/*若当前全局状态与待召唤全局状态不一致则删除上一全局状态 */
game.removeGlobalSkillMiao(get.status(game.globalStatus).skill);
} else {
/*若当前全局状态与待召唤全局状态一致则跳过添加全局状态 */
flag1 = false;
}
}
if (flag1) {
game.addGlobalSkillMiao(skill);
// game.addGlobalSkill("globalStatusRemover");
// game.addGlobalSkill("globalStatusRemover1");
}
game.globalStatus.name = status;
game.globalStatus.end = Math.max(game.roundNumber + num,game.globalStatus.end);
game.globalStatus.locked_end = Math.max(game.roundNumber + locked_num,game.globalStatus.locked_end)
game.globalStatus.source = source;
game.globalStatus.timing_type = timing_type;
game.globalStatus.locked_timing_type = locked_timing_type;
game.globalStatus.storage.remove_timing_locked = true; //防止当前回合更改
if (timing_type == "phase") {
game.globalStatus.end = num;
}
if (locked_timing_type == "phase") {
game.globalStatus.locked_end = locked_num;
}
// if(_status.event.getParent()['triggername'] == 'phaseBegin' && timing_type == 'phase'){
// /*回合开始阶段修正 */
// game.globalStatus.end += 1;
// }
// if(_status.event.getParent()['triggername'] == 'phaseBegin' && locked_timing_type == 'phase'){
// /*回合开始阶段修正 */
// game.globalStatus.locked_end += 1;
// }
if (!(status == null && locked_num <= 0)) {
/*更新str1全局状态类型中文字符 */
str1 = lib.globalStatusTypeTranslation[get.status(game.globalStatus).type];
}
str +=
"召唤场上" +
str1 +
"为:" +
get.status(status).translation +
",持续" +
num +
"" +
str2;
if (locked_num == num) {
str =
"锁定场上" +
str1 +
"为:" +
get.status(status).translation +
",持续" +
locked_num +
"" +
str4;
} else if (locked_num > 0) {
str += "并锁定" + locked_num + "" + str4;
}
if (status == null && locked_num <= 0) {
str = "清除了场上" + str1;
}
if (forced) str = "强制" + str;
if (!nolog) game.log(source, str);
ui.updateGlobalStatus();
} else {
str += "召唤" + lib.globalStatusTypeTranslation[get.status(status).type] + "失败";
if (!nolog) game.log(source, str);
}
/*以上更改全局状态并输出 */
_status.event.trigger("changeGlobalStatus_End");
};
game.changeGlobalStatusEnd = function () {
/*改变场上状态持续时间*/
if (game.globalStatus.name == null) {
return;
}
var num = 0,
// timing_type = game.globalStatus.timing_type,
locked_num = 0,
source = _status.event.player,
nolog = false; //最后不game.log(xxxxx)
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == "nolog") {
nolog = true;
} else if (arguments[i] == "round" || arguments[i] == "phase") {
timing_type = arguments[i];
} else if (typeof arguments[i] == "number") {
if (num == 0) num = arguments[i];
else if (locked_num == 0) locked_num = arguments[i];
} else if (get.itemtype(arguments[i]) == "player" || arguments[i] == null) {
source = arguments[i];
}
}
if (num == 0 && locked_num == 0) return;
var str = "",
str1 = "",
str2 = "";
if (num > 0) {
str1 = "延长";
} else {
str1 = "减少";
num = -num;
}
if (locked_num > 0) {
str2 = "延长";
} else {
str2 = "减少";
locked_num = -locked_num;
}
if (num != 0) {
str = str + str1 + '' + get.status(game.globalStatus).translation + ":" + num + "";
if (game.globalStatus.timing_type == "round") str = str + "轮";
else str = str + "回合";
}
if (locked_num != 0) {
if (str != "") str = str + ",";
str = str + str2 + '锁定' + locked_num + "";
if (game.globalStatus.locked_timing_type == "round") str = str + "轮";
else str = str + "回合";
}
game.log(source, str);
/*处理锁定时间大于持续时间 */
if (game.globalStatus.timing_type == game.globalStatus.locked_timing_type) {
if (game.globalStatus.locked_end + locked_num > game.globalStatus.end + num) {
locked_num = game.globalStatus.end + num - game.globalStatus.locked_end;
}
}
/*处理锁定时间小于0 */
if (game.globalStatus.locked_timing_type == "round") {
if (game.globalStatus.locked_end + locked_num <= game.roundNumber) {
locked_num = -game.globalStatus.locked_end + 1;
}
} else {
if (game.globalStatus.locked_end + locked_num <= 0) {
locked_num = -game.globalStatus.locked_end;
}
}
game.globalStatus.end = game.globalStatus.end + num;
game.globalStatus.locked_end = game.globalStatus.locked_end + locked_num;
game.globalStatus.source = source;
game.globalStatus.storage.remove_timing_locked = true; //防止当前回合更改
// game.globalStatus.timing_type = timing_type;
/*处理剩余时间小于0 */
if (game.globalStatus.timing_type == "round") {
if (game.globalStatus.end <= game.roundNumber) {
game.clearGlobalStatus(true, "nolog");
}
} else {
if (game.globalStatus.end <= 0) {
game.clearGlobalStatus(true, "nolog");
}
}
};
game.clearGlobalStatus = function () {
/*强制或状态非锁定则清除场上状态 */
var force = false,
source = _status.event.player,
nolog = false,
str1 = "清除" + lib.globalStatusTypeTranslation[get.status(game.globalStatus).type];
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] == true) {
force = true;
} else if (get.itemtype(arguments[i]) == "player" || arguments[i] == null) {
source = arguments[i];
} else if (arguments[i] == "nolog") {
nolog = true;
}
}
//event.trigger("clearGlobalStatusBegin");
//event.trigger("clearGlobalStatus");
if (force || !game.globalStatus.isLocked() || game.globalStatus.name == null) {
if (force) {
str1 = "强制" + str1;
}
game.changeGlobalStatus("nolog", true, null);
// game.removeGlobalSkill("globalStatusRemover");
// game.removeGlobalSkill("globalStatusRemover1");
ui.updateGlobalStatus();
if (!nolog) game.log(source, str1 + "成功");
} else {
if (!nolog) game.log(source, str1 + "失败");
}
//event.trigger("clearGlobalStatusEnd");
};
game.addGlobalSkillMiao = function (skill) {
/*添加globalSkill的同时处理skill的init和groupM*/
if (!lib.skill[skill]) return;
game.addGlobalSkill(skill);
/*处理skill的init */
if (lib.skill[skill].init && typeof lib.skill[skill].init == "function") {
let p = _status.event.player;
do {
lib.skill[skill].init(p);
p = p.next;
} while (p != _status.event.player);
}
/*直接使用group会出错,这里使用groupM */
if (lib.skill[skill].groupM) {
if (typeof lib.skill[skill].groupM == "string") {
game.log("hello");
game.addGlobalSkillMiao(lib.skill[skill].groupM);
} else {
for (let i in lib.skill[skill].groupM) {
game.addGlobalSkillMiao(i);
}
}
}
};
game.removeGlobalSkillMiao = function (skill) {
/*添加globalSkill的同时处理skill的onremove和groupM*/
if (!lib.skill[skill]) return;
game.removeGlobalSkill(skill);
/*处理skill的onremove */
if (lib.skill[skill].onremove && typeof lib.skill[skill].onremove == "function") {
let p = _status.event.player;
do {
lib.skill[skill].onremove(p);
p = p.next;
} while (p != _status.event.player);
}
/*直接使用group会出错,这里使用groupM */
if (lib.skill[skill].groupM) {
if (typeof lib.skill[skill].groupM == "string") {
game.removeGlobalSkillMiao(lib.skill[skill].groupM);
} else {
for (let i in lib.skill[skill].groupM) {
game.removeGlobalSkillMiao(i);
}
}
}
};
// game.hasGlobalStatus = function () {
// /*返回目前是否拥有状态,没啥用 */
// if (!game.globalStatus || game.globalStatus == null || game.globalStatus.name == null) return false;
// return true;
// };
get.status = function (status) {
/*如果输入一个object或string,返回lib.globalStatus中key对应的内容,否则返回lib.globalStatus[null] */
var s = status;
if (typeof status == "object" && status != null) {
return get.status(s.name);
}
if (lib.globalStatus[status]) {
return lib.globalStatus[status];
}
return lib.globalStatus[null];
};
ui.updateGlobalStatus = function () {
/*时钟边上的全局状态显示 */
if (game.globalStatus.name != null) {
ui.globalStatus.innerHTML = lib.globalStatusTypeTranslation[get.status(game.globalStatus).type] + ":" + get.status(game.globalStatus).translation;
} else {
ui.globalStatus.innerHTML = "当前无天气/环境";
}
if (get.is.phoneLayout()) ui.globalStatus.innerHTML = "
" + ui.globalStatus.innerHTML;
};
ui.click.globalStatusButton = function () {
/*喵喵按钮 */
var uiintro = ui.create.dialog("hidden");
uiintro.listen(function (e) {
e.stopPropagation();
});
var num;
if (game.online) {
num = _status.cardPileNum || 0;
} else {
num = ui.cardPile.childNodes.length;
}
if (game.globalStatus.name == null) {
uiintro.add("当前无天气/环境");
} else {
uiintro.add(
'
--->剩余:' + num1 + str2 + "
";
if (game.globalStatus.locked_timing_type == "phase") {
str2 = "回合";
num2 = game.globalStatus.locked_end;
}
if (game.globalStatus.isLocked()) {
str += "--->锁定:" + num2 + str2 + "
--->效果:' + get.status(game.globalStatus).intro.replace('
','
--->') + "