additional things added
This commit is contained in:
parent
92a35b4812
commit
d937a21d55
2 changed files with 30 additions and 9 deletions
|
|
@ -125,6 +125,10 @@ const DIV_ID = {
|
|||
essential: {
|
||||
h2: "Game Completion Essentials",
|
||||
id: "hk-essential"
|
||||
},
|
||||
additional: {
|
||||
h2: "Additional Information",
|
||||
id: "hk-additional"
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -342,7 +346,7 @@ const HK_GODMASTER_DOORS = [
|
|||
|
||||
const HK_ESSENTIAL = {
|
||||
grubsCollected: ["Grubs Rescued", "out of 46 total", 46],
|
||||
dreamOrbs: ["Essence Collected", "Dream Nail: 2400 for completion", 2400],
|
||||
dreamOrbs: ["Essence Collected", "Dream Nail + 2400 for completion", 2400],
|
||||
slyRescued: ["Sly Rescued", "Forgotten Crossroads"],
|
||||
brettaRescued: ["Bretta Rescued", "Fungal Wastes"],
|
||||
hasLantern: ["Lumafly Lantern", "Sly: 1800 Geo"],
|
||||
|
|
@ -364,6 +368,12 @@ const HK_ESSENTIAL = {
|
|||
nightmareLanternLit: ["Nightmare Lantern Lit", "Howling Cliffs"]
|
||||
};
|
||||
|
||||
const HK_ADDITIONAL = {
|
||||
nailDamage: ["Nail Damage", "Nailsmith upgrades", 21],
|
||||
hasDreamGate: ["Dream Gate", "Seer: 900 Essence"],
|
||||
dreamOrbsSpent: ["Essence spent", "Dream Nail", 1],
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks Hollow Knight game completion by analyzing the save file
|
||||
* @param {object} jsonObject Decoded save data in JavaScript Object Notation form (JSON)
|
||||
|
|
@ -538,7 +548,15 @@ function HKCheckCompletion(jsonObject) {
|
|||
|
||||
// ------------------------- Essential Things ----------------------------- //
|
||||
|
||||
CheckEssential(DIV_ID.essential, HK_ESSENTIAL, HKPlayerData, HKWorldItems);
|
||||
CheckAdditionalThings(DIV_ID.essential, HK_ESSENTIAL, HKPlayerData, HKWorldItems);
|
||||
|
||||
// ---------------- Fleur Divide ----------------- //
|
||||
|
||||
AppendHTML(DIV_ID.essential, FLEUR_DIVIDE);
|
||||
|
||||
// ------------------------- Additional Things ----------------------------- //
|
||||
|
||||
CheckAdditionalThings(DIV_ID.additional, HK_ADDITIONAL, HKPlayerData, HKWorldItems);
|
||||
|
||||
// ------------------------- Hints ----------------------------- //
|
||||
|
||||
|
|
@ -849,7 +867,7 @@ function CheckWorldDataTrue(divId, idText, dataObject, worldData) {
|
|||
* @param {object} playerData Reference/pointer to specific data where to search
|
||||
* @param {object} worldData Reference/pointer to specific data where to search
|
||||
*/
|
||||
function CheckEssential(divId, dataObject, playerData, worldData) {
|
||||
function CheckAdditionalThings(divId, dataObject, playerData, worldData) {
|
||||
|
||||
let textPrefix = "";
|
||||
let textSuffix = "";
|
||||
|
|
@ -873,13 +891,15 @@ function CheckEssential(divId, dataObject, playerData, worldData) {
|
|||
|
||||
for (let i in dataObject) {
|
||||
textPrefix = dataObject[i][0];
|
||||
textSuffix = dataObject[i][1];
|
||||
(dataObject[i][1]) ? textSuffix = dataObject[i][1]: textSuffix = "";
|
||||
|
||||
switch (i) {
|
||||
case "grubsCollected":
|
||||
case "dreamOrbs":
|
||||
case "fountainGeo":
|
||||
textPrefix += ": " + playerData[i];
|
||||
case "nailDamage":
|
||||
case "dreamOrbsSpent":
|
||||
textPrefix += ": " + Math.abs(playerData[i]);
|
||||
(playerData[i] >= dataObject[i][2]) ? CurrentDataTrue(): CurrentDataInfo();
|
||||
break;
|
||||
case "shopkeeperKey":
|
||||
|
|
@ -1058,10 +1078,10 @@ function InitialHTMLPopulate(divIdObj) {
|
|||
FillHTML(divIdObj.hints, HK_HINTS.fireballLevel[0], HK_HINTS.fireballLevel[1]);
|
||||
|
||||
// Temp arrays storing references (addresses) to objects for looping through them (duplicates important)
|
||||
let hkObjArray = [HK_BOSSES, HK_BOSSES_WORLD, HK_CHARMS, HK_EQUIPMENT, HK_NAILARTS, HK_MASKSHARDS, HK_MASKSHARDS_WORLD, HK_VESSELFRAGMENTS, HK_VESSELFRAGMENTS_WORLD, HK_DREAMERS, HK_COLOSSEUM, HK_DREAMNAIL, HK_WARRIORDREAMS, HK_GRIMMTROUPE, HK_LIFEBLOOD, HK_GODMASTER, HK_ESSENTIAL];
|
||||
let hkObjArray = [HK_BOSSES, HK_BOSSES_WORLD, HK_CHARMS, HK_EQUIPMENT, HK_NAILARTS, HK_MASKSHARDS, HK_MASKSHARDS_WORLD, HK_VESSELFRAGMENTS, HK_VESSELFRAGMENTS_WORLD, HK_DREAMERS, HK_COLOSSEUM, HK_DREAMNAIL, HK_WARRIORDREAMS, HK_GRIMMTROUPE, HK_LIFEBLOOD, HK_GODMASTER, HK_ESSENTIAL, HK_ADDITIONAL];
|
||||
|
||||
// duplicates and order important - must be the same as in hkObjArray[]
|
||||
let divObjArray = [divIdObj.bosses, divIdObj.bosses, divIdObj.charms, divIdObj.equipment, divIdObj.nailArts, divIdObj.maskShards, divIdObj.maskShards, divIdObj.vesselFragments, divIdObj.vesselFragments, divIdObj.dreamers, divIdObj.colosseum, divIdObj.dreamNail, divIdObj.warriorDreams, divIdObj.grimmTroupe, divIdObj.lifeblood, divIdObj.godmaster, divIdObj.essential];
|
||||
let divObjArray = [divIdObj.bosses, divIdObj.bosses, divIdObj.charms, divIdObj.equipment, divIdObj.nailArts, divIdObj.maskShards, divIdObj.maskShards, divIdObj.vesselFragments, divIdObj.vesselFragments, divIdObj.dreamers, divIdObj.colosseum, divIdObj.dreamNail, divIdObj.warriorDreams, divIdObj.grimmTroupe, divIdObj.lifeblood, divIdObj.godmaster, divIdObj.essential, divIdObj.additional];
|
||||
|
||||
// Looped filling to reduce redundancy
|
||||
do {
|
||||
|
|
@ -1091,8 +1111,9 @@ function InitialHTMLPopulate(divIdObj) {
|
|||
FillHTML(divIdObj.godmaster, HK_GODMASTER_DOORS[i][0], HK_GODMASTER_DOORS[i][1]);
|
||||
}
|
||||
|
||||
// Fleur Divide
|
||||
// Fleur Dividers
|
||||
AppendHTML(divIdObj.godmaster, FLEUR_DIVIDE);
|
||||
AppendHTML(divIdObj.essential, FLEUR_DIVIDE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ function loadJSON(filename, callback) {
|
|||
xobj.send(null);
|
||||
}
|
||||
|
||||
loadJSON("save/" + fileName[4],
|
||||
loadJSON("save/" + fileName[9],
|
||||
function JSONparse(response) {
|
||||
// Parse JSON string into object
|
||||
jsonObj = JSON.parse(response);
|
||||
|
|
|
|||
Loading…
Reference in a new issue