Преглед изворни кода

done balancing basic and special abilties

tags/v0.1.10
Big Bad Waffle пре 6 година
родитељ
комит
7ef60788d8
8 измењених фајлова са 72 додато и 43 уклоњено
  1. +1
    -1
      sims/dpt/nodemon.json
  2. +42
    -13
      sims/dpt/sim.js
  3. +1
    -1
      src/server/combat/combat.js
  4. +1
    -1
      src/server/components/inventory.js
  5. +20
    -20
      src/server/config/spellsConfig.js
  6. +1
    -1
      src/server/items/generators/spellbook.js
  7. +4
    -4
      src/server/mods/class-necromancer/index.js
  8. +2
    -2
      src/server/world/mobBuilder.js

+ 1
- 1
sims/dpt/nodemon.json Прегледај датотеку

@@ -9,7 +9,7 @@
"js": "node --harmony"
},
"events": {
"restart": "osascript -e 'display notification \"App restarted due to:\n'$FILENAME'\" with title \"nodemon\"'"
},
"watch": [
"*.*",


+ 42
- 13
sims/dpt/sim.js Прегледај датотеку

@@ -8,17 +8,18 @@ define([
var spells = config.spells;

var max = true;
var maxTarget = true;

spells['harvest life'] = {
statType: ['str', 'int'],
statMult: 1.6,
statMult: 1.34,
element: 'physical',
auto: true,
cdMax: 6,
manaCost: 0,
range: 1,
random: {
damage: [2.2, 4.1],
damage: [1.5, 5.7],
healPercent: [5, 15]
}
};
@@ -26,14 +27,14 @@ define([
var bloodBarrierMult = 1.25;
spells['skeleton melee'] = {
statType: ['str', 'int'],
statMult: 0.81 * bloodBarrierMult,
statMult: 0.46 * bloodBarrierMult,
element: 'physical',
auto: true,
cdMax: 5,
manaCost: 0,
range: 1,
random: {
damage: [1, 1]
damage: [1, 3.8]
}
};

@@ -62,13 +63,36 @@ define([
606
];

var hpMax = [
91.25,
96.50,
110.75,
138.50,
184.25,
252.50,
347.75,
474.50,
637.25,
840.50,
1088.75,
1386.50,
1738.25,
2148.50,
2621.75,
3162.50,
3775.25,
4464.50,
5234.75,
6090.50
];

return {
init: function () {
var res = [];

for (var s in spells) {
var c = spells[s];
var d = c.random.damage;
var d = c.random.damage || c.random.healing;
if (!d)
continue;

@@ -82,6 +106,8 @@ define([
element: c.element,
cd: c.cdMax,
damage: damage,
noCrit: true,
noMitigate: !!c.random.healing,

source: {
stats: {
@@ -93,17 +119,15 @@ define([
elementPoisonPercent: 0,
elementPhysicalPercent: 0,
elementHolyPercent: 0,
elementFirePercent: 0,
critChance: max ? 50 : 5,
critMultiplier: max ? 300 : 150
elementFirePercent: 0
}
},
},
target: {
stats: {
values: {
armor: level * 50,
elementAllResist: 0,
armor: maxTarget ? (level * 50) : (level * 20),
elementAllResist: maxTarget ? 100 : 0,
elementArcaneResist: 0,
elementFrostResist: 0,
elementPoisonResist: 0,
@@ -129,17 +153,22 @@ define([
var amount = combat.getDamage(config).amount;
var duration = c.random.i_duration;
if (duration) {
amount *= (duration[0] + ~~((duration[1] - duration[0]) / 2));
amount *= max ? duration[1] : duration[0];
}

amount /= c.cdMax
amount /= c.cdMax;

var critChance = max ? 0.5 : 0.05;
var critMult = max ? 3 : 1.5;

amount = (amount * (1 - critChance)) + (amount * critChance * critMult);

res.push({
name: s,
dpt: (~~(amount * 10) / 10),
cd: c.cdMax,
mana: c.manaCost || '',
tpk: ~~(hp[level - 1] / amount),
tpk: ~~((maxTarget ? hpMax : hp)[level - 1] / amount),
amount: amount
});
}


+ 1
- 1
src/server/combat/combat.js Прегледај датотеку

@@ -41,7 +41,7 @@ define([
amount = (
amount *
max(0.5 + max((1 - ((tgtValues.armor || 0) / (srcValues.level * 50))) / 2, -0.5), 0.5) *
max(0.5 + max((1 - (resist / 100)) / 2, -0.5), 0.5)
max(0.5 + max((1 - (resist / 100)) / 2, -0.5), 0.5)
);
}



+ 1
- 1
src/server/components/inventory.js Прегледај датотеку

@@ -525,7 +525,7 @@ define([
var item = generator.generate({
type: classes.weapons[this.obj.class],
quality: 0,
spellQuality: 'mid'
spellQuality: 'basic'
});
item.eq = true;
item.noSalvage = true;


+ 20
- 20
src/server/config/spellsConfig.js Прегледај датотеку

@@ -6,43 +6,43 @@ define([
var spells = {
'magic missile': {
statType: 'int',
statMult: 1.35,
statMult: 0.59,
element: 'arcane',
auto: true,
cdMax: 7,
manaCost: 0,
range: 9,
random: {
damage: [2, 4]
damage: [2, 7.6]
}
},
'ice spear': {
statType: 'int',
statMult: 0.724,
statMult: 0.42,
element: 'frost',
cdMax: 12,
manaCost: 5,
range: 9,
random: {
damage: [4, 8],
damage: [4, 15.2],
i_freezeDuration: [6, 10]
}
},
'fireblast': {
statType: 'int',
statMult: 0.3,
statMult: 0.25,
element: 'fire',
cdMax: 6,
manaCost: 7,
random: {
damage: [6.7, 13.3],
damage: [6, 22.9],
i_radius: [1, 2.2],
i_pushback: [1, 4]
}
},
'smite': {
statType: 'int',
statMult: 4.06,
statMult: 0.84,
element: 'holy',
auto: true,
needLos: true,
@@ -50,19 +50,19 @@ define([
manaCost: 0,
range: 9,
random: {
damage: [1.4, 2.6]
damage: [4, 15.2]
}
},
'healing circle': {
statType: 'int',
statMult: 0.454,
statMult: 0.055,
element: 'holy',
cdMax: 10,
manaCost: 10,
range: 9,
radius: 3,
random: {
healing: [0.7, 1.3],
healing: [3.5, 4],
i_duration: [7, 13]
}
},
@@ -78,26 +78,26 @@ define([
},*/
'slash': {
statType: 'str',
statMult: 1.87,
statMult: 0.745,
element: 'physical',
threatMult: 4,
auto: true,
cdMax: 5,
useWeaponRange: true,
random: {
damage: [2, 4]
damage: [3, 11.4]
}
},
'charge': {
statType: 'str',
statMult: 0.76,
statMult: 0.48,
element: 'physical',
threatMult: 3,
cdMax: 15,
range: 10,
manaCost: 5,
random: {
damage: [4, 8],
damage: [3.5, 13.3],
i_stunDuration: [6, 10]
}
},
@@ -113,23 +113,23 @@ define([
},*/
'double slash': {
statType: 'dex',
statMult: 1.44,
statMult: 0.84,
element: 'physical',
cdMax: 3,
useWeaponRange: true,
auto: true,
random: {
damage: [1, 3]
damage: [1, 3.8]
}
},
'smokebomb': {
statType: 'dex',
statMult: 0.484,
statMult: 0.335,
element: 'poison',
cdMax: 3,
manaCost: 6,
random: {
damage: [0.3, 0.7],
damage: [0.25, 0.73],
i_radius: [1, 3],
i_duration: [7, 13]
}
@@ -143,14 +143,14 @@ define([
},*/
'crystal spikes': {
statType: ['dex', 'int'],
statMult: 4,
statMult: 3.18,
element: 'physical',
manaCost: 6,
needLos: true,
cdMax: 20,
range: 9,
random: {
damage: [9.3, 18.6],
damage: [7, 26.5],
i_delay: [1, 4]
},
negativeStats: [


+ 1
- 1
src/server/items/generators/spellbook.js Прегледај датотеку

@@ -55,7 +55,7 @@ define([
for (var r in randomProperties) {
var negativeStat = (negativeStats.indexOf(r) > -1);
var range = randomProperties[r];
var roll = random.norm(0, 1);
var roll = random.expNorm(0, 1);
if (spellQuality == 'basic')
roll = 0;
else if (spellQuality == 'mid')


+ 4
- 4
src/server/mods/class-necromancer/index.js Прегледај датотеку

@@ -133,14 +133,14 @@ define([
beforeGetSpellsConfig: function (spells) {
spells['harvest life'] = {
statType: ['str', 'int'],
statMult: 0.88,
statMult: 1.34,
element: 'physical',
auto: true,
cdMax: 6,
manaCost: 0,
range: 1,
random: {
damage: [2.2, 4.1],
damage: [1.5, 5.7],
healPercent: [5, 15]
}
};
@@ -153,8 +153,8 @@ define([
manaCost: 5,
range: 9,
random: {
damagePercent: [80, 120],
hpPercent: [65, 85]
damage: [100, 380],
hpPercent: [40, 60]
}
};



+ 2
- 2
src/server/world/mobBuilder.js Прегледај датотеку

@@ -169,8 +169,8 @@ define([
var hpMult = 1 * mob.mob.hpMult;

if (level < 10) {
hpMult *= [0.0077, 0.01, 0.035, 0.08, 0.16, 0.28, 0.43, 0.62, 0.8][level - 1];
dmgMult *= [0.1, 0.2, 0.4, 0.7, 1, 1, 1, 1, 1][level - 1];
//hpMult *= [0.0077, 0.01, 0.035, 0.08, 0.16, 0.28, 0.43, 0.62, 0.8][level - 1];
//dmgMult *= [0.1, 0.2, 0.4, 0.7, 1, 1, 1, 1, 1][level - 1];
}

if (mob.isRare) {


Loading…
Откажи
Сачувај