add backwards compatibility with early saves

This commit is contained in:
ReznoRMichael 2021-07-26 20:02:18 +02:00
parent c5c8675682
commit 546d5d5df5
3 changed files with 66 additions and 33 deletions

View file

@ -1509,6 +1509,12 @@ function CheckMrMushroomState(section, entry) {
CurrentDataFalse(section, "mrMushroomState".concat(entry.state));
}
}
/**
* Checks and marks all the Hunter's Journal creatures entries with amounts, partial completion etc.
* @param {object} db Reference to the HK database
* @param {object} playerData Reference to the player's save data
*/
function CheckHuntersJournal(db, playerData) {
var section = db.sections.huntersJournal;
@ -1520,8 +1526,10 @@ function CheckHuntersJournal(db, playerData) {
for (var entry in entries) {
name = entries[entry].nameDefault;
nameDefault = entries[entry].nameDefault;
amountKillsLeft = playerData["kills".concat(entry)];
entries[entry].name = nameDefault;
if (playerData.hasOwnProperty("kills".concat(entry))) {
amountKillsLeft = playerData["kills".concat(entry)];
/* When killed at least 1, the entry has a gray symbol */
if (playerData["killed".concat(entry)] === true) {
@ -1540,6 +1548,14 @@ function CheckHuntersJournal(db, playerData) {
name += " (".concat(amountKillsLeft, ")");
entries[entry].name = name;
}
/* Earlier save files backwards compatibility (no undefined) */
} else {
amountKillsLeft = 0;
entries[entry].disabled = true;
entries[entry].name = name;
CurrentDataBlank(section, entry);
}
}
}
/**

File diff suppressed because one or more lines are too long

View file

@ -1604,6 +1604,11 @@ function CheckMrMushroomState(section, entry, mrMushroomState = 0) {
}
}
/**
* Checks and marks all the Hunter's Journal creatures entries with amounts, partial completion etc.
* @param {object} db Reference to the HK database
* @param {object} playerData Reference to the player's save data
*/
function CheckHuntersJournal(db, playerData) {
let section = db.sections.huntersJournal;
@ -1616,10 +1621,13 @@ function CheckHuntersJournal(db, playerData) {
name = entries[entry].nameDefault;
nameDefault = entries[entry].nameDefault;
amountKillsLeft = playerData[`kills${entry}`];
entries[entry].name = nameDefault;
if (playerData.hasOwnProperty(`kills${entry}`)) {
amountKillsLeft = playerData[`kills${entry}`];
/* When killed at least 1, the entry has a gray symbol */
if (playerData[`killed${entry}`] === true) {
@ -1642,6 +1650,15 @@ function CheckHuntersJournal(db, playerData) {
name += ` (${amountKillsLeft})`;
entries[entry].name = name;
}
/* Earlier save files backwards compatibility (no undefined) */
} else {
amountKillsLeft = 0;
entries[entry].disabled = true;
entries[entry].name = name;
CurrentDataBlank(section, entry);
}
}
}