|
- let io = require('../security/io');
- let configSkins = require('../config/skins');
-
- module.exports = {
- fixCharacter: function (player) {
- let inv = player.components.find(c => (c.type === 'inventory'));
- if ((inv) && (inv.items))
- this.fixItems(inv.items);
- },
-
- fixStash: function (stash) {
- this.fixItems(stash);
- },
-
- fixItems: function (items) {
- items
- .filter(i => ((i.name === 'Cowl of Obscurity') && (!i.factions)))
- .forEach(function (i) {
- i.factions = [{
- id: 'gaekatla',
- tier: 7
- }];
- });
-
- items
- .filter(i => (i.name === 'Steelclaw\'s Bite'))
- .forEach(function (i) {
- let effect = i.effects[0];
-
- if (!effect.properties) {
- effect.properties = {
- element: 'poison'
- };
- } else if (!effect.properties.element)
- effect.properties.element = 'poison';
- });
-
- items
- .filter(f => ((f.effects) && (f.effects[0].factionId === 'akarei') && (!f.effects[0].properties)))
- .forEach(function (i) {
- let effect = i.effects[0];
- let chance = parseFloat(effect.text.split(' ')[0].replace('%', ''));
-
- effect.properties = {
- chance: chance
- };
- });
-
- items
- .filter(f => ((f.stats) && (f.stats.dmgPercent)))
- .forEach(function (i) {
- i.stats.physicalPercent = i.stats.dmgPercent;
- delete i.stats.dmgPercent;
-
- if ((i.enchantedStats) && (i.enchantedStats.dmgPercent)) {
- i.enchantedStats.physicalPercent = i.enchantedStats.dmgPercent;
- delete i.enchantedStats.dmgPercent;
- }
- });
- },
-
- fixSkins: function (username, skins) {
- let length = skins.length;
- skins = skins.filter(s => !!configSkins.getBlueprint(s));
-
- if (length !== skins.length) {
- io.set({
- ent: username,
- field: 'skins',
- value: JSON.stringify(skins)
- });
- }
- }
- };
|