diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 375c4923fc819ac91f08cbd678079aa9b214c66b..ea9907a967bfd6fd04f50546bf8307e609ec849d 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -359,7 +359,6 @@ App.Data.resetOnNGPlus = { thisWeeksIllegalWares: 0, Sweatshops: 0, - milkTap: 0, rivalID: 0, eliteAuctioned: 0, slavesSacrificedThisWeek: 0, diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js index 1ca650fcb6ff401105c174af4e2573d8861115c2..752e67af5819e30a91e565e0d319e9412cbde984 100644 --- a/js/003-data/policiesData.js +++ b/js/003-data/policiesData.js @@ -568,6 +568,7 @@ App.Data.Policies.Selection = { title: "Undermine The Slave School", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.TSS.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -584,6 +585,7 @@ App.Data.Policies.Selection = { title: "Undermine The Utopian Orphanage", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.TUO.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -600,6 +602,7 @@ App.Data.Policies.Selection = { title: "Undermine the Growth Research Institute", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.GRI.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -609,6 +612,7 @@ App.Data.Policies.Selection = { title: "St. Claver Preparatory subsidy", text: "you will subsidize this school's branch campus in your arcology.", activatedText: "you are subsidizing this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.SCP.schoolProsperity < 10 && V.SCP.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, }, @@ -616,6 +620,7 @@ App.Data.Policies.Selection = { title: "Undermine St. Claver Preparatory", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.SCP.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -632,6 +637,7 @@ App.Data.Policies.Selection = { title: "Undermine L'École des Enculées", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.LDE.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -648,6 +654,7 @@ App.Data.Policies.Selection = { title: "Undermine the Gymnasium-Academy", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.TGA.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -664,6 +671,7 @@ App.Data.Policies.Selection = { title: "Undermine The Cattle Ranch", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.TCR.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -680,6 +688,7 @@ App.Data.Policies.Selection = { title: "Undermine the Futanari Sisters", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.TFS.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -696,6 +705,7 @@ App.Data.Policies.Selection = { title: "Undermine the Hippolyta Academy", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.HA.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } @@ -712,6 +722,7 @@ App.Data.Policies.Selection = { title: "Undermine Nueva Universidad de Libertad", text: "you will covertly hurt this school's branch campus in your arcology.", activatedText: "you are covertly hurting this school's branch campus in your arcology.", + enable: -1, get requirements() { return (V.NUL.schoolPresent === 1); }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } diff --git a/src/Mods/SecExp/js/secExp.js b/src/Mods/SecExp/js/secExp.js index 450ee29f2184604af0d3a03908ad633c0a5e6f15..9592dbabc15106671b00b2a03ffda7b307d00ddf 100644 --- a/src/Mods/SecExp/js/secExp.js +++ b/src/Mods/SecExp/js/secExp.js @@ -46,7 +46,7 @@ App.SecExp.generator = (function() { if (random(1, 100) > attackChance) { // Rolls to see if attack happens this week V.SecExp.battles.lastEncounterWeeks++; } else { - let type, terrain, troops, equip; + let type, terrain, troops, equip = 0, L = 0; V.attackThisWeek = 1; V.SecExp.battles.lastEncounterWeeks = 0; let raider = 25, oldWorld = 25, freeCity = 25, free = 25; // type is the chance out of 100 of an attack of that type happening @@ -110,12 +110,16 @@ App.SecExp.generator = (function() { const roll = random(1, 100); // makes the actual roll if (roll <= raider) { type = "raiders"; + troops = random(40, 80); L = 1; } else if (roll <= raider + oldWorld) { type = "old world"; + troops = random(25, 50); } else if (roll <= raider + oldWorld + freeCity) { type = "free city"; + troops = random(20, 40); } else if (roll <= raider + oldWorld + freeCity + free) { type = "freedom fighters"; + troops = random(30, 60); } if (V.terrain === "urban") { @@ -132,45 +136,29 @@ App.SecExp.generator = (function() { terrain = "error"; } - let L = 0; - if (type === "raiders") { - troops = random(40, 80); L = 1; - } else if (type === "free city") { - troops = random(20, 40); - } else if (type === "old world") { - troops = random(25, 50); - } else if (type === "freedom fighters") { - troops = random(30, 60); - } if (V.week < 30) { troops *= random(1, 2); // troops *= Math.trunc(random( (1*(1.01+(V.week/100))), (2*(1.01+(V.week/100))) ))) { - } else if (V.week < 60) { - troops *= random(1, 3); // troops *= Math.trunc(random( (1*(1.01+(V.week/200))), (3*(1.01+(V.week/200))) ))) { - } else if (V.week < 90) { - troops *= random(2, 3); // troops *= Math.trunc(random( (2*(1.01+(V.week/300))), (3*(1.01+(V.week/300))) ))) { - } else if (V.week < 120) { - troops *= random(2, 4); // troops *= Math.trunc(random( (2*(1.01+(V.week/400))), (4*(1.01+(V.week/400))) ))) { - } else { - troops *= random(3, 5); } if (V.week < 60) { + troops *= random(1, 3); // troops *= Math.trunc(random( (1*(1.01+(V.week/200))), (3*(1.01+(V.week/200))) ))) { equip = random(0, 1); } else if (V.week < 90) { + troops *= random(2, 3); // troops *= Math.trunc(random( (2*(1.01+(V.week/300))), (3*(1.01+(V.week/300))) ))) { equip = random(0, 3-L); // "raiders" equip = random(0,2)) { } else if (V.week < 120) { + troops *= random(2, 4); // troops *= Math.trunc(random( (2*(1.01+(V.week/400))), (4*(1.01+(V.week/400))) ))) { equip = random(1-L, 3); // "raiders" equip = random(0,3)) { } else { + troops *= random(3, 5); equip = random(2-L, 4-L); // "raiders" equip = random(1,3)) { } if (V.SecExp.settings.battle.major.enabled === 1) { // major battles have a 50% chance of firing after week 120 - if (V.week >= 120 || V.SecExp.settings.battle.major.force === 1) { - if (random(1, 100) >= 50 || V.SecExp.settings.battle.major.force === 1) { - V.majorBattle = 1; - const sfActive = V.SF.Toggle && V.SF.Active >= 1; - troops = sfActive ? random(4, 6) : random(2, 3); - equip = sfActive ? either(3, 4) : either(2, 3, 4); - } + if ((V.week >= 120 && random(1, 100) >= 50) || V.SecExp.settings.battle.major.force === 1) { + V.majorBattle = 1; + const sfActive = V.SF.Toggle && V.SF.Active >= 1; + troops *= sfActive ? random(4, 6) : random(2, 3); + equip = sfActive ? either(3, 4) : either(2, 3, 4); } } diff --git a/src/endWeek/nextWeek/resetGlobals.js b/src/endWeek/nextWeek/resetGlobals.js index 20e0fb51dad53c00688790aea656a2305df7b0ea..e1a63cefc0315c418792ac747d849368bbb0dac8 100644 --- a/src/endWeek/nextWeek/resetGlobals.js +++ b/src/endWeek/nextWeek/resetGlobals.js @@ -62,7 +62,6 @@ App.EndWeek.resetGlobals = function() { V.activeSlave = 0; V.eventSlave = 0; V.subSlave = 0; - V.milkTap = 0; V.relation = 0; V.relative = 0; V.relative2 = 0; diff --git a/src/events/PE/concubineInterview.js b/src/events/PE/concubineInterview.js index 40b5db7e7cb649db4aa2a75d07d4846c269e5b8d..30aae14a734f264d17a3aa823fa98529a8a91651 100644 --- a/src/events/PE/concubineInterview.js +++ b/src/events/PE/concubineInterview.js @@ -416,9 +416,9 @@ App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events. App.Events.addParagraph(node, t); - t = []; - if (eventSlave.intelligence + eventSlave.intelligenceImplant > 50) { + t = []; + t.push(`Only because you know ${him} so well are you able to perceive the instant of cold calculation before ${he} makes a <span class="green">perfect tactical decision</span> and turns directly to the camera. "Whatever you want," ${he} ${say}s confidently, ${speak(`"You can find it in a Free Cities arcology like my ${Master}'s. Where I live, there's`)}`); if (arcology.FSRestart > 0) { t.push(speak(`the most interesting people,`)); @@ -531,19 +531,20 @@ App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events. if (PC.title === 0) { t = []; + t.push(`${eventSlave.slaveName} even manages to <span class="green">respond well</span> to a probing question about your gender. ${He} ${lisps ? `lisps` : `explains`}, ${speak(`"You have to understand that all that nonsense about men and women means less to us in the Free Cities. My ${Master} is a successful and powerful ${womanP}.`)}`); if (!PC.dick) { t.push(`${speak(`We just pay the right amount of attention to the success and the power.`)} ${He} quirks a corner of ${his} mouth. "I know <em>I</em> do."`); } else { t.push(`${He} quirks a corner of ${his} mouth. ${speak(`"And ${heP} has a <em>wonderful</em> cock."`)}`); } + + rep(500); + + App.Events.addParagraph(node, t); } - - rep(500); } - App.Events.addParagraph(node, t); - t = []; t.push(`At the conclusion, the host`); diff --git a/src/facilities/fsDecoration.js b/src/facilities/fsDecoration.js index 56ae1ec98b48f22ecd192c9998518af9d958aa23..9b57c9b92c6f860706fd60360596bb1485da494e 100644 --- a/src/facilities/fsDecoration.js +++ b/src/facilities/fsDecoration.js @@ -27,3 +27,124 @@ App.UI.facilityRedecoration = function(variable) { } return frag; }; + +/** + * + * @param {FC.FutureSociety} FS + * @param {Array} items + * @returns {HTMLElement} + */ +App.UI.FSChangeDecoration = function(FS, items) { + const el = document.createElement("div"); + el.classList.add("indent"); + const FSDecoration = FS + "Decoration"; + let costs; + switch (V.arcologies[0][FSDecoration]) { + case 20: + costs = 2500; + el.append(`${V.arcologies[0].name} is not customized to support this goal. `); + if (V.arcologies[0][FS] >= 10) { + el.append( + App.UI.DOM.link( + `Modify your arcology's internal media to support this goal`, + () => { + V.arcologies[0][FSDecoration] = 40; + cashX(forceNeg(costs), "capEx"); + }, + [], + "Future Society", + `Costs ${cashFormat(costs)}` + ), + ); + } else { + el.append(`You must advance this goal before customization to support it becomes available. `); + } + break; + case 40: + el.append(`${V.arcologies[0].name}'s media is supporting this goal. `); + if (V.arcologies[0][FS] >= 30) { + costs = 10000; + el.append( + App.UI.DOM.link( + `Redecorate your arcology's public spaces to support this goal`, + () => { + V.arcologies[0][FSDecoration] = 60; + cashX(forceNeg(costs), "capEx"); + }, + [], + "Future Society", + `Costs ${cashFormat(costs)}` + ), + ); + } else { + el.append(`You must advance this goal before further customization to support it becomes available. `); + } + break; + case 60: + el.append(`${V.arcologies[0].name}'s media is supporting this goal, and ${V.arcologies[0].name}'s public spaces are decorated to support it too. `); + if (V.arcologies[0][FS] >= 50) { + costs = 10000; + el.append( + App.UI.DOM.link( + `Station slaves in your arcology's public spaces to promote this goal`, + () => { + V.arcologies[0][FSDecoration] = 80; + cashX(forceNeg(costs), "capEx"); + }, + [], + "Future Society", + `Costs ${cashFormat(costs)}` + ), + ); + } else { + el.append(`You must advance this goal before further customization to support it becomes available. `); + } + break; + case 80: + el.append(`${V.arcologies[0].name}'s media is supporting this goal; ${V.arcologies[0].name}'s public spaces are decorated to support it, and have slaves stationed in them to support it too. `); + if (V.arcologies[0][FS] >= 70) { + if (FS === "FSRestart") { + costs = 75000; + el.append( + App.UI.DOM.link( + `Customize the exterior of the arcology to support this goal and fully establish the Societal Elite`, + () => { + V.arcologies[0].FSRestartDecoration = 100; + V.upgradeMultiplierArcology = upgradeMultiplier('engineering'); + V.upgradeMultiplierMedicine = upgradeMultiplier('medicine'); + for (const item of items) { + _.set(V, item, 1); + } + }, + [], + "Future Society", + `Costs ${cashFormat(costs)}` + ), + ); + } else { + costs = 10000; + el.append( + App.UI.DOM.link( + `Station slaves in your arcology's public spaces to promote this goal`, + () => { + V.arcologies[0][FSDecoration] = 100; + cashX(forceNeg(costs), "capEx"); + for (const item of items) { + _.set(V, item, 1); + } + }, + [], + "Future Society", + `Costs ${cashFormat(costs)}` + ), + ); + } + } else { + el.append(`You must advance this goal before further customization to support it becomes available. `); + } + break; + case 100: + el.append(`${V.arcologies[0].name}'s media is supporting this goal; ${V.arcologies[0].name}'s public spaces are decorated to support it, and have slaves stationed in them to support it. The exterior of the arcology has been remodeled to support it as well; the arcology is fully customized for this goal. `); + } + return el; +}; diff --git a/src/gui/storyCaption.js b/src/gui/storyCaption.js index a06d7cad81f40bc6dfb88cb17c42f799b7a6d28b..c5fe10d4fa5ebc1f720b22fd88d3784ab48a145b 100644 --- a/src/gui/storyCaption.js +++ b/src/gui/storyCaption.js @@ -142,6 +142,17 @@ App.UI.storyCaption = function() { div.append(" since last week)"); fragment.append(div); } + if (V.lastCashTransaction) { + const transaction = document.createElement("div"); + App.UI.DOM.appendNewElement("span", transaction, `Last transaction`, css); + transaction.append(" | "); + if (V.lastCashTransaction > 0) { + App.UI.DOM.appendNewElement("span", transaction, cashFormat(V.lastCashTransaction), css); + } else { + App.UI.DOM.appendNewElement("span", transaction, cashFormat(V.lastCashTransaction), ["cash", "dec"]); + } + fragment.append(transaction); + } if (showCheats()) { fragment.append(App.UI.DOM.makeTextBox(V.cash, cash => { diff --git a/src/interaction/fSlaveFeed.js b/src/interaction/fSlaveFeed.js new file mode 100644 index 0000000000000000000000000000000000000000..8badbbd789cc31162109b9e58e85ae3f4b489a0a --- /dev/null +++ b/src/interaction/fSlaveFeed.js @@ -0,0 +1,2072 @@ +globalThis.FSlaveFeed = function(slave, milkTap) { + const el = new DocumentFragment(); + let _pregDiscovery = 0; + const { + His, He, + his, he, him, himself, wife, girl, hers + } = getPronouns(slave); + const { + His2, He2, + his2, he2, him2, himself2, wife2 + } = getPronouns(milkTap).appendSuffix("2"); + let _incestGive; + let _incestTake; + let r = []; + const relative = relativeTerm(slave, milkTap); + + App.Events.drawEventArt(el, [slave, milkTap]); + + if (slave.inflationType === "milk") { + slave.milkSource = milkTap.ID; + if (milkTap.behavioralQuirk === "sinful" || milkTap.sexualQuirk === "perverted" || milkTap.fetish === "incest") { // incest is a planned fetish, don't touch it! + _incestGive = 1; + } + if (slave.behavioralQuirk === "sinful" || slave.sexualQuirk === "perverted" || slave.fetish === "incest") { + _incestTake = 1; + } + + r.push(`The first necessary step is to prepare the milk cow and ${his2} udders.`); + + if (milkTap.fuckdoll > 0) { + r.push(`This is hilariously easy, as you have complete control over how ${milkTap.slaveName} is posed.`); + } else if (milkTap.fetish === "mindbroken") { + r.push(`This is very easy, as ${milkTap.slaveName} blankly follows your every will. Combined with ${his2} instinct to relieve the pressure in ${his2} breasts, ${he2} is simple to position.`); + } else if (milkTap.rivalryTarget === slave.ID) { + r.push(`This is rather easy, as ${milkTap.slaveName} wants to`); + if (canSee(milkTap)) { + r.push(`see`); + } else { + r.push(`feel`); + } + r.push(`${slave.slaveName}'s belly swell painfully as ${he} is force-fed ${his2} milk.`); + if (milkTap.lactation > 1) { + r.push(`${He} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else if (milkTap.relationshipTarget === slave.ID) { + r.push(`This is rather easy, as ${milkTap.slaveName}`); + if (milkTap.relationship === 1) { + r.push(`wants ${his2} friend to try ${his2} milk, fresh from the source.`); + } else if (milkTap.relationship === 2) { + r.push(`wants ${his2} best friend to try ${his2} milk, fresh from the source.`); + } else if (milkTap.relationship === 3) { + r.push(`can't wait to have some fun with ${his2} friend with benefits.`); + } else if (milkTap.relationship === 4) { + r.push(`enjoys spending intimate time with ${his2} lover, and having ${his2} breasts suckled is one of ${his2} favorites.`); + } else if (milkTap.relationship === 5) { + r.push(`enjoys spending intimate time with ${his2} ${wife}, and having ${his2} breasts suckled is one of ${his2} favorites.`); + } + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else if ((milkTap.fetish === "boobs") && (milkTap.fetishKnown === 1) && (milkTap.fetishStrength > 60) && (milkTap.devotion >= -20)) { + r.push(`This is very easy, since ${milkTap.slaveName} loves ${his2} tits played with and can't wait to get suckled.`); + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes next to no effort to get ${his2} milk flowing.`); + } + } else if (slave.mother === milkTap.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} fondly remembers nursing ${his2} ${relativeTerm(milkTap, slave)}.`); + } else { + r.push(`This is fairly easy, as ${milkTap.slaveName}'s body remembers nursing ${his2} ${relativeTerm(milkTap, slave)}, even if ${he} is resistant to the idea.`); + } + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with nostalgia.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else if (slave.father === milkTap.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} is aroused at the thought of breast feeding the ${girl} ${he2} sired.`); + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else { + r.push(`This is extremely tough, as ${milkTap.slaveName} is very uncomfortable breast feeding the ${girl} ${he2} sired.`); + if (milkTap.lactation > 1) { + r.push(`${His2} excessive milk production quickly leaves ${him2} eager for release, however.`); + } else { + r.push(`It takes some coaxing and kneading to get ${his2} milk flowing and ${him2} eager for relief.`); + } + } + } else if (milkTap.mother === slave.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} is aroused at the lewdity of breast feeding ${his2} own mother.`); + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else { + r.push(`This is moderately tough, as ${milkTap.slaveName} finds it awkward to nurse ${his2} own mother.`); + if (milkTap.lactation > 1) { + r.push(`${His2} excessive milk production quickly leaves ${him2} eager for release.`); + } else { + r.push(`It takes some coaxing and kneading to get ${his2} milk flowing and ${him2} eager for relief.`); + } + } + } else if (milkTap.father === slave.ID) { + if (_incestGive) { + r.push(`This is easy enough, as having ${his2} father drink ${his2} milk is a taboo ${milkTap.slaveName} can't wait to break.`); + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else { + r.push(`This is very tough, as ${milkTap.slaveName} finds it weird to let ${his2} father suckle from ${him2}.`); + if (milkTap.lactation > 1) { + r.push(`${His2} excessive milk production quickly leaves ${him2} eager for release, however.`); + } else { + r.push(`It takes some coaxing and kneading to get ${his2} milk flowing and ${him2} eager for relief.`); + } + } + } else if (areSisters(slave, milkTap) === 1) { + if (_incestGive) { + r.push(`This is easy enough, as having ${milkTap.slaveName} enjoys sexually experimenting with ${his2} ${relative}.`); + } else { + r.push(`This is easy enough, as ${milkTap.slaveName} wants ${his2} ${relative} to try ${his2} milk, but only if ${he} can taste ${hers} too.`); + } + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else if (areSisters(slave, milkTap) === 2) { + if (_incestGive) { + r.push(`This is easy enough, as having ${milkTap.slaveName} enjoys sexually experimenting with ${his2} ${relative}.`); + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else { + r.push(`This is moderately tough, as ${milkTap.slaveName} is uncomfortable getting so intimate with ${his2} ${relativeTerm(milkTap, slave)}.`); + if (milkTap.lactation > 1) { + r.push(`${His2} excessive milk production quickly leaves ${him2} eager for release.`); + } else { + r.push(`It takes some coaxing and kneading to get ${his2} milk flowing and ${him2} eager for relief.`); + } + } + } else if (areSisters(slave, milkTap) === 3) { + if (_incestGive) { + r.push(`This is easy enough, as having ${milkTap.slaveName} enjoys sexually experimenting with ${his2} ${relative}.`); + if (milkTap.lactation > 1) { + r.push(`${He2} is practically gushing milk with excitement.`); + } else { + r.push(`It takes minimal effort to get ${his2} milk flowing.`); + } + } else { + r.push(`This is slightly difficult, as ${milkTap.slaveName} is uncomfortable getting so intimate with ${his2} ${relativeTerm(milkTap, slave)}.`); + if (milkTap.lactation > 1) { + r.push(`${His2} excessive milk production quickly leaves ${him2} eager for release.`); + } else { + r.push(`It takes some coaxing and kneading to get ${his2} milk flowing and ${him2} eager for relief.`); + } + } + } else if ((milkTap.lactation > 1) && (milkTap.devotion >= -20)) { + r.push(`Since ${milkTap.slaveName} produces so much milk, ${he2} eagerly accepts any source of relief ${he2} can manage.`); + } else if ((milkTap.devotion > 50)) { + r.push(`Since ${milkTap.slaveName} is devoted to you, ${he2}'ll allow anyone you want to drink deeply from ${him2}.`); + } else if ((milkTap.devotion > 20)) { + r.push(`Since ${milkTap.slaveName} is obedient, ${he2} appreciates any relief from ${his2} swollen breasts.`); + } else if ((milkTap.devotion >= -20)) { + r.push(`Since ${milkTap.slaveName} does not resist your will, ${he2} should comply reasonably well. If anything, ${he}'ll at least be thankful to be relieved of some pressure.`); + } else { + r.push(`Since ${milkTap.slaveName} is unlikely to comply willingly, you simply restrain ${him2} with ${his2} tits exposed and ready to be drank from.`); + if (milkTap.lactation > 1) { + r.push(`You affix nipple clamps to ${his2} ${milkTap.nipples} nipples and step back to watch ${his2} breasts back up with milk. When ${he2} is unclamped, the flow should certainly be strong enough for your desires.`); + } else { + r.push(`You make sure to roughly coax ${his2} milk into flowing, all the while reminding ${him2} that ${he2} is nothing more than a cow now.`); + } + } + + App.Events.addNode(el, r, "p"); + r = []; + + r.push(`Next, you see to ${slave.slaveName}.`); + + if (isAmputee(slave)) { + r.push(`You move the limbless ${girl} to ${milkTap.slaveName}'s nipple and strap ${him} to it to prevent it from falling out of ${his} mouth.`); + } else if (tooBigBreasts(slave)) { + r.push(`You set ${him} up so that ${his} massive breasts pin ${him} on ${milkTap.slaveName}'s milky nipple.`); + } else if (milkTap.fuckdoll > 0) { + r.push(`${He} hesitantly brings ${his} mouth to its milky nipple, uncertain about suckling from a living doll.`); + } else if (slave.rivalryTarget === milkTap.ID) { + r.push(`Knowing ${his} relationship with ${milkTap.slaveName}, you feel it best to restrain ${him} and anchor ${him} to ${milkTap.slaveName}'s milky nipple so ${he} has no choice but to drink until you release ${him}.`); + } else if (slave.relationshipTarget === milkTap.ID) { + r.push(`This is rather easy, as ${slave.slaveName}`); + if (slave.relationship === 1) { + r.push(`licks ${his} lips as ${he} approaches ${his} friend's breasts.`); + } else if (slave.relationship === 2) { + r.push(`eagerly licks ${his} lips as ${he} approaches ${his} best friend's breasts.`); + } else if (slave.relationship === 3) { + r.push(`licks ${his} lips and smiles as ${he} approaches ${his} friend with benefits' breasts, knowing well how ${his2}`); + if (canTaste(slave)) { + r.push(`milk tastes.`); + } else { + r.push(`body feels.`); + } + } else if (slave.relationship === 4) { + r.push(`licks ${his} lips and smiles as ${he} approaches ${his} lover's breasts. This won't be the first time ${he}'s suckled from ${him2} like this.`); + } else if (slave.relationship === 5) { + r.push(`licks ${his} lips and smiles as ${he} approaches ${his} ${wife2}'s breasts. This won't be the first time ${he}'s suckled from ${him2} like this.`); + } + } else if (slave.mother === milkTap.ID) { + r.push(`${He} draws close to ${his} mother's nipples, trying to remember if ${he} once had a favorite.`); + } else if (slave.father === milkTap.ID) { + if (_incestTake) { + r.push(`${He} eagerly wraps ${his} lips around ${his} father's nipple.`); + if (canAchieveErection(milkTap)) { + r.push(`${He} shudders with budding lust when ${he} feels the dick that sired ${him} poking at ${his} belly.`); + } + } else { + r.push(`${He} hesitatingly lowers ${himself} to ${his} father's nipple.`); + if (canAchieveErection(milkTap)) { + r.push(`${He} nearly backs away when ${he} feels the dick that sired ${him} poking at ${his} belly.`); + } + } + } else if (milkTap.mother === slave.ID) { + r.push(`${He}`); + if (_incestTake) { + r.push(`happily`); + } else { + r.push(`awkwardly`); + } + r.push(`brings ${his} lips to ${his} relative's nipple.`); + } else if (milkTap.father === slave.ID) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly`); + } else { + r.push(`awkwardly`); + } + r.push(`brings ${his} lips to ${his} relative's nipple${(canAchieveErection(slave)) ? `, ${his} cock steadily hardening at the perversion of suckling from ${his} child`:``}.`); + } else if (areSisters(slave, milkTap) === 1) { + r.push(`${He} readily gets in position to`); + if (canTaste(slave)) { + r.push(`taste`); + } else { + r.push(`suckle from`); + } + r.push(`${his} ${relative}${(slave.lactation > 0) ? `while coaxing ${his} own milk to flow` : ``}.`); + } else if (areSisters(slave, milkTap) === 2) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`hesitatingly lowers ${himself} to`); + } + r.push(`${his} relative's nipple.`); + } else if (areSisters(slave, milkTap) === 3) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`hesitatingly lowers ${himself} to`); + } + r.push(`${his} relative's nipple.`); + } else if ((slave.fetish === "boobs") && (slave.fetishKnown === 1) && (slave.fetishStrength > 60) && (slave.devotion >= -20)) { + r.push(`${He} can't wait to`); + if (hasBothArms(slave)) { + r.push(`wrap ${his} hands around`); + } else { + r.push(`get between`); + } + r.push(`${milkTap.slaveName}'s massive milky breasts and eagerly approaches ${his} nipples to suckle.`); + } else if ((slave.fetish === "submissive") && (slave.fetishStrength > 60) && (slave.fetishKnown === 1)) { + r.push(`${He} is accustomed to submitting to you, but as a natural submissive ${he} doesn't have much trouble submitting to ${milkTap.slaveName}'s mothering instead.`); + } else if (slave.devotion < -20) { + r.push(`${He} tries to refuse, so you strap ${him} to ${milkTap.slaveName}'s breast, milky ${milkTap.nipples} nipple wedged in ${his} mouth.`); + } else if (slave.devotion <= 20) { + r.push(`${He} obeys your orders reluctantly, drawing near ${milkTap.slaveName}'s breasts despite ${his} obvious hesitation to be filled with milk.`); + } else if (slave.devotion <= 50) { + r.push(`${He} obeys your orders, drawing near ${milkTap.slaveName}'s breasts despite ${his} slight hesitation at the idea of being filled with milk.`); + } else { + r.push(`${He} happily obeys your orders, eagerly wrapping ${his} lips around ${milkTap.slaveName}'s milky ${milkTap.nipples} nipple and suckling enthusiastically.`); + } + + App.Events.addNode(el, r, "p"); + r = []; + + if (slave.preg > slave.pregData.normalBirth / 13.33 && slave.pregKnown === 0 && slave.inflation > 1) { + r.push(`It becomes abundantly clear that something is wrong with ${slave.slaveName} as ${he} struggles to down ${his} milky meal. Before ${his} health can be affected further, you pull ${him} into a medical exam. While most of the tests come back normal, one in particular catches your eye; <span class="lime">${he} is pregnant${(slave.preg > slave.pregData.normalBirth / 4) ? `, and surprisingly far along` : ``}.</span> ${he} should be able to still handle at least two liters of milk, however.`); + deflate(slave); + slave.pregKnown = 1; + _pregDiscovery = 1; + } else if (milkTap.fuckdoll > 0) { + r.push(`Slight moaning emanates from the Fuckdoll as ${slave.slaveName} drinks from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his2} nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his2} nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his2} nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.rivalryTarget === slave.ID) { + r.push(`${milkTap.slaveName} grins as ${his2} rival is forced to drink until ${his} belly is`); + if (slave.inflation === 3) { + r.push(`nearly bursting with milk. ${slave.slaveName} struggles against ${his} bindings until the pressure building in ${him} overwhelms ${him}, causing ${him} to pass out directly into ${milkTap.slaveName}'s cushiony breasts. You quickly remove ${him} from the nipple before ${he} drowns`); + } else if (slave.inflation === 2) { + r.push(`is rounded, jiggling and sloshing with milk. You release ${his} bindings, allowing ${him} to flop to the floor.`); + if (hasAnyArms(slave)) { + r.push(`${He} gingerly crawls away from ${milkTap.slaveName},`); + if (hasBothArms(slave)) { + r.push(`one`); + } else { + r.push(`${his}`); + } + r.push(`hand cradling ${his} overfull stomach`); + } else { + r.push(`${He} rolls onto ${his} side, groaning with discomfort`); + } + } else if (slave.inflation === 1) { + r.push(`bloated with milk. You release ${his} bindings, allowing ${him} to flop to the floor.`); + if (hasAnyArms(slave)) { + r.push(`${He} gingerly sits up and begins massaging ${his} full stomach`); + } else { + r.push(`${He} rolls onto ${his} back, hiccupping pathetically`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationshipTarget === slave.ID) { + if (milkTap.relationship === 1) { + r.push(`${milkTap.slaveName} sighs contently as ${his2} friend drinks deeply from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} friend's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} friend's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} friend's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 2) { + r.push(`${milkTap.slaveName} sighs contently as ${his2} best friend drinks deeply from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} best friend's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} best friend's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} best friend's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 3) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} friend with benefits drinks deeply from ${his2} breasts, savoring it despite commonly nursing ${slave.slaveName} during their lovemaking. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} friend with benefits' nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} friend with benefits' nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} friend with benefits' nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 4) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} lover drinks deeply from ${his2} breasts, savoring it despite commonly nursing ${slave.slaveName} during their lovemaking. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} lover's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} lover's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} lover's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 5) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} wife drinks deeply from ${his2} breasts, savoring it despite commonly nursing ${slave.slaveName} during their lovemaking. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${wife2}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} ${wife2}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} ${wife2}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } + } else if (slave.mother === milkTap.ID) { + r.push(`${milkTap.slaveName} sighs contently as ${his2} little ${girl} once again suckles from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} mother's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} mother's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} mother's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (slave.father === milkTap.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} ${relativeTerm(milkTap, slave)} suckles from ${his2} breasts${(canAchieveErection(milkTap)) ? `, ${his2} dick throbbing with lust` : ``}. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} father's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} father's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} father's nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + if (canAchieveErection(milkTap)) { + r.push(r.pop() + `.`); + if (_incestTake) { + r.push(`The way ${he} is wiggling ${his} hips suggests ${he} isn't finished with ${his} daddy just yet, and ${his} father's moaning confirms ${he} is teasing ${him2} with ${his} rear. ${He} giggles as the horny cow unloads on ${his} backside`); + } else { + r.push(`${He} doesn't stay put for long, as a strong moan and a blast of cum across ${his} rear from the horny cow startles ${him} from ${his} rest`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.mother === slave.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${he2} enjoys some role reversal as ${his2} mother suckles from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.father === slave.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} father suckles from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (areSisters(slave, milkTap) === 1) { + r.push(`${milkTap.slaveName} sighs contently as ${his2} ${relativeTerm(milkTap, slave)} suckles from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping}`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (areSisters(slave, milkTap) === 2) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2}`); + if (milkTap.actualAge >= slave.actualAge) { + r.push(`little`); + } else { + r.push(`big`); + } + r.push(); + r.push(`${relativeTerm(milkTap, slave)} suckles from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (areSisters(slave, milkTap) === 3) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} ${relative} suckles from ${his2} breasts. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with milk. ${He} pops off ${his} ${relative}'s nipple and settles into ${his2} breasts for a short rest while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if ((slave.devotion < -20) && (milkTap.devotion < -20)) { + r.push(`Since you have two restrained and unwilling slaves, the work of milking ${milkTap.slaveName}'s breasts falls to you. That doesn't mean you can't have fun doing it though.`); + if (canDoVaginal(milkTap)) { + r.push(`Moving behind the restrained cow while`); + if (V.PC.dick === 0) { + r.push(`donning a strap-on,`); + } else { + r.push(`teasing your erect cock,`); + } + r.push(`you push ${him2} forward to allow you to insert yourself into ${his2}`); + if (milkTap.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy. Getting comfortable, you reach around to ${his2} immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms in both yourself and the sobbing cow, is ${slave.slaveName} bloated with enough milk.`); + actX(milkTap, "vaginal"); + if (canImpreg(milkTap, V.PC)) { + r.push(knockMeUp(milkTap, 40, 0, -1)); + } + } else if (canDoAnal(milkTap)) { + r.push(`Moving behind the restrained cow while`); + if (V.PC.dick === 0) { + r.push(`donning a strap-on,`); + } else { + r.push(`teasing your erect cock,`); + } + r.push(`you push ${him2} forward to allow you to insert yourself into ${his2}`); + if (milkTap.anus === 0) { + r.push(`virgin`); + } + r.push(`rear. Getting comfortable, you reach around to ${his2} immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms in both yourself and the sobbing cow, is ${slave.slaveName} bloated with enough milk.`); + actX(milkTap, "anal"); + if (canImpreg(milkTap, V.PC)) { + r.push(knockMeUp(milkTap, 40, 1, -1)); + } + } else if (V.PC.dick !== 0 && milkTap.butt > 4) { + r.push(`Moving behind the restrained cow while teasing your erect cock, you push ${him2} forward to allow you to press your dick between ${his2} huge butt cheeks. Getting comfortable, you reach around to ${his2} immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms across the back of the sobbing cow, is ${slave.slaveName} bloated with enough milk.`); + } else if (V.PC.dick !== 0 && !hasAnyLegs(milkTap)) { + r.push(`Moving behind the restrained cow while teasing your erect cock, you find a severe lack of places to stick your dick. Sighing, you hoist ${his2} belted ass into the air so you may thrust between ${his2}`); + if (milkTap.weight > 95) { + r.push(`soft`); + } + r.push(`thighs. Getting comfortable, you reach around to ${his2} immense mammaries and begin kneading them in time to your thrusts. After some time, and several loads blown ${(milkTap.belly >= 1500) ? `onto the rounded belly of the sobbing cow`: ``}, is ${slave.slaveName} bloated with enough milk.`); + } else { + r.push(`With a lack of holes to penetrate, you simply wrap your arms around ${milkTap.slaveName} and begin fondling and milking ${his2} luscious breasts. After some time, ${slave.slaveName} is finally bloated to your desired size.`); + } + r.push(`Standing and releasing ${him} from ${milkTap.slaveName}, gives you the opportunity to finally see ${slave.slaveName}'s`); + + if (slave.inflation === 3) { + r.push(`taut, round belly.`); + } else if (slave.inflation === 2) { + r.push(`rounded, jiggling belly.`); + } else { + r.push(`distended, sloshing belly.`); + } + r.push(`You just wish you could have enjoyed it a bit more, though forcing milk into the squirming slave was quite enjoyable. Both slaves <span class="mediumorchid">resent</span> what you made them do and <span class="gold">fear you</span> as a result.`); + slave.devotion -= 5; + slave.trust -= 5; + milkTap.devotion -= 5; + milkTap.trust -= 5; + if (canDoVaginal(milkTap) && (milkTap.vagina === 0)) { + r.push(`${milkTap.slaveName} <span class="mediumorchid">especially,</span> having just <span class="lime">lost ${his} virginity</span> to your inconvenience.`); + milkTap.devotion -= 5; + milkTap.vagina = 1; + } else if (canDoAnal(milkTap) && (milkTap.anus === 0)) { + r.push(`${milkTap.slaveName} <span class="mediumorchid">especially,</span> having just <span class="lime">lost ${his} anal virginity</span> to your inconvenience.`); + milkTap.devotion -= 5; + milkTap.anus = 1; + } + } else if ((milkTap.devotion < -20)) { + r.push(`Since your cow is restrained, you order the more obedient ${slave.slaveName} to enjoy ${himself} with ${milkTap.slaveName}'s breasts. As ${he} suckles, you can't help but notice the tantalizing way ${he} wiggles ${his} rear.`); + if (canDoVaginal(slave)) { + if (V.PC.dick === 0) { + r.push(`Donning a strap-on,`); + } else { + r.push(`Teasing your stiffening cock,`); + } + r.push(`you push ${him} deeper into the protesting ${milkTap.slaveName} and mount ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy, doggy style. You wrap your arms around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk.`); + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`Only once your weight is removed from the squirming milk balloon is ${he} allowed to pull ${himself} off of the <span class="mediumorchid">resentful ${milkTap.slaveName}</span> and catch ${his} breath.`); + if (slave.vagina === 0) { + r.push(`${His} senses were so overwhelmed, ${he} didn't even notice you <span class="lime">broke in ${his} vagina.</span>`); + } + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + if (V.PC.dick === 0) { + r.push(`Donning a strap-on,`); + } else { + r.push(`Teasing your stiffening cock,`); + } + r.push(`you push ${him} deeper into the protesting ${milkTap.slaveName} and mount ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`asshole, doggy style. You wrap your arms around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`Only once your weight is removed from the squirming milk balloon is ${he} allowed to pull ${himself} off of the <span class="mediumorchid">resentful ${milkTap.slaveName}</span> and catch ${his} breath.`); + if (slave.anus === 0) { + r.push(`${His} senses were so overwhelmed, ${he} didn't even notice you <span class="lime">broke in ${his} anus.</span>`); + } + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`Teasing your stiffening cock, you push ${him} deeper into the protesting ${milkTap.slaveName} and squeeze your dick between ${his} huge butt cheeks. You wrap your arms around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk as you fuck ${his} butt.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`Only once your weight is removed from the squirming milk balloon is ${he} allowed to pull ${himself} off of the <span class="mediumorchid">resentful ${milkTap.slaveName}</span> and catch ${his} breath.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`Teasing your stiffening cock, you find a severe lack of places to stick your dick. Sighing, you hoist ${his} belted ass into the air, push ${him} deeper into the protesting ${milkTap.slaveName} and squeeze your dick between ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs. You wrap your arms around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk as you fuck ${his} butt.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`Only once your weight is removed from the squirming milk balloon is ${he} allowed to pull ${himself} off of the <span class="mediumorchid">resentful ${milkTap.slaveName}</span> and catch ${his} breath.`); + } else { + r.push(`With a lack of holes to penetrate, you simply wrap your arms around ${him} and push ${him} deeper into the protesting ${milkTap.slaveName}. You bring a hand to ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and lead the other to your`); + + if (V.PC.dick === 0) { + r.push(`soaked pussy.`); + } else { + r.push(`stiff prick.`); + } + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`Only once your weight is removed from the squirming milk balloon is ${he} allowed to pull ${himself} off of the <span class="mediumorchid">resentful ${milkTap.slaveName}</span> and catch ${his} breath.`); + } + r.push(`${He} gives the shaking ${milkTap.slaveName} an apologetic look before taking a seat. The poor cow isn't used to this yet and <span class="gold">is terrified of your willingness</span> to take what you want from your slaves.`); + milkTap.devotion -= 5; + milkTap.trust -= 5; + if (canDoVaginal(slave) && (slave.vagina === 0)) { + slave.vagina = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + slave.anus = 1; + } + } else if ((milkTap.fetish === "boobs") && (milkTap.fetishStrength > 60) && (milkTap.devotion > 20) && (slave.devotion < -20)) { + if (canDoVaginal(slave)) { + r.push(`You position the restrained ${slave.slaveName} so that you can penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} is forced to drink from ${milkTap.slaveName}'s breasts. With every thrust into the squirming slave, you push ${him} into the moaning ${milkTap.slaveName} forcing even more milk down ${his} throat. You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he} loves it groped.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers`); + } + r.push(`and ${milkTap.slaveName} even more. ${He2} is semi-conscious, drooling in <span class="hotpink">pleasure and satisfaction,</span> by the time you release the bloated ${slave.slaveName} from ${his} harness. Patting ${his2} well milked breasts, you know ${he2}'ll come out of it and be eagerly begging you for another milking soon. ${slave.slaveName}, on the other hand, is regarding ${his} swollen stomach <span class="mediumorchid">with disgust</span> and <span class="gold">fear</span> of your power over ${him}.`); + if (slave.anus === 0) { + r.push(`${He} <span class="mediumorchid">hates you so much more</span> that you <span class="lime">broke in ${his} virgin vagina.</span>`); + } + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You position the restrained ${slave.slaveName} so that you can penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} is forced to drink from ${milkTap.slaveName}'s breasts. With every thrust into the squirming slave, you push ${him} into the moaning ${milkTap.slaveName} forcing even more milk down ${his} throat. You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he} loves it groped.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers`); + } + r.push(`and ${milkTap.slaveName} even more. ${He2} is semi-conscious, drooling in <span class="hotpink">pleasure and satisfaction,</span> by the time you release the bloated ${slave.slaveName} from ${his} harness. Patting ${his2} well milked breasts, you know ${he2}'ll come out of it and be eagerly begging you for another milking soon. ${slave.slaveName}, on the other hand, is regarding ${his} swollen stomach <span class="mediumorchid">with disgust</span> and <span class="gold">fear</span> of your power over ${him}.`); + if (slave.anus === 0) { + r.push(`${He} <span class="mediumorchid">hates you so much more</span> that you <span class="lime">broke in ${his} virgin anus.</span>`); + } + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You position the restrained ${slave.slaveName} so that you can rub your dick between ${his} huge butt cheeks while ${he} is forced to drink from ${milkTap.slaveName}'s breasts. With every thrust against the squirming slave, you push ${him} into the moaning ${milkTap.slaveName} forcing even more milk down ${his} throat. You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he} loves it groped.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers`); + } + r.push(`and ${milkTap.slaveName} even more. ${He2} is semi-conscious, drooling in <span class="hotpink">pleasure and satisfaction,</span> by the time you release the bloated ${slave.slaveName} from ${his} harness. Patting ${his2} well milked breasts, you know ${he}'ll come out of it and be eagerly begging you for another milking soon. ${slave.slaveName}, on the other hand, is regarding ${his} swollen stomach, and cum soaked back, <span class="mediumorchid">with disgust</span> and <span class="gold">fear</span> of your power over ${him}.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You position the restrained ${slave.slaveName} so that you can fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs, for a lack of anything better, while ${he} is forced to drink from ${milkTap.slaveName}'s breasts. With every thrust against the squirming slave, you push ${him} into the moaning ${milkTap.slaveName} forcing even more milk down ${his} throat. You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he} loves it groped.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers`); + } + r.push(`and ${milkTap.slaveName} even more. ${He2} is semi-conscious, drooling in <span class="hotpink">pleasure and satisfaction,</span> by the time you release the bloated ${slave.slaveName} from ${his} harness. Patting ${his2} well milked breasts, you know ${he2}'ll come out of it and be eagerly begging you for another milking soon. ${slave.slaveName}, on the other hand, is regarding ${his} swollen, cum-covered stomach <span class="mediumorchid">with disgust</span> and <span class="gold">fear</span> of your power over ${him}.`); + } else { + r.push(`You position the restrained ${slave.slaveName} so that you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} is forced to drink from ${milkTap.slaveName}'s breasts, since ${he} lacks any better way to please you while you lavish attention on your eager cow. With every thrust against the squirming slave, you push ${him} into the moaning ${milkTap.slaveName} forcing even more milk down ${his} throat. You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he} loves it groped.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers`); + } + r.push(`and ${milkTap.slaveName} even more. ${He2} is semi-conscious, drooling in <span class="hotpink">pleasure and satisfaction,</span> by the time you release the bloated ${slave.slaveName} from ${his} harness. Patting ${his2} well milked breasts, you know ${he2}'ll come out of it and be eagerly begging you for another milking soon. ${slave.slaveName}, on the other hand, is regarding ${his} swollen stomach <span class="mediumorchid">with disgust</span> and <span class="gold">fear</span> of your power over ${him}.`); + } + if (canDoVaginal(slave) && (slave.vagina === 0)) { + slave.vagina = 1; + slave.devotion -= 5; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + slave.anus = 1; + slave.devotion -= 5; + } + slave.devotion -= 5; + slave.trust -= 5; + milkTap.devotion += 4; + } else if ((slave.devotion <= 20) || (milkTap.devotion <= 20)) { + if (canDoVaginal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} drinks from ${milkTap.slaveName}'s breasts. With every thrust into the squirming slave, you push ${him} into the docile ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} drinks from ${milkTap.slaveName}'s breasts. With every thrust into the squirming slave, you push ${him} into the docile ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can rub your dick between ${his} huge butt cheeks while ${he} drinks from ${milkTap.slaveName}'s breasts. With every thrust against the squirming slave, you push ${him} into the docile ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs, for a lack of anything better, while ${he} drinks from ${milkTap.slaveName}'s breasts. With every thrust against the squirming slave, you push ${him} into the docile ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } else { + r.push(`You order ${slave.slaveName} to position ${himself} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} drinks from ${milkTap.slaveName}'s breasts, since ${he} lacks any better way to please you while you lavish praise on your obedient cow. With every thrust against the squirming slave, you push ${him} into the docile ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he2} loves it groped.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`When you release ${him} from under your weight, ${he} drops to the ground panting. Neither slave seems to have enjoyed it, instead opting to just get it over with, though ${milkTap.slaveName} makes sure to thank ${slave.slaveName} for lightening ${his2} milky breasts.`); + if (canDoVaginal(slave) && (slave.vagina === 0)) { + slave.vagina = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + slave.anus = 1; + } + } else if ((slave.devotion <= 50) || (milkTap.devotion <= 50)) { + if (canDoVaginal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} drinks from ${milkTap.slaveName}'s breasts. ${He} submissively obeys. With every thrust into the moaning slave, you push ${him} into the smiling ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} drinks from ${milkTap.slaveName}'s breasts. ${He} submissively obeys. With every thrust into the moaning slave, you push ${him} into the smiling ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can rub your dick between ${his} huge butt cheeks while ${he} drinks from ${milkTap.slaveName}'s breasts. ${He} submissively obeys. With every thrust against the chaste slave, you push ${him} into the smiling ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs, for a lack of anything better, while ${he} drinks from ${milkTap.slaveName}'s breasts. ${He} submissively obeys. With every thrust against the chaste slave, you push ${him} into the smiling ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } else { + r.push(`You order ${slave.slaveName} to position ${himself} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} drinks from ${milkTap.slaveName}'s breasts, since ${he} lacks any better way to please you while you lavish attention on your happy cow. With every thrust against the squirming slave, you push ${him} into the smiling ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple, knowing just how much ${he2} gets backed up.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`When you release ${him} from under your weight, ${he} drops to the ground panting. Both slaves enjoyed their union, though ${milkTap.slaveName} even more so thanks to ${his2} lighter breasts.`); + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${slave.slaveName}`); + r.push(`feels <span class="hotpink">closer to you</span> after losing ${his} virginity to you.`); + slave.vagina = 1; + slave.devotion += 2; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${slave.slaveName}`); + r.push(`feels <span class="hotpink">closer to you</span> after losing ${his} anal virginity to you.`); + slave.anus = 1; + slave.devotion += 2; + } + } else { + r.push(`${slave.slaveName}`); + r.push(`eagerly lifts ${his} ass and jiggles it seductively as ${he} suckles from the moaning cow.`); + if (canDoVaginal(slave)) { + r.push(`You know that signal, so you hilt yourself in`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`and begin fucking ${him} against ${milkTap.slaveName}'s tits. With every thrust into the moaning slave, you push ${him} into the grinning ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You know that signal, so you hilt yourself in`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`and begin fucking ${him} against ${milkTap.slaveName}'s tits. With every thrust into the moaning slave, you push ${him} into the grinning ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You know that signal, but ${he} isn't allowed to get penetrated, so you settle for sticking your dick between ${his} huge butt cheeks and fucking ${him} against ${milkTap.slaveName}'s tits. With every thrust against the moaning slave, you push ${him} into the grinning ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You know that signal, but ${he} isn't allowed to get penetrated, so you settle for sticking your dick between ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs, for a lack of anything better, and fuck ${him} against ${milkTap.slaveName}'s tits. With every thrust against the moaning slave, you push ${him} into the grinning ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } else { + r.push(`You know that signal, but ${he} isn't allowed to get fucked, so you reposition ${him} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} drinks from ${milkTap.slaveName}'s tits. With every thrust against the moaning slave, you push ${him} into the grinning ${milkTap.slaveName} forcing even more milk down ${his} throat.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with milk and place your other hand to ${milkTap.slaveName}'s free nipple to prevent ${him2} from feeling left out.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with milk under your molesting fingers.`); + } + r.push(`When you release ${him} from under your weight, ${he} drops to the ground panting from ${his} meal`); + if (canDoVaginal(slave) || canDoAnal(slave)) { + r.push(`and from the pleasure you drove into ${him}`); + } + r.push(r.pop() + `.`); + r.push(`Both slaves <span class="hotpink">loved the attention,</span> though ${milkTap.slaveName} even more so thanks to ${his2} lighter breasts.`); + slave.devotion += 4; + milkTap.devotion += 4; + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${slave.slaveName}`); + r.push(`got off quite strongly from the growing pressure within ${him}, <span class="hotpink">cementing</span> ${his} <span class="lime">first fucking</span> as something special.`); + slave.devotion += 4; + slave.vagina = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${slave.slaveName}`); + r.push(`got off quite strongly from the growing pressure within ${him}, <span class="hotpink">cementing</span> ${his} <span class="lime">first anal</span> as something special.`); + slave.devotion += 4; + slave.anus = 1; + } + } + + if (milkTap.lactation > 0) { + milkTap.lactationDuration = 2; + milkTap.boobs -= milkTap.boobsMilk; + milkTap.boobsMilk = 0; + } + } else { /* cum variant */ + slave.cumSource = milkTap.ID; + if (milkTap.behavioralQuirk === "sinful" || milkTap.sexualQuirk === "perverted" || milkTap.fetish === "incest") { /* incest is a planned fetish, don't touch it! */ + _incestGive = 1; + } + if (slave.behavioralQuirk === "sinful" || slave.sexualQuirk === "perverted" || slave.fetish === "incest") { + _incestTake = 1; + } + + r.push(`The first necessary step is to prepare the cum slave and ${his} cock and balls.`); + + if (milkTap.fuckdoll > 0) { + r.push(`This is hilariously easy, as you have complete control over how ${milkTap.slaveName} is posed.`); + } else if (milkTap.fetish === "mindbroken") { + r.push(`This is very easy, as ${milkTap.slaveName} blankly follows your every will. Combined with ${his2} instinct to relieve the building pressure in ${his2} loins, ${he2} is simple to position.`); + } else if (milkTap.rivalryTarget === slave.ID) { + r.push(`This is rather easy, as ${milkTap.slaveName} wants to`); + if (canSee(milkTap)) { + r.push(`see`); + } else { + r.push(`feel`); + } + r.push(`${slave.slaveName}'s belly swell painfully as ${he} is forced to suck down ${his2} huge loads.`); + } else if (milkTap.relationshipTarget === slave.ID) { + r.push(`This is rather easy, as ${milkTap.slaveName}`); + if (milkTap.relationship === 1) { + r.push(`always wanted to get ${his2} dick sucked by ${his2} friend.`); + } else if (milkTap.relationship === 2) { + r.push(`always wanted to get ${his2} dick sucked by ${his2} best friend.`); + } else if (milkTap.relationship === 3) { + r.push(`enjoys getting ${his2} dick sucked by ${his2} friend with benefits.`); + } else if (milkTap.relationship === 4) { + r.push(`loves getting ${his2} dick sucked by ${his2} lover, something that commonly happens due to ${his2} overproduction.`); + } else if (milkTap.relationship === 5) { + r.push(`loves getting ${his2} dick sucked by ${his2} ${wife}, something that commonly happens due to ${his2} overproduction.`); + } + } else if (slave.mother === milkTap.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} savors the thought of having ${his2} dick sucked by ${his2} ${relative}.`); + } else { + r.push(`This is tough, as ${milkTap.slaveName} is very uncomfortable having ${his2} dick sucked by ${his2} ${relative}, but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } else if (slave.father === milkTap.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} cherishes the sheer lewdity of having ${his2} dick sucked by ${his2} ${relative}.`); + } else { + r.push(`This is tough, as ${milkTap.slaveName} is rather uncomfortable having ${his2} dick sucked by ${his2} ${relative}, but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } else if (milkTap.mother === slave.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} savors the thought of having ${his2} dick sucked by ${his2} own mother.`); + } else { + r.push(`This is moderately tough, as ${milkTap.slaveName} is very uncomfortable having ${his2} dick sucked by ${his2} own mother, but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } else if (milkTap.father === slave.ID) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} cherishes the sheer lewdity of having ${his2} dick sucked by ${his2} own father.`); + } else { + r.push(`This is tough, as ${milkTap.slaveName} is very uncomfortable having ${his2} dick sucked by ${his2} own father, but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } else if (areSisters(slave, milkTap) === 1) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} enjoys the notion of twincest quite a lot.`); + } else { + r.push(`This is moderately tough, as ${milkTap.slaveName} is uncomfortable getting so intimate with ${his2}`); + if (milkTap.energy >= 95) { + r.push(`${relative}, though as a nymphomaniac, the thought of someone who looks so much like ${his2} is a major turn on.`); + } else { + r.push(`${relative} but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } + } else if (areSisters(slave, milkTap) === 2) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} is quite eager to get intimate with ${his2} ${relative}.`); + } else { + r.push(`This is moderately tough, as ${milkTap.slaveName} is uncomfortable getting so intimate with ${his2} ${relative}, but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } else if (areSisters(slave, milkTap) === 3) { + if (_incestGive) { + r.push(`This is easy enough, as ${milkTap.slaveName} is quite eager to get intimate with ${his2} ${relative}.`); + } else { + r.push(`This is moderately tough, as ${milkTap.slaveName} is uncomfortable getting so intimate with ${his2} ${relative}, but ${he2} can't really complain about getting ${his2} overfilled nuts drained.`); + } + } else if ((milkTap.fetish === "cumslut") && (milkTap.fetishKnown === 1) && (milkTap.fetishStrength > 60) && (milkTap.devotion >= -20)) { + r.push(`This is very easy, since ${milkTap.slaveName} loves blasting loads whenever ${he2} can, and it is just a bonus to ${him2} that ${he2} gets a blowjob in the process.`); + } else if ((milkTap.energy > 95)) { + r.push(`This is very easy, since ${milkTap.slaveName} is so sexually charged ${he2} is practically overflowing at the thought of getting ${his2} dick sucked.`); + } else if ((milkTap.devotion > 50)) { + r.push(`Since ${milkTap.slaveName} is devoted to you, ${he2}'d allow anyone you want to suck ${his2} dick.`); + } else if ((milkTap.devotion > 20)) { + r.push(`Since ${milkTap.slaveName} is obedient, ${he2} appreciates being allowed to have ${his2} dick sucked.`); + } else if ((milkTap.devotion >= -20)) { + r.push(`Since ${milkTap.slaveName} does not resist your will, ${he2} should comply reasonably well. If anything, ${he2}'ll at least be thankful for the pleasure and relief.`); + } else { + r.push(`Since ${milkTap.slaveName} is unlikely to comply willingly, you simply restrain ${him2} with ${his2} dick exposed and ready to be sucked. To get ${him2} going,`); + if (canDoAnal(milkTap) && milkTap.prostate > 0) { + r.push(`you circle around behind ${him2},`); + if (V.PC.dick === 0) { + r.push(`while donning a strap-on,`); + } else { + r.push(`teasing your erect cock,`); + } + r.push(`and force ${him2} forward to allow you to insert yourself into ${his}`); + if (milkTap.anus === 0) { + r.push(`virgin`); + } + r.push(`rear. After a quick and brutal bit of prostrate stimulation, you finish and remove yourself from ${him2}. Before ${he2} has a chance to reclench ${his2} anus, you ram an electroshock stimulator in your stead.`); + } else { + r.push(`you attach a number of vibrators to ${his2} oversized balls and turn them to full power, stirring up ${his2} overzealous cum factories.`); + } + r.push(`${He2} cries in <span class="mediumorchid">disgust</span> and <span class="gold">fear</span> as ${his2} penis twitches from the sensation, begging for unwelcome release.`); + milkTap.devotion -= 5; + milkTap.trust -= 5; + if (canDoAnal(milkTap)) { + if (canImpreg(milkTap, V.PC)) { + r.push(knockMeUp(milkTap, 40, 1, -1)); + } + if (milkTap.anus === 0) { + r.push(`${milkTap.slaveName} feels <span class="mediumorchid">especially violated</span> having just <span class="lime">lost ${his} anal virginity</span> in such a manner.`); + milkTap.devotion -= 5; + milkTap.anus = 1; + } + actX(milkTap, "anal"); + } + } + + App.Events.addNode(el, r, "p"); + r = []; + + r.push(`Next, you see to ${slave.slaveName}.`); + + if (isAmputee(slave)) { + r.push(`You tip the limbless ${girl} face-first into ${milkTap.slaveName}'s dick.`); + } else if (tooBigBreasts(slave)) { + r.push(`You set ${him} up so that ${his} massive breasts pin ${him}, face-first, to ${milkTap.slaveName}'s dick.`); + } else if (milkTap.fuckdoll > 0) { + r.push(`${He} hesitantly brings ${his} mouth to its precum tipped dick, uncertain about sucking off a doll.`); + } else if (slave.rivalryTarget === milkTap.ID) { + r.push(`Knowing ${his} relationship with ${milkTap.slaveName}, you feel it best to restrain ${him} and anchor ${him} to ${milkTap.slaveName}'s eager cock so ${he} has no choice but to suck ${his} way to release.`); + } else if (slave.relationshipTarget === milkTap.ID) { + r.push(`This is rather easy, as ${slave.slaveName}`); + if (slave.relationship === 1) { + r.push(`licks ${his} lips as ${he} approaches ${his} friend's cock.`); + } else if (slave.relationship === 2) { + r.push(`eagerly licks ${his} lips as ${he} approaches ${his} best friend's cock.`); + } else if (slave.relationship === 3) { + r.push(`licks ${his} lips and smiles as ${he} approaches ${his} friend with benefits' cock, knowing well how ${his2}`); + if (canTaste(slave)) { + r.push(`cum tastes.`); + } else { + r.push(`body feels.`); + } + } else if (slave.relationship === 4) { + r.push(`licks ${his} lips and smiles as ${he} approaches ${his} lover's cock. This won't be the first time ${he}'s sucked ${his2} dick and swallowed ${his2} huge loads.`); + } else if (slave.relationship === 5) { + r.push(`licks ${his} lips and smiles as ${he} approaches ${his} ${wife2}'s cock. This won't be the first time ${he}'s sucked ${his2} dick and swallowed ${his2} huge loads.`); + } + } else if (slave.mother === milkTap.ID) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`awkwardly brings ${his} lips to`); + } + r.push(`${his} mother's cock.`); + } else if (slave.father === milkTap.ID) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`awkwardly brings ${his} lips to`); + } + r.push(`daddy's cock.`); + } else if (milkTap.mother === slave.ID) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`awkwardly brings ${his} lips to`); + } + r.push(`${his} ${relative}'s cock.`); + } else if (milkTap.father === slave.ID) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`awkwardly brings ${his} lips to`); + } + r.push(`${his} ${relative}'s cock.`); + } else if (areSisters(slave, milkTap) === 1) { + r.push(`${He}`); + if (_incestTake) { + r.push(`readily`); + } + r.push(`gets in position to suck ${his} ${relative}'s dick.`); + } else if (areSisters(slave, milkTap) === 2) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`hesitatingly lowers ${himself} to`); + } + r.push(`${his} ${relative}'s cock.`); + } else if (areSisters(slave, milkTap) === 3) { + r.push(`${He}`); + if (_incestTake) { + r.push(`eagerly wraps ${his} lips around`); + } else { + r.push(`hesitatingly lowers ${himself} to`); + } + r.push(`${his} ${relative}'s cock.`); + } else if ((slave.fetish === "cumslut") && (slave.fetishKnown === 1) && (slave.fetishStrength > 60) && (slave.devotion >= -20)) { + r.push(`${He} can't wait to wrap ${his} lips around ${milkTap.slaveName}'s cock and balloon with cum, so ${he} eagerly approaches the waiting shaft.`); + } else if ((slave.fetish === "submissive") && (slave.fetishStrength > 60) && (slave.fetishKnown === 1)) { + r.push(`${He} is accustomed to submitting to you, but as a natural submissive ${he} doesn't have much trouble submitting to ${milkTap.slaveName} instead.`); + } else if (slave.devotion < -20) { + r.push(`${He} tries to refuse, so you tie ${him} up, force a mouth spreader into ${him}, and position ${him} for ${milkTap.slaveName} to thrust into.`); + } else if (slave.devotion <= 20) { + r.push(`${He} obeys your orders reluctantly, drawing near ${milkTap.slaveName}'s cock despite ${his} obvious hesitation to amount of cum that will be gushing into ${him}.`); + } else if (slave.devotion <= 50) { + r.push(`${He} obeys your orders, drawing near ${milkTap.slaveName}'s cock despite ${his} slight hesitation at the idea of being filled with cum.`); + } else { + r.push(`${He} happily obeys your orders, eagerly`); + if (canTaste(slave)) { + r.push(`tasting`); + } else { + r.push(`licking up`); + } + r.push(`${milkTap.slaveName}'s beading precum before wrapping ${his} lips around ${milkTap.slaveName}'s cock and sucking enthusiastically.`); + } + + App.Events.addNode(el, r, "p"); + r = []; + + if (slave.preg > 3 && slave.pregKnown === 0 && slave.inflation > 1) { + r.push(`It becomes abundantly clear that something is wrong with ${slave.slaveName} as ${he} struggles to down ${his} thick meal. Before ${his} health can be affected further, you pull ${him} into a medical exam. While most of the tests come back normal, one in particular catches your eye; <span class="lime">${he} is pregnant${(slave.preg > 10) ? `and surprisingly far along` :``}.</span> ${he} should be able to still handle at least two liters of cum, however.`); + deflate(slave); + slave.pregKnown = 1; + _pregDiscovery = 1; + } else if (milkTap.fuckdoll > 0) { + r.push(`Slight moaning emanates from the Fuckdoll as ${slave.slaveName} sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his2} cock and settles into ${his2} balls for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his2} cock and settles into ${his2} balls for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his2} cock and settles into ${his2} balls for a short rest while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.rivalryTarget === slave.ID) { + r.push(`${milkTap.slaveName} grins as ${his2} rival is forced to suck down loads until ${his} belly is`); + if (slave.inflation === 3) { + r.push(`nearly bursting with cum. ${slave.slaveName} struggles against ${his} bindings until the pressure building in ${his} overwhelms ${him}, causing ${him} to pass out with ${milkTap.slaveName}'s ejaculating cock still stuck in ${him}. You quickly remove ${him} from it, making sure ${he} gets roused from ${his} stupor by one last blast of cum directly to the face.`); + } else if (slave.inflation === 2) { + r.push(`is rounded, jiggling and sloshing with cum. You release ${his} bindings, allowing ${him} to flop to the floor.`); + if (hasAnyArms(slave)) { + r.push(`${He} gingerly crawls away from ${milkTap.slaveName}, ${his} hand cradling ${his} overfull stomach.`); + } else { + r.push(`${He} rolls onto ${his} side, groaning with discomfort.`); + } + } else if (slave.inflation === 1) { + r.push(`bloated with cum. You release ${his} bindings, allowing ${him} to flop to the floor.`); + if (hasAnyArms(slave)) { + r.push(`${He} gingerly sits up and begins massaging ${his} full stomach.`); + } else { + r.push(`${He} rolls onto ${his} back, hiccupping pathetically.`); + } + } + } else if (milkTap.relationshipTarget === slave.ID) { + if (milkTap.relationship === 1) { + r.push(`${milkTap.slaveName} moans as ${his2} friend energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} friend's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} friend's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} friend's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 2) { + r.push(`${milkTap.slaveName} moans as ${his2} best friend energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} best friend's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} best friend's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} best friend's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 3) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} friend with benefits energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} friend with benefits' cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} friend with benefits' cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} friend with benefits' cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 4) { + r.push(`${milkTap.slaveName} moans lustfully as ${his2} lover teases ${his} dick perfectly with ${his2} tongue, savoring it despite commonly being sucked off by ${slave.slaveName} during their lovemaking. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} lover's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} lover's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} lover's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.relationship === 5) { + r.push(`${milkTap.slaveName} moans lustfully as ${his2} wife teases ${his2} dick perfectly with ${his} tongue, savoring it despite commonly being sucked off by ${slave.slaveName} during their lovemaking. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${wife2}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} ${wife2}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} ${wife2}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } + } else if (slave.mother === milkTap.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} ${relative} energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} mother's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} mother's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} mother's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (slave.father === milkTap.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} ${relative} energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} father's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} father's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} father's cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.mother === slave.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} mother energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (milkTap.father === slave.ID) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} father energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + if (slave.dick > 0 && canAchieveErection(slave)) { + r.push(r.pop() + `,`); + r.push(`${his} own stiff prick throbbing against the underside of ${his} new belly`); + } + r.push(r.pop() + `.`); + } else if (areSisters(slave, milkTap) === 1) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} ${relative} sucks ${him2} off. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (areSisters(slave, milkTap) === 2) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2}`); + if (milkTap.actualAge >= slave.actualAge) { + r.push(`little`); + } else { + r.push(`big`); + } + r.push(`${relative} energetically sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until`); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if (areSisters(slave, milkTap) === 3) { + r.push(`${milkTap.slaveName} moans lewdly as ${his2} ${relative} sucks ${his2} dick. You enjoy the show, specifically the sight of ${slave.slaveName}'s belly steadily growing larger with each orgasm until `); + + if (slave.inflation === 3) { + r.push(`${his} belly is round and taut, making ${him} look pregnant. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and rubbing ${his} gurgling stomach`); + } + } else if (slave.inflation === 2) { + r.push(`${his} belly is round, jiggling and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} wobbling, gurgling stomach`); + } + } else if (slave.inflation === 1) { + r.push(`${his} belly is distended and sloshing with cum. ${He} pops off ${his} ${relative}'s cock and takes a seat facing the smiling ${milkTap.slaveName} while hiccupping`); + + if (hasAnyArms(slave)) { + r.push(`and teasing ${his} gurgling stomach`); + } + } + r.push(r.pop() + `.`); + } else if ((slave.devotion < -20) && (milkTap.devotion < -20)) { + r.push(`Since you have two restrained and unwilling slaves, though ${milkTap.slaveName}'s twitching penis betrays ${him2}, you are going to have to take an active role in forcing ${slave.slaveName} to suck.`); + if (canDoVaginal(slave)) { + r.push(`Moving behind the struggling cocksleeve while`); + if (V.PC.dick === 0) { + r.push(`donning a strap-on,`); + } else { + r.push(`teasing your erect cock,`); + } + r.push(`you pull ${him} into a comfortable position to penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy. Once you are firmly mounted, you reach around, bringing one hand to ${his} empty stomach and the other to ${his} exposed throat. As you thrust into ${him}, you force ${him} to choke down ${milkTap.slaveName}'s dick, applying pressure to ${his} throat any time ${he} attempts to pull away.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`Moving behind the struggling cocksleeve while`); + if (V.PC.dick === 0) { + r.push(`donning a strap-on,`); + } else { + r.push(`teasing your erect cock,`); + } + r.push(`you pull ${him} into a comfortable position to penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`rear. Once you are firmly mounted, you reach around, bringing one hand to ${his} empty stomach and the other to ${his} exposed throat. As you thrust into ${him}, you force ${him} to choke down ${milkTap.slaveName}'s dick, applying pressure to ${his} throat any time ${he} attempts to pull away.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`Moving behind the struggling cocksleeve while teasing your erect cock, you pull ${him} into a comfortable position to rub your dick between ${his} huge butt cheeks. Once you are firmly slotted, you reach around, bringing one hand to ${his} empty stomach and the other to ${his} exposed throat. As you thrust against ${him}, you force ${him} to choke down ${milkTap.slaveName}'s dick, applying pressure to ${his} throat any time ${he} attempts to pull away.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`Moving behind the struggling cocksleeve while teasing your erect cock, you pull ${him} into a comfortable position to fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs, for a lack of anything better. Once you are firmly seated, you reach around, bringing one hand to ${his} empty stomach and the other to ${his} exposed throat. As you thrust against ${him}, you force ${him} to choke down ${milkTap.slaveName}'s dick, applying pressure to ${his} throat any time ${he} attempts to pull away.`); + } else { + r.push(`Moving behind the struggling cocksleeve while teasing your erect cock, you find a distinct lack of ways to use ${him} to get off.`); + if (V.PC.dick !== 0) { + r.push(`You settle for rubbing your erection against ${his} back,`); + } else { + r.push(`You settle for a vibrating dildo stuck deep into your pussy,`); + } + r.push(`you'll need both hands to fondle your toy. Once you are positioned, you reach around, bringing one hand to ${his} empty stomach and the other to ${his} exposed throat. As you masturbate, you force ${him} to choke down ${milkTap.slaveName}'s dick, applying pressure to ${his} throat any time ${he} attempts to pull away.`); + } + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers and the seemingly endless supply of ejaculate from ${milkTap.slaveName}.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers and the seemingly endless supply of ejaculate from ${milkTap.slaveName}.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with cum under your molesting fingers and the seemingly endless supply of ejaculate from ${milkTap.slaveName}.`); + } + r.push(`Standing and releasing ${him} from ${milkTap.slaveName}, gives you a lovely sight of ${slave.slaveName}'s`); + + if (slave.inflation === 3) { + r.push(`taut, round belly`); + } else if (slave.inflation === 2) { + r.push(`rounded, jiggling belly`); + } else { + r.push(`distended, sloshing belly`); + } + r.push(`quivering as ${he} comes down from ${his} own forced climax${(V.PC.dick !== 0 && (canDoAnal(slave) || canDoVaginal(slave))) ? `, cum leaking from both ends` : ``}. Both slaves <span class="mediumorchid">resent</span> what you made them do and <span class="gold">fear you</span> as a result.`); + slave.devotion -= 5; + slave.trust -= 5; + milkTap.devotion -= 5; + milkTap.trust -= 5; + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${slave.slaveName}`); + r.push(`<span class="mediumorchid">especially,</span> having just <span class="lime">lost ${his} virginity</span> in such a demeaning manner.`); + slave.devotion -= 5; + slave.vagina = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${slave.slaveName}`); + r.push(`<span class="mediumorchid">especially,</span> having just <span class="lime">lost ${his} anal virginity</span> in such a demeaning manner.`); + slave.devotion -= 5; + slave.anus = 1; + } + } else if ((milkTap.devotion < -20)) { + r.push(`Since your sperm tank is restrained, you order the more obedient ${slave.slaveName} to enjoy ${himself} with ${milkTap.slaveName}'s dick. As ${he} teases and licks, you can't help but notice the tantalizing way ${he} wiggles ${his} rear.`); + if (canDoVaginal(slave)) { + if (V.PC.dick === 0) { + r.push(`Donning a strap-on,`); + } else { + r.push(`Stroking your stiffening cock,`); + } + r.push(`you wait for the perfect moment and mount ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy, doggy style.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + if (V.PC.dick === 0) { + r.push(`Donning a strap-on,`); + } else { + r.push(`Stroking your stiffening cock,`); + } + r.push(`you wait for the perfect moment and mount ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`asshole, doggy style.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`Stroking your stiffening cock, you wait for the perfect moment and slip your dick between ${his} huge butt cheeks.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`Stroking your stiffening cock, you wait for the perfect moment, hoist up ${his} rear and slip your dick between ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs.`); + } else { + r.push(`As you watch ${his} butt, it becomes clear just how few ways there are to use ${him} to get off.`); + if (V.PC.dick !== 0) { + r.push(`You settle for rubbing your erection against ${his} back,`); + } else { + r.push(`You settle for a vibrating dildo stuck deep into your pussy,`); + } + r.push(`you'll need both hands to fondle your toy.`); + } + r.push(`You wrap your arms around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with ejaculate.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with cum under your molesting fingers.`); + } + r.push(`Only once your weight is removed from the squirming cum balloon is ${he} allowed to pull off of the <span class="mediumorchid">exhausted ${milkTap.slaveName}'s</span> cock and catch ${his} breath.`); + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${His} senses were so overwhelmed, ${he} didn't even notice you <span class="lime">broke in ${his} pussy.</span>`); + slave.vagina = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${His} senses were so overwhelmed, ${he} didn't even notice you <span class="lime">broke in ${his} anus.</span>`); + slave.anus = 1; + } + r.push(`${He} gives the shaking ${milkTap.slaveName} an apologetic look before taking a seat. The poor slave isn't used to this yet and <span class="gold">is terrified of your willingness</span> to take what you want from your slaves.`); + milkTap.devotion -= 5; + milkTap.trust -= 5; + } else if ((milkTap.fetish === "cumslut") && (milkTap.fetishStrength > 60) && (milkTap.devotion > 20) && (slave.devotion < -20)) { + if (canDoVaginal(slave)) { + r.push(`You position the restrained ${slave.slaveName} so that you can penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} is forced to suck ${milkTap.slaveName}'s dick. With every thrust into the squirming slave, you force the moaning ${milkTap.slaveName}'s cock deep into ${his} throat.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You position the restrained ${slave.slaveName} so that you can penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} is forced to suck ${milkTap.slaveName}'s dick. With every thrust into the squirming slave, you force the moaning ${milkTap.slaveName}'s cock deep into ${his} throat.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You position the restrained ${slave.slaveName} so that you can rub your dick between ${his} huge butt cheeks while ${he} is forced to suck ${milkTap.slaveName}'s dick. With every thrust against the squirming slave, you force the moaning ${milkTap.slaveName}'s cock deep into ${his} throat.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You position the restrained ${slave.slaveName} so that you can fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs while ${he} is forced to suck ${milkTap.slaveName}'s dick. With every thrust against the squirming slave, you force the moaning ${milkTap.slaveName}'s cock deep into ${his} throat.`); + } else { + r.push(`You position ${slave.slaveName} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} is forced to suck ${milkTap.slaveName}'s dick, since ${he} lacks any better way to please you. With every thrust against the squirming slave, you force the moaning ${milkTap.slaveName}'s cock deep into ${his} throat.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with ejaculate and place your other hand to ${milkTap.slaveName}'s swollen testicles, knowing just how much ${he2} loves to jettison cum.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with cum under your molesting fingers`); + } + r.push(`and ${milkTap.slaveName} even more. ${He2} is semi-conscious, drooling in <span class="hotpink">pleasure and satisfaction,</span> by the time you release the bloated ${slave.slaveName} from ${his} harness. Patting ${his2} spasming, dribbling cock, you know ${he2}'ll come out of it and be eagerly begging you for another slave to fuck soon. ${slave.slaveName}, on the other hand, is regarding ${his} swollen stomach <span class="mediumorchid">with disgust</span> and <span class="gold">fear</span> of your power over ${him}.`); + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${He} <span class="mediumorchid">hates you so much more</span> that you <span class="lime">broke in ${his} virgin pussy.</span>`); + slave.vagina = 1; + slave.devotion -= 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${He} <span class="mediumorchid">hates you so much more</span> that you <span class="lime">broke in ${his} virgin anus.</span>`); + slave.anus = 1; + slave.devotion -= 1; + } + slave.devotion -= 5; + slave.trust -= 5; + milkTap.devotion += 4; + } else if ((slave.devotion <= 20) || (milkTap.devotion <= 20)) { + if (canDoVaginal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} sucks ${milkTap.slaveName}'s cock. With every thrust into the squirming slave, you push ${milkTap.slaveName}'s cock deeper down ${his} throat, giving ${milkTap.slaveName}'s orgasms a straight shot into the moaning slave's gullet.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} sucks ${milkTap.slaveName}'s cock. With every thrust into the squirming slave, you push ${milkTap.slaveName}'s cock deeper down ${his} throat, giving ${milkTap.slaveName}'s orgasms a straight shot into the moaning slave's gullet.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You order ${slave.slaveName} to position ${his} ass so you can rub your dick between ${his} huge butt cheeks while ${he} sucks ${milkTap.slaveName}'s cock. With every thrust against the squirming slave, you push ${milkTap.slaveName}'s cock deeper down ${his} throat, giving ${milkTap.slaveName}'s orgasms a straight shot into the moaning slave's gullet.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You order ${slave.slaveName} to position ${his} ass so you can fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs while ${he} sucks ${milkTap.slaveName}'s cock. With every thrust against the squirming slave, you push ${milkTap.slaveName}'s cock deeper down ${his} throat, giving ${milkTap.slaveName}'s orgasms a straight shot into the moaning slave's gullet.`); + } else { + r.push(`You order ${slave.slaveName} to position ${himself} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} is forced to suck ${milkTap.slaveName}'s dick, since ${he} lacks any better way to please you. With every thrust against the squirming slave, you force the moaning ${milkTap.slaveName}'s cock deep into ${his} throat.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with ejaculate and place your other hand to ${milkTap.slaveName}'s balls, planning to coax even stronger orgasms out of ${him2}.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with cum under your molesting fingers.`); + } + r.push(`When you release ${him} from under your weight, ${he} drops to the ground panting. Neither slave seems to have truly enjoyed it, instead opting to just get it over with, though ${milkTap.slaveName} makes sure to thank ${slave.slaveName} for dealing with ${his} pent up loads.`); + if (canDoVaginal(slave) && (slave.vagina === 0)) { + slave.vagina = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + slave.anus = 1; + } + } else if ((slave.devotion <= 50) || (milkTap.devotion <= 50)) { + if (canDoVaginal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} sucks ${milkTap.slaveName}'s cock. ${He} submissively obeys. With every thrust into the moaning slave, you push ${milkTap.slaveName}'s dick deeper down ${his} throat.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can penetrate ${his}`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`while ${he} sucks ${milkTap.slaveName}'s cock. ${He} submissively obeys. With every thrust into the moaning slave, you push ${milkTap.slaveName}'s dick deeper down ${his} throat.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can rub your dick between ${his} huge butt cheeks while ${he} sucks ${milkTap.slaveName}'s cock. ${He} submissively obeys. With every thrust against the moaning slave, you push ${milkTap.slaveName}'s dick deeper down ${his} throat.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You order ${slave.slaveName} to lift ${his} ass so you can fuck ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs while ${he} sucks ${milkTap.slaveName}'s cock. ${He} submissively obeys. With every thrust against the moaning slave, you push ${milkTap.slaveName}'s dick deeper down ${his} throat.`); + } else { + r.push(`You order ${slave.slaveName} to position ${himself} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} sucks ${milkTap.slaveName}'s cock, since ${he} lacks any better way to please you. ${He} submissively obeys. With every thrust against the moaning slave, you push ${milkTap.slaveName}'s dick deeper down ${his} throat.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with ejaculate and place your other hand to ${milkTap.slaveName}'s balls, knowing just how much ${he2} gets backed up.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with cum under your molesting fingers.`); + } + r.push(`When you release ${him} from under your weight, ${he} drops to the ground panting. Both slaves enjoyed their union, though ${milkTap.slaveName} even more so after that many orgasms.`); + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${slave.slaveName}`); + r.push(`feels <span class="hotpink">closer to you</span> after losing ${his} virginity to you.`); + slave.vagina = 1; + slave.devotion += 5; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${slave.slaveName}`); + r.push(`feels <span class="hotpink">closer to you</span> after losing ${his} anal virginity to you.`); + slave.anus = 1; + slave.devotion += 5; + } + } else { + r.push(`${slave.slaveName}`); + r.push(`eagerly lifts ${his} ass and jiggles it seductively as ${he} sucks the moaning slut.`); + if (canDoVaginal(slave)) { + r.push(`You know that signal, so you hilt yourself in`); + if (slave.vagina === 0) { + r.push(`virgin`); + } + r.push(`pussy`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`and begin spitroasting ${him} with ${milkTap.slaveName}. With every thrust into the moaning slave, every participant comes closer to their own climax.`); + actX(slave, "vaginal"); + } else if (canDoAnal(slave)) { + r.push(`You know that signal, so you hilt yourself in`); + if (slave.anus === 0) { + r.push(`virgin`); + } + r.push(`ass`); + if (V.PC.dick === 0) { + r.push(`with a strap-on`); + } + r.push(`and begin spitroasting ${him} with ${milkTap.slaveName}. With every thrust into the moaning slave, every participant comes closer to their own climax.`); + actX(slave, "anal"); + } else if (V.PC.dick !== 0 && slave.butt > 4) { + r.push(`You know that signal, but ${he} isn't allowed to get penetrated, so you settle for sticking your dick between ${his} huge butt cheeks and fucking ${him} along with ${milkTap.slaveName}. With every thrust against the moaning slave, both you and ${milkTap.slaveName} come closer to climax.`); + } else if (V.PC.dick !== 0 && hasBothLegs(slave)) { + r.push(`You know that signal, but ${he} isn't allowed to get penetrated, so you settle for sticking your dick between ${his}`); + if (slave.weight > 95) { + r.push(`soft`); + } + r.push(`thighs and fucking ${him} along with ${milkTap.slaveName}. With every thrust against the moaning slave, both you and ${milkTap.slaveName} come closer to climax.`); + } else { + r.push(`You know that signal, but ${he} isn't allowed to get fucked, so you reposition ${him} so you can rub your`); + if (V.PC.dick === 0) { + r.push(`clit`); + } else { + r.push(`dick`); + } + r.push(`against ${him} while ${he} deepthroats ${milkTap.slaveName}. With every thrust against the moaning slave, both you and ${milkTap.slaveName} come closer to climax.`); + } + r.push(`You wrap an arm around ${slave.slaveName}'s middle so you may feel ${his} stomach swell with ejaculate and place your other hand to ${milkTap.slaveName}'s breasts to prevent ${him2} from feeling left out from your attention.`); + + if (slave.inflation === 3) { + r.push(`You cum multiple times as you feel ${his} belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers.`); + } else if (slave.inflation === 2) { + r.push(`You cum several times as you feel ${his} belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers.`); + } else { + r.push(`You cum as you feel ${his} belly slowly round with cum under your molesting fingers.`); + } + r.push(`When you release ${him} from under your weight, ${he} drops to the ground panting from ${his} meal and from the pleasure you drove into ${him}. Both slaves <span class="hotpink">loved the attention,</span> though ${milkTap.slaveName} even more so after so much relief.`); + slave.devotion += 4; + milkTap.devotion += 4; + if (canDoVaginal(slave) && (slave.vagina === 0)) { + r.push(`${slave.slaveName}`); + r.push(`got off quite strongly from the growing pressure within ${him}, <span class="hotpink">cementing</span> ${his} <span class="lime">first fucking</span> as something special.`); + slave.devotion += 4; + slave.anus = 1; + } else if (canDoAnal(slave) && (slave.anus === 0)) { + r.push(`${slave.slaveName}`); + r.push(`got off quite strongly from the growing pressure within ${him}, <span class="hotpink">cementing</span> ${his} <span class="lime">first anal</span> as something special.`); + slave.devotion += 4; + slave.anus = 1; + } + } + } + + App.Events.addNode(el, r, "p"); + r = []; + + if (_pregDiscovery === 0) { + seX(slave, "oral", milkTap, "oral"); + r.push(`You help the bloated ${slave.slaveName} to the couch to recover and, more importantly, keep ${his} meal down. Only once ${he} has had several minutes to unwind`); + if (slave.devotion > 10) { + r.push(`and plenty of time to tease you with ${his} swollen body, do you tell`); + } else { + r.push(`do you order`); + } + r.push(`${him} to keep drinking from ${milkTap.slaveName} so that ${he} is always filled with`); + if (slave.inflation === 3) { + r.push(`two gallons`); + } else if (slave.inflation === 2) { + r.push(`four liters`); + } else { + r.push(`two liters`); + } + r.push(`of ${slave.inflationType}. You give ${his}`); + if (slave.inflation === 3) { + r.push(`taut, firm globe of a belly a pat`); + } else if (slave.inflation === 2) { + r.push(`wobbly, sloshing belly a pat`); + } else { + r.push(`distended, sloshing belly a pat`); + } + r.push(`and send ${him} on ${his} way.`); + + if (slave.inflation === 3) { + if (canWalk(slave) || (canMove(slave) && slave.rules.mobility === "permissive")) { + r.push(`${He} gingerly leaves your office, massaging ${his} over-stuffed belly as ${he} goes.`); + } else { + r.push(`${His} belly is so taut it barely wobbles at all as ${he} is helped from your office.`); + } + r.push(`Being filled so full <span class="health.dec">surely had negative effects</span> on ${his} health.`); + healthDamage(slave, 1); + } else if (slave.inflation === 2) { + if (canWalk(slave) || (canMove(slave) && slave.rules.mobility === "permissive")) { + r.push(`${He} gingerly leaves your office, massaging ${his} stuffed belly as ${he} goes.`); + } else { + r.push(`${His} belly wobbles heavily as ${he} is helped from your office.`); + } + } else if (slave.inflation === 1) { + if (canWalk(slave) || (canMove(slave) && slave.rules.mobility === "permissive")) { + r.push(`${He} gingerly leaves your office, massaging ${his} distended belly as ${he} goes.`); + } else { + r.push(`${His} belly wobbles as ${he} is helped from your office.`); + } + } + App.Events.addNode(el, r, "p"); + r = []; + if (milkTap.fuckdoll === 0) { + r.push(`Once ${he} is gone, you see to it that the contented ${milkTap.slaveName} is helped back to ${his2} assignment, but only after ${his2} dribbling`); + if (slave.inflationType === "milk") { + r.push(`teats are dealt with,`); + } else { + r.push(`cock is dealt with,`); + } + r.push(`causing the waiting servant to gulp nervously at what that may entail.`); + } else { + r.push(`Once ${he} is gone, you see to it that the dribbling Fuckdoll is cleaned up and returned to ${his2} proper place, but only after ${his2} leaking`); + if (slave.inflationType === "milk") { + r.push(`teats are dealt with,`); + } else { + r.push(`cock is dealt with,`); + } + r.push(`causing the waiting servant to gulp nervously at what that may entail.`); + } + } else { + if (milkTap.fuckdoll === 0) { + r.push(`With ${slave.slaveName} unable to continue, you are left with the backed up ${milkTap.slaveName} to deal with. ${He2}'ll have to figure out some other way to relieve ${himself2} as ${he2} is helped back to ${his2} assignment.`); + } else { + r.push(`With ${slave.slaveName} unable to continue, you are left with the backed up ${milkTap.slaveName} to deal with. Hopefully ${he2} doesn't leak too much as ${he2} waits for further use.`); + } + } + App.Events.addNode(el, r, "p"); + SetBellySize(slave); + return el; +}; diff --git a/src/interaction/siWork.js b/src/interaction/siWork.js index b8d27ef2b06f24fd32ae1dc2dd1ea7bf9429a0dd..b48e346a5c60cc45644866849f42001a7c3532db 100644 --- a/src/interaction/siWork.js +++ b/src/interaction/siWork.js @@ -450,7 +450,7 @@ App.UI.SlaveInteract.work = function(slave) { fillFaceOptions.push({text: `Two gallons of slave food`, scene: `forceFeeding`, updateSlave: {inflation: 3, inflationType: "food", inflationMethod: 1}}); } } - fillFaceOptions.push({text: `Get another slave to do it`, goto: `SlaveOnSlaveFeedingWorkAround`}); + fillFaceOptions.push({text: `Get another slave to do it`, goto: `SlaveOnSlaveFeeding`}); } } if (canDoVaginal(slave)) { diff --git a/src/interaction/slaveOnSlaveFeeding.css b/src/interaction/slaveOnSlaveFeeding.css new file mode 100644 index 0000000000000000000000000000000000000000..e4fb2cc907eab6d4d2fc07e8aef967eeb0ec919a --- /dev/null +++ b/src/interaction/slaveOnSlaveFeeding.css @@ -0,0 +1,7 @@ +table.slave-on-slave-feeding { + width: 90%; +} + +table.slave-on-slave-feeding tr { + vertical-align: top; +} \ No newline at end of file diff --git a/src/interaction/slaveOnSlaveFeeding.js b/src/interaction/slaveOnSlaveFeeding.js new file mode 100644 index 0000000000000000000000000000000000000000..7ca00156ab1acde44f9ad4412b15d24cbc1a8710 --- /dev/null +++ b/src/interaction/slaveOnSlaveFeeding.js @@ -0,0 +1,165 @@ +/** + * Choose which slave will feed the selected slave + * @param {App.Entity.SlaveState} slave + */ +App.UI.SlaveInteract.slaveOnSlaveFeedingSelection = function(slave) { + const el = document.createElement("span"); + el.id = "scene"; + + el.append(intro()); + + tabs(); + + return el; + + function intro() { + const el = new DocumentFragment(); + const {his} = getPronouns(slave); + + App.UI.DOM.appendNewElement("div", el, `${slave.slaveName} is prepped to drink ${his} fill; now you must select a slave capable of producing the required amount of milk or ejaculate.`); + App.UI.DOM.appendNewElement("h2", el, "Select an eligible slave to serve as the tap"); + return el; + } + + function slaveChoice(inflationType) { + const el = new DocumentFragment(); + const twoLiterSlaves = []; + const fourLiterSlaves = []; + const eightLiterSlaves = []; + const {he, his} = getPronouns(slave); + + const table = document.createElement("table"); + table.classList.add("slave-on-slave-feeding"); + + const header = table.createTHead(); + table.append(header); + el.append(table); + + const columnNames = ["2 Liter", "4 Liter", "8 Liter"]; + for (const name of columnNames) { + header.append(App.UI.DOM.makeElement("th", name)); + } + + for (const tapSlave of V.slaves) { + let output; + if (inflationType === "milk") { + output = (tapSlave.lactation > 0) ? Math.trunc(milkAmount(tapSlave) / 14) : 0; + } else if (inflationType === "cum") { + output = (tapSlave.balls > 0 && tapSlave.dick > 0 && tapSlave.chastityPenis !== 1) ? Math.trunc(cumAmount(tapSlave) / 70) : 0; + } else { + throw `inflationType "${inflationType}" not found`; + } + if (tapSlave.ID !== slave.ID && (inflationType !== "milk" || tapSlave.nipples !== "fuckable")) { + if (output >= 2) { + twoLiterSlaves.push(createTapLink(tapSlave, 1, inflationType)); + if (output >= 4 && slave.pregKnown === 0) { + fourLiterSlaves.push(createTapLink(tapSlave, 2, inflationType)); + if (output >= 8) { + eightLiterSlaves.push(createTapLink(tapSlave, 3, inflationType)); + } + } + } + } + } + + if (twoLiterSlaves.length === 0) { + twoLiterSlaves.push(App.UI.DOM.makeElement("td", `You have no slaves capable of producing two liters of ${inflationType}.`)); + } else { + if (slave.pregKnown !== 0) { + fourLiterSlaves.push(App.UI.DOM.makeElement("td", `Due to ${his} pregnancy, ${he} is incapable of keeping down more than two liters of ${inflationType}.`)); + } else { + if (fourLiterSlaves.length === 0) { + fourLiterSlaves.push(App.UI.DOM.makeElement("td", `You have no slaves capable of producing four liters of ${inflationType}.`)); + } + if (eightLiterSlaves.length === 0) { + eightLiterSlaves.push(App.UI.DOM.makeElement("td", `You have no slaves capable of producing eight liters of ${inflationType}.`)); + } + } + } + + const dataRow = document.createElement("tr"); + dataRow.append(makeColumn(twoLiterSlaves)); + dataRow.append(makeColumn(fourLiterSlaves)); + dataRow.append(makeColumn(eightLiterSlaves)); + table.append(dataRow); + + return el; + } + + /** + * @param {App.Entity.SlaveState} tapSlave + * @param {number} inflation + * @param {FC.InflationLiquid} inflationType + */ + function createTapLink(tapSlave, inflation, inflationType) { + const el = document.createElement("div"); + el.append( + App.UI.DOM.link( + tapSlave.slaveName, + () => { + slave.inflation = inflation; + slave.inflationType = inflationType; + slave.inflationMethod = 3; + jQuery("#scene").empty().append(FSlaveFeed(slave, tapSlave)); + }, + ) + ); + const relTerm = relativeTerm(slave, tapSlave); + if (relTerm) { + el.append(` ${relTerm}`); + } + if (tapSlave.relationshipTarget === slave.ID) { + const {wife} = getPronouns(tapSlave); + switch (tapSlave.relationship) { + case 1: + el.append(` friends`); + break; + case 2: + el.append(` best friends`); + break; + case 3: + el.append(` friends with benefits`); + break; + case 4: + el.append(` lover`); + break; + case 5: + el.append(` slave${wife}`); + break; + } + } + if (tapSlave.rivalryTarget === getSlave(V.AS).ID) { + switch (tapSlave.relationship) { + case 1: + el.append(`dislikes`); + break; + case 2: + el.append(`rival`); + break; + case 3: + el.append(`bitterly hates`); + break; + } + } + return el; + } + + function makeColumn(array) { + const td = document.createElement("td"); + for (const cell of array) { + td.append(cell); + } + return td; + } + + function tabs() { + const tabBar = App.UI.DOM.appendNewElement("div", el, '', "tab-bar"); + tabBar.append( + App.UI.tabBar.tabButton('milk', 'Milk Slaves'), + App.UI.tabBar.tabButton('cum', 'Cum Slaves'), + ); + + el.append(App.UI.tabBar.makeTab('milk', slaveChoice("milk"))); + el.append(App.UI.tabBar.makeTab('cum', slaveChoice("cum"))); + } +}; diff --git a/src/interaction/slaveOnSlaveFeeding.tw b/src/interaction/slaveOnSlaveFeeding.tw new file mode 100644 index 0000000000000000000000000000000000000000..eb76ca5c03a99a60215323121d4b4953c300fc74 --- /dev/null +++ b/src/interaction/slaveOnSlaveFeeding.tw @@ -0,0 +1,5 @@ +:: SlaveOnSlaveFeeding [nobr] + +<<set $nextButton = "Back", $nextLink = "Slave Interact">> + +<<includeDOM App.UI.SlaveInteract.slaveOnSlaveFeedingSelection(getSlave($AS))>> diff --git a/src/js/economyJS.js b/src/js/economyJS.js index c321c0d4adc74c494410ff278645f06b7eaac91c..72725c6315d5bbc99702b89ab6f9a2bb14fd25af 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -2267,6 +2267,8 @@ globalThis.cashX = function(cost, what, who) { } } + V.lastCashTransaction = cost; + App.Utils.scheduleSidebarRefresh(); return cost; diff --git a/src/js/health.js b/src/js/health.js index 4e7d09d9896c10b9e76dc2133fef486d0ba9c8fb..20613e8d670ea8d76f15d317ae7954ddff06348d 100644 --- a/src/js/health.js +++ b/src/js/health.js @@ -69,11 +69,14 @@ globalThis.healthCure = function(slave, cure) { * Surgical procedures also depend on the PC's medicine skill * @param {App.Entity.SlaveState} slave * @param {number} damage + * @param {boolean} [cheat] * @returns {void} */ -globalThis.surgeryDamage = function(slave, damage) { - const playerSkillFactor = 1 + Math.clamp(Math.pow(V.PC.skill.medicine / 100, 2), 0, 1); - healthDamage(slave, Math.trunc(damage / playerSkillFactor)); +globalThis.surgeryDamage = function(slave, damage, cheat = false) { + if (!cheat) { + const playerSkillFactor = 1 + Math.clamp(Math.pow(V.PC.skill.medicine / 100, 2), 0, 1); + healthDamage(slave, Math.trunc(damage / playerSkillFactor)); + } }; /** diff --git a/src/js/slaveSummaryHelpers.js b/src/js/slaveSummaryHelpers.js index 560dbf618cfe12cf8929f0a6864f63feec3e2fa8..b7d98a200227c0e26652256ed5e39401e27e3775 100644 --- a/src/js/slaveSummaryHelpers.js +++ b/src/js/slaveSummaryHelpers.js @@ -649,10 +649,10 @@ App.UI.SlaveSummaryImpl = function() { makeSpan(c, `Appears to have a ${slave.visualAge} year old body`, style, true); } if (slave.geneMods.NCS === 1) { - makeSpan(c, "NCS", "orange"); + makeSpan(c, "NCS", "orange", true); } if (slave.geneMods.immortality === 1) { - makeSpan(c, "Immortal", "orange"); + makeSpan(c, "Immortal", "orange", true); } } diff --git a/src/npc/interaction/fSlaveFeed.tw b/src/npc/interaction/fSlaveFeed.tw deleted file mode 100644 index eb4298fadae8fc69264f8b34f98e71e07046d26b..0000000000000000000000000000000000000000 --- a/src/npc/interaction/fSlaveFeed.tw +++ /dev/null @@ -1,849 +0,0 @@ -:: FSlaveFeed [nobr no-history] - -<<set _pregDiscovery = 0>> -<<run App.Utils.setLocalPronouns(getSlave($AS))>> -<<setLocalPronouns $milkTap 2>> - -<span id="art-frame"> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageColumn"> - <div class="imageRef medImg"> - <<= SlaveArt(getSlave($AS), 2, 0)>> - </div> - <div class="imageRef medImg"> - <<= SlaveArt($milkTap, 2, 0)>> - </div> - </div> -<</if>> -/* 000-250-006 */ -</span> - -<<if getSlave($AS).inflationType == "milk">> -<<set getSlave($AS).milkSource = $milkTap.ID>> -<<if $milkTap.behavioralQuirk == "sinful" || $milkTap.sexualQuirk == "perverted" || $milkTap.fetish == "incest">> /* incest is a planned fetish, don't touch it! */ - <<set _incestGive = 1>> -<</if>> -<<if getSlave($AS).behavioralQuirk == "sinful" || getSlave($AS).sexualQuirk == "perverted" || getSlave($AS).fetish == "incest">> - <<set _incestTake = 1>> -<</if>> - -The first necessary step is to prepare the milk cow and _his2 udders. - -<<if $milkTap.fuckdoll > 0>> - This is hilariously easy, as you have complete control over how $milkTap.slaveName is posed. - -<<elseif $milkTap.fetish == "mindbroken">> - This is very easy, as $milkTap.slaveName blankly follows your every will. Combined with _his2 instinct to relieve the pressure in _his2 breasts, _he2 is simple to position. - -<<elseif $milkTap.rivalryTarget == getSlave($AS).ID>> - This is rather easy, as $milkTap.slaveName wants to <<if canSee($milkTap)>>see<<else>>feel<</if>> <<= getSlave($AS).slaveName>>'s belly swell painfully as $he is force-fed _his2 milk. <<if $milkTap.lactation > 1>>$he is practically gushing milk with excitement<<else>>It takes minimal effort to get _his2 milk flowing<</if>>. - -<<elseif $milkTap.relationshipTarget == getSlave($AS).ID>> - This is rather easy, as $milkTap.slaveName - <<if $milkTap.relationship == 1>> - wants _his2 friend to try _his2 milk, fresh from the source. - <<elseif $milkTap.relationship == 2>> - wants _his2 best friend to try _his2 milk, fresh from the source. - <<elseif $milkTap.relationship == 3>> - can't wait to have some fun with _his2 friend with benefits. - <<elseif $milkTap.relationship == 4>> - enjoys spending intimate time with _his2 lover, and having _his2 breasts suckled is one of _his2 favorites. - <<elseif $milkTap.relationship == 5>> - enjoys spending intimate time with _his2 $wife, and having _his2 breasts suckled is one of _his2 favorites. - <</if>> <<if $milkTap.lactation > 1>>_He2 is practically gushing milk with excitement<<else>>It takes minimal effort to get _his2 milk flowing<</if>>. - -<<elseif ($milkTap.fetish == "boobs") && ($milkTap.fetishKnown == 1) && ($milkTap.fetishStrength > 60) && ($milkTap.devotion >= -20)>> - This is very easy, since $milkTap.slaveName loves _his2 tits played with and can't wait to get suckled. <<if $milkTap.lactation > 1>>_he2 is practically gushing milk with excitement<<else>>It takes next to no effort to get _his2 milk flowing<</if>>. - -<<elseif getSlave($AS).mother == $milkTap.ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName fondly remembers nursing _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<else>> - This is fairly easy, as $milkTap.slaveName's body remembers nursing _his2 <<print relativeTerm($milkTap, getSlave($AS))>>, even if $he is resistant to the idea. - <</if>> - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with nostalgia. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> -<<elseif getSlave($AS).father == $milkTap.ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName is aroused at the thought of breast feeding the $girl _he2 sired. - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with excitement. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> - <<else>> - This is extremely tough, as $milkTap.slaveName is very uncomfortable breast feeding the $girl _he2 sired. - <<if $milkTap.lactation > 1>> - _His2 excessive milk production quickly leaves _him2 eager for release, however. - <<else>> - It takes some coaxing and kneading to get _his2 milk flowing and _him2 eager for relief. - <</if>> - <</if>> -<<elseif $milkTap.mother == getSlave($AS).ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName is aroused at the lewdity of breast feeding _his2 own mother. - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with excitement. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> - <<else>> - This is moderately tough, as $milkTap.slaveName finds it awkward to nurse _his2 own mother. - <<if $milkTap.lactation > 1>> - _His2 excessive milk production quickly leaves _him2 eager for release. - <<else>> - It takes some coaxing and kneading to get _his2 milk flowing and _him2 eager for relief. - <</if>> - <</if>> -<<elseif $milkTap.father == getSlave($AS).ID>> - <<if _incestGive>> - This is easy enough, as having _his2 father drink _his2 milk is a taboo $milkTap.slaveName can't wait to break. - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with excitement. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> - <<else>> - This is very tough, as $milkTap.slaveName finds it weird to let _his2 father suckle from _him2. - <<if $milkTap.lactation > 1>> - _His2 excessive milk production quickly leaves _him2 eager for release, however. - <<else>> - It takes some coaxing and kneading to get _his2 milk flowing and _him2 eager for relief. - <</if>> - <</if>> -<<elseif areSisters(getSlave($AS), $milkTap) == 1>> - <<if _incestGive>> - This is easy enough, as having $milkTap.slaveName enjoys sexually experimenting with _his2 <<print relativeTerm(getSlave($AS), $milkTap)>>. - <<else>> - This is easy enough, as $milkTap.slaveName wants _his2 <<print relativeTerm(getSlave($AS), $milkTap)>> to try _his2 milk, but only if $he can taste $hers too. - <</if>> - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with excitement. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> -<<elseif areSisters(getSlave($AS), $milkTap) == 2>> - <<if _incestGive>> - This is easy enough, as having $milkTap.slaveName enjoys sexually experimenting with _his2 <<print relativeTerm(getSlave($AS), $milkTap)>>. - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with excitement. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> - <<else>> - This is moderately tough, as $milkTap.slaveName is uncomfortable getting so intimate with _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<if $milkTap.lactation > 1>> - _His2 excessive milk production quickly leaves _him2 eager for release. - <<else>> - It takes some coaxing and kneading to get _his2 milk flowing and _him2 eager for relief. - <</if>> - <</if>> -<<elseif areSisters(getSlave($AS), $milkTap) == 3>> - <<if _incestGive>> - This is easy enough, as having $milkTap.slaveName enjoys sexually experimenting with _his2 <<print relativeTerm(getSlave($AS), $milkTap)>>. - <<if $milkTap.lactation > 1>> - _He2 is practically gushing milk with excitement. - <<else>> - It takes minimal effort to get _his2 milk flowing. - <</if>> - <<else>> - This is slightly difficult, as $milkTap.slaveName is uncomfortable getting so intimate with _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<if $milkTap.lactation > 1>> - _His2 excessive milk production quickly leaves _him2 eager for release. - <<else>> - It takes some coaxing and kneading to get _his2 milk flowing and _him2 eager for relief. - <</if>> - <</if>> - -<<elseif ($milkTap.lactation > 1) && ($milkTap.devotion >= -20)>> - Since $milkTap.slaveName produces so much milk, _he2 eagerly accepts any source of relief _he2 can manage. - -<<elseif ($milkTap.devotion > 50)>> - Since $milkTap.slaveName is devoted to you, _he2'll allow anyone you want to drink deeply from _him2. - -<<elseif ($milkTap.devotion > 20)>> - Since $milkTap.slaveName is obedient, _he2 appreciates any relief from _his2 swollen breasts. - -<<elseif ($milkTap.devotion >= -20)>> - Since $milkTap.slaveName does not resist your will, _he2 should comply reasonably well. If anything, $he'll at least be thankful to be relieved of some pressure. - -<<else>> - Since $milkTap.slaveName is unlikely to comply willingly, you simply restrain _him2 with _his2 tits exposed and ready to be drank from. <<if $milkTap.lactation > 1>>You affix nipple clamps to _his2 $milkTap.nipples nipples and step back to watch _his2 breasts back up with milk. When _he2 is unclamped, the flow should certainly be strong enough for your desires<<else>>You make sure to roughly coax _his2 milk into flowing, all the while reminding _him2 that _he2 is nothing more than a cow now<</if>>. - -<</if>> - -<br><br> - -Next, you see to <<= getSlave($AS).slaveName>>. - -<<if (isAmputee(getSlave($AS)))>> - You move the limbless $girl to $milkTap.slaveName's nipple and strap $him to it to prevent it from falling out of $his mouth. - -<<elseif tooBigBreasts(getSlave($AS))>> - You set $him up so that $his massive breasts pin $him on $milkTap.slaveName's milky nipple. - -<<elseif $milkTap.fuckdoll > 0>> - $He hesitantly brings $his mouth to its milky nipple, uncertain about suckling from a living doll. - -<<elseif getSlave($AS).rivalryTarget == $milkTap.ID>> - Knowing $his relationship with $milkTap.slaveName, you feel it best to restrain $him and anchor $him to $milkTap.slaveName's milky nipple so $he has no choice but to drink until you release $him. - -<<elseif getSlave($AS).relationshipTarget == $milkTap.ID>> - This is rather easy, as <<= getSlave($AS).slaveName>> - <<if getSlave($AS).relationship == 1>> - licks $his lips as $he approaches $his friend's breasts. - <<elseif getSlave($AS).relationship == 2>> - eagerly licks $his lips as $he approaches $his best friend's breasts. - <<elseif getSlave($AS).relationship == 3>> - licks $his lips and smiles as $he approaches $his friend with benefits' breasts, knowing well how _his2 <<if canTaste(getSlave($AS))>>milk tastes<<else>>body feels<</if>>. - <<elseif getSlave($AS).relationship == 4>> - licks $his lips and smiles as $he approaches $his lover's breasts. This won't be the first time $he's suckled from _him2 like this. - <<elseif getSlave($AS).relationship == 5>> - licks $his lips and smiles as $he approaches $his _wife2's breasts. This won't be the first time $he's suckled from _him2 like this. - <</if>> - -<<elseif getSlave($AS).mother == $milkTap.ID>> - $He draws close to $his mother's nipples, trying to remember if $he once had a favorite. -<<elseif getSlave($AS).father == $milkTap.ID>> - <<if _incestTake>> - $He eagerly wraps $his lips around $his father's nipple.<<if canAchieveErection($milkTap)>> $He shudders with budding lust when $he feels the dick that sired $him poking at $his belly.<</if>> - <<else>> - $He hesitatingly lowers $himself to $his father's nipple.<<if canAchieveErection($milkTap)>> $He nearly backs away when $he feels the dick that sired $him poking at $his belly.<</if>> - <</if>> -<<elseif $milkTap.mother == getSlave($AS).ID>> - $He <<if _incestTake>>happily<<else>>awkwardly<</if>> brings $his lips to $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple. -<<elseif $milkTap.father == getSlave($AS).ID>> - $He <<if _incestTake>>eagerly<<else>>awkwardly<</if>> brings $his lips to $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple<<if canAchieveErection(getSlave($AS))>>, $his cock steadily hardening at the perversion of suckling from $his child<</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 1>> - $He readily gets in position to <<if canTaste(getSlave($AS))>>taste<<else>>suckle from<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>><<if getSlave($AS).lactation > 0>> while coaxing $his own milk to flow<</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 2>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>hesitatingly lowers $himself to<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple. -<<elseif areSisters(getSlave($AS), $milkTap) == 3>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>hesitatingly lowers $himself to<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple. - -<<elseif (getSlave($AS).fetish == "boobs") && (getSlave($AS).fetishKnown == 1) && (getSlave($AS).fetishStrength > 60) && (getSlave($AS).devotion >= -20)>> - $He can't wait to <<if hasBothArms(getSlave($AS))>>wrap $his hands around<<else>>get between<</if>> $milkTap.slaveName's massive milky breasts and eagerly approaches $his nipples to suckle. - -<<elseif (getSlave($AS).fetish == "submissive") && (getSlave($AS).fetishStrength > 60) && (getSlave($AS).fetishKnown == 1)>> - $He is accustomed to submitting to you, but as a natural submissive $he doesn't have much trouble submitting to $milkTap.slaveName's mothering instead. - -<<elseif getSlave($AS).devotion < -20>> - $He tries to refuse, so you strap $him to $milkTap.slaveName's breast, milky $milkTap.nipples nipple wedged in $his mouth. - -<<elseif getSlave($AS).devotion <= 20>> - $He obeys your orders reluctantly, drawing near $milkTap.slaveName's breasts despite $his obvious hesitation to be filled with milk. - -<<elseif getSlave($AS).devotion <= 50>> - $He obeys your orders, drawing near $milkTap.slaveName's breasts despite $his slight hesitation at the idea of being filled with milk. - -<<else>> - $He happily obeys your orders, eagerly wrapping $his lips around $milkTap.slaveName's milky $milkTap.nipples nipple and suckling enthusiastically. -<</if>> - -<br><br> - -<<if getSlave($AS).preg > getSlave($AS).pregData.normalBirth/13.33 && getSlave($AS).pregKnown == 0 && getSlave($AS).inflation > 1>> - It becomes abundantly clear that something is wrong with <<= getSlave($AS).slaveName>> as $he struggles to down $his milky meal. Before $his health can be affected further, you pull $him into a medical exam. While most of the tests come back normal, one in particular catches your eye; @@.lime;$he is pregnant<<if getSlave($AS).preg > getSlave($AS).pregData.normalBirth/4>> and surprisingly far along<</if>>.@@ $he should be able to still handle at least two liters of milk, however. - <<run deflate(getSlave($AS))>> - <<set getSlave($AS).pregKnown = 1, _pregDiscovery = 1>> - -<<elseif $milkTap.fuckdoll > 0>> - Slight moaning emanates from the Fuckdoll as <<= getSlave($AS).slaveName>> drinks from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off _his2 nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off _his2 nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off _his2 nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - -<<elseif $milkTap.rivalryTarget == getSlave($AS).ID>> - $milkTap.slaveName grins as _his2 rival is forced to drink until $his belly is <<if getSlave($AS).inflation == 3>>nearly bursting with milk. <<= getSlave($AS).slaveName>> struggles against $his bindings until the pressure building in $him overwhelms $him, causing $him to pass out directly into $milkTap.slaveName's cushiony breasts. You quickly remove $him from the nipple before $he drowns<<elseif getSlave($AS).inflation == 2>>is rounded, jiggling and sloshing with milk. You release $his bindings, allowing $him to flop to the floor. <<if hasAnyArms(getSlave($AS))>>$He gingerly crawls away from $milkTap.slaveName, <<if hasBothArms(getSlave($AS))>>one<<else>>$his<</if>> hand cradling $his overfull stomach<<else>>$He rolls onto $his side, groaning with discomfort<</if>><<elseif getSlave($AS).inflation == 1>>bloated with milk. You release $his bindings, allowing $him to flop to the floor. <<if hasAnyArms(getSlave($AS))>>$He gingerly sits up and begins massaging $his full stomach<<else>>$He rolls onto $his back, hiccupping pathetically<</if>><</if>>. - -<<elseif $milkTap.relationshipTarget == getSlave($AS).ID>> - <<if $milkTap.relationship == 1>> - $milkTap.slaveName sighs contently as _his2 friend drinks deeply from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his friend's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his friend's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his friend's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 2>> - $milkTap.slaveName sighs contently as _his2 best friend drinks deeply from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his best friend's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his best friend's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his best friend's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 3>> - $milkTap.slaveName moans lewdly as _his2 friend with benefits drinks deeply from _his2 breasts, savoring it despite commonly nursing <<= getSlave($AS).slaveName>> during their lovemaking. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his friend with benefits' nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his friend with benefits' nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his friend with benefits' nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 4>> - $milkTap.slaveName moans lewdly as _his2 lover drinks deeply from _his2 breasts, savoring it despite commonly nursing <<= getSlave($AS).slaveName>> during their lovemaking. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his lover's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his lover's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his lover's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 5>> - $milkTap.slaveName moans lewdly as _his2 $wife drinks deeply from _his2 breasts, savoring it despite commonly nursing <<= getSlave($AS).slaveName>> during their lovemaking. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his _wife2's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his _wife2's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his _wife2's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <</if>> - -<<elseif getSlave($AS).mother == $milkTap.ID>> - $milkTap.slaveName sighs contently as _his2 little $girl once again suckles from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his mother's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his mother's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his mother's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif getSlave($AS).father == $milkTap.ID>> - $milkTap.slaveName moans lewdly as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> suckles from _his2 breasts<<if canAchieveErection($milkTap)>>, _his2 dick throbbing with lust<</if>>. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his father's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his father's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his father's nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>><<if canAchieveErection($milkTap)>><<if _incestTake>>. The way $he is wiggling $his hips suggests $he isn't finished with $his daddy just yet, and $his father's moaning confirms $he is teasing _him2 with $his rear. $He giggles as the horny cow unloads on $his backside<<else>>. $He doesn't stay put for long, as a strong moan and a blast of cum across $his rear from the horny cow startles $him from $his rest<</if>><</if>>. -<<elseif $milkTap.mother == getSlave($AS).ID>> - $milkTap.slaveName moans lewdly as _he2 enjoys some role reversal as _his2 mother suckles from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif $milkTap.father == getSlave($AS).ID>> - $milkTap.slaveName moans lewdly as _his2 father suckles from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 1>> - $milkTap.slaveName sighs contently as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> suckles from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 2>> - $milkTap.slaveName moans lewdly as _his2 <<if $milkTap.actualAge >= getSlave($AS).actualAge>>little<<else>>big<</if>> <<print relativeTerm($milkTap, getSlave($AS))>> suckles from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 3>> - $milkTap.slaveName moans lewdly as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> suckles from _his2 breasts. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with milk. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s nipple and settles into _his2 breasts for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - -<<elseif (getSlave($AS).devotion < -20) && ($milkTap.devotion < -20)>> - Since you have two restrained and unwilling slaves, the work of milking $milkTap.slaveName's breasts falls to you. That doesn't mean you can't have fun doing it though. - <<if canDoVaginal($milkTap)>> - Moving behind the restrained cow while<<if $PC.dick == 0>> donning a strap-on<<else>>teasing your erect cock<</if>>, you push _him2 forward to allow you to insert yourself into _his2 <<if $milkTap.vagina == 0>>virgin <</if>>pussy. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms in both yourself and the sobbing cow, is <<= getSlave($AS).slaveName>> bloated with enough milk. - <<set $milkTap.counter.vaginal++, $vaginalTotal++>> - <<if canImpreg($milkTap, $PC)>> - <<= knockMeUp($milkTap, 40, 0, -1)>> - <</if>> - <<elseif canDoAnal($milkTap)>> - Moving behind the restrained cow while<<if $PC.dick == 0>> donning a strap-on<<else>> teasing your erect cock<</if>>, you push _him2 forward to allow you to insert yourself into _his2 <<if $milkTap.anus == 0>>virgin <</if>>rear. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms in both yourself and the sobbing cow, is <<= getSlave($AS).slaveName>> bloated with enough milk. - <<set $milkTap.counter.anal++, $analTotal++>> - <<if canImpreg($milkTap, $PC)>> - <<= knockMeUp($milkTap, 40, 1, -1)>> - <</if>> - <<elseif $PC.dick != 0 && $milkTap.butt > 4>> - Moving behind the restrained cow while teasing your erect cock, you push _him2 forward to allow you to press your dick between _his2 huge butt cheeks. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms across the back of the sobbing cow, is <<= getSlave($AS).slaveName>> bloated with enough milk. - <<elseif $PC.dick != 0 && !hasAnyLegs($milkTap)>> - Moving behind the restrained cow while teasing your erect cock, you find a severe lack of places to stick your dick. Sighing, you hoist _his2 belted ass into the air so you may thrust between _his2 <<if $milkTap.weight > 95>>soft <</if>>thighs. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several loads blown<<if $milkTap.belly >= 1500>> onto the rounded belly of the sobbing cow<</if>>, is <<= getSlave($AS).slaveName>> bloated with enough milk. - <<else>> - With a lack of holes to penetrate, you simply wrap your arms around $milkTap.slaveName and begin fondling and milking _his2 luscious breasts. After some time, <<= getSlave($AS).slaveName>> is finally bloated to your desired size. - <</if>> - Standing and releasing $him from $milkTap.slaveName, gives you the opportunity to finally see <<= getSlave($AS).slaveName>>'s <<if getSlave($AS).inflation == 3>>taut, round belly<<elseif getSlave($AS).inflation == 2>>rounded, jiggling belly<<else>>distended, sloshing belly<</if>>. You just wish you could have enjoyed it a bit more, though forcing milk into the squirming slave was quite enjoyable. - Both slaves @@.mediumorchid;resent@@ what you made them do and @@.gold;fear you@@ as a result. - <<set getSlave($AS).devotion -= 5, getSlave($AS).trust -= 5>> - <<set $milkTap.devotion -= 5, $milkTap.trust -= 5>> - <<if canDoVaginal($milkTap) && ($milkTap.vagina == 0)>> - $milkTap.slaveName @@.mediumorchid;especially,@@ having just @@.lime;lost $his virginity@@ to your inconvenience. - <<set $milkTap.devotion -= 5, $milkTap.vagina = 1>> - <<elseif canDoAnal($milkTap) && ($milkTap.anus == 0)>> - $milkTap.slaveName @@.mediumorchid;especially,@@ having just @@.lime;lost $his anal virginity@@ to your inconvenience. - <<set $milkTap.devotion -= 5, $milkTap.anus = 1>> - <</if>> - -<<elseif ($milkTap.devotion < -20)>> - Since your cow is restrained, you order the more obedient <<= getSlave($AS).slaveName>> to enjoy $himself with $milkTap.slaveName's breasts. As $he suckles, you can't help but notice the tantalizing way $he wiggles $his rear. - <<if canDoVaginal(getSlave($AS))>> - <<if $PC.dick == 0>>Donning a strap-on<<else>>Teasing your stiffening cock<</if>>, you push $him deeper into the protesting $milkTap.slaveName and mount $his <<if getSlave($AS).vagina == 0>>virgin <</if>> pussy, doggy style. You wrap your arms around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. Only once your weight is removed from the squirming milk balloon is $he allowed to pull $himself off of the @@.mediumorchid;resentful $milkTap.slaveName@@ and catch $his breath.<<if getSlave($AS).vagina == 0>> $His senses were so overwhelmed, $he didn't even notice you @@.lime;broke in $his vagina.@@<</if>> - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - <<if $PC.dick == 0>>Donning a strap-on<<else>>Teasing your stiffening cock<</if>>, you push $him deeper into the protesting $milkTap.slaveName and mount $his <<if getSlave($AS).anus == 0>>virgin <</if>> asshole, doggy style. You wrap your arms around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. Only once your weight is removed from the squirming milk balloon is $he allowed to pull $himself off of the @@.mediumorchid;resentful $milkTap.slaveName@@ and catch $his breath.<<if getSlave($AS).anus == 0>> $His senses were so overwhelmed, $he didn't even notice you @@.lime;broke in $his anus.@@<</if>> - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - Teasing your stiffening cock, you push $him deeper into the protesting $milkTap.slaveName and squeeze your dick between $his huge butt cheeks. You wrap your arms around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk as you fuck $his butt. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. Only once your weight is removed from the squirming milk balloon is $he allowed to pull $himself off of the @@.mediumorchid;resentful $milkTap.slaveName@@ and catch $his breath. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - Teasing your stiffening cock, you find a severe lack of places to stick your dick. Sighing, you hoist $his belted ass into the air, push $him deeper into the protesting $milkTap.slaveName and squeeze your dick between $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs. You wrap your arms around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk as you fuck $his butt. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. Only once your weight is removed from the squirming milk balloon is $he allowed to pull $himself off of the @@.mediumorchid;resentful $milkTap.slaveName@@ and catch $his breath. - <<else>> - With a lack of holes to penetrate, you simply wrap your arms around $him and push $him deeper into the protesting $milkTap.slaveName. You bring a hand to <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and lead the other to your <<if $PC.dick == 0>>soaked pussy<<else>>stiff prick<</if>>. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. Only once your weight is removed from the squirming milk balloon is $he allowed to pull $himself off of the @@.mediumorchid;resentful $milkTap.slaveName@@ and catch $his breath. - <</if>> - $He gives the shaking $milkTap.slaveName an apologetic look before taking a seat. The poor cow isn't used to this yet and @@.gold;is terrified of your willingness@@ to take what you want from your slaves. - <<set $milkTap.devotion -= 5, $milkTap.trust -= 5>> - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<set getSlave($AS).vagina = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<set getSlave($AS).anus = 1>> - <</if>> - -<<elseif ($milkTap.fetish == "boobs") && ($milkTap.fetishStrength > 60) && ($milkTap.devotion > 20) && (getSlave($AS).devotion < -20)>> - <<if canDoVaginal(getSlave($AS))>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> while $he is forced to drink from $milkTap.slaveName's breasts. With every thrust into the squirming slave, you push $him into the moaning $milkTap.slaveName forcing even more milk down $his throat. You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much $he loves it groped. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>> and $milkTap.slaveName even more. _He2 is semi-conscious, drooling in @@.hotpink;pleasure and satisfaction,@@ by the time you release the bloated <<= getSlave($AS).slaveName>> from $his harness. Patting _his2 well milked breasts, you know _he2'll come out of it and be eagerly begging you for another milking soon. <<= getSlave($AS).slaveName>>, on the other hand, is regarding $his swollen stomach @@.mediumorchid;with disgust@@ and @@.gold;fear@@ of your power over $him.<<if getSlave($AS).anus == 0>> $he @@.mediumorchid;hates you so much more@@ that you @@.lime;broke in $his virgin vagina.@@<</if>> - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> while $he is forced to drink from $milkTap.slaveName's breasts. With every thrust into the squirming slave, you push $him into the moaning $milkTap.slaveName forcing even more milk down $his throat. You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much $he loves it groped. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>> and $milkTap.slaveName even more. _He2 is semi-conscious, drooling in @@.hotpink;pleasure and satisfaction,@@ by the time you release the bloated <<= getSlave($AS).slaveName>> from $his harness. Patting _his2 well milked breasts, you know _he2'll come out of it and be eagerly begging you for another milking soon. <<= getSlave($AS).slaveName>>, on the other hand, is regarding $his swollen stomach @@.mediumorchid;with disgust@@ and @@.gold;fear@@ of your power over $him.<<if getSlave($AS).anus == 0>> $he @@.mediumorchid;hates you so much more@@ that you @@.lime;broke in $his virgin anus.@@<</if>> - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can rub your dick between $his huge butt cheeks while $he is forced to drink from $milkTap.slaveName's breasts. With every thrust against the squirming slave, you push $him into the moaning $milkTap.slaveName forcing even more milk down $his throat. You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much $he loves it groped. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>> and $milkTap.slaveName even more. _He2 is semi-conscious, drooling in @@.hotpink;pleasure and satisfaction,@@ by the time you release the bloated <<= getSlave($AS).slaveName>> from $his harness. Patting _his2 well milked breasts, you know $he'll come out of it and be eagerly begging you for another milking soon. <<= getSlave($AS).slaveName>>, on the other hand, is regarding $his swollen stomach, and cum soaked back, @@.mediumorchid;with disgust@@ and @@.gold;fear@@ of your power over $him. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs, for a lack of anything better, while $he is forced to drink from $milkTap.slaveName's breasts. With every thrust against the squirming slave, you push $him into the moaning $milkTap.slaveName forcing even more milk down $his throat. You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much $he loves it groped. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>> and $milkTap.slaveName even more. _He2 is semi-conscious, drooling in @@.hotpink;pleasure and satisfaction,@@ by the time you release the bloated <<= getSlave($AS).slaveName>> from $his harness. Patting _his2 well milked breasts, you know _he2'll come out of it and be eagerly begging you for another milking soon. <<= getSlave($AS).slaveName>>, on the other hand, is regarding $his swollen, cum-covered stomach @@.mediumorchid;with disgust@@ and @@.gold;fear@@ of your power over $him. - <<else>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he is forced to drink from $milkTap.slaveName's breasts, since $he lacks any better way to please you while you lavish attention on your eager cow. With every thrust against the squirming slave, you push $him into the moaning $milkTap.slaveName forcing even more milk down $his throat. You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much $he loves it groped. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>> and $milkTap.slaveName even more. _He2 is semi-conscious, drooling in @@.hotpink;pleasure and satisfaction,@@ by the time you release the bloated <<= getSlave($AS).slaveName>> from $his harness. Patting _his2 well milked breasts, you know _he2'll come out of it and be eagerly begging you for another milking soon. <<= getSlave($AS).slaveName>>, on the other hand, is regarding $his swollen stomach @@.mediumorchid;with disgust@@ and @@.gold;fear@@ of your power over $him. - <</if>> - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<set getSlave($AS).vagina = 1>> - <<set getSlave($AS).devotion -= 5>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<set getSlave($AS).anus = 1>> - <<set getSlave($AS).devotion -= 5>> - <</if>> - <<set getSlave($AS).devotion -= 5>> - <<set getSlave($AS).trust -= 5>> - <<set $milkTap.devotion += 4>> - -<<elseif (getSlave($AS).devotion <= 20) || ($milkTap.devotion <= 20)>> - <<if canDoVaginal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> while $he drinks from $milkTap.slaveName's breasts. With every thrust into the squirming slave, you push $him into the docile $milkTap.slaveName forcing even more milk down $his throat. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> while $he drinks from $milkTap.slaveName's breasts. With every thrust into the squirming slave, you push $him into the docile $milkTap.slaveName forcing even more milk down $his throat. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can rub your dick between $his huge butt cheeks while $he drinks from $milkTap.slaveName's breasts. With every thrust against the squirming slave, you push $him into the docile $milkTap.slaveName forcing even more milk down $his throat. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs, for a lack of anything better, while $he drinks from $milkTap.slaveName's breasts. With every thrust against the squirming slave, you push $him into the docile $milkTap.slaveName forcing even more milk down $his throat. - <<else>> - You order <<= getSlave($AS).slaveName>> to position $himself so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he drinks from $milkTap.slaveName's breasts, since $he lacks any better way to please you while you lavish praise on your obedient cow. With every thrust against the squirming slave, you push $him into the docile $milkTap.slaveName forcing even more milk down $his throat. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much _he2 loves it groped. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. When you release $him from under your weight, $he drops to the ground panting. Neither slave seems to have enjoyed it, instead opting to just get it over with, though $milkTap.slaveName makes sure to thank <<= getSlave($AS).slaveName>> for lightening _his2 milky breasts. - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<set getSlave($AS).vagina = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<set getSlave($AS).anus = 1>> - <</if>> - -<<elseif (getSlave($AS).devotion <= 50) || ($milkTap.devotion <= 50)>> - <<if canDoVaginal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> while $he drinks from $milkTap.slaveName's breasts. $He submissively obeys. With every thrust into the moaning slave, you push $him into the smiling $milkTap.slaveName forcing even more milk down $his throat. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> while $he drinks from $milkTap.slaveName's breasts. $He submissively obeys. With every thrust into the moaning slave, you push $him into the smiling $milkTap.slaveName forcing even more milk down $his throat. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can rub your dick between $his huge butt cheeks while $he drinks from $milkTap.slaveName's breasts. $He submissively obeys. With every thrust against the chaste slave, you push $him into the smiling $milkTap.slaveName forcing even more milk down $his throat. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs, for a lack of anything better, while $he drinks from $milkTap.slaveName's breasts. $He submissively obeys. With every thrust against the chaste slave, you push $him into the smiling $milkTap.slaveName forcing even more milk down $his throat. - <<else>> - You order <<= getSlave($AS).slaveName>> to position $himself so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he drinks from $milkTap.slaveName's breasts, since $he lacks any better way to please you while you lavish attention on your happy cow. With every thrust against the squirming slave, you push $him into the smiling $milkTap.slaveName forcing even more milk down $his throat. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple, knowing just how much _he2 gets backed up. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. When you release $him from under your weight, $he drops to the ground panting. Both slaves enjoyed their union, though $milkTap.slaveName even more so thanks to _his2 lighter breasts. - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<= getSlave($AS).slaveName>> feels @@.hotpink;closer to you@@ after losing $his virginity to you. - <<set getSlave($AS).vagina = 1, getSlave($AS).devotion += 2>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<= getSlave($AS).slaveName>> feels @@.hotpink;closer to you@@ after losing $his anal virginity to you. - <<set getSlave($AS).anus = 1, getSlave($AS).devotion += 2>> - <</if>> - -<<else>> - <<= getSlave($AS).slaveName>> eagerly lifts $his ass and jiggles it seductively as $he suckles from the moaning cow. - <<if canDoVaginal(getSlave($AS))>> - You know that signal, so you hilt yourself in <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> and begin fucking $him against $milkTap.slaveName's tits. With every thrust into the moaning slave, you push $him into the grinning $milkTap.slaveName forcing even more milk down $his throat. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You know that signal, so you hilt yourself in <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> and begin fucking $him against $milkTap.slaveName's tits. With every thrust into the moaning slave, you push $him into the grinning $milkTap.slaveName forcing even more milk down $his throat. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You know that signal, but $he isn't allowed to get penetrated, so you settle for sticking your dick between $his huge butt cheeks and fucking $him against $milkTap.slaveName's tits. With every thrust against the moaning slave, you push $him into the grinning $milkTap.slaveName forcing even more milk down $his throat. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You know that signal, but $he isn't allowed to get penetrated, so you settle for sticking your dick between $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs, for a lack of anything better, and fuck $him against $milkTap.slaveName's tits. With every thrust against the moaning slave, you push $him into the grinning $milkTap.slaveName forcing even more milk down $his throat. - <<else>> - You know that signal, but $he isn't allowed to get fucked, so you reposition $him so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he drinks from $milkTap.slaveName's tits. With every thrust against the moaning slave, you push $him into the grinning $milkTap.slaveName forcing even more milk down $his throat. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with milk and place your other hand to $milkTap.slaveName's free nipple to prevent _him2 from feeling left out. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with milk, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with milk, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with milk under your molesting fingers<</if>>. When you release $him from under your weight, $he drops to the ground panting from $his meal<<if canDoVaginal(getSlave($AS)) || canDoAnal(getSlave($AS))>> and from the pleasure you drove into $him<</if>>. Both slaves @@.hotpink;loved the attention,@@ though $milkTap.slaveName even more so thanks to _his2 lighter breasts. - <<set getSlave($AS).devotion += 4, $milkTap.devotion += 4>> - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<= getSlave($AS).slaveName>> got off quite strongly from the growing pressure within $him, @@.hotpink;cementing@@ $his @@.lime;first fucking@@ as something special. - <<set getSlave($AS).devotion += 4, getSlave($AS).vagina = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<= getSlave($AS).slaveName>> got off quite strongly from the growing pressure within $him, @@.hotpink;cementing@@ $his @@.lime;first anal@@ as something special. - <<set getSlave($AS).devotion += 4, getSlave($AS).anus = 1>> - <</if>> - -<</if>> - -<<if $milkTap.lactation > 0>> - <<set $milkTap.lactationDuration = 2>> - <<set $milkTap.boobs -= $milkTap.boobsMilk, $milkTap.boobsMilk = 0>> -<</if>> - -<<else>> /* cum variant */ -<<set getSlave($AS).cumSource = $milkTap.ID>> -<<if $milkTap.behavioralQuirk == "sinful" || $milkTap.sexualQuirk == "perverted" || $milkTap.fetish == "incest">> /* incest is a planned fetish, don't touch it! */ - <<set _incestGive = 1>> -<</if>> -<<if getSlave($AS).behavioralQuirk == "sinful" || getSlave($AS).sexualQuirk == "perverted" || getSlave($AS).fetish == "incest">> - <<set _incestTake = 1>> -<</if>> - -The first necessary step is to prepare the cum slave and $his cock and balls. - -<<if $milkTap.fuckdoll > 0>> - This is hilariously easy, as you have complete control over how $milkTap.slaveName is posed. - -<<elseif $milkTap.fetish == "mindbroken">> - This is very easy, as $milkTap.slaveName blankly follows your every will. Combined with _his2 instinct to relieve the building pressure in _his2 loins, _he2 is simple to position. - -<<elseif $milkTap.rivalryTarget == getSlave($AS).ID>> - This is rather easy, as $milkTap.slaveName wants to <<if canSee($milkTap)>>see<<else>>feel<</if>> <<= getSlave($AS).slaveName>>'s belly swell painfully as $he is forced to suck down _his2 huge loads. - -<<elseif $milkTap.relationshipTarget == getSlave($AS).ID>> - This is rather easy, as $milkTap.slaveName - <<if $milkTap.relationship == 1>> - always wanted to get _his2 dick sucked by _his2 friend. - <<elseif $milkTap.relationship == 2>> - always wanted to get _his2 dick sucked by _his2 best friend. - <<elseif $milkTap.relationship == 3>> - enjoys getting _his2 dick sucked by _his2 friend with benefits. - <<elseif $milkTap.relationship == 4>> - loves getting _his2 dick sucked by _his2 lover, something that commonly happens due to _his2 overproduction. - <<elseif $milkTap.relationship == 5>> - loves getting _his2 dick sucked by _his2 $wife, something that commonly happens due to _his2 overproduction. - <</if>> - -<<elseif getSlave($AS).mother == $milkTap.ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName savors the thought of having _his2 dick sucked by _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<else>> - This is tough, as $milkTap.slaveName is very uncomfortable having _his2 dick sucked by _his2 <<print relativeTerm($milkTap, getSlave($AS))>>, but _he2 can't really complain about getting _his2 overfilled nuts drained. - <</if>> -<<elseif getSlave($AS).father == $milkTap.ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName cherishes the sheer lewdity of having _his2 dick sucked by _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<else>> - This is tough, as $milkTap.slaveName is rather uncomfortable having _his2 dick sucked by _his2 <<print relativeTerm($milkTap, getSlave($AS))>>, but _he2 can't really complain about getting _his2 overfilled nuts drained. - <</if>> -<<elseif $milkTap.mother == getSlave($AS).ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName savors the thought of having _his2 dick sucked by _his2 own mother. - <<else>> - This is moderately tough, as $milkTap.slaveName is very uncomfortable having _his2 dick sucked by _his2 own mother, but _he2 can't really complain about getting _his2 overfilled nuts drained. - <</if>> -<<elseif $milkTap.father == getSlave($AS).ID>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName cherishes the sheer lewdity of having _his2 dick sucked by _his2 own father. - <<else>> - This is tough, as $milkTap.slaveName is very uncomfortable having _his2 dick sucked by _his2 own father, but _he2 can't really complain about getting _his2 overfilled nuts drained. - <</if>> -<<elseif areSisters(getSlave($AS), $milkTap) == 1>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName enjoys the notion of twincest quite a lot. - <<else>> - This is moderately tough, as $milkTap.slaveName is uncomfortable getting so intimate with _his2 <<print relativeTerm(getSlave($AS), $milkTap)>><<if $milkTap.energy >= 95>>, though as a nymphomaniac, the thought of someone who looks so much like _his2 is a major turn on<<else>> but _he2 can't really complain about getting _his2 overfilled nuts drained<</if>>. - <</if>> -<<elseif areSisters(getSlave($AS), $milkTap) == 2>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName is quite eager to get intimate with _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<else>> - This is moderately tough, as $milkTap.slaveName is uncomfortable getting so intimate with _his2 <<print relativeTerm($milkTap, getSlave($AS))>>, but _he2 can't really complain about getting _his2 overfilled nuts drained. - <</if>> -<<elseif areSisters(getSlave($AS), $milkTap) == 3>> - <<if _incestGive>> - This is easy enough, as $milkTap.slaveName is quite eager to get intimate with _his2 <<print relativeTerm($milkTap, getSlave($AS))>>. - <<else>> - This is moderately tough, as $milkTap.slaveName is uncomfortable getting so intimate with _his2 <<print relativeTerm($milkTap, getSlave($AS))>>, but _he2 can't really complain about getting _his2 overfilled nuts drained. - <</if>> - -<<elseif ($milkTap.fetish == "cumslut") && ($milkTap.fetishKnown == 1) && ($milkTap.fetishStrength > 60) && ($milkTap.devotion >= -20)>> - This is very easy, since $milkTap.slaveName loves blasting loads whenever _he2 can, and it is just a bonus to _him2 that _he2 gets a blowjob in the process. - -<<elseif ($milkTap.energy > 95)>> - This is very easy, since $milkTap.slaveName is so sexually charged _he2 is practically overflowing at the thought of getting _his2 dick sucked. - -<<elseif ($milkTap.devotion > 50)>> - Since $milkTap.slaveName is devoted to you, _he2'd allow anyone you want to suck _his2 dick. - -<<elseif ($milkTap.devotion > 20)>> - Since $milkTap.slaveName is obedient, _he2 appreciates being allowed to have _his2 dick sucked. - -<<elseif ($milkTap.devotion >= -20)>> - Since $milkTap.slaveName does not resist your will, _he2 should comply reasonably well. If anything, _he2'll at least be thankful for the pleasure and relief. - -<<else>> - Since $milkTap.slaveName is unlikely to comply willingly, you simply restrain _him2 with _his2 dick exposed and ready to be sucked. To get _him2 going, - <<if canDoAnal($milkTap) && $milkTap.prostate > 0>> - you circle around behind _him2, <<if $PC.dick == 0>>while donning a strap-on<<else>>teasing your erect cock<</if>>, and force _him2 forward to allow you to insert yourself into $his <<if $milkTap.anus == 0>>virgin <</if>>rear. After a quick and brutal bit of prostrate stimulation, you finish and remove yourself from _him2. Before _he2 has a chance to reclench _his2 anus, you ram an electroshock stimulator in your stead. - <<else>> - you attach a number of vibrators to _his2 oversized balls and turn them to full power, stirring up _his2 overzealous cum factories. - <</if>> - _he2 cries in @@.mediumorchid;disgust@@ and @@.gold;fear@@ as _his2 penis twitches from the sensation, begging for unwelcome release. - <<set $milkTap.devotion -= 5, $milkTap.trust -= 5>> - <<if canDoAnal($milkTap)>> - <<if canImpreg($milkTap, $PC)>> - <<= knockMeUp($milkTap, 40, 1, -1)>> - <</if>> - <<if ($milkTap.anus == 0)>> - $milkTap.slaveName feels @@.mediumorchid;especially violated@@ having just @@.lime;lost $his anal virginity@@ in such a manner. - <<set $milkTap.devotion -= 5, $milkTap.anus = 1>> - <</if>> - <<set $milkTap.counter.anal++, $analTotal++>> - <</if>> - -<</if>> - -<br><br> - -Next, you see to <<= getSlave($AS).slaveName>>. - -<<if (isAmputee(getSlave($AS)))>> - You tip the limbless $girl face-first into $milkTap.slaveName's dick. - -<<elseif tooBigBreasts(getSlave($AS))>> - You set $him up so that $his massive breasts pin $him, face-first, to $milkTap.slaveName's dick. - -<<elseif $milkTap.fuckdoll > 0>> - $He hesitantly brings $his mouth to its precum tipped dick, uncertain about sucking off a doll. - -<<elseif getSlave($AS).rivalryTarget == $milkTap.ID>> - Knowing $his relationship with $milkTap.slaveName, you feel it best to restrain $him and anchor $him to $milkTap.slaveName's eager cock so $he has no choice but to suck $his way to release. - -<<elseif getSlave($AS).relationshipTarget == $milkTap.ID>> - This is rather easy, as <<= getSlave($AS).slaveName>> - <<if getSlave($AS).relationship == 1>> - licks $his lips as $he approaches $his friend's cock. - <<elseif getSlave($AS).relationship == 2>> - eagerly licks $his lips as $he approaches $his best friend's cock. - <<elseif getSlave($AS).relationship == 3>> - licks $his lips and smiles as $he approaches $his friend with benefits' cock, knowing well how _his2 <<if canTaste(getSlave($AS))>>cum tastes<<else>>body feels<</if>>. - <<elseif getSlave($AS).relationship == 4>> - licks $his lips and smiles as $he approaches $his lover's cock. This won't be the first time $he's sucked _his2 dick and swallowed _his2 huge loads. - <<elseif getSlave($AS).relationship == 5>> - licks $his lips and smiles as $he approaches $his _wife2's cock. This won't be the first time $he's sucked _his2 dick and swallowed _his2 huge loads. - <</if>> - -<<elseif getSlave($AS).mother == $milkTap.ID>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>awkwardly brings $his lips to<</if>> $his mother's cock. -<<elseif getSlave($AS).father == $milkTap.ID>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>awkwardly brings $his lips to<</if>> daddy's cock. -<<elseif $milkTap.mother == getSlave($AS).ID>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>awkwardly brings $his lips to<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>><<print relativeTerm(getSlave($AS), $milkTap)>>'s cock. -<<elseif $milkTap.father == getSlave($AS).ID>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>awkwardly brings $his lips to<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock. -<<elseif areSisters(getSlave($AS), $milkTap) == 1>> - $He <<if _incestTake>>readily <</if>>gets in position to suck $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s dick. -<<elseif areSisters(getSlave($AS), $milkTap) == 2>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>hesitatingly lowers $himself to<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock. -<<elseif areSisters(getSlave($AS), $milkTap) == 3>> - $He <<if _incestTake>>eagerly wraps $his lips around<<else>>hesitatingly lowers $himself to<</if>> $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock. - -<<elseif (getSlave($AS).fetish == "cumslut") && (getSlave($AS).fetishKnown == 1) && (getSlave($AS).fetishStrength > 60) && (getSlave($AS).devotion >= -20)>> - $He can't wait to wrap $his lips around $milkTap.slaveName's cock and balloon with cum, so $he eagerly approaches the waiting shaft. - -<<elseif (getSlave($AS).fetish == "submissive") && (getSlave($AS).fetishStrength > 60) && (getSlave($AS).fetishKnown == 1)>> - $He is accustomed to submitting to you, but as a natural submissive $he doesn't have much trouble submitting to $milkTap.slaveName instead. - -<<elseif getSlave($AS).devotion < -20>> - $He tries to refuse, so you tie $him up, force a mouth spreader into $him, and position $him for $milkTap.slaveName to thrust into. - -<<elseif getSlave($AS).devotion <= 20>> - $He obeys your orders reluctantly, drawing near $milkTap.slaveName's cock despite $his obvious hesitation to amount of cum that will be gushing into $him. - -<<elseif getSlave($AS).devotion <= 50>> - $He obeys your orders, drawing near $milkTap.slaveName's cock despite $his slight hesitation at the idea of being filled with cum. - -<<else>> - $He happily obeys your orders, eagerly <<if canTaste(getSlave($AS))>>tasting<<else>>licking up<</if>> $milkTap.slaveName's beading precum before wrapping $his lips around $milkTap.slaveName's cock and sucking enthusiastically. -<</if>> - -<br><br> - -<<if getSlave($AS).preg > 3 && getSlave($AS).pregKnown == 0 && getSlave($AS).inflation > 1>> - It becomes abundantly clear that something is wrong with <<= getSlave($AS).slaveName>> as $he struggles to down $his thick meal. Before $his health can be affected further, you pull $him into a medical exam. While most of the tests come back normal, one in particular catches your eye; @@.lime;$he is pregnant<<if getSlave($AS).preg > 10>> and surprisingly far along<</if>>.@@ $he should be able to still handle at least two liters of cum, however. - <<run deflate(getSlave($AS))>> - <<set getSlave($AS).pregKnown = 1, _pregDiscovery = 1>> - -<<elseif $milkTap.fuckdoll > 0>> - Slight moaning emanates from the Fuckdoll as <<= getSlave($AS).slaveName>> sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off _his2 cock and settles into _his2 balls for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off _his2 cock and settles into _his2 balls for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off _his2 cock and settles into _his2 balls for a short rest while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - -<<elseif $milkTap.rivalryTarget == getSlave($AS).ID>> - $milkTap.slaveName grins as _his2 rival is forced to suck down loads until $his belly is <<if getSlave($AS).inflation == 3>>nearly bursting with cum. <<= getSlave($AS).slaveName>> struggles against $his bindings until the pressure building in $his overwhelms $him, causing $him to pass out with $milkTap.slaveName's ejaculating cock still stuck in $him. You quickly remove $him from it, making sure $he gets roused from $his stupor by one last blast of cum directly to the face<<elseif getSlave($AS).inflation == 2>>is rounded, jiggling and sloshing with cum. You release $his bindings, allowing $him to flop to the floor. <<if hasAnyArms(getSlave($AS))>>$He gingerly crawls away from $milkTap.slaveName, $his hand cradling $his overfull stomach<<else>>$He rolls onto $his side, groaning with discomfort<</if>><<elseif getSlave($AS).inflation == 1>>bloated with cum. You release $his bindings, allowing $him to flop to the floor. <<if hasAnyArms(getSlave($AS))>>$He gingerly sits up and begins massaging $his full stomach<<else>>$He rolls onto $his back, hiccupping pathetically<</if>><</if>>. - -<<elseif $milkTap.relationshipTarget == getSlave($AS).ID>> - <<if $milkTap.relationship == 1>> - $milkTap.slaveName moans as _his2 friend energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his friend's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his friend's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his friend's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 2>> - $milkTap.slaveName moans as _his2 best friend energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his best friend's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his best friend's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his best friend's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 3>> - $milkTap.slaveName moans lewdly as _his2 friend with benefits energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his friend with benefits' cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his friend with benefits' cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his friend with benefits' cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 4>> - $milkTap.slaveName moans lustfully as _his2 lover teases $his dick perfectly with _his2 tongue, savoring it despite commonly being sucked off by <<= getSlave($AS).slaveName>> during their lovemaking. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his lover's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his lover's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his lover's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <<elseif $milkTap.relationship == 5>> - $milkTap.slaveName moans lustfully as _his2 $wife teases _his2 dick perfectly with $his tongue, savoring it despite commonly being sucked off by <<= getSlave($AS).slaveName>> during their lovemaking. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his _wife2's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his _wife2's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his _wife2's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - <</if>> - -<<elseif getSlave($AS).mother == $milkTap.ID>> - $milkTap.slaveName moans lewdly as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his mother's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his mother's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his mother's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif getSlave($AS).father == $milkTap.ID>> - $milkTap.slaveName moans lewdly as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his father's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his father's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his father's cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif $milkTap.mother == getSlave($AS).ID>> - $milkTap.slaveName moans lewdly as _his2 mother energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif $milkTap.father == getSlave($AS).ID>> - $milkTap.slaveName moans lewdly as _his2 father energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>><<if getSlave($AS).dick > 0 && canAchieveErection(getSlave($AS))>>, $his own stiff prick throbbing against the underside of $his new belly<</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 1>> - $milkTap.slaveName moans lewdly as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> sucks _him2 off. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 2>> - $milkTap.slaveName moans lewdly as _his2 <<if $milkTap.actualAge >= getSlave($AS).actualAge>>little<<else>>big<</if>> <<print relativeTerm($milkTap, getSlave($AS))>> energetically sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. -<<elseif areSisters(getSlave($AS), $milkTap) == 3>> - $milkTap.slaveName moans lewdly as _his2 <<print relativeTerm($milkTap, getSlave($AS))>> sucks _his2 dick. You enjoy the show, specifically the sight of <<= getSlave($AS).slaveName>>'s belly steadily growing larger with each orgasm until <<if getSlave($AS).inflation == 3>>$his belly is round and taut, making $him look pregnant. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and rubbing $his gurgling stomach<</if>><<elseif getSlave($AS).inflation == 2>>$his belly is round, jiggling and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his wobbling, gurgling stomach<</if>><<elseif getSlave($AS).inflation == 1>>$his belly is distended and sloshing with cum. $He pops off $his <<print relativeTerm(getSlave($AS), $milkTap)>>'s cock and takes a seat facing the smiling $milkTap.slaveName while hiccupping<<if hasAnyArms(getSlave($AS))>> and teasing $his gurgling stomach<</if>><</if>>. - -<<elseif (getSlave($AS).devotion < -20) && ($milkTap.devotion < -20)>> - Since you have two restrained and unwilling slaves, though $milkTap.slaveName's twitching penis betrays _him2, you are going to have to take an active role in forcing <<= getSlave($AS).slaveName>> to suck. - <<if canDoVaginal(getSlave($AS))>> - Moving behind the struggling cocksleeve while<<if $PC.dick == 0>> donning a strap-on<<else>> teasing your erect cock<</if>>, you pull $him into a comfortable position to penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy. Once you are firmly mounted, you reach around, bringing one hand to $his empty stomach and the other to $his exposed throat. As you thrust into $him, you force $him to choke down $milkTap.slaveName's dick, applying pressure to $his throat any time $he attempts to pull away. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - Moving behind the struggling cocksleeve while<<if $PC.dick == 0>> donning a strap-on<<else>> teasing your erect cock<</if>>, you pull $him into a comfortable position to penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>rear. Once you are firmly mounted, you reach around, bringing one hand to $his empty stomach and the other to $his exposed throat. As you thrust into $him, you force $him to choke down $milkTap.slaveName's dick, applying pressure to $his throat any time $he attempts to pull away. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - Moving behind the struggling cocksleeve while teasing your erect cock, you pull $him into a comfortable position to rub your dick between $his huge butt cheeks. Once you are firmly slotted, you reach around, bringing one hand to $his empty stomach and the other to $his exposed throat. As you thrust against $him, you force $him to choke down $milkTap.slaveName's dick, applying pressure to $his throat any time $he attempts to pull away. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - Moving behind the struggling cocksleeve while teasing your erect cock, you pull $him into a comfortable position to fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs, for a lack of anything better. Once you are firmly seated, you reach around, bringing one hand to $his empty stomach and the other to $his exposed throat. As you thrust against $him, you force $him to choke down $milkTap.slaveName's dick, applying pressure to $his throat any time $he attempts to pull away. - <<else>> - Moving behind the struggling cocksleeve while teasing your erect cock, you find a distinct lack of ways to use $him to get off. <<if $PC.dick != 0>>You settle for rubbing your erection against $his back<<else>>You settle for a vibrating dildo stuck deep into your pussy<</if>>, you'll need both hands to fondle your toy. Once you are positioned, you reach around, bringing one hand to $his empty stomach and the other to $his exposed throat. As you masturbate, you force $him to choke down $milkTap.slaveName's dick, applying pressure to $his throat any time $he attempts to pull away. - <</if>> - <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers and the seemingly endless supply of ejaculate from $milkTap.slaveName<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers and the seemingly endless supply of ejaculate from $milkTap.slaveName<<else>>You cum as you feel $his belly slowly round with cum under your molesting fingers and the seemingly endless supply of ejaculate from $milkTap.slaveName<</if>>. Standing and releasing $him from $milkTap.slaveName, gives you a lovely sight of <<= getSlave($AS).slaveName>>'s <<if getSlave($AS).inflation == 3>>taut, round belly<<elseif getSlave($AS).inflation == 2>>rounded, jiggling belly<<else>>distended, sloshing belly<</if>> quivering as $he comes down from $his own forced climax<<if $PC.dick != 0 && (canDoAnal(getSlave($AS)) || canDoVaginal(getSlave($AS)))>>, cum leaking from both ends<</if>>. - Both slaves @@.mediumorchid;resent@@ what you made them do and @@.gold;fear you@@ as a result. - <<set getSlave($AS).devotion -= 5, getSlave($AS).trust -= 5>> - <<set $milkTap.devotion -= 5, $milkTap.trust -= 5>> - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<= getSlave($AS).slaveName>> @@.mediumorchid;especially,@@ having just @@.lime;lost $his virginity@@ in such a demeaning manner. - <<set getSlave($AS).devotion -= 5>> - <<set getSlave($AS).vagina = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<= getSlave($AS).slaveName>> @@.mediumorchid;especially,@@ having just @@.lime;lost $his anal virginity@@ in such a demeaning manner. - <<set getSlave($AS).devotion -= 5>> - <<set getSlave($AS).anus = 1>> - <</if>> - -<<elseif ($milkTap.devotion < -20)>> - Since your sperm tank is restrained, you order the more obedient <<= getSlave($AS).slaveName>> to enjoy $himself with $milkTap.slaveName's dick. As $he teases and licks, you can't help but notice the tantalizing way $he wiggles $his rear. - <<if canDoVaginal(getSlave($AS))>> - <<if $PC.dick == 0>>Donning a strap-on<<else>>Stroking your stiffening cock<</if>>, you wait for the perfect moment and mount $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy, doggy style. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - <<if $PC.dick == 0>>Donning a strap-on<<else>>Stroking your stiffening cock<</if>>, you wait for the perfect moment and mount $his <<if getSlave($AS).anus == 0>>virgin <</if>>asshole, doggy style. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - Stroking your stiffening cock, you wait for the perfect moment and slip your dick between $his huge butt cheeks. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - Stroking your stiffening cock, you wait for the perfect moment, hoist up $his rear and slip your dick between $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs. - <<else>> - As you watch $his butt, it becomes clear just how few ways there are to use $him to get off. <<if $PC.dick != 0>>You settle for rubbing your erection against $his back<<else>>You settle for a vibrating dildo stuck deep into your pussy<</if>>, you'll need both hands to fondle your toy. - <</if>> - You wrap your arms around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with ejaculate. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with cum under your molesting fingers<</if>>. Only once your weight is removed from the squirming cum balloon is $he allowed to pull off of the @@.mediumorchid;exhausted $milkTap.slaveName's@@ cock and catch $his breath. - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - $His senses were so overwhelmed, $he didn't even notice you @@.lime;broke in $his pussy.@@ - <<set getSlave($AS).vagina = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - $His senses were so overwhelmed, $he didn't even notice you @@.lime;broke in $his anus.@@ - <<set getSlave($AS).anus = 1>> - <</if>> - $He gives the shaking $milkTap.slaveName an apologetic look before taking a seat. The poor slave isn't used to this yet and @@.gold;is terrified of your willingness@@ to take what you want from your slaves. - <<set $milkTap.devotion -= 5, $milkTap.trust -= 5>> - -<<elseif ($milkTap.fetish == "cumslut") && ($milkTap.fetishStrength > 60) && ($milkTap.devotion > 20) && (getSlave($AS).devotion < -20)>> - <<if canDoVaginal(getSlave($AS))>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> while $he is forced to suck $milkTap.slaveName's dick. With every thrust into the squirming slave, you force the moaning $milkTap.slaveName's cock deep into $his throat. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> while $he is forced to suck $milkTap.slaveName's dick. With every thrust into the squirming slave, you force the moaning $milkTap.slaveName's cock deep into $his throat. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can rub your dick between $his huge butt cheeks while $he is forced to suck $milkTap.slaveName's dick. With every thrust against the squirming slave, you force the moaning $milkTap.slaveName's cock deep into $his throat. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You position the restrained <<= getSlave($AS).slaveName>> so that you can fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs while $he is forced to suck $milkTap.slaveName's dick. With every thrust against the squirming slave, you force the moaning $milkTap.slaveName's cock deep into $his throat. - <<else>> - You position <<= getSlave($AS).slaveName>> so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he is forced to suck $milkTap.slaveName's dick, since $he lacks any better way to please you. With every thrust against the squirming slave, you force the moaning $milkTap.slaveName's cock deep into $his throat. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with ejaculate and place your other hand to $milkTap.slaveName's swollen testicles, knowing just how much _he2 loves to jettison cum. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with cum under your molesting fingers<</if>> and $milkTap.slaveName even more. _He2 is semi-conscious, drooling in @@.hotpink;pleasure and satisfaction,@@ by the time you release the bloated <<= getSlave($AS).slaveName>> from $his harness. Patting _his2 spasming, dribbling cock, you know _he2'll come out of it and be eagerly begging you for another slave to fuck soon. <<= getSlave($AS).slaveName>>, on the other hand, is regarding $his swollen stomach @@.mediumorchid;with disgust@@ and @@.gold;fear@@ of your power over $him. - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - $He @@.mediumorchid;hates you so much more@@ that you @@.lime;broke in $his virgin pussy.@@ - <<set getSlave($AS).vagina = 1, getSlave($AS).devotion -= 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - $He @@.mediumorchid;hates you so much more@@ that you @@.lime;broke in $his virgin anus.@@ - <<set getSlave($AS).anus = 1, getSlave($AS).devotion -= 1>> - <</if>> - <<set getSlave($AS).devotion -= 5, getSlave($AS).trust -= 5>> - <<set $milkTap.devotion += 4>> - -<<elseif (getSlave($AS).devotion <= 20) || ($milkTap.devotion <= 20)>> - <<if canDoVaginal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> while $he sucks $milkTap.slaveName's cock. With every thrust into the squirming slave, you push $milkTap.slaveName's cock deeper down $his throat, giving $milkTap.slaveName's orgasms a straight shot into the moaning slave's gullet. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> while $he sucks $milkTap.slaveName's cock. With every thrust into the squirming slave, you push $milkTap.slaveName's cock deeper down $his throat, giving $milkTap.slaveName's orgasms a straight shot into the moaning slave's gullet. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You order <<= getSlave($AS).slaveName>> to position $his ass so you can rub your dick between $his huge butt cheeks while $he sucks $milkTap.slaveName's cock. With every thrust against the squirming slave, you push $milkTap.slaveName's cock deeper down $his throat, giving $milkTap.slaveName's orgasms a straight shot into the moaning slave's gullet. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to position $his ass so you can fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs while $he sucks $milkTap.slaveName's cock. With every thrust against the squirming slave, you push $milkTap.slaveName's cock deeper down $his throat, giving $milkTap.slaveName's orgasms a straight shot into the moaning slave's gullet. - <<else>> - You order <<= getSlave($AS).slaveName>> to position $himself so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he is forced to suck $milkTap.slaveName's dick, since $he lacks any better way to please you. With every thrust against the squirming slave, you force the moaning $milkTap.slaveName's cock deep into $his throat. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with ejaculate and place your other hand to $milkTap.slaveName's balls, planning to coax even stronger orgasms out of _him2. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with cum under your molesting fingers<</if>>. When you release $him from under your weight, $he drops to the ground panting. Neither slave seems to have truly enjoyed it, instead opting to just get it over with, though $milkTap.slaveName makes sure to thank <<= getSlave($AS).slaveName>> for dealing with $his pent up loads. - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<set getSlave($AS).vagina = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<set getSlave($AS).anus = 1>> - <</if>> - -<<elseif (getSlave($AS).devotion <= 50) || ($milkTap.devotion <= 50)>> - <<if canDoVaginal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> while $he sucks $milkTap.slaveName's cock. $He submissively obeys. With every thrust into the moaning slave, you push $milkTap.slaveName's dick deeper down $his throat. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can penetrate $his <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> while $he sucks $milkTap.slaveName's cock. $He submissively obeys. With every thrust into the moaning slave, you push $milkTap.slaveName's dick deeper down $his throat. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can rub your dick between $his huge butt cheeks while $he sucks $milkTap.slaveName's cock. $He submissively obeys. With every thrust against the moaning slave, you push $milkTap.slaveName's dick deeper down $his throat. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You order <<= getSlave($AS).slaveName>> to lift $his ass so you can fuck $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs while $he sucks $milkTap.slaveName's cock. $He submissively obeys. With every thrust against the moaning slave, you push $milkTap.slaveName's dick deeper down $his throat. - <<else>> - You order <<= getSlave($AS).slaveName>> to position $himself so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he sucks $milkTap.slaveName's cock, since $he lacks any better way to please you. $He submissively obeys. With every thrust against the moaning slave, you push $milkTap.slaveName's dick deeper down $his throat. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with ejaculate and place your other hand to $milkTap.slaveName's balls, knowing just how much _he2 gets backed up. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with cum under your molesting fingers<</if>>. When you release $him from under your weight, $he drops to the ground panting. Both slaves enjoyed their union, though $milkTap.slaveName even more so after that many orgasms. - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<= getSlave($AS).slaveName>> feels @@.hotpink;closer to you@@ after losing $his virginity to you. - <<set getSlave($AS).vagina = 1, getSlave($AS).devotion += 5>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<= getSlave($AS).slaveName>> feels @@.hotpink;closer to you@@ after losing $his anal virginity to you. - <<set getSlave($AS).anus = 1, getSlave($AS).devotion += 5>> - <</if>> - -<<else>> - - <<= getSlave($AS).slaveName>> eagerly lifts $his ass and jiggles it seductively as $he sucks the moaning slut. - <<if canDoVaginal(getSlave($AS))>> - You know that signal, so you hilt yourself in <<if getSlave($AS).vagina == 0>>virgin <</if>>pussy <<if $PC.dick == 0>>with a strap-on <</if>> and begin spitroasting $him with $milkTap.slaveName. With every thrust into the moaning slave, every participant comes closer to their own climax. - <<set getSlave($AS).counter.vaginal++, $vaginalTotal++>> - <<elseif canDoAnal(getSlave($AS))>> - You know that signal, so you hilt yourself in <<if getSlave($AS).anus == 0>>virgin <</if>>ass <<if $PC.dick == 0>>with a strap-on <</if>> and begin spitroasting $him with $milkTap.slaveName. With every thrust into the moaning slave, every participant comes closer to their own climax. - <<set getSlave($AS).counter.anal++, $analTotal++>> - <<elseif $PC.dick != 0 && getSlave($AS).butt > 4>> - You know that signal, but $he isn't allowed to get penetrated, so you settle for sticking your dick between $his huge butt cheeks and fucking $him along with $milkTap.slaveName. With every thrust against the moaning slave, both you and $milkTap.slaveName come closer to climax. - <<elseif $PC.dick != 0 && hasBothLegs(getSlave($AS))>> - You know that signal, but $he isn't allowed to get penetrated, so you settle for sticking your dick between $his <<if getSlave($AS).weight > 95>>soft <</if>>thighs and fucking $him along with $milkTap.slaveName. With every thrust against the moaning slave, both you and $milkTap.slaveName come closer to climax. - <<else>> - You know that signal, but $he isn't allowed to get fucked, so you reposition $him so you can rub your <<if $PC.dick == 0>>clit<<else>>dick<</if>> against $him while $he deepthroats $milkTap.slaveName. With every thrust against the moaning slave, both you and $milkTap.slaveName come closer to climax. - <</if>> - You wrap an arm around <<= getSlave($AS).slaveName>>'s middle so you may feel $his stomach swell with ejaculate and place your other hand to $milkTap.slaveName's breasts to prevent _him2 from feeling left out from your attention. <<if getSlave($AS).inflation == 3>>You cum multiple times as you feel $his belly slowly round with cum, transform into a jiggling mass, and finally grow taut under your molesting fingers<<elseif getSlave($AS).inflation == 2>>You cum several times as you feel $his belly slowly round with cum, finally transforming into a jiggling mass, under your molesting fingers<<else>>You cum as you feel $his belly slowly round with cum under your molesting fingers<</if>>. When you release $him from under your weight, $he drops to the ground panting from $his meal and from the pleasure you drove into $him. Both slaves @@.hotpink;loved the attention,@@ though $milkTap.slaveName even more so after so much relief. - <<set getSlave($AS).devotion += 4>> - <<set $milkTap.devotion += 4>> - <<if canDoVaginal(getSlave($AS)) && (getSlave($AS).vagina == 0)>> - <<= getSlave($AS).slaveName>> got off quite strongly from the growing pressure within $him, @@.hotpink;cementing@@ $his @@.lime;first fucking@@ as something special. - <<set getSlave($AS).devotion += 4, getSlave($AS).anus = 1>> - <<elseif canDoAnal(getSlave($AS)) && (getSlave($AS).anus == 0)>> - <<= getSlave($AS).slaveName>> got off quite strongly from the growing pressure within $him, @@.hotpink;cementing@@ $his @@.lime;first anal@@ as something special. - <<set getSlave($AS).devotion += 4, getSlave($AS).anus = 1>> - <</if>> - -<</if>> - -<</if>> - -<br><br> - -<<if _pregDiscovery == 0>> - <<set getSlave($AS).counter.oral++, $milkTap.counter.oral++, $oralTotal += 2>> - You help the bloated <<= getSlave($AS).slaveName>> to the couch to recover and, more importantly, keep $his meal down. Only once $he has had several minutes to unwind<<if getSlave($AS).devotion > 10>> and plenty of time to tease you with $his swollen body, do you tell <<else>> do you order<</if>> $him to keep drinking from $milkTap.slaveName so that $he is always filled with <<if getSlave($AS).inflation == 3>>two gallons<<elseif getSlave($AS).inflation == 2>>four liters<<else>>two liters<</if>> of <<= getSlave($AS).inflationType>>. You give $his <<if getSlave($AS).inflation == 3>>taut, firm globe of a belly a pat<<elseif getSlave($AS).inflation == 2>>wobbly, sloshing belly a pat<<else>>distended, sloshing belly a pat<</if>> and send $him on $his way. - - <<if getSlave($AS).inflation == 3>> - <<if canWalk(getSlave($AS)) || (canMove(getSlave($AS)) && getSlave($AS).rules.mobility === "permissive")>>$He gingerly leaves your office, massaging $his over-stuffed belly as $he goes<<else>>$His belly is so taut it barely wobbles at all as $he is helped from your office<</if>>. Being filled so full @@.health.dec;surely had negative effects@@ on $his health. - <<run healthDamage(getSlave($AS), 1)>> - <<elseif getSlave($AS).inflation == 2>> - <<if canWalk(getSlave($AS)) || (canMove(getSlave($AS)) && getSlave($AS).rules.mobility === "permissive")>>$He gingerly leaves your office, massaging $his stuffed belly as $he goes<<else>>$His belly wobbles heavily as $he is helped from your office<</if>>. - <<elseif getSlave($AS).inflation == 1>> - <<if canWalk(getSlave($AS)) || (canMove(getSlave($AS)) && getSlave($AS).rules.mobility === "permissive")>>$He gingerly leaves your office, massaging $his distended belly as $he goes<<else>>$His belly wobbles as $he is helped from your office<</if>>. - <</if>> - <br><br> - <<if $milkTap.fuckdoll == 0>> - Once $he is gone, you see to it that the contented $milkTap.slaveName is helped back to _his2 assignment, but only after _his2 dribbling <<if getSlave($AS).inflationType == "milk">>teats are dealt with<<else>>cock is dealt with<</if>>, causing the waiting servant to gulp nervously at what that may entail. - <<else>> - Once $he is gone, you see to it that the dribbling Fuckdoll is cleaned up and returned to _his2 proper place, but only after _his2 leaking <<if getSlave($AS).inflationType == "milk">>teats are dealt with<<else>>cock is dealt with<</if>>, causing the waiting servant to gulp nervously at what that may entail. - <</if>> -<<else>> - <<if $milkTap.fuckdoll == 0>> - With <<= getSlave($AS).slaveName>> unable to continue, you are left with the backed up $milkTap.slaveName to deal with. _He2'll have to figure out some other way to relieve _himself2 as _he2 is helped back to _his2 assignment. - <<else>> - With <<= getSlave($AS).slaveName>> unable to continue, you are left with the backed up $milkTap.slaveName to deal with. Hopefully _he2 doesn't leak too much as _he2 waits for further use. - <</if>> -<</if>> - -<<run SetBellySize(getSlave($AS))>> -<<set $slaves[$slaveIndices[$milkTap.ID]] = $milkTap>> -<<set $milkTap = 0>> diff --git a/src/npc/surgery/surgery.js b/src/npc/surgery/surgery.js index 1a51b33059b06747cda05db44392ad27d8614edd..4777bc268a2e2e0c4e56966a2663940ffbacd767 100644 --- a/src/npc/surgery/surgery.js +++ b/src/npc/surgery/surgery.js @@ -10,16 +10,17 @@ * @param {number} [costs] money costs * @param {number} [hCosts] health costs * @param {string} [surgeryType] + * @param {boolean} [cheat] * @returns {FC.Medicine.Surgery.Procedure} */ -App.Medicine.Surgery.makeOption = function(typeId, label, effect, desc, action, costs, hCosts, surgeryType) { +App.Medicine.Surgery.makeOption = function(typeId, label, effect, desc, action, costs, hCosts, surgeryType, cheat = false) { return { typeId: typeId, label: label, targetEffect: effect, description: desc, - costs: costs, - healthCosts: hCosts, + costs: (cheat) ? 0 : costs, + healthCosts: (cheat) ? 0 : hCosts, action: action, surgeryType: surgeryType }; @@ -72,12 +73,15 @@ App.Medicine.Keys = { * Commit procedure, executing its action and subtracting its costs * @param {FC.Medicine.Surgery.Procedure} surgery * @param {App.Entity.SlaveState} slave + * @param {boolean} [cheat] */ -App.Medicine.Surgery.commit = function(surgery, slave) { +App.Medicine.Surgery.commit = function(surgery, slave, cheat = false) { V.surgeryType = surgery.surgeryType; surgery.action(slave); - cashX(forceNeg(surgery.costs), "slaveSurgery", slave); - surgeryDamage(slave, surgery.healthCosts); + if (!cheat) { + cashX(forceNeg(surgery.costs), "slaveSurgery", slave); + surgeryDamage(slave, surgery.healthCosts, cheat); + } }; /** @@ -85,9 +89,10 @@ App.Medicine.Surgery.commit = function(surgery, slave) { * @param {string} passage Passage to go after the surgery * @param {FC.Medicine.Surgery.Procedure} surgery * @param {App.Entity.SlaveState} slave + * @param {boolean} [cheat] * @returns {string} */ -App.Medicine.Surgery.makeLink = function(passage, surgery, slave) { +App.Medicine.Surgery.makeLink = function(passage, surgery, slave, cheat = false) { if (surgery.action === undefined) { return App.UI.disabledLink(surgery.label, [surgery.description]); } @@ -107,7 +112,7 @@ App.Medicine.Surgery.makeLink = function(passage, surgery, slave) { } return App.UI.link(surgery.label, App.Medicine.Surgery.commit, [surgery, slave], passage, - `${capFirstChar(surgery.description)}.\nSurgery costs: ${cashFormat(surgery.costs)}.\nProjected health damage: ${healthCosts()}.`); + `${capFirstChar(surgery.description)}.${cheat ? `` : `\nSurgery costs: ${cashFormat(surgery.costs)}.\nProjected health damage: ${healthCosts()}.`}`); }; /** @@ -574,22 +579,23 @@ App.Medicine.Surgery.sizingProcedures = function() { * For limbs use removeLimbs() * @param {App.Entity.SlaveState} slave * @param {string} part + * @param {boolean} [cheat] */ -globalThis.surgeryAmp = function(slave, part) { +globalThis.surgeryAmp = function(slave, part, cheat = false) { switch (part) { case "left ear": delete slave.brand["left ear"]; slave.earShape = "none"; slave.earT = "none"; slave.earPiercing = 0; - surgeryDamage(slave, 10); + surgeryDamage(slave, 10, cheat); break; case "right ear": delete slave.brand["right ear"]; slave.earShape = "none"; slave.earT = "none"; slave.earPiercing = 0; - surgeryDamage(slave, 10); + surgeryDamage(slave, 10, cheat); break; case "dick": slave.dick = 0; @@ -599,7 +605,7 @@ globalThis.surgeryAmp = function(slave, part) { slave.dickTat = 0; slave.dickAccessory = "none"; slave.chastityPenis = 0; - surgeryDamage(slave, 20); + surgeryDamage(slave, 20, cheat); break; case "vagina": slave.vagina = -1; @@ -611,17 +617,17 @@ globalThis.surgeryAmp = function(slave, part) { slave.vaginalAccessory = "none"; slave.vaginalAttachment = "none"; slave.chastityVagina = 0; - surgeryDamage(slave, 20); + surgeryDamage(slave, 20, cheat); break; case "horn": slave.horn = "none"; slave.hornColor = "none"; - surgeryDamage(slave, 10); + surgeryDamage(slave, 10, cheat); break; case "voicebox": slave.voice = 0; slave.voiceImplant = 0; - surgeryDamage(slave, 10); + surgeryDamage(slave, 10, cheat); break; case "lips": slave.lips -= slave.lipsImplant; diff --git a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw deleted file mode 100644 index e07be1d49ed61a3050e8cb15f02fbd32c9e345bb..0000000000000000000000000000000000000000 --- a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw +++ /dev/null @@ -1,284 +0,0 @@ -:: SlaveOnSlaveFeedingWorkAround [nobr] - -<<set $nextButton = "Back", $nextLink = "Slave Interact">> - -<<set $milkTap = 0, _descM = "milk", _descC = "cum", _eligibilityMilk2 = 0, _eligibilityMilk4 = 0, _eligibilityMilk8 = 0, _eligibilityCum2 = 0, _eligibilityCum4 = 0, _eligibilityCum8 = 0>> - -<<for _i = 0; _i < $slaves.length; _i++>> /* milk output */ - <<if $slaves[_i].lactation > 0>> - <<set $slaves[_i].milkOutput = 0>> - <<set _milk = milkAmount($slaves[_i])>> - <<set _milk = (_milk/14)>> - <<set _milk = Math.trunc(_milk)>> - <<set $slaves[_i].milkOutput = _milk>> - <<else>> - <<set _milk = 0>> - <<set $slaves[_i].milkOutput = 0>> - <</if>> -<</for>> -<<for _i = 0; _i < $slaves.length; _i++>> /* cum output */ - <<if $slaves[_i].balls > 0 && $slaves[_i].dick > 0 && $slaves[_i].chastityPenis != 1>> - <<set $slaves[_i].cumOutput = 0>> - <<set _cum = cumAmount($slaves[_i])>> - <<set _cum = (_cum/7)>> - <<set _cum = (_cum/10)>> - <<set _cum = Math.trunc(_cum)>> - <<set $slaves[_i].cumOutput = _cum>> - <<else>> - <<set _cum = 0>> - <<set $slaves[_i].cumOutput = 0>> - <</if>> -<</for>> - -<p class="scene-intro"> - <<= getSlave($AS).slaveName>> is prepped to drink $his fill; now you must select a slave capable of producing the required amount of milk or ejaculate. -</p> - -<h2>Select an eligible slave to serve as the tap</h2> - -<h3>Milk Slaves</h3> -<table width=90%> -<tr> - <th> - 2 Liters - </th> - <th> - 4 Liters - </th> - <th> - 8 Liters - </th> -</tr> -<tr valign="top"> - /* 2 Liters */ - <td> - <<for _i = 0; _i < $slaves.length; _i++>> - <div> - <<if $slaves[_i].milkOutput >= 2>> - <<if ($slaves[_i].ID != getSlave($AS).ID) && $slaves[_i].nipples != "fuckable">> - <<set _name = SlaveFullName($slaves[_i])>> - <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], getSlave($AS).inflation = 1, getSlave($AS).inflationType = _descM, getSlave($AS).inflationMethod = 3]]">> - <<if relativeTerm(getSlave($AS), $slaves[_i]) != null>> - <<print relativeTerm(getSlave($AS), $slaves[_i])>> - <</if>> - <<if $slaves[_i].relationshipTarget == getSlave($AS).ID>> - <<switch $slaves[_i].relationship>> - <<case 1>> - friends - <<case 2>> - best friends - <<case 3>> - friends with benefits - <<case 4>> - lover - <<case 5>> - slave $wife - <</switch>> - <</if>> - <<if $slaves[_i].rivalryTarget == getSlave($AS).ID>> - <<switch $slaves[_i].relationship>> - <<case 1>> - dislikes - <<case 2>> - rival - <<case 3>> - bitterly hates - <</switch>> - <</if>> - <<set _eligibilityMilk2 = 1>> - <</if>> - <</if>> - </div> - <</for>> - <<if (_eligibilityMilk2 == 0)>> - <div class="note"> - You have no slaves capable of producing two liters of milk. - </div> - <</if>> - </td> - - <<if getSlave($AS).pregKnown == 0>> - /* 4 Liters */ - <td> - <<for _i = 0; _i < $slaves.length; _i++>> - <div> - <<if $slaves[_i].milkOutput >= 4>> - <<if ($slaves[_i].ID != getSlave($AS).ID) && $slaves[_i].nipples != "fuckable">> - <<set _name = SlaveFullName($slaves[_i])>> - <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], getSlave($AS).inflation = 2, getSlave($AS).inflationType = _descM, getSlave($AS).inflationMethod = 3]]">> - <<if relativeTerm(getSlave($AS), $slaves[_i]) != null>> - <<print relativeTerm(getSlave($AS), $slaves[_i])>> - <</if>> - <<if $slaves[_i].relationshipTarget == getSlave($AS).ID>> - <<switch $slaves[_i].relationship>> - <<case 1>> - friends - <<case 2>> - best friends - <<case 3>> - friends with benefits - <<case 4>> - lover - <<case 5>> - slave $wife - <</switch>> - <</if>> - <<if $slaves[_i].rivalryTarget == getSlave($AS).ID>> - <<switch $slaves[_i].relationship>> - <<case 1>> - dislikes - <<case 2>> - rival - <<case 3>> - bitterly hates - <</switch>> - <</if>> - <<set _eligibilityMilk4 = 1>> - <</if>> - <</if>> - </div> - <</for>> - <<if (_eligibilityMilk4 == 0)>> - <div class="note"> - You have no slaves capable of producing four liters of milk. - </div> - <</if>> - </td> - - /* 8 Liters */ - <td> - <<for _i = 0; _i < $slaves.length; _i++>> - <div> - <<if $slaves[_i].milkOutput >= 8>> - <<if ($slaves[_i].ID != getSlave($AS).ID) && $slaves[_i].nipples != "fuckable">> - <<set _name = SlaveFullName($slaves[_i])>> - <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], getSlave($AS).inflation = 3, getSlave($AS).inflationType = _descM, getSlave($AS).inflationMethod = 3]]">> - <<if relativeTerm(getSlave($AS), $slaves[_i]) != null>> - <<print relativeTerm(getSlave($AS), $slaves[_i])>> - <</if>> - <<if $slaves[_i].relationshipTarget == getSlave($AS).ID>> - <<switch $slaves[_i].relationship>> - <<case 1>> - friends - <<case 2>> - best friends - <<case 3>> - friends with benefits - <<case 4>> - lover - <<case 5>> - slave $wife - <</switch>> - <</if>> - <<if $slaves[_i].rivalryTarget == getSlave($AS).ID>> - <<switch $slaves[_i].relationship>> - <<case 1>> - dislikes - <<case 2>> - rival - <<case 3>> - bitterly hates - <</switch>> - <</if>> - <<set _eligibilityMilk8 = 1>> - <</if>> - <</if>> - </div> - <</for>> - <<if (_eligibilityMilk8 == 0)>> - <div class="note"> - You have no slaves capable of producing eight liters of milk. - </div> - <</if>> - </td> - <<else>> - <td> - Due to $his pregnancy, $he is incapable of keeping down more than two liters of milk. - </td> - <</if>> -</tr> -</table> - -<h3>Cum Slaves</h3> -<table width=90%> - <tr> - <th> - 2 Liters - </th> - <th> - 4 Liters - </th> - <th> - 8 Liters - </th> - </tr> - - <tr valign="top"> - /* 2 Liters */ - <td> - <<for _i = 0; _i < $slaves.length; _i++>> - <div> - <<if $slaves[_i].cumOutput >= 2>> - <<if ($slaves[_i].ID != getSlave($AS).ID)>> - <<set _name = SlaveFullName($slaves[_i])>> - <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], getSlave($AS).inflation = 1, getSlave($AS).inflationType = _descC, getSlave($AS).inflationMethod = 3]]">> - <<set _eligibilityCum2 = 1>> - <</if>> - <</if>> - </div> - <</for>> - <<if (_eligibilityCum2 == 0)>> - <div class="note"> - You have no slaves capable of producing two liters of cum. - </div> - <</if>> - </td> - - <<if getSlave($AS).pregKnown == 0>> - /* 4 Liters */ - <td> - <<for _i = 0; _i < $slaves.length; _i++>> - <div> - <<if $slaves[_i].cumOutput >= 4>> - <<if ($slaves[_i].ID != getSlave($AS).ID)>> - <<set _name = SlaveFullName($slaves[_i])>> - <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], getSlave($AS).inflation = 2, getSlave($AS).inflationType = _descC, getSlave($AS).inflationMethod = 3]]">> - <<set _eligibilityCum4 = 1>> - <</if>> - <</if>> - </div> - <</for>> - - <<if (_eligibilityCum4 == 0)>> - <div class="note"> - You have no slaves capable of producing four liters of cum. - </div> - <</if>> - </td> - - /* 8 Liters */ - <td> - <<for _i = 0; _i < $slaves.length; _i++>> - <div> - <<if $slaves[_i].cumOutput >= 8>> - <<if ($slaves[_i].ID != getSlave($AS).ID)>> - <<set _name = SlaveFullName($slaves[_i])>> - <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], getSlave($AS).inflation = 3, getSlave($AS).inflationType = _descC, getSlave($AS).inflationMethod = 3]]">> - <<set _eligibilityCum8 = 1>> - <</if>> - <</if>> - </div> - <</for>> - <<if (_eligibilityCum8 == 0)>> - <div class="note"> - You have no slaves capable of producing eight liters of cum. - </div> - <</if>> - </td> - <<else>> - <td> - Due to $his pregnancy, $he is incapable of keeping down more than two liters of cum. - </td> - <</if>> - </tr> -</table> diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw index 89aa9cd429b4b51c80ce819831ba52b063aec883..484373fc7b37379cb2733dffc11a32c8901941db 100644 --- a/src/uncategorized/futureSociety.tw +++ b/src/uncategorized/futureSociety.tw @@ -606,9 +606,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSSupremacist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSSupremacist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "amazon") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "succubus")>> <span class="note"> @@ -651,9 +649,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSSubjugationist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSSubjugationist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "imp")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -699,9 +695,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSRepopulationFocus" "boughtItem.clothing.maternityLingerie" "boughtItem.clothing.maternityDress" "boughtItem.clothing.belly">> - </div> + <<set _items = ["boughtItem.clothing.maternityLingerie", "boughtItem.clothing.maternityDress", "boughtItem.clothing.belly"]>> + <<includeDOM App.UI.FSChangeDecoration("FSRepopulationFocus", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -732,9 +727,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSRestart">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSRestart")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "loli") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "incubus") || ($assistant.appearance == "angel")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -747,9 +740,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <<else>> <span class="detail"><<link "Abandon" "Future Society">><<run FutureSocieties.remove("FSRestart")>><<if $assistant.fsAppearance == "eugenics">><<set $assistant.fsAppearance = "default">><</if>><</link>></span> <</if>> - <div class="indent"> - <<FSChangeDecoration "FSRestart">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSRestart")>> The Societal Elite exist as the highest class, allowing you access to all manner of benefits <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "loli") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "incubus") || ($assistant.appearance == "angel")>> @@ -785,9 +776,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSIntellectualDependency" "boughtItem.clothing.bimbo">> - </div> + <<set _items = ["boughtItem.clothing.bimbo"]>> + <<includeDOM App.UI.FSChangeDecoration("FSIntellectualDependency", _items)>> <<if $policies.publicPA == 1>> <<if ["shemale", "succubus", "witch"].includes($assistant.appearance)>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -817,9 +807,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSSlaveProfessionalism" "boughtItem.clothing.courtesan">> - </div> + <<set = ["boughtItem.clothing.courtesan"]>> + <<includeDOM App.UI.FSChangeDecoration("FSSlaveProfessionalism", _items)>> <<if $policies.publicPA == 1>> <<if ["angel", "businesswoman", "incubus", "goddess", "schoolgirl", "succubus"].includes($assistant.appearance)>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -853,9 +842,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSGenderRadicalist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSGenderRadicalist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "shemale") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -886,9 +873,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSGenderFundamentalist" "boughtItem.clothing.bunny">> - </div> + <<set _items = ["boughtItem.clothing.bunny"]>> + <<includeDOM App.UI.FSChangeDecoration("FSGenderFundamentalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -921,9 +907,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSPaternalist" "boughtItem.clothing.conservative">> - </div> + <<set _items = ["boughtItem.clothing.conservative"]>> + <<includeDOM App.UI.FSChangeDecoration("FSPaternalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -953,9 +938,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSDegradationist" "boughtItem.clothing.chains">> - </div> + <<set _items = ["boughtItem.clothing.chains"]>> + <<includeDOM App.UI.FSChangeDecoration("FSDegradationist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "monstergirl") || ($assistant.appearance == "businesswoman") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "imp")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -988,9 +972,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSBodyPurist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSBodyPurist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "amazon") || ($assistant.appearance == "goddess") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1020,9 +1002,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSTransformationFetishist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSTransformationFetishist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "shemale") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "ERROR_1606_APPEARANCE_FILE_CORRUPT")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1055,9 +1035,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSYouthPreferentialist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSYouthPreferentialist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "shemale") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "succubus") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1087,9 +1065,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSMaturityPreferentialist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSMaturityPreferentialist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "goddess") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "angel")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1122,9 +1098,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSPetiteAdmiration">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSPetiteAdmiration")>> <<if $policies.publicPA == 1>> <<if ["cherub", "fairy", "imp", "incubus", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus"].includes($assistant.appearance)>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1154,9 +1128,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSStatuesqueGlorification">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSStatuesqueGlorification")>> <<if $policies.publicPA == 1>> <<if ["amazon", "goddess", "incubus", "succubus", "witch"].includes($assistant.appearance)>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1189,9 +1161,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSSlimnessEnthusiast">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSSlimnessEnthusiast")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "shemale") || ($assistant.appearance == "loli") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1221,9 +1191,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSAssetExpansionist">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSAssetExpansionist")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "shemale") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1255,9 +1223,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSPastoralist" "boughtItem.clothing.western">> - </div> + <<set _items = ["boughtItem.clothing.western"]>> + <<includeDOM App.UI.FSChangeDecoration("FSPastoralist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "shemale") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1289,9 +1256,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSPhysicalIdealist" "boughtItem.clothing.oil">> - </div> + <<set _items = ["boughtItem.clothing.oil"]>> + <<includeDOM App.UI.FSChangeDecoration("FSPhysicalIdealist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "amazon") || ($assistant.appearance == "shemale") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1321,9 +1287,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSHedonisticDecadence">> - </div> + <<includeDOM App.UI.FSChangeDecoration("FSHedonisticDecadence")>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "imp") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1356,9 +1320,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSChattelReligionist" "boughtItem.clothing.habit">> - </div> + <<set _items = ["boughtItem.clothing.habit"]>> + <<includeDOM App.UI.FSChangeDecoration("FSChattelReligionist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1547,9 +1510,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSRomanRevivalist" "boughtItem.clothing.toga">> - </div> + <<set _items = ["boughtItem.clothing.toga"]>> + <<includeDOM App.UI.FSChangeDecoration("FSRomanRevivalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1579,9 +1541,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSNeoImperialist" "boughtItem.clothing.imperialarmor" "boughtItem.clothing.imperialsuit">> - </div> + <<set _items = ["boughtItem.clothing.imperialarmor", "boughtItem.clothing.imperialsuit"]>> + <<includeDOM App.UI.FSChangeDecoration("FSNeoImperialist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "shemale") || ($assistant.appearance == "angel")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1611,9 +1572,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSAztecRevivalist" "boughtItem.clothing.huipil">> - </div> + <<set _items = ["boughtItem.clothing.huipil"]>> + <<includeDOM App.UI.FSChangeDecoration("FSAztecRevivalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1643,9 +1603,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSEgyptianRevivalist" "boughtItem.clothing.egypt">> - </div> + <<set _items = ["boughtItem.clothing.egypt"]>> + <<includeDOM App.UI.FSChangeDecoration("FSEgyptianRevivalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1675,9 +1634,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSEdoRevivalist" "boughtItem.clothing.kimono">> - </div> + <<set _items = ["boughtItem.clothing.kimono"]>> + <<includeDOM App.UI.FSChangeDecoration("FSEdoRevivalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "amazon") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "loli") || ($assistant.appearance == "kitsune") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1707,9 +1665,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSArabianRevivalist" "boughtItem.clothing.harem">> - </div> + <<set _items = ["boughtItem.clothing.harem"]>> + <<includeDOM App.UI.FSChangeDecoration("FSArabianRevivalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> @@ -1739,9 +1696,8 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</if>> <</link>> </span> - <div class="indent"> - <<FSChangeDecoration "FSChineseRevivalist" "boughtItem.clothing.qipao">> - </div> + <<set _items = ["boughtItem.clothing.qipao"]>> + <<includeDOM App.UI.FSChangeDecoration("FSChineseRevivalist", _items)>> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> <span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span> diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index 3ee42debfdba5273e1f0aafac0487f0ab3151a00..ab710d46a17eb3bc3cc20f20144362ddeb9be712 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -95,51 +95,3 @@ Allows for dynamic updating of the next button in the storyCaption (left side-ba <<widget "LoliA">><<if _assistantSlaveLisp>>_LoliALisp<<else>>_LoliA<</if>><</widget>> <<widget "WifeA">><<if _assistantSlaveLisp>>_WifeALisp<<else>>_WifeA<</if>><</widget>> <<widget "WivesA">><<if _assistantSlaveLisp>>_WivesALisp<<else>>_WivesA<</if>><</widget>> - -/* Called as <<FSChangeDecoration "FSName" "clothesBoughtFSClothes">>, will generate description of current decoration level and a link to increase it if applicable, quotes are needed to pass FSName as reference - DO NOT INCLUDE IT AS PROPERTY OF $arcologies[0]! */ -<<widget "FSChangeDecoration">> -<<set _FS = $args[0]>> -<<set _FSDecoration = _FS + "Decoration">> -<<capture _FS, _FSDecoration>> -<<switch $arcologies[0][_FSDecoration]>> -<<case 20>> - $arcologies[0].name is not customized to support this goal. - <<if $arcologies[0][_FS] >= 10>> - [[Modify your arcology's internal media to support this goal|Future Society][$arcologies[0][_FSDecoration] = 40, cashX(-2500, "capEx")]] //Costs <<print cashFormat(2500)>>// - <<else>> - You must advance this goal before customization to support it becomes available. - <</if>> -<<case 40>> - $arcologies[0].name's media is supporting this goal. - <<if $arcologies[0][_FS] >= 30>> - [[Redecorate your arcology's public spaces to support this goal|Future Society][$arcologies[0][_FSDecoration] = 60, cashX(-10000, "capEx")]] //Costs <<print cashFormat(10000)>>// - <<else>> - You must advance this goal before further customization to support it becomes available. - <</if>> -<<case 60>> - $arcologies[0].name's media is supporting this goal, and $arcologies[0].name's public spaces are decorated to support it too. - <<if $arcologies[0][_FS] >= 50>> - [[Station slaves in your arcology's public spaces to promote this goal|Future Society][$arcologies[0][_FSDecoration] = 80, cashX(-10000, "capEx")]] //Costs <<print cashFormat(10000)>>// - <<else>> - You must advance this goal before further customization to support it becomes available. - <</if>> -<<case 80>> - $arcologies[0].name's media is supporting this goal; $arcologies[0].name's public spaces are decorated to support it, and have slaves stationed in them to support it too. - <<if $arcologies[0][_FS] >= 70>> - <<if def $args[3]>> /* Only for FSRepopulation */ - [[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, State.variables[$args[1]] = 1, State.variables[$args[2]] = 1, State.variables[$args[3]] = 1, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>// - <<elseif def $args[1]>> - [[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, State.variables[$args[1]] = 1, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>// - <<elseif $args[0] == "FSRestart">> - [[Customize the exterior of the arcology to support this goal and fully establish the Societal Elite|Future Society][$arcologies[0].FSRestartDecoration = 100, $upgradeMultiplierArcology = upgradeMultiplier('engineering'), $upgradeMultiplierMedicine = upgradeMultiplier('medicine'), cashX(-75000, "capEx")]] //Costs <<print cashFormat(75000)>> and may dilute your control over the arcology// - <<else>> - [[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>// - <</if>> - <<else>> - You must advance this goal before further customization to support it becomes available. - <</if>> -<<case 100>> - $arcologies[0].name's media is supporting this goal; $arcologies[0].name's public spaces are decorated to support it, and have slaves stationed in them to support it. The exterior of the arcology has been remodeled to support it as well; the arcology is fully customized for this goal. -<</switch>> -<</capture>> -<</widget>>