From 721ecfe54b6b3186b02b17b126567e2bfe45f441 Mon Sep 17 00:00:00 2001 From: Shaun Date: Sun, 22 Oct 2023 12:04:25 +0200 Subject: [PATCH] bug #2004: Fixed the thread finder check and announcement duration --- src/server/world/atlas.js | 2 +- src/server/world/threadManager.js | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/server/world/atlas.js b/src/server/world/atlas.js index 476be5b6..7911c030 100644 --- a/src/server/world/atlas.js +++ b/src/server/world/atlas.js @@ -51,7 +51,7 @@ module.exports = { event: 'onGetAnnouncement', data: { msg: 'Generating a new map, please wait as this may take a few moments..', - ttl: 5000 + ttl: 500 } }); } diff --git a/src/server/world/threadManager.js b/src/server/world/threadManager.js index 9ad4e56e..170f3d24 100644 --- a/src/server/world/threadManager.js +++ b/src/server/world/threadManager.js @@ -174,9 +174,22 @@ const spawnThread = async ({ name, path, instanced }) => { }; const doesThreadExist = ({ zoneName, zoneId }) => { + let map = mapList.find(m => m.name === zoneName); + + if (!map) + map = mapList.find(m => m.name === clientConfig.config.defaultZone); + const exists = threads.some(t => t.id === zoneId && t.name === zoneName); - return exists; + if (exists) + return true; + + if (map.instanced) + return false; + + const thread = getThreadFromName(map.name); + + return !!thread; }; const getThread = async ({ zoneName, zoneId }) => {