From 44d806eb6789c6484c49d202e0958c730abfc524 Mon Sep 17 00:00:00 2001 From: Hank McCord Date: Thu, 7 Sep 2023 15:51:32 -0400 Subject: [PATCH] Add Father Winter's Timepiece bonus power --- cre.html | 9 ++++++++- src/bookmarklet/bm-cre.js | 11 +++++++++++ src/bookmarklet/bm-setup-fields.js | 11 +++++++++++ src/main/cre.js | 6 ++++++ src/main/shared-cre-setup.js | 17 ++++++++++++++++- 5 files changed, 52 insertions(+), 2 deletions(-) diff --git a/cre.html b/cre.html index 8a6f1610..c3c0d152 100644 --- a/cre.html +++ b/cre.html @@ -197,6 +197,13 @@

Catch Rate Estimator

+ + Acolyte Catches: + + + + + Base: @@ -469,7 +476,7 @@

Catch Rate Estimator


Placeholder ARs: Wardens, Paragons, & Richard - + Comments: diff --git a/src/bookmarklet/bm-cre.js b/src/bookmarklet/bm-cre.js index 5552ab55..21b634ec 100644 --- a/src/bookmarklet/bm-cre.js +++ b/src/bookmarklet/bm-cre.js @@ -637,6 +637,17 @@ }); } + if (urlParams["weapon"] === "Father Winter's Timepiece Trap") { + document + .querySelectorAll(".campPage-trap-trapStat-mathRow-name") + .forEach(el => { + if (el.textContent.indexOf("(Acolyte Catches") >= 0) + urlParams["acolyteCatches"] = +el.textContent + .split("(Acolyte Catches: ")[1] + .split(")")[0]; + }); + } + // Golem Guardian skin module check if (urlParams["weapon"].indexOf("Golem Guardian") >= 0) { urlParams["weapon"] = diff --git a/src/bookmarklet/bm-setup-fields.js b/src/bookmarklet/bm-setup-fields.js index df56a8e0..78eaa833 100644 --- a/src/bookmarklet/bm-setup-fields.js +++ b/src/bookmarklet/bm-setup-fields.js @@ -629,6 +629,17 @@ }); } + if (urlParams["weapon"] === "Father Winter's Timepiece Trap") { + document + .querySelectorAll(".campPage-trap-trapStat-mathRow-name") + .forEach(el => { + if (el.textContent.indexOf("(Acolyte Catches") >= 0) + urlParams["acolyteCatches"] = +el.textContent + .split("(Acolyte Catches: ")[1] + .split(")")[0]; + }); + } + // Golem Guardian skin module check if (urlParams["weapon"].indexOf("Golem Guardian") >= 0) { urlParams["weapon"] = diff --git a/src/main/cre.js b/src/main/cre.js index 13e9d3b9..8b8d4303 100644 --- a/src/main/cre.js +++ b/src/main/cre.js @@ -64,6 +64,7 @@ window.onload = function() { document.getElementById("umbraFloor").onchange = umbraChanged; document.getElementById("riftstalker").onchange = riftstalkerChange; document.getElementById("rank").onchange = rankChange; + document.getElementById("acolyteCatches").onchange = acolytesChanged document.getElementById("cheeseCost").onchange = function() { cheeseCost = parseInt(document.getElementById("cheeseCost").value); @@ -828,6 +829,11 @@ function weaponChanged() { default: } } + + $("#father-timepiece-bonus-power").hide(); + if (weaponName.indexOf("Father Winter's Timepiece") >= 0) { + $("#father-timepiece-bonus-power").show(500); + } } function icebergPhase() { diff --git a/src/main/shared-cre-setup.js b/src/main/shared-cre-setup.js index a0be2da3..03b51192 100644 --- a/src/main/shared-cre-setup.js +++ b/src/main/shared-cre-setup.js @@ -45,7 +45,8 @@ var gsLuck = 7, subtotalPowerBonus = 0, tauntBonus = 0, saltLevel = 0, - umbraFloor = 0; + umbraFloor = 0, + acolyteCatches = 0; // Total trap stats var trapPower = 0, @@ -290,6 +291,10 @@ function calculateTrapSetup(skipDisp) { charmName === "Dark Chocolate Charm" ) { shownPowerBonus += 20; + } else if ( + weaponName === "Father Winter's Timepiece Trap" + ) { + specialPower += acolyteCatches * 2000; } determineRiftBonus(riftStalkerCodex); @@ -772,6 +777,10 @@ function golemParamCheck() { } } +function fatherWinterParamCheck() { + updateInputFromParameter("acolyteCatches", acolytesChanged); +} + // Update and validate changes in golem charge inputs function golemChargeChange(type, value) { if (typeof value === "string") { @@ -967,6 +976,11 @@ function umbraChanged() { genericOnChange(); } +function acolytesChanged() { + acolyteCatches = document.getElementById("acolyteCatches").value; + genericOnChange(); +} + function getIcebergBase() { var autoBase = ""; if (contains(phaseName, "Magnet")) { @@ -1488,6 +1502,7 @@ function checkLoadState(type) { valourRiftParamCheck(); rankParamCheck(); golemParamCheck(); + fatherWinterParamCheck(); // Calculate bonuses after param checks are done calculateBonusPower();