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,