From e0f1e8aa3dda07086df15ac914e8308021208477 Mon Sep 17 00:00:00 2001 From: Shaun Date: Wed, 9 Mar 2022 08:05:05 +0200 Subject: [PATCH 1/3] bug #1914 --- src/server/components/mob.js | 8 ++++++++ src/server/security/connections.js | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/server/components/mob.js b/src/server/components/mob.js index 735b9fbb..2f801faa 100644 --- a/src/server/components/mob.js +++ b/src/server/components/mob.js @@ -126,6 +126,14 @@ module.exports = { let distanceFromHome = Math.max(abs(this.originX - obj.x), abs(this.originY - obj.y)); if (!distanceFromHome) { this.goHome = false; + + if (!obj.spellbook) { + /* eslint-disable-next-line no-console */ + console.log('MOB HAS NO SPELLBOOK BUT WANTS TO RESET ROTATION'); + /* eslint-disable-next-line no-console */ + console.log(obj.name, obj.zone, obj.zoneName, obj.x, obj.y, obj.components.map(c => c.type).join(',')); + } + obj.spellbook.resetRotation(); } } diff --git a/src/server/security/connections.js b/src/server/security/connections.js index 9cfb0402..ff627b50 100644 --- a/src/server/security/connections.js +++ b/src/server/security/connections.js @@ -164,7 +164,8 @@ module.exports = { .forEach(p => { atlas.performAction(p, { cpn: 'auth', - method: 'doSave' + method: 'doSave', + data: {} }); }); }, From 5edf0691a939af8cfdf50e966863f4b391762b85 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Apr 2022 20:59:12 +0200 Subject: [PATCH 2/3] bug #1921 --- src/server/components/auth.js | 2 +- src/server/components/inventory.js | 2 +- src/server/security/connections.js | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/components/auth.js b/src/server/components/auth.js index bbe21089..7a36db04 100644 --- a/src/server/components/auth.js +++ b/src/server/components/auth.js @@ -57,7 +57,7 @@ module.exports = { customChannels: [], play: async function (data) { - if (!this.username) + if (!this.username || this.charname) return; let character = this.characters[data.data.name]; diff --git a/src/server/components/inventory.js b/src/server/components/inventory.js index 15f51a05..abecb8a6 100644 --- a/src/server/components/inventory.js +++ b/src/server/components/inventory.js @@ -148,7 +148,7 @@ module.exports = { learnAbility: function ({ itemId, slot }) { let item = this.findItem(itemId); let statValues = this.obj.stats.values; - if (!item) + if (!item || item.eq) return; else if (!item.spell) { item.eq = false; diff --git a/src/server/security/connections.js b/src/server/security/connections.js index ff627b50..ba89329e 100644 --- a/src/server/security/connections.js +++ b/src/server/security/connections.js @@ -12,6 +12,9 @@ module.exports = { playing: 0, onHandshake: function (socket) { + if (this.players.some(p => p.socket.id === socket.id)) + return; + const p = objects.build(); p.socket = socket; p.addComponent('auth'); @@ -107,6 +110,7 @@ module.exports = { //A hack to allow us to actually call methods again (like retrieve the player list) player.dead = false; player.permadead = false; + delete player.auth.charname; this.modifyPlayerCount(-1); }, From cf4bd0cdd6028c7a36e652a3f347e75aaa6385d9 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Apr 2022 21:02:03 +0200 Subject: [PATCH 3/3] chore: linter warning fix --- src/server/security/connections.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/security/connections.js b/src/server/security/connections.js index ba89329e..2f628cbc 100644 --- a/src/server/security/connections.js +++ b/src/server/security/connections.js @@ -12,7 +12,7 @@ module.exports = { playing: 0, onHandshake: function (socket) { - if (this.players.some(p => p.socket.id === socket.id)) + if (this.players.some(f => f.socket.id === socket.id)) return; const p = objects.build();