From dcce32f93114f7a8fbfb9a9ac71426ef2fd99412 Mon Sep 17 00:00:00 2001 From: oc Date: Sat, 3 Mar 2018 23:46:21 +0800 Subject: [PATCH] Support Reborn --- libs/control.js | 2 +- libs/core.js | 4 ++-- libs/events.js | 17 ++++++++++------- libs/maps.js | 4 ++-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/libs/control.js b/libs/control.js index 7beac62f..4e523a35 100644 --- a/libs/control.js +++ b/libs/control.js @@ -1880,7 +1880,7 @@ control.prototype.loadData = function (data, callback) { core.changeFloor(data.floorId, null, data.hero.loc, 0, function() { if (core.isset(callback)) callback(); - }); + }, true); } ////// 设置勇士属性 ////// diff --git a/libs/core.js b/libs/core.js index ea74aa9e..30de90c1 100644 --- a/libs/core.js +++ b/libs/core.js @@ -536,8 +536,8 @@ core.prototype.trigger = function (x, y) { } ////// 楼层切换 ////// -core.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback) { - core.events.changeFloor(floorId, stair, heroLoc, time, callback); +core.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback, fromLoad) { + core.events.changeFloor(floorId, stair, heroLoc, time, callback, fromLoad); } ////// 清除地图 ////// diff --git a/libs/events.js b/libs/events.js index 2751ea4f..76415798 100644 --- a/libs/events.js +++ b/libs/events.js @@ -801,7 +801,7 @@ events.prototype.trigger = function (x, y) { } ////// 楼层切换 ////// -events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback) { +events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback, fromLoad) { var displayAnimate=!(time==0) && !core.status.replay.replaying; @@ -879,12 +879,15 @@ events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback } else core.setWeather(); - core.status.maps[floorId].blocks.forEach(function(block) { - if (core.isset(block.enable) && !block.enable && core.isset(block.event) && block.event.cls=='enemys' - && core.enemys.hasSpecial(core.material.enemys[block.event.id].special, 23)) { - block.enable = true; - } - }) + // 检查重生 + if (!core.isset(fromLoad)) { + core.status.maps[floorId].blocks.forEach(function(block) { + if (core.isset(block.enable) && !block.enable && core.isset(block.event) && block.event.cls=='enemys' + && core.enemys.hasSpecial(core.material.enemys[block.event.id].special, 23)) { + block.enable = true; + } + }) + } core.drawMap(floorId, function () { setTimeout(function() { diff --git a/libs/maps.js b/libs/maps.js index b2e67b1e..90b12abb 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -722,7 +722,7 @@ maps.prototype.removeBlock = function (x, y, floorId) { maps.prototype.removeBlockById = function (index, floorId) { var blocks = core.status.maps[floorId].blocks, block = blocks[index]; - var x=blocks.x, y=blocks.y; + var x=block.x, y=block.y; // 检查该点是否存在事件 var event = core.floors[floorId].events[x+","+y]; @@ -740,7 +740,7 @@ maps.prototype.removeBlockById = function (index, floorId) { blocks.splice(index,1); return; } - blocks[index].enable = false; + block.enable = false; } ////// 一次性删除多个block //////