diff --git a/src/server/components/player.js b/src/server/components/player.js index 3fe6331c..e17525bd 100644 --- a/src/server/components/player.js +++ b/src/server/components/player.js @@ -35,7 +35,8 @@ module.exports = { hidden: character.dead || null, account: character.account, zoneName: character.zoneName || clientConfig.config.defaultZone, - zoneId: character.zoneId || null + zoneId: character.zoneId || null, + zoneMapSeed: character.zoneMapSeed }); character.components = character.components || []; diff --git a/src/server/world/instancer.js b/src/server/world/instancer.js index 44602496..e769df6c 100644 --- a/src/server/world/instancer.js +++ b/src/server/world/instancer.js @@ -212,12 +212,15 @@ module.exports = { if (msg.keepPos && (!physics.isValid(obj.x, obj.y) || !map.canPathFromPos(obj))) msg.keepPos = false; - if (!msg.keepPos || !obj.has('x') || (map.mapFile.properties.isRandom && obj.instanceId !== map.seed)) { + if (!msg.keepPos || !obj.has('x') || (map.mapFile.properties.isRandom && obj.zoneMapSeed !== map.seed)) { obj.x = spawnPos.x; obj.y = spawnPos.y; } - obj.instanceId = map.seed || null; + if (map.seed) + obj.zoneMapSeed = map.seed; + else + delete obj.zoneMapSeed; obj.spawn = map.spawn;