Browse Source

no more eslint errors in client

tags/v0.2.1^2
big bad waffle 5 years ago
parent
commit
192da1d0e1
48 changed files with 219 additions and 245 deletions
  1. +1
    -0
      .eslintrc
  2. +5
    -2
      src/client/.eslintrc
  3. +2
    -1
      src/client/js/app.js
  4. +2
    -4
      src/client/js/components/bumpAnimation.js
  5. +1
    -1
      src/client/js/components/chatter.js
  6. +0
    -2
      src/client/js/components/chest.js
  7. +0
    -2
      src/client/js/components/effects.js
  8. +2
    -4
      src/client/js/components/gatherer.js
  9. +1
    -1
      src/client/js/components/lightPatch.js
  10. +10
    -8
      src/client/js/components/lightningEffect.js
  11. +6
    -6
      src/client/js/components/moveAnimation.js
  12. +6
    -6
      src/client/js/components/projectile.js
  13. +0
    -4
      src/client/js/components/stats.js
  14. +2
    -4
      src/client/js/input.js
  15. +14
    -0
      src/client/js/misc/helpers.js
  16. +2
    -0
      src/client/js/misc/pathfinder.js
  17. +0
    -1
      src/client/js/misc/statTranslations.js
  18. +10
    -10
      src/client/js/objects/objBase.js
  19. +1
    -2
      src/client/js/objects/objects.js
  20. +1
    -3
      src/client/js/rendering/numbers.js
  21. +5
    -5
      src/client/js/rendering/renderer.js
  22. +1
    -1
      src/client/js/rendering/shaders/outline.js
  23. +20
    -10
      src/client/js/rendering/tileOpacity.js
  24. +1
    -0
      src/client/js/sound/sound.js
  25. +9
    -9
      src/client/js/system/events.js
  26. +14
    -14
      src/client/ui/templates/characters/characters.js
  27. +8
    -8
      src/client/ui/templates/death/death.js
  28. +6
    -7
      src/client/ui/templates/equipment/equipment.js
  29. +17
    -20
      src/client/ui/templates/events/events.js
  30. +14
    -35
      src/client/ui/templates/inventory/inventory.js
  31. +0
    -2
      src/client/ui/templates/leaderboard/leaderboard.js
  32. +2
    -2
      src/client/ui/templates/login/login.js
  33. +3
    -4
      src/client/ui/templates/mail/mail.js
  34. +1
    -1
      src/client/ui/templates/messages/messages.js
  35. +3
    -3
      src/client/ui/templates/online/online.js
  36. +4
    -4
      src/client/ui/templates/party/party.js
  37. +2
    -4
      src/client/ui/templates/passives/input.js
  38. +4
    -8
      src/client/ui/templates/passives/passives.js
  39. +3
    -10
      src/client/ui/templates/quests/quests.js
  40. +5
    -6
      src/client/ui/templates/smithing/smithing.js
  41. +2
    -1
      src/client/ui/templates/spells/spells.js
  42. +2
    -2
      src/client/ui/templates/stash/stash.js
  43. +1
    -1
      src/client/ui/templates/target/target.js
  44. +6
    -6
      src/client/ui/templates/tooltipItem/tooltipItem.js
  45. +2
    -4
      src/client/ui/templates/trade/trade.js
  46. +3
    -4
      src/client/ui/templates/workbench/workbench.js
  47. +6
    -6
      src/client/ui/uiBase.js
  48. +9
    -7
      src/server/misc/helpers.js

+ 1
- 0
.eslintrc View File

@@ -131,6 +131,7 @@
"no-shadow": [2,{"builtinGlobals":true,"hoist":"all"}],
"no-undef-init": 2,
"no-undef": 1,
"no-undefined": 1,
"no-unused-vars": [1, {"args": "none"}],
"no-use-before-define": 2,
"no-mixed-requires": [2,false],


+ 5
- 2
src/client/.eslintrc View File

@@ -5,7 +5,7 @@

"env": {
"es6": true,
"node": true
"browser": true
},

"plugins": [
@@ -49,8 +49,11 @@
"XMLHttpRequest": false,
"pit": false,

"requirejs": false,
"$": false,
"define": false
"define": false,
"_": false,
"PIXI": false
},

"rules": {


+ 2
- 1
src/client/js/app.js View File

@@ -1,4 +1,5 @@
require = requirejs;
/* global require */
window.require = requirejs;

require.config({
baseUrl: '',


+ 2
- 4
src/client/js/components/bumpAnimation.js View File

@@ -22,9 +22,7 @@ define([

init: function (blueprint) {
//Only allow one bumper at a time
if (this.obj.components.filter(function (c) {
c.type === this.type;
}) > 1)
if (this.obj.components.some(c => c.type === this.type))
return true;
},

@@ -37,7 +35,7 @@ define([

if (this.updateCd > 0)
this.updateCd--;
else {
else {
this.obj.offsetX += (this.deltaX * this.direction * this.speed);
this.obj.offsetY += (this.deltaY * this.direction * this.speed);



+ 1
- 1
src/client/js/components/chatter.js View File

@@ -24,7 +24,7 @@ define([

if (this.cd > 0)
this.cd--;
else if (this.cd === 0) {
else if (this.cd === 0) {
renderer.destroyObject({
sprite: chatSprite
});


+ 0
- 2
src/client/js/components/chest.js View File

@@ -47,8 +47,6 @@ define([

let index = indices[this.obj.cell];

let color = colors[index];

this.obj.addComponent('particles', {
chance: chances[index],
blueprint: {


+ 0
- 2
src/client/js/components/effects.js View File

@@ -29,8 +29,6 @@ define([
effects: [],

init: function (blueprint) {
let sprite = this.obj.sprite;

this.effects = this.effects
.filter(function (e) {
return (auras[e] !== null);


+ 2
- 4
src/client/js/components/gatherer.js View File

@@ -23,12 +23,10 @@ define([

let x = 0;
let y = 0;
while (true) {
do {
x = msg.x + ~~(Math.random() * msg.width);
y = msg.y + ~~(Math.random() * msg.height);
if ((physics.isTileBlocking(x, y)) && (Math.max(Math.abs(x - this.obj.x), Math.abs(y - this.obj.y)) > 2))
break;
}
} while (!physics.isTileBlocking(x, y) || Math.max(Math.abs(x - this.obj.x), Math.abs(y - this.obj.y)) <= 2);

this.obj.flipX = (x < this.obj.x);
this.obj.setSpritePosition();


+ 1
- 1
src/client/js/components/lightPatch.js View File

@@ -69,7 +69,7 @@ define([
});
ray.x = ~~((nx * scale) - (scaleMult * j));
ray.y = (ny * scale) + (scaleMult * j * hm);
ray.alpha = ((1.0 - (j / h)) * 0.4);// * (0.5 + (Math.random() * 0.5));
ray.alpha = ((1.0 - (j / h)) * 0.4);
ray.width = w * scaleMult;
ray.height = scaleMult * hm;
ray.tint = 0xffeb38;


+ 10
- 8
src/client/js/components/lightningEffect.js View File

@@ -43,8 +43,10 @@ define([
},

renderManual: function () {
let linePercentage = this.linePercentage;

let cdMax = this.cdMax;
if (((this.lineGrow) && (this.linePercentage < 1)) || ((this.shrinking) && (this.linePercentage > 0)))
if (((this.lineGrow) && (linePercentage < 1)) || ((this.shrinking) && (linePercentage > 0)))
cdMax = 1;

if (this.cd > 0) {
@@ -76,29 +78,27 @@ define([
let changeTo = (
(
(this.lineGrow) &&
(this.linePercentage < 1)
(linePercentage < 1)
) ||
(
(this.shrinking) &&
(this.linePercentage > 0)
(linePercentage > 0)
)
);

if (changeTo) {
let linePercentage = this.linePercentage;
if (this.shrinking)
linePercentage /= 1.5;
else {
else {
linePercentage *= 1.5;
if (linePercentage > 1)
linePercentage = 1;
}
this.linePercentage = linePercentage;

let angle = Math.atan2(toY - fromY, toX - fromX);
let distance = Math.sqrt(Math.pow(fromX - toX, 2) + Math.pow(fromY - toY, 2));
toX = fromX + (Math.cos(angle) * distance * this.linePercentage);
toY = fromY + (Math.sin(angle) * distance * this.linePercentage);
toX = fromX + (Math.cos(angle) * distance * linePercentage);
toY = fromY + (Math.sin(angle) * distance * linePercentage);
}

this.effect = lightningBuilder.build({
@@ -113,6 +113,8 @@ define([

if ((this.shrinking) && (linePercentage < 0.1))
this.destroyed = true;

this.linePercentage = linePercentage;
},

destroyManual: function () {


+ 6
- 6
src/client/js/components/moveAnimation.js View File

@@ -83,10 +83,10 @@ define([
let ticksLeft = ~~((this.endTime - (+new Date())) / 16);

if (ticksLeft <= 0) {
this.obj.x = this.targetX;
this.obj.y = this.targetY;
source.x = this.targetX;
source.y = this.targetY;

this.obj.setSpritePosition();
source.setSpritePosition();

this.destroyed = true;
this.particles.destroyed = true;
@@ -109,10 +109,10 @@ define([
this.x += dx;
this.y += dy;

this.obj.x = (~~((this.x * 32) / 8) * 8) / 32;
this.obj.y = (~~((this.y * 32) / 8) * 8) / 32;
source.x = (~~((this.x * 32) / 8) * 8) / 32;
source.y = (~~((this.y * 32) / 8) * 8) / 32;

this.obj.setSpritePosition();
source.setSpritePosition();
}

renderer.updateSprites();


+ 6
- 6
src/client/js/components/projectile.js View File

@@ -93,12 +93,12 @@ define([
let ticksLeft = ~~((this.endTime - (+new Date())) / 16);

if (ticksLeft <= 0) {
this.obj.x = target.x;
this.obj.y = target.y;
source.x = target.x;
source.y = target.y;
this.particles.emitter.emit = false;
if (!this.noExplosion)
this.obj.explosion.explode();
this.obj.destroyed = true;
source.explosion.explode();
source.destroyed = true;
} else {
dx /= ticksLeft;
dy /= ticksLeft;
@@ -106,8 +106,8 @@ define([
this.x += dx;
this.y += dy;

this.obj.x = (~~((this.x * scale) / 4) * 4) / scale;
this.obj.y = (~~((this.y * scale) / 4) * 4) / scale;
source.x = (~~((this.x * scale) / 4) * 4) / scale;
source.y = (~~((this.y * scale) / 4) * 4) / scale;
}
},



+ 0
- 4
src/client/js/components/stats.js View File

@@ -25,10 +25,6 @@ define([

let obj = this.obj;

let yOffset = -12;
if (obj.isChampion)
yOffset = -18;

this.hpSprite = renderer.buildRectangle({
layerName: 'effects',
x: obj.x * scale,


+ 2
- 4
src/client/js/input.js View File

@@ -31,7 +31,6 @@ define([
46: 'del',

//hacks for mac cmd key
17: 'ctrl',
224: 'ctrl',
91: 'ctrl',
93: 'ctrl'
@@ -86,8 +85,8 @@ define([
return (down === 1);
} return false;
},
getAxis: function (name) {
let axis = this.axes[name];
getAxis: function (axisName) {
let axis = this.axes[axisName];
if (!axis)
return 0;

@@ -167,7 +166,6 @@ define([
if ((!el.hasClass('ui-container')) || (el.hasClass('blocking')))
return;

let button = e.button;
this.mouse.button = null;
this.mouse.down = false;



+ 14
- 0
src/client/js/misc/helpers.js View File

@@ -1,3 +1,6 @@
/* global _ */

//eslint-disable-next-line no-extend-native
Array.prototype.firstIndex = function (callback, thisArg) {
let T = thisArg;
let O = Object(this);
@@ -20,6 +23,7 @@ Array.prototype.firstIndex = function (callback, thisArg) {
return -1;
};

//eslint-disable-next-line no-extend-native
Array.prototype.spliceWhere = function (callback, thisArg) {
let T = thisArg;
let O = Object(this);
@@ -42,6 +46,7 @@ Array.prototype.spliceWhere = function (callback, thisArg) {
}
};

//eslint-disable-next-line no-extend-native
Array.prototype.spliceFirstWhere = function (callback, thisArg) {
let T = thisArg;
let O = Object(this);
@@ -64,6 +69,15 @@ Array.prototype.spliceFirstWhere = function (callback, thisArg) {
}
};

//eslint-disable-next-line no-extend-native
Object.defineProperty(Object.prototype, 'has', {
enumerable: false,
value: function (prop) {
//eslint-disable-next-line no-undefined
return (this.hasOwnProperty(prop) && this[prop] !== undefined && this[prop] !== null);
}
});

window._ = {
create: function () {
let result = {};


+ 2
- 0
src/client/js/misc/pathfinder.js View File

@@ -1,3 +1,5 @@
/* eslint-disable */

// javascript-astar 0.4.1
// http://github.com/bgrins/javascript-astar
// Freely distributable under the MIT License.


+ 0
- 1
src/client/js/misc/statTranslations.js View File

@@ -48,7 +48,6 @@ define([
elementFireResist: 'fire resistance',
elementHolyResist: 'holy resistance',
elementPoisonResist: 'poison resistance',
elementAllResist: 'all resistance',

attackSpeed: 'attack speed',
castSpeed: 'cast speed',


+ 10
- 10
src/client/js/objects/objBase.js View File

@@ -58,10 +58,10 @@ define([
},

update: function () {
let components = this.components;
let len = components.length;
let oComponents = this.components;
let len = oComponents.length;
for (let i = 0; i < len; i++) {
let c = components[i];
let c = oComponents[i];
if (c.update)
c.update();

@@ -69,7 +69,7 @@ define([
if (c.destroy)
c.destroy();

components.splice(i, 1);
oComponents.splice(i, 1);
i--;
len--;
delete this[c.type];
@@ -77,9 +77,9 @@ define([
}
},

on: function (event, callback) {
let list = this.eventCallbacks[event] || (this.eventCallbacks[event] = []);
list.push(events.on(event, callback));
on: function (eventName, callback) {
let list = this.eventCallbacks[eventName] || (this.eventCallbacks[eventName] = []);
list.push(events.on(eventName, callback));
},

setSpritePosition: function () {
@@ -133,10 +133,10 @@ define([
});
}

let components = this.components;
let cLen = components.length;
let oComponents = this.components;
let cLen = oComponents.length;
for (let i = 0; i < cLen; i++) {
let c = components[i];
let c = oComponents[i];
if (c.destroy)
c.destroy();
}


+ 1
- 2
src/client/js/objects/objects.js View File

@@ -54,7 +54,6 @@ define([

getClosest: function (x, y, maxDistance, reverse, fromMob) {
let objects = this.objects;
let oLen = objects.length;

let list = objects.filter(function (o) {
if ((!o.stats) || (o.nonSelectable) || (o === window.player))
@@ -89,7 +88,7 @@ define([

if (reverse)
fromIndex = (fromIndex === 0 ? list.length : fromIndex) - 1;
else
else
fromIndex = (fromIndex + 1) % list.length;

return list[fromIndex];


+ 1
- 3
src/client/js/rendering/numbers.js View File

@@ -24,8 +24,6 @@ define([
if (!target)
return;

let addY = msg.event ? scale : -(scale * 0.75);

let ttl = 35;

let numberObj = {
@@ -43,7 +41,7 @@ define([

if (numberObj.event)
numberObj.y += (scale / 2);
else if (numberObj.heal)
else if (numberObj.heal)
numberObj.x -= scale;
else
numberObj.x += scale;


+ 5
- 5
src/client/js/rendering/renderer.js View File

@@ -266,17 +266,17 @@ define([

getTexture: function (baseTex, cell, size) {
size = size || 8;
let name = baseTex + '_' + cell;
let textureName = baseTex + '_' + cell;

let textureCache = this.textureCache;

let cached = textureCache[name];
let cached = textureCache[textureName];

if (!cached) {
let y = ~~(cell / 8);
let x = cell - (y * 8);
cached = new pixi.Texture(this.textures[baseTex], new pixi.Rectangle(x * size, y * size, size, size));
textureCache[name] = cached;
textureCache[textureName] = cached;
}

return cached;
@@ -755,8 +755,8 @@ define([
textSprite.x = obj.x - (textSprite.width / 2);
textSprite.y = obj.y;

let parent = obj.parent || this.layers[obj.layerName];
parent.addChild(textSprite);
let parentSprite = obj.parent || this.layers[obj.layerName];
parentSprite.addChild(textSprite);

return textSprite;
},


+ 1
- 1
src/client/js/rendering/shaders/outline.js View File

@@ -14,7 +14,7 @@ define([
frag.replace(/%THICKNESS%/gi, (1.0 / thickness).toFixed(7))
);

this.uniforms.pixelWidth = 0.002;//1.0 / (viewWidth || 1);
this.uniforms.pixelWidth = 0.002;
this.uniforms.pixelHeight = 1.0 / (viewHeight || 1);
this.uniforms.thickness = thickness;
this.uniforms.outlineColor = new Float32Array([0, 0, 0, 1]);


+ 20
- 10
src/client/js/rendering/tileOpacity.js View File

@@ -77,20 +77,30 @@ define([
},

tilesNoFlip: [
171, 179 //Stairs
//Stairs
171, 179
],
wallsNoFlip: [
156, 158, 162, 163, 167, 168, //Ledges
189, //Wall Sign
195, 196, 197, 198, 199, 200, 201, 202, 203, //Stone Ledges
204, 205, 206, 207, 214, 215, 220, 221, 222, 223 //Ship Edges
//Ledges
156, 158, 162, 163, 167, 168,
//Wall Sign
189,
//Stone Ledges
195, 196, 197, 198, 199, 200, 201, 202, 203,
//Ship Edges
204, 205, 206, 207, 214, 215, 220, 221, 222, 223
],
objectsNoFlip: [
96, 101, //Clotheslines
103, 110, 118, 126, //Table Sides
120, 122, 140, //Wall-mounted plants
140, 143, //Ship oars
141, 142 //Ship Cannons
//Clotheslines
96, 101,
//Table Sides
103, 110, 118, 126,
//Wall-mounted plants
120, 122, 140,
//Ship oars
140, 143,
//Ship Cannons
141, 142
],

getSheetNum: function (tile) {


+ 1
- 0
src/client/js/sound/sound.js View File

@@ -46,6 +46,7 @@ define([
let volume = 0.3 * dist;

if (!s.sound) {
//eslint-disable-next-line no-undef
s.sound = new Howl({
src: ['audio/' + s.file],
autoplay: true,


+ 9
- 9
src/client/js/system/events.js View File

@@ -6,19 +6,19 @@ define([
let events = {
events: {},
queue: [],
on: function (event, callback) {
let list = this.events[event] || (this.events[event] = []);
on: function (eventName, callback) {
let list = this.events[eventName] || (this.events[eventName] = []);
list.push(callback);

for (let i = 0; i < this.queue.length; i++) {
let q = this.queue[i];
if (q.event !== event)
if (q.event !== eventName)
continue;

this.queue.splice(i, 1);
i--;

q.args.splice(0, 0, event);
q.args.splice(0, 0, eventName);

this.emit.apply(this, q.args);
}
@@ -31,7 +31,7 @@ define([
return ((q.event !== 'onGetConnectedPlayer') && (q.event !== 'onGetDisconnectedPlayer'));
});
},
off: function (event, callback) {
off: function (eventName, callback) {
let list = this.events[event] || [];
let lLen = list.length;
for (let i = 0; i < lLen; i++) {
@@ -43,15 +43,15 @@ define([
}

if (lLen === 0)
delete this.events[event];
delete this.events[eventName];
},
emit: function (event) {
emit: function (eventName) {
let args = [].slice.call(arguments, 1);

let list = this.events[event];
let list = this.events[eventName];
if (!list) {
this.queue.push({
event: event,
event: eventName,
args: args
});



+ 14
- 14
src/client/ui/templates/characters/characters.js View File

@@ -80,12 +80,12 @@ define([
return (b.level - a.level);
})
.forEach(function (c, i) {
let name = c.name;
let charName = c.name;
if (c.level !== null)
name += '<font class="color-yellowB"> (' + c.level + ')</font>';
charName += '<font class="color-yellowB"> (' + c.level + ')</font>';

let html = templateListItem
.replace('$NAME$', name);
.replace('$NAME$', charName);

let li = $(html)
.appendTo(list);
@@ -96,16 +96,16 @@ define([
li.click();
}, this);
},
onCharacterClick: function (name, e) {
onCharacterClick: function (charName, e) {
this.el.addClass('disabled');

let el = $(e.target);
el.parent().find('.selected').removeClass('selected');
el.addClass('selected');

let charInfo = this.characterInfo[name];
let charInfo = this.characterInfo[charName];
if (charInfo) {
this.onGetCharacter(name, charInfo);
this.onGetCharacter(charName, charInfo);

return;
}
@@ -114,12 +114,12 @@ define([
cpn: 'auth',
method: 'getCharacter',
data: {
name: name
name: charName
},
callback: this.onGetCharacter.bind(this, name)
callback: this.onGetCharacter.bind(this, charName)
});
},
onGetCharacter: function (name, result) {
onGetCharacter: function (charName, result) {
this.find('.button').removeClass('disabled');

let spriteY = ~~(result.cell / 8);
@@ -136,7 +136,7 @@ define([
.css('background', 'url("' + spritesheet + '") ' + spirteX + 'px ' + spriteY + 'px')
.show();

this.find('.name').html(name);
this.find('.name').html(charName);
let stats = result.components.find(function (c) {
return (c.type === 'stats');
});
@@ -151,20 +151,20 @@ define([

this.el.removeClass('disabled');

this.characterInfo[name] = result;
this.selected = name;
this.characterInfo[charName] = result;
this.selected = charName;

let prophecies = result.components.find(function (c) {
return (c.type === 'prophecies');
});

if ((prophecies) && (prophecies.list.indexOf('hardcore') > -1))
this.find('.name').html(name + ' (hc)');
this.find('.name').html(charName + ' (hc)');

this.find('.btnPlay').removeClass('disabled');

if (result.permadead) {
this.find('.name').html(name + ' (hc - rip)');
this.find('.name').html(charName + ' (hc - rip)');
this.find('.btnPlay').addClass('disabled');
}
},


+ 8
- 8
src/client/ui/templates/death/death.js View File

@@ -46,24 +46,24 @@ define([
events.emit('onShowOverlay', this.el);
},

onDeath: function (event) {
if (!event.source)
onDeath: function (eventObj) {
if (!eventObj.source)
this.find('.msg').html('you are dead');
else
this.find('.msg').html('you were killed by [ <div class="inner">' + event.source + '</div> ]');
else
this.find('.msg').html('you were killed by [ <div class="inner">' + eventObj.source + '</div> ]');
this.find('.penalty')
.html('you lost ' + event.xpLoss + ' experience')
.html('you lost ' + eventObj.xpLoss + ' experience')
.show();

if (!event.xpLoss)
if (!eventObj.xpLoss)
this.find('.penalty').hide();

this.el.removeClass('permadeath');
this.doShow();
},

onPermadeath: function (event) {
this.find('.msg').html('you were killed by [ <div class="inner">' + event.source + '</div> ]');
onPermadeath: function (eventObj) {
this.find('.msg').html('you were killed by [ <div class="inner">' + eventObj.source + '</div> ]');
this.el.addClass('permadeath');
this.doShow();
}


+ 6
- 7
src/client/ui/templates/equipment/equipment.js View File

@@ -104,7 +104,6 @@ define([
el = $(el);
let slot = el.attr('slot');
let newItems = window.player.inventory.items.some(function (i) {
let checkSlot = slot;
if (slot.indexOf('finger') === 0)
slot = 'finger';
else if (slot === 'oneHanded')
@@ -209,20 +208,20 @@ define([
let imgX = -sprite[0] * 64;
let imgY = -sprite[1] * 64;

let el = $('<div class="slot"><div class="icon"></div></div>')
let itemEl = $('<div class="slot"><div class="icon"></div></div>')
.appendTo(container);

el
itemEl
.find('.icon')
.css('background', 'url("' + spriteSheet + '") ' + imgX + 'px ' + imgY + 'px')
.on('mousemove', this.onHoverItem.bind(this, el, item, null))
.on('mousemove', this.onHoverItem.bind(this, itemEl, item, null))
.on('mouseleave', this.onHoverItem.bind(this, null, null))
.on('click', this.equipItem.bind(this, item, slot));

if (item === this.hoverCompare)
el.find('.icon').addClass('eq');
else if (item.isNew)
el.find('.icon').addClass('new');
itemEl.find('.icon').addClass('eq');
else itemEl(item.isNew);
el.find('.icon').addClass('new');
}, this);

if (items.length === 0)


+ 17
- 20
src/client/ui/templates/events/events.js View File

@@ -33,44 +33,41 @@ define([
},

onRemoveEvent: function (id) {
let l = this.list.spliceFirstWhere(function (l) {
return (l.id === id);
});

let l = this.list.spliceFirstWhere(f => f.id === id);
if (l)
l.el.remove();
},

onObtainEvent: function (event) {
onObtainEvent: function (eventObj) {
let exists = this.list.find(function (l) {
return (l.id === event.id);
return (l.id === eventObj.id);
});
if (exists) {
exists.el.find('.name').html(event.name);
exists.el.find('.description').html(event.description);
exists.el.find('.name').html(eventObj.name);
exists.el.find('.description').html(eventObj.description);
return;
}

let container = this.el.find('.list');

let html = templateEvent
.replace('$NAME$', event.name)
.replace('$DESCRIPTION$', event.description);
.replace('$NAME$', eventObj.name)
.replace('$DESCRIPTION$', eventObj.description);

let el = $(html).appendTo(container);

if (event.isReady)
if (eventObj.isReady)
el.addClass('ready');

this.list.push({
id: event.id,
id: eventObj.id,
el: el,
event: event
event: eventObj
});

let event = container.find('.event');
let eventEl = container.find('.event');

event
eventEl
.sort(function (a, b) {
a = $(a).hasClass('active') ? 1 : 0;
b = $(b).hasClass('active') ? 1 : 0;
@@ -79,17 +76,17 @@ define([
.appendTo(container);
},

onUpdateEvent: function (event) {
onUpdateEvent: function (eventObj) {
let e = this.list.find(function (l) {
return (l.id === event.id);
return (l.id === eventObj.id);
});

e.event.isReady = event.isReady;
e.event.isReady = eventObj.isReady;

e.el.find('.description').html(event.description);
e.el.find('.description').html(eventObj.description);

e.el.removeClass('ready');
if (event.isReady) {
if (eventObj.isReady) {
e.el.removeClass('disabled');
e.el.addClass('ready');
}


+ 14
- 35
src/client/ui/templates/inventory/inventory.js View File

@@ -15,28 +15,6 @@ define([
tplTooltip,
input
) {
let qualityColors = [{
r: 252,
g: 252,
b: 252
}, {
r: 7,
g: 170,
b: 214
}, {
r: 255,
g: 255,
b: 0
}, {
r: 192,
g: 0,
b: 207
}, {
r: 255,
g: 108,
b: 4
}];

return {
tpl: template,

@@ -90,12 +68,12 @@ define([
let rendered = [];

for (let i = 0; i < iLen; i++) {
let item = items.find(function (item) {
return ((item.pos !== null) && (item.pos === i));
});
let itemEl = null;
let item = items.find(f => (f.pos !== null && f.pos === i));

if (!item) {
let itemEl = $(tplItem)
itemEl = $(tplItem)
.appendTo(container);

itemEl
@@ -112,7 +90,7 @@ define([
let imgX = -item.sprite[0] * 64;
let imgY = -item.sprite[1] * 64;

let itemEl = $(tplItem)
itemEl = $(tplItem)
.appendTo(container);

let spritesheet = item.spritesheet || '../../../images/items.png';
@@ -121,7 +99,7 @@ define([
spritesheet = '../../../images/materials.png';
else if (item.quest)
spritesheet = '../../../images/questItems.png';
else if (item.type === 'consumable')
else if (item.type === 'consumable')
spritesheet = '../../../images/consumables.png';
}

@@ -365,7 +343,7 @@ define([
if (config.length > 0)
events.emit('onContextMenu', config, e);

e.preventDefault;
e.preventDefault();
return false;
},

@@ -406,12 +384,14 @@ define([

onChangeStackAmount: function (e, amount) {
let item = this.find('.split-box').data('item');
let delta = e ? ((e.originalEvent.deltaY > 0) ? -1 : 1) : amount;
let delta = amount;
if (e)
delta = (e.originalEvent.deltaY > 0) ? -1 : 1;
if (this.shiftDown)
delta *= 10;
let amount = this.find('.split-box .amount');
let elAmount = this.find('.split-box .amount');

amount.val(Math.max(1, Math.min(item.quantity - 1, ~~amount.val() + delta)));
elAmount.val(Math.max(1, Math.min(item.quantity - 1, ~~elAmount.val() + delta)));
},

onEnterStackAmount: function (e) {
@@ -464,7 +444,6 @@ define([
delete item.isNew;
}

let elOffset = el.offset();
ttPos = {
x: ~~(e.clientX + 32),
y: ~~(e.clientY)
@@ -494,9 +473,9 @@ define([
if (item.slot === 'twoHanded') {
if (!equippedOneHanded)
compare = equippedOffhand;
else if (!equippedOffhand)
else if (!equippedOffhand)
compare = equippedOneHanded;
else {
else {
// compare against oneHanded and offHand combined by creating a virtual item that is the sum of the two
compare = $.extend(true, {}, equippedOneHanded);
compare.refItem = equippedOneHanded;


+ 0
- 2
src/client/ui/templates/leaderboard/leaderboard.js View File

@@ -128,8 +128,6 @@ define([

let container = this.find('.list').empty();

let low = this.offset * this.pageSize;
let high = Math.min(result.length, low + this.pageSize);
this.maxOffset = Math.ceil(result.length / this.pageSize) - 1;

for (let i = 0; i < this.records.list.length; i++) {


+ 2
- 2
src/client/ui/templates/login/login.js View File

@@ -38,8 +38,8 @@ define([
},

redirect: function (e) {
let location = $(e.target).attr('location');
window.open(location, '_blank');
let currentLocation = $(e.target).attr('location');
window.open(currentLocation, '_blank');
},

onKeyDown: function (e) {


+ 3
- 4
src/client/ui/templates/mail/mail.js View File

@@ -73,7 +73,7 @@ define([
spritesheet = '../../../images/materials.png';
else if (item.quest)
spritesheet = '../../../images/questItems.png';
else if (item.type === 'consumable')
else if (item.type === 'consumable')
spritesheet = '../../../images/consumables.png';

let el = this.find('.item');
@@ -83,10 +83,9 @@ define([
.find('.icon')
.css('background', 'url(' + spritesheet + ') ' + imgX + 'px ' + imgY + 'px');

if (item.quantity) {
let quantityText = item.quantity;
if (item.quantity)
el.find('.quantity').html(item.quantity);
} else
else
el.find('.quantity').html('');

this.find('.txtRecipient').val('');


+ 1
- 1
src/client/ui/templates/messages/messages.js View File

@@ -70,7 +70,7 @@ define([
this.find('[filter="' + channel.trim() + '"]').remove();

let container = this.find('.filters');
let newFilter = $(tplTab)
$(tplTab)
.appendTo(container)
.addClass('channel')
.attr('filter', channel.trim())


+ 3
- 3
src/client/ui/templates/online/online.js View File

@@ -75,11 +75,11 @@ define([
this.build();
},

onGetDisconnectedPlayer: function (name) {
onGetDisconnectedPlayer: function (playerName) {
let onlineList = this.onlineList;

onlineList.spliceWhere(function (o) {
return (o.name === name);
return (o.name === playerName);
});

if (this.shown)
@@ -115,7 +115,7 @@ define([
}], e);
}

e.preventDefault;
e.preventDefault();
return false;
},



+ 4
- 4
src/client/ui/templates/party/party.js View File

@@ -117,17 +117,17 @@ define([
let player = globals.onlineList.find(function (o) {
return (o.id === p);
});
let name = player ? player.name : 'unknown';
let playerName = player ? player.name : 'unknown';
let level = 'level: ' + (player ? player.level : '?');

let html = templatePartyMember
.replace('$NAME$', name)
.replace('$NAME$', playerName)
.replace('$LEVEL$', level);

let el = $(html)
.appendTo(container)
.attr('memberId', p)
.on('contextmenu', this.showContext.bind(this, name, p));
.on('contextmenu', this.showContext.bind(this, playerName, p));

if (player.zone !== window.player.zone)
el.addClass('differentZone');
@@ -153,7 +153,7 @@ define([
callback: this.leaveParty.bind(this)
}], e);

e.preventDefault;
e.preventDefault();
return false;
},



+ 2
- 4
src/client/ui/templates/passives/input.js View File

@@ -29,7 +29,6 @@ define([
46: 'del',

//hacks for mac cmd key
17: 'ctrl',
224: 'ctrl',
91: 'ctrl',
93: 'ctrl'
@@ -80,8 +79,8 @@ define([
return (down === 1);
} return false;
},
getAxis: function (name) {
let axis = this.axes[name];
getAxis: function (axisName) {
let axis = this.axes[axisName];
if (!axis)
return 0;

@@ -162,7 +161,6 @@ define([
if ((!el.hasClass('canvas')) || (el.hasClass('blocking')))
return;

let button = e.button;
this.mouse.button = null;
this.mouse.down = false;
this.mouse.raw = e;


+ 4
- 8
src/client/ui/templates/passives/passives.js View File

@@ -150,8 +150,6 @@ define([

renderers: {
clear: function () {
let pos = this.oldPos || this.pos;

this.ctx.clearRect(0, 0, this.size.w, this.size.h);

delete this.oldPos;
@@ -317,12 +315,12 @@ define([
else if (node.spiritStart)
text = 'Starting node for ' + node.spiritStart + ' spirits';

let pos = {
let tooltipPos = {
x: input.mouse.raw.clientX + 15,
y: input.mouse.raw.clientY
};

events.emit('onShowTooltip', text, this.el[0], pos);
events.emit('onShowTooltip', text, this.el[0], tooltipPos);
} else
events.emit('onHideTooltip', this.el[0]);
},
@@ -398,7 +396,7 @@ define([
},

onGetPassivePoints: function (points) {
let el = this.find('.points')
this.find('.points')
.html('Points Available: ' + points);
},

@@ -409,9 +407,7 @@ define([
data: {
cpn: 'passives',
method: 'untickNode',
data: {
nodeId: node.id
}
data: {}
}
});
}


+ 3
- 10
src/client/ui/templates/quests/quests.js View File

@@ -85,10 +85,7 @@ define([
},

onUpdateQuest: function (quest) {
let q = this.quests.find(function (q) {
return (q.id === quest.id);
});

let q = this.quests.find(f => f.id === quest.id);
q.quest.isReady = quest.isReady;

q.el.find('.description').html(quest.description);
@@ -101,17 +98,13 @@ define([
},

onCompleteQuest: function (id) {
let q = this.quests.find(function (q) {
return (q.id === id);
});
let q = this.quests.find(f => f.id === id);

if (!q)
return;

q.el.remove();
this.quests.spliceWhere(function (q) {
return (q.id === id);
});
this.quests.spliceWhere(f => f.id === id);
}
};
});

+ 5
- 6
src/client/ui/templates/smithing/smithing.js View File

@@ -130,23 +130,23 @@ define([
this.offEvent(this.eventClickInv);
return;
} else if ((!msg.item.slot) || (msg.item.noAugment)) {
let msg = {
let resultMsg = {
msg: 'Incorrect Item Type',
type: 'failure',
zIndex: 9999999,
top: 180
};
events.emit('onGetAnnouncement', msg);
events.emit('onGetAnnouncement', resultMsg);

return;
} else if (msg.item.eq) {
let msg = {
let resultMsg = {
msg: 'Cannot augment equipped items',
type: 'failure',
zIndex: 9999999,
top: 180
};
events.emit('onGetAnnouncement', msg);
events.emit('onGetAnnouncement', resultMsg);

return;
}
@@ -247,7 +247,7 @@ define([
spritesheet = '../../../images/materials.png';
else if (item.quest)
spritesheet = '../../../images/questItems.png';
else if (item.type === 'consumable')
else if (item.type === 'consumable')
spritesheet = '../../../images/consumables.png';

let el = $(templateItem)
@@ -277,7 +277,6 @@ define([
let ttPos = null;

if (el) {
let elOffset = el.offset();
ttPos = {
x: ~~(e.clientX + 32),
y: ~~(e.clientY)


+ 2
- 1
src/client/ui/templates/spells/spells.js View File

@@ -52,9 +52,10 @@ define([
})
.next().html(hotkey);

//HACK - we don't actually know how long a tick is
this.onGetSpellCooldowns({
spell: spells[i].id,
cd: spells[i].cd * 350 //HACK - we don't actually know how long a tick is
cd: spells[i].cd * 350
});
}
},


+ 2
- 2
src/client/ui/templates/stash/stash.js View File

@@ -58,7 +58,7 @@ define([
spritesheet = '../../../images/materials.png';
else if (item.quest)
spritesheet = '../../../images/questItems.png';
else if (item.type === 'consumable')
else if (item.type === 'consumable')
spritesheet = '../../../images/consumables.png';
}

@@ -93,7 +93,7 @@ define([
callback: this.withdraw.bind(this, item)
}], e);

e.preventDefault;
e.preventDefault();
return false;
},



+ 1
- 1
src/client/ui/templates/target/target.js View File

@@ -37,7 +37,7 @@ define([

events.emit('onContextMenu', context, e.event);

e.event.preventDefault;
e.event.preventDefault();
return false;
},



+ 6
- 6
src/client/ui/templates/tooltipItem/tooltipItem.js View File

@@ -100,7 +100,7 @@ define([
});
}

stats = Object.keys(tempStats)
let stats = Object.keys(tempStats)
.map(function (s) {
let isEnchanted = (s[0] === '_');
let statName = s;
@@ -160,16 +160,16 @@ define([
return row;
}).join('');

let name = item.name;
let itemName = item.name;
if (item.quantity > 1)
name += ' x' + item.quantity;
itemName += ' x' + item.quantity;

let level = null;
if (item.level)
level = item.level.push ? item.level[0] + ' - ' + item.level[1] : item.level;

let html = tplTooltip
.replace('$NAME$', name)
.replace('$NAME$', itemName)
.replace('$QUALITY$', item.quality)
.replace('$TYPE$', item.type)
.replace('$SLOT$', item.slot)
@@ -195,7 +195,7 @@ define([
// have to move away from zero by EPSILON, not a simple add
if (delta >= 0)
delta += Number.EPSILON;
else
else
delta -= Number.EPSILON;
delta = ~~((delta) * 100) / 100;
@@ -268,7 +268,7 @@ define([

if (!item.ability)
this.tooltip.find('.damage').hide();
else
else
this.tooltip.find('.info').hide();

if (item.spell) {


+ 2
- 4
src/client/ui/templates/trade/trade.js View File

@@ -76,7 +76,7 @@ define([
spritesheet = '../../../images/materials.png';
else if (item.quest)
spritesheet = '../../../images/questItems.png';
else if (item.type === 'consumable')
else if (item.type === 'consumable')
spritesheet = '../../../images/consumables.png';
else if (item.type === 'skin') {
offset = 4;
@@ -105,9 +105,7 @@ define([
if (action === 'buy') {
let noAfford = false;
if (item.worth.currency) {
let currencyItems = window.player.inventory.items.find(function (i) {
return (i.name === item.worth.currency);
});
let currencyItems = window.player.inventory.items.find(f => f.name === item.worth.currency);
noAfford = ((!currencyItems) || (currencyItems.quantity < item.worth.amount));
} else
noAfford = (item.worth * this.itemList.markup > window.player.trade.gold);


+ 3
- 4
src/client/ui/templates/workbench/workbench.js View File

@@ -51,7 +51,7 @@ define([
}, this);
},

onSelectRecipe: function (el, name) {
onSelectRecipe: function (el, recipeName) {
el.parent().find('.selected').removeClass('selected');
el.addClass('selected');

@@ -63,7 +63,7 @@ define([
cpn: 'workbench',
method: 'getRecipe',
data: {
name: name
name: recipeName
}
},
callback: this.onGetRecipe.bind(this)
@@ -132,11 +132,10 @@ define([
this.find('.title').html('');
this.find('.description').html('');
this.find('.materialList .material').remove();
let container = this.find('.materialList')
this.find('.materialList')
.css({
visibility: 'hidden'
});

this.find('.btnCraft').addClass('disabled');
}
};


+ 6
- 6
src/client/ui/uiBase.js View File

@@ -49,15 +49,15 @@ define([
setOptions: function (options) {
this.options = options;
},
on: function (el, event, callback) {
on: function (el, eventName, callback) {
if (typeof (el) === 'string')
el = this.find(el);
else
el = $(el);

el.on(event, function () {
el.on(eventName, function () {
let args = [].slice.call(arguments, 1);
args.splice(0, 0, event);
args.splice(0, 0, eventName);

callback.apply(null, args);
});
@@ -122,9 +122,9 @@ define([
this.el.addClass('disabled');
},

onEvent: function (event, callback) {
let list = this.eventCallbacks[event] || (this.eventCallbacks[event] = []);
let eventCallback = events.on(event, callback);
onEvent: function (eventName, callback) {
let list = this.eventCallbacks[eventName] || (this.eventCallbacks[eventName] = []);
let eventCallback = events.on(eventName, callback);
list.push(eventCallback);

return eventCallback;


+ 9
- 7
src/server/misc/helpers.js View File

@@ -1,7 +1,5 @@
//Hack to bypass eslint
let Obj = Object;

Obj.defineProperty(Array.prototype, 'firstIndex', {
//eslint-disable-next-line no-extend-native
Object.defineProperty(Array.prototype, 'firstIndex', {
enumerable: false,
value: function (callback, thisArg) {
let T = thisArg;
@@ -26,7 +24,8 @@ Obj.defineProperty(Array.prototype, 'firstIndex', {
}
});

Obj.defineProperty(Array.prototype, 'spliceWhere', {
//eslint-disable-next-line no-extend-native
Object.defineProperty(Array.prototype, 'spliceWhere', {
enumerable: false,
value: function (callback, thisArg) {
let T = thisArg;
@@ -51,7 +50,8 @@ Obj.defineProperty(Array.prototype, 'spliceWhere', {
}
});

Obj.defineProperty(Array.prototype, 'spliceFirstWhere', {
//eslint-disable-next-line no-extend-native
Object.defineProperty(Array.prototype, 'spliceFirstWhere', {
enumerable: false,
value: function (callback, thisArg) {
let T = thisArg;
@@ -76,9 +76,11 @@ Obj.defineProperty(Array.prototype, 'spliceFirstWhere', {
}
});

Obj.defineProperty(Object.prototype, 'has', {
//eslint-disable-next-line no-extend-native
Object.defineProperty(Object.prototype, 'has', {
enumerable: false,
value: function (prop) {
//eslint-disable-next-line no-undefined
return (this.hasOwnProperty(prop) && this[prop] !== undefined && this[prop] !== null);
}
});


Loading…
Cancel
Save