From efac3f183e8f0d790baafa5cd77ba2a9986c7fbe Mon Sep 17 00:00:00 2001
From: b
Date: Fri, 5 Feb 2021 13:28:42 -0600
Subject: [PATCH 1/4] Reversed id ordering
---
credits.txt | 1 +
query.js | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/credits.txt b/credits.txt
index f32f2a1..a5c6663 100644
--- a/credits.txt
+++ b/credits.txt
@@ -7,5 +7,6 @@ The game, of course
Additional Contributors:
- Phanta (WynnAtlas custom expression parser / item search)
- QuantumNep (Layout code/layout ideas)
+ - nbcss (Crafter figuring-out-the-gamifying)
- dr_carlos (Hiding UI elements properly, fade animations, proper error handling)
- Atlas Inc discord (feedback, ideas, etc)
diff --git a/query.js b/query.js
index 6bb322a..133ee22 100644
--- a/query.js
+++ b/query.js
@@ -48,9 +48,9 @@ class IdQuery {
}
console.log("QUERY: ID, NONROLL");
}
- else if (id in reversedIDs) {
+ else if (reversedIDs.includes(id)) {
this.compare = function(a, b) {
- return b.get("maxRolls").get(id) - a.get("maxRolls").get(id);
+ return a.get("maxRolls").get(id) - b.get("maxRolls").get(id);
};
this.filter = function(a) {
return a.get("maxRolls").get(this.id);
From 00c46ea8f69916c051e1962fe22fcb6b61436a9c Mon Sep 17 00:00:00 2001
From: b
Date: Wed, 10 Feb 2021 04:42:12 -0600
Subject: [PATCH 2/4] Fix 0 damage melee display
---
display.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/display.js b/display.js
index 58b5915..9136abe 100644
--- a/display.js
+++ b/display.js
@@ -1416,7 +1416,7 @@ function displayMeleeDamage(parent_elem, overallparent_elem, meleeStats){
nonCritStats.textContent = "Non-Crit Stats: ";
nonCritStats.append(document.createElement("br"));
for (let i = 0; i < 6; i++){
- if(stats[i][0] > 0){
+ if(stats[i][1] > 0){
let dmg = document.createElement("p");
dmg.textContent = stats[i][0] + "-" + stats[i][1];
dmg.classList.add(damageClasses[i]);
@@ -1466,7 +1466,7 @@ function displayMeleeDamage(parent_elem, overallparent_elem, meleeStats){
critStats.textContent = "Crit Stats: ";
critStats.append(document.createElement("br"));
for (let i = 0; i < 6; i++){
- if(stats[i][2] > 0){
+ if(stats[i][3] > 0){
dmg = document.createElement("p");
dmg.textContent = stats[i][2] + "-" + stats[i][3];
dmg.classList.add(damageClasses[i]);
From 370f8001b81e2b728e9df21f6ec91171d4cd6e62 Mon Sep 17 00:00:00 2001
From: b
Date: Thu, 11 Feb 2021 13:07:43 -0600
Subject: [PATCH 3/4] Multiplicative str/dex
---
damage_calc.js | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/damage_calc.js b/damage_calc.js
index bd225ee..c87b0f6 100644
--- a/damage_calc.js
+++ b/damage_calc.js
@@ -90,7 +90,8 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
let damages_results = [];
// 0th skillpoint is strength, 1st is dex.
let str = total_skillpoints[0];
- let staticBoost = (pctModifier / 100.) + skillPointsToPercentage(str);
+ let strBoost = skillPointsToPercentage(str);
+ let staticBoost = (pctModifier / 100.);// + skillPointsToPercentage(str);
let skillBoost = [0];
for (let i in total_skillpoints) {
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) {
let damageBoost = 1 + skillBoost[i] + staticBoost;
damages_results.push([
- 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
+ Math.max(damages[i][0] * strBoost * Math.max(damageBoost,0) * damageMult, 0), // Normal min
+ Math.max(damages[i][1] * strBoost * Math.max(damageBoost,0) * damageMult, 0), // Normal max
+ Math.max(damages[i][0] * strBoost * 2 * Math.max(damageBoost,0) * damageMult, 0), // Crit min
+ 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[1] += damages_results[i][1];
@@ -110,15 +115,23 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
totalDamCrit[1] += damages_results[i][3];
}
if (melee) {
- 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]);
+ totalDamNorm[0] += Math.max(rawModifier, -strBoost*damages_results[0][0]);
+ totalDamNorm[1] += Math.max(rawModifier, -strBoost*damages_results[0][1]);
+ totalDamCrit[0] += Math.max(rawModifier, -strBoost*2*damages_results[0][2]);
+ totalDamCrit[1] += Math.max(rawModifier, -strBoost*2*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][1] += rawModifier;
- damages_results[0][2] += rawModifier;
- damages_results[0][3] += rawModifier;
+ damages_results[0][2] += 2*rawModifier;
+ damages_results[0][3] += 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[1] < 0) totalDamNorm[1] = 0;
From 8b36a3498be838addf3da657ead09457e12fd954 Mon Sep 17 00:00:00 2001
From: b
Date: Thu, 11 Feb 2021 13:07:43 -0600
Subject: [PATCH 4/4] Multiplicative str/dex
---
damage_calc.js | 39 ++++++++++++++++++++++++++-------------
1 file changed, 26 insertions(+), 13 deletions(-)
diff --git a/damage_calc.js b/damage_calc.js
index bd225ee..8ab9326 100644
--- a/damage_calc.js
+++ b/damage_calc.js
@@ -90,7 +90,8 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
let damages_results = [];
// 0th skillpoint is strength, 1st is dex.
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];
for (let i in total_skillpoints) {
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) {
let damageBoost = 1 + skillBoost[i] + staticBoost;
damages_results.push([
- 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
+ Math.max(damages[i][0] * strBoost * Math.max(damageBoost,0) * damageMult, 0), // Normal min
+ Math.max(damages[i][1] * strBoost * Math.max(damageBoost,0) * damageMult, 0), // Normal max
+ Math.max(damages[i][0] * strBoost * 2 * Math.max(damageBoost,0) * damageMult, 0), // Crit min
+ 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[1] += damages_results[i][1];
@@ -110,15 +115,23 @@ function calculateSpellDamage(stats, spellConversions, rawModifier, pctModifier,
totalDamCrit[1] += damages_results[i][3];
}
if (melee) {
- 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]);
+ totalDamNorm[0] += Math.max(strBoost*rawModifier, -damages_results[0][0]);
+ totalDamNorm[1] += Math.max(strBoost*rawModifier, -damages_results[0][1]);
+ totalDamCrit[0] += Math.max(strBoost*2*rawModifier, -damages_results[0][2]);
+ 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][1] += rawModifier;
- damages_results[0][2] += rawModifier;
- damages_results[0][3] += rawModifier;
+ damages_results[0][0] += strBoost*rawModifier;
+ damages_results[0][1] += strBoost*rawModifier;
+ damages_results[0][2] += strBoost*2*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[1] < 0) totalDamNorm[1] = 0;