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)); 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) { function CheckHuntersJournal(db, playerData) {
var section = db.sections.huntersJournal; var section = db.sections.huntersJournal;
@ -1520,8 +1526,10 @@ function CheckHuntersJournal(db, playerData) {
for (var entry in entries) { for (var entry in entries) {
name = entries[entry].nameDefault; name = entries[entry].nameDefault;
nameDefault = entries[entry].nameDefault; nameDefault = entries[entry].nameDefault;
amountKillsLeft = playerData["kills".concat(entry)];
entries[entry].name = nameDefault; 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 */ /* When killed at least 1, the entry has a gray symbol */
if (playerData["killed".concat(entry)] === true) { if (playerData["killed".concat(entry)] === true) {
@ -1540,6 +1548,14 @@ function CheckHuntersJournal(db, playerData) {
name += " (".concat(amountKillsLeft, ")"); name += " (".concat(amountKillsLeft, ")");
entries[entry].name = name; 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) { function CheckHuntersJournal(db, playerData) {
let section = db.sections.huntersJournal; let section = db.sections.huntersJournal;
@ -1616,10 +1621,13 @@ function CheckHuntersJournal(db, playerData) {
name = entries[entry].nameDefault; name = entries[entry].nameDefault;
nameDefault = entries[entry].nameDefault; nameDefault = entries[entry].nameDefault;
amountKillsLeft = playerData[`kills${entry}`];
entries[entry].name = nameDefault; entries[entry].name = nameDefault;
if (playerData.hasOwnProperty(`kills${entry}`)) {
amountKillsLeft = playerData[`kills${entry}`];
/* When killed at least 1, the entry has a gray symbol */ /* When killed at least 1, the entry has a gray symbol */
if (playerData[`killed${entry}`] === true) { if (playerData[`killed${entry}`] === true) {
@ -1642,6 +1650,15 @@ function CheckHuntersJournal(db, playerData) {
name += ` (${amountKillsLeft})`; name += ` (${amountKillsLeft})`;
entries[entry].name = name; 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);
}
} }
} }