CountGeoRocks()

This commit is contained in:
ReznoRMichael 2021-02-03 22:18:41 +01:00
parent 0184473538
commit 8a9dac6639
4 changed files with 42 additions and 8 deletions

File diff suppressed because one or more lines are too long

View file

@ -58,12 +58,14 @@ function HKCheckCompletion(jsonObject) {
let HKPlayerData;
let HKWorldItems;
let HKSceneData;
if (jsonObject.hasOwnProperty("playerData")) {
HKPlayerData = jsonObject.playerData;
} else return false;
if (jsonObject.hasOwnProperty("sceneData")) {
HKSceneData = jsonObject.sceneData;
if (jsonObject.sceneData.hasOwnProperty("persistentBoolItems")) {
HKWorldItems = jsonObject.sceneData.persistentBoolItems;
} else return false;
@ -237,7 +239,7 @@ function HKCheckCompletion(jsonObject) {
// ------------------------- Game Statistics ----------------------------- //
CheckAdditionalThings(HK.DIV_ID.statistics, HK.STATISTICS, HKPlayerData, HKWorldItems);
CheckAdditionalThings(HK.DIV_ID.statistics, HK.STATISTICS, HKPlayerData, HKWorldItems, HKSceneData);
// ------------------------- Hints ----------------------------- //
@ -654,7 +656,7 @@ function CheckWorldDataTrue(divId, idText, dataObject, worldData) {
* @param {object} playerData Reference/pointer to specific data where to search
* @param {object} worldData Reference/pointer to specific data where to search
*/
function CheckAdditionalThings(divId, dataObject, playerData, worldData) {
function CheckAdditionalThings(divId, dataObject, playerData, worldData, sceneData) {
let textPrefix = "";
let textSuffix = "";
@ -704,13 +706,35 @@ function CheckAdditionalThings(divId, dataObject, playerData, worldData) {
return totalMaps;
}
function CountGeoRocks(geoRocksArray, arrayLength, mode = "unbroken") {
let countTotal = 0;
if (mode === "unbroken") {
for (let i = 0; i < arrayLength; i++) {
if (geoRocksArray[i].hitsLeft > 0) countTotal++;
}
} else {
for (let i = 0; i < arrayLength; i++) {
if (geoRocksArray[i].hitsLeft === 0) countTotal++;
}
}
return countTotal;
}
for (let i in dataObject) {
textPrefix = dataObject[i][0];
(dataObject[i][1]) ? textSuffix = dataObject[i][1]: textSuffix = "";
let amount = 0;
let countTotal = 0;
let total = 0;
let {
amount,
countTotal,
total,
unbroken,
broken,
discoveredTotal
} = 0;
switch (i) {
case "areaMaps":
@ -748,6 +772,15 @@ function CheckAdditionalThings(divId, dataObject, playerData, worldData) {
textPrefix += ": " + Math.abs(playerData[i]);
(i === "geoPool" && playerData[i] > 0) ? CurrentDataBlank(): CurrentDataTrue();
break;
case "geoRocks":
discoveredTotal = sceneData.geoRocks.length;
unbroken = CountGeoRocks(sceneData.geoRocks, discoveredTotal, "unbroken");
broken = CountGeoRocks(sceneData.geoRocks, discoveredTotal, "broken");
textPrefix += `: ${unbroken}/${broken}/${discoveredTotal}`;
CurrentDataTrue();
break;
case "shopkeeperKey":
(playerData.hasSlykey === true || playerData.gaveSlykey === true) ? CurrentDataTrue(): CurrentDataFalse();
break;

View file

@ -399,6 +399,7 @@ const STATISTICS = {
relicsHallownestSeal: ["Relic #2 found total", "Hallownest Seal (out of 17)", 17, "trinket2", "soldTrinket2"],
relicsKingsIdol: ["Relic #3 found total", "King's Idol (out of 8)", 8, "trinket3", "soldTrinket3"],
relicsArcaneEgg: ["Relic #4 found total", "Arcane Egg (4 max, 1 missable)", 4, "trinket4", "soldTrinket4"],
geoRocks: ["Geo Rocks", "Unbroken/Broken/Discovered Total"],
geoPool: ["Shade Geo", "Amount of Geo the Shade is currently holding", 0], // not ghostCoins
rancidEggs: ["Rancid Eggs", "Find: Hallownest, Buy: Sly, Tuk"],
xunFlowerBrokeTimes: ["Delicate Flowers broken", "Resting Grounds: Grey Mourner"],

View file

@ -2,7 +2,7 @@
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= ga_property_id %>"></script>
<script>
// Temporarily disable the tracking for testing (set to false to enable Analytics)
window['ga-disable-<%= ga_property_id %>'] = false;
window['ga-disable-<%= ga_property_id %>'] = true;
window.dataLayer = window.dataLayer || [];