Browse Source

fixed some idols

tags/v0.1.10^2
Big Bad Waffle 6 years ago
parent
commit
e579a13718
2 changed files with 47 additions and 25 deletions
  1. +5
    -1
      src/server/items/config/currencies.js
  2. +42
    -24
      src/server/items/enchanter.js

+ 5
- 1
src/server/items/config/currencies.js View File

@@ -48,7 +48,11 @@ define([

getCurrencyFromAction: function (action) {
var currencies = this.currencies;
return currencies[Object.keys(currencies).find(o => (currencies[o].action == action))];
var pick = Object.keys(currencies).find(o => (currencies[o].action == action));

return extend(true, {
name: pick
}, currencies[pick])
}
};
});

+ 42
- 24
src/server/items/enchanter.js View File

@@ -47,15 +47,15 @@ define([
});

if (msg.action == 'reroll') {
delete msg.addStatMsgs;
var enchantedStats = item.enchantedStats || {};
delete item.enchantedStats;
delete msg.addStatMsgs;

if ((item.stats) && (item.stats.lvlRequire)) {
item.level += item.stats.lvlRequire;
delete item.originalLevel;
}

delete item.power;

item.stats = {};
var bpt = {
slot: item.slot,
@@ -66,15 +66,25 @@ define([
generatorSlots.generate(item, bpt);
generatorTypes.generate(item, bpt);
generatorStats.generate(item, bpt);

for (var p in enchantedStats) {
if (!item.stats[p])
item.stats[p] = 0;

item.stats[p] += enchantedStats[p];
}
item.enchantedStats = enchantedStats;
} else if (msg.action == 'relevel') {
var offset = ((~~(Math.random() * 2) * 2) - 1) * (1 + ~~(Math.random() * 2));
if (item.level == 1)
offset = Math.abs(offset);
item.level = Math.max(1, item.level + offset);
var offset = 1 + ~~(Math.random() * 2);
item.level = Math.min(20, item.level + offset);
} else if (msg.action == 'reslot') {
if (item.effects)
return;

var enchantedStats = item.enchantedStats || {};
delete item.enchantedStats;
delete msg.addStatMsgs;

var newItem = generator.generate({
slot: configSlots.getRandomSlot(item.slot),
level: item.level,
@@ -86,6 +96,14 @@ define([
delete item.stats;
delete item.spell;

for (var p in enchantedStats) {
if (!newItem.stats[p])
newItem.stats[p] = 0;

newItem.stats[p] += enchantedStats[p];
}
newItem.enchantedStats = enchantedStats;

extend(true, item, newItem);
} else if (msg.action == 'reforge') {
if (!item.spell)
@@ -115,29 +133,29 @@ define([
addStat: function (item, result) {
generatorStats.generate(item, {
statCount: 1,

}, result);
},

getEnchantMaterials: function (item, action) {
var result = null;

var powerLevel = item.power || 0;
if (powerLevel < 3) {
var mult = [15, 30, 60][powerLevel];

if (action == 'reroll')
result = [configCurrencies.getCurrencyFromAction('reroll')];
else if (action == 'relevel')
result = [configCurrencies.getCurrencyFromAction('relevel')];
else if (action == 'reslot')
result = [configCurrencies.getCurrencyFromAction('reslot')];
else if (action == 'reforge')
result = [configCurrencies.getCurrencyFromAction('reforge')];
else {
result = salvager.salvage(item, true);
result.forEach(r => r.quantity = Math.max(1, ~~(r.quantity * mult)));
}
if (action == 'reroll')
result = [configCurrencies.getCurrencyFromAction('reroll')];
else if (action == 'relevel')
result = [configCurrencies.getCurrencyFromAction('relevel')];
else if (action == 'reslot')
result = [configCurrencies.getCurrencyFromAction('reslot')];
else if (action == 'reforge')
result = [configCurrencies.getCurrencyFromAction('reforge')];
else {
var powerLevel = item.power || 0;
if (powerLevel < 3)
var mult = [15, 30, 60][powerLevel];
else
return;

result = salvager.salvage(item, true);
result.forEach(r => r.quantity = Math.max(1, ~~(r.quantity * mult)));
}

return {


Loading…
Cancel
Save