Browse Source

all the work

tags/v0.8.3^2
Shaun 3 years ago
parent
commit
08a4724743
10 changed files with 38 additions and 7 deletions
  1. +4
    -0
      src/client/ui/factory.js
  2. +11
    -3
      src/client/ui/shared/renderItem.js
  3. +3
    -1
      src/client/ui/uiBase.js
  4. +3
    -2
      src/server/components/auth.js
  5. +1
    -0
      src/server/components/auth/checkLoginRewards.js
  6. +1
    -1
      src/server/config/consts.js
  7. +1
    -0
      src/server/events/events.js
  8. +1
    -0
      src/server/events/phases/phaseGiveRewards.js
  9. +11
    -0
      src/server/misc/mods.js
  10. +2
    -0
      src/server/world/instancer.js

+ 4
- 0
src/client/ui/factory.js View File

@@ -167,6 +167,10 @@ define([
if (u.update)
u.update();
}
},

getUi: function (type) {
return this.uis.find(u => u.type === type);
}
};
});

+ 11
- 3
src/client/ui/shared/renderItem.js View File

@@ -57,10 +57,18 @@ define([
downHandler = renderItemManager.bind(renderItemManager, el, item);
}

$.event.special.destroyed = {
remove: function (o) {
if (o.handler)
o.handler();
}
};

el
.on('mousedown', downHandler)
.on('mousemove', moveHandler)
.on('mouseleave', hideTooltip.bind(null, el, item));
.on('mouseleave', hideTooltip.bind(null, el, item))
.on('destroyed', hideTooltip.bind(null, el, item));
};

const onShowContext = (item, getItemContextConfig, e) => {
@@ -81,7 +89,7 @@ define([
el.on('contextmenu', onShowContext.bind(this, item, getItemContextConfig));
};

return (container, item, useEl, manageTooltip, getItemContextConfig) => {
return (container, item, useEl, manageTooltip, getItemContextConfig, showNewIndicators = true) => {
const itemEl = useEl || $(tplItem).appendTo(container);

if (!item) {
@@ -129,7 +137,7 @@ define([
//it must mean that it's active, EQd or QSd
if (!item.quantity)
itemEl.addClass('eq');
} else if (item.isNew) {
} else if (item.isNew && showNewIndicators) {
itemEl.addClass('new');
itemEl.find('.quantity').html('NEW');
}


+ 3
- 1
src/client/ui/uiBase.js View File

@@ -180,8 +180,10 @@ define([
offEvent: function (eventCallback) {
for (let e in this.eventCallbacks) {
this.eventCallbacks[e].forEach(function (c) {
if (c === eventCallback)
if (c === eventCallback) {
console.log('off', e, c);
events.off(e, c);
}
}, this);
}
},


+ 3
- 2
src/server/components/auth.js View File

@@ -57,7 +57,7 @@ module.exports = {
await leaderboard.setLevel(character.name, this.obj.stats.values.level, prophecies);
},

doSave: async function (callback) {
doSave: async function (callback, saveStash = true) {
const simple = this.obj.getSimple(true, true);
simple.components.spliceWhere(f => (f.type === 'stash'));

@@ -69,7 +69,8 @@ module.exports = {
serialize: true
});

await this.doSaveStash();
if (saveStash)
await this.doSaveStash();

if (callback)
callback();


+ 1
- 0
src/server/components/auth/checkLoginRewards.js View File

@@ -72,6 +72,7 @@ module.exports = async (cpnAuth, data, character, cbDone) => {

const msg = `Daily login reward for ${loginStreak} day${(loginStreak > 1) ? 's' : ''}`;

//Hack: Mail is a mod. As such, events should be a mod that depends on mail
if (global.mailManager) {
await global.mailManager.sendSystemMail({
to: character.name,


+ 1
- 1
src/server/config/consts.js View File

@@ -1,6 +1,6 @@
module.exports = {
//At which interval does each zone tick in ms
tickTime: 100,
tickTime: 350,

//The maximum level a player can reach
maxLevel: 20,


+ 1
- 0
src/server/events/events.js View File

@@ -249,6 +249,7 @@ module.exports = {
if (!rList || !rList.length)
return;

//Hack: Mail is a mod. As such, events should be a mod that depends on mail
if (global.mailManager) {
global.mailManager.sendSystemMail({
to: name,


+ 1
- 0
src/server/events/phases/phaseGiveRewards.js View File

@@ -12,6 +12,7 @@ module.exports = {
if (!rList | !rList.length)
return;

//Hack: Mail is a mod. As such, events should be a mod that depends on mail
if (global.mailManager) {
global.mailManager.sendSystemMail({
to: name,


+ 11
- 0
src/server/misc/mods.js View File

@@ -2,12 +2,16 @@ const fileLister = require('../misc/fileLister');
const events = require('../misc/events');

module.exports = {
mods: [],

init: async function () {
const modList = fileLister.getFolderList('mods');

for (const m of modList) {
const mod = require('../mods/' + m + '/index');
await this.onGetMod(m, mod);

this.mods.push(mod);
}
},

@@ -41,5 +45,12 @@ module.exports = {

onGetExtra: function (name, mod, extra) {
extra.folderName = 'server/mods/' + name;
},

tick: function () {
this.mods.forEach(m => {
if (m.tick)
m.tick();
});
}
};

+ 2
- 0
src/server/world/instancer.js View File

@@ -10,6 +10,7 @@ let events = require('../events/events');
let scheduler = require('../misc/scheduler');
let herbs = require('../config/herbs');
let eventEmitter = require('../misc/events');
const mods = require('../misc/mods');
const transactions = require('../security/transactions');

module.exports = {
@@ -167,6 +168,7 @@ module.exports = {
spawners.update();
syncer.update();
scheduler.update();
mods.tick();

setTimeout(this.tick.bind(this), this.speed);
},


Loading…
Cancel
Save