- Edit the main packag
- publishing - change the version to 0.1.0
39
README.md
|
|
@ -1 +1,38 @@
|
|||
This is new completion check, still not finished.
|
||||
## Notice
|
||||
Any support, please redirect it to [ReznoRMichael](https://github.com/ReznoRMichael/hollow-knight-completion-check).
|
||||
|
||||
# Save Completion Analyzer for Hollow Knight: Silksong
|
||||
> This is a rework for the the main project (Analyzer for Hollow Knight: Silksong), will help you with game completion.
|
||||
|
||||
## Hollow Knight: Silksong Save game locations
|
||||
|
||||
### Your Steam Cloud
|
||||
|
||||
If you have Steam Cloud enabled for Hollow Knight: Silksong, you can download your save [directly from here.](https://store.steampowered.com/account/remotestorageapp/?appid=1030300)
|
||||
You can use this if you want to check your save progress without access to your PC (on mobile/tablet for example) or if you don't want to search manually for the save files.
|
||||
|
||||
### Windows
|
||||
|
||||
`%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight Silksong\`
|
||||
**Pro Tip:** Copy and paste this code into the folder path bar of the Windows File Explorer window and press Enter to go there instantly (Windows 10). You can also paste it inside the Run window (Windows key + R).
|
||||
*Example path: C:\Users\your-username\AppData\LocalLow\Team Cherry\Hollow Knight*
|
||||
|
||||
### Linux
|
||||
|
||||
`~/.config/unity3d/Team Cherry/Hollow Knight Silksong/`
|
||||
|
||||
### macOS
|
||||
|
||||
`~/Library/Application Support/unity.Team Cherry.Hollow Knight Silksong/`
|
||||
|
||||
### Filenames
|
||||
|
||||
**user\*.dat** — main save file. Where \* is a number between 1 and 4, and it is the appropriate save slot inside the game.
|
||||
**user\*.dat.bak1** — auto-backup save file.
|
||||
**user\*_\[game-version-numbers\].dat** — duplicate of the main save file. Serves as a backup after any game update.
|
||||
|
||||
## Using
|
||||
* JavaScript (compiled to ES 6 / ES 2015)
|
||||
* [Webpack](https://github.com/webpack/webpack)
|
||||
* [Babel](https://github.com/babel/babel)
|
||||
* [Nodejs](https://nodejs.org/en)
|
||||
|
|
|
|||
1885
build/app.js
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 15 KiB |
|
|
@ -126,7 +126,7 @@
|
|||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Cinzel&family=Heebo:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
|
||||
<title>Save Completion Analyzer for Hollow Knight Online</title>
|
||||
<title>Save Completion Analyzer for Hollow Knight: Silksong Online</title>
|
||||
|
||||
<meta name="description"
|
||||
content="A simple open source tool for checking every single thing you missed for your Game Completion Percentage.">
|
||||
|
|
@ -136,7 +136,7 @@
|
|||
|
||||
<!-- Open Graph / Facebook -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Save Completion Analyzer for Hollow Knight Online">
|
||||
<meta property="og:title" content="Save Completion Analyzer for Hollow Knight: Silksong Online">
|
||||
<meta property="og:description"
|
||||
content="A simple open source tool for checking what you missed for your Game Completion Percentage.">
|
||||
<meta property="og:image"
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
<meta property="og:url" content="https://reznormichael.github.io/hollow-knight-completion-check/">
|
||||
|
||||
<!-- Twitter -->
|
||||
<meta property="twitter:title" content="Save Completion Analyzer for Hollow Knight Online">
|
||||
<meta property="twitter:title" content="Save Completion Analyzer for Hollow Knight: Silksong Online">
|
||||
<meta property="twitter:description"
|
||||
content="A simple open source tool for checking what you missed for your Game Completion Percentage.">
|
||||
<meta property="twitter:card" content="summary_large_image">
|
||||
|
|
@ -166,9 +166,14 @@
|
|||
<div id="content">
|
||||
|
||||
<h1 id="h1-title">Save Completion Analyzer</h1>
|
||||
<div id="sub-title">for Hollow Knight</div>
|
||||
<div id="sub-title">for Hollow Knight: Silksong</div>
|
||||
|
||||
<p class="smalltext">
|
||||
<p class="smalltext">
|
||||
<a class="link-social" href="https://github.com/Alba6rek/hollow-knight-silksong-completion-check" target="_blank"><i
|
||||
class="simpleicon-github"></i>GitHub<i class="simpleicon-github"></i></a>
|
||||
</p>
|
||||
<!--
|
||||
<p class="smalltext">
|
||||
<a class="link-social" href="https://www.paypal.me/ReznoRMichael" target="_blank"><i
|
||||
class="simpleicon-paypal"></i>Support Analyzer and get Featured!<i class="simpleicon-paypal"></i></a>
|
||||
<br>
|
||||
|
|
@ -183,10 +188,12 @@
|
|||
<a class="link-social" href="https://github.com/ReznoRMichael/hollow-knight-completion-check" target="_blank"><i
|
||||
class="simpleicon-github"></i>GitHub</a>
|
||||
<br>
|
||||
-->
|
||||
|
||||
<!-- <a href="https://pastebin.com/raw/shfZ4Vqs" target="_blank">[ Decoded 5% Save Example ]</a><br> -->
|
||||
|
||||
<div class="tooltip">
|
||||
<input type="text" id="save-location-input" value="%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight\"
|
||||
<input type="text" id="save-location-input" value="%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight Silksong\"
|
||||
readonly>
|
||||
<!-- <textarea id="save-location-input" value="%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight\" readonly></textarea> -->
|
||||
<span class="tooltip-text" id="save-location-input-tooltip">Click once to copy to clipboard</span>
|
||||
|
|
@ -211,7 +218,7 @@
|
|||
|
||||
<button id="save-area-read" class="button button-large hidden" type="button" title="Press this button after pasting your Save Text from the Save Editor into the text box below.">Analyze Save Text</button>
|
||||
|
||||
<a class="button button-square" href="https://store.steampowered.com/account/remotestorageapp/?appid=367520"
|
||||
<a class="button button-square" href="https://store.steampowered.com/account/remotestorageapp/?appid=1030300"
|
||||
target="_blank" title="Download a Save File from your Steam Cloud Storage for Hollow Knight."><i class="icon-download-cloud"></i></a>
|
||||
</div>
|
||||
|
||||
|
|
@ -237,12 +244,14 @@
|
|||
|
||||
<div class="checkboxes">
|
||||
|
||||
<input type="hidden" name="checkboxes" id="checkbox-hints" value="hints-off">
|
||||
<!-- The hint are removed for the current time -->
|
||||
<!--
|
||||
<input type="checkbox" name="checkboxes" id="checkbox-hints" value="hints-off">
|
||||
<label for="checkbox-hints" class="checkbox-label"
|
||||
title="Check to see an optional clue for your first playthrough based on your save's progress.">
|
||||
<!-- <input type="checkbox" name="checkboxes" id="checkbox-hints" value="hints-off" onclick="CheckboxHintsToggle();"> -->
|
||||
<span class="checkmark"></span><strong>Hints</strong>
|
||||
</label>
|
||||
</label>-->
|
||||
|
||||
<input type="checkbox" name="checkboxes" id="checkbox-spoilers" value="spoilers-off">
|
||||
<label for="checkbox-spoilers" class="checkbox-label"
|
||||
|
|
@ -266,35 +275,23 @@
|
|||
|
||||
<div style="margin-bottom: 20px;"></div>
|
||||
|
||||
<h6>Secrets!</h6>
|
||||
<!--<h6>Secrets!</h6>
|
||||
|
||||
<p class="smalltext">
|
||||
Did you know? You can press <strong>Ctrl + Shift + I</strong> and choose the <strong>Console Tab</strong> to view some extra secret
|
||||
data not currently shown in the tool. (after loading any save file)
|
||||
</p>
|
||||
</p>-->
|
||||
|
||||
<div style="margin-bottom: 20px;"></div>
|
||||
|
||||
<div class="hall-of-fame-border">
|
||||
|
||||
<h6 class="hall-of-fame">Analyzer Supporters</h6>
|
||||
<h6 class="hall-of-fame">Thank you</h6>
|
||||
|
||||
<p class="smalltext">
|
||||
<b class="pp-gold">Klaudia</b> (Lvl 45) -
|
||||
<b class="pp-silver">Rohit</b> (Lvl 7) -
|
||||
<b class="pp-silver">Dominic</b> (Lvl 6) -
|
||||
<b class="pp-silver">David</b> (Lvl 5) -
|
||||
<b class="pp-silver">Peter</b> (Lvl 5) -
|
||||
<b class="pp-silver">Ruben</b> (Lvl 5) -
|
||||
<b class="pp-bronze">AnonymousCanada</b> (Lvl 3) -
|
||||
<b class="pp-bronze">Mozzie</b> (Lvl 2)
|
||||
</p>
|
||||
Thank you <a href="https://github.com/ReznoRMichael/hollow-knight-completion-check"
|
||||
target="_blank">rezno[R]</a> for your hardwork and thank you to everyone who support this community
|
||||
|
||||
<p class="smalltext">
|
||||
You too can get immortalized here. <a href="https://www.paypal.me/ReznoRMichael" target="_blank"><i
|
||||
class="simpleicon-paypal"></i>Donate<i
|
||||
class="simpleicon-paypal"></i></a> at least $1 for the Analyzer!<br>
|
||||
Lvl indicates your amount of support.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
|
@ -302,15 +299,17 @@
|
|||
<div style="margin-bottom: 20px;"></div>
|
||||
|
||||
<p class="smalltext">
|
||||
v2.2.0. Work-In-Progress. Ideas & Bug Reports: <a
|
||||
v0.1.0. Work-In-Progress. <!--Ideas & 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
|
||||
class="simpleicon-steam"></i>Steam Guide</a>.<br>
|
||||
class="simpleicon-steam"></i>Steam Guide</a>.--><br>
|
||||
Programmed, written and created by 🉑 <a href="https://github.com/ReznoRMichael/hollow-knight-completion-check"
|
||||
target="_blank">rezno[R]</a> © 2020–2022<br>
|
||||
<a href="https://store.steampowered.com/app/367520/Hollow_Knight/" target="_blank">Hollow Knight</a> by <a
|
||||
href="https://teamcherry.com.au/" target="_blank">Team Cherry</a> © 2017–2022<br>
|
||||
Redesigned by <a href="https://github.com/Alba6rek/hollow-knight-silksong-completion-check"
|
||||
target="_blank">Alba6rek</a> © 2025<br>
|
||||
<a href="https://store.steampowered.com/app/1030300/Hollow_Knight_Silksong/" target="_blank">Hollow Knight: Silksong</a> by <a
|
||||
href="https://teamcherry.com.au/" target="_blank">Team Cherry</a> © 2017–2025<br>
|
||||
</p>
|
||||
|
||||
</div> <!-- end content -->
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@
|
|||
*/
|
||||
|
||||
:root {
|
||||
--rt-main: #1e4d6c;
|
||||
--rt-main: #1e6c38;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
|
|
@ -218,11 +218,11 @@ body {
|
|||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #1e4d6c;
|
||||
background-color: #1e6c38;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #2e5d7c;
|
||||
background-color: #2e7c38;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track,
|
||||
|
|
@ -231,8 +231,8 @@ body {
|
|||
}
|
||||
|
||||
::-webkit-resizer {
|
||||
background-color: #050d19;
|
||||
color: #1e4d6c;
|
||||
background-color: #051905;
|
||||
color: #1e6c38;
|
||||
}
|
||||
|
||||
#background {
|
||||
|
|
@ -261,7 +261,7 @@ body {
|
|||
|
||||
b {
|
||||
font-weight: 500;
|
||||
color: #aac7d4;
|
||||
color: #aad4b4;
|
||||
}
|
||||
|
||||
p {
|
||||
|
|
@ -330,12 +330,12 @@ h6 {
|
|||
font-weight: 400;
|
||||
font-size: 1.6rem;
|
||||
line-height: 1.6rem;
|
||||
color: rgb(0, 255, 221);
|
||||
color: rgb(0, 255, 98);
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.hall-of-fame-border {
|
||||
border: 0.2rem solid rgba(0, 255, 220, 0.6);
|
||||
border: 0.2rem solid rgba(0, 255, 106, 0.6);
|
||||
border-radius: 1rem;
|
||||
border-style: double;
|
||||
padding: 0.7rem 1.3rem 0.7rem 1.3rem;
|
||||
|
|
@ -343,7 +343,7 @@ h6 {
|
|||
}
|
||||
|
||||
#hk-hints {
|
||||
border: 0.2rem solid rgba(231, 251, 255, 0.33);
|
||||
border: 0.2rem solid rgba(231, 255, 234, 0.33);
|
||||
border-radius: 1rem;
|
||||
border-style: double;
|
||||
padding: 1.3rem;
|
||||
|
|
@ -366,7 +366,7 @@ h6 {
|
|||
text-align: center;
|
||||
font-size: 0.8rem;
|
||||
margin: 0 1.3rem 1.3rem 1.3rem;
|
||||
color: rgba(129, 221, 224, 0.85);
|
||||
color: rgba(129, 224, 134, 0.85);
|
||||
}
|
||||
|
||||
#save-location-input {
|
||||
|
|
@ -374,8 +374,8 @@ h6 {
|
|||
font-family: 'Consolas', monospace;
|
||||
font-size: 0.75rem;
|
||||
text-align: center;
|
||||
width: 32em;
|
||||
max-width: 32em;
|
||||
width: 37em;
|
||||
max-width: 37em;
|
||||
color: #fff;
|
||||
background-color: rgba(128, 128, 128, 0.5);
|
||||
margin: 0.4rem auto 0.6rem auto;
|
||||
|
|
@ -563,9 +563,9 @@ input[type="file"] {
|
|||
font-weight: 500;
|
||||
font-family: 'Heebo', sans-serif;
|
||||
text-align: center;
|
||||
background-color: #1e4d6c;
|
||||
color: #aac7d4;
|
||||
border: 2px solid #183c55;
|
||||
background-color: #1e6c38;
|
||||
color: #aad4b4;
|
||||
border: 2px solid #185520;
|
||||
border-radius: 2px;
|
||||
padding: 0.3rem 1rem;
|
||||
margin: 0.25rem 0.5rem 0.25rem 0.25rem;
|
||||
|
|
@ -577,17 +577,17 @@ input[type="file"] {
|
|||
}
|
||||
|
||||
.button:hover {
|
||||
color: #d9f3ff;
|
||||
background-color: #2e5d7c;
|
||||
border-color: #2e5d7c;
|
||||
color: #d9ffdc;
|
||||
background-color: #2e7c38;
|
||||
border-color: #2e7c38;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button:focus,
|
||||
.input-file:focus+label {
|
||||
/* outline: 2px solid #5e8dac; */
|
||||
/* outline: 2px solid #5eac65; */
|
||||
outline: 0;
|
||||
border-color: #5e8dac;
|
||||
border-color: #5eac65;
|
||||
/* outline-offset: -2px; */
|
||||
}
|
||||
|
||||
|
|
@ -606,13 +606,13 @@ input[type="file"] {
|
|||
|
||||
.tab-switch {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
color: rgb(0, 180, 156);
|
||||
color: rgb(0, 180, 69);
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
border-radius: 1rem 0 1rem 0;
|
||||
}
|
||||
|
||||
.tab-switch:hover {
|
||||
background-color: rgb(0, 180, 156);
|
||||
background-color: rgb(0, 180, 69);
|
||||
color: rgb(0, 0, 0);
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
|
@ -621,13 +621,13 @@ input[type="file"] {
|
|||
background-color: rgb(235, 235, 235);
|
||||
color: rgb(0, 39, 34);
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
box-shadow: 0 0 1rem rgb(0, 180, 156);
|
||||
text-shadow: 0 0 0.5rem #97fff1;
|
||||
box-shadow: 0 0 1rem rgb(0, 180, 69);
|
||||
text-shadow: 0 0 0.5rem #9aff97;
|
||||
}
|
||||
|
||||
.tab-switch:focus {
|
||||
outline: 0;
|
||||
border-color: rgb(0, 255, 221);
|
||||
border-color: rgb(0, 255, 98);
|
||||
}
|
||||
|
||||
.tab-switch:focus:not(:focus-visible) {
|
||||
|
|
@ -693,14 +693,14 @@ a,
|
|||
a:active,
|
||||
a:visited {
|
||||
display: inline-block;
|
||||
color: #aac7d4;
|
||||
color: #aad4b4;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #d9f3ff;
|
||||
color: #d9ffdc;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 0 0.6em #1bff73;
|
||||
}
|
||||
|
|
@ -741,12 +741,12 @@ a.wiki {
|
|||
}
|
||||
|
||||
.icon-info-circled {
|
||||
color: #479ae7;
|
||||
color: #47e762;
|
||||
}
|
||||
|
||||
.icon-download-cloud,
|
||||
.icon-doc-text-inv {
|
||||
color: #d9f3ff;
|
||||
color: #d9ffdc;
|
||||
}
|
||||
|
||||
.flex-container {
|
||||
|
|
@ -811,7 +811,7 @@ a.wiki {
|
|||
width: 50px;
|
||||
height: 50px;
|
||||
text-decoration: none;
|
||||
background-color: #1e4d6c;
|
||||
background-color: #1e6c38;
|
||||
border: 0;
|
||||
border-radius: 2px;
|
||||
outline: 0;
|
||||
|
|
@ -824,7 +824,7 @@ a.wiki {
|
|||
}
|
||||
|
||||
.scroll-up-button:hover {
|
||||
background-color: #2e5d7c;
|
||||
background-color: #2e7c38;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
|
@ -834,7 +834,7 @@ a.wiki {
|
|||
top: 3px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: solid #aac7d4;
|
||||
border: solid #aad4b4;
|
||||
border-width: 2px 0px 0px 2px;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
|
|
@ -938,8 +938,8 @@ input[type="radio"] {
|
|||
left: 0.27em;
|
||||
height: 1.3em;
|
||||
width: 1.3em;
|
||||
background-color: #aac7d4;
|
||||
border: 1px solid #1e4d6c;
|
||||
background-color: #aad4b4;
|
||||
border: 1px solid #1e6c38;
|
||||
border: 1px solid var(--rt-main);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
|
@ -961,21 +961,21 @@ input[type="radio"] {
|
|||
/* On mouse-over change background color */
|
||||
.radio-label:hover .radiomark,
|
||||
.checkbox-label:hover .checkmark {
|
||||
background-color: #d9f3ff;
|
||||
background-color: #d9ffdc;
|
||||
}
|
||||
|
||||
/* When the checkbox is checked change background color */
|
||||
input:checked + label .radiomark,
|
||||
input:checked + label .checkmark {
|
||||
background-color: #1e4d6c;
|
||||
background-color: #1e6c38;
|
||||
background-color: var(--rt-main);
|
||||
}
|
||||
|
||||
/* When the checkbox is checked change background color on hover */
|
||||
input:checked + label:hover .radiomark,
|
||||
input:checked + label:hover .checkmark {
|
||||
background-color: #2e5d7c;
|
||||
border-color: #2e5d7c;
|
||||
background-color: #2e7c38;
|
||||
border-color: #2e7c38;
|
||||
}
|
||||
|
||||
/* Create the checkmark/indicator (hidden when not checked) */
|
||||
|
|
@ -998,7 +998,7 @@ input:checked + label .checkmark:after {
|
|||
top: 2px;
|
||||
width: 6px;
|
||||
height: 12px;
|
||||
border: solid #aac7d4;
|
||||
border: solid #aad4b4;
|
||||
border-width: 0 2px 2px 0;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
|
|
@ -1018,7 +1018,7 @@ input:checked + label .checkmark:after {
|
|||
input[type="checkbox"]:focus + label,
|
||||
input[type="radio"]:focus + label {
|
||||
outline: 0;
|
||||
box-shadow: 0 0 0.2rem #aac7d4;
|
||||
box-shadow: 0 0 0.2rem #aad4b4;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:focus:not(:focus-visible) + label,
|
||||
|
|
@ -1037,8 +1037,8 @@ input[type="radio"]:focus:not(:focus-visible) + label {
|
|||
.tooltip .tooltip-text {
|
||||
visibility: hidden;
|
||||
width: max-content;
|
||||
background-color: #1e4d6c;
|
||||
color: #d9f3ff;
|
||||
background-color: #1e6c38;
|
||||
color: #d9ffdc;
|
||||
font-size: 0.85rem;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
|
|
@ -1060,7 +1060,7 @@ input[type="radio"]:focus:not(:focus-visible) + label {
|
|||
margin-left: -5px;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
border-color: #1e4d6c transparent transparent transparent;
|
||||
border-color: #1e6c38 transparent transparent transparent;
|
||||
}
|
||||
|
||||
.tooltip:hover .tooltip-text {
|
||||
|
|
@ -1081,11 +1081,11 @@ input[type="radio"]:focus:not(:focus-visible) + label {
|
|||
font-size: 1.1rem;
|
||||
font-weight: 700;
|
||||
vertical-align: middle;
|
||||
color: #d9f3ff;
|
||||
color: #d9ffdc;
|
||||
margin: 0 0.5rem 0rem 0.5rem;
|
||||
padding: 0.2rem 1.2rem 0.2rem 1.2rem;
|
||||
background: #1e4d6c;
|
||||
border: 2px solid #3e6d8c;
|
||||
background: #1e6c38;
|
||||
border: 2px solid #3e8c4b;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
|
|
|
|||
1
docs/app.js.LICENSE.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
||||
BIN
docs/favicon.png
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 15 KiB |
BIN
docs/img/273bc0830d455f7a31b2.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 234 KiB |
BIN
docs/img/7719057db1b84cbb040a.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
docs/img/c5450eb6dbdc31fef81d.jpg
Normal file
|
After Width: | Height: | Size: 154 KiB |
10
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "hollow-knight-completion-check",
|
||||
"version": "2.2.0",
|
||||
"lockfileVersion": 2,
|
||||
"name": "hollow-knight-silksong-completion-check",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 0,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "hollow-knight-completion-check",
|
||||
"version": "2.2.0",
|
||||
"name": "hollow-knight-silksong-completion-check",
|
||||
"version": "0.1.0",
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"core-js": "^3.18.3"
|
||||
|
|
|
|||
11
package.json
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "hollow-knight-completion-check",
|
||||
"version": "2.2.0",
|
||||
"description": "Hollow Knight Save Game Completion Analyzer Web Tool",
|
||||
"name": "hollow-knight-silksong-completion-check",
|
||||
"version": "0.1.0",
|
||||
"description": "Hollow Knight: Silksong Save Game Completion Analyzer Web Tool",
|
||||
"main": "index.html",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
|
|
@ -11,11 +11,12 @@
|
|||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ReznoRMichael/hollow-knight-completion-check.git"
|
||||
"url": "git+https://github.com/Alba6rek/hollow-knight-silksong-completion-check.git"
|
||||
},
|
||||
"keywords": [
|
||||
"hollow",
|
||||
"knight",
|
||||
"silksong",
|
||||
"save",
|
||||
"analyzer",
|
||||
"analyze",
|
||||
|
|
@ -31,7 +32,7 @@
|
|||
"bugs": {
|
||||
"url": "https://github.com/ReznoRMichael/hollow-knight-completion-check/issues"
|
||||
},
|
||||
"homepage": "https://github.com/ReznoRMichael/hollow-knight-completion-check#readme",
|
||||
"homepage": "https://github.com/Alba6rek/hollow-knight-silksong-completion-check#readme",
|
||||
"dependencies": {
|
||||
"core-js": "^3.18.3"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
:root {
|
||||
--rt-main: #1e4d6c;
|
||||
--rt-main: #1e6c38;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
|
|
@ -42,11 +42,11 @@ body {
|
|||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #1e4d6c;
|
||||
background-color: #1e6c38;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #2e5d7c;
|
||||
background-color: #2e7c38;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track,
|
||||
|
|
@ -55,8 +55,8 @@ body {
|
|||
}
|
||||
|
||||
::-webkit-resizer {
|
||||
background-color: #050d19;
|
||||
color: #1e4d6c;
|
||||
background-color: #051905;
|
||||
color: #1e6c38;
|
||||
}
|
||||
|
||||
#background {
|
||||
|
|
@ -85,7 +85,7 @@ body {
|
|||
|
||||
b {
|
||||
font-weight: 500;
|
||||
color: #aac7d4;
|
||||
color: #aad4b4;
|
||||
}
|
||||
|
||||
p {
|
||||
|
|
@ -154,12 +154,12 @@ h6 {
|
|||
font-weight: 400;
|
||||
font-size: 1.6rem;
|
||||
line-height: 1.6rem;
|
||||
color: rgb(0, 255, 221);
|
||||
color: rgb(0, 255, 98);
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.hall-of-fame-border {
|
||||
border: 0.2rem solid rgba(0, 255, 220, 0.6);
|
||||
border: 0.2rem solid rgba(0, 255, 106, 0.6);
|
||||
border-radius: 1rem;
|
||||
border-style: double;
|
||||
padding: 0.7rem 1.3rem 0.7rem 1.3rem;
|
||||
|
|
@ -167,7 +167,7 @@ h6 {
|
|||
}
|
||||
|
||||
#hk-hints {
|
||||
border: 0.2rem solid rgba(231, 251, 255, 0.33);
|
||||
border: 0.2rem solid rgba(231, 255, 234, 0.33);
|
||||
border-radius: 1rem;
|
||||
border-style: double;
|
||||
padding: 1.3rem;
|
||||
|
|
@ -190,7 +190,7 @@ h6 {
|
|||
text-align: center;
|
||||
font-size: 0.8rem;
|
||||
margin: 0 1.3rem 1.3rem 1.3rem;
|
||||
color: rgba(129, 221, 224, 0.85);
|
||||
color: rgba(129, 224, 134, 0.85);
|
||||
}
|
||||
|
||||
#save-location-input {
|
||||
|
|
@ -198,8 +198,8 @@ h6 {
|
|||
font-family: 'Consolas', monospace;
|
||||
font-size: 0.75rem;
|
||||
text-align: center;
|
||||
width: 32em;
|
||||
max-width: 32em;
|
||||
width: 37em;
|
||||
max-width: 37em;
|
||||
color: #fff;
|
||||
background-color: rgba(128, 128, 128, 0.5);
|
||||
margin: 0.4rem auto 0.6rem auto;
|
||||
|
|
@ -387,9 +387,9 @@ input[type="file"] {
|
|||
font-weight: 500;
|
||||
font-family: 'Heebo', sans-serif;
|
||||
text-align: center;
|
||||
background-color: #1e4d6c;
|
||||
color: #aac7d4;
|
||||
border: 2px solid #183c55;
|
||||
background-color: #1e6c38;
|
||||
color: #aad4b4;
|
||||
border: 2px solid #185520;
|
||||
border-radius: 2px;
|
||||
padding: 0.3rem 1rem;
|
||||
margin: 0.25rem 0.5rem 0.25rem 0.25rem;
|
||||
|
|
@ -401,17 +401,17 @@ input[type="file"] {
|
|||
}
|
||||
|
||||
.button:hover {
|
||||
color: #d9f3ff;
|
||||
background-color: #2e5d7c;
|
||||
border-color: #2e5d7c;
|
||||
color: #d9ffdc;
|
||||
background-color: #2e7c38;
|
||||
border-color: #2e7c38;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button:focus,
|
||||
.input-file:focus+label {
|
||||
/* outline: 2px solid #5e8dac; */
|
||||
/* outline: 2px solid #5eac65; */
|
||||
outline: 0;
|
||||
border-color: #5e8dac;
|
||||
border-color: #5eac65;
|
||||
/* outline-offset: -2px; */
|
||||
}
|
||||
|
||||
|
|
@ -430,13 +430,13 @@ input[type="file"] {
|
|||
|
||||
.tab-switch {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
color: rgb(0, 180, 156);
|
||||
color: rgb(0, 180, 69);
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
border-radius: 1rem 0 1rem 0;
|
||||
}
|
||||
|
||||
.tab-switch:hover {
|
||||
background-color: rgb(0, 180, 156);
|
||||
background-color: rgb(0, 180, 69);
|
||||
color: rgb(0, 0, 0);
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
|
@ -445,13 +445,13 @@ input[type="file"] {
|
|||
background-color: rgb(235, 235, 235);
|
||||
color: rgb(0, 39, 34);
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
box-shadow: 0 0 1rem rgb(0, 180, 156);
|
||||
text-shadow: 0 0 0.5rem #97fff1;
|
||||
box-shadow: 0 0 1rem rgb(0, 180, 69);
|
||||
text-shadow: 0 0 0.5rem #9aff97;
|
||||
}
|
||||
|
||||
.tab-switch:focus {
|
||||
outline: 0;
|
||||
border-color: rgb(0, 255, 221);
|
||||
border-color: rgb(0, 255, 98);
|
||||
}
|
||||
|
||||
.tab-switch:focus:not(:focus-visible) {
|
||||
|
|
@ -517,14 +517,14 @@ a,
|
|||
a:active,
|
||||
a:visited {
|
||||
display: inline-block;
|
||||
color: #aac7d4;
|
||||
color: #aad4b4;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #d9f3ff;
|
||||
color: #d9ffdc;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 0 0.6em #1bff73;
|
||||
}
|
||||
|
|
@ -565,12 +565,12 @@ a.wiki {
|
|||
}
|
||||
|
||||
.icon-info-circled {
|
||||
color: #479ae7;
|
||||
color: #47e762;
|
||||
}
|
||||
|
||||
.icon-download-cloud,
|
||||
.icon-doc-text-inv {
|
||||
color: #d9f3ff;
|
||||
color: #d9ffdc;
|
||||
}
|
||||
|
||||
.flex-container {
|
||||
|
|
@ -635,7 +635,7 @@ a.wiki {
|
|||
width: 50px;
|
||||
height: 50px;
|
||||
text-decoration: none;
|
||||
background-color: #1e4d6c;
|
||||
background-color: #1e6c38;
|
||||
border: 0;
|
||||
border-radius: 2px;
|
||||
outline: 0;
|
||||
|
|
@ -648,7 +648,7 @@ a.wiki {
|
|||
}
|
||||
|
||||
.scroll-up-button:hover {
|
||||
background-color: #2e5d7c;
|
||||
background-color: #2e7c38;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
|
@ -658,7 +658,7 @@ a.wiki {
|
|||
top: 3px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: solid #aac7d4;
|
||||
border: solid #aad4b4;
|
||||
border-width: 2px 0px 0px 2px;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
|
|
@ -762,8 +762,8 @@ input[type="radio"] {
|
|||
left: 0.27em;
|
||||
height: 1.3em;
|
||||
width: 1.3em;
|
||||
background-color: #aac7d4;
|
||||
border: 1px solid #1e4d6c;
|
||||
background-color: #aad4b4;
|
||||
border: 1px solid #1e6c38;
|
||||
border: 1px solid var(--rt-main);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
|
@ -785,21 +785,21 @@ input[type="radio"] {
|
|||
/* On mouse-over change background color */
|
||||
.radio-label:hover .radiomark,
|
||||
.checkbox-label:hover .checkmark {
|
||||
background-color: #d9f3ff;
|
||||
background-color: #d9ffdc;
|
||||
}
|
||||
|
||||
/* When the checkbox is checked change background color */
|
||||
input:checked + label .radiomark,
|
||||
input:checked + label .checkmark {
|
||||
background-color: #1e4d6c;
|
||||
background-color: #1e6c38;
|
||||
background-color: var(--rt-main);
|
||||
}
|
||||
|
||||
/* When the checkbox is checked change background color on hover */
|
||||
input:checked + label:hover .radiomark,
|
||||
input:checked + label:hover .checkmark {
|
||||
background-color: #2e5d7c;
|
||||
border-color: #2e5d7c;
|
||||
background-color: #2e7c38;
|
||||
border-color: #2e7c38;
|
||||
}
|
||||
|
||||
/* Create the checkmark/indicator (hidden when not checked) */
|
||||
|
|
@ -822,7 +822,7 @@ input:checked + label .checkmark:after {
|
|||
top: 2px;
|
||||
width: 6px;
|
||||
height: 12px;
|
||||
border: solid #aac7d4;
|
||||
border: solid #aad4b4;
|
||||
border-width: 0 2px 2px 0;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
|
|
@ -842,7 +842,7 @@ input:checked + label .checkmark:after {
|
|||
input[type="checkbox"]:focus + label,
|
||||
input[type="radio"]:focus + label {
|
||||
outline: 0;
|
||||
box-shadow: 0 0 0.2rem #aac7d4;
|
||||
box-shadow: 0 0 0.2rem #aad4b4;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:focus:not(:focus-visible) + label,
|
||||
|
|
@ -861,8 +861,8 @@ input[type="radio"]:focus:not(:focus-visible) + label {
|
|||
.tooltip .tooltip-text {
|
||||
visibility: hidden;
|
||||
width: max-content;
|
||||
background-color: #1e4d6c;
|
||||
color: #d9f3ff;
|
||||
background-color: #1e6c38;
|
||||
color: #d9ffdc;
|
||||
font-size: 0.85rem;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
|
|
@ -884,7 +884,7 @@ input[type="radio"]:focus:not(:focus-visible) + label {
|
|||
margin-left: -5px;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
border-color: #1e4d6c transparent transparent transparent;
|
||||
border-color: #1e6c38 transparent transparent transparent;
|
||||
}
|
||||
|
||||
.tooltip:hover .tooltip-text {
|
||||
|
|
@ -905,11 +905,11 @@ input[type="radio"]:focus:not(:focus-visible) + label {
|
|||
font-size: 1.1rem;
|
||||
font-weight: 700;
|
||||
vertical-align: middle;
|
||||
color: #d9f3ff;
|
||||
color: #d9ffdc;
|
||||
margin: 0 0.5rem 0rem 0.5rem;
|
||||
padding: 0.2rem 1.2rem 0.2rem 1.2rem;
|
||||
background: #1e4d6c;
|
||||
border: 2px solid #3e6d8c;
|
||||
background: #1e6c38;
|
||||
border: 2px solid #3e8c4b;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
src/favicon.png
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 15 KiB |
|
|
@ -11,7 +11,7 @@
|
|||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Cinzel&family=Heebo:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
|
||||
<title>Save Completion Analyzer for Hollow Knight Online</title>
|
||||
<title>Save Completion Analyzer for Hollow Knight: Silksong Online</title>
|
||||
|
||||
<meta name="description"
|
||||
content="A simple open source tool for checking every single thing you missed for your Game Completion Percentage.">
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
<!-- Open Graph / Facebook -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Save Completion Analyzer for Hollow Knight Online">
|
||||
<meta property="og:title" content="Save Completion Analyzer for Hollow Knight: Silksong Online">
|
||||
<meta property="og:description"
|
||||
content="A simple open source tool for checking what you missed for your Game Completion Percentage.">
|
||||
<meta property="og:image"
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
<meta property="og:url" content="https://reznormichael.github.io/hollow-knight-completion-check/">
|
||||
|
||||
<!-- Twitter -->
|
||||
<meta property="twitter:title" content="Save Completion Analyzer for Hollow Knight Online">
|
||||
<meta property="twitter:title" content="Save Completion Analyzer for Hollow Knight: Silksong Online">
|
||||
<meta property="twitter:description"
|
||||
content="A simple open source tool for checking what you missed for your Game Completion Percentage.">
|
||||
<meta property="twitter:card" content="summary_large_image">
|
||||
|
|
@ -51,9 +51,14 @@
|
|||
<div id="content">
|
||||
|
||||
<h1 id="h1-title">Save Completion Analyzer</h1>
|
||||
<div id="sub-title">for Hollow Knight</div>
|
||||
<div id="sub-title">for Hollow Knight: Silksong</div>
|
||||
|
||||
<p class="smalltext">
|
||||
<p class="smalltext">
|
||||
<a class="link-social" href="https://github.com/Alba6rek/hollow-knight-silksong-completion-check" target="_blank"><i
|
||||
class="simpleicon-github"></i>GitHub<i class="simpleicon-github"></i></a>
|
||||
</p>
|
||||
<!--
|
||||
<p class="smalltext">
|
||||
<a class="link-social" href="https://www.paypal.me/ReznoRMichael" target="_blank"><i
|
||||
class="simpleicon-paypal"></i>Support Analyzer and get Featured!<i class="simpleicon-paypal"></i></a>
|
||||
<br>
|
||||
|
|
@ -68,10 +73,12 @@
|
|||
<a class="link-social" href="https://github.com/ReznoRMichael/hollow-knight-completion-check" target="_blank"><i
|
||||
class="simpleicon-github"></i>GitHub</a>
|
||||
<br>
|
||||
-->
|
||||
|
||||
<!-- <a href="https://pastebin.com/raw/shfZ4Vqs" target="_blank">[ Decoded 5% Save Example ]</a><br> -->
|
||||
|
||||
<div class="tooltip">
|
||||
<input type="text" id="save-location-input" value="%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight\"
|
||||
<input type="text" id="save-location-input" value="%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight Silksong\"
|
||||
readonly>
|
||||
<!-- <textarea id="save-location-input" value="%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight\" readonly></textarea> -->
|
||||
<span class="tooltip-text" id="save-location-input-tooltip">Click once to copy to clipboard</span>
|
||||
|
|
@ -96,7 +103,7 @@
|
|||
|
||||
<button id="save-area-read" class="button button-large hidden" type="button" title="Press this button after pasting your Save Text from the Save Editor into the text box below.">Analyze Save Text</button>
|
||||
|
||||
<a class="button button-square" href="https://store.steampowered.com/account/remotestorageapp/?appid=367520"
|
||||
<a class="button button-square" href="https://store.steampowered.com/account/remotestorageapp/?appid=1030300"
|
||||
target="_blank" title="Download a Save File from your Steam Cloud Storage for Hollow Knight."><i class="icon-download-cloud"></i></a>
|
||||
</div>
|
||||
|
||||
|
|
@ -122,12 +129,14 @@
|
|||
|
||||
<div class="checkboxes">
|
||||
|
||||
<input type="hidden" name="checkboxes" id="checkbox-hints" value="hints-off">
|
||||
<!-- The hint are removed for the current time -->
|
||||
<!--
|
||||
<input type="checkbox" name="checkboxes" id="checkbox-hints" value="hints-off">
|
||||
<label for="checkbox-hints" class="checkbox-label"
|
||||
title="Check to see an optional clue for your first playthrough based on your save's progress.">
|
||||
<!-- <input type="checkbox" name="checkboxes" id="checkbox-hints" value="hints-off" onclick="CheckboxHintsToggle();"> -->
|
||||
<span class="checkmark"></span><strong>Hints</strong>
|
||||
</label>
|
||||
</label>-->
|
||||
|
||||
<input type="checkbox" name="checkboxes" id="checkbox-spoilers" value="spoilers-off">
|
||||
<label for="checkbox-spoilers" class="checkbox-label"
|
||||
|
|
@ -151,35 +160,23 @@
|
|||
|
||||
<div style="margin-bottom: 20px;"></div>
|
||||
|
||||
<h6>Secrets!</h6>
|
||||
<!--<h6>Secrets!</h6>
|
||||
|
||||
<p class="smalltext">
|
||||
Did you know? You can press <strong>Ctrl + Shift + I</strong> and choose the <strong>Console Tab</strong> to view some extra secret
|
||||
data not currently shown in the tool. (after loading any save file)
|
||||
</p>
|
||||
</p>-->
|
||||
|
||||
<div style="margin-bottom: 20px;"></div>
|
||||
|
||||
<div class="hall-of-fame-border">
|
||||
|
||||
<h6 class="hall-of-fame">Analyzer Supporters</h6>
|
||||
<h6 class="hall-of-fame">Thank you</h6>
|
||||
|
||||
<p class="smalltext">
|
||||
<b class="pp-gold">Klaudia</b> (Lvl 45) -
|
||||
<b class="pp-silver">Rohit</b> (Lvl 7) -
|
||||
<b class="pp-silver">Dominic</b> (Lvl 6) -
|
||||
<b class="pp-silver">David</b> (Lvl 5) -
|
||||
<b class="pp-silver">Peter</b> (Lvl 5) -
|
||||
<b class="pp-silver">Ruben</b> (Lvl 5) -
|
||||
<b class="pp-bronze">AnonymousCanada</b> (Lvl 3) -
|
||||
<b class="pp-bronze">Mozzie</b> (Lvl 2)
|
||||
</p>
|
||||
Thank you <a href="https://github.com/ReznoRMichael/hollow-knight-completion-check"
|
||||
target="_blank">rezno[R]</a> for your hardwork and thank you to everyone who support this community
|
||||
|
||||
<p class="smalltext">
|
||||
You too can get immortalized here. <a href="https://www.paypal.me/ReznoRMichael" target="_blank"><i
|
||||
class="simpleicon-paypal"></i>Donate<i
|
||||
class="simpleicon-paypal"></i></a> at least $1 for the Analyzer!<br>
|
||||
Lvl indicates your amount of support.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
|
@ -187,15 +184,17 @@
|
|||
<div style="margin-bottom: 20px;"></div>
|
||||
|
||||
<p class="smalltext">
|
||||
v2.2.0. Work-In-Progress. Ideas & Bug Reports: <a
|
||||
v0.1.0. Work-In-Progress. <!--Ideas & 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
|
||||
class="simpleicon-steam"></i>Steam Guide</a>.<br>
|
||||
class="simpleicon-steam"></i>Steam Guide</a>.--><br>
|
||||
Programmed, written and created by 🉑 <a href="https://github.com/ReznoRMichael/hollow-knight-completion-check"
|
||||
target="_blank">rezno[R]</a> © 2020–2022<br>
|
||||
<a href="https://store.steampowered.com/app/367520/Hollow_Knight/" target="_blank">Hollow Knight</a> by <a
|
||||
href="https://teamcherry.com.au/" target="_blank">Team Cherry</a> © 2017–2022<br>
|
||||
Redesigned by <a href="https://github.com/Alba6rek/hollow-knight-silksong-completion-check"
|
||||
target="_blank">Alba6rek</a> © 2025<br>
|
||||
<a href="https://store.steampowered.com/app/1030300/Hollow_Knight_Silksong/" target="_blank">Hollow Knight: Silksong</a> by <a
|
||||
href="https://teamcherry.com.au/" target="_blank">Team Cherry</a> © 2017–2025<br>
|
||||
</p>
|
||||
|
||||
</div> <!-- end content -->
|
||||
|
|
|
|||
|
|
@ -1,458 +0,0 @@
|
|||
// ---------------- Hollow Knight Data Constant Objects ----------------- //
|
||||
/*
|
||||
This is the whole database for the tool, based on the .json save file data
|
||||
*/
|
||||
|
||||
const DIV_ID = {
|
||||
intro: {
|
||||
h2: "Game Status",
|
||||
id: "hk-intro",
|
||||
maxPercent: 112
|
||||
},
|
||||
hints: {
|
||||
h2: "My friend Elderbug once told me about...",
|
||||
id: "hk-hints",
|
||||
},
|
||||
bosses: {
|
||||
h2: "Bosses",
|
||||
id: "hk-bosses",
|
||||
percent: 0,
|
||||
maxPercent: 14
|
||||
},
|
||||
charms: {
|
||||
h2: "Charms",
|
||||
id: "hk-charms",
|
||||
percent: 0,
|
||||
maxPercent: 36
|
||||
},
|
||||
equipment: {
|
||||
h2: "Equipment",
|
||||
id: "hk-equipment",
|
||||
percent: 0,
|
||||
maxPercent: 14
|
||||
},
|
||||
nailUpgrades: {
|
||||
h2: "Nail Upgrades",
|
||||
id: "hk-nailupgrades",
|
||||
percent: 0,
|
||||
maxPercent: 4
|
||||
},
|
||||
nailArts: {
|
||||
h2: "Nail Arts",
|
||||
id: "hk-nailarts",
|
||||
percent: 0,
|
||||
maxPercent: 3
|
||||
},
|
||||
spells: {
|
||||
h2: "Spells",
|
||||
id: "hk-spells",
|
||||
percent: 0,
|
||||
maxPercent: 6
|
||||
},
|
||||
maskShards: {
|
||||
h2: "Mask Shards",
|
||||
id: "hk-maskshards",
|
||||
percent: 0,
|
||||
maxPercent: 4
|
||||
},
|
||||
vesselFragments: {
|
||||
h2: "Vessel Fragments",
|
||||
id: "hk-vesselfragments",
|
||||
percent: 0,
|
||||
maxPercent: 3
|
||||
},
|
||||
dreamNail: {
|
||||
h2: "Dream Nail and Essence",
|
||||
id: "hk-dreamnail",
|
||||
percent: 0,
|
||||
maxPercent: 3
|
||||
},
|
||||
warriorDreams: {
|
||||
h2: "Warrior Dreams",
|
||||
id: "hk-warriordreams",
|
||||
percent: 0,
|
||||
maxPercent: 7
|
||||
},
|
||||
dreamers: {
|
||||
h2: "Dreamers",
|
||||
id: "hk-dreamers",
|
||||
percent: 0,
|
||||
maxPercent: 3
|
||||
},
|
||||
colosseum: {
|
||||
h2: "Colosseum of Fools",
|
||||
id: "hk-colosseum",
|
||||
percent: 0,
|
||||
maxPercent: 3
|
||||
},
|
||||
grimmTroupe: {
|
||||
h2: "Grimm Troupe Content Pack",
|
||||
id: "hk-grimmtroupe",
|
||||
percent: 0,
|
||||
maxPercent: 6
|
||||
},
|
||||
lifeblood: {
|
||||
h2: "Lifeblood Content Pack",
|
||||
id: "hk-lifeblood",
|
||||
percent: 0,
|
||||
maxPercent: 1
|
||||
},
|
||||
godmaster: {
|
||||
h2: "Godmaster Content Pack",
|
||||
id: "hk-godmaster",
|
||||
percent: 0,
|
||||
maxPercent: 5
|
||||
},
|
||||
essential: {
|
||||
h2: "Game Completion Essentials",
|
||||
id: "hk-essential"
|
||||
},
|
||||
achievements: {
|
||||
h2: "Achievements Essentials",
|
||||
id: "hk-achievements"
|
||||
},
|
||||
statistics: {
|
||||
h2: "Game Statistics",
|
||||
id: "hk-statistics"
|
||||
}
|
||||
};
|
||||
|
||||
const HINTS = {
|
||||
fireballLevel: ["", "...a mysterious shaman living in a dwelling below the town of Dirtmouth"],
|
||||
hornet1Defeated: ["", "...a skilled protector guarding ruins in a lush green forest"],
|
||||
hasDash: ["", "...an old cloak lying on a green path near a broken shell"],
|
||||
hasWalljump: ["", "...a sharp claw lying forgotten somewhere amidst the insect village"],
|
||||
Crossroads_04: ["", "...a mother sleeping peacefully below the town of Dirtmouth"],
|
||||
slyRescued: ["", "...a fellow town bug who seems to be lost somewhere in the crossroads"],
|
||||
hasLantern: ["", "...a precious item able to carry some light to even the darkest places"],
|
||||
hasSuperDash: ["", "...some powerful crystal beating somewhere deep inside the mines"],
|
||||
hasDreamNail: ["", "...a weapon from a dream world only found where the souls can peacefully rest"],
|
||||
killedInfectedKnight: ["", "...a shattered corpse forgotten in a windy cave in the ancient depths below the city"],
|
||||
hasDoubleJump: ["", "...something incredibly light dropped by a monarchfly in the ancient depths below the city"],
|
||||
killedBlackKnight: ["", "...discarded shells of black guards lying on the floor of a high spire"],
|
||||
lurienDefeated: ["", "...a dreamer sleeping somewhere at the top of a high spire"],
|
||||
dungDefenderOrHornet2: ["", "...a skilled combatant living at the heart of the sewers or watching over a shell amidst ash falling from the sky"],
|
||||
ismaTearOrShadeCloak: ["", "...something precious in a grove accessed from the waterways or a massive royal door guarding a cloak behind the darkness"],
|
||||
defeatedMegaJelly: ["", "...an intelligent being floating inside hidden archives behind the fog"],
|
||||
monomonDefeated: ["", "...a dreamer sleeping somewhere hidden in a foggy area"],
|
||||
hegemolDefeated: ["", "...a dreamer sleeping near a spider nest area"],
|
||||
killedHollowKnight: ["", "...a disturbance inside a black temple"],
|
||||
};
|
||||
|
||||
const BOSSES = {
|
||||
falseKnightDefeated: ["False Knight", "Forgotten Crossroads"], // "Battle Scene" - "Crossroads_10" ?
|
||||
hornet1Defeated: ["Hornet Protector", "Greenpath"],
|
||||
defeatedDungDefender: ["Dung Defender", "Royal Waterways"],
|
||||
mageLordDefeated: ["Soul Master", "City of Tears: Soul Sanctum"],
|
||||
killedBlackKnight: ["Watcher Knights", "City of Tears: Watcher's Spire"],
|
||||
collectorDefeated: ["The Collector", "City of Tears: Tower of Love"],
|
||||
defeatedMantisLords: ["Mantis Lords", "Mantis Village"],
|
||||
defeatedMegaJelly: ["Uumuu", "Fog Canyon: Teacher's Archives"],
|
||||
hornetOutskirtsDefeated: ["Hornet Sentinel", "Kingdom's Edge"],
|
||||
killedInfectedKnight: ["Broken Vessel", "Ancient Basin"],
|
||||
killedMimicSpider: ["Nosk", "Deepnest"], // "Battle Scene" - "Deepnest_32" ?
|
||||
killedTraitorLord: ["Traitor Lord", "Queen's Gardens"] // "Battle Scene" - "Fungus3_23" ?
|
||||
};
|
||||
|
||||
// "Battle Scene" sceneData.persistentBoolItems.id
|
||||
const BOSSES_WORLD = {
|
||||
Crossroads_04: ["Gruz Mother", "Forgotten Crossroads"], // killedBigFly
|
||||
Crossroads_09: ["Brooding Mawlek", "Forgotten Crossroads"] // killedMawlek
|
||||
};
|
||||
|
||||
// reference: https://radiance.host/apidocs/Charms.html
|
||||
const CHARMS = {
|
||||
gotCharm_1: ["#1 Gathering Swarm", "Sly: 300 Geo"], // 1
|
||||
gotCharm_2: ["#2 Wayward Compass", "Iselda: 220 Geo"], // 1
|
||||
gotCharm_3: ["#3 Grubsong", "Grubfather: 10 Grubs rescued"], // 1
|
||||
gotCharm_4: ["#4 Stalwart Shell", "Sly: 200 Geo"], // 2
|
||||
gotCharm_5: ["#5 Baldur Shell", "Howling Cliffs"], // 2
|
||||
gotCharm_6: ["#6 Fury of the Fallen", "King's Pass"], // 2
|
||||
gotCharm_7: ["#7 Quick Focus", "Salubra: 800 Geo"], // 3
|
||||
gotCharm_8: ["#8 Lifeblood Heart", "Salubra: 250 Geo"], // 2
|
||||
gotCharm_9: ["#9 Lifeblood Core", "The Abyss: 15 Lifeblood masks"], // 3
|
||||
gotCharm_10: ["#10 Defender's Crest", "Royal Waterways"], // 1
|
||||
gotCharm_11: ["#11 Flukenest", "Royal Waterways"], // 3
|
||||
gotCharm_12: ["#12 Thorns of Agony", "Greenpath"], // 1
|
||||
gotCharm_13: ["#13 Mark of Pride", "Mantis Village"], // 3
|
||||
gotCharm_14: ["#14 Steady Body", "Salubra: 120 Geo"], // 1
|
||||
gotCharm_15: ["#15 Heavy Blow", "Sly: 350 Geo + Shopkeeper's Key"], // 2
|
||||
gotCharm_16: ["#16 Sharp Shadow", "Deepnest"], // 2
|
||||
gotCharm_17: ["#17 Spore Shroom", "Fungal Wastes"], // 1
|
||||
gotCharm_18: ["#18 Longnail", "Salubra: 300 Geo"], // 2
|
||||
gotCharm_19: ["#19 Shaman Stone", "Salubra: 220 Geo"], // 3
|
||||
gotCharm_20: ["#20 Soul Catcher", "Forgotten Crossroads: Ancestral Mound"], // 2
|
||||
gotCharm_21: ["#21 Soul Eater", "Resting Grounds"], // 4
|
||||
gotCharm_22: ["#22 Glowing Womb", "Forgotten Crossroads"], // 2
|
||||
gotCharm_23: ["#23 Fragile Heart", "Leg Eater: 350/280 Geo"], // 2
|
||||
gotCharm_24: ["#24 Fragile Greed", "Leg Eater: 250/200 Geo"], // 2
|
||||
gotCharm_25: ["#25 Fragile Strength", "Leg Eater: 600/480 Geo"], // 3
|
||||
gotCharm_26: ["#26 Nailmaster’s Glory", "Sly: All Nail Arts"], // 1
|
||||
gotCharm_27: ["#27 Joni’s Blessing", "Howling Cliffs: Joni's Repose"], // 4
|
||||
gotCharm_28: ["#28 Shape of Unn", "Greenpath: Lake of Unn"], // 2
|
||||
gotCharm_29: ["#29 Hiveblood", "The Hive"], // 4
|
||||
gotCharm_30: ["#30 Dream Wielder", "Seer: 500 Essence"], // 1
|
||||
gotCharm_31: ["#31 Dashmaster", "Fungal Wastes"], // 2
|
||||
gotCharm_32: ["#32 Quick Slash", "Kingdom's Edge"], // 3
|
||||
gotCharm_33: ["#33 Spell Twister", "City of Tears: Soul Sanctum"], // 2
|
||||
gotCharm_34: ["#34 Deep Focus", "Crystal Peak"], // 4
|
||||
gotCharm_35: ["#35 Grubberfly’s Elegy", "Grubfather: 46 Grubs rescued"], // 3
|
||||
gotCharm_36: ["#36 Kingsoul", "Queen's Gardens + Ancient Basin"], // 5
|
||||
};
|
||||
|
||||
const COLOSSEUM = {
|
||||
colosseumBronzeCompleted: ["Trial of the Warrior", "Little Fool: 100 Geo"],
|
||||
colosseumSilverCompleted: ["Trial of the Conqueror", "Little Fool: 450 Geo + Warrior completed"],
|
||||
colosseumGoldCompleted: ["Trial of the Fool", "Little Fool: 800 Geo + Conqueror completed"],
|
||||
};
|
||||
|
||||
const DREAMERS = {
|
||||
lurienDefeated: ["Lurien the Watcher", "City of Tears: Watcher's Spire"],
|
||||
monomonDefeated: ["Monomon the Teacher", "Fog Canyon: Teacher's Archives"],
|
||||
hegemolDefeated: ["Herrah the Beast", "Deepnest: Distant Village"]
|
||||
};
|
||||
|
||||
const DREAMNAIL = {
|
||||
hasDreamNail: ["Dream Nail acquired", "Resting Grounds"],
|
||||
dreamNailUpgraded: ["Awoken Dream Nail", "Seer: 1800 Essence"],
|
||||
mothDeparted: ["Hear the Seer's final words", "Seer: 2400 Essence"]
|
||||
};
|
||||
|
||||
const EQUIPMENT = {
|
||||
hasDash: ["Mothwing Cloak", "Greenpath: Dash ability"],
|
||||
hasWalljump: ["Mantis Claw", "Mantis Village: Wall Jump ability"],
|
||||
hasSuperDash: ["Crystal Heart", "Crystal Peak: Super Dash ability"],
|
||||
hasDoubleJump: ["Monarch Wings", "Ancient Basin: Double Jump ability"],
|
||||
hasAcidArmour: ["Isma's Tear", "Royal Waterways: Acid Armour ability"],
|
||||
hasKingsBrand: ["King's Brand", "Kingdom's Edge"],
|
||||
hasShadowDash: ["Shade Cloak", "The Abyss: Shadow Dash ability"]
|
||||
};
|
||||
|
||||
const MASKSHARDS = {
|
||||
slyShellFrag1: ["Mask Shard #1", "Sly: 150 Geo"],
|
||||
slyShellFrag2: ["Mask Shard #2", "Sly: 500 Geo"],
|
||||
slyShellFrag3: ["Mask Shard #3", "Sly: 800 Geo + Shopkeeper's Key"],
|
||||
slyShellFrag4: ["Mask Shard #4", "Sly: 1500 Geo + Shopkeeper's Key"],
|
||||
dreamReward7: ["Mask Shard #5", "Seer: 1500 Essence"]
|
||||
};
|
||||
|
||||
// "Heart Piece" sceneData.persistentBoolItems.id
|
||||
const MASKSHARDS_WORLD = {
|
||||
Crossroads_13: ["Mask Shard #6", "Forgotten Crossroads: below Hot Springs"],
|
||||
Crossroads_09: ["Mask Shard #7", "Forgotten Crossroads: Brooding Mawlek"],
|
||||
Crossroads_38: ["Mask Shard #8", "Grubfather: 5 Grubs rescued"],
|
||||
Room_Bretta: ["Mask Shard #9", "Dirtmouth: Bretta's Room, rescue Bretta"],
|
||||
Fungus2_01: ["Mask Shard #10", "Queen's Station, requires Mantis Claw"],
|
||||
Waterways_04b: ["Mask Shard #11", "Royal Waterways"],
|
||||
Fungus1_36: ["Mask Shard #12", "Greenpath: Stone Sanctuary"],
|
||||
Mines_32: ["Mask Shard #13", "Crystal Peak: Enraged Guardian"],
|
||||
Fungus2_25: ["Mask Shard #14", "Deepnest: entrance from Fungal Wastes"],
|
||||
Hive_04: ["Mask Shard #15", "The Hive, use Hive Guardian"],
|
||||
Room_Mansion: ["Mask Shard #16", "Resting Grounds: Delicate Flower"]
|
||||
};
|
||||
|
||||
const VESSELFRAGMENTS = {
|
||||
slyVesselFrag1: ["Vessel Fragment #1", "Sly: 550 Geo"],
|
||||
slyVesselFrag2: ["Vessel Fragment #2", "Sly: 900 Geo + Shopkeeper's Key"],
|
||||
dreamReward5: ["Vessel Fragment #3", "Seer: 700 Essence"],
|
||||
vesselFragStagNest: ["Vessel Fragment #4", "Stag Nest"]
|
||||
};
|
||||
|
||||
// "Vessel Fragment" sceneData.persistentBoolItems.id
|
||||
const VESSELFRAGMENTS_WORLD = {
|
||||
Fungus1_13: ["Vessel Fragment #5", "Greenpath: near Queen's Gardens exit"],
|
||||
Crossroads_37: ["Vessel Fragment #6", "Forgotten Crossroads: unlock City of Tears lift"],
|
||||
Ruins2_09: ["Vessel Fragment #7", "Above King's Station"],
|
||||
Deepnest_38: ["Vessel Fragment #8", "Deepnest: Goam platforming challenge"],
|
||||
Abyss_04: ["Vessel Fragment #9", "Ancient Basin Fountain: 3000 Geo"]
|
||||
};
|
||||
|
||||
const NAILARTS = {
|
||||
hasDashSlash: ["Great Slash", "Nailmaster Sheo: Greenpath"], // this is correct
|
||||
hasUpwardSlash: ["Dash Slash", "Nailmaster Oro: Kingdom's Edge, 800 Geo"], // this is correct
|
||||
hasCyclone: ["Cyclone Slash", " Nailmaster Mato: Howling Cliffs"],
|
||||
};
|
||||
|
||||
const NAILUPGRADES = [
|
||||
["#0 Old Nail", "Starting Weapon"],
|
||||
["#1 Sharpened Nail", "Nailsmith: 250 Geo"],
|
||||
["#2 Channeled Nail", "Nailsmith: 800 Geo + 1 Pale Ore"],
|
||||
["#3 Coiled Nail", "Nailsmith: 2000 Geo + 2 Pale Ore"],
|
||||
["#4 Pure Nail", "Nailsmith: 4000 Geo + 3 Pale Ore"]
|
||||
];
|
||||
|
||||
const SPELLS = {
|
||||
fireballLevel: {
|
||||
1: ["Vengeful Spirit", "Forgotten Crossroads: Ancestral Mound"],
|
||||
2: ["Shade Soul", "City of Tears: Soul Sanctum + Elegant Key"],
|
||||
},
|
||||
quakeLevel: {
|
||||
1: ["Desolate Dive", "City of Tears: Soul Sanctum"],
|
||||
2: ["Descending Dark", "Crystal Peak: Crystallised Mound"],
|
||||
},
|
||||
screamLevel: {
|
||||
1: ["Howling Wraiths", "Fog Canyon: Overgrown Mound"],
|
||||
2: ["Abyss Shriek", "The Abyss"],
|
||||
}
|
||||
};
|
||||
|
||||
const WARRIORDREAMS = {
|
||||
xeroDefeated: ["Xero", "Resting Grounds"],
|
||||
noEyesDefeated: ["No Eyes", "Greenpath: Stone Sanctuary"],
|
||||
elderHuDefeated: ["Elder Hu", "Fungal Wastes"],
|
||||
aladarSlugDefeated: ["Gorb", "Howling Cliffs"],
|
||||
mumCaterpillarDefeated: ["Marmu", "Queen's Gardens"],
|
||||
galienDefeated: ["Galien", "Deepnest"],
|
||||
markothDefeated: ["Markoth", "Kingdom's Edge, requires Shade Cloak"],
|
||||
};
|
||||
|
||||
const GRIMMTROUPE = {
|
||||
gotCharm_37: ["Charm #37 Sprintmaster", "Sly: 400 Geo + Shopkeeper's Key"],
|
||||
gotCharm_38: ["Charm #38 Dreamshield", "Resting Grounds"],
|
||||
gotCharm_39: ["Charm #39 Weaversong", "Deepnest: Weaver's Den"],
|
||||
gotCharm_40: ["Charm #40 Grimmchild / Carefree Melody", "Dirtmouth"],
|
||||
killedGrimm: ["Troupe Leader Grimm", "Dirtmouth"]
|
||||
};
|
||||
|
||||
const LIFEBLOOD = {
|
||||
killedHiveKnight: ["Hive Knight", "The Hive"]
|
||||
};
|
||||
|
||||
const GODMASTER = {
|
||||
hasGodfinder: ["Godtuner", "Junk Pit, requires Simple Key"]
|
||||
};
|
||||
|
||||
const GODMASTER_DOORS = [
|
||||
["#1 Pantheon of the Master", "Godhome"],
|
||||
["#2 Pantheon of the Artist", "Godhome"],
|
||||
["#3 Pantheon of the Sage", "Godhome"],
|
||||
["#4 Pantheon of the Knight", "Godhome"]
|
||||
];
|
||||
|
||||
const ESSENTIAL = {
|
||||
grubsCollected: ["Grubs Rescued", "out of 46 total", 46],
|
||||
dreamOrbs: ["Essence Collected", "Dream Nail (2400 for completion)", 2400],
|
||||
stationsOpened: ["Stag Stations opened", "out of 10 total", 10],
|
||||
fountainGeo: ["Geo in Fountain", "Ancient Basin: 3000 Geo maximum", 3000],
|
||||
slyRescued: ["Sly Rescued", "Forgotten Crossroads, near Gruz Mother"],
|
||||
brettaRescued: ["Bretta Rescued", "Fungal Wastes, near Dashmaster charm statue"],
|
||||
hasLantern: ["Lumafly Lantern", "Sly: 1800 Geo"],
|
||||
shopkeeperKey: ["Shopkeeper's Key", "Crystal Peak"],
|
||||
elegantKey: ["Elegant Key", "Sly: 800 Geo + Shopkeeper's Key"],
|
||||
loveKey: ["Love Key", "Queen's Gardens, near Fungal Wastes"],
|
||||
slySimpleKey: ["Simple Key #1", "Sly: 950 Geo"],
|
||||
simpleKeyCityOfTears: ["Simple Key #2", "City of Tears"],
|
||||
simpleKeyAncientBasin: ["Simple Key #3", "Ancient Basin"],
|
||||
gotLurkerKey: ["Simple Key #4", "Kingdom's Edge: Colosseum of Fools"],
|
||||
paleOreAncientBasin: ["Pale Ore #1", "Ancient Basin"],
|
||||
paleOreSeer: ["Pale Ore #2", "Seer: 300 Essence"],
|
||||
paleOreCrystalPeak: ["Pale Ore #3", "Crystal Peak: Hallownest's Crown"],
|
||||
paleOreDeepnest: ["Pale Ore #4", "Deepnest, Nosk reward"],
|
||||
paleOreGrubfather: ["Pale Ore #5", "Grubfather: 31 Grubs rescued"],
|
||||
paleOreColosseum: ["Pale Ore #6", "Colosseum of Fools: Trial of the Conqueror"],
|
||||
hasTramPass: ["Tram Pass", "Deepnest, Failed Tramway"],
|
||||
nightmareLanternLit: ["Nightmare Lantern Lit", "Howling Cliffs, corpse of a large bug"]
|
||||
};
|
||||
|
||||
const GRUBS_LIST = ["Crossroads_35", "Crossroads_03", "Crossroads_05", "Crossroads_48", "Crossroads_31", "Fungus1_06", "Fungus1_07", "Fungus1_21", "Fungus1_28", "Fungus2_18", "Ruins1_05", "Mines_04", "Mines_03", "Mines_31", "Mines_19", "Ruins1_32", "RestingGrounds_10", "Ruins_House_01", "Mines_35", "Mines_16", "Waterways_04", "Waterways_13", "Abyss_19", "Abyss_17", "Mines_24", "Fungus1_13", "Fungus3_47", "Fungus3_10", "Fungus3_48", "Fungus3_22", "Ruins2_07", "Ruins2_11_1", "Ruins2_11_2", "Ruins2_11_3", "Deepnest_East_11", "Deepnest_East_14", "Fungus2_20", "Ruins2_03", "Deepnest_36", "Deepnest_03", "Deepnest_31", "Deepnest_39", "Deepnest_Spider_Town", "Waterways_14", "Hive_03", "Hive_04"];
|
||||
|
||||
const ACHIEVEMENTS = {
|
||||
areaMaps: ["Area Maps", "Cornifer and Iselda (out of 13)", 13, [
|
||||
"mapCrossroads", "mapGreenpath", "mapFogCanyon", "mapRoyalGardens", "mapFungalWastes", "mapCity", "mapWaterways", "mapMines", "mapDeepnest", "mapCliffs", "mapOutskirts", "mapRestingGrounds", "mapAbyss"
|
||||
]],
|
||||
journalEntriesCompleted: ["Creatures Encountered", "Hunter's Journal (164 max)", 164],
|
||||
journalNotesCompleted: ["Hunter Notes Completed", "Hunter's Journal (164 max)", 164],
|
||||
hasJournal: ["Hunter's Journal", "Greenpath: Hunter"],
|
||||
hasHuntersMark: ["Hunter's Mark", "Greenpath: Hunter"],
|
||||
killedPrayerSlug: ["Journal: Maggot", "Forgotten Crossroads: False Knight secret room"],
|
||||
killedOrangeScuttler: ["Journal: Lightseed", "Infected Crossroads"],
|
||||
killedPigeon: ["Journal: Maskfly", "Greenpath, Queen's Gardens"],
|
||||
killedLazyFlyer: ["Journal: Aluba", "Lake of Unn, Queen's Gardens (near White Lady)"],
|
||||
killedAcidFlyer: ["Journal: Duranda", "Greenpath: Nailmaster Sheo's tent path"],
|
||||
killedAcidWalker: ["Journal: Durandoo", "Greenpath, Queen's Gardens"],
|
||||
killedPlantShooter: ["Journal: Gulka", "Greenpath: west of Stone Sanctuary"],
|
||||
killedMushroomTurret: ["Journal: Sporg", "Fungal Wastes"],
|
||||
killedZapBug: ["Journal: Charged Lumafly", "Fog Canyon: Teacher's Archives (tank)"],
|
||||
killedCrystalCrawler: ["Journal: Crystal Crawler", "Crystal Peak"],
|
||||
killedGorgeousHusk: ["Journal: Gorgeous Husk", "City of Tears: secret room"],
|
||||
killedWorm: ["Journal: Goam", "Infected Crossroads: near Fungal Wastes entrance"],
|
||||
killedBigCentipede: ["Journal: Garpede", "Deepnest: east of Hot Spring"],
|
||||
killedAbyssTendril: ["Journal: Void Tendrils", "The Abyss: secret room"],
|
||||
killedPaleLurker: ["Journal: Pale Lurker", "Colosseum of Fools: secret area"],
|
||||
falseKnightDreamDefeated: ["Failed Champion", "Forgotten Crossroads"],
|
||||
mageLordDreamDefeated: ["Soul Tyrant", "City of Tears: Soul Sanctum"],
|
||||
infectedKnightDreamDefeated: ["Lost Kin", "Ancient Basin"],
|
||||
whiteDefenderDefeated: ["White Defender", "Royal Waterways"],
|
||||
greyPrinceDefeated: ["Grey Prince Zote", "Dirtmouth: Bretta's Room (per save choice)"],
|
||||
killedHollowKnight: ["Hollow Knight", "Forgotten Crossroads: Black Egg Temple"],
|
||||
salubraBlessing: ["Salubra's Blessing", "Salubra: 800 Geo + all 40 Charms found"],
|
||||
gotShadeCharm: ["Void Heart", "Kingsoul + Birthplace"],
|
||||
killedFinalBoss: ["Radiance", "Forgotten Crossroads: Black Egg Temple"],
|
||||
bossDoorStateTier5: ["Embrace the Void", "Godhome: Pantheon of Hallownest"],
|
||||
zoteDead: ["Optimal Zote", "Neglect achievement (per save choice)"],
|
||||
nailsmithSpared: ["Optimal Nailsmith", "Happy Couple achievement (per save choice)"],
|
||||
};
|
||||
|
||||
const STATISTICS = {
|
||||
nailDamage: ["Nail Damage", "Nailsmith upgrades, City of Tears", 21],
|
||||
charmSlots: ["Charm Notches", "out of 11 total", 11],
|
||||
whisperingRoots: ["Whispering Roots completed", "Dream Nail (out of 15)", 15],
|
||||
relicsWandererJournal: ["Relic #1 found total", "Wanderer's Journal (out of 14)", 14, "trinket1", "soldTrinket1"],
|
||||
relicsHallownestSeal: ["Relic #2 found total", "Hallownest Seal (out of 17)", 17, "trinket2", "soldTrinket2"],
|
||||
relicsKingsIdol: ["Relic #3 found total", "King's Idol (out of 8)", 8, "trinket3", "soldTrinket3"],
|
||||
relicsArcaneEgg: ["Relic #4 found total", "Arcane Egg (4 max, 1 missable)", 4, "trinket4", "soldTrinket4"],
|
||||
geoRocks: ["Geo Rocks", "Unbroken/Broken/Discovered Total"],
|
||||
geoPool: ["Shade Geo", "Amount of Geo the Shade is currently holding", 0], // not ghostCoins
|
||||
rancidEggs: ["Rancid Eggs", "Find: Hallownest, Buy: Sly, Tuk"],
|
||||
xunFlowerBrokeTimes: ["Delicate Flowers broken", "Resting Grounds: Grey Mourner"],
|
||||
notchShroomOgres: ["Charm Notch #1", "Fungal Wastes: Shroom Ogres room"],
|
||||
salubraNotch1: ["Charm Notch #2", "Salubra: 120 Geo + 5 Charms found"],
|
||||
salubraNotch2: ["Charm Notch #3", "Salubra: 500 Geo + 10 Charms found"],
|
||||
salubraNotch3: ["Charm Notch #4", "Salubra: 900 Geo + 18 Charms found"],
|
||||
salubraNotch4: ["Charm Notch #5", "Salubra: 1400 Geo + 25 Charms found"],
|
||||
colosseumBronzeCompleted: ["Charm Notch #6", "Colosseum of Fools: Trial of the Warrior"],
|
||||
notchFogCanyon: ["Charm Notch #7", "Fog Canyon: explosive eggs room"],
|
||||
gotGrimmNotch: ["Charm Notch #8", "Dirtmouth: Troupe Leader Grimm"],
|
||||
hasDreamGate: ["Dream Gate", "Seer: 900 Essence"],
|
||||
fragileGreed_unbreakable: ["Unbreakable Greed", "Divine: Fragile Greed + 9000 Geo"],
|
||||
fragileHealth_unbreakable: ["Unbreakable Heart", "Divine: Fragile Heart + 12000 Geo"],
|
||||
fragileStrength_unbreakable: ["Unbreakable Strength", "Divine: Fragile Strength + 15000 Geo"],
|
||||
killedMenderBug: ["Journal: Menderbug", "Forgotten Crossroads + destroy sign"],
|
||||
killedBindingSeal: ["Journal: Seal of Binding", "White Palace: Path of Pain completion"],
|
||||
killedGodseekerMask: ["Journal: Weathered Mask", "Godhome: Land of Storms"],
|
||||
killedVoidIdol_1: ["Journal: Void Idol Attuned", "Godhome: Hall of Gods, defeat all"],
|
||||
killedVoidIdol_2: ["Journal: Void Idol Ascended", "Godhome: Hall of Gods, defeat all"],
|
||||
killedVoidIdol_3: ["Journal: Void Idol Radiant", "Godhome: Hall of Gods, defeat all"],
|
||||
whiteDefenderDefeats: ["White Defender times defeated", "Royal Waterways (5 max)", 5],
|
||||
greyPrinceDefeats: ["Grey Prince Zote times defeated", "Dirtmouth (10 max)", 10],
|
||||
whitePalaceSecretRoomVisited: ["White Palace Secret Room visited", "Help identify this room!"],
|
||||
killsBindingSeal: ["Path of Pain", "White Palace: main secret area"],
|
||||
};
|
||||
|
||||
export {
|
||||
DIV_ID,
|
||||
HINTS,
|
||||
BOSSES,
|
||||
BOSSES_WORLD,
|
||||
CHARMS,
|
||||
EQUIPMENT,
|
||||
NAILARTS,
|
||||
NAILUPGRADES,
|
||||
SPELLS,
|
||||
MASKSHARDS,
|
||||
MASKSHARDS_WORLD,
|
||||
VESSELFRAGMENTS,
|
||||
VESSELFRAGMENTS_WORLD,
|
||||
DREAMERS,
|
||||
COLOSSEUM,
|
||||
DREAMNAIL,
|
||||
WARRIORDREAMS,
|
||||
GRIMMTROUPE,
|
||||
LIFEBLOOD,
|
||||
GODMASTER,
|
||||
GODMASTER_DOORS,
|
||||
ESSENTIAL,
|
||||
GRUBS_LIST,
|
||||
ACHIEVEMENTS,
|
||||
STATISTICS
|
||||
};
|
||||
1
stage/app.js.LICENSE.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 15 KiB |
BIN
stage/img/273bc0830d455f7a31b2.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 234 KiB |
BIN
stage/img/7719057db1b84cbb040a.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
stage/img/c5450eb6dbdc31fef81d.jpg
Normal file
|
After Width: | Height: | Size: 154 KiB |