From 1fc705536fe0e5662b8dac731fbc20c77c8614d0 Mon Sep 17 00:00:00 2001 From: Big Bad Waffle Date: Fri, 20 Dec 2019 17:35:12 +0200 Subject: [PATCH] linting --- helpers/sqlite-to-rethink/cheatsheet.js | 20 ++ src/server/components/inventory.js | 5 +- .../config/eventPhases/phaseSpawnMob.js | 177 +++++++++--------- src/server/world/map.js | 1 - 4 files changed, 112 insertions(+), 91 deletions(-) diff --git a/helpers/sqlite-to-rethink/cheatsheet.js b/helpers/sqlite-to-rethink/cheatsheet.js index 15eb700e..a386aae7 100644 --- a/helpers/sqlite-to-rethink/cheatsheet.js +++ b/helpers/sqlite-to-rethink/cheatsheet.js @@ -52,6 +52,26 @@ r.db('live').table('character') }); }); +r.db('live').table('character') + .concatMap(row => { + return row('value')('components') + .filter(cpn => { + return cpn('type').eq('inventory'); + }) + .concatMap(c => { + return [{ + name: row('value')('name'), + account: row('value')('account'), + cpn: c('items').filter(item => { + return item('quantity').ge(30000); + }) + }]; + }) + .filter(c => { + return c('cpn').count().ge(1); + }); + }); + //Play time per account from low to high r.db('live').table('character') .concatMap(row => { diff --git a/src/server/components/inventory.js b/src/server/components/inventory.js index b9049c29..d5c48066 100644 --- a/src/server/components/inventory.js +++ b/src/server/components/inventory.js @@ -449,8 +449,7 @@ module.exports = { }, mailItem: async function (msg) { - return; - let item = this.findItem(msg.itemId); + /*let item = this.findItem(msg.itemId); if ((!item) || (item.noDrop) || (item.quest)) { this.resolveCallback(msg); return; @@ -482,7 +481,7 @@ module.exports = { } this.destroyItem(item.id); - this.resolveCallback(msg); + this.resolveCallback(msg);*/ }, hookItemEvents: function (items) { diff --git a/src/server/config/eventPhases/phaseSpawnMob.js b/src/server/config/eventPhases/phaseSpawnMob.js index f3cd0252..4ad8b4ed 100644 --- a/src/server/config/eventPhases/phaseSpawnMob.js +++ b/src/server/config/eventPhases/phaseSpawnMob.js @@ -1,12 +1,97 @@ let mobBuilder = require('../../world/mobBuilder'); +const buildMob = (objects, mobConfig, x, y, mobIndex) => { + const { id, sheetName, cell, name, properties, originX, originY, maxChaseDistance, dialogue, trade, chats, events } = mobConfig; + + let mob = objects.buildObjects([{ + x: x, + y: y, + sheetName: sheetName || 'mobs', + cell: cell, + name: name, + properties: properties + }]); + + mobBuilder.build(mob, mobConfig); + + if (id) + mob.id = id.split('$').join(mobIndex); + + if (originX) { + mob.mob.originX = originX; + mob.mob.originY = originY; + mob.mob.goHome = true; + mob.mob.maxChaseDistance = maxChaseDistance; + //This is a hack to make mobs that run somewhere able to take damage + delete mob.mob.events.beforeTakeDamage; + } + + if (dialogue) { + mob.addComponent('dialogue', { + config: dialogue.config + }); + + if (dialogue.auto) { + mob.dialogue.trigger = objects.buildObjects([{ + properties: { + x: mob.x - 1, + y: mob.y - 1, + width: 3, + height: 3, + cpnNotice: { + actions: { + enter: { + cpn: 'dialogue', + method: 'talk', + args: [{ + targetName: 'angler nayla' + }] + }, + exit: { + cpn: 'dialogue', + method: 'stopTalk' + } + } + } + } + }]); + } + } + + if (trade) + mob.addComponent('trade', trade); + + if (chats) + mob.addComponent('chatter', chats); + + if (events) { + mob.addBuiltComponent({ + type: 'eventComponent', + events: events + }); + } + + return mob; +}; + +const spawnAnimation = (syncer, { x, y }) => { + syncer.queue('onGetObject', { + x: x, + y: y, + components: [{ + type: 'attackAnimation', + row: 0, + col: 4 + }] + }, -1); +}; + module.exports = { spawnRect: null, mobs: null, init: function () { - let objects = this.instance.objects; - let spawnRect = this.spawnRect; + const { spawnRect, instance: { objects, syncer } } = this; if (!this.mobs.push) this.mobs = [this.mobs]; @@ -60,97 +145,15 @@ module.exports = { this.spawnAnimation(mob); this.event.objects.push(mob); } else { - let mob = objects.buildObjects([{ - x: x, - y: y, - sheetName: l.sheetName || 'mobs', - cell: l.cell, - name: l.name, - properties: l.properties - }]); - - mob.event = this.event; - - mobBuilder.build(mob, l); - this.spawnAnimation(mob); - - if (l.id) { - let id = l.id.split('$').join(i); - mob.id = id; - } - - if (l.originX) { - mob.mob.originX = l.originX; - mob.mob.originY = l.originY; - mob.mob.goHome = true; - mob.mob.maxChaseDistance = l.maxChaseDistance; - //This is a hack to make mobs that run somewhere able to take damage - delete mob.mob.events.beforeTakeDamage; - } - + const mob = buildMob(objects, l, x, y, i); this.event.objects.push(mob); - - if (l.dialogue) { - mob.addComponent('dialogue', { - config: l.dialogue.config - }); - - if (l.dialogue.auto) { - mob.dialogue.trigger = objects.buildObjects([{ - properties: { - x: mob.x - 1, - y: mob.y - 1, - width: 3, - height: 3, - cpnNotice: { - actions: { - enter: { - cpn: 'dialogue', - method: 'talk', - args: [{ - targetName: 'angler nayla' - }] - }, - exit: { - cpn: 'dialogue', - method: 'stopTalk' - } - } - } - } - }]); - } - } - - if (l.trade) - mob.addComponent('trade', l.trade); - - if (l.chats) - mob.addComponent('chatter', l.chats); - - if (l.events) { - mob.addBuiltComponent({ - type: 'eventComponent', - events: l.events - }); - } + mob.event = this.event; + spawnAnimation(syncer, mob); } } }, this); if (!this.endMark) this.end = true; - }, - - spawnAnimation: function (mob) { - this.instance.syncer.queue('onGetObject', { - x: mob.x, - y: mob.y, - components: [{ - type: 'attackAnimation', - row: 0, - col: 4 - }] - }, -1); } }; diff --git a/src/server/world/map.js b/src/server/world/map.js index a478c72c..3e0d6015 100644 --- a/src/server/world/map.js +++ b/src/server/world/map.js @@ -69,7 +69,6 @@ module.exports = { try { this.zone = require('../' + this.path + '/' + this.name + '/zone'); } catch (e) { - console.log(e); this.zone = globalZone; } events.emit('onAfterGetZone', this.name, this.zone);