diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index e7450539b16cc3d10349ddda25dff2f55737269a..218dcf52171c1f9b2c4c25fa21a054641eecd21c 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -61,8 +61,8 @@ App.Update.backwardsCompatibility = function() { div = App.UI.DOM.appendNewElement("div", f, `Updating global variables... `); App.Update.globalVariables(div); - div = App.UI.DOM.appendNewElement("div", f, `Updating slave variables... `); - App.Update.slaveVariables(div); + div = App.UI.DOM.appendNewElement("div", f, `Checking slave record type, updating indices... `); + App.Update.slaveIndices(div); div = App.UI.DOM.appendNewElement("div", f, `Updating slave records... `); App.Update.slaveRecords(div); @@ -1344,50 +1344,40 @@ App.Update.globalVariables = function(node) { node.append(`Done!`); }; -App.Update.slaveVariables = function(node) { - /* Adding a new variable? Consider putting it in datatypeCleanupJS.tw instead of here */ +App.Update.slaveIndices = function(node) { for (let bci = 0; bci < V.slaves.length; bci++) { - let Slave = V.slaves[bci]; - - if (typeof Slave !== "object") { + if (typeof V.slaves[bci] !== "object") { V.slaves.deleteAt(bci); bci--; continue; } - - App.Update.Slave(Slave); - - V.slaves[bci] = Slave; } V.slaveIndices = slaves2indices(); node.append(`Done!`); }; App.Update.slaveRecords = function(node) { - V.slaves.forEach((slave) => { + const detachedSlaves = [ + V.hostage, + V.slaveAfterRA, + V.boomerangSlave, + V.traitor, + V.shelterSlave + ]; + + const updateRecord = (slave) => { + App.Update.Slave(slave); App.Entity.Utils.SlaveDataSchemeCleanup(slave); SlaveDatatypeCleanup(slave); - }); - if (V.hostage !== 0) { - App.Update.Slave(V.hostage); - App.Entity.Utils.SlaveDataSchemeCleanup(V.hostage); - SlaveDatatypeCleanup(V.hostage); - } - if (typeof V.slaveAfterRA !== "undefined") { - App.Update.Slave(V.slaveAfterRA); - App.Entity.Utils.SlaveDataSchemeCleanup(V.slaveAfterRA); - SlaveDatatypeCleanup(V.slaveAfterRA); - } - if (V.boomerangSlave !== 0) { - App.Update.Slave(V.boomerangSlave); - App.Entity.Utils.SlaveDataSchemeCleanup(V.boomerangSlave); - SlaveDatatypeCleanup(V.boomerangSlave); - } - if (V.traitor !== 0) { - App.Update.Slave(V.traitor); - App.Entity.Utils.SlaveDataSchemeCleanup(V.traitor); - SlaveDatatypeCleanup(V.traitor); + }; + + V.slaves.forEach((slave) => updateRecord(slave)); + for (const slave of detachedSlaves) { + if (typeof slave !== "undefined" && slave !== 0) { + updateRecord(slave); + } } + node.append(`Done!`); if (V.incubator.tanks.length > 0) { diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js index 501e71413c0d047a7bf65584a8a0d4bf15014619..f11ed16acd972375d15b25f9f5b93c9324354535 100644 --- a/src/player/js/PlayerState.js +++ b/src/player/js/PlayerState.js @@ -1294,6 +1294,11 @@ App.Entity.PlayerState = class PlayerState { * @type {FC.Diet} */ this.diet = "healthy"; + /** + * * "normal" + * * "atrophied" + */ + this.digestiveSystem = "normal"; /** * * -2: heavy male hormones * * -1: male hormones