diff --git a/HKCheckCompletion.js b/HKCheckCompletion.js
index 6577a16..8901682 100644
--- a/HKCheckCompletion.js
+++ b/HKCheckCompletion.js
@@ -366,38 +366,18 @@ function HKCheckCompletion(jsonObject) {
let HKPlayerData = jsonObject.playerData;
let HKWorldItems = jsonObject.sceneData.persistentBoolItems;
+ // ---------------- Time Played ----------------- //
+
+ CheckPlayTime(DIV_ID.intro, HKPlayerData.playTime);
+
+ // ---------------- Game Completion Status ----------------- //
+
+ CheckCompletionPercent(DIV_ID.intro, HKPlayerData);
+
for (let i in HKPlayerData) {
completionSymbol = SYMBOL_FALSE;
currentData = DATA_UNKNOWN;
- // ---------------- Game Completion Status ----------------- //
-
- if (i === "completionPercentage") {
- if (HKPlayerData.completionPercentage >= 112) CurrentDataTrue();
-
- let textFill = "Game Completion: " + HKPlayerData.completionPercentage + " % (out of 112 %)";
- document.getElementById(DIV_ID.intro.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
-
- CurrentDataFalse();
- }
-
- // ---------------- Time Played ----------------- //
-
- if (i === "playTime") {
- let icon = "";
- let seconds = Math.floor(HKPlayerData.playTime);
- let minutes = Math.floor((seconds / 60) % 60);
- let hours = Math.floor(seconds / 3600);
- let sec = Math.floor(seconds % 60);
-
- if (sec <= 10) sec = "0" + sec;
- if (minutes <= 10) minutes = "0" + minutes;
-
- let textFill = "Time Played: " + hours + " h " + minutes + " min " + sec + " sec";
-
- document.getElementById(DIV_ID.intro.id).innerHTML += divStart + icon + textFill + divEnd;
- }
-
// ---------------- Bosses (Base Game) --------------------- //
if (HK_BOSSES_temp) CheckIfDataTrue(DIV_ID.bosses, HK_BOSSES_temp, HKPlayerData);
@@ -571,6 +551,47 @@ function CurrentDataFalse(textData = isNotCompleted) {
currentData = textData;
}
+/**
+ * Fills HTML with the playTime value of the save file
+ * @param {object} divId ID of the HTML element for data appending
+ * @param {number} playTime Number of total gameplay time in seconds
+ */
+function CheckPlayTime(divId, playTime) {
+
+ let icon = "";
+ let seconds = Math.floor(playTime);
+ let minutes = Math.floor((seconds / 60) % 60);
+ let hours = Math.floor(seconds / 3600);
+ let sec = Math.floor(seconds % 60);
+
+ if (sec <= 10) sec = "0" + sec;
+ if (minutes <= 10) minutes = "0" + minutes;
+
+ let textFill = "Time Played: " + hours + " h " + minutes + " min " + sec + " sec";
+
+ document.getElementById(divId.id).innerHTML += divStart + icon + textFill + divEnd;
+}
+
+/**
+ * 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
+ */
+function CheckCompletionPercent(divId, playerData) {
+
+ let textFill = "";
+ CurrentDataFalse();
+
+ for (let i in playerData) {
+ if (i === "completionPercentage") {
+ if (playerData[i] >= 112) CurrentDataTrue();
+
+ textFill = "Game Completion: " + playerData[i] + " % (out of " + divId.maxPercent + " %)";
+ document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
+ }
+ }
+}
+
/**
* Verifies if the data in a specific object is true or false, and appends HTML accordingly. Destructive function.
* @param {string} divId ID of the HTML element for data appending
diff --git a/index.html b/index.html
index 65d68f1..b6a701d 100644
--- a/index.html
+++ b/index.html
@@ -81,7 +81,7 @@