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;