diff --git a/src/endWeek/saSocialEffects.js b/src/endWeek/saSocialEffects.js index 335d0121f5c14072d94efc207dc66f1c5d44fff4..c5d861ade74f906a204f56411de28b2e48bd8564 100644 --- a/src/endWeek/saSocialEffects.js +++ b/src/endWeek/saSocialEffects.js @@ -647,6 +647,13 @@ App.SlaveAssignment.saSocialEffects = function(slave) { `Society <span class="green">approves</span> of ${his} intact anus, advancing ideals of pure, fresh slaves.`)); } } + if (slave.makeup === 0 && slave.face > 10) { + t.push(new SocialEffect("Body Purist", 1, `Makeup-free beauty`, + `Society <span class="green">approves</span> of keeping ${his} naturally beautiful face makeup-free.`)); + } else if (slave.makeup > 1) { + t.push(new SocialEffect("Body Purist", 1, `Heavy makeup`, + `Society <span class="red">disapproves</span> of ${his} heavy makeup, which covers up ${his} natural features.`)); + } } else if (V.arcologies[0].FSTransformationFetishist !== "unset") { let transformed = 0; if (slave.boobsImplant > 0 && slave.buttImplant > 0 && slave.lipsImplant > 0) { diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js index 4838f4b54f04a19d33471bc6b3fe8f089645f445..89dcfc46b140c9a36702316a35f4f5899c10a1d3 100644 --- a/src/js/slaveCostJS.js +++ b/src/js/slaveCostJS.js @@ -275,7 +275,7 @@ globalThis.BeautyArray = function(slave) { break; case "straightening braces": case "cosmetic braces": - if (slave.visualAge.isBetween(14, 18)) { + if (slave.visualAge.isBetween(14, 18) && arcology.FSMaturityPreferentialist === "unset") { adjustBeauty("Teeth", (1)); } break; @@ -354,8 +354,26 @@ globalThis.BeautyArray = function(slave) { if (slave.nails > 0) { adjustBeauty("Nails", (1)); } - if (slave.makeup > 0) { - adjustBeauty("Makeup", (1)); + if (slave.makeup === 0) { + if (arcology.FSBodyPurist !== "unset") { + if (slave.face > 10) { + adjustBeauty("Body Purist: Makeup-free beauty", 2); + } else { + adjustBeauty("Body Purist: Makeup-free honesty", 1); + } + } + } else { + if (arcology.FSDegradationist !== "unset" && slave.makeup > 1) { + adjustBeauty("Degradationist: Heavy makeup", 2); + } else if (arcology.FSBodyPurist !== "unset") { + if (slave.makeup > 1) { + adjustBeauty("Body Purist: Unsightly makeup", -1); + } else { + // no bonus or penalty for light makeup in Body Purist arcologies + } + } else { + adjustBeauty("Makeup", 1); + } } switch (slave.markings) { case "beauty mark": diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js index 33e26d986a921ba58cbafa9e891f09da730b4c43..57b59c28f6785a0704c21f4dd93c64d39f555f60 100644 --- a/src/npc/generate/generateMarketSlave.js +++ b/src/npc/generate/generateMarketSlave.js @@ -716,21 +716,21 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 } if (jsRandom(1, 100) > 10) { // pierce em up - let piercings = ["corsetPiercing", "nipplesPiercing", "areolaePiercing", "lipsPiercing", "tonguePiercing", "anusPiercing"]; + let piercings = ["corset", "nipple", "areola", "lips", "tongue", "anus"]; if (slave.dick > 0) { - piercings.push("dickPiercing"); + piercings.push("dick"); } if (slave.vagina !== -1) { - piercings.push("vaginaPiercing"); + piercings.push("vagina"); } - if ((slave.vagina !== -1) || (slave.dick !== 0)) { - piercings.push("clitPiercing"); + if (slave.dick > 0 || slave.vagina !== -1) { + piercings.push("genitals"); } const modPool = jsRandom(5, 15); for (i = 0; i < modPool; i++) { const pierce = piercings.random(); - if (slave[pierce] < 2) { - slave[pierce]++; + if (slave.piercing[pierce].weight < 2) { + slave.piercing[pierce].weight++; } } } @@ -825,6 +825,8 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 slave.piercing.genitals.smart = false; slave.piercing.dick.weight = 0; slave.piercing.anus.weight = 0; + slave.piercing.eyebrow.weight = 0; + slave.piercing.nose.weight = 0; } else if (neighbor.FSTransformationFetishist > 80) { r += `They vary in terms of what size their implants are, not whether they have them. `; slave.chem += jsRandom(10, 100);