From a338a5129e8d4a72af2b55c66f46b0d14d379c57 Mon Sep 17 00:00:00 2001 From: kckckc Date: Tue, 19 Apr 2022 13:44:47 -0700 Subject: [PATCH 1/3] Indicate if objects were destroyed by death or by visibility --- src/server/components/stats.js | 2 ++ src/server/world/syncer.js | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/components/stats.js b/src/server/components/stats.js index 1b094f5f..f6d32750 100644 --- a/src/server/components/stats.js +++ b/src/server/components/stats.js @@ -436,7 +436,9 @@ module.exports = { obj.effects.die(); if (this.obj.spellbook) this.obj.spellbook.die(); + obj.destroyed = true; + obj.destroyedBy = 'death'; let deathAnimation = _.getDeepProperty(animations, ['mobs', obj.sheetName, obj.cell, 'death']); if (deathAnimation) { diff --git a/src/server/world/syncer.js b/src/server/world/syncer.js index ea582a3b..a5bf277e 100644 --- a/src/server/world/syncer.js +++ b/src/server/world/syncer.js @@ -59,7 +59,8 @@ module.exports = { continue; let destroyed = o.destroyed; - + let destroyedBy = o.destroyedBy; + let sync = null; let syncSelf = null; if (!destroyed) { @@ -69,7 +70,8 @@ module.exports = { } else { sync = { id: o.id, - destroyed: true + destroyed: true, + destroyedBy }; objects.removeObject(o); From 09ebcd4e9cfd2358bd44921f7cb74e2d092846a7 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 20 Apr 2022 00:35:05 -0700 Subject: [PATCH 2/3] Remove unnecessary variable --- src/server/world/syncer.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/server/world/syncer.js b/src/server/world/syncer.js index a5bf277e..1160aed5 100644 --- a/src/server/world/syncer.js +++ b/src/server/world/syncer.js @@ -59,7 +59,6 @@ module.exports = { continue; let destroyed = o.destroyed; - let destroyedBy = o.destroyedBy; let sync = null; let syncSelf = null; @@ -71,7 +70,7 @@ module.exports = { sync = { id: o.id, destroyed: true, - destroyedBy + destroyedBy: o.destroyedBy }; objects.removeObject(o); From 677522eb81193dfdf1b6a06ca2b331ac7a54a242 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 20 Apr 2022 01:18:53 -0700 Subject: [PATCH 3/3] Rename destroyedBy & send visibility destroy event --- src/server/components/stats.js | 2 +- src/server/world/syncer.js | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/server/components/stats.js b/src/server/components/stats.js index f6d32750..c5d589c7 100644 --- a/src/server/components/stats.js +++ b/src/server/components/stats.js @@ -438,7 +438,7 @@ module.exports = { this.obj.spellbook.die(); obj.destroyed = true; - obj.destroyedBy = 'death'; + obj.destructionEvent = 'death'; let deathAnimation = _.getDeepProperty(animations, ['mobs', obj.sheetName, obj.cell, 'death']); if (deathAnimation) { diff --git a/src/server/world/syncer.js b/src/server/world/syncer.js index 1160aed5..79ab5777 100644 --- a/src/server/world/syncer.js +++ b/src/server/world/syncer.js @@ -70,7 +70,7 @@ module.exports = { sync = { id: o.id, destroyed: true, - destroyedBy: o.destroyedBy + destructionEvent: o.destructionEvent }; objects.removeObject(o); @@ -113,8 +113,14 @@ module.exports = { } if (destroyed || !canSee) { - if (!canSee) - queueFunction({ id: oId, destroyed: true }, [ p.serverId ]); + if (!canSee) { + queueFunction({ + id: oId, + destroyed: true, + destructionEvent: 'visibility' + }, + [ p.serverId ]); + } p.player.unsee(oId); }