Multiplicative str/dex
This commit is contained in:
parent
00c46ea8f6
commit
8b36a3498b
1 changed files with 26 additions and 13 deletions
|
@ -90,7 +90,8 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
|
||||||
let damages_results = [];
|
let damages_results = [];
|
||||||
// 0th skillpoint is strength, 1st is dex.
|
// 0th skillpoint is strength, 1st is dex.
|
||||||
let str = total_skillpoints[0];
|
let str = total_skillpoints[0];
|
||||||
let staticBoost = (pctModifier / 100.) + skillPointsToPercentage(str);
|
let strBoost = 1 + skillPointsToPercentage(str);
|
||||||
|
let staticBoost = (pctModifier / 100.);// + skillPointsToPercentage(str);
|
||||||
let skillBoost = [0];
|
let skillBoost = [0];
|
||||||
for (let i in total_skillpoints) {
|
for (let i in total_skillpoints) {
|
||||||
skillBoost.push(skillPointsToPercentage(total_skillpoints[i]) + buildStats.get("damageBonus")[i] / 100.);
|
skillBoost.push(skillPointsToPercentage(total_skillpoints[i]) + buildStats.get("damageBonus")[i] / 100.);
|
||||||
|
@ -99,10 +100,14 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
|
||||||
for (let i in damages) {
|
for (let i in damages) {
|
||||||
let damageBoost = 1 + skillBoost[i] + staticBoost;
|
let damageBoost = 1 + skillBoost[i] + staticBoost;
|
||||||
damages_results.push([
|
damages_results.push([
|
||||||
Math.max(damages[i][0] * Math.max(damageBoost,0) * damageMult, 0), // Normal min
|
Math.max(damages[i][0] * strBoost * Math.max(damageBoost,0) * damageMult, 0), // Normal min
|
||||||
Math.max(damages[i][1] * Math.max(damageBoost,0) * damageMult, 0), // Normal max
|
Math.max(damages[i][1] * strBoost * Math.max(damageBoost,0) * damageMult, 0), // Normal max
|
||||||
Math.max(damages[i][0] * Math.max(1 + damageBoost, 0) * damageMult, 0), // Crit min
|
Math.max(damages[i][0] * strBoost * 2 * Math.max(damageBoost,0) * damageMult, 0), // Crit min
|
||||||
Math.max(damages[i][1] * Math.max(1 + damageBoost, 0) * damageMult, 0), // Crit max
|
Math.max(damages[i][1] * strBoost * 2 * Math.max(damageBoost,0) * damageMult, 0), // Crit max
|
||||||
|
//Math.max(damages[i][0] * Math.max(damageBoost,0) * damageMult, 0), // Normal min
|
||||||
|
//Math.max(damages[i][1] * Math.max(damageBoost,0) * damageMult, 0), // Normal max
|
||||||
|
//Math.max(damages[i][0] * Math.max(1 + damageBoost, 0) * damageMult, 0), // Crit min
|
||||||
|
//Math.max(damages[i][1] * Math.max(1 + damageBoost, 0) * damageMult, 0), // Crit max
|
||||||
]);
|
]);
|
||||||
totalDamNorm[0] += damages_results[i][0];
|
totalDamNorm[0] += damages_results[i][0];
|
||||||
totalDamNorm[1] += damages_results[i][1];
|
totalDamNorm[1] += damages_results[i][1];
|
||||||
|
@ -110,15 +115,23 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
|
||||||
totalDamCrit[1] += damages_results[i][3];
|
totalDamCrit[1] += damages_results[i][3];
|
||||||
}
|
}
|
||||||
if (melee) {
|
if (melee) {
|
||||||
totalDamNorm[0] += Math.max(rawModifier, -damages_results[0][0]);
|
totalDamNorm[0] += Math.max(strBoost*rawModifier, -damages_results[0][0]);
|
||||||
totalDamNorm[1] += Math.max(rawModifier, -damages_results[0][1]);
|
totalDamNorm[1] += Math.max(strBoost*rawModifier, -damages_results[0][1]);
|
||||||
totalDamCrit[0] += Math.max(rawModifier, -damages_results[0][2]);
|
totalDamCrit[0] += Math.max(strBoost*2*rawModifier, -damages_results[0][2]);
|
||||||
totalDamCrit[1] += Math.max(rawModifier, -damages_results[0][3]);
|
totalDamCrit[1] += Math.max(strBoost*2*rawModifier, -damages_results[0][3]);
|
||||||
|
//totalDamNorm[0] += Math.max(rawModifier, -damages_results[0][0]);
|
||||||
|
//totalDamNorm[1] += Math.max(rawModifier, -damages_results[0][1]);
|
||||||
|
//totalDamCrit[0] += Math.max(rawModifier, -damages_results[0][2]);
|
||||||
|
//totalDamCrit[1] += Math.max(rawModifier, -damages_results[0][3]);
|
||||||
}
|
}
|
||||||
damages_results[0][0] += rawModifier;
|
damages_results[0][0] += strBoost*rawModifier;
|
||||||
damages_results[0][1] += rawModifier;
|
damages_results[0][1] += strBoost*rawModifier;
|
||||||
damages_results[0][2] += rawModifier;
|
damages_results[0][2] += strBoost*2*rawModifier;
|
||||||
damages_results[0][3] += rawModifier;
|
damages_results[0][3] += strBoost*2*rawModifier;
|
||||||
|
//damages_results[0][0] += rawModifier;
|
||||||
|
//damages_results[0][1] += rawModifier;
|
||||||
|
//damages_results[0][2] += rawModifier;
|
||||||
|
//damages_results[0][3] += rawModifier;
|
||||||
|
|
||||||
if (totalDamNorm[0] < 0) totalDamNorm[0] = 0;
|
if (totalDamNorm[0] < 0) totalDamNorm[0] = 0;
|
||||||
if (totalDamNorm[1] < 0) totalDamNorm[1] = 0;
|
if (totalDamNorm[1] < 0) totalDamNorm[1] = 0;
|
||||||
|
|
Loading…
Reference in a new issue