From dc736f1676569a3de8d81582cbed289395dc0e4f Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 1 Aug 2021 12:25:31 +0800 Subject: [PATCH] Fix V2.8 bugs --- _server/editor_file.js | 2 +- _server/editor_mode.js | 9 +++++++-- _server/table/comment.js | 7 +++++++ _server/table/data.comment.js | 6 ++++++ libs/core.js | 2 +- libs/maps.js | 3 ++- libs/ui.js | 12 +++++++++++- project/data.js | 1 + 8 files changed, 36 insertions(+), 6 deletions(-) diff --git a/_server/editor_file.js b/_server/editor_file.js index ec0cbb20..a6adcabf 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -306,7 +306,7 @@ editor_file = function (editor, callback) { callback('不能对自动元件进行自动注册!'); return; } - if ((image=='npcs' || image=='npc48' || image == 'enemys' || image == 'enemy48') + if ((image=='npc48' || image == 'enemy48') && confirm("你想绑定图块的朝向么?\n如果是,则会将最后四个注册图块的faceIds进行自动绑定。")) { bindFaceIds = true; } diff --git a/_server/editor_mode.js b/_server/editor_mode.js index e072844a..54072504 100644 --- a/_server/editor_mode.js +++ b/_server/editor_mode.js @@ -60,13 +60,18 @@ editor_mode = function (editor) { ; var str = '修改成功!'; if (data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.firstData.name == 'template') - str += '\n请注意:全塔属性的name尚未修改,请及时予以设置。'; + str += '
请注意:全塔属性的name尚未修改,请及时予以设置。'; if (mode == 'enemyitem') { if (editor.info && editor.info.idnum) { var block = editor.core.maps.blocksInfo[editor.info.idnum]; if (block.doorInfo != null && block.doorInfo.keys != null && Object.keys(block.doorInfo.keys).length > 0 && block.trigger != 'openDoor') { - str += "\n你修改了门信息,但触发器未改成openDoor,请修改否则无法撞击开门。" + str += "
你修改了门信息,但触发器未改成openDoor,请修改否则无法撞击开门。" + } + } + if (editor_mode.info.images == 'enemys' || editor_mode.info.images == 'enemy48') { + if (core.getFaceDownId(editor_mode.info.id) != editor_mode.info.id) { + str += "
绑定行走图朝向后只需要对应设置朝下怪物的属性,会自动同步而无需修改其他朝向的属性。" } } } diff --git a/_server/table/comment.js b/_server/table/comment.js index c7d73445..33ed27ac 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -128,6 +128,13 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_docs": "怪物描述", "_data": "可在怪物详细信息页面写的怪物描述,支持颜色、字体大小和样式、粗体斜体等转义方式。" }, + "displayIdInBook": { + "_leaf": true, + "_type": "textarea", + "_string": true, + "_docs": "手册ID", + "_data": "在怪物手册中映射到的怪物ID。如果此项不为null,则在怪物手册中,将用目标ID来替换该怪物原本的ID。常被运用在同一个怪物的多朝向上。" + }, "faceIds": { "_leaf": true, "_type": "event", diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 5df3ea85..3508accc 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -601,6 +601,12 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_docs": "开启自绘状态栏", "_data": "是否状态栏canvas化,即手动自定义绘制状态栏。\n如果此项开启,则可在脚本编辑的drawStatusBar中自定义绘制菜单栏。" }, + "enableEnemyPoint": { + "_leaf": true, + "_type": "checkbox", + "_docs": "怪物显伤", + "_data": "是否开启怪物的定点显示功能,即属性不同的怪物会在怪物手册单列;用户可以手动在菜单栏中开关" + }, "displayEnemyDamage": { "_leaf": true, "_type": "checkbox", diff --git a/libs/core.js b/libs/core.js index d82d9592..5044f2d1 100644 --- a/libs/core.js +++ b/libs/core.js @@ -360,6 +360,7 @@ core.prototype._init_sys_flags = function () { core.flags.displayEnemyDamage = core.getLocalStorage('enemyDamage', core.flags.displayEnemyDamage); core.flags.displayCritical = core.getLocalStorage('critical', core.flags.displayCritical); core.flags.displayExtraDamage = core.getLocalStorage('extraDamage', core.flags.displayExtraDamage); + core.flags.enableEnemyPoint = core.getLocalStorage('enableEnemyPoint', core.flags.enableEnemyPoint); core.flags.leftHandPrefer = core.getLocalStorage('leftHandPrefer', false); core.flags.extraDamageType = core.getLocalStorage('extraDamageType', 0); // 行走速度 @@ -367,7 +368,6 @@ core.prototype._init_sys_flags = function () { core.values.floorChangeTime = core.getLocalStorage('floorChangeTime', core.values.floorChangeTime); if (core.values.floorChangeTime == null) core.values.floorChangeTime = 500; core.flags.enableHDCanvas = core.getLocalStorage('enableHDCanvas', !core.platform.isIOS); - core.flags.enableEnemyPoint = core.getLocalStorage('enableEnemyPoint', true); } core.prototype._init_platform = function () { diff --git a/libs/maps.js b/libs/maps.js index f4f64a03..58343b76 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -1969,7 +1969,8 @@ maps.prototype.hideBlockByIndexes = function (indexes, floorId) { maps.prototype._removeBlockFromMap = function (floorId, block) { if (floorId != core.status.floorId) return; - if (block.event.cls == 'autotile') { + var filter = block.filter || {}; + if (block.event.cls == 'autotile' || filter.blur > 0 || filter.shadow > 0) { core.drawMap(); } else { var x = block.x, y = block.y; diff --git a/libs/ui.js b/libs/ui.js index d93c474a..c304e5d3 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -687,10 +687,12 @@ ui.prototype.clearUI = function () { ////// 左上角绘制一段提示 ////// ui.prototype.drawTip = function (text, id, frame) { + text = core.replaceText(text) || ""; + var realText = this._getRealContent(text); var one = { text: text, textX: 21, - width: 26 + core.calWidth('data', text, "16px Arial"), + width: 26 + core.calWidth('data', realText, "16px Arial"), opacity: 0.1, stage: 1, frame: frame || 0, @@ -1998,6 +2000,10 @@ ui.prototype._drawCursor = function () { ////// 绘制怪物手册 ////// ui.prototype.drawBook = function (index) { var floorId = core.floorIds[(core.status.event.ui||{}).index] || core.status.floorId; + // 清除浏览地图时的光环缓存 + if (floorId != core.status.floorId && core.status.checkBlock) { + core.status.checkBlock.cache = {}; + } var enemys = core.enemys.getCurrentEnemys(floorId); core.clearUI(); core.clearMap('data'); @@ -2260,6 +2266,10 @@ ui.prototype._drawBookDetail = function (index) { ui.prototype._drawBookDetail_getInfo = function (index) { var floorId = core.floorIds[(core.status.event.ui||{}).index] || core.status.floorId; + // 清除浏览地图时的光环缓存 + if (floorId != core.status.floorId && core.status.checkBlock) { + core.status.checkBlock.cache = {}; + } var enemys = core.enemys.getCurrentEnemys(floorId); if (enemys.length==0) return []; index = core.clamp(index, 0, enemys.length - 1); diff --git a/project/data.js b/project/data.js index f71d475f..b7ba3951 100644 --- a/project/data.js +++ b/project/data.js @@ -723,6 +723,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "useLoop": false, "startUsingCanvas": false, "statusCanvas": false, + "enableEnemyPoint": true, "displayEnemyDamage": true, "displayCritical": true, "displayExtraDamage": true,