separate object and loop for bosses

This commit is contained in:
ReznoRMichael 2020-08-22 20:37:34 +02:00
parent bcdb80849b
commit 9078fa6115

View file

@ -1,13 +1,33 @@
var DATA_UNKNOWN = "Data unknown"; var DATA_UNKNOWN = "Data unknown";
var COMPLETED = "Completed";
var NOT_COMPLETED = "Not Completed";
var CURRENT_DATA = DATA_UNKNOWN; var CURRENT_DATA = DATA_UNKNOWN;
var SYMBOL_FALSE = "❌ "; var SYMBOL_FALSE = "❌ ";
var SYMBOL_TRUE = "✅ "; var SYMBOL_TRUE = "✅ ";
var COMPLETED_CHECK = SYMBOL_FALSE; var COMPLETED_CHECK = SYMBOL_FALSE;
var DIV_START = [
"<div>"
].join("\n");
var DIV_END = [
"</div>"
].join("\n");
var STRONG_START = "<strong>"
var STRONG_END = "</strong>"
var HK_BOSSES = {
mawlekDefeated: "Brooding Mawlek: ",
giantBuzzerDefeated: "Gruz Mother: ",
collectorDefeated: "The Collector: "
};
function HKCheckCompletion(jsonObject) { function HKCheckCompletion(jsonObject) {
console.log("Script Run"); console.log("Script Run");
let HKPlayerData = jsonObject.playerData; let HKPlayerData = jsonObject.playerData;
let divId = "";
let divIdIntro = "hk-intro"; let divIdIntro = "hk-intro";
let divIdBoss = "hk-bosses"; let divIdBoss = "hk-bosses";
@ -17,46 +37,37 @@ function HKCheckCompletion(jsonObject) {
// ---------------- Game Completion Status ----------------- // // ---------------- Game Completion Status ----------------- //
divId = divIdIntro;
if (i === "completionPercentage") { if (i === "completionPercentage") {
if (HKPlayerData.completionPercentage >= 112) currentDataTrue(); if (HKPlayerData.completionPercentage >= 112) currentDataTrue();
else currentDataFalse(HKPlayerData.completionPercentage); else currentDataFalse(HKPlayerData.completionPercentage);
fillHTML(divIdIntro, COMPLETED_CHECK, "Hollow Knight Completion: ", CURRENT_DATA, " %"); fillHTML(divId, "Hollow Knight Completion: ", " %");
} }
// ---------------- Bosses (Base Game) --------------------- // // ---------------- Bosses (Base Game) --------------------- //
if (i === "mawlekDefeated") { divId = divIdBoss;
if (HKPlayerData.mawlekDefeated === true) currentDataTrue();
for (j in HK_BOSSES) {
if (HKPlayerData[j] === true) currentDataTrue();
else currentDataFalse(); else currentDataFalse();
fillHTML(divIdBoss, COMPLETED_CHECK, "Brooding Mawlek: ", CURRENT_DATA); fillHTML(divId, HK_BOSSES[j]);
} delete HK_BOSSES[j];
if (i === "giantBuzzerDefeated") {
if (HKPlayerData.giantBuzzerDefeated === true) currentDataTrue();
else currentDataFalse();
fillHTML(divIdBoss, COMPLETED_CHECK, "Gruz Mother: ", CURRENT_DATA);
} }
} }
} }
function fillHTML(divId = "", completedCheck = COMPLETED_CHECK, textPrefix = "Unknown Completion Element: ", textData = CURRENT_DATA, textSuffix = "") { function fillHTML(divId = "", textPrefix = "Unknown Completion Element: ", textSuffix = "") {
let divStart = [ document.getElementById(divId).innerHTML += DIV_START + COMPLETED_CHECK + STRONG_START + textPrefix + STRONG_END + CURRENT_DATA + textSuffix + DIV_END;
"<div>"
].join("\n");
let divEnd = [
"</div>"
].join("\n");
document.getElementById(divId).innerHTML += divStart + completedCheck + textPrefix + textData + textSuffix + divEnd;
} }
function currentDataTrue(textData = "Defeated") { function currentDataTrue(textData = COMPLETED) {
COMPLETED_CHECK = SYMBOL_TRUE; COMPLETED_CHECK = SYMBOL_TRUE;
CURRENT_DATA = textData; CURRENT_DATA = textData;
} }
function currentDataFalse(textData = "Not Defeated") { function currentDataFalse(textData = NOT_COMPLETED) {
COMPLETED_CHECK = SYMBOL_FALSE; COMPLETED_CHECK = SYMBOL_FALSE;
CURRENT_DATA = textData; CURRENT_DATA = textData;
} }