From 4ea4a03ddf0f7ed1f924d2d31b96dc65045830f5 Mon Sep 17 00:00:00 2001 From: Big Bad Waffle Date: Sun, 14 Jan 2024 07:32:03 +0000 Subject: [PATCH] Resolve "Crews" --- src/client/ui/templates/inventory/inventory.js | 10 +++++++++- src/client/ui/templates/stash/stash.js | 12 ------------ src/server/components/dialogue.js | 14 ++++++++------ src/server/db/ioRethink.js | 10 ++++++++++ 4 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/client/ui/templates/inventory/inventory.js b/src/client/ui/templates/inventory/inventory.js index 912459a1..c1811887 100644 --- a/src/client/ui/templates/inventory/inventory.js +++ b/src/client/ui/templates/inventory/inventory.js @@ -358,8 +358,16 @@ define([ if (isMobile) this.hideTooltip(null, this.hoverItem); + const eBeforeShowItemContextMenu = { + sourceUi: 'inventory', + item: this.hoverItem, + ctxConfig + }; + + events.emit('beforeShowItemContextMenu', eBeforeShowItemContextMenu); + if (ctxConfig.length > 0) - events.emit('onContextMenu', ctxConfig, e); + events.emit('onContextMenu', eBeforeShowItemContextMenu.ctxConfig, e); e.preventDefault(); return false; diff --git a/src/client/ui/templates/stash/stash.js b/src/client/ui/templates/stash/stash.js index 3265b01e..7b60bb62 100644 --- a/src/client/ui/templates/stash/stash.js +++ b/src/client/ui/templates/stash/stash.js @@ -112,18 +112,6 @@ define([ events.emit('onShowItemTooltip', item, ttPos, true); }, - onClick: function (el, item) { - client.request({ - cpn: 'player', - method: 'performAction', - data: { - cpn: 'equipment', - method: 'equip', - data: item.id - } - }); - }, - onGetStashItems: function (items) { this.items = items; diff --git a/src/server/components/dialogue.js b/src/server/components/dialogue.js index 5deb2cf1..b1d16b7e 100644 --- a/src/server/components/dialogue.js +++ b/src/server/components/dialogue.js @@ -15,7 +15,7 @@ module.exports = { this.trigger.destroyed = true; }, - talk: function (msg) { + talk: async function (msg) { if (!msg) return false; @@ -41,7 +41,7 @@ module.exports = { if ((target.trade) && (target.trade.faction)) this.obj.reputation.discoverFaction(target.trade.faction.id); - let state = target.dialogue.getState(this.obj, msg.state); + let state = await target.dialogue.getState(this.obj, msg.state); if (!state) { this.obj.syncer.set(true, 'dialogue', 'state', null); return false; @@ -54,7 +54,8 @@ module.exports = { this.obj.syncer.set(true, 'dialogue', 'state', null); }, - getState: function (sourceObj, state = 1) { + /* eslint-disable-next-line max-lines-per-function */ + getState: async function (sourceObj, state = 1) { let result = null; if ((state + '').indexOf('.') > -1) { let config = this.states[(state + '').split('.')[0]]; @@ -93,8 +94,9 @@ module.exports = { if (stateConfig.goto) { if (result) - return this.getState(sourceObj, stateConfig.goto.success); - return this.getState(sourceObj, stateConfig.goto.failure); + return await this.getState(sourceObj, stateConfig.goto.success); + + return await this.getState(sourceObj, stateConfig.goto.failure); } if (result) { useMsg = extend([], useMsg); @@ -102,7 +104,7 @@ module.exports = { } else return null; } else if (stateConfig.method) { - let methodResult = stateConfig.method.call(this.obj, sourceObj); + let methodResult = await stateConfig.method.call(this.obj, sourceObj); if (methodResult) { useMsg = extend([], useMsg); useMsg[0].msg = methodResult; diff --git a/src/server/db/ioRethink.js b/src/server/db/ioRethink.js index e01fdc51..35c4130a 100644 --- a/src/server/db/ioRethink.js +++ b/src/server/db/ioRethink.js @@ -195,6 +195,16 @@ module.exports = { .run(); }, + deleteFilterAsync: async function ({ + table, + filter + }) { + await r.table(table) + .filter(filter) + .delete() + .run(); + }, + subscribe: function (table) { return r.table(table) .changes()