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