diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index e168efe79102c15813156e6e6ce67e4386e64d5b..ab5ff93babc9ee0ca6b8f7bf156a3212890fe177 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -4,6 +4,11 @@ Pregmod 03/11/2019 + 3 + -fixes + -css tweaks + -body modification reactions expanded + 2 -fixes -code cleaning diff --git a/devNotes/twine CSS b/devNotes/twine CSS index 4a03614a0780a2eb824b0b6b109cabc8ff3b8bee..0c11d518885273e3fa7335bb94c87d15efb5d4a1 100644 --- a/devNotes/twine CSS +++ b/devNotes/twine CSS @@ -31,7 +31,7 @@ img { text-indent: -10000px; } -.imageColumn { +.imageColumn { /* TODO: this is mostly a copy of imageRef to get its flex features working properly. They can probably be removed from imageRef at some point */ display: flex; flex-direction: column; flex-wrap: wrap; @@ -123,7 +123,6 @@ img { .lrgVector svg { width: 336px; - height: 600px; } object { @@ -182,8 +181,7 @@ span.plusButton > a:hover { text-decoration: none; } span.minusButton > a:hover { text-decoration: none; } span.zeroButton > a:hover { text-decoration: none; } -/* Colors are made as css classes, to allow them to be - changed for a light color scheme (for example). */ +/* Colors are made as css classes, to allow them to be changed for a light color scheme (for example). */ .link { color: #68D } /* link color */ .aquamarine { color: aquamarine } .coral { color: coral } @@ -265,7 +263,7 @@ span.zeroButton > a:hover { text-decoration: none; } .springgreen a { color: springgreen } .tan a { color: tan } .chocolate a { color: chocolate } -.saddlebrown { color: saddlebrown } +.saddlebrown a { color: saddlebrown } .teal a { color: teal } .yellow a { color: yellow } .yellowgreen a { color: yellowgreen } diff --git a/fixSpellingMistakes b/fixSpellingMistakes index 01893e9145d233751e217f36e4f62d62ba27f36d..b45351ab08abc0b6f8ed3313f1b1500516e6e533 100755 --- a/fixSpellingMistakes +++ b/fixSpellingMistakes @@ -6,4 +6,3 @@ if [ ! -d ".git" ]; then fi git ls-files -z src/*.tw | grep -z -v .min.tw | grep -z -v setupVars.tw | xargs -0 sed -i -f devTools/spell_check.txt - diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw index 31cfeaf6c40d711952750ee3f9f8ee09574e7a9e..913b7bdcb6ca32cf1a3ac6945826af2f908df507 100644 --- a/src/SecExp/secExpSmilingMan.tw +++ b/src/SecExp/secExpSmilingMan.tw @@ -71,7 +71,7 @@ It is indeed a great opportunity, one you cannot resist. You quickly organize the affair and in a few minutes a message reaches your assistant. <br>"Should I open it?" your assistant asks. You silently nod. <br>Suddenly the room flashes red, while your assistant fades for half a second. When _heA reappears, _hisA face has been replaced by a stylized smiling face. - <br>"Hello, my dear $PC.name. I can call you $PC.name, right? I've been keeping an eye on you for so long now, it feels like we're friends! I am terribly sorry for my unannounced visit, but I wanted to meet face to face... well, face to hologram." its says, letting out a childlike giggle. + <br>"Hello, my dear $PC.name. I can call you $PC.name, right? I've been keeping an eye on you for so long now, it feels like we're friends! I am terribly sorry for my unannounced visit, but I wanted to meet face to face... well, face to hologram." it says, letting out a childlike giggle. "I'm sure you're aware of my recent activities around this rock of ours, and, well, to put it simply, it's your turn to contribute to my great project! You'll love it when you see it, I'm sure! By the way, thanks for the offer — it's so nice to see people contribute to a worthy cause so generously! Well, I've taken enough of your time, see you soon!" <br>The lights flicker once more and an instant later your assistant returns to _hisA usual self. <br>"I... I — I couldn't stop him! I'm sorry, <<= properTitle()>>." @@ -92,7 +92,7 @@ <<set _lostCash -= 20000>> The funding you dedicated to the Smiling Man case saved some of the assets that would have been otherwise lost. <</if>> - <<run cashX(_lostCash, "event")>> + <<run cashX(forceNeg(_lostCash), "event")>> <br> <br> <span id="result"> @@ -145,7 +145,8 @@ It's to fix this injustice, that I worked so hard all this time! To cleanse the world of the old, we must get rid of our precious, precious data. At the end of this message every digital device will see its memory erased, every archive cleaned, every drive deleted. <br>It will be a true rebirth! A true new beginning! No longer will the chains of the past keep humanity anchored!" <br>The voice stopped for a second. - <br>"Have a good day." it simply concluded, then it happened. + <br>"Have a good day," it simply concluded. + <br>Then it happened. <br>In little more than seconds all the data collected in the years past vanished. It's a disaster. <<if $cash < 0>> The vast majority of currency is digital, so the actions of the Smiling Man have a devastating effect on the money supply. Luckily for you this means that your @@.yellowgreen;debt is reduced@@. @@ -294,22 +295,43 @@ <<set $activeSlave.preg = 0>> <<set $activeSlave.prestige = 3>> <<set $activeSlave.prestigeDesc = "She was the famous Smiling Man.">> + <<set $activeSlave.clothes = "a military uniform">> /*closest thing to commie/punk we have at the moment*/ <<setLocalPronouns $activeSlave>> <br> The day has come to finally put an end to this story. Your men are ready to go, waiting only on your signal. You quickly don your protective gear and proceed down the busy streets of your arcology. You carefully planned the day so that nothing could exit the arcology without being scanned at least three times and poked twice. The Smiling Man has no escape. <br>After a short walk you are in front of the criminal's lair, a rundown old apartment in a scarcely populated part of the arcology. You give the order to breach and your men rush inside without problems. - After a couple of seconds pass without a single noise coming from the apartment, you begin to worry. Then you hear the captain calling you inside. - <br>"So it was you to find me first. - <<if $relationshipLM > 2>> - I was hoping you would be the one! - <<else>> - I expected you would be the one. - <</if>> - "Well, I hope I'm everything you expected," you hear a voice say. Despite recognizing it, you struggle to convince yourself that the little $girl in front of you is indeed the famous criminal mastermind. - "As you can see, I have no intention of escaping. I knew my life was over the second my plan went into effect. I accepted my end a long time ago, so feel free to do your worst; my life has already ended in triumph." - <br>You evaluate the situation: the burning desire of vengeance for all the damage that little twerp caused is hard to ignore, but equally so is the admiration for $his skill and determination. Indeed, $he would be a great addition to your court, as a free individual or not. + After a couple of seconds pass without a single noise coming from the apartment, you begin to worry. Then you hear the captain + + <span id="continue"> + +<<link "calling you inside.">> + <<replace "#continue">> + <span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + </span> + calling you inside. + <br>"So it was you to find me first. + <<if $relationshipLM > 2>> + I was hoping you would be the one! + <<else>> + I expected you would be the one. + <</if>> + Well, I hope I'm everything you expected," you hear a voice say. Despite recognizing it, you struggle to convince yourself that the little $girl in front of you is indeed the famous criminal mastermind. + <br>"As you can see, I have no intention of escaping. I knew my life was over the second my plan went into effect. I accepted my end a long time ago, so feel free to do your worst; my life has already ended in triumph." + <br>You evaluate the situation: the burning desire of vengeance for all the damage that little twerp caused is hard to ignore, but equally so is the admiration for $his skill and determination. Indeed, $he would be a great addition to your court, as a free individual or not. + <</replace>> +<</link>> +</span> <br> <br> <<link "Offer $him a new life">> @@ -356,6 +378,15 @@ <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">> <<if $smilingManFate == 0>> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ <<if $relationshipLM >= 4>> The $girl asks for a few minutes to think about your offer, but $he quickly comes to terms with the situation and accepts. In the following weeks $he will get acquainted with the security network of the arcology and work to protect $his new home in the new world $he has created. The world will never find out the truth of the Smiling Man and his legend will only grow with time, outliving his creator and maybe even $his new employer. @@ -365,10 +396,21 @@ <</if>> <br>The collaboration of the ex-Smiling Man permanently increases @@.green;security and the rate of prosperity growth.@@ @@.limegreen;Cash will be also provided,@@ but you're better off not knowing the sources. <<elseif $smilingManFate == 1>> + <<set $activeSlave.clothes = "no clothing">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ For such a criminal a simple execution is not enough. You order the $girl captured and crucified outside the city, with a mask resembling $his famous symbol. Your men quickly obey. $He never once shows sign of pain or fear, remaining stoic and proud to the end. Once $his life ends, you order a statue erected in commemoration of the death of the Smiling Man. From this day forward the statue of the crucified criminal will adorn your arcology and his legend will be forever entangled with yours. <br>Having dealt with the Smiling Man will provide @@.green;a large boost to your reputation, as well as a moderate amount of reputation each week@@. <<elseif $smilingManFate == 2>> + <<set $activeSlave.clothes = "no clothing">> <<if $relationshipLM >= 4>> Your men move to immobilize $him. Terror flashes through $his eyes for a second, but $he quickly recovers $his usual demeanor. <<else>> diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index b08de3d40cd0b18bd925d652910d8347da841820..80595cf475060de9aa3914da2182b9886c2cb3af 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -28,7 +28,7 @@ window.Count = function() { } else { T.NY=S.AircraftCarrier + S.Sub + S.HAT; T.Base += T.NY; T.NYU=T.ACU + T.SubU + T.HATU; T.max += T.NYU; - } V.SF.Size=T.Base; V.SF.Size=C(V.SF.Size, 0, T.max); T.T1=0; + } V.SF.Size=T.Base; V.SF.Size=C(V.SF.Size, 1, T.max); T.T1=0; if (E > 100) {T.Env=4;} else if (E > 67) {T.Env=3;} else {T.Env=2;} if (V.SF.Size >= 30) T.T1=1; T.SFSubsidy=5000*(1+((V.SF.Squad.Troops/100)+(V.SF.Size/100))); SFNameCapsCheck(); diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js index fe6ebc59ad2dcb011fd928d0e7c145bc2838ce6b..6d6308083adfb65acbd108ab69e9dec11a20e44c 100644 --- a/src/art/vector/VectorArtJS.js +++ b/src/art/vector/VectorArtJS.js @@ -2738,7 +2738,7 @@ window.LegacyVectorArt = function(slave, artSize) { if (slave.vagina > 0) { if (slave.dick > 0) { r += '<div class="highPenis">'; - if (slave.scrotum > 0) + if (slave.scrotum > 0) r += `<img class='paperdoll' src=${skinFilePath}/ball ${ballSize}.svg' style='${skinFilter}'>`; if (canAchieveErection(slave)) { r += `<img class='paperdoll' src=${skinFilePath}/penis ${penisSize}.svg' style='${skinFilter}'>`; @@ -2752,7 +2752,7 @@ window.LegacyVectorArt = function(slave, artSize) { } else { if (slave.dick > 0) { r += '<div class="lowPenis">'; - if (slave.scrotum > 0) + if (slave.scrotum > 0) r += `<img class='paperdoll' src=${skinFilePath}/ball ${ballSize}.svg' style='${skinFilter}'>`; if (canAchieveErection(slave)) { r += `<img class='paperdoll' src=${skinFilePath}/penis ${penisSize}.svg' style='${skinFilter}'>`; diff --git a/src/art/vector_revamp/vectorRevampedArtControl.js b/src/art/vector_revamp/vectorRevampedArtControl.js index 08722ac290b877e5589e4c8a791922087c3378ab..b70074c5f3a8e1fab7d4e04917203740926cc8a4 100644 --- a/src/art/vector_revamp/vectorRevampedArtControl.js +++ b/src/art/vector_revamp/vectorRevampedArtControl.js @@ -8,7 +8,7 @@ window.RevampedVectorArt = function(slave) { else T.art_display_id = 1; T.art_display_class = `ad${T.art_display_id}`; - + /*Using JS from vectorRevampedArtControl.tw*/ T.revampedVectorArtControl = getVectorArtRevampedControl(T.art_display_class, slave, V.seeVectorArtHighlights, V.showBodyMods) diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 7638bd8a7e74cb96d33cd6a1f4516e2d5ad55ce1..4ea3ba60913c98c0811a9f9a0857b734d01ccc95 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -69,13 +69,13 @@ You should have received a copy of the GNU General Public License along with thi <<set $slaves[_i].nationality = "Ancient Chinese Revivalist">> <</if>> <<if $slaves[_i].relationTarget != 0>> - <<set $slaves[_i].relationTarget += _NGPOffset>> + <<set $slaves[_i].relationTarget += _NGPOffset>> <</if>> <<if $slaves[_i].relationshipTarget != 0>> - <<set $slaves[_i].relationshipTarget += _NGPOffset>> + <<set $slaves[_i].relationshipTarget += _NGPOffset>> <</if>> <<if $slaves[_i].cloneID != 0>> - <<set $slaves[_i].cloneID += _NGPOffset>> + <<set $slaves[_i].cloneID += _NGPOffset>> <</if>> <<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0, $slaves[_i].subTarget = 0>> <<set $slaves[_i].drugs = "no drugs">> @@ -146,7 +146,7 @@ You should have received a copy of the GNU General Public License along with thi <<set _seed = 1>> <</if>> <<if _seed == 0>> - <<set $slaves[_i].relation = 0, $slaves[_i].relationTarget = 0>> + <<set $slaves[_i].relation = 0, $slaves[_i].relationTarget = 0>> <</if>> <</if>> <<if $slaves[_i].relationship > 0>> @@ -156,7 +156,7 @@ You should have received a copy of the GNU General Public License along with thi <<set _seed = 1>> <</if>> <<if _seed == 0>> - <<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>> + <<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>> <</if>> <</if>> <</for>> @@ -345,7 +345,7 @@ You should have received a copy of the GNU General Public License along with thi }>> <<set $formatNumbers = 0>> - /*onlyintendeddickgirls variables */ + /* onlyintendeddickgirls variables */ <<set $makeDicks = 0>> /* economy reports variables */ @@ -368,7 +368,7 @@ You should have received a copy of the GNU General Public License along with thi <<set $weightAffectsAssets = 1>> <<set $curativeSideEffects = 1>> - /*non-vanilla shit*/ + /* non-vanilla shit */ <<set $pedo_mode = 0>> <<set $minimumSlaveAge = 18>> <<set $fertilityAge = 13>> @@ -445,7 +445,7 @@ You should have received a copy of the GNU General Public License along with thi <</if>> /*Undefining corporation variables*/ - <<unset $corpCash,$personalShares,$publicShares,$corpDividend,$dividendTimer,$corpDiv,$corpRev,$corpDivExtraSlaves,$corpDivLegalSlaves,$corpDivBreakSlaves,$corpDivBreakSlaves2,$corpDivSurgerySlaves,$corpDivSurgerySlaves2,$corpDivTrainSlaves,$corpDivTrainSlaves2,$corpDivArcadeSlaves,$corpDivMenialSlaves,$corpDivDairySlaves,$corpDivWhoreSlaves,$corpRevOld,$corpAssetsSlaveOld,$corpAssetsSlave,$corpAssetsDevOld,$corpAssetsDev,$corpOverheadOld,$corpOpCostOld,$corpProfitOld,$corpSpecAccent,$corpSpecAge,$corpSpecAmputee,$corpSpecBalls,$corpSpecDevotion,$corpSpecDick,$corpSpecEducation,$corpSpecGender,$corpSpecGenitalia,$corpSpecWeight,$corpSpecHeight,$corpSpecHormones,$corpSpecImplants,$corpSpecInjection,$corpSpecIntelligence,$corpSpecMilk,$corpSpecMuscle,$corpSpecPussy,$corpSpecSexEd,$corpSpecTrust,$corpSpecVirgin,$corpDivExtraToArcade,$corpDivExtraToBreak,$corpDivExtraToMarket,$corpDivLegalToMenial,$corpDivLegalToSurgery,$corpDivLegalToTrain,$corpDivLegalToMarket,$corpDivBreakToMenial,$corpDivBreakToSurgery,$corpDivBreakToTrain,$corpDivBreakToMarket,$corpDivBreakFromMarket,$corpDivSurgeryToDairy,$corpDivSurgeryToTrain,$corpDivSurgeryToMarket,$corpDivSurgeryFromMarket,$corpDivTrainToWhore,$corpDivTrainToMarket,$corpDivTrainFromMarket,$corpDivArcadeFromMarket,$corpDivMenialFromMarket,$corpDivDairyFromMarket,$corpDivWhoreFromMarket>> + <<unset $corpAssetsDev, $corpAssetsDevOld, $corpAssetsSlave, $corpAssetsSlaveOld, $corpCash, $corpDiv, $corpDivArcadeFromMarket, $corpDivArcadeSlaves, $corpDivBreakFromMarket, $corpDivBreakSlaves, $corpDivBreakSlaves2, $corpDivBreakToMarket, $corpDivBreakToMenial, $corpDivBreakToSurgery, $corpDivBreakToTrain, $corpDivDairyFromMarket, $corpDivDairySlaves, $corpDivExtraSlaves, $corpDivExtraToArcade, $corpDivExtraToBreak, $corpDivExtraToMarket, $corpDividend, $corpDivLegalSlaves, $corpDivLegalToMarket, $corpDivLegalToMenial, $corpDivLegalToSurgery, $corpDivLegalToTrain, $corpDivMenialFromMarket, $corpDivMenialSlaves, $corpDivSurgeryFromMarket, $corpDivSurgerySlaves, $corpDivSurgerySlaves2, $corpDivSurgeryToDairy, $corpDivSurgeryToMarket, $corpDivSurgeryToTrain, $corpDivTrainFromMarket, $corpDivTrainSlaves, $corpDivTrainSlaves2, $corpDivTrainToMarket, $corpDivTrainToWhore, $corpDivWhoreFromMarket, $corpDivWhoreSlaves, $corpOpCostOld, $corpOverheadOld, $corpProfitOld, $corpRev, $corpRevOld, $corpSpecAccent, $corpSpecAge, $corpSpecAmputee, $corpSpecBalls, $corpSpecDevotion, $corpSpecDick, $corpSpecEducation, $corpSpecGender, $corpSpecGenitalia, $corpSpecHeight, $corpSpecHormones, $corpSpecImplants, $corpSpecInjection, $corpSpecIntelligence, $corpSpecMilk, $corpSpecMuscle, $corpSpecPussy, $corpSpecSexEd, $corpSpecTrust, $corpSpecVirgin, $corpSpecWeight, $dividendTimer, $personalShares, $publicShares>> <</if>> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 8f71836abf23b0824e4394ce0141f5c6a02a956d..2a72bb0ff5a8cf672762f51d0f251640cfb7070d 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1822,7 +1822,7 @@ App.Entity.SlaveState = class SlaveState { * 0: not being rude; 1: insists on calling you a rude title */ this.rudeTitle = 0; /** - * holds the custom slave image file name (used if images are enabled) + * holds the custom slave image file name (used if images are enabled) * * @type {string} */ this.customImage = ""; diff --git a/src/js/extendedFamilyModeJS.js b/src/js/extendedFamilyModeJS.js index 368227ad92dde2ff3a5297f94d6dcb712645377c..64db893921f98427b06b35abb8b5a212a9d5f360 100644 --- a/src/js/extendedFamilyModeJS.js +++ b/src/js/extendedFamilyModeJS.js @@ -37,16 +37,16 @@ window.isAunt = /** @param {App.Entity.SlaveState} niece, @param {App.Entity.Sla if (!niece || !aunt || (niece.ID === aunt.ID)) { return false; } - + var mother; var father; - + if ((mother = getSlave(niece.mother)) && (mother.ID !== aunt.ID) && !sameTParent(mother, aunt) && sameMom(mother, aunt) && sameDad(mother, aunt)) { return true; } else if ((father = getSlave(niece.father)) && (father.ID !== aunt.ID) && !sameTParent(father, aunt) && sameMom(father, aunt) && sameDad(father, aunt)) { return true; } - + return false; }; @@ -143,12 +143,12 @@ window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entit if (!slave1 || !slave2 || (slave1.ID === slave2.ID) || areSisters(slave1, slave2) ) { return false; } - + var slave1Mom; var slave1Dad; var slave2Mom; var slave2Dad; - + if ((slave1Mom = getSlave(slave1.mother)) && (slave2Mom = getSlave(slave2.mother)) && !sameTParent(slave1Mom, slave2Mom) && sameMom(slave1Mom, slave2Mom) && sameDad(slave1Mom, slave2Mom)){ return true; } else if ((slave1Mom = getSlave(slave1.mother)) && (slave2Dad = getSlave(slave2.father)) && !sameTParent(slave1Mom, slave2Dad) && sameMom(slave1Mom, slave2Dad) && sameDad(slave1Mom, slave2Dad)) { @@ -158,7 +158,7 @@ window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entit } else if ((slave1Dad = getSlave(slave1.father)) && (slave2Dad = getSlave(slave2.father)) && !sameTParent(slave1Dad, slave2Dad) && sameMom(slave1Dad, slave2Dad) && sameDad(slave1Dad, slave2Dad)) { return true; } - + return false; }; diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js index 309ea9c71009f801f24c4b35e48bb569fe47fc08..86b325ac1a990bbb3651627af38581d50022f837 100644 --- a/src/js/rulesAutosurgery.js +++ b/src/js/rulesAutosurgery.js @@ -155,7 +155,7 @@ window.rulesAutosurgery = (function() { cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - + } else if ((slave.hears === -1) && (thisSurgery.surgery_smells === 0)) { surgeries.push("surgery to correct her sense of smell"); slave.smells = 0; diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index ad365b27121b6131edd834ddf6669ac5da03bc9d..2eb64c87236dfc98bc5d26aee4a5a736ed49e1c3 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -4602,7 +4602,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + /** @param {App.Entity.SlaveState} slave */ function long_chastity(slave) { if (slave.chastityAnus === 1 && slave.chastityPenis === 1 && slave.chastityVagina === 1) { @@ -5622,7 +5622,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`<span id="slave-${slaves[_ssi].ID}"> </span>`); } res.push('<br/>'); - + if (slaveImagePrinted) { res.push(' '); } diff --git a/src/js/utilJS.js b/src/js/utilJS.js index d1512eda8cef64a953cd31cac80f711bd01af5b6..f98250df90e7c2fd9f16c6688726e66b4ee8ed6c 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1589,6 +1589,7 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function OralSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); + const his = slave.possessivePronoun; let r; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; @@ -1598,7 +1599,7 @@ window.SkillIncrease = (function() { } } else if (slave.oralSkill <= 30) { if (slave.oralSkill + skillIncrease > 30) { - r = `<span class="green">${He} now has some oral skills,</span> and can reliably bring dicks and pussies to climax with $his mouth.`; + r = `<span class="green">${He} now has some oral skills,</span> and can reliably bring dicks and pussies to climax with ${his} mouth.`; } } else if (slave.oralSkill <= 60) { if (slave.oralSkill + skillIncrease > 60) { @@ -1643,12 +1644,13 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function AnalSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); + const his = slave.possessivePronoun; let r; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.analSkill <= 10) { if (slave.analSkill + skillIncrease > 10) { - r = `<span class="green">${He} now has basic knowledge about anal sex,</span> and can accept penetration of $his anus without danger.`; + r = `<span class="green">${He} now has basic knowledge about anal sex,</span> and can accept penetration of ${his} anus without danger.`; } } else if (slave.analSkill <= 30) { if (slave.analSkill + skillIncrease > 30) { @@ -1656,7 +1658,7 @@ window.SkillIncrease = (function() { } } else if (slave.analSkill <= 60) { if (slave.analSkill + skillIncrease > 60) { - r = `<span class="green">${He} is now an anal sex expert,</span> and knows how to use $his sphincter to please.`; + r = `<span class="green">${He} is now an anal sex expert,</span> and knows how to use ${his} sphincter to please.`; } } else if (slave.analSkill < 100) { if (slave.analSkill + skillIncrease >= 100) { @@ -1670,6 +1672,7 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function WhoreSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); + const his = slave.possessivePronoun; let r; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; @@ -1679,7 +1682,7 @@ window.SkillIncrease = (function() { } } else if (slave.whoreSkill <= 30) { if (slave.whoreSkill + skillIncrease > 30) { - r = `<span class="green">${He} now has some skill as a whore,</span> and knows how to sell $his body at a good price.`; + r = `<span class="green">${He} now has some skill as a whore,</span> and knows how to sell ${his} body at a good price.`; } } else if (slave.whoreSkill <= 60) { if (slave.whoreSkill + skillIncrease > 60) { diff --git a/src/js/walkPastJS.js b/src/js/walkPastJS.js index fc54335e12287d92d7c0933624bcdceaf0e59112..5ce958e59ec9576642d5f9dcd2167d9a8c5b1407 100644 --- a/src/js/walkPastJS.js +++ b/src/js/walkPastJS.js @@ -84,7 +84,7 @@ window.loverSlave = function(activeSlave) { } else { activeSlaveRel = "slave wife"; } - + t += `${name} and ${partnerName} are `; if (!isSlaveAvailable(_partnerSlave)) { if (_partnerSlave.assignment === "work in the dairy" && V.DairyRestraintsSetting >= 2) { @@ -822,7 +822,7 @@ window.loverSlave = function(activeSlave) { t += `so ${he2} has to try ${his2} hardest to suck ${name}'s dick with ${his2} belly hindering ${his2} movements; something ${name} enjoys tremendously.`; } else { t += `so ${he2} has to try ${his2} hardest to orally service ${name} with ${his2} belly in the way; something ${name} enjoys tremendously.`; - } + } } } else if (activeSlave.belly >= 5000) { if (activeSlave.dick > 0 && _fuckSeed > 5) { @@ -1241,7 +1241,7 @@ window.relatedSlave = function(activeSlave) { const He = capFirstChar(he), His = capFirstChar(his); let t = ""; let partnerSlave; - + let fuckseed = jsRandom(1,100); if (V.partner === "relation") { @@ -1254,7 +1254,7 @@ window.relatedSlave = function(activeSlave) { var activeSlaveRel = relationshipTerm(activeSlave); partnerSlave = getSlave(activeSlave.relationshipTarget); } - + if (partnerSlave !== undefined) { /* potential problem point */ t += ` ${His} `; @@ -1864,3 +1864,413 @@ window.walkPasts = function(slave, _seed) { } return t; }; + +window.boobWatch = function(slave) { + + /* will be moved up once this becomes a single, contained function. */ + let t = "" + let V = State.variables + + let pronouns = getPronouns(slave) + let he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun + let He = capFirstChar(he), His = capFirstChar(his) + + let breasts = (slave.boobs < 300) ? `flat chest` : `breasts`; + + t += `<<BoobsDescription>> `; + switch (slave.clothes) { + case "uncomfortable straps": + if (slave.boobs < 300) { + t += `The rings constantly rub against ${his} chest and force ${his} nipples to stick out.`; + } else { + t += `The strap over ${his} tits presses the soft flesh, and the ring around each nipple `; + if (slave.nipples === "fuckable") { + t += `forces them open.`; + } else { + t += `forces them to stick out.`; + } + } + break; + case "shibari ropes": + t += `The ropes binding ${his} chest `; + if (slave.boobs < 300) { + t += `shift slightly with every step, since ${he} lacks any breasts to hold them in place.`; + } else { + t += `dig into the soft flesh as ${he} moves.`; + } + break; + case "attractive lingerie for a pregnant women": + if (slave.boobs < 300) { + t += `The bulge of ${his} ${slave.nipples} nipples can be seen under the taut silk.`; + } else { + t += `${His} silken bra causes ${his} breasts to bulge around them.`; + } + break; + case "a maternity dress": + t += `${His} low cut dress `; + if (slave.boobs < 300) { + t += `was made with breasts in mind; every stop ${he} takes risks it sliding down and revealing ${his} ${slave.nipples} nipples.`; + } else { + t += `shows ample cleavage and is made to be easy to pull down.`; + } + break; + case "stretch pants and a crop-top": + if (slave.boobs < 300) { + t += `${His} flat chest makes the perfect canvas to read ${his} crop-top.`; + } else { + t += `${His} crop-top tightly clings to ${his} breasts and moves along with them. ${His} jiggling cleavage distracts from the writing on ${his} tits.`; + } + break; + case "restrictive latex": + if (slave.boobs < 300) { + t += `${His} lack of breasts draws your eyes straight to ${his} exposed nipples.`; + } else { + t += `${His} tits stick out through ${his} latex outfit.`; + } + break; + case "attractive lingerie": + t += `${His} pretty white lace bra has thoughtful cuts that tastefully let ${his} nipples stick through.`; + break; + case "kitty lingerie": + t += `${His} lingerie's cleavage window proudly displays ${his} `; + if (slave.boobs < 300) { + t += `flat chest.`; + } else { + t += `ample valley.`; + } + break; + case "a succubus outfit": + t += `${His} succubus outfit presents this sex demon's ${breasts}, inviting a damning fondle.`; + break; + case "a slutty maid outfit": + t += `${His} maid outfit covers ${his} ${breasts} with a thin white blouse designed to be easy to pull down.`; + break; + case "a nice maid outfit": + t += `${His} maid outfit covers ${his} ${breasts} demurely, offering the diverting task of pulling it off ${him}.`; + break; + case "a monokini": + t += `The straps of ${his} monokini cross in the center of ${his} chest, leaving the rest of ${his} ${breasts} naked.`; + break; + case "a cybersuit": + t += `${His} bodysuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a string bikini": + t += `${His} string bikini covers only ${his} nipples, leaving the remainder of ${his} ${breasts} naked.`; + break; + case "a scalemail bikini": + t += `${His} scalemail bikini covers `; + if (slave.boobs < 300) { + t += `all of $his flat chest.`; + } else if (slave.boobs < 700) { + t += `${his} breasts entirely.`; + } else if (slave.boobs < 1500) { + t += `much of ${his} breasts, while still emphasizing them.`; + } else { + t += `the front of ${his} breasts.`; + } + break; + case "striped panties": + t += `${His} cute panties covers only ${his} crotch, leaving ${his} ${breasts} bare.`; + break; + case "clubslut netting": + t += `As ${he} moves, the weave of the netting over ${his} chest slips back and forth across ${his} nipples.`; + break; + case "a cheerleader outfit": + t += `As ${he} moves, `; + if (slave.boobs < 300) { + t += `the tight fabric rubs across ${his} obvious nipples.`; + } else { + t += `${his} chest threatens to fall out of ${his} cheerleader top.`; + } + break; + case "an apron": + t += `As ${he} moves, ${his} apron `; + if (slave.boobs < 300) { + t += `threatens to bounce off ${his} flat chest and expose ${his} nipples.`; + } else { + t += `provides excellent views of the sides of ${his} breasts.`; + } + break; + case "cutoffs and a t-shirt": + if (slave.boobs < 300) { + t += `${His} non-existent breasts are bare under ${his} t-shirt; not that you can really tell since they lack motion completely.`; + } else { + t += `${His} tits are bare under ${his} t-shirt, so movement gives delicious hints of their motion.`; + } + break; + case "spats and a tank top": + if (slave.boobs < 300) { + t += `${His} flat chest makes ${his} form-fitting tank top look as if it's clinging to a tube.`; + } else { + t += `${His} breasts bounce slightly under ${his} tank top as ${he} moves.`; + } + break; + case "a slutty outfit": + t += `For today's slutty outfit ${he}'s chosen a `; + if (jsRandom(1,100) > 50) { + t += `handkerchief top that occasionally comes untied and `; + if (slave.boobs < 300) { + t += `reveals ${his} flat chest.`; + } else { + t += `spills ${his} breasts out naked.`; + } + } else { + t += `halter top cut so low that `; + if (slave.boobs < 300) { + t += `it occasionally slips down ${his} flat chest to reveal a nipple.`; + } else { + t += `${his} breasts occasionally pop out.`; + } + } + break; + case "a slave gown": + t += `${His} gorgeous dress has thoughtful cuts that tastefully bares ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts.`; + break; + case "slutty business attire": + t += `${His} suit jacket and blouse are low enough to show off a lot of `; + if (slave.boobs < 300) { + t += `boob, or they would, had ${he} had any.`; + } else { + t += `boob.`; + } + break; + case "nice business attire": + t += `${His} suit jacket and blouse are businesslike, but they could be removed easily enough.`; + break; + case "a halter top dress": + t += `${His} beautiful halter top dress almost seems to be sculpted around ${his} body.`; + break; + case "a ball gown": + t += `${His} fabulous silken ball gown is tailored to accentuate the shape of ${his} ${breasts}.`; + break; + case "a slutty nurse outfit": + t += `${His} jacket presents ${his} ${(slave.boobs < 300) ? 'nipples' : 'breasts'} to be ogled.`; + break; + case "a schoolgirl outfit": + t += `${His} blouse lewdly displays ${his} `; + if (slave.boobs < 300) { + t += `${slave.nipples} nipples.`; + } else { + t += `breasts.`; + } + break; + case "a kimono": + t += `${His} kimono is clearly designed to accentuate ${his} ${breasts}.`; + break; + case "a hijab and abaya": + case "a niqab and abaya": + t += `${His} abaya covers ${his} ${breasts} totally.`; + break; + case "a thong": + case "a skimpy loincloth": + case "boyshorts": + case "cutoffs": + case "panties": + case "leather pants": + case "jeans": + case "sport shorts": + t += `Since ${he}'s wearing nothing but ${slave.clothing}, ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are delightfully naked.`; + break; + case "a hijab and blouse": + t += `${His} blouse and overshirt keep ${his} ${breasts} concealed.`; + break; + case "a huipil": + t += `${His} huipil `; + if (slave.boobs < 300) { + t += `daintily covers ${his} ${slave.nipples} nipples and flat chest.`; + } else { + t += `hugs the curves of ${his} breasts.`; + } + break; + case "battledress": + if (slave.boobs < 300) { + t += `As ${he} moves, you can occasionally spot ${his} lack of undergarments.`; + } else { + t += `${His} tank top and sports bra support rather than flatter ${his} breasts.`; + } + break; + case "a fallen nuns habit": + t += `${His} slutty nun outfit leaves ${his} ${(slave.boobs < 300) ? 'flat ' : ''}tits sinfully bare.`; + break; + case "a chattel habit": + t += `${His} chattel habit leaves ${his} ${(slave.boobs < 300) ? 'flat ' : ''}tits virtuously bare.`; + break; + case "a penitent nuns habit": + t += `${His} habit chafes ${his} nipples so harshly that it would probably be a relief to ${him} to have it stripped off ${him}.`; + break; + case "a comfortable bodysuit": + t += `${His} bodysuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a latex catsuit": + t += `${His} latex catsuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a military uniform": + case "a police uniform": + case "a schutzstaffel uniform": + case "a mounty outfit": + case "a red army uniform": + t += `${His} uniform tunic and shirt are formal, but they could be removed easily enough.`; + break; + case "battlearmor": + t += `${His} battlearmor will take some considerable effort to get out of.`; + break; + case "a nice nurse outfit": + t += `${His} nurse's outfit is functional, but they could be removed easily enough.`; + break; + case "a mini dress": + t += `${His} mini dress is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a leotard": + if (slave.boobs < 300) { + t += `${His} leotard draws the eye straight to ${his} obvious nipples, since it lacks anything else to show off.`; + } else { + t += `${His} leotard is tight enough that it not only hugs ${his} breasts, but shows off ${his} nipples as well.`; + } + break; + case "a bunny outfit": + if (slave.boobs < 300) { + t += `With no breasts to speak of, ${his} strapless corset teddy manages to look rather slutty.`; + } else { + t += `${His} strapless corset teddy presents ${his} boobs while still managing to look a bit classy.`; + } + break; + case "harem gauze": + t += `${His} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are clearly visible through the thin gauze that covers them.`; + break; + case "slutty jewelry": + if (slave.boobs < 300) { + t += `The light chain across ${his} non-existent breasts is the only thing on ${his} chest capable of moving separately from ${him}.`; + } else { + t += `The light chain under ${his} breasts accentuates their natural movement.`; + } + break; + + //needs improvement + case "a klan robe": + t += `${His} robe covers ${his} ${breasts} totally.`; + break; + case "a burqa": + t += `${His} burqa covers ${his} ${breasts} totally.`; + break; + case "a tube top and thong": + case "a tube top": + case "leather pants and a tube top": + t += `${His} tube top covers ${his} ${breasts} totally.`; + break; + case "a button-up shirt and panties": + case "a button-up shirt": + case "a t-shirt": + case "a t-shirt and thong": + case "an oversized t-shirt and boyshorts": + case "an oversized t-shirt": + case "a t-shirt and jeans": + case "sport shorts and a t-shirt": + case "a t-shirt and panties": + t += `${His} shirt covers ${his} ${breasts} totally.`; + break; + case "a bra": + case "a striped bra": + case "striped underwear": + case "a sports bra": + case "sport shorts and a sports bra": + t += `${His} bra covers ${his} ${breasts} totally.`; + break; + case "a tank-top": + case "a tank-top and panties": + t += `${His} tank-top covers ${his} ${breasts} totally.`; + break; + case "a sweater": + case "a sweater and panties": + case "a sweater and cutoffs": + t += `${His} sweater covers ${his} ${breasts} totally.`; + break; + case "a slutty klan robe": + t += `${His} robe partially covers ${his} ${breasts}.`; + break; + case "a nice pony outfit": + case "a slutty pony outfit": + t += `${His} pony outfit partially covers ${his} ${breasts}.`; + break; + case "leather pants and pasties": + case "panties and pasties": + t += `${His} pasties cover nothing more than ${his} nipples.`; + break; + case "a one-piece swimsuit": + t += `${His} swimsuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a hanbok": + t += `${His} hanbok covers ${his} ${breasts} totally.`; + break; + case "a gothic lolita dress": + t += `${His} dress covers ${his} ${breasts} totally.`; + break; + case "a burkini": + t += `${His} burkini clings to the shape of ${his} ${breasts}.`; + break; + case "a slutty schutzstaffel uniform": + t += `${His} uniform tunic and shirt are formal, but they could be removed easily enough.`; + break; + case "a long qipao": + t += `${His} elegant qipao can be removed with minimal effort.`; + break; + case "a dirndl": + t += `${His} dirndl can be removed with minimal effort.`; + break; + case "lederhosen": + t += `${His} lederhosen might come off faster than it takes to put them on.`; + break; + case "a biyelgee costume": + t += `${His} costume could be removed with barely any effort.`; + break; + // ends needs work block + + case "no clothing": + if (slave.chastityAnus == 1 || slave.chastityVagina == 1 || $activeSlave.chastityPenis == 1) { + t += `Since ${he}'s wearing nothing but a chastity belt, ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are delightfully naked.`; + } else { + t += `${His} naked `; + if (slave.boobs < 300) { + t += `flat chest and exposed nipples`; + } else { + t += `breasts`; + } + t += ` catch your eye.`; + } + break; + default: // for outfits with exposed breasts that aren't worth having a unique description for + t += `${His} naked `; + if (slave.boobs < 300) { + t += `flat chest and exposed nipples`; + } else { + t += `breasts`; + } + t += ` catch your eye.`; + } + V.target = "FBoobs"; + return t; +}; diff --git a/src/pregmod/fSelf.tw b/src/pregmod/fSelf.tw index ff7f1ea1702189d4ac7e2cdecadb8d9d344b9724..7d58f8ded7dc678b38f893ed2486c13efa9c65e4 100644 --- a/src/pregmod/fSelf.tw +++ b/src/pregmod/fSelf.tw @@ -36,11 +36,11 @@ Taking the hose and attaching your favorite cockhead to it, you eagerly drag it <<elseif $PC.cumTap < 25>> -Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you struggle to even get off the bed. After minutes of effort, several attempts ruined by aftershock orgasms, you manage to get on your feet. Cradling your massive cum-belly, you gingerly waddle to your waiting bath. You look like you are ready to burst with triplets, imagine what the public would say if they way you in this state. +Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you struggle to even get off the bed. After minutes of effort, several attempts ruined by aftershock orgasms, you manage to get on your feet. Cradling your massive cum-belly, you gingerly waddle to your waiting bath. You look like you are ready to burst with triplets, imagine what the public would say if they saw you in this state. <<else>> -Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you roll over onto your back so that you may tease your<<if $PC.boobs > 0>> breasts,<</if>><<if $PC.dick > 0>> dick,<</if>> belly and pussy. If anyone saw you, they would swear your were on the verge of delivering sextuplets. You made sure to schedule this block for absolute privacy, so no one should disturb you while you play with your bloated body. Once you are exhausted and drained of your contents, you head for the showers and to get a servant to clean up your bed - from the slave you enjoyed with the cum hose, of course. +Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you roll over onto your back so that you may tease your<<if $PC.boobs > 0>> breasts,<</if>><<if $PC.dick > 0>> dick,<</if>> belly and pussy. If anyone saw you, they would swear your were on the verge of delivering sextuplets. You made sure to schedule this block for absolute privacy, so no one should disturb you while you play with your bloated body. Once you are exhausted and drained of your contents, you head for the showers and to get a servant to clean up your bed — from the slave you enjoyed with the cum hose, of course. <</if>> diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw index 9ecbb2dabb2734ffc4cf85c948ccfb7703e58559..31eb59fe0ffec29a434650ae11754ba495cd53d1 100644 --- a/src/pregmod/newChildIntro.tw +++ b/src/pregmod/newChildIntro.tw @@ -614,7 +614,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully <</if>> <<if $arcologies[0].FSPaternalistLaw == 1>> - $He saw a good deal of your arcology and its society on $his way to your penthouse, and was amazed by all the happy, healthy slaves. $He @@.mediumaquamarine;begins to trust@@ that $he'll be one of them, and @@.hotpink;anticipates playing@@ with all $his happy friends. + $He <<if canSee($activeSlave)>>saw<<elseif canHear($activeSlave)>>overheard<<else>>passed through<</if>> a good deal of your arcology and its society on $his way to your penthouse, and was amazed by all the happy, healthy slaves. $He @@.mediumaquamarine;begins to trust@@ that $he'll be one of them, and @@.hotpink;anticipates playing@@ with all $his happy friends. <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <</if>> diff --git a/src/pregmod/pInsemination.tw b/src/pregmod/pInsemination.tw index 3811f691addb21de5300b299fc0244a687341d54..ca92a093f438f35aab4c3c6ca5f0c5bfda3eb680 100644 --- a/src/pregmod/pInsemination.tw +++ b/src/pregmod/pInsemination.tw @@ -40,7 +40,7 @@ <<case "quick">> <<if $quickCount == 0>> - You arrive at the apartment of the very wealthy fuel baron who is to sire your child. He is eagerly waiting for you and quickly hurries you inside. He wastes no time; practically ripping your clothes off and forcing over the edge of his bed. He hastily mounts you and roughly fucks your cunt - until he quickly finishes, that is, leaving you unsatisfied as he shoves you out the door, clothes in <<if $PC.dick == 1>>one hand and raging boner in the other<<else>>hand<</if>>. + You arrive at the apartment of the very wealthy fuel baron who is to sire your child. He is eagerly waiting for you and quickly hurries you inside. He wastes no time; practically ripping your clothes off and forcing over the edge of his bed. He hastily mounts you and roughly fucks your cunt — until he quickly finishes, that is, leaving you unsatisfied as he shoves you out the door, clothes in <<if $PC.dick == 1>>one hand and raging boner in the other<<else>>hand<</if>>. <<set $quickCount++>> <<else>> You arrive at the apartment of the quick-shooting fuel baron and once more he quickly pulls you in. He barely manages to undress you before he is on top of you humping away. Just as he is about to cum, you wrap your legs around him; anchoring yourself to him. You remind him that his job is to knock you up, and a quick in and out isn't good enough. Buying it, he keeps thrusting, letting you reach your own orgasm. He still hurried you out the door in the end, but you got some pleasure out of him this time. diff --git a/src/pregmod/widgets/pregmodBirthWidgets.tw b/src/pregmod/widgets/pregmodBirthWidgets.tw index 39f81ba35c74e0939404e12ce5697110d3c199e0..f1d9ce31563d0bca61fe1033f7d39e7e35eb3e72 100644 --- a/src/pregmod/widgets/pregmodBirthWidgets.tw +++ b/src/pregmod/widgets/pregmodBirthWidgets.tw @@ -236,7 +236,7 @@ <<else>> While sucking a dick through the hole of $his confining box, $slaves[$i].slaveName's water breaks. $He quickly finishes the dick off before seating $himself in the back of the box. <<ClothingBirth>> - As $he finishes, $he could have sworn $he saw an eye peeping through the glory hole, watching the show. The box is opened and <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child is gathered and taken away as $he struggles to reach the fresh cock poking through the hole. + As $he finishes, $he <<if canSee($slaves[$i])>>could have sworn $he saw an eye<<else>>swears $he can feel somebody<</if>> peeping through the glory hole, watching the show. The box is opened and <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child is gathered and taken away as $he struggles to reach the fresh cock poking through the hole. <</if>> <</if>> diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw index 05427420b0c4924f0b255cf91519e768c2c0f9c4..3e60acccb5720b6ead1b67c6cf39d7eb8a35b811 100644 --- a/src/uncategorized/multiImplant.tw +++ b/src/uncategorized/multiImplant.tw @@ -24,6 +24,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized horseOvaries: 0, cowOvaries: 0, eyes: 0, + ears: 0, cochleae: 0, voicebox: 0, mpreg: 0, @@ -85,6 +86,9 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized <<elseif $completedOrgans[_j].type == "eyes">> <<set _slaveOrgans.eyes = $completedOrgans[_j]>> <<set $completedOrgans.deleteAt(_j),_j-->> + <<elseif $completedOrgans[_j].type == "ears">> + <<set _slaveOrgans.ears = $completedOrgans[_j]>> + <<set $completedOrgans.deleteAt(_j),_j-->> <<elseif $completedOrgans[_j].type == "cochleae">> <<set _slaveOrgans.cochleae = $completedOrgans[_j]>> <<set $completedOrgans.deleteAt(_j),_j-->> @@ -146,6 +150,27 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized <<set $completedOrgans.push(_slaveOrgans.eyes)>> <</if>> <</if>> + /* ears */ + <<if _slaveOrgans.ears != 0>> + <<if $activeSlave.earShape == "none">> + <<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>> + <<set $activeSlave.earShape = "normal">> + <<if $activeSlave.hears == -1>> + <<set $activeSlave.hears = 0>> + <</if>> + <<set $activeSlave.health -= 15>> + <<if $organFarmUpgrade == 2>> + <<set $activeSlave.chem += 20>> + <</if>> + <<set $surgeryType = "earMinor">> + <br><hr> + <<include "Surgery Degradation">> + <<else>> + <br><hr> + @@.red;Could not implant ears on $activeSlave.slaveName: $he already has them. Additional options available under individual surgery.@@ + <<set $completedOrgans.push(_slaveOrgans.ears)>> + <</if>> + <</if>> /* cochleae */ <<if _slaveOrgans.cochleae != 0>> <<if ($activeSlave.hears == -2) && $activeSlave.earImplant != 1>> diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw index 46e5ec1dea31acd0deea5e4267fb86506930d1c2..992a664b8897f75e1feefcbd57c98d104536ee0d 100644 --- a/src/uncategorized/newSlaveIntro.tw +++ b/src/uncategorized/newSlaveIntro.tw @@ -1178,7 +1178,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <br> <<link "Implant $him with slow release lactation drugs">> <<replace "#introResult">> - You <<if $activeSlave.devotion > 20>> guide the compliant $desc <<else>>have the $desc restrained and brought<</if>> to the remote surgery. The procedure is quick and @@.red;minimally invasive@@<<set $activeSlave.health -= 10>>. Once the process is complete and the anesthesia subsides $he begins to feel a rising pressure with-in $his <<if $activeSlave.boobs > 2000 >>gigantic udders<<elseif $activeSlave.boobs > 900>>plentiful bosom<<elseif $activeSlave.boobs > 400>>healthy breasts<<else>>small breasts<</if>>. You then <<if $activeSlave.devotion > 20>>instruct $him to rest<<else>>have $him restrained<</if>> beside your desk until further notice. After a few hours $his increasing discomfort becomes obvious, and white droplets begin to appear across $his nipples and areola. + You <<if $activeSlave.devotion > 20>> guide the compliant $desc <<else>>have the $desc restrained and brought<</if>> to the remote surgery. The procedure is quick and @@.red;minimally invasive@@<<set $activeSlave.health -= 10>>. Once the process is complete and the anesthesia subsides $he begins to feel a rising pressure within $his <<if $activeSlave.boobs > 2000 >>gigantic udders<<elseif $activeSlave.boobs > 900>>plentiful bosom<<elseif $activeSlave.boobs > 400>>healthy breasts<<else>>small breasts<</if>>. You then <<if $activeSlave.devotion > 20>>instruct $him to rest<<else>>have $him restrained<</if>> beside your desk until further notice. After a few hours $his increasing discomfort becomes obvious, and white droplets begin to appear across $his nipples and areola. <<if $activeSlave.devotion > 20>> <<if $activeSlave.fetish == "boobs">> diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw index 522622e381cb182236a6c8195856d4495de37ca3..1cb4af039fa20771b227ab3cae70b562e9e256de 100644 --- a/src/uncategorized/pRivalryActions.tw +++ b/src/uncategorized/pRivalryActions.tw @@ -6,9 +6,9 @@ /* 000-250-006 */ <<if $seeImages == 1>> <<if $imageChoice == 1>> - <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $hostage 2 0>></div> + <div class="imageRef medImg"><<SlaveArt $hostage 2 0>></div> <<else>> - <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $hostage 2 0>></div> + <div class="imageRef medImg"><<SlaveArt $hostage 2 0>></div> <</if>> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/pRivalryCapture.tw b/src/uncategorized/pRivalryCapture.tw index c2441845e91239dc5863c87f973d5d85f0208ae2..3824c52f8e8e5c88a9e00dba09cfa009a5aa587f 100644 --- a/src/uncategorized/pRivalryCapture.tw +++ b/src/uncategorized/pRivalryCapture.tw @@ -429,6 +429,14 @@ <<setLocalPronouns $activeSlave>> +<<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> +<</if>> + Your <<if passage() == "P rivalry actions">> target is quickly delivered. Politely dismissing the head of your <<if $mercenariesTitle != "mercenaries">> $mercenariesTitle<<else>> mercenaries<</if>>, you savor diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 0c15667aadd183e369ab43753422deefc634ba78..2dc3f5bcb06afc7ec696a4e0b55961795097efe4 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -193,67 +193,67 @@ $He has <<set $activeSlave.brand = 0>> <</if>> <<else>> - <br>Give $him: <<if $activeSlave.earShape != "pointy">> - [[Small Elfin Ears|Surgery Degradation][$activeSlave.earShape = "pointy", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + | [[Reshape into small elfin ears|Surgery Degradation][$activeSlave.earShape = "pointy", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] <</if>> <<if $surgeryUpgrade == 1>> <<if $activeSlave.earShape != "elven">> - | [[Long Elf Ears|Surgery Degradation][$activeSlave.earShape = "elven", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into long elf ears|Surgery Degradation][$activeSlave.earShape = "elven", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<if $activeSlave.earShape != "ushi">> - | [[Bovine Ears|Surgery Degradation][$activeSlave.earShape = "ushi", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into bovine ears|Surgery Degradation][$activeSlave.earShape = "ushi", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <</if>> <</if>> <</if>> /*Top Ears*/ -<br> -$He has -<<if $activeSlave.earT == "none">> - <<if $activeSlave.earShape != "none">>only one set of ears<<else>>no secondary ears<</if>>. -<<elseif $activeSlave.earT == "normal">> - <<if $activeSlave.earShape != "none">>a second pair of ears grafted to $his head<<else>>a pair of ears grafted to the top of $his head<</if>>. -<<elseif $activeSlave.earT == "neko">> - a pair of cat ears adorning $his head. -<<elseif $activeSlave.earT == "inu">> - a pair of dog ears adorning $his head. -<<elseif $activeSlave.earT == "kit">> - a pair of fox ears adorning $his head. -<<elseif $activeSlave.earT == "tanuki">> - a pair of tanuki ears adorning $his head. -<<else>> - You done goofed. //Report This// -<</if>> -<<if $activeSlave.indentureRestrictions >= 2>> - //$His indenture forbids elective surgery// -<<else>> - <<if $activeSlave.earT != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> - [[Remove them|Surgery Degradation][$activeSlave.earT = "none", $cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "earGone"]] +<<if $activeSlave.earT != "none">> + <br> + $He has + <<if $activeSlave.earT == "none">> + <<if $activeSlave.earShape != "none">>only one set of ears<<else>>no secondary ears<</if>>. + <<elseif $activeSlave.earT == "normal">> + <<if $activeSlave.earShape != "none">>a second pair of ears grafted to $his head<<else>>a pair of ears grafted to the top of $his head<</if>>. + <<elseif $activeSlave.earT == "neko">> + a pair of cat ears adorning $his head. + <<elseif $activeSlave.earT == "inu">> + a pair of dog ears adorning $his head. + <<elseif $activeSlave.earT == "kit">> + a pair of fox ears adorning $his head. + <<elseif $activeSlave.earT == "tanuki">> + a pair of tanuki ears adorning $his head. + <<else>> + You done goofed. //Report This// <</if>> - <<if $activeSlave.earT == "normal">> - <br>Reshape them: - <<if $activeSlave.earT != "neko">> - [[Cat Ears|Surgery Degradation][$activeSlave.earT = "neko", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] - <</if>> - <<if $activeSlave.earT != "inu">> - | [[Dog Ears|Surgery Degradation][$activeSlave.earT = "inu", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] - <</if>> - <<if $activeSlave.earT != "kit">> - | [[Fox Ears|Surgery Degradation][$activeSlave.earT = "kit", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] - <</if>> - <<if $activeSlave.earT != "tanuki">> - | [[Tanuki Ears|Surgery Degradation][$activeSlave.earT = "tanuki", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <<if $activeSlave.indentureRestrictions >= 2>> + //$His indenture forbids elective surgery// + <<else>> + <<if $activeSlave.earT != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> + [[Remove them|Surgery Degradation][$activeSlave.earT = "none", $cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "earGone"]] <</if>> - <<elseif $activeSlave.earT != "none">> - <br> - <<if $activeSlave.earTColor == "hairless">> - They are completely bald. - [[Implant hair mimicking fibers|Surgery Degradation][$activeSlave.earTColor = $activeSlave.hColor, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <<if $activeSlave.earT == "normal">> + <<if $activeSlave.earT != "neko">> + | [[Reshape into cat Ears|Surgery Degradation][$activeSlave.earT = "neko", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> + <<if $activeSlave.earT != "inu">> + | [[Reshape into dog Ears|Surgery Degradation][$activeSlave.earT = "inu", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> + <<if $activeSlave.earT != "kit">> + | [[Reshape into fox Ears|Surgery Degradation][$activeSlave.earT = "kit", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> + <<if $activeSlave.earT != "tanuki">> + | [[Reshape into tanuki Ears|Surgery Degradation][$activeSlave.earT = "tanuki", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> <<else>> - They are covered by a multitude of implanted $activeSlave.earTColor fibers mimicking hair. - [[Remove them|Surgery Degradation][$activeSlave.earTColor = "hairless", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <br> + <<if $activeSlave.earTColor == "hairless">> + They are completely bald. + [[Implant hair mimicking fibers|Surgery Degradation][$activeSlave.earTColor = $activeSlave.hColor, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <<else>> + They are covered by a multitude of implanted $activeSlave.earTColor fibers mimicking hair. + [[Remove them|Surgery Degradation][$activeSlave.earTColor = "hairless", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <</if>> <</if>> <</if>> <</if>> @@ -295,7 +295,7 @@ $He has <br> $He has <<if $activeSlave.horn == "none">>no horns<<else>>$activeSlave.horn<</if>>. <<if $activeSlave.horn != "none">> - [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "hornGone"]]<</if>><br> + [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "hornGone"]]<</if>> Give $him: <<if $activeSlave.horn != "curved succubus horns">> [[Succubus horns|Surgery Degradation][$activeSlave.horn = "curved succubus horns", $activeSlave.hornColor = "jet black", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> @@ -880,7 +880,7 @@ $He's got a <<if $activeSlave.butt <= 1>>flat and <<print either("skinny", "slim", "taut")>> ass. <<elseif $activeSlave.butt <= 2>><<print either("rounded, small", "small but rounded", "small, sleek")>> rear end. <<elseif $activeSlave.butt <= 3>><<print either("big and healthy", "curved and plump", "healthy and plump")>> derrière. -<<elseif $activeSlave.butt <= 4>><<print either("big bubble butt", "curvy and enticing butt", "juicy and large butt")>>. +<<elseif $activeSlave.butt <= 4>><<print either("big bubble", "curvy and enticing", "juicy and large")>> butt. <<elseif $activeSlave.butt <= 5>><<print either("huge", "juicy and huge", "massive and undeniable")>> rear end. <<elseif ($activeSlave.amp == 1)>>ridiculous ass. It's so big it would jiggle as $he walked — if $he could walk. <<else>>ridiculous ass. It's so big it jiggles as $he walks. diff --git a/src/uncategorized/walkPast.tw b/src/uncategorized/walkPast.tw index 9b6cbb36f662cdaa0f2872b384ac7b6a3f746d47..5c8f4312b09ef455edee2d65a802a1576f202730 100644 --- a/src/uncategorized/walkPast.tw +++ b/src/uncategorized/walkPast.tw @@ -54,239 +54,11 @@ <<elseif ($partner == "relationship") || ($partner == "relation")>> <<= relatedSlave($activeSlave)>> - + <<elseif (_flag > 80) && ($activeSlave.fuckdoll == 0)>> - <<BoobsDescription>> - <<switch $activeSlave.clothes>> - <<case "uncomfortable straps">> - <<if $activeSlave.boobs < 300>> - The rings constantly rub against $his chest and force $his nipples to stick out. - <<else>> - The strap over $his tits presses the soft flesh, and the ring around each nipple - <<if $activeSlave.nipples == "fuckable">> - forces them open. - <<else>> - forces them to stick out. - <</if>> - <</if>> - <<case "shibari ropes">> - <<if $activeSlave.boobs < 300>> - The ropes binding $his chest shift slightly with every step, since $he lacks any breasts to hold them in place. - <<else>> - The ropes binding $his chest dig into the soft flesh as $he moves. - <</if>> - <<case "attractive lingerie for a pregnant women">> - <<if $activeSlave.boobs < 300>> - The bulge of $his $activeSlave.nipples nipples can be seen under the taut silk. - <<else>> - $His silken bra causes $his breasts to bulge around them. - <</if>> - <<case "a maternity dress">> - <<if $activeSlave.boobs < 300>> - $His low cut dress was made with breasts in mind; every stop $he takes risks it sliding down and revealing $his $activeSlave.nipples nipples. - <<else>> - $His low cut dress shows ample cleavage and is made to be easy to pull down. - <</if>> - <<case "stretch pants and a crop-top">> - <<if $activeSlave.boobs < 300>> - $His flat chest makes the perfect canvas to read $his crop-top. - <<else>> - $His crop-top tightly clings to $his breasts and moves along with them. $His jiggling cleavage distracts from the writing on $his tits. - <</if>> - <<case "restrictive latex">> - <<if $activeSlave.boobs < 300>> - $His lack of breasts draws your eyes straight to $his exposed nipples. - <<else>> - $His tits stick out through $his latex outfit. - <</if>> - <<case "attractive lingerie">> - $His pretty white lace bra has thoughtful cuts that tastefully let $his nipples stick through. - <<case "kitty lingerie">> - <<if $activeSlave.boobs < 300>> - $His lingerie's cleavage window proudly displays $his flat chest. - <<else>> - $His lingerie's cleavage window proudly displays $his ample cleavage. - <</if>> - <<case "a succubus outfit">> - <<if $activeSlave.boobs < 300>> - $His succubus outfit presents this sex demon's flat chest, inviting a damning fondle. - <<else>> - $His succubus outfit presents this sex demon's breasts, inviting a damning fondle. - <</if>> - <<case "a slutty maid outfit">> - <<if $activeSlave.boobs < 300>> - $His maid outfit covers $his flat chest with a thin white blouse designed to be easy to pull down. - <<else>> - $His maid outfit covers $his breasts with a thin white blouse designed to be easy to pull down. - <</if>> - <<case "a nice maid outfit">> - <<if $activeSlave.boobs < 300>> - $His maid outfit covers $his flat chest demurely, offering the diverting task of pulling it off $him. - <<else>> - $His maid outfit covers $his breasts demurely, offering the diverting task of pulling it off $him. - <</if>> - <<case "a monokini">> - The straps of $his monokini cross in the center of $his chest, leaving the rest of $his <<if $activeSlave.boobs < 300>>flat <</if>>breasts naked. - <<case "a cybersuit">> - $His bodysuit is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a string bikini">> - $His string bikini covers only $his nipples, leaving the remainder of $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> naked. - <<case "a scalemail bikini">> - $His scalemail bikini covers <<if $activeSlave.boobs < 300>>all of $his flat chest.<<elseif $activeSlave.boobs < 700>>$his breasts entirely.<<elseif $activeSlave.boobs < 1500>>much of $his breasts, while still emphasizing them.<<else>>the front of $his breasts.<</if>> . - <<case "striped panties">> - $His cute panties covers only $his crotch, leaving $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> bare. - <<case "clubslut netting">> - As $he moves, the weave of the netting over $his chest slips back and forth across $his nipples. - <<case "a cheerleader outfit">> - <<if $activeSlave.boobs < 300>> - As $he moves, the tight fabric rubs across $his obvious nipples. - <<else>> - As $he moves, $his chest threatens to fall out of $his cheerleader top. - <</if>> - <<case "an apron">> - <<if $activeSlave.boobs < 300>> - As $he moves, $his apron threatens to bounce off $his flat chest and expose $his nipples. - <<else>> - As $he moves, $his apron provides excellent views of the sides of $his breasts. - <</if>> - <<case "cutoffs and a t-shirt">> - <<if $activeSlave.boobs < 300>> - $His non-existent breasts are bare under $his t-shirt; not that you can really tell since they lack motion completely. - <<else>> - $His tits are bare under $his t-shirt, so movement gives delicious hints of their motion. - <</if>> - <<case "spats and a tank top">> - <<if $activeSlave.boobs < 300>> - $His flat chest makes $his form-fitting tank top look as if it's clinging to a tube. - <<else>> - $His breasts bounce slightly under $his tank top as $he moves. - <</if>> - <<case "a slutty outfit">> - <<if (random(1,100) > 50)>> - For today's slutty outfit $he's chosen a handkerchief top that occasionally comes untied and <<if $activeSlave.boobs < 300>>reveals $his flat chest<<else>>spills $his breasts out naked<</if>>. - <<else>> - For today's slutty outfit $he's chosen a halter top cut so low that <<if $activeSlave.boobs < 300>>it occasionally slips down $his flat chest to reveal a nipple<<else>>$his breasts occasionally pop out<</if>>. - <</if>> - <<case "a slave gown">> - $His gorgeous dress has thoughtful cuts that tastefully bares $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts. - <<case "slutty business attire">> - $His suit jacket and blouse are low enough to show off a lot of boob<<if $activeSlave.boobs < 300>>, or they would, had $he had any<</if>>. - <<case "nice business attire">> - $His suit jacket and blouse are businesslike, but they could be removed easily enough. - <<case "a halter top dress">> - $His beautiful halter top dress almost seems to be sculpted around $his body. - <<case "a ball gown">> - $His fabulous silken ball gown is tailored to accentuate the shape of $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a slutty nurse outfit">> - $His jacket presents $his <<if $activeSlave.boobs < 300>>nipples<<else>>breasts<</if>> to be ogled. - <<case "a schoolgirl outfit">> - $His blouse lewdly displays $his <<if $activeSlave.boobs < 300>>$activeSlave.nipples nipples<<else>>breasts<</if>>. - <<case "a kimono">> - $His kimono is clearly designed to accentuate $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a hijab and abaya" "a niqab and abaya">> - $His abaya covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a klan robe">> - $His robe covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a burqa">> - $His burqa covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a tube top and thong" "a tube top" "leather pants and a tube top">> - $His tube top covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "sport shorts and a t-shirt" "a t-shirt and panties">> - $His shirt covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a bra" "a striped bra" "striped underwear" "a sports bra" "sport shorts and a sports bra">> - $His bra covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a tank-top" "a tank-top and panties">> - $His tank-top covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a sweater" "a sweater and panties" "a sweater and cutoffs">> - $His sweater covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a thong" "a skimpy loincloth" "boyshorts" "cutoffs" "panties" "leather pants" "jeans" "sport shorts">> - $His clothing leaves $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally bare. - <<case "a slutty klan robe">> - $His robe partially covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a nice pony outfit" "a slutty pony outfit">> - $His pony outfit partially covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "leather pants and pasties" "panties and pasties">> - $His pasties only cover $his nipples on $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a one-piece swimsuit">> - $His swimsuit covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a hanbok">> - $His hanbok covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a gothic lolita dress">> - $His dress covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a burkini">> - $His burkini clings to the shape of $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a hijab and blouse">> - $His blouse and overshirt keep $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> concealed. - <<case "a huipil">> - $His huipil hugs the curves of $his <<if $activeSlave.boobs < 300>>$activeSlave.nipples nipples<<else>>breasts<</if>>. - <<case "battledress">> - <<if $activeSlave.boobs < 300>> - As $he moves, you can occasionally spot $his lack of undergarments. - <<else>> - $His tank top and sports bra support rather than flatter $his breasts. - <</if>> - <<case "a fallen nuns habit">> - $His slutty nun outfit leaves $his <<if $activeSlave.boobs < 300>>flat <</if>>tits sinfully bare. - <<case "a chattel habit">> - $His chattel habit leaves $his <<if $activeSlave.boobs < 300>>flat <</if>>tits virtuously bare. - <<case "a penitent nuns habit">> - $His habit chafes $his nipples so harshly that it would probably be a relief to $him to have it stripped off $him. - <<case "a comfortable bodysuit">> - $His bodysuit is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a latex catsuit">> - $His latex catsuit is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a military uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a schutzstaffel uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a slutty schutzstaffel uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a red army uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a long qipao">> - $His elegant qipao can be removed with minimal effort. - <<case "battlearmor">> - $His battlearmor will take some considerable effort to get out of. - <<case "a mounty outfit">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a dirndl">> - $His dirndl can be removed with minimal effort. - <<case "lederhosen">> - $His lederhosen might come off faster than it takes to put them on. - <<case "a biyelgee costume">> - $His costume could be removed with barely any effort. - <<case "a nice nurse outfit">> - $His nurse's outfit is functional, but they could be removed easily enough. - <<case "a mini dress">> - $His mini dress is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a leotard">> - <<if $activeSlave.boobs < 300>> - $His leotard draws the eye straight to $his obvious nipples, since it lacks anything else to show off. - <<else>> - $His leotard is tight enough that it not only hugs $his breasts, but shows off $his nipples. - <</if>> - <<case "a bunny outfit">> - <<if $activeSlave.boobs < 300>> - With no breasts to speak of, $his strapless corset teddy manages to look rather slutty. - <<else>> - $His strapless corset teddy presents $his boobs while still managing to look a bit classy. - <</if>> - <<case "harem gauze">> - $His <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts are clearly visible through the thin gauze that covers them. - <<case "slutty jewelry">> - <<if $activeSlave.boobs < 300>> - The light chain across $his non-existent breasts is the only thing on $his chest capable of moving as $he walks. - <<else>> - The light chain under $his breasts accentuates their natural movement. - <</if>> - <<default>> - <<if ($activeSlave.chastityAnus == 1 || $activeSlave.chastityVagina == 1 || $activeSlave.chastityPenis == 1)>> - Since $he's wearing nothing but a chastity belt, $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts are delightfully naked. - <<else>> - $His naked <<if $activeSlave.boobs < 300>> flat chest and nipples<<else>>breasts<</if>> catch your eye. - <</if>> - <</switch>> - <<set $target = "FBoobs">> + + <<= boobWatch($activeSlave)>> + <<elseif (_flag > 60)>> <<ButtDescription>> <<switch $activeSlave.clothes>> diff --git a/src/utility/birthWidgets.tw b/src/utility/birthWidgets.tw index f1c08d693138db1ff0b38c9741f760e47d82be2a..e4ab84f540c87374d71645a50278babbe9c9a6ae 100644 --- a/src/utility/birthWidgets.tw +++ b/src/utility/birthWidgets.tw @@ -777,7 +777,7 @@ <<else>> While sucking a dick through the hole of $his confining box, $slaves[$i].slaveName's water breaks. $He quickly finishes the dick off before seating $himself in the back of the box. <<ClothingBirth>> - As $he finishes, $he could have sworn $he saw an eye peeping through the glory hole, watching the show. The box is opened and $his child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> gathered and taken away as $he turns to suck the fresh cock poking through the hole. + As $he finishes, $he <<if canSee($slaves[$i])>>could have sworn $he saw an eye<<else>>swears $he can feel somebody<</if>> peeping through the glory hole, watching the show. The box is opened and $his child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> gathered and taken away as $he turns to suck the fresh cock poking through the hole. <</if>> <<case "get milked">>