diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 78999d56e799fa68836ede4accde7aceecb4cfba..3144aaceef991ecc20e4fdab676a71ff16c2a543 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -14,6 +14,7 @@ App.Entity.Utils.SlaveDataSchemeCleanup = (function() { */ function SlaveDataSchemeCleanup(slave) { migrateRules(slave); + migrateReleaseRules(slave.rules); migratePorn(slave); migrateSkills(slave); migrateCounters(slave); @@ -50,6 +51,57 @@ App.Entity.Utils.SlaveDataSchemeCleanup = (function() { } } + /** + * Must be run AFTER migrateRules + * @param {App.Entity.RuleState} rules + */ + function migrateReleaseRules(rulestate) + { + if (typeof rulestate.release === "string") { + let newRule = new App.Entity.ReleaseRulesState(); + switch (rulestate.release) { + case "chastity": + newRule.masturbation = 0; + newRule.partner = 0; + newRule.family = 0; + newRule.slaves = 0; + newRule.master = 0; + break; + case "restrictive": + newRule.masturbation = 0; + newRule.partner = 1; + newRule.family = 0; + newRule.slaves = 0; + newRule.master = 1; + break; + case "masturbation": + newRule.masturbation = 1; + newRule.partner = 0; + newRule.family = 0; + newRule.slaves = 0; + newRule.master = 1; + break; + case "sapphic": + newRule.masturbation = 0; + newRule.partner = 1; + newRule.family = 1; + newRule.slaves = 1; + newRule.master = 1; + break; + case "permissive": + newRule.masturbation = 1; + newRule.partner = 1; + newRule.family = 1; + newRule.slaves = 1; + newRule.master = 1; + break; + } + rulestate.release = newRule; + } else if (typeof rulestate.release !== "object" || rulestate.release === null) { + rulestate.release = new App.Entity.ReleaseRulesState(); + } + } + /** * @param {App.Entity.SlaveState} slave */ @@ -2152,8 +2204,7 @@ App.Entity.Utils.GenePoolRecordCleanup = (function() { "preg", "pregSource", "pregType", "pregAdaptation", "labor", "bellyAccessory", "clitSetting", - "rules.living", "rules.speech", "rules.release", "rules.relationship", "rules.lactation", - "rules.punishment", "rules.reward", + "rules", "useRulesAssistant", "diet", "dietCum", "dietMilk", "tired",