diff --git a/compile b/compile old mode 100644 new mode 100755 diff --git a/devTools/AutoGitVersionUploadBackground.sh b/devTools/AutoGitVersionUploadBackground.sh old mode 100644 new mode 100755 diff --git a/devTools/AutoGitVersionUploadForground.sh b/devTools/AutoGitVersionUploadForground.sh old mode 100644 new mode 100755 diff --git a/devTools/BuildAndIPFSify.sh b/devTools/BuildAndIPFSify.sh old mode 100644 new mode 100755 diff --git a/devTools/check.py b/devTools/check.py old mode 100644 new mode 100755 diff --git a/devTools/embed_favicon.py b/devTools/embed_favicon.py old mode 100644 new mode 100755 diff --git a/devTools/tweeGo/tweego_nix64 b/devTools/tweeGo/tweego_nix64 old mode 100644 new mode 100755 diff --git a/devTools/tweeGo/tweego_nix86 b/devTools/tweeGo/tweego_nix86 old mode 100644 new mode 100755 diff --git a/devTools/tweeGo/tweego_osx64 b/devTools/tweeGo/tweego_osx64 old mode 100644 new mode 100755 diff --git a/devTools/tweeGo/tweego_osx86 b/devTools/tweeGo/tweego_osx86 old mode 100644 new mode 100755 diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw index de4842da3e738c5d10514c09ef9111721f884362..773f3c3076a44111ccc50c25705dc5beb1c49be3 100644 --- a/src/js/DefaultRules.tw +++ b/src/js/DefaultRules.tw @@ -58,8 +58,8 @@ window.DefaultRules = (function() { function MergeRules(slave) { // merge all rules applying on a slave into one big rule - const rules = V.defaultRules.filter(x => ruleAppliesP(x.condition, slave)) - slave.currentRules = rules.map(x => x.ID) + const rules = V.defaultRules.filter(x => ruleAppliesP(x.condition, slave)); + slave.currentRules = rules.map(x => x.ID); return mergeRules(rules.map(x => ProcessAssignments(slave, Object.assign({}, x.set)))); } @@ -1098,62 +1098,158 @@ window.DefaultRules = (function() { function ProcessOtherDrugs(slave, rule) { // Other Drugs - if (rule.drug !== "no default setting" && slave.drugs !== rule.drug) { + if (slave.indentureRestrictions < 2 && rule.drug !== "no default setting" && slave.drugs !== rule.drug) { + let flag = true; switch (rule.drug) { case "anti-aging cream": - if (slave.visualAge > 18) { - slave.drugs = rule.drug ; - r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`; - } else { - slave.drugs = "no drugs" ; - r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`; - } + if (slave.visualAge < 18) + flag = false; break; case "growth stimulants": - if (slave.height < 274 && slave.height < Math.clamp((Height.mean(slave) * 1.25),0,274)) { - slave.drugs = rule.drug; - r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`; - } else { - slave.drugs = "no drugs"; - r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`; - } + if (!(slave.height < 274 && slave.height < Math.clamp((Height.mean(slave) * 1.25),0,274))) + flag = false; break; case "sag-B-gone": - if (slave.boobs > 250 && slave.boobShape != "saggy") { - slave.drugs = rule.drug; - r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`; - } else { - slave.drugs = "no drugs"; - r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`; - } + if (!(slave.boobs > 250 && slave.boobShape != "saggy")) + flag = false; break; case "female hormone injections": - if (slave.breedingMark != 1 && (slave.ovaries == 1 || slave.mpreg == 1) && slave.pubertyXX === 0) { - slave.drugs = rule.drug ; - r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`; - } else { - slave.drugs = "no drugs"; - r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`; - } + if (!(slave.breedingMark != 1 && (slave.ovaries == 1 || slave.mpreg == 1) && slave.pubertyXX === 0)) + flag = false; break; case "male hormone injections": - if (slave.breedingMark != 1 && slave.balls > 0 && slave.pubertyXY === 0) { - slave.drugs = rule.drug ; - r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`; - } else { - slave.drugs = "no drugs"; - r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`; - } + if (!(slave.breedingMark != 1 && slave.balls > 0 && slave.pubertyXY === 0)) + flag = false; break; - + + case "psychosuppressants": + if (!(slave.intelligence > -2 && slave.indentureRestrictions < 1)) + flag = false; + break; + + case "breast injections": + if (!(slave.boobs < 48000)) + flag = false; + break; + + case "hyper breast injections": + if (!(slave.boobs < 25000)) + flag = false; + break; + + case "breast redistributors": + if (!(slave.boobs - slave.boobsImplant > 100)) + flag = false; + break; + + case "butt injections": + if (!(slave.butt < 9)) + flag = false; + break; + + case "hyper butt injections": + if (!(slave.butt < 20)) + flag = false; + break; + + case "hyper butt injections": + if (!(slave.butt < 20)) + flag = false; + break; + + case "nipple atrophiers": + if (!(["huge", "puffy", "cute"].includes(slave.nipples))) + flag = false; + break; + + case "butt redistributors": + if (!(slave.buttImplant > 0)) + flag = false; + break; + + case "lip injections": + if (!(slave.lips <= 95 || (slave.lips <= 85 && V.seeExtreme !== 1))) + flag = false; + break; + + case "lip atrophiers": + if (!(slave.lips - slave.lipsImplant > 0)) + flag = false; + break; + + case "super fertility drugs": + if (!(slave.indentureRestrictions < 1 && slave.breedingMark !== 1)) + flag = false; + break; + + case "penis enhancement": + if (!((slave.dick > 0 && slave.dick < 10) || slave.clit < 5)) + flag = false; + break; + + case "hyper penis enhancement": + if (!((slave.dick > 0 && slave.dick < 31) || slave.clit < 5)) + flag = false; + break; + + case "penis atrophiers": + if (!(slave.dick > 1)) + flag = false; + break; + + case "testicle enhancement": + if (!(slave.balls > 0)) + flag = false; + break; + + case "hyper testicle enhancement": + if (!(slave.balls > 0)) + flag = false; + break; + + case "testicle atrophiers": + if (!(slave.balls > 1)) + flag = false; + break; + + case "clitoris atrophiers": + if (!(slave.clit > 0)) + flag = false; + break; + + case "labia atrophiers": + if (!(slave.labia > 0)) + flag = false; + break; + + case "appetite suppressors": + if (!(slave.weight > -95)) + flag = false; + break; + + case "female hormone injections": + if (!(slave.breedingMark !== 1 && (slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0)) + flag = false; + break; + + case "male hormone injections": + if (!(slave.balls > 0 && slave.pubertyXY === 0)) + flag = false; + break; + default: + break; + } + if (flag) { slave.drugs = rule.drug; r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`; - break; + } else { + slave.drugs = "no drugs"; + r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}`; } } } diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw index ca647c40fe74fb4e0da10eda3a322f259b6fd337..7a2eed45734ff01c52b47a95e532954cde7fdf73 100644 --- a/src/js/rulesAssistantOptions.tw +++ b/src/js/rulesAssistantOptions.tw @@ -1606,6 +1606,15 @@ window.rulesAssistantOptions = (function() { ["Steroids", "steroids"], ["Natural hormone enhancers", "hormone enhancers"], ["Hormone blockers", "hormone blockers"], + ["breast injections"], + ["intensive breast injections"], + ["butt injections"], + ["intensive butt injections"], + ["lip injections"], + ["penis enhancement"], + ["intensive penis enhancement"], + ["testicle enhancement"], + ["intensive testicle enhancement"], ]; if (V.growthStim === 1) @@ -1616,8 +1625,20 @@ window.rulesAssistantOptions = (function() { } if (V.purchasedSagBGone === 1) drugs.push(["Sag-B-gone (Product)", "sag-B-gone"]); - if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { drugs.push(["Weight loss pills (FS)", "appetite suppressors"]); + drugs.push(["breast redistributors"]); + drugs.push(["butt redistributors"]); + drugs.push(["lip atrophiers"]); + drugs.push(["penis atrophiers"]); + drugs.push(["testicle atrophiers"]); + } + if (V.arcologies[0].FSAssetExpansionistResearch === 1) { + drugs.push(["hyper breast injections"]); + drugs.push(["hyper butt injections"]); + drugs.push(["hyper penis enhancement"]); + drugs.push(["hyper testicle enhancement"]); + } if (V.arcologies[0].FSYouthPreferentialistResearch === 1) drugs.push(["Anti-aging cream (FS)", "anti-aging cream"]); if (V.seeHyperPreg === 1 && V.superFertilityDrugs === 1) diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index ff8988ca941c5a5b2e9aa9da6284172fe0c1c849..9ff5815ced928fba39497c713d45ce8ee892c068 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -14,7 +14,7 @@ ''@@.red;INCOMPATIBLE SAVE WARNING:@@'' your saved game was created using version $ver and you are using later version which New Game Plus cannot reconcile. Please start a new game. <br><br> <</if>> -<<if $defaultRules.length > 0 && $defaultRules[0].condition == undefined>> +<<if $defaultRules.length > 0 && ($defaultRules[0].condition == undefined || $defaultRules[0].set == undefined)>> ''@@.red;INCOMPATIBILITY WARNING:@@'' the rules assistant format has changed. In the Options Menu, please ''Reset RA Rules'' <</if>>