diff --git a/js/003-data/slaveWearData.js b/js/003-data/slaveWearData.js index 187ad4e0269a891fab53f4964615630d298ae233..4bc7787d66ff7b464d9c46bf01be9f90fc1d5e5c 100644 --- a/js/003-data/slaveWearData.js +++ b/js/003-data/slaveWearData.js @@ -24,7 +24,7 @@ App.Data.clothes = new Map([ ["a Fuckdoll suit", { - name: "a Fuckdoll suit", + name: "Fuckdoll suit", exposure: 3, fuckdoll: true } diff --git a/src/endWeek/saLongTermMentalEffects.js b/src/endWeek/saLongTermMentalEffects.js index 785ae2e977ade19d59da700c19428dd9f4a16bc7..df248eb6019f35724d234cf4116cd99f26214dde 100644 --- a/src/endWeek/saLongTermMentalEffects.js +++ b/src/endWeek/saLongTermMentalEffects.js @@ -1385,8 +1385,8 @@ App.SlaveAssignment.longTermMentalEffects = (function() { } else if (slave.assignment === "be the Schoolteacher" && V.schoolroom >= 20) { r.push(`${His} paraphilia is satisfied by ${his} work as a sexual instructor; enough eyes are fixated on ${his} lessons.`); slave.paraphiliaSatisfied = 1; - } else if (slave.clothes === "no clothing") { - r.push(`${His} paraphilia is satisfied by ${his} total nudity.`); + } else if (App.Data.clothes.get(slave.clothes).exposure >= 4) { + r.push(`${His} paraphilia is satisfied by ${his} nudity.`); slave.paraphiliaSatisfied = 1; } else { r.push(`${He} doesn't seem to feel ${he}'s getting fucked in public enough, leaving the attention whore <span class="devotion dec">depressed and anxious.</span>`); diff --git a/src/events/PE/concubineInterview.js b/src/events/PE/concubineInterview.js index e356177791939d4e7580a3344b5b75ed1ab49b5e..c177077e95c218a58d7005c5badae8d07569f123 100644 --- a/src/events/PE/concubineInterview.js +++ b/src/events/PE/concubineInterview.js @@ -80,7 +80,7 @@ App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events. } else { t.push(`strides out`); } - if (eventSlave.clothes === "no clothing") { + if (App.Data.clothes.get(eventSlave.clothes).exposure >= 4) { t.push(`in magnificent nudity. It's a shock to old world values, no doubt, but the titillation should counterbalance that.`); } else { t.push(`resplendent in ${eventSlave.clothes}.`); diff --git a/src/events/RESS/frighteningDick.js b/src/events/RESS/frighteningDick.js index 2669b9a87a997ac709f11b793247ffe7b7f79bdd..bd3bcfed353d5197995e8f4d9ca3700f288d6858 100644 --- a/src/events/RESS/frighteningDick.js +++ b/src/events/RESS/frighteningDick.js @@ -112,7 +112,7 @@ App.Events.RESSFrighteningDick = class RESSFrighteningDick extends App.Events.Ba function rape() { t = []; - t.push(`Sometimes there's really no need to overthink things. You reach down, grab ${him} under the armpits, and haul ${him} up, throwing ${him} across your desk. ${He} lands on ${his} back, and the impact drives the wind out of ${him}, so ${he} lies there, <span class="gold">all possibility of resistance driven out of ${him}.</span> ${eventSlave.clothes === "no clothing" ? `${He}'s already naked, so there's no need to` : "You"} tear the clothes off ${him}. You force yourself in between ${his} legs as ${he} struggles to get ${his} breath back, and ${he} gets another good look at the formidable dick that's about to be slammed inside ${him}`); + t.push(`Sometimes there's really no need to overthink things. You reach down, grab ${him} under the armpits, and haul ${him} up, throwing ${him} across your desk. ${He} lands on ${his} back, and the impact drives the wind out of ${him}, so ${he} lies there, <span class="gold">all possibility of resistance driven out of ${him}.</span> ${App.Data.clothes.get(eventSlave.clothes).exposure >= 4 ? `${He}'s already naked, so there's no need to` : "You"} tear the clothes off ${him}. You force yourself in between ${his} legs as ${he} struggles to get ${his} breath back, and ${he} gets another good look at the formidable dick that's about to be slammed inside ${him}`); if (eventSlave.belly >= 5000) { t.push(`before it disappears beneath ${his} ${eventSlave.bellyPreg >= 3000 ? "pregnant" : belly} belly`); } diff --git a/src/events/RESS/meanGirls.js b/src/events/RESS/meanGirls.js index da37c0c5685d2551ab3f55f7b91e2e08413a3833..c0924c6b42634e0812644692432a2ff00281b05b 100644 --- a/src/events/RESS/meanGirls.js +++ b/src/events/RESS/meanGirls.js @@ -98,147 +98,17 @@ App.Events.RESSMeanGirls = class RESSMeanGirls extends App.Events.BaseEvent { r.push(`reluctantly`); } r.push(`showing off ${his}`); - if (eventSlave.clothes === "no clothing") { - r.push(`nude`); - if (eventSlave.bellyPreg >= 1500) { - r.push(`pregnant`); - } else if (eventSlave.bellyImplant >= 1500) { - r.push(`gravid`); - } else if (eventSlave.bellyFluid >= 1500) { - r.push(`bloated`); - } - r.push(`body`); + if (eventSlave.bellyPreg >= 1500) { + r.push(`pregnant`); + } else if (eventSlave.bellyImplant >= 1500) { + r.push(`gravid`); + } else if (eventSlave.bellyFluid >= 1500) { + r.push(`bloated`); + } + if (App.Data.clothes.get(eventSlave.clothes).exposure >= 4) { + r.push(`nude body`); } else { - if (eventSlave.bellyPreg >= 1500) { - r.push(`pregnant`); - } else if (eventSlave.bellyImplant >= 1500) { - r.push(`gravid`); - } else if (eventSlave.bellyFluid >= 1500) { - r.push(`bloated`); - } - r.push(`body in ${his}`); - switch (eventSlave.clothes) { - case "a toga": - r.push(`toga`); - break; - case "a huipil": - r.push(`huipil`); - break; - case "a long qipao": - case "a slutty qipao": - r.push(`qipao`); - break; - case "a penitent nuns habit": - r.push(`habit`); - break; - case "a slave gown": - case "a ball gown": - r.push(`gown`); - break; - case "a comfortable bodysuit": - r.push(`bodysuit`); - break; - case "a leotard": - r.push(`leotard`); - break; - case "a bunny outfit": - r.push(`bunny outfit`); - break; - case "a nice nurse outfit": - r.push(`nurse outfit`); - break; - case "a slutty nurse outfit": - r.push(`slutty nurse outfit`); - break; - case "a schoolgirl outfit": - r.push(`school clothes`); - break; - case "a hijab and abaya": - r.push(`hijab and abaya`); - break; - case "a kimono": - r.push(`kimono`); - break; - case "a nice maid outfit": - r.push(`maid outfit`); - break; - case "a slutty maid outfit": - r.push(`skimpy maid outfit`); - break; - case "a biyelgee costume": - case "a dirndl": - case "a halter top dress": - case "a mini dress": - case "a maternity dress": - r.push(`dress`); - break; - case "a latex catsuit": - r.push(`latex catsuit`); - break; - case "a military uniform": - case "a mounty outfit": - case "a red army uniform": - case "a schutzstaffel uniform": - case "a slutty schutzstaffel uniform": - r.push(`uniform`); - break; - case "battlearmor": - r.push(`battlearmor`); - break; - case "Imperial Plate": - r.push(`imperial armor`); - break; - case "lederhosen": - r.push(`lederhosen`); - break; - case "spats and a tank top": - r.push(`spats`); - break; - case "a burkini": - case "a monokini": - r.push(`swimsuit`); - break; - case "a chattel habit": - case "a fallen nuns habit": - r.push(`slutty habit`); - break; - case "a cheerleader outfit": - r.push(`cheerleader outfit`); - break; - case "a cybersuit": - r.push(`cybersuit`); - break; - case "a tight Imperial bodysuit": - r.push(`imperial bodysuit`); - break; - case "an apron": - r.push(`apron`); - break; - case "a scalemail bikini": - r.push(`scalemail bikini`); - break; - case "a slutty outfit": - r.push(`slutty outfit`); - break; - case "a string bikini": - r.push(`string bikini`); - break; - case "a succubus outfit": - r.push(`succubus getup`); - break; - case "a hijab and blouse": - case "conservative clothing": - r.push(`conservative clothes`); - break; - case "a bimbo outfit": - r.push(`bimbo outfit`); - break; - case "a courtesan dress": - r.push(`courtesan dress`); - break; - default: - r.push(`${eventSlave.clothes}`); - } + r.push(`body in ${his} ${App.Data.clothes.get(eventSlave.clothes).name.toLowerCase()}`); } r.push(`and flirting with passersby. Or ${he} would be, if ${he} weren't surrounded by a hostile group of girls. They're very obviously inebriated, rich, vapid, and on vacation, and their rapid-fire bitchiness makes the cause clear.`); App.Events.addParagraph(node, r); diff --git a/src/events/RESS/tooThinForCumDiet.js b/src/events/RESS/tooThinForCumDiet.js index 84de69d9e16fe4c5b2918b79145a1f98edf90d27..ecc36a0d53602de673ac69965b1501fdb875fdc3 100644 --- a/src/events/RESS/tooThinForCumDiet.js +++ b/src/events/RESS/tooThinForCumDiet.js @@ -42,7 +42,7 @@ App.Events.RESSTooThinForCumDiet = class RESSTooThinForCumDiet extends App.Event t.push(`You are in your office, tending to the tedious business of requisition orders for your penthouse when you see`); t.push(contextualIntro(V.PC, eventSlave, "DOM")); t.push(`appear outside your door. ${He} hovers outside in the hall, peeking ${his} head around the entry-way, looking very unsure about disturbing you. You stop what you're doing and call ${him} in. ${He}'s reticent at first, but then ${he} obediently steps into your office. ${He} is`); - if (eventSlave.clothes === "no clothing") { + if (App.Data.clothes.get(eventSlave.clothes).exposure >= 4) { t.push(`forced to remain naked at all times, and the most striking thing about ${his} body is how`); if (eventSlave.belly >= 100000) { if (eventSlave.bellyPreg >= 3000) { diff --git a/src/events/RESS/waistlineWoes.js b/src/events/RESS/waistlineWoes.js index c03c65210abf70e41fc1fe843f3377cf187b98f1..77965ec6a9e188be8debd561047880ed1e03b2da 100644 --- a/src/events/RESS/waistlineWoes.js +++ b/src/events/RESS/waistlineWoes.js @@ -235,16 +235,16 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv if (eventSlave.behavioralQuirk === "fitness") { t.push(`${He} brightens, catching on immediately and nodding ${his} head with understanding`); if (V.PC.dick === 0) { - t.push(`before quickly ${eventSlave.clothes !== "no clothing" && eventSlave.clothes !== "body oil" ? `shedding ${his} clothes and` : ""} retrieving an appropriate dildo, eager for the workout.`); + t.push(`before quickly ${App.Data.clothes.get(eventSlave.clothes).exposure <= 3 ? `shedding ${his} clothes and` : ""} retrieving an appropriate dildo, eager for the workout.`); } else { - t.push(`${eventSlave.clothes !== "no clothing" && eventSlave.clothes !== "body oil" ? "before" : ""} quickly ${eventSlave.clothes !== "no clothing" && eventSlave.clothes !== "body oil" ? `shedding ${his} clothes` : ""}, eager for the workout.`); + t.push(`${App.Data.clothes.get(eventSlave.clothes).exposure <= 3 ? "before" : ""} quickly ${App.Data.clothes.get(eventSlave.clothes).exposure <= 3 ? `shedding ${his} clothes` : ""}, eager for the workout.`); } } else { t.push(`${He} catches on quickly, nodding ${his} head with understanding`); if (V.PC.dick === 0) { - t.push(`before ${eventSlave.clothes !== "no clothing" && eventSlave.clothes !== "body oil" ? `shedding ${his} clothes and` : ""} retrieving an appropriate dildo, glad for the opportunity.`); + t.push(`before ${App.Data.clothes.get(eventSlave.clothes).exposure <= 3 ? `shedding ${his} clothes and` : ""} retrieving an appropriate dildo, glad for the opportunity.`); } else { - t.push(`${eventSlave.clothes !== "no clothing" && eventSlave.clothes !== "body oil" ? `before shedding ${his} clothes` : ""}, glad for the opportunity.`); + t.push(`${App.Data.clothes.get(eventSlave.clothes).exposure <= 3 ? `before shedding ${his} clothes` : ""}, glad for the opportunity.`); } } t.push(`${His} hips settle close to yours, moving seductively while ${he} makes a show of undressing you. ${His} fingers smooth`); diff --git a/src/events/reRecruit/femaleRecruit.js b/src/events/reRecruit/femaleRecruit.js index 3f443fc4839a7fe7b479330cd4e9f80ec7b6c300..7d79f308f3b9fd61d010b4b744a9e61cd9552167 100644 --- a/src/events/reRecruit/femaleRecruit.js +++ b/src/events/reRecruit/femaleRecruit.js @@ -54,7 +54,7 @@ App.Events.recFemaleRecruit = class recFemaleRecruit extends App.Events.BaseEven let r = []; cashX(forceNeg(contractCost), "slaveTransfer", slave); r.push(`You complete the legalities and biometric scanning quickly and without fuss. ${slave.slaveName} bounces nervously on ${his} heels. Finally ${he} works up ${his} courage and asks,`); - if (S.HeadGirl.clothes !== "no clothing") { + if (App.Data.clothes.get(S.HeadGirl.clothes).exposure <= 3) { r.push(Spoken(slave, `"Can I have ${S.HeadGirl.clothes} like ${S.HeadGirl.slaveName}?"`)); } else { r.push(Spoken(slave, `"Can I work with ${S.HeadGirl.slaveName}?"`)); @@ -71,7 +71,7 @@ App.Events.recFemaleRecruit = class recFemaleRecruit extends App.Events.BaseEven let r = []; cashX(cost, "slaveTransfer"); r.push(`You complete the legalities and biometric scanning quickly and without fuss. ${slave.slaveName} bounces nervously on ${his} heels. Finally ${he} works up ${his} courage and asks,`); - if (S.HeadGirl.clothes !== "no clothing") { + if (App.Data.clothes.get(S.HeadGirl.clothes).exposure <= 3) { r.push(Spoken(slave, `"Can I have ${S.HeadGirl.clothes} like ${S.HeadGirl.slaveName}?"`)); } else { r.push(Spoken(slave, `"Can I work with ${S.HeadGirl.slaveName}?"`)); diff --git a/src/events/reRecruit/maleRecruit.js b/src/events/reRecruit/maleRecruit.js index 584898eebef9301ab3d3084f27a0a42de92b2797..3f33670b2f8aa39f928ec524adec5be78e73388d 100644 --- a/src/events/reRecruit/maleRecruit.js +++ b/src/events/reRecruit/maleRecruit.js @@ -50,7 +50,7 @@ App.Events.recMaleRecruit = class recMaleRecruit extends App.Events.BaseEvent { let r = []; cashX(forceNeg(contractCost), "slaveTransfer", slave); r.push(`You complete the legalities and biometric scanning quickly and without fuss. ${slave.slaveName} bounces nervously on ${his} heels. Finally ${he} works up ${his} courage and asks,`); - if (S.HeadGirl.clothes !== "no clothing") { + if (App.Data.clothes.get(S.HeadGirl.clothes).exposure <= 3) { r.push(Spoken(slave, `"Can I have ${S.HeadGirl.clothes} like ${S.HeadGirl.slaveName}?"`)); } else { r.push(Spoken(slave, `"Can I work with ${S.HeadGirl.slaveName}?"`)); @@ -67,7 +67,7 @@ App.Events.recMaleRecruit = class recMaleRecruit extends App.Events.BaseEvent { let r = []; cashX(cost, "slaveTransfer"); r.push(`You complete the legalities and biometric scanning quickly and without fuss. ${slave.slaveName} bounces nervously on ${his} heels. Finally ${he} works up ${his} courage and asks,`); - if (S.HeadGirl.clothes !== "no clothing") { + if (App.Data.clothes.get(S.HeadGirl.clothes).exposure <= 3) { r.push(Spoken(slave, `"Can I have ${S.HeadGirl.clothes} like ${S.HeadGirl.slaveName}?"`)); } else { r.push(Spoken(slave, `"Can I work with ${S.HeadGirl.slaveName}?"`)); diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js index 5122c25a3dda5616df3c90883d6c800c6598d32d..d811de7dd9b0c0feb9529fe712c4ec458ce5a178 100644 --- a/src/js/birth/birth.js +++ b/src/js/birth/birth.js @@ -7137,7 +7137,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) babyIntro = `${his} ${babies}${UH}`; } - if (undressed === 0 && slave.clothes !== "no clothing" && slave.clothes !== "body oil") { + if (undressed === 0 && App.Data.clothes.get(slave.clothes).exposure <= 3) { if (slave.fetish === "mindbroken") { r.push(`Instinctively, ${he} begins to push out`); if (slave.broodmother > 0) { @@ -8505,7 +8505,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {}) } } } - } else if (slave.clothes === "no clothing" || slave.clothes === "body oil") { + } else if (App.Data.clothes.get(slave.clothes).exposure <= 3) { if (slave.fetish === "mindbroken") { r.push(`Instinctively, ${he} begins to push out`); if (slave.broodmother > 0) { diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index e28ed8c61cd915ff9da266c454ffe54eda2cce49..99398330f5262b7522ae8200e73229c398bd45a3 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -137,7 +137,7 @@ App.UI.SlaveSummaryRenderers = function() { } if (slave.vagina === 0) { makeSpan(c, "VV", "lime"); - } else if ((slave.pregKnown === 1) && canStand(slave) && (slave.clothes === "no clothing" || slave.clothes === "body oil") && (slave.shoes === "none")) { + } else if ((slave.pregKnown === 1) && canStand(slave) && (App.Data.clothes.get(slave.clothes).exposure >= 3) && (slave.shoes === "none")) { makeSpan(c, "NBP", "pink"); } if (slave.anus === 0) { @@ -459,7 +459,7 @@ App.UI.SlaveSummaryRenderers = function() { } if (slave.vagina === 0) { helpers.makeSpan(c, "Virgin.", "lime"); - } else if ((slave.pregKnown === 1) && canStand(slave) && (slave.clothes === "no clothing" || slave.clothes === "body oil") && (slave.shoes === "none")) { + } else if ((slave.pregKnown === 1) && canStand(slave) && (App.Data.clothes.get(slave.clothes).exposure >= 4) && (slave.shoes === "none")) { helpers.makeSpan(c, "Naked, barefoot, and pregnant.", "pink"); } if (slave.anus === 0) { diff --git a/src/npc/descriptions/crotch/vaginalAccessory.js b/src/npc/descriptions/crotch/vaginalAccessory.js index 9b5227dfd120119bf540ebe4608166bda4d6ef69..c607dbb59b608b3b7c6645dc7887195699e32381 100644 --- a/src/npc/descriptions/crotch/vaginalAccessory.js +++ b/src/npc/descriptions/crotch/vaginalAccessory.js @@ -67,7 +67,7 @@ App.Desc.vaginalAccessory = function(slave) { default: if (slave.chastityVagina) { r.push(`${His} pussy is protected by a chastity`); - if (slave.clothes !== "no clothing") { + if (App.Data.clothes.get(slave.clothes).exposure <= 3) { r.push(`belt worn under ${his} clothing.`); } else { r.push(`belt.`); diff --git a/src/npc/interaction/fAbuse.tw b/src/npc/interaction/fAbuse.tw index abe601fedf816d28f4e40c93ee0cb185f19668d7..009d2e5bb01e9eaab8e66e39d3ecee12ae512013 100644 --- a/src/npc/interaction/fAbuse.tw +++ b/src/npc/interaction/fAbuse.tw @@ -319,9 +319,9 @@ <</if>> <<if ($PC.dick != 0)>> - <<if hasAnyArms(getSlave($AS)) && (getSlave($AS).clothes !== "no clothing")>>While $he strips, your<<else>>Your<</if>> stiffening cock rises<<if $PC.vagina != -1>>, revealing your pussy and<</if>> earning + <<if hasAnyArms(getSlave($AS)) && App.Data.clothes.get(getSlave($AS).clothes).exposure <= 3)>>While $he strips, your<<else>>Your<</if>> stiffening cock rises<<if $PC.vagina != -1>>, revealing your pussy and<</if>> earning <<else>> - <<if hasAnyArms(getSlave($AS)) && (getSlave($AS).clothes !== "no clothing")>>While $he strips, you<<else>>You<</if>> don a cruelly large strap-on, earning + <<if hasAnyArms(getSlave($AS)) && App.Data.clothes.get(getSlave($AS).clothes).exposure <= 3)>>While $he strips, you<<else>>You<</if>> don a cruelly large strap-on, earning <</if>> <<if (getSlave($AS).fetish == "masochist") && (getSlave($AS).fetishKnown == 1) && (getSlave($AS).fetishStrength > 95)>> a sultry look @@ -333,7 +333,7 @@ from your victim. <<if isAmputee(getSlave($AS))>> - <<if (getSlave($AS).clothes !== "no clothing")>>Growing impatient, you rip the clothes off $his limbless torso<<else>>You walk up to $him<</if>> and spank $his brutally; spinning $him to present + <<if App.Data.clothes.get(getSlave($AS).clothes).exposure <= 3)>>Growing impatient, you rip the clothes off $his limbless torso<<else>>You walk up to $him<</if>> and spank $him brutally; spinning $him to present <<if (getSlave($AS).vagina > -1)>> $his holes <<else>> diff --git a/src/npc/interaction/fAnimal.js b/src/npc/interaction/fAnimal.js index d8a064064ce3a29c66ae694fe26b0374d4d78c0c..d9a129bfbdb49283dc18279bc2f2f9bc4e50f9c5 100644 --- a/src/npc/interaction/fAnimal.js +++ b/src/npc/interaction/fAnimal.js @@ -265,7 +265,7 @@ App.Interact.fAnimal = function(slave, type) { if (act === Acts.ORAL) { r.push(`You have ${him} kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth. `); } else { - r.push(`You have ${him} ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); + r.push(`You have ${him} ${App.Data.clothes.get(slave.clothes).exposure <= 3 ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); } switch (animal) { @@ -340,7 +340,7 @@ App.Interact.fAnimal = function(slave, type) { if (act === Acts.ORAL) { r.push(`You tell ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave hesitantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock, and, after taking a moment to steel ${his} resolve, begins to give it a few reluctant licks before putting it in ${his} mouth. `); } else { - r.push(`You tell ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few seconds for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); + r.push(`You tell ${him} to ${App.Data.clothes.get(slave.clothes).exposure <= 3 ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few seconds for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); } switch (animal) { @@ -415,7 +415,7 @@ App.Interact.fAnimal = function(slave, type) { if (act === Acts.ORAL) { r.push(`You force ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reluctantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth. `); } else { - r.push(`You force ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); + r.push(`You force ${him} to ${App.Data.clothes.get(slave.clothes).exposure <= 3 ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); } switch (animal) { @@ -490,7 +490,7 @@ App.Interact.fAnimal = function(slave, type) { if (act === Acts.ORAL) { r.push(`You have to physically force ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} is restrained, showing little concern when another slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, the slave takes its cock and lines it up with ${slave.slaveName}'s mouth. The animal needs no prompting, and thrusts itself into ${his} ring-gagged mouth. `); } else { - r.push(`You have to physically force ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air and restraints around ${his} wrists and ankles, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); + r.push(`You have to physically force ${him} to ${App.Data.clothes.get(slave.clothes).exposure <= 3 ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air and restraints around ${his} wrists and ankles, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `); } switch (animal) { diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw index d59d24ef61123ecc307df1dd998740d02846c6d8..b9a614a2f4fae061c3708ecc1bc3fdaa4ceb407b 100644 --- a/src/uncategorized/PESS.tw +++ b/src/uncategorized/PESS.tw @@ -157,11 +157,12 @@ The business is brief and inconsequential, but it's good to speak with $him. Whe <<= App.UI.slaveDescriptionDialog($activeSlave)>> comes wearily into your office at the end of $his day to check in with you, like a good Head Girl should. You're busy at the moment, so $he waits quietly, not wanting to interrupt you. $He seems tired, and leans <<if $activeSlave.physicalAge > 35>>heavily<<else>>lightly<</if>> against the back of the office couch<<if hasAnyProstheticArms($activeSlave)>>, $his mechanical hand hard against the leather<</if>>. Your Head Girl is a <<if $activeSlave.fetish == "dom">>very dominant $desc<<elseif $activeSlave.fetish == "sadist">>sadistic and dominant $desc<<else>>dutiful $desc and takes $his leadership position seriously<</if>>, but $he knows $he doesn't have to pretend to be invincible around you. <br><br> When you've finished your task, you raise your eyes to examine $him. $He's standing with $his <<if $activeSlave.hips > 1>>broad<<elseif $activeSlave.hips < -1>>narrow<<else>>womanly<</if>> hips slightly cocked and $his <<if $activeSlave.muscles > 95>>incredibly muscular<<elseif $activeSlave.weight > 10>>soft<<elseif $activeSlave.muscles > 10>>hard<<else>>trim<</if>> thighs bowed a bit wide. You immediately understand why: it's $his job to impregnate fertile slaves, a duty $he takes very seriously, and $his dick must be very sore. -<<if $activeSlave.clothes == "no clothing">> +<<set _exposure = App.Data.clothes.get($activeSlave.clothes).exposure>> +<<if _exposure >= 4>> $He's nude, making it obvious that $his poor soft member has done its duty today. It even looks a little moist, as though it bred a fertile slave's pussy only a few minutes ago. -<<elseif ["body oil", "chains", "clubslut netting", "restrictive latex", "shibari ropes", "uncomfortable straps"].indexOf($activeSlave.clothes) != -1>> +<<elseif _exposure == 3>> $His clothes don't cover $his dick, making it obvious that $his poor soft member has done its duty today. It even looks a little moist, as though it bred a fertile slave's pussy only a few minutes ago. -<<elseif ["a comfortable bodysuit", "a cybersuit", "a fallen nuns habit", "a latex catsuit", "a leotard", "a monokini", "a scalemail bikini", "a string bikini", "attractive lingerie for a pregnant woman", "attractive lingerie", "harem gauze", "kitty lingerie", "restrictive latex", "striped panties", "slutty jewelry", "spats and a tank top", "stretch pants and a crop-top"].indexOf($activeSlave.clothes) != -1>> +<<elseif _exposure == 2>> $His clothes cover $his groin, but they're pretty tight, making it clear that $his poor soft member has done its duty today. <<else>> $His clothes are relatively modest, so you can't see it, but it's clear that $his poor soft member has done its duty today. diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index b2ff185e6afaf43225d551f9e914884c13d200dd..da66dac5a3fa007c5dfc788423ba92b1399a6078 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -3287,84 +3287,17 @@ One afternoon, $assistant.name informs you $he that $he has a non-urgent matter brings up a video feed. <br><br> $activeSlave.slaveName is doing $his job, standing in an area of the arcology that's busy at this time of night, <<if $activeSlave.energy > 95>>eagerly<<elseif $activeSlave.devotion > 95>>diligently<<elseif $activeSlave.devotion > 20>>obediently<<else>>reluctantly<</if>> showing off $his -<<if $activeSlave.clothes == "no clothing">> - nude <<if $activeSlave.bellyPreg >= 1500>>pregnant <<elseif $activeSlave.bellyImplant >= 1500>>gravid <<elseif $activeSlave.bellyFluid >= 1500>>bloated <</if>>body +<<if $activeSlave.bellyPreg >= 1500>> + pregnant +<<elseif $activeSlave.bellyImplant >= 1500>> + gravid +<<elseif $activeSlave.bellyFluid >= 1500>> + bloated +<</if>> +<<if App.Data.clothes.get($activeSlave.clothes).exposure >= 4>> + nude body <<else>> - <<if $activeSlave.bellyPreg >= 1500>>pregnant <<elseif $activeSlave.bellyImplant >= 1500>>gravid <<elseif $activeSlave.bellyFluid >= 1500>>bloated <</if>>body in $his - <<switch $activeSlave.clothes>> - <<case "a toga">> - toga - <<case "a huipil">> - huipil - <<case "a long qipao" "a slutty qipao">> - qipao - <<case "a penitent nuns habit">> - habit - <<case "a slave gown" "a ball gown">> - gown - <<case "a comfortable bodysuit">> - bodysuit - <<case "a leotard">> - leotard - <<case "a bunny outfit">> - bunny outfit - <<case "a nice nurse outfit">> - nurse outfit - <<case "a slutty nurse outfit">> - slutty nurse outfit - <<case "a schoolgirl outfit">> - school clothes - <<case "a hijab and abaya">> - hijab and abaya - <<case "a kimono">> - kimono - <<case "a nice maid outfit">> - maid outfit - <<case "a slutty maid outfit">> - skimpy maid outfit - <<case "a biyelgee costume" "a dirndl" "a halter top dress" "a mini dress" "a maternity dress">> - dress - <<case "a latex catsuit">> - latex catsuit - <<case "a military uniform" "a mounty outfit" "a red army uniform" "a schutzstaffel uniform" "a slutty schutzstaffel uniform">> - uniform - <<case "battlearmor">> - battlearmor - <<case "Imperial Plate">> - imperial armor - <<case "lederhosen">> - lederhosen - <<case "spats and a tank top">> - spats - <<case "a burkini" "a monokini">> - swimsuit - <<case "a chattel habit" "a fallen nuns habit">> - slutty habit - <<case "a cheerleader outfit">> - cheerleader outfit - <<case "a cybersuit">> - cybersuit - <<case "a tight Imperial bodysuit">> - imperial bodysuit - <<case "an apron">> - apron - <<case "a scalemail bikini">> - scalemail bikini - <<case "a slutty outfit">> - slutty outfit - <<case "a string bikini">> - string bikini - <<case "a succubus outfit">> - succubus getup - <<case "a hijab and blouse" "conservative clothing">> - conservative clothes - <<case "a bimbo outfit">> - bimbo outfit - <<case "a courtesan dress">> - courtesan dress - <<default>> - $activeSlave.clothes - <</switch>> + body in $his <<= App.Data.clothes.get($activeSlave.clothes).name.toLowerCase()>> <</if>> and flirting with passersby. Or $he would be, if $he weren't surrounded by a group of shame-faced college boys. They're very obviously rich, naïve, and inexperienced with both sex and the Free Cities, and their complete lack of confidence in approaching $activeSlave.slaveName make that clear. <br><br> @@ -16971,10 +16904,6 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look. <</if>> $He returns quickly, in $his proper <<switch $activeSlave.clothes>> - <<case "a toga">> - toga. - <<case "a huipil">> - huipil. <<case "a long qipao" "a slutty qipao">> qipao. <<case "a penitent nuns habit">> @@ -16983,75 +16912,33 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look. gown. <<case "a comfortable bodysuit">> bodysuit. - <<case "a leotard">> - leotard. - <<case "a bunny outfit">> - bunny outfit. - <<case "a nice nurse outfit">> - nurse outfit. - <<case "a slutty nurse outfit">> - slutty nurse outfit. <<case "a schoolgirl outfit">> school clothes. - <<case "a hijab and abaya">> - hijab and abaya. - <<case "a kimono">> - kimono. <<case "a nice maid outfit">> maid outfit. <<case "a slutty maid outfit">> skimpy maid outfit. <<case "a biyelgee costume" "a dirndl" "a halter top dress" "a mini dress" "a maternity dress">> dress. - <<case "a latex catsuit">> - latex catsuit. <<case "a military uniform" "a mounty outfit" "a red army uniform" "a schutzstaffel uniform" "a slutty schutzstaffel uniform">> uniform. - <<case "battlearmor">> - battlearmor. - <<case "Imperial Plate">> - imperial armor. - <<case "lederhosen">> - lederhosen. <<case "spats and a tank top">> spats. <<case "a burkini" "a monokini">> swimsuit. <<case "a chattel habit" "a fallen nuns habit">> slutty habit. - <<case "a cheerleader outfit">> - cheerleader outfit. - <<case "a cybersuit">> - cybersuit. - <<case "a tight Imperial bodysuit">> - imperial bodysuit. - <<case "an apron">> - apron. - <<case "a scalemail bikini">> - scalemail bikini. - <<case "a slutty outfit">> - slutty outfit. - <<case "a string bikini">> - string bikini. <<case "a succubus outfit">> succubus getup. <<case "a hijab and blouse" "conservative clothing">> conservative clothes. - <<case "a bimbo outfit">> - bimbo outfit. - <<case "a courtesan dress">> - courtesan dress. <<default>> - $activeSlave.clothes. + <<= App.Data.clothes.get($activeSlave.clothes).name.toLowerCase()>> <</switch>> You tell $him that you like how $he looks, and that $he's pretty. $He wasn't expecting such a blunt compliment, and <<if canSee($activeSlave)>>$his <<= App.Desc.eyesColor($activeSlave)>> flick down to<<else>>$he faces<</if>> the ground for a moment as $he blushes. "T-thank you, <<Master>>," $he stutters. <br><br> You add that $he looks so good that $he had better take $his nice clean <<switch $activeSlave.clothes>> - <<case "a toga">> - toga - <<case "a huipil">> - huipil <<case "a long qipao" "a slutty qipao">> qipao <<case "a penitent nuns habit">> @@ -17060,66 +16947,30 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look. gown <<case "a comfortable bodysuit">> bodysuit - <<case "a leotard">> - leotard - <<case "a bunny outfit">> - bunny outfit <<case "a nice nurse outfit">> nurse outfit - <<case "a slutty nurse outfit">> - slutty nurse outfit <<case "a schoolgirl outfit">> school clothes - <<case "a hijab and abaya">> - hijab and abaya - <<case "a kimono">> - kimono <<case "a nice maid outfit">> maid outfit <<case "a slutty maid outfit">> skimpy maid outfit <<case "a biyelgee costume" "a dirndl" "a halter top dress" "a mini dress" "a maternity dress">> dress - <<case "a latex catsuit">> - latex catsuit <<case "a military uniform" "a mounty outfit" "a red army uniform" "a schutzstaffel uniform" "a slutty schutzstaffel uniform">> uniform - <<case "battlearmor">> - battlearmor - <<case "Imperial Plate">> - imperial armor - <<case "lederhosen">> - lederhosen <<case "spats and a tank top">> spats <<case "a burkini" "a monokini">> swimsuit <<case "a chattel habit" "a fallen nuns habit">> slutty habit - <<case "a cheerleader outfit">> - cheerleader outfit - <<case "a cybersuit">> - cybersuit - <<case "a tight Imperial bodysuit">> - imperial bodysuit - <<case "an apron">> - apron - <<case "a scalemail bikini">> - scalemail bikini - <<case "a slutty outfit">> - slutty outfit - <<case "a string bikini">> - string bikini <<case "a succubus outfit">> succubus getup <<case "a hijab and blouse" "conservative clothing">> conservative clothes - <<case "a bimbo outfit">> - bimbo outfit - <<case "a courtesan dress">> - courtesan dress <<default>> - $activeSlave.clothes + <<= App.Data.clothes.get($activeSlave.clothes).name.toLowerCase()>> <</switch>> off again, because <<if canDoVaginal($activeSlave) && $activeSlave.vagina != 0>>