Version 0.2.0:

- Added Memory Locket
- Added Craftmetal
- Added Keys
- Fixed loodie toolkit issue (Thank you Lilu)
This commit is contained in:
Alba6rek 2025-10-09 23:57:32 +03:00
commit 28e0da5e57
13 changed files with 747 additions and 27 deletions

View file

@ -184,7 +184,7 @@
<div style="margin-bottom: 20px;"></div>
<p class="smalltext">
v0.1.0. Work-In-Progress. <!--Ideas &amp; Bug Reports: <a
v0.2.0. Work-In-Progress. <!--Ideas &amp; Bug Reports: <a
href="https://steamcommunity.com/app/367520/discussions/0/2915472677711090083/" target="_blank"><i
class="simpleicon-steam"></i>Steam Discussions</a> <a
href="https://steamcommunity.com/sharedfiles/filedetails/?id=2209910193" target="_blank"><i

View file

@ -199,6 +199,19 @@ function HKCheckCompletion(jsonObject, benchStart = performance.now()) {
CheckIfDataTrue(HK.sections.toolPouchUpgrades, HK.sections.toolPouchUpgrades.entries, HKPlayerData, HKWorldItems);
// ---------------- Essentials % -> Memory Locket ---------------------------------------------------------------------------------------------------- //
CheckIfDataTrue(HK.sections.essentialsMemoryLocket, HK.sections.essentialsMemoryLocket.entries, HKPlayerData, HKWorldItems);
// ---------------- Essentials % -> Craftmetal ---------------------------------------------------------------------------------------------------- //
CheckIfDataTrue(HK.sections.essentialsCraftmetal, HK.sections.essentialsCraftmetal.entries, HKPlayerData, HKWorldItems);
// ---------------- Essentials % -> Keys ---------------------------------------------------------------------------------------------------- //
CheckIfDataTrue(HK.sections.essentialsKeys, HK.sections.essentialsKeys.entries, HKPlayerData, HKWorldItems);
// ---------------- flea ---------------------------------------------------------------------------------------------------- //
CheckIfDataTrue(HK.sections.flea, HK.sections.flea.entries, HKPlayerData);
@ -1014,10 +1027,13 @@ function CheckIfDataTrue(section, dataObject, playerData, worldData = []) {
else if (section.id === "hk-maskshards"
|| section.id === "hk-spoolFragments"
|| section.id === "hk-toolPouchUpgrades"
|| section.id === "hk-craftingKitUpgrades")
|| section.id === "hk-craftingKitUpgrades"
|| section.id === "hk-essentials-craftmetal"
|| section.id === "hk-essentials-keys"
|| section.id === "hk-essentials-memoryLocket")
{
switch (i) {
//buy from sellers
//buy from sellers, defeating enemies, or collected items
case "PurchasedBonebottomHeartPiece":
case "MerchantEnclaveShellFragment":
case "PurchasedBelltownSpoolSegment":
@ -1028,18 +1044,47 @@ function CheckIfDataTrue(section, dataObject, playerData, worldData = []) {
case "PurchasedArchitectToolKit":
case "purchasedGrindleToolKit":
case "PurchasedPilgrimsRestToolPouch":
case "PurchasedBonebottomToolMetal":
case "MerchantEnclaveToolMetal":
case "MerchantEnclaveSimpleKey":
case "CollectedDustCageKey":
case "HasSlabKeyA":
case "HasSlabKeyB":
case "HasSlabKeyC":
case "collectedWardBossKey":
case "BelltownGreeterHouseFullDlg":
case "PurchasedArchitectKey":
case "BallowGivenKey":
case "PurchasedPilgrimsRestMemoryLocket":
case "PurchasedBelltownMemoryLocket":
(playerData[i] === true) ? SetIconGreen(section, i): SetIconRed(section, i);
break;
//White Key Condition
case "wardKey":
(playerData["MerchantEnclaveWardKey"] === true || playerData["collectedWardKey"] === true) ? SetIconGreen(section, i): SetIconRed(section, i);
break;
//check crow summons if ther are appeared or not, (but not picked up cuz still idk how and im lazy to search :3)
case "CrowSummonsAppearedScene":
(playerData[i] !== undefined && playerData[i] !== "" ) ? SetIconGreen(section, i): SetIconRed(section, i);
break;
//simplekey from pebb or gringle
case "purchasedGrindleSimpleKey":
(playerData["purchasedGrindleSimpleKey"] === true || playerData["PurchasedBonebottomFaithToken"] === true) ? SetIconGreen(section, i): SetIconRed(section, i);
break;
//Finishing wishes
case "beastflyHuntWish":
case "sprintmasterRaceWish":
case "destroyThreadCoresWish":
case "destroyThreadCoresWish":
case "antTrapperWish":
case "saveShermaWish":
case "crowFeathersWish":
case "journalWish":
case "rockRollersWish":
let wishList = playerData.QuestCompletionData.savedData;
let foundWish = wishList.find(wishList => wishList.Name === dataObject[i].sceneName);
(foundWish !== undefined && foundWish.Data.IsCompleted === true) ? SetIconGreen(section, i): SetIconRed(section, i);

View file

@ -1096,7 +1096,6 @@ const HK = {
},
},
/* ################ Crafting Kit Upgrades ################### */
craftingKitUpgrades: {
@ -1179,6 +1178,326 @@ const HK = {
}
},
/* ################ Essentials % -> Memory Locket ################### */
essentialsMemoryLocket: {
h2: "Memory Locket",
id: "hk-essentials-memoryLocket",
description: "Memory Locket that don't count directly towards Game Completion, but are required to achieve the completion.",
percent: 0,
maxPercent: 20,
entries: {
marrowMemoryLocket: {
name: "#1 Memory Locket",
spoiler: "Marrow, northeast of the Bellway station, Cling Grip required",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Bone_18"
},
hunterMarchMemoryLocket: {
name: "#2 Memory Locket",
spoiler: "Hunter's March, below the Chapel of the Beast",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Ant_20"
},
PurchasedPilgrimsRestMemoryLocket: {
name: "#3 Memory Locket",
spoiler: "Mort: 150 rosaries or Grindle: 250 rosaries (Act3)",
wiki: "Memory+Locket",
id: "",
sceneName: ""
},
greymoorMemoryLocket01: {
name: "#4 Memory Locket",
spoiler: "Greymoor, West of the Bellway",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Greymoor_16"
},
rockRollersWish: {
name: "#5 Memory Locket",
spoiler: "Bone Bottom, complet Volatile Flintbeetles Wish",
wiki: "Memory+Locket",
id: "",
sceneName: "Rock Rollers"
},
PurchasedBelltownMemoryLocket: {
name: "#6 Memory Locket",
spoiler: "Frey: 330 rosaries, complete Threadspun Town",
wiki: "Memory+Locket",
id: "",
sceneName: ""
},
blastedStepsMemoryLocket: {
name: "#7 Memory Locket",
spoiler: "Blasted Steps, require Cling Grip",
wiki: "Memory+Locket",
id: "Collectable Item Pickup (1)",
sceneName: "Coral_02"
},
wormwaysMemoryLocket: {
name: "#8 Memory Locket",
spoiler: "Wormways, Southwest, require Simple Key",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Crawl_09"
},
bilewaterMemoryLocket01: {
name: "#9 Memory Locket",
spoiler: "Bilewater, hidden room northwest of the Bellway",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Shadow_20"
},
choralChambersMemoryLocket: {
name: "#10 Memory Locket",
spoiler: "Choral Chambers, Bellway Station, accessed from Exhaust Organ",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Bellway_City"
},
underworksMemoryLocket: {
name: "#11 Memory Locket",
spoiler: "Underworks, hidden entrance above benches by the confessional",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Under_08"
},
deepDocksMemoryLocket: {
name: "#12 Memory Locket",
spoiler: "Deep Docks, west of the diving bell",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Dock_13"
},
whisperingVaultsMemoryLocket: {
name: "#13 Memory Locket",
spoiler: "Whispering Vaults, below the exit to the outside area",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Library_08"
},
sandsOfKarakMemoryLocket: {
name: "#14 Memory Locket",
spoiler: "Sands of Karak, Southwest, Clawline required",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Coral_23"
},
greymoorMemoryLocket02: {
name: "#15 Memory Locket",
spoiler: "Greymoor, Halfway Home, above the left-hand door",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Halfway_01"
},
MemoriumMemoryLocket: {
name: "#16 Memory Locket",
spoiler: "Memorium, central area, parkour",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Arborium_05"
},
slabMemoryLocket: {
name: "#17 Memory Locket",
spoiler: "Slab, shortcut cave between the Bellway area and the upper areas",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Slab_Cell_Quiet"
},
BilewaterMemoryLocket02: {
name: "#18 Memory Locket",
spoiler: "Bilewater, west of hidden bench, inside breakable cocoon",
wiki: "Memory+Locket",
id: "Sack Corpse Pickup",
sceneName: "Shadow_27"
},
bellhartMemoryLocket: {
name: "#19 Memory Locket",
spoiler: "Bellhart, above the Bellhome, require Silk Soar (Act3)",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Belltown"
},
farFieldsMemoryLocket: {
name: "#20 Memory Locket",
spoiler: "Far Fields, hidden in east of Skarrsinger Karmelita entrance (Act3)",
wiki: "Memory+Locket",
id: "Collectable Item Pickup",
sceneName: "Bone_East_25"
},
},
},
/* ################ Essentials % -> Craftmetal ################### */
essentialsCraftmetal: {
h2: "Craftmetal",
id: "hk-essentials-craftmetal",
description: "Craftmetal that don't count directly towards Game Completion, but are required to achieve the completion.",
percent: 0,
maxPercent: 8,
entries: {
PurchasedBonebottomToolMetal: {
name: "#1 Craftmetal",
spoiler: "Pebb: 60 Rosaries",
wiki: "Craftmetal",
id: "",
sceneName: ""
},
marrowCraftmetal: {
name: "#2 Craftmetal",
spoiler: "Marrow, Larg room in east room, bottomleft corner",
wiki: "Craftmetal",
id: "Collectable Item Pickup - Tool Metal",
sceneName: "Bone_07"
},
deepDocksCraftmetal: {
name: "#3 Craftmetal",
spoiler: "Deep Docks, behind locked room, inside chest",
wiki: "Craftmetal",
id: "City Shard Chest",
sceneName: "Dock_03"
},
blastedStepsCraftmetal: {
name: "#4 Craftmetal",
spoiler: "Blasted Steps, hole before the Last Judge",
wiki: "Craftmetal",
id: "Collectable Item Pickup - Tool Metal",
sceneName: "Coral_32"
},
MerchantEnclaveToolMetal: {
name: "#5 Craftmetal",
spoiler: "Jubilana: 180 Rosaries, complete Lost Merchant wish",
wiki: "Craftmetal",
id: "",
sceneName: ""
},
wispThicketCraftmetal: {
name: "#6 Craftmetal",
spoiler: "Wisp Thicket, behind a breakable ceiling",
wiki: "Craftmetal",
id: "Collectable Item Pickup - Tool Metal",
sceneName: "Wisp_05"
},
underworksCraftmetal: {
name: "#7 Craftmetal",
spoiler: "Underworks, central, south of where Clawline can be found",
wiki: "Craftmetal",
id: "Collectable Item Pickup - Tool Metal",
sceneName: "Under_19b"
},
putrifiedDuctsCraftmetal: {
name: "#8 Craftmetal",
spoiler: "Putrified Ducts, far eastern end of the Pale Lake",
wiki: "Craftmetal",
id: "Collectable Item Pickup - Tool Metal",
sceneName: "Aqueduct_05"
},
},
},
/* ################ Essentials % -> Keys ################### */
essentialsKeys: {
h2: "Keys",
id: "hk-essentials-keys",
description: "Keys that don't count directly towards Game Completion, but are required to achieve the completion.",
percent: 0,
maxPercent: 11,
entries: {
purchasedGrindleSimpleKey: {
name: "Sample Key #1",
spoiler: "Pebb: 500 rosaries (Act1&2), or Grindle: 600 rosaries (Act3)",
wiki: "Simple+Key",
id: "",
sceneName: ""
},
CollectedDustCageKey: {
name: "Sample Key #2",
spoiler: "Sinner's Road, northeast, defeat Roachkeeper",
wiki: "Simple+Key",
id: "",
sceneName: ""
},
MerchantEnclaveSimpleKey: {
name: "Sample Key #3",
spoiler: "Jubilana: 650 rosaries, complete Wandering Merchant wish",
wiki: "Simple+Key",
id: "",
sceneName: ""
},
bellshrineCoralSimpleKey: {
name: "Sample Key #4",
spoiler: "Sands of Karak, east, in bench",
wiki: "Simple+Key",
id: "Collectable Item Pickup",
sceneName: "Bellshrine_Coral"
},
HasSlabKeyA: {
name: "Key of Indolent",
spoiler: "Slab, middle west, hanging inside a room",
wiki: "Key+of+Indolent",
id: "",
sceneName: ""
},
HasSlabKeyB: {
name: "Key of Heretic",
spoiler: "Slab, after defeating enemies in northwest room",
wiki: "Key+of+Heretic",
id: "",
sceneName: ""
},
HasSlabKeyC: {
name: "Key of Apostate",
spoiler: "Putrified Ducts, west of Huntress's home",
wiki: "Key+of+Apostate",
id: "",
sceneName: ""
},
collectedWardBossKey: {
name: "White Key",
spoiler: "Songclave, far right edge, or Jubilana: 220 after Wandering Merchant wish",
wiki: "White+Key",
id: "",
sceneName: ""
},
BelltownGreeterHouseFullDlg: {
name: "Bellhome Key",
spoiler: "Pavo: complete Bellhart's Glory wish and 2 of wishes on Bellhart Wishwall ",
wiki: "Bellhome+Guide",
id: "",
sceneName: ""
},
BallowGivenKey: {
name: "Diving Bell Key",
spoiler: "(Act 3), The Dark Below Quest, Deep Docks, talk to Ballow",
wiki: "Diving+Bell+Key",
id: "",
sceneName: ""
},
BallowGivenKey: {
name: "Diving Bell Key",
spoiler: "(Act 3), The Dark Below Quest, Deep Docks, talk to Ballow",
wiki: "Diving+Bell+Key",
id: "",
sceneName: ""
},
CrowSummonsAppearedScene: {
name: "Craw Summons",
spoiler: "(Act 3), completed Awaiting the End, and hit the lever inside the Craw house on Craw Lake, there is a chance to summon evertime rests at certain benches",
wiki: "Craw+Summons",
id: "",
sceneName: ""
},
},
},
/* ################ Hunter's Journal ################### */
huntersJournal: {

View file

@ -209,7 +209,7 @@ function GenerateInnerHTML(db) {
textFill += [
`<div class="tab-switch-buttons">`,
`<button id="button-switch-main" name="main" class="button tab-switch" type="button">Main %</button>`,
//`<button id="button-switch-essentials" name="essentials" class="button tab-switch" type="button">Essentials %</button>`,
`<button id="button-switch-essentials" name="essentials" class="button tab-switch" type="button">Essentials %</button>`,
`<button id="button-switch-journal" name="journal" class="button tab-switch" type="button">Journal</button>`,
`<button id="button-switch-collectibles" name="collectibles" class="button tab-switch" type="button">Collectibles</button>`,
//`<button id="button-switch-geocaches" name="geocaches" class="button tab-switch" type="button">Geo Caches</button>`,
@ -224,11 +224,11 @@ function GenerateInnerHTML(db) {
break;
/* Essentials % */
/*case "essentialsCollectibles":
case "essentialsMemoryLocket":
textFill += `<div id="tab-essentials" class="large-section">`;
break;*/
break;
/* Journal */
case "huntersJournal":
@ -678,6 +678,7 @@ function GenerateInnerHTML(db) {
case "toolPouchUpgrades": // Main %
case "huntersJournal": // Journal
case "flea": // Collectibles
case "essentialsKeys": // Essentials %
/*case "toolPouchUpgrades": // Main %
case "achievementsBosses": // Essentials %