diff --git a/HKCheckCompletion.js b/HKCheckCompletion.js
index 1337376..cbc2591 100644
--- a/HKCheckCompletion.js
+++ b/HKCheckCompletion.js
@@ -1,9 +1,10 @@
// ---------------- Constants ----------------- //
const DATA_UNKNOWN = "Data unknown";
-const SYMBOL_FALSE = ""; // "❌ ";
-const SYMBOL_TRUE = ""; // "✅ ";
-const SYMBOL_INFO = ""; // "ℹ ";
+const SYMBOL_FALSE = ""; // "❌ "
+const SYMBOL_TRUE = ""; // "✅ "
+const SYMBOL_INFO = ""; // "ℹ "
+const SYMBOL_EMPTY = "";
// ---------------- Variables ----------------- //
@@ -340,7 +341,7 @@ const HK_GODMASTER_DOORS = [
const HK_ESSENTIAL = {
grubsCollected: ["Grubs Rescued", "out of 46 total", 46],
- dreamOrbs: ["Essence Collected", "Enemies, Whispering Roots, Dream Bosses", 2400],
+ dreamOrbs: ["Essence Collected", "out of 2400", 2400],
slyRescued: ["Sly Rescued", "Forgotten Crossroads"],
brettaRescued: ["Bretta Rescued", "Fungal Wastes"],
hasLantern: ["Lumafly Lantern", "Sly: 1800 Geo"],
@@ -428,16 +429,16 @@ function HKCheckCompletion(jsonObject) {
// ---------------- Game Completion Status ----------------- //
- CheckCompletionPercent(DIV_ID.intro, HKPlayerData);
+ CheckCompletionPercent(DIV_ID.intro, HKPlayerData.completionPercentage);
+
+ // ---------------- Health Masks ----------------- //
+
+ CheckHealthMasks(DIV_ID.intro, HKPlayerData.maxHealth, HKPlayerData.permadeathMode);
// ---------------- Geo Amount ----------------- //
CheckGeo(DIV_ID.intro, HKPlayerData.geo);
- // ---------------- Steel Soul Mode ----------------- //
-
- CheckSteelSoul(DIV_ID.intro, HKPlayerData.permadeathMode);
-
// ---------------- Bosses (Base Game) --------------------- //
CheckIfDataTrue(DIV_ID.bosses, HK_BOSSES_temp, HKPlayerData);
@@ -678,21 +679,38 @@ function CheckPlayTime(divId, playTime) {
/**
* Searches for completionPercentage in playerData and fills HTML with the value of the save file
* @param {object} divId ID of the HTML element for data appending
- * @param {object} playerData Reference/pointer to specific data where to search
+ * @param {number} completionPercentage Number of completion percentage
*/
-function CheckCompletionPercent(divId, playerData) {
+function CheckCompletionPercent(divId, completionPercentage) {
- let textFill = "";
- CurrentDataFalse();
+ (completionPercentage >= 112) ? CurrentDataTrue(): CurrentDataFalse();
- for (let i in playerData) {
- if (i === "completionPercentage") {
- if (playerData[i] >= 112) CurrentDataTrue();
+ let textFill = "Game Completion: " + completionPercentage + " % (out of " + divId.maxPercent + " %)";
+ document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
+}
- textFill = "Game Completion: " + playerData[i] + " % (out of " + divId.maxPercent + " %)";
- document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
- }
+/**
+ * Fills HTML with appriopriate number of health mask images
+ * @param {object} divId ID of the HTML element for data appending
+ * @param {number} masks Number of max health masks from the save
+ * @param {number} permadeathMode Value of permadeathMode property. 0 = Normal, 1 = Steel Soul
+ */
+function CheckHealthMasks(divId, masks, permadeathMode) {
+
+ let icon = SYMBOL_EMPTY;
+ let textFill = "Health:";
+ let maskImages = "";
+ let maskNormal = "
";
+ let maskSteel = "
";
+ let maskImg = "";
+
+ (permadeathMode === 1) ? maskImg = maskSteel: maskImg = maskNormal;
+
+ for (let i = 0; i < masks; i++) {
+ maskImages += maskImg;
}
+
+ document.getElementById(divId.id).innerHTML += "
" + geoValue + "";
- document.getElementById(divId.id).innerHTML += divStart + icon + textFill + divEnd;
-}
-
-/**
- * Appends HTML with "Steel Soul" when it's enabled in the save file. When not enabled, don't show anything.
- * @param {object} divId ID of the HTML element for data appending
- * @param {number} permadeathMode Value of permadeathMode property
- */
-function CheckSteelSoul(divId, permadeathMode) {
-
- // append HTML only when enabled
- if (permadeathMode === 1) {
- let icon = SYMBOL_INFO;
- let textFill = "Steel Soul Mode";
-
- document.getElementById(divId.id).innerHTML += divStart + icon + textFill + divEnd;
- }
+ document.getElementById(divId.id).innerHTML += "