From 9078fa611595f8a04ef2f5a34e50bf70913dbb90 Mon Sep 17 00:00:00 2001 From: ReznoRMichael Date: Sat, 22 Aug 2020 20:37:34 +0200 Subject: [PATCH] separate object and loop for bosses --- HKCheckCompletion.js | 53 ++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/HKCheckCompletion.js b/HKCheckCompletion.js index 382d8aa..ef74d20 100644 --- a/HKCheckCompletion.js +++ b/HKCheckCompletion.js @@ -1,13 +1,33 @@ var DATA_UNKNOWN = "Data unknown"; +var COMPLETED = "Completed"; +var NOT_COMPLETED = "Not Completed"; var CURRENT_DATA = DATA_UNKNOWN; var SYMBOL_FALSE = "❌ "; var SYMBOL_TRUE = "✅ "; var COMPLETED_CHECK = SYMBOL_FALSE; +var DIV_START = [ + "
" +].join("\n"); + +var DIV_END = [ + "
" +].join("\n"); + +var STRONG_START = "" +var STRONG_END = "" + +var HK_BOSSES = { + mawlekDefeated: "Brooding Mawlek: ", + giantBuzzerDefeated: "Gruz Mother: ", + collectorDefeated: "The Collector: " +}; + function HKCheckCompletion(jsonObject) { console.log("Script Run"); let HKPlayerData = jsonObject.playerData; + let divId = ""; let divIdIntro = "hk-intro"; let divIdBoss = "hk-bosses"; @@ -17,46 +37,37 @@ function HKCheckCompletion(jsonObject) { // ---------------- Game Completion Status ----------------- // + divId = divIdIntro; + if (i === "completionPercentage") { if (HKPlayerData.completionPercentage >= 112) currentDataTrue(); else currentDataFalse(HKPlayerData.completionPercentage); - fillHTML(divIdIntro, COMPLETED_CHECK, "Hollow Knight Completion: ", CURRENT_DATA, " %"); + fillHTML(divId, "Hollow Knight Completion: ", " %"); } // ---------------- Bosses (Base Game) --------------------- // - if (i === "mawlekDefeated") { - if (HKPlayerData.mawlekDefeated === true) currentDataTrue(); - else currentDataFalse(); - fillHTML(divIdBoss, COMPLETED_CHECK, "Brooding Mawlek: ", CURRENT_DATA); - } + divId = divIdBoss; - if (i === "giantBuzzerDefeated") { - if (HKPlayerData.giantBuzzerDefeated === true) currentDataTrue(); + for (j in HK_BOSSES) { + if (HKPlayerData[j] === true) currentDataTrue(); else currentDataFalse(); - fillHTML(divIdBoss, COMPLETED_CHECK, "Gruz Mother: ", CURRENT_DATA); + fillHTML(divId, HK_BOSSES[j]); + delete HK_BOSSES[j]; } } } -function fillHTML(divId = "", completedCheck = COMPLETED_CHECK, textPrefix = "Unknown Completion Element: ", textData = CURRENT_DATA, textSuffix = "") { - let divStart = [ - "
" - ].join("\n"); - - let divEnd = [ - "
" - ].join("\n"); - - document.getElementById(divId).innerHTML += divStart + completedCheck + textPrefix + textData + textSuffix + divEnd; +function fillHTML(divId = "", textPrefix = "Unknown Completion Element: ", textSuffix = "") { + document.getElementById(divId).innerHTML += DIV_START + COMPLETED_CHECK + STRONG_START + textPrefix + STRONG_END + CURRENT_DATA + textSuffix + DIV_END; } -function currentDataTrue(textData = "Defeated") { +function currentDataTrue(textData = COMPLETED) { COMPLETED_CHECK = SYMBOL_TRUE; CURRENT_DATA = textData; } -function currentDataFalse(textData = "Not Defeated") { +function currentDataFalse(textData = NOT_COMPLETED) { COMPLETED_CHECK = SYMBOL_FALSE; CURRENT_DATA = textData; } \ No newline at end of file