diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js index f4ed47570a9be9fd38ef7068d8080bd4ba1f51b9..c4a1f9af801c806f0edef532249d8b3c863c7d9c 100644 --- a/src/js/DefaultRules.js +++ b/src/js/DefaultRules.js @@ -1514,6 +1514,10 @@ window.DefaultRules = (function() { } } + /** + * @param {App.Entity.SlaveState} slave + * @param {App.RA.RuleSetters} rule + */ function ProcessDiet(slave, rule) { // Diet Setting if ((rule.diet !== undefined && rule.diet !== null) || rule.weight !== null) { @@ -1537,9 +1541,27 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName} is on drugs designed to expand major body parts, so ${he}'s been put on a fattening diet to provide ${his} body as much fuel for growth as possible.`; } } else { - if (rule.weight !== null) { + // priority to growing/loosing muscles, then general body mass, then rest of the diets + if (!isAmputee(slave) && (App.RA.shallShrink(slave.muscles, rule.muscles, 8) || App.RA.shallGrow(slave.muscles, rule.muscles, 2))) { + if (App.RA.shallShrink(slave.muscles, rule.muscles, 8)) { + if ((slave.diet !== "slimming")) { + slave.diet = "slimming"; + r += `<br>${slave.slaveName} has been put on a slimming exercise regime.`; + } + } else if (App.RA.shallGrow(slave.muscles, rule.muscles, 2)) { + if ((slave.diet !== "muscle building")) { + slave.diet = "muscle building"; + r += `<br>${slave.slaveName} has been put on a muscle building exercise regime.`; + } + } else { + if ((slave.diet !== "healthy")) { + slave.diet = "healthy"; + r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`; + } + } + } else if (rule.weight !== null && (slave.weight > rule.weight.max || slave.weight < rule.weight.min)) { if (slave.weight > rule.weight.max) { - if (slave.diet !== "restricted" ) { + if (slave.diet !== "restricted") { slave.diet = "restricted"; r += `<br>${slave.slaveName} is too fat so ${his} diet has been set to restricted.`; } @@ -1548,23 +1570,6 @@ window.DefaultRules = (function() { slave.diet = "fattening"; r += `<br>${slave.slaveName} is too skinny so ${his} diet has been set to fattening.`; } - } else if ((rule.muscles !== undefined) && (rule.muscles !== null) && !isAmputee(slave)) { - if (App.RA.shallShrink(slave.muscles, rule.muscles, 8)) { - if ((slave.diet !== "slimming")) { - slave.diet = "slimming"; - r += `<br>${slave.slaveName} has been put on a slimming exercise regime.`; - } - } else if (App.RA.shallGrow(slave.muscles, rule.muscles, 2)) { - if ((slave.diet !== "muscle building")) { - slave.diet = "muscle building"; - r += `<br>${slave.slaveName} has been put on a muscle building exercise regime.`; - } - } else { - if ((slave.diet !== "healthy")) { - slave.diet = "healthy"; - r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`; - } - } } else { if ((slave.diet !== "healthy")) { slave.diet = "healthy"; @@ -1582,23 +1587,6 @@ window.DefaultRules = (function() { slave.diet = "fattening"; r += `<br>${slave.slaveName} is too skinny so ${his} diet has been set to fattening.`; } - } else if ((rule.muscles !== undefined) && (rule.muscles !== null) && !isAmputee(slave)) { - if (App.RA.shallShrink(slave.muscles, rule.muscles, 8)) { - if ((slave.diet !== "slimming")) { - slave.diet = "slimming"; - r += `<br>${slave.slaveName} has been put on a slimming exercise regime.`; - } - } else if (App.RA.shallGrow(slave.muscles, rule.muscles, 2)) { - if ((slave.diet !== "muscle building")) { - slave.diet = "muscle building"; - r += `<br>${slave.slaveName} has been put on a muscle building exercise regime.`; - } - } else { - if ((slave.diet !== "healthy")) { - slave.diet = "healthy"; - r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`; - } - } } else { if ((slave.diet !== "healthy")) { slave.diet = "healthy"; @@ -1663,23 +1651,6 @@ window.DefaultRules = (function() { } } } - } else if ((rule.muscles !== undefined) && (rule.muscles !== null) && !isAmputee(slave)) { // no diet rule, muscles only - if (App.RA.shallShrink(slave.muscles, rule.muscles, 8)) { - if ((slave.diet !== "slimming")) { - slave.diet = "slimming"; - r += `<br>${slave.slaveName} has been put on a slimming exercise regime.`; - } - } else if (App.RA.shallGrow(slave.muscles, rule.muscles, 2)) { - if ((slave.diet !== "muscle building")) { - slave.diet = "muscle building"; - r += `<br>${slave.slaveName} has been put on a muscle building exercise regime.`; - } - } else { - if ((slave.diet !== "healthy")) { - slave.diet = "healthy"; - r += `<br>${slave.slaveName} has achieved the target musculature, so ${his} exercise regime has been normalized.`; - } - } } if (slave.drugs === "appetite suppressors" && slave.diet !== "restricted") {