Master See merge request Isleward/isleward!586tags/v0.10.6.12
@@ -64,10 +64,15 @@ define([ | |||||
let nextTier = (tier === tiers.length - 1) ? tiers[tiers.length - 1] : tiers[tier + 1]; | let nextTier = (tier === tiers.length - 1) ? tiers[tiers.length - 1] : tiers[tier + 1]; | ||||
let percentage = (rep - prevTier.rep) / (nextTier.rep - prevTier.rep) * 100; | let percentage = (rep - prevTier.rep) / (nextTier.rep - prevTier.rep) * 100; | ||||
if (tier === tiers.length - 1) | |||||
percentage = 100; | |||||
this.find('.bar-outer').show(); | this.find('.bar-outer').show(); | ||||
this.find('.front').css({ | this.find('.front').css({ | ||||
width: percentage + '%' | |||||
width: percentage + '%', | |||||
minWidth: percentage + '%' | |||||
}); | }); | ||||
let w = ~~(this.find('.front').width() / 5) * 5; | let w = ~~(this.find('.front').width() / 5) * 5; | ||||
@@ -1,6 +1,8 @@ | |||||
const scheduler = require('../../misc/scheduler'); | const scheduler = require('../../misc/scheduler'); | ||||
const rewardGenerator = require('../../misc/rewardGenerator'); | const rewardGenerator = require('../../misc/rewardGenerator'); | ||||
const maxRewardedDays = 21; | |||||
const calculateDaysSkipped = (oldTime, newTime) => { | const calculateDaysSkipped = (oldTime, newTime) => { | ||||
let daysSkipped = 1; | let daysSkipped = 1; | ||||
@@ -59,10 +61,10 @@ module.exports = async (cpnAuth, data, character, cbDone) => { | |||||
else | else | ||||
loginStreak = 1; | loginStreak = 1; | ||||
loginStreak = Math.max(1, Math.min(21, loginStreak)); | |||||
accountInfo.loginStreak = loginStreak; | accountInfo.loginStreak = loginStreak; | ||||
const itemCount = 1 + ~~(loginStreak / 2); | |||||
const cappedLoginStreak = Math.max(1, Math.min(maxRewardedDays, loginStreak)); | |||||
const itemCount = 1 + ~~(cappedLoginStreak / 2); | |||||
const rewards = rewardGenerator(itemCount); | const rewards = rewardGenerator(itemCount); | ||||
if (!rewards) { | if (!rewards) { | ||||
cbDone(); | cbDone(); | ||||
@@ -310,7 +310,7 @@ module.exports = { | |||||
} | } | ||||
} | } | ||||
] | ] | ||||
}, 'server'); | |||||
}, ['server']); | |||||
} | } | ||||
event.phases.forEach(function (p) { | event.phases.forEach(function (p) { | ||||
@@ -344,7 +344,7 @@ module.exports = { | |||||
} | } | ||||
} | } | ||||
] | ] | ||||
}, 'server'); | |||||
}, ['server']); | |||||
} | } | ||||
if (desc) { | if (desc) { | ||||
@@ -62,9 +62,18 @@ module.exports = { | |||||
return (typeof(value) !== 'string' && !Number.isInteger(value)); | return (typeof(value) !== 'string' && !Number.isInteger(value)); | ||||
else if (dataType === 'integer') | else if (dataType === 'integer') | ||||
return !Number.isInteger(value); | return !Number.isInteger(value); | ||||
else if (dataType === 'integerNullOrPosition') | |||||
return !Number.isInteger(value) && value !== null && (typeof(value) !== 'object' && value.hasOwnProperty('x') && value.hasOwnProperty('y')); | |||||
else if (dataType === 'arrayOfStrings') | |||||
else if (dataType === 'integerNullOrObject') { | |||||
const isCorrect = ( | |||||
Number.isInteger(value) || | |||||
value === null || | |||||
( | |||||
typeof(value) === 'object' && | |||||
this.keysCorrect(value, spec) | |||||
) | |||||
); | |||||
return !isCorrect; | |||||
} else if (dataType === 'arrayOfStrings') | |||||
return (!Array.isArray(value) || value.some(v => typeof(v) !== 'string')); | return (!Array.isArray(value) || value.some(v => typeof(v) !== 'string')); | ||||
else if (dataType === 'arrayOfIntegers') | else if (dataType === 'arrayOfIntegers') | ||||
return (!Array.isArray(value) || value.some(v => !Number.isInteger(v))); | return (!Array.isArray(value) || value.some(v => !Number.isInteger(v))); | ||||
@@ -91,8 +100,6 @@ module.exports = { | |||||
return foundIncorrectObject; | return foundIncorrectObject; | ||||
} else if (dataType === 'stringOrNull') | } else if (dataType === 'stringOrNull') | ||||
return (typeof(value) !== 'string' && value !== null); | return (typeof(value) !== 'string' && value !== null); | ||||
else if (dataType === 'mixed') | |||||
return false; | |||||
return true; | return true; | ||||
}); | }); | ||||
@@ -158,7 +158,17 @@ const routerConfig = { | |||||
}, | }, | ||||
{ | { | ||||
key: 'target', | key: 'target', | ||||
dataType: 'integerNullOrPosition' | |||||
dataType: 'integerNullOrObject', | |||||
spec: [ | |||||
{ | |||||
key: 'x', | |||||
dataType: 'integer' | |||||
}, | |||||
{ | |||||
key: 'y', | |||||
dataType: 'integer' | |||||
} | |||||
] | |||||
}, | }, | ||||
{ | { | ||||
key: 'spell', | key: 'spell', | ||||
@@ -39,6 +39,8 @@ module.exports = { | |||||
oLen--; | oLen--; | ||||
i--; | i--; | ||||
} | } | ||||
this.sendServerModuleMessages(); | |||||
}, | }, | ||||
updateZoneNotEmpty: function (objects, oList, oLen, pList, pLen) { | updateZoneNotEmpty: function (objects, oList, oLen, pList, pLen) { | ||||
@@ -220,6 +222,26 @@ module.exports = { | |||||
data: this.buffer | data: this.buffer | ||||
}); | }); | ||||
this.buffer = {}; | |||||
}, | |||||
sendServerModuleMessages: function () { | |||||
if (!this.dirty) | |||||
return; | |||||
this.dirty = false; | |||||
const serverModuleMsgs = this.buffer.serverModule; | |||||
if (serverModuleMsgs) { | |||||
process.send({ | |||||
method: 'events', | |||||
data: { | |||||
serverModule: serverModuleMsgs | |||||
} | |||||
}); | |||||
} | |||||
this.buffer = {}; | this.buffer = {}; | ||||
} | } | ||||
}; | }; |