From dd62f5a7271e1f86f2682052c5935a1fcd31a511 Mon Sep 17 00:00:00 2001 From: Shaun Date: Fri, 2 Apr 2021 08:44:59 +0200 Subject: [PATCH] bug: Fixed an issue in blocking tile indices that was causing some water tiles to be walkable --- src/server/world/map.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/server/world/map.js b/src/server/world/map.js index a8851722..2d7efb15 100644 --- a/src/server/world/map.js +++ b/src/server/world/map.js @@ -366,20 +366,23 @@ module.exports = { const offsetCell = this.getOffsetCellPos(sheetName, cellInfo.cell); - if ((layerName !== 'hiddenWalls') && (layerName !== 'hiddenTiles')) { - let layer = this.layers; + const isHiddenLayer = layerName.indexOf('hidden') === 0; + + if (isHiddenLayer) + this[layerName][x][y] = offsetCell; + else { + const layer = this.layers; + if (this.oldLayers[layerName]) this.oldLayers[layerName][x][y] = offsetCell; + layer[x][y] = (layer[x][y] === null) ? offsetCell : layer[x][y] + ',' + offsetCell; - } else if (layerName === 'hiddenWalls') - this.hiddenWalls[x][y] = offsetCell; - else if (layerName === 'hiddenTiles') - this.hiddenTiles[x][y] = offsetCell; - - if (layerName.indexOf('walls') > -1) - this.collisionMap[x][y] = 1; - else if (clientConfig.config.blockingTileIndices.includes(offsetCell)) - this.collisionMap[x][y] = 1; + + if (layerName.indexOf('walls') > -1) + this.collisionMap[x][y] = 1; + else if (clientConfig.config.blockingTileIndices.includes(offsetCell)) + this.collisionMap[x][y] = 1; + } }, object: function (layerName, cell) {