Bläddra i källkod

Merge branch '507-instantiate-events' into 'v0.1.10'

Resolve "Properly instantiate the events module"

See merge request Isleward/isleward!262
tags/v0.1.10^2
Big Bad Waffle 6 år sedan
förälder
incheckning
164d409e62
16 ändrade filer med 51 tillägg och 83 borttagningar
  1. +3
    -5
      src/server/components/effects.js
  2. +4
    -6
      src/server/components/gatherer.js
  3. +3
    -5
      src/server/components/inventory.js
  4. +3
    -5
      src/server/components/spellbook.js
  5. +3
    -3
      src/server/config/animations.js
  6. +4
    -4
      src/server/config/eventPhases/phaseHookEvents.js
  7. +2
    -2
      src/server/config/maps/tutorial/events/fishingTournament.js
  8. +3
    -5
      src/server/config/quests/questBuilder.js
  9. +4
    -4
      src/server/config/quests/templates/questTemplate.js
  10. +2
    -4
      src/server/config/spells/spellTemplate.js
  11. +3
    -5
      src/server/events/events.js
  12. +1
    -11
      src/server/globals.js
  13. +5
    -7
      src/server/mods/feature-cards/cards.js
  14. +7
    -1
      src/server/world/instancer.js
  15. +3
    -5
      src/server/world/mobBuilder.js
  16. +1
    -11
      src/server/world/worker.js

+ 3
- 5
src/server/components/effects.js Visa fil

@@ -1,9 +1,7 @@
define([
'config/effects/effectTemplate',
'misc/events'
'config/effects/effectTemplate'
], function (
effectTemplate,
events
effectTemplate
) {
return {
type: 'effects',
@@ -138,7 +136,7 @@ define([
type: type,
url: 'config/effects/effect' + type + '.js'
};
events.emit('onBeforeGetEffect', result);
this.obj.instance.eventEmitter.emit('onBeforeGetEffect', result);

typeTemplate = require(result.url);
}


+ 4
- 6
src/server/components/gatherer.js Visa fil

@@ -1,9 +1,7 @@
define([
'items/generators/quality',
'misc/events'
'items/generators/quality'
], function (
qualityGenerator,
events
qualityGenerator
) {
return {
type: 'gatherer',
@@ -106,7 +104,7 @@ define([
xp: resourceNode.xp,
items: gathering.inventory.items
});
events.emitNoSticky('beforeGatherResource', gatherResult, this.obj);
this.obj.instance.eventEmitter.emitNoSticky('beforeGatherResource', gatherResult, this.obj);
this.obj.fireEvent('beforeGatherResource', gatherResult, this.obj);

this.obj.syncer.set(false, 'gatherer', 'progress', 100);
@@ -223,7 +221,7 @@ define([
var gatherResult = extend(true, {
nodeName: node.name
});
events.emitNoSticky('beforeEnterPool', gatherResult, this.obj);
this.obj.instance.eventEmitter.emitNoSticky('beforeEnterPool', gatherResult, this.obj);

var nodeType = node.resourceNode.nodeType;
var msg = `Press G to $ (${gatherResult.nodeName})`;


+ 3
- 5
src/server/components/inventory.js Visa fil

@@ -6,7 +6,6 @@ define([
'config/classes',
'mtx/mtx',
'config/factions',
'misc/events',
'items/itemEffects'
], function (
generator,
@@ -16,7 +15,6 @@ define([
classes,
mtx,
factions,
events,
itemEffects
) {
return {
@@ -279,7 +277,7 @@ define([
}

var result = {};
events.emit('onBeforeUseItem', this.obj, item, result);
this.obj.instance.eventEmitter.emit('onBeforeUseItem', this.obj, item, result);

if (item.type == 'consumable') {
if (item.uses) {
@@ -586,7 +584,7 @@ define([
},

getItem: function (item, hideMessage, noStack) {
events.emit('onBeforeGetItem', item, this.obj);
this.obj.instance.eventEmitter.emit('onBeforeGetItem', item, this.obj);

//We need to know if a mob dropped it for quest purposes
var fromMob = item.fromMob;
@@ -862,7 +860,7 @@ define([
}

playerObject.fireEvent('beforeTargetDeath', this.obj, this.items);
events.emit('onBeforeDropBag', this.obj, this.items, killSource);
this.obj.instance.eventEmitter.emit('onBeforeDropBag', this.obj, this.items, killSource);

if (this.items.length > 0)
this.createBag(this.obj.x, this.obj.y, this.items, ownerId);


+ 3
- 5
src/server/components/spellbook.js Visa fil

@@ -2,14 +2,12 @@ define([
'./../config/spells/spellTemplate',
'./../config/animations',
'./../config/spells',
'./../config/spellsConfig',
'misc/events'
'./../config/spellsConfig'
], function (
spellTemplate,
animations,
playerSpells,
playerSpellsConfig,
events
playerSpellsConfig
) {
return {
type: 'spellbook',
@@ -88,7 +86,7 @@ define([
type: type,
template: null
};
events.emit('onBeforeGetSpellTemplate', typeTemplate);
this.obj.instance.eventEmitter.emit('onBeforeGetSpellTemplate', typeTemplate);
if (!typeTemplate.template)
typeTemplate.template = require('./config/spells/spell' + type);



+ 3
- 3
src/server/config/animations.js Visa fil

@@ -1,10 +1,10 @@
define([
'misc/events'
], function(
], function (
events
) {
return {
init: function() {
init: function () {
events.emit('onBeforeGetAnimations', this);
},
classes: {
@@ -315,4 +315,4 @@ define([
}
}
};
});
});

+ 4
- 4
src/server/config/eventPhases/phaseHookEvents.js Visa fil

@@ -1,7 +1,7 @@
define([
'misc/events'
], function (
events
) {
return {
cbList: {},
@@ -11,13 +11,13 @@ define([
var eventCb = this.events[eventName];

this.cbList[eventName] = eventCb.bind(this);
events.on(eventName, this.cbList[eventName]);
this.instance.eventEmitter.on(eventName, this.cbList[eventName]);
}
},

destroy: function () {
for (var e in this.cbList) {
events.off(e, this.cbList[e]);
this.instance.eventEmitter.off(e, this.cbList[e]);
}
}
};


+ 2
- 2
src/server/config/maps/tutorial/events/fishingTournament.js Visa fil

@@ -176,8 +176,8 @@ module.exports = {
id: 'anglerNayla',
hpMult: 1,
pos: {
x: 134,
y: 101
x: 140,
y: 46
},
dialogue: {
auto: true,


+ 3
- 5
src/server/config/quests/questBuilder.js Visa fil

@@ -1,11 +1,9 @@
define([
'config/quests/templates/questTemplate',
'config/questsBase',
'misc/events'
'config/questsBase'
], function (
questTemplate,
globalQuests,
events
globalQuests
) {
return {
instance: null,
@@ -31,7 +29,7 @@ define([
zoneTemplate = globalQuests;

var config = extend(true, {}, zoneTemplate);
events.emit('onBeforeGetQuests', config);
this.instance.eventEmitter.emit('onBeforeGetQuests', config);
if (config.infini.length == 0)
return;



+ 4
- 4
src/server/config/quests/templates/questTemplate.js Visa fil

@@ -1,7 +1,7 @@
define([
'misc/events'
], function (
events
) {
return {
rewards: [],
@@ -48,7 +48,7 @@ define([

var obj = this.obj;

events.emitNoSticky('beforeCompleteAutoquest', this, obj);
this.obj.instance.eventEmitter.emitNoSticky('beforeCompleteAutoquest', this, obj);

obj.instance.syncer.queue('onGetMessages', {
id: obj.id,
@@ -60,7 +60,7 @@ define([

obj.syncer.setArray(true, 'quests', 'completeQuests', this.id);

events.emit('onCompleteQuest', this);
this.obj.instance.eventEmitter.emit('onCompleteQuest', this);

this.rewards.forEach(function (r) {
this.obj.inventory.getItem(r);


+ 2
- 4
src/server/config/spells/spellTemplate.js Visa fil

@@ -1,11 +1,9 @@
define([
'config/spells/spellCallbacks',
'combat/combat',
'misc/events'
'combat/combat'
], function (
spellCallbacks,
combat,
events
combat
) {
return {
cd: 0,


+ 3
- 5
src/server/events/events.js Visa fil

@@ -1,11 +1,9 @@
define([
'../config/eventPhases/phaseTemplate',
'fs',
'misc/events'
'fs'
], function (
phaseTemplate,
fs,
events
fs
) {
return {
configs: [],
@@ -21,7 +19,7 @@ define([
var files = fs.readdirSync(path)
.map(f => ('../' + path + '/' + f));

events.emit('onBeforeGetEventList', this.instance.map.name, files);
this.instance.eventEmitter.emit('onBeforeGetEventList', this.instance.map.name, files);

files.forEach(function (f) {
var e = require(f);


+ 1
- 11
src/server/globals.js Visa fil

@@ -17,17 +17,7 @@ define([
) {
return {
init: function () {
var oldExtend = extend;
global.extend = function () {
try {
oldExtend.apply(null, arguments);
return arguments[1];
} catch (e) {
console.log(arguments);
throw e;
}
};

global.extend = extend;
global.cons = cons;
global._ = helpers;
global.lootRoller = lootRoller;


+ 5
- 7
src/server/mods/feature-cards/cards.js Visa fil

@@ -1,9 +1,7 @@
define([
'items/generator',
'misc/events'
'items/generator'
], function (
itemGenerator,
events
itemGenerator
) {
var config = {
'Runecrafter\'s Toil': {
@@ -62,7 +60,7 @@ define([
var mobLevel = mob.stats.values.level;

var configs = extend(true, {}, config);
events.emit('onBeforeGetCardsConfig', configs);
looter.instance.eventEmitter.emit('onBeforeGetCardsConfig', configs);

Object.keys(configs).forEach(function (c) {
var card = configs[c];
@@ -116,7 +114,7 @@ define([

getReward: function (set) {
var configs = extend(true, {}, config);
events.emit('onBeforeGetCardsConfig', configs);
looter.instance.eventEmitter.emit('onBeforeGetCardsConfig', configs);

var reward = configs[set].reward;
var msg = {
@@ -124,7 +122,7 @@ define([
handler: this.rewards[reward]
};

events.emit('onBeforeGetCardReward', msg);
looter.instance.eventEmitter.emit('onBeforeGetCardReward', msg);

return msg.handler();
},


+ 7
- 1
src/server/world/instancer.js Visa fil

@@ -475,6 +475,12 @@ define([
};
newMap.getSpawnPos = map.getSpawnPos.bind(newMap);

//Hack: We need to actually just always use the instanced eventEmitter
var eventQueue = eventEmitter.queue;
delete eventEmitter.queue;
var newEventEmitter = extend(true, {}, eventEmitter);
eventEmitter.queue = eventQueue;

var instance = {
id: objToAdd.name + '_' + (+new Date),
objects: extend(true, {}, objects),
@@ -490,7 +496,7 @@ define([
scheduler: extend(true, {}, scheduler),
mail: extend(true, {}, mail),
map: newMap,
eventEmitter: extend(true, {}, eventEmitter),
eventEmitter: newEventEmitter,
instanced: true
};



+ 3
- 5
src/server/world/mobBuilder.js Visa fil

@@ -1,17 +1,15 @@
define([
'config/animations',
'items/generator',
'combat/combat',
'misc/events'
'combat/combat'
], function (
animations,
itemGenerator,
combat,
events
combat
) {
return {
build: function (mob, blueprint, scaleDrops, type, zoneName) {
events.emit('onBeforeBuildMob', zoneName, mob.name.toLowerCase(), blueprint);
mob.instance.eventEmitter.emit('onBeforeBuildMob', zoneName, mob.name.toLowerCase(), blueprint);

var typeDefinition = blueprint[type] || blueprint;



+ 1
- 11
src/server/world/worker.js Visa fil

@@ -40,17 +40,7 @@ requirejs([
itemTypes
) {
var onDbReady = function () {
var oldExtend = extend;
global.extend = function () {
try {
oldExtend.apply(null, arguments);
return arguments[1];
} catch (e) {
console.log(arguments);
throw e;
}
};

global.extend = extend;
global._ = helpers;
global.instancer = _instancer;
require('../misc/random');


Laddar…
Avbryt
Spara