From c1b98caa559fdb26eda614b3e9881d64d954eace Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 18:11:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E7=8A=B6=E6=80=81=E6=A0=8F?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _docs/personalization.md | 36 ++++----- _server/MotaAction.g4 | 6 +- _server/css/editor_mode.css | 10 ++- _server/css/editor_mode_mobile.css | 22 +++--- _server/editor_table.js | 4 +- _server/table/data.comment.js | 118 +++++++++++------------------ libs/control.js | 33 ++++---- libs/core.js | 2 - libs/events.js | 13 +++- libs/ui.js | 10 +-- project/data.js | 24 +++--- project/functions.js | 51 +++++-------- 12 files changed, 147 insertions(+), 182 deletions(-) diff --git a/_docs/personalization.md b/_docs/personalization.md index d32dc507..6a37b175 100644 --- a/_docs/personalization.md +++ b/_docs/personalization.md @@ -494,11 +494,8 @@ this.myfunc = function(x) { 3. 在脚本编辑-updateStatusBar中可以直接替换技能栏的显示内容 ``` - // 设置技能栏 - if (core.flags.enableSkill) { - // 替换成你想显示的内容,比如你定义的一个flag:abc。 - core.setStatusBarInnerHTML('skill', core.getFlag("abc", 0)); - } + // 替换成你想显示的内容,比如你定义的一个flag:abc。 + core.setStatusBarInnerHTML('skill', core.getFlag("abc", 0)); ``` ### 额外新增新项目 @@ -568,22 +565,17 @@ core.statusBar.speed.innerHTML = core.getFlag('speed', 0); 在脚本编辑-updateStatusBar中,可以对状态栏显示内容进行修改。 ``` js -// 设置魔力值 -if (core.flags.enableMana) { - // status:manamax 只有在非负时才生效。 - if (core.status.hero.manamax != null && core.status.hero.manamax >= 0) { - core.status.hero.mana = Math.min(core.status.hero.mana, core.status.hero.manamax); - core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.status.hero.manamax); - } - else { - core.setStatusBarInnerHTML("mana", core.status.hero.mana); - } +// 设置魔力值; status:manamax 只有在非负时才生效。 +if (core.status.hero.manamax != null && core.status.hero.manamax >= 0) { + core.status.hero.mana = Math.min(core.status.hero.mana, core.status.hero.manamax); + core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.status.hero.manamax); +} +else { + core.setStatusBarInnerHTML("mana", core.status.hero.mana); } // 设置技能栏 -if (core.flags.enableSkill) { - // 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名 - core.statusBar.skill.innerHTML = core.getFlag('skillName', '无'); -} +// 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名 +core.statusBar.skill.innerHTML = core.getFlag('skillName', '无'); ``` ### 技能的触发 @@ -628,8 +620,8 @@ else { // 关闭技能 ``` js case 87: // W:开启技能“二倍斩” - // 检测技能栏是否开启,是否拥有“二倍斩”这个技能道具 - if (core.flags.enableSkill && core.hasItem('skill1')) { + // 是否拥有“二倍斩”这个技能道具 + if (core.hasItem('skill1')) { core.status.route.push("key:87"); core.useItem('skill1', true); } @@ -668,7 +660,7 @@ if (core.getFlag('skill', 0)==1) { // 开启了技能1 ``` js // 战后的技能处理,比如扣除魔力值 -if (core.flags.enableSkill) { +if (core.flags.statusBarItems.indexOf('enableSkill')>=0) { // 检测当前开启的技能类型 var skill = core.getFlag('skill', 0); if (skill==1) { // 技能1:二倍斩 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 38f209be..fdc3758a 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -659,7 +659,7 @@ setGlobalFlag_s /* setGlobalFlag_s tooltip : setGlobalFlag:设置系统开关 helpUrl : https://h5mota.com/games/template/_docs/#/event?id=setGlobalFlag%ef%bc%9a%e8%ae%be%e7%bd%ae%e4%b8%80%e4%b8%aa%e7%b3%bb%e7%bb%9f%e5%bc%80%e5%85%b3 -default : ["enableFloor","true"] +default : ["s:enableFloor","true"] colour : this.dataColor var code = '{"type": "setGlobalFlag", "name": "'+Global_Flag_List_0+'", "value": '+Bool_0+'},\n'; return code; @@ -2745,8 +2745,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExperience', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index d7cc4010..a9ee3bcf 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -150,11 +150,11 @@ } .etable tr > :nth-child(1) { - width: 20% + width: 17% } .etable tr > :nth-child(2) { - width: 22% + width: 23% } .etable tr > :nth-child(3) { @@ -162,7 +162,7 @@ } .etable tr > :nth-child(4) { - width: 23%; + width: 25%; padding: 0; } @@ -201,6 +201,10 @@ div.etableInputDiv { right: 0; } +div.checkboxSet { + position: relative !important; +} + .etableInputDiv > * { margin: 0; padding: 0; diff --git a/_server/css/editor_mode_mobile.css b/_server/css/editor_mode_mobile.css index bb680213..e59fbd3e 100644 --- a/_server/css/editor_mode_mobile.css +++ b/_server/css/editor_mode_mobile.css @@ -144,7 +144,7 @@ .etable table th, .etable table td { - padding: 6px 13px; + padding: 5px; border: 1px solid #dfe2e5; } @@ -172,11 +172,11 @@ } .etable tr > :nth-child(3) { - width: 30%; + width: 38%; } .etable tr > :nth-child(4) { - width: 30%; + width: 22%; text-align: center; } @@ -211,6 +211,10 @@ div.etableInputDiv { right: 0; } +div.checkboxSet { + position: relative !important; +} + .etableInputDiv > * { margin: 0; padding: 0; @@ -220,11 +224,7 @@ div.etableInputDiv { border: none; } -.etableInputDiv input[type="text"] { - -} - -.etableInputDiv input[type="checkbox"] { +.etableInputDiv .checkbox { width: 16px; height: 16px; position: absolute; @@ -234,8 +234,10 @@ div.etableInputDiv { margin-top: -8px; } -.etableInputDiv select { - +.etableInputDiv .checkboxSetMember { + width: 16px; + height: 16px; + display: inline-block; } .etableInputDiv textarea { diff --git a/_server/editor_table.js b/_server/editor_table.js index eac76571..350136f2 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -49,7 +49,7 @@ editor_table_wrapper = function (editor) { var list = []; if (showComment) list.push(""); if (showEdit) list.push(""); - return list.join(' '); + return list.join(' '); } editor_table.prototype.title = function () { @@ -64,7 +64,7 @@ editor_table_wrapper = function (editor) { return /* html */` ${shortField} ${shortComment || commentHTMLescape} -
${tdstr}
+
${tdstr}
${editor.table.editGrid(shortComment, type != 'select' && type != 'checkbox' && type != 'checkboxSet')} \n` } diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index da4b28c5..d2779ce5 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -470,80 +470,52 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "flags": { "_type": "object", "_data": { - "enableFloor": { + "statusBarItems": { "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示当前楼层" - }, - "enableName": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示勇士名字" - }, - "enableLv": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示当前等级" - }, - "enableHPMax": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否是否启用生命上限" - }, - "enableMana": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否开启魔力值" - }, - "enableMDef": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏及战斗界面显示魔防(护盾)" - }, - "enableMoney": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏、怪物手册及战斗界面显示金币" - }, - "enableExperience": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏、怪物手册及战斗界面显示经验" - }, - "enableLevelUp": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否允许等级提升(进阶);如果上面enableExperience为false,则此项恒视为false" - }, - "levelUpLeftMode": { - "_leaf": true, - "_type": "checkbox", - "_data": "进阶使用扣除模式,即在状态栏显示距离下个等级所需要的经验值;只有enableExperience和enableLevelUp均开启时才有效。" - }, - "enableKeys": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示三色钥匙数量" - }, - "enableGreenKey": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示绿钥匙" - }, - "enablePZF": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示破炸飞数量" - }, - "enableDebuff": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否在状态栏显示毒衰咒" - }, - "enableSkill": { - "_leaf": true, - "_type": "checkbox", - "_data": "是否启用技能栏" + "_type": "checkboxSet", + "_checkboxSet": { + "prefix": [ + "楼层", + "名字", + "
等级", + "血限", + "
生命", + "魔力", + "
攻击", + "防御", + "
护盾", + "金币", + "
经验", + "升级", + "
升级扣除模式", + "
钥匙", + "绿钥", + "
破炸", + "负面", + "
技能" + ], + "key": [ + "enableFloor", + "enableName", + "enableLv", + "enableHPMax", + "enableHP", + "enableMana", + "enableAtk", + "enableDef", + "enableMDef", + "enableMoney", + "enableExperience", + "enableLevelUp", + "levelUpLeftMode", + "enableKeys", + "enableGreenKey", + "enablePZF", + "enableDebuff", + "enableSkill" + ] + }, + "_data": "状态栏显示" }, "flyNearStair": { "_leaf": true, diff --git a/libs/control.js b/libs/control.js index 5da3238d..391a9f9c 100644 --- a/libs/control.js +++ b/libs/control.js @@ -2612,20 +2612,25 @@ control.prototype._shouldDisplayStatus = function(id) { } return toDraw; } + var obj = {}; + core.flags.statusBarItems.forEach(function (v) { obj[v] = true; }) switch (id) { - case 'floor': return core.flags.enableFloor; - case 'name': return core.flags.enableName; - case 'lv': return core.flags.enableLv; - case 'hpmax': return core.flags.enableHPMax; - case 'mana': return core.flags.enableMana; - case 'mdef': return core.flags.enableMDef; - case 'money': return core.flags.enableMoney; - case 'experience': return core.flags.enableExperience && !core.flags.levelUpLeftMode; - case 'up': return core.flags.enableLevelUp; - case 'skill': return core.flags.enableSkill; - case 'key': return core.flags.enableKeys; - case 'pzf': return core.flags.enablePZF; - case 'debuff': return core.flags.enableDebuff; + case 'floor': return obj.enableFloor; + case 'name': return obj.enableName; + case 'lv': return obj.enableLv; + case 'hp': return obj.enableHP; + case 'hpmax': return obj.enableHPMax; + case 'mana': return obj.enableMana; + case 'atk': return obj.enableAtk; + case 'def': return obj.enableDef; + case 'mdef': return obj.enableMDef; + case 'money': return obj.enableMoney; + case 'experience': return obj.enableExperience && !obj.levelUpLeftMode; + case 'up': return obj.enableLevelUp; + case 'skill': return obj.enableSkill; + case 'key': return obj.enableKeys; + case 'pzf': return obj.enablePZF; + case 'debuff': return obj.enableDebuff; default: return true; } } @@ -2822,7 +2827,7 @@ control.prototype._resize_status = function (obj) { core.dom.statusTexts[i].style.color = obj.globalAttribute.statusBarColor; } // keys - if (core.flags.enableGreenKey) { + if (core.flags.statusBarItems.indexOf('enableGreenKey')>=0) { core.dom.keyCol.style.fontSize = '0.75em'; core.statusBar.greenKey.style.display = ''; } else { diff --git a/libs/core.js b/libs/core.js index 7407d5ba..2654c2e1 100644 --- a/libs/core.js +++ b/libs/core.js @@ -282,8 +282,6 @@ core.prototype._init_flags = function () { } core.prototype._init_sys_flags = function () { - if (!core.flags.enableExperience) core.flags.enableLevelUp = false; - if (!core.flags.enableLevelUp) core.flags.levelUpLeftMode = false; if (core.flags.equipboxButton) core.flags.equipment = true; core.flags.displayEnemyDamage = core.getLocalStorage('enemyDamage', core.flags.displayEnemyDamage); core.flags.displayCritical = core.getLocalStorage('critical', core.flags.displayCritical); diff --git a/libs/events.js b/libs/events.js index 4f3630e8..fea5a77e 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2535,8 +2535,15 @@ events.prototype.setGlobalAttribute = function (name, value) { ////// 设置全局开关 ////// events.prototype.setGlobalFlag = function (name, value) { var flags = core.getFlag("globalFlags", {}); - flags[name] = value; - core.flags[name] = value; + if (name.startsWith('s:')) { + name = name.substring(2); + var statusBarItems = core.flags.statusBarItems.filter(function (v) {return v!=name;}); + if (value) statusBarItems.push(name); + core.flags.statusBarItems = statusBarItems; + flags.statusBarItems = core.clone(statusBarItems); + } else { + flags[name] = core.flags.name = value; + } core.setFlag("globalFlags", flags); core.resize(); if (name == 'blurFg') @@ -2963,7 +2970,7 @@ events.prototype.checkLvUp = function () { } events.prototype._checkLvUp_check = function () { - if (!core.flags.enableLevelUp || !core.firstData.levelUp + if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 || !core.firstData.levelUp || core.status.hero.lv >= core.firstData.levelUp.length) return null; // 计算下一个所需要的数值 var next = (core.firstData.levelUp[core.status.hero.lv] || {}); diff --git a/libs/ui.js b/libs/ui.js index 99e28982..b102dd03 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1762,9 +1762,9 @@ ui.prototype._drawBook_drawRow2 = function (index, enemy, top, left, width, posi var col1 = left, col2 = left + width * 9 / 25, col3 = left + width * 17 / 25; // 获得第二行绘制的内容 var second_line = []; - if (core.flags.enableMoney) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); + if (core.flags.statusBarItems.indexOf('enableMoney')>=0) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); if (core.flags.enableAddPoint) second_line.push(["加点", core.formatBigNumber(enemy.point || 0)]); - if (core.flags.enableExperience) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]); + if (core.flags.statusBarItems.indexOf('enableExperience')>=0) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]); var damage_offset = col1 + (this.PIXEL - col1) / 2 - 12; // 第一列 @@ -2650,7 +2650,7 @@ ui.prototype.drawStatistics = function (floorIds) { +"总计打死了"+statistics.battle+"个怪物,得到了"+core.formatBigNumber(statistics.money)+"金币,"+core.formatBigNumber(statistics.experience)+"点经验。\n\n" +"受到的总伤害为"+core.formatBigNumber(statistics.battleDamage+statistics.poisonDamage+statistics.extraDamage) +",其中战斗伤害"+core.formatBigNumber(statistics.battleDamage)+"点" - +(core.flags.enableDebuff?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") + +(core.flags.statusBarItems.indexOf('enableDebuff')>=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") +",领域/夹击/阻击/血网伤害"+core.formatBigNumber(statistics.extraDamage)+"点。", "\t[说明]1. 地图数据统计的效果仅模拟当前立刻获得该道具的效果。\n2. 不会计算“不可被浏览地图”的隐藏层的数据。\n" + "3. 不会计算任何通过事件得到的道具(显示事件、改变图块、或直接增加道具等)。\n"+ @@ -2765,8 +2765,8 @@ ui.prototype._drawStatistics_items = function (floorId, floor, id, obj) { ui.prototype._drawStatistics_generateText = function (obj, type, data) { var text = type+"地图中:\n"; text += "共有怪物"+data.monster.count+"个"; - if (core.flags.enableMoney) text+=",总金币数"+data.monster.money; - if (core.flags.enableExperience) text+=",总经验数"+data.monster.experience; + if (core.flags.statusBarItems.indexOf('enableMoney')>=0) text+=",总金币数"+data.monster.money; + if (core.flags.statusBarItems.indexOf('enableExperience')>=0) text+=",总经验数"+data.monster.experience; if (core.flags.enableAddPoint) text+=",总加点数"+data.monster.point; text+="。\n"; diff --git a/project/data.js b/project/data.js index bd0fb6d9..7d1a669c 100644 --- a/project/data.js +++ b/project/data.js @@ -412,21 +412,15 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "animateSpeed": 400 }, "flags": { - "enableFloor": true, - "enableName": false, - "enableLv": false, - "enableHPMax": false, - "enableMana": false, - "enableMDef": true, - "enableMoney": true, - "enableExperience": false, - "enableLevelUp": false, - "levelUpLeftMode": false, - "enableKeys": true, - "enableGreenKey": false, - "enablePZF": false, - "enableDebuff": false, - "enableSkill": false, + "statusBarItems": [ + "enableFloor", + "enableHP", + "enableAtk", + "enableDef", + "enableMDef", + "enableMoney", + "enableKeys" + ], "flyNearStair": true, "flyRecordPosition": false, "pickaxeFourDirections": false, diff --git a/project/functions.js b/project/functions.js index 84d6ab7e..8942245f 100644 --- a/project/functions.js +++ b/project/functions.js @@ -295,8 +295,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.status.hero.statistics.experience += experience; var hint = "打败 " + enemy.name; - if (core.flags.enableMoney) hint += ",金币+" + money; - if (core.flags.enableExperience) hint += ",经验+" + experience; + if (core.flags.statusBarItems.indexOf('enableMoney')>=0) hint += ",金币+" + money; + if (core.flags.statusBarItems.indexOf('enableExperience')>=0) hint += ",经验+" + experience; core.drawTip(hint, enemy.id); // 事件的处理 @@ -335,7 +335,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setFlag('hatred', core.getFlag('hatred', 0) + core.values.hatred); // 战后的技能处理,比如扣除魔力值 - if (core.flags.enableSkill) { + if (core.flags.statusBarItems.indexOf('enableSkill') >=0 ) { // 检测当前开启的技能类型 var skill = core.getFlag('skill', 0); if (skill == 1) { // 技能1:二倍斩 @@ -1008,7 +1008,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.events.checkLvUp(); // 检查HP上限 - if (core.flags.enableHPMax) { + if (core.flags.statusBarItems.indexOf('enableHPMax') >= 0) { core.setStatus('hp', Math.min(core.getStatus('hpmax'), core.getStatus('hp'))); } @@ -1031,22 +1031,17 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setStatusBarInnerHTML(item, core.getRealStatus(item)); }); - // 设置魔力值 - if (core.flags.enableMana) { - // status:manamax 只有在非负时才生效。 - if (core.status.hero.manamax != null && core.getRealStatus('manamax') >= 0) { - core.status.hero.mana = Math.min(core.status.hero.mana, core.getRealStatus('manamax')); - core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.getRealStatus('manamax')); - } - else { - core.setStatusBarInnerHTML("mana", core.status.hero.mana); - } + // 设置魔力值; status:manamax 只有在非负时才生效。 + if (core.status.hero.manamax != null && core.getRealStatus('manamax') >= 0) { + core.status.hero.mana = Math.min(core.status.hero.mana, core.getRealStatus('manamax')); + core.setStatusBarInnerHTML('mana', core.status.hero.mana + "/" + core.getRealStatus('manamax')); + } + else { + core.setStatusBarInnerHTML("mana", core.status.hero.mana); } // 设置技能栏 - if (core.flags.enableSkill) { - // 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名;详见文档-个性化-技能塔的支持 - core.setStatusBarInnerHTML('skill', core.getFlag('skillName', '无')); - } + // 可以用flag:skill表示当前开启的技能类型,flag:skillName显示技能名;详见文档-个性化-技能塔的支持 + core.setStatusBarInnerHTML('skill', core.getFlag('skillName', '无')); // 可以在这里添加自己额外的状态栏信息,比如想攻击显示 +0.5 可以这么写: // if (core.hasFlag('halfAtk')) core.setStatusBarInnerHTML('atk', core.statusBar.atk.innerText + "+0.5"); @@ -1054,9 +1049,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如果是自定义添加的状态栏,也需要在这里进行设置显示的数值 // 进阶 - if (core.flags.enableLevelUp && core.status.hero.lv < core.firstData.levelUp.length) { + if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 && core.status.hero.lv < core.firstData.levelUp.length) { var need = core.calValue(core.firstData.levelUp[core.status.hero.lv].need); - if (core.flags.levelUpLeftMode) + if (core.flags.statusBarItems.indexOf('levelUpLeftMode')>=0) core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('experience')) || ""); else core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || ""); @@ -1068,17 +1063,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.setStatusBarInnerHTML(key, core.setTwoDigits(core.itemCount(key))); }); // 毒衰咒 - if (core.flags.enableDebuff) { - core.setStatusBarInnerHTML('poison', core.hasFlag('poison') ? "毒" : ""); - core.setStatusBarInnerHTML('weak', core.hasFlag('weak') ? "衰" : ""); - core.setStatusBarInnerHTML('curse', core.hasFlag('curse') ? "咒" : ""); - } + core.setStatusBarInnerHTML('poison', core.hasFlag('poison') ? "毒" : ""); + core.setStatusBarInnerHTML('weak', core.hasFlag('weak') ? "衰" : ""); + core.setStatusBarInnerHTML('curse', core.hasFlag('curse') ? "咒" : ""); // 破炸飞 - if (core.flags.enablePZF) { - core.setStatusBarInnerHTML('pickaxe', "破" + core.itemCount('pickaxe')); - core.setStatusBarInnerHTML('bomb', "炸" + core.itemCount('bomb')); - core.setStatusBarInnerHTML('fly', "飞" + core.itemCount('centerFly')); - } + core.setStatusBarInnerHTML('pickaxe', "破" + core.itemCount('pickaxe')); + core.setStatusBarInnerHTML('bomb', "炸" + core.itemCount('bomb')); + core.setStatusBarInnerHTML('fly', "飞" + core.itemCount('centerFly')); // 难度 core.statusBar.hard.innerText = core.status.hard;