Browse Source

Merge branch 'master' into 'release'

Master

See merge request Isleward/isleward!586
tags/v0.10.6.12
Big Bad Waffle 2 years ago
parent
commit
785ca2cc2b
6 changed files with 57 additions and 11 deletions
  1. +6
    -1
      src/client/ui/templates/reputation/reputation.js
  2. +4
    -2
      src/server/components/auth/checkLoginRewards.js
  3. +2
    -2
      src/server/events/events.js
  4. +12
    -5
      src/server/security/router.js
  5. +11
    -1
      src/server/security/routerConfig.js
  6. +22
    -0
      src/server/world/syncer.js

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

@@ -64,10 +64,15 @@ define([
let nextTier = (tier === tiers.length - 1) ? tiers[tiers.length - 1] : tiers[tier + 1];

let percentage = (rep - prevTier.rep) / (nextTier.rep - prevTier.rep) * 100;

if (tier === tiers.length - 1)
percentage = 100;

this.find('.bar-outer').show();

this.find('.front').css({
width: percentage + '%'
width: percentage + '%',
minWidth: percentage + '%'
});

let w = ~~(this.find('.front').width() / 5) * 5;


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

@@ -1,6 +1,8 @@
const scheduler = require('../../misc/scheduler');
const rewardGenerator = require('../../misc/rewardGenerator');

const maxRewardedDays = 21;

const calculateDaysSkipped = (oldTime, newTime) => {
let daysSkipped = 1;

@@ -59,10 +61,10 @@ module.exports = async (cpnAuth, data, character, cbDone) => {
else
loginStreak = 1;

loginStreak = Math.max(1, Math.min(21, 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);
if (!rewards) {
cbDone();


+ 2
- 2
src/server/events/events.js View File

@@ -310,7 +310,7 @@ module.exports = {
}
}
]
}, 'server');
}, ['server']);
}

event.phases.forEach(function (p) {
@@ -344,7 +344,7 @@ module.exports = {
}
}
]
}, 'server');
}, ['server']);
}

if (desc) {


+ 12
- 5
src/server/security/router.js View File

@@ -62,9 +62,18 @@ module.exports = {
return (typeof(value) !== 'string' && !Number.isInteger(value));
else if (dataType === 'integer')
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'));
else if (dataType === 'arrayOfIntegers')
return (!Array.isArray(value) || value.some(v => !Number.isInteger(v)));
@@ -91,8 +100,6 @@ module.exports = {
return foundIncorrectObject;
} else if (dataType === 'stringOrNull')
return (typeof(value) !== 'string' && value !== null);
else if (dataType === 'mixed')
return false;

return true;
});


+ 11
- 1
src/server/security/routerConfig.js View File

@@ -158,7 +158,17 @@ const routerConfig = {
},
{
key: 'target',
dataType: 'integerNullOrPosition'
dataType: 'integerNullOrObject',
spec: [
{
key: 'x',
dataType: 'integer'
},
{
key: 'y',
dataType: 'integer'
}
]
},
{
key: 'spell',


+ 22
- 0
src/server/world/syncer.js View File

@@ -39,6 +39,8 @@ module.exports = {
oLen--;
i--;
}

this.sendServerModuleMessages();
},

updateZoneNotEmpty: function (objects, oList, oLen, pList, pLen) {
@@ -220,6 +222,26 @@ module.exports = {
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 = {};
}
};

Loading…
Cancel
Save