diff --git a/src/endWeek/nextWeek/resetGlobals.js b/src/endWeek/nextWeek/resetGlobals.js index af8c3741daced5689cb5fa97b71077e3827a7b12..2c08654e4962b4d2b3fd16ebbfdc5fe60957d55b 100644 --- a/src/endWeek/nextWeek/resetGlobals.js +++ b/src/endWeek/nextWeek/resetGlobals.js @@ -54,7 +54,6 @@ App.EndWeek.resetGlobals = function() { V.REIfYouEnjoyItSubIDs = []; V.REShowerForceSubIDs = []; V.RECockmilkInterceptionIDs = []; - V.REInterslaveBeggingIDs = []; V.eligibleSlaves = []; // Slave Objects using 0 instead of null. Second most memory eaten up. diff --git a/src/events/RETS/reInterslaveBegging.js b/src/events/RETS/reInterslaveBegging.js new file mode 100644 index 0000000000000000000000000000000000000000..83e75f7b873c87e6a77f14ca7f63783e74653024 --- /dev/null +++ b/src/events/RETS/reInterslaveBegging.js @@ -0,0 +1,848 @@ +App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Events.BaseEvent { + eventPrerequisites() { + return [ + () => V.universalRulesConsent === 1, + ]; + } + + actorPrerequisites() { + return [ + [ // event slave /domslave + s => s.fetish !== "mindbroken", + hasAnyArms, + hasAnyLegs, + canTalk, + canHear, + s => s.devotion > 20, + s => s.energy > 40, + s => s.anus > 0, + canPenetrate, + canSee, + s => s.rules.release.slaves === 1, + ], + [ // and subslave + s => s.fetish !== "mindbroken", + canWalk, + canTalk, + isSlaveAvailable, + s => s.devotion > 20, + s => s.energy > 40, + s => ((canDoVaginal(s) && s.vagina !== 0) || (canDoAnal(s) && s.anus !== 0)), + s => s.rules.release.slaves === 1, + ] + ]; + } + + execute(node) { + /** @type {Array<App.Entity.SlaveState>} */ + let [eventSlave, subSlave] = this.actors.map(a => getSlave(a)); + const { + He, he, his, him, himself, girl + } = getPronouns(eventSlave); + const { + He2, he2, His2, his2, him2, girl2, himself2 + } = getPronouns(subSlave).appendSuffix("2"); + const { + girlP + } = getPronouns(V.PC).appendSuffix("P"); + + V.nextLink = "Next Week"; + + App.Events.drawEventArt(node, [eventSlave, subSlave], "no clothing"); + const vaginal = canDoVaginal(subSlave); + + let t = []; + + t.push(`Passing the slave quarters late at night, you hear`); + t.push(App.UI.DOM.combineNodes(App.UI.DOM.slaveDescriptionDialog(eventSlave), "'s'")); + if (eventSlave.voice > 2) { + t.push(`girly voice raised in`); + } else if (eventSlave.voice > 1) { + t.push(`feminine voice raised in`); + } else { + t.push(`deep voice raised in`); + } + if (eventSlave.trust <= 20 || (eventSlave.fetish === "submissive" && eventSlave.fetishKnown)) { + t.push(`${his} usual begging tones. ${He}'s`); + if (eventSlave.fetish === "submissive" && eventSlave.fetishKnown) { + t.push(`a shameless little slut of a sub, and`); + } else { + t.push(`got a lot to be afraid of, as a sex slave, so`); + } + t.push(`getting down on ${his} metaphorical knees is an hourly occurrence for ${him}.`); + if (hasAnyLegs(eventSlave)) { + t.push(`(Not that ${he} doesn't get down on ${his} actual`); + if (hasBothLegs(eventSlave)) { + t.push(`knees, too.)`); + } else { + t.push("knee, too.)"); + } + } + } else { + t.push(`begging tones that are unusual for ${him}.`); + } + t.push(Spoken(eventSlave, `"Pleeease let me fuck ${vaginal ? "you," : "your butt,"}"`)); + t.push(`${he} whines.`); + + App.Events.addParagraph(node, t); + t = []; + + t.push(Spoken(subSlave, `"I'm tired,"`)); + t.push(`says`); + if (eventSlave.voice > subSlave.voice) { + t.push(`another, lower,`); + } else if (eventSlave.voice < subSlave.voice) { + t.push(`another, higher,`); + } else { + if (subSlave.voice > 2) { + t.push(`a high-pitched`); + } else if (subSlave.voice > 1) { + t.push(`a soft`); + } else { + t.push(`a harsh`); + } + } + t.push(`voice. It's ${contextualIntro(eventSlave, subSlave)}.`); + if (subSlave.belly >= 120000 && eventSlave.dick > 3) { + if (subSlave.bellyPreg >= 2000) { + t.push(Spoken(subSlave, `"I'm way too pregnant; there's just no room for a big cock like yours inside me anymore. Plus you'll wake them up and they'll be kicking all night again."`)); + } else if (subSlave.bellyImplant >= 2000) { + t.push(Spoken(subSlave, `"My belly's so filled by my implant that there's just no room for a big cock like yours inside me anymore."`)); + } + } else if (subSlave.bellyFluid >= 10000 && eventSlave.dick > 3) { + t.push(Spoken(subSlave, `"I'm really full of ${subSlave.inflationType}. I don't know what will happen if you fuck me."`)); + } else if (subSlave.preg > subSlave.pregData.normalBirth/1.33 && eventSlave.dick > 3) { + t.push(Spoken(subSlave, `"I'm really pregnant, and it's getting uncomfortable to take a big cock like yours."`)); + } else if (subSlave.assignment === Job.BROTHEL || subSlave.assignment === Job.WHORE) { + t.push(Spoken(subSlave, `"And my ${vaginal ? "pussy" : "ass"} is sore. Customers ${vaginal ? "fucked me" : "pounded it"} all day."`)); + } else if (subSlave.assignment === Job.CLUB || subSlave.assignment === Job.PUBLIC) { + t.push(Spoken(subSlave, `"And my ${vaginal ? "pussy" : "ass"} is sore. Citizens ${vaginal ? "fucked me" : "pounded it"} all day."`)); + } else { + t.push(Spoken(subSlave, `"I'm tired, and I have to ${subSlave.assignment !== Job.CHOICE ? subSlave.assignment : "work"} tomorrow. I just want to go to sleep."`)); + } + t.push(`${His2} objections sound a bit feigned, and ${he2}'s obviously in no hurry to put an end to`); + if (areRelated(eventSlave, subSlave)) { + t.push(`the unmatched perversion of having ${his2} own ${relativeTerm(subSlave, eventSlave)} beg ${him2} for sex.`); + } else if (eventSlave.assignment === Job.HEADGIRL) { + if (canHear(subSlave)) { + t.push(`listening to`); + } else { + t.push(`having`); + } + t.push(`the Head Girl beg to be allowed to put ${his} cock inside ${him2}. Usually, it's ${eventSlave.slaveName} giving the orders.`); + } else if (eventSlave.fetishKnown && (eventSlave.fetish === "dom" || eventSlave.fetish === "sadist")) { + t.push(`having a dominant ${SlaveTitle(eventSlave)} like ${eventSlave.slaveName} beg ${him2} for sex.`); + } else if (eventSlave.face > 40) { + t.push(`having a`); + if (eventSlave.face > 95) { + t.push(`perfect`); + } else { + t.push(`really very pretty`); + } + t.push(`${SlaveTitle(eventSlave)} beg ${him2} for sex.`); + } else { + t.push(`having somebody beg ${him2} for sex. ${He2}'s a sex slave, and ${he2} doesn't always have the luxury of feeling so wanted.`); + } + App.Events.addParagraph(node, t); + t = []; + + const subBelly = bellyAdjective(subSlave); + t.push(`The slaves are about to go to bed; they're naked, and the horny ${eventSlave.slaveName}'s`); + if (eventSlave.dick > 5) { + t.push(`enormous erection is pointed threateningly`); + } else if (eventSlave.dick > 2) { + t.push(`stiff dick is pointed straight`); + } else { + t.push(`pathetic dick is pointed right`); + } + t.push(`at ${subSlave.slaveName}'s ${subBelly} midsection. Desperate, ${eventSlave.slaveName} decides to try praise instead.`); + let lewd = false; + if (vaginal && subSlave.labia > 0) { + t.push(Spoken(eventSlave, `"You've got such a beautiful pussy though,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"It's gorgeous. Those lips look so soft and inviting!"`)); + t.push(`It's true; ${subSlave.slaveName}'s generous petals are a bit engorged.`); + lewd = true; + } else if (vaginal && subSlave.vaginaLube > 0) { + t.push(Spoken(eventSlave, `"You've got such a naughty pussy though,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"It's so hot. Look, it's all wet and ready!"`)); + t.push(`It's true; ${subSlave.slaveName}'s invariably moist pussy is visibly glistening.`); + lewd = true; + } else if (!vaginal && subSlave.analArea > 2) { + t.push(Spoken(eventSlave, `"You've got such an asspussy though,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"That naughty hole is calling to me!"`)); + t.push(`It's true; ${subSlave.slaveName}'s asshole is surrounded by a nice wide area of crinkled skin. ${He2} obviously takes it up the butt.`); + lewd = true; + } else if (eventSlave.fetishKnown && eventSlave.fetish === "pregnancy" && subSlave.bellyPreg >= 5000) { + t.push(Spoken(eventSlave, `"You're so hot with that belly,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"It's just so big, and round, and, um, out there."`)); + t.push(`${He} swallows, getting distracted.`); + } else if (subSlave.face > 95) { + t.push(Spoken(eventSlave, `"You're the prettiest ${SlaveTitle(subSlave)} in the whole arcology,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"I can't look at your perfect ${subSlave.faceShape} face and not want to make love to ${!vaginal ? "your butt": "you"}!"`)); + } else if (!vaginal && subSlave.butt > 3) { + t.push(Spoken(eventSlave, `"You've got such a nice ass,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `It's just so big, and round, and, um, out there."`)); + t.push(`${He} swallows, getting distracted.`); + } else if (subSlave.boobShape === "perky") { + t.push(Spoken(eventSlave, `"Your tits are incredible,"`)); + t.push(`${he} wheedles.`); + if (subSlave.boobs > 800) { + t.push(Spoken(eventSlave, `"They're magical. There's no other explanation for them being so huge and still perky."`)); + } else if (subSlave.boobs > 400) { + t.push(Spoken(eventSlave, `"They're so perky and perfect."`)); + } else { + t.push(Spoken(eventSlave, `"They're so tiny and cute!"`)); + } + t.push(Spoken(eventSlave, `"I want ${!vaginal ? "your ass" : "you"} so much!"`)); + } else if (subSlave.boobShape === "torpedo-shaped") { + t.push(Spoken(eventSlave, `"Your torpedoes are incredible,"`)); + t.push(`${he} wheedles.`); + if (subSlave.boobs > 400) { + t.push(Spoken(eventSlave, `"The way they sway when you move should be against the rules."`)); + } else { + t.push(Spoken(eventSlave, `"They're so tiny and cute!"`)); + } + t.push(Spoken(eventSlave, `"I want ${!vaginal ? "your ass" : "you"} so much!"`)); + } else if (subSlave.muscles > 30) { + t.push(Spoken(eventSlave, `"You're so jacked,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"I just want to`)); + if (vaginal) { + t.push(Spoken(eventSlave, `feel those huge thighs wrap around me as I fuck you!"`)); + } else { + t.push(Spoken(eventSlave, `feel that muscular booty flex under me as I fuck your butt!"`)); + } + } else if (subSlave.skill.entertainment > 95) { + t.push(Spoken(eventSlave, `You're so beautiful and graceful,"`)); + t.push(`${he} wheedles.`); + t.push(Spoken(eventSlave, `"I love watching you walk. Look at you, just standing there you're so perfectly feminine. I want to make love to ${!vaginal ? "your ass" : "you"}!"`)); + } else { + t.push(Spoken(eventSlave, `"You're so, um, cute,"`)); + t.push(`${he} wheedles, trying to come up with something to say.`); + t.push(Spoken(eventSlave, `"And you have a, very, er, pretty ${vaginal ? "vagina" : "anus"}?"`)); + lewd = true; + } + App.Events.addParagraph(node, t); + t = []; + + t.push(subSlave.slaveName); + if (lewd) { + t.push(`blushes at the lewd`); + } else { + t.push(`smiles at the`); + } + t.push(`flattery, but after a moment's hesitation ${he2} maintains ${his2} reluctance.`); + if (eventSlave.rules.release.masturbation === 1) { + t.push(Spoken(subSlave, `"Why don't you just jerk off,"`)); + t.push(`${he2} asks dismissively.`); + t.push(Spoken(subSlave, `"Seriously, you're allowed to."`)); + } else { + t.push(Spoken(subSlave, `"Go find someone else,"`)); + t.push(`${he2} asks dismissively.`); + if (vaginal) { + t.push(Spoken(subSlave, `"There are plenty of other pussies around for you to play with."`)); + } else { + t.push(Spoken(subSlave, `"I'm sure you can find some other ${girl2} who wouldn't mind late night anal."`)); + } + } + t.push(`${He2} turns away.`); + App.Events.addParagraph(node, t); + t = []; + const holeSize = vaginal ? subSlave.vagina : subSlave.anus; + + t.push(`${eventSlave.slaveName} is almost in tears.`); + if (eventSlave.rules.release.masturbation === 1) { + t.push(Spoken(eventSlave, `"I have,"`)); + t.push(`${he} moans, blue balled.`); + if (eventSlave.aphrodisiacs > 0 || eventSlave.inflationType === "aphrodisiac") { + t.push(Spoken(eventSlave, `"It's these fucking aphrodisiacs. I can't help it. Please, please let me try cumming inside you. I won't be able to sleep."`)); + } else { + t.push(Spoken(eventSlave, `"It's not the same. I need to stick my dick in something so bad. Please."`)); + } + } else { + t.push(Spoken(eventSlave, `"But I want you,"`)); + t.push(`${he} moans, blue balled.`); + if (eventSlave.dick > 4) { + if (holeSize > 2) { + t.push(Spoken(eventSlave, `"I'm t-too big,"`)); + t.push(`${he} adds sadly, gesturing to ${his} massive erection.`); + t.push(Spoken(eventSlave, `"Some of the other girls can't take me, and I have to be gentle. Please, let me use you. I need to fuck so bad."`)); + } else { + t.push(Spoken(eventSlave, `"Your ${vaginal ? "beautiful cunt" : "sphincter"} will make me explode. I haven't gotten to fuck anything today and I need it so bad. Please."`)); + } + } else if (eventSlave.dick > holeSize+1) { + t.push(Spoken(eventSlave, `"I've been dreaming about your tight ${vaginal ? "cunt" : "ass"} all day. My dick is a perfect fit for it, it'll make me feel so good. I want to fuck it so bad. Please."`)); + } else { + t.push(Spoken(eventSlave, `"I don't see what the problem is. I'm really horny. I want to f-fuck so bad. Please, just let me use you to get off. I need your hole."`)); + } + } + + + App.Events.addParagraph(node, t); + + App.Events.addResponses(node, [ + new App.Events.Result(`Give the poor slave what ${he}'s asking for`, giveAsked), + new App.Events.Result("Effect a trade", effectTrade), + new App.Events.Result("Assert your dominance", assertDominance), + new App.Events.Result("Rescind the rule against rape", rescindRapeRule, "This option WILL rescind the universal rule against interslave rape."), + ]); + + + function giveAsked() { + const frag = document.createDocumentFragment(); + t = []; + + t.push(`You resolve to give the poor slave what ${he}'s asking for: ${subSlave.slaveName}${!vaginal ? "'s ass." : "."}`); + t.push(`Your slaves might have the right to refuse each other, but they have to obey you. You clear your throat, getting both slaves' attention, and then fix your gaze on ${subSlave.slaveName}. You tilt your head ever so slightly in ${eventSlave.slaveName}'s direction. That's all that's necessary.`); + t.push(Spoken(subSlave, `"Yes, ${getWrittenTitle(subSlave)}!"`)); + t.push(`says ${subSlave.slaveName} obediently, and`); + if (vaginal) { + t.push(`gets right down at ${eventSlave.slaveName}'s feet, lying on ${his2} back, legs`); + if (subSlave.belly >= 5000) { + t.push(`spread to either side of ${his2}`); + if (subSlave.bellyPreg >= 3000) { + t.push(`${subBelly} pregnancy,`); + } else { + t.push(`${subBelly} rounded belly,`); + } + } else { + t.push(`spread,`); + } + t.push(`compliantly offering up ${his2} pussy.`); + } else { + t.push(`turns ${his2} back to ${eventSlave.slaveName}, bends a little, cocks ${his2} hips, and spreads ${his2} buttocks, compliantly offering ${his2} asspussy.`); + } + t.push(`${He2}'s yours to do with as you please, and you've decided to give ${him2} to ${eventSlave.slaveName}, at least for right now.`); + App.Events.addParagraph(frag, t); + t = []; + + t.push(Spoken(eventSlave, `"Thank you, ${getWrittenTitle(subSlave)},"`)); + t.push(`says ${eventSlave.slaveName} <span class="hotpink">devotedly.</span>`); + if (!vaginal || subSlave.vaginaLube > 1) { + t.push(`${He} lets a gob of ${his} saliva fall onto ${his} cockhead,`); + if (!vaginal) { + t.push(`out of politeness to ${subSlave.slaveName}'s asshole.`); + } else if (subSlave.vaginaLube > 0) { + t.push(`out of politeness, since ${he} knows ${subSlave.slaveName} might not be really wet for ${him}.`); + } else { + t.push(`since ${he} knows that ${subSlave.slaveName} has a chronically dry cunt.`); + } + } + t.push(`Then ${he}`); + if (vaginal) { + t.push(`gets down between ${subSlave.slaveName}'s legs, guiding ${himself} inside the ${SlaveTitle(subSlave)}'s womanhood. ${subSlave.slaveName} kisses ${eventSlave.slaveName} on the lips,`); + t.push(`wordlessly encouraging ${him}, and the randy ${SlaveTitle(eventSlave)} starts fucking ${him2} harder, moaning with satisfaction.`); + } else { + t.push(`turns to ${subSlave.slaveName}, shoving ${his} dick up the ${SlaveTitle(subSlave)}'s butt. ${subSlave.slaveName} gasps, wriggles ${himself2} into a more comfortable position, and then flexes ${his2} ass a little, letting the`); + t.push(`${SlaveTitle(subSlave)} whose cock is inside ${his2} anus know that ${he} can go for it. ${eventSlave.slaveName} does, thrusting happily.`); + } + eventSlave.devotion += 5; + if (vaginal) { + seX(subSlave, "vaginal", eventSlave, "penetrative"); + if (canPenetrate(eventSlave) && canImpreg(subSlave, eventSlave)) { + t.push(knockMeUp(subSlave, 5, 0, eventSlave.ID, true)); + } + } else { + seX(subSlave, "anal", eventSlave, "penetrative"); + if (canPenetrate(eventSlave) && canImpreg(subSlave, eventSlave)) { + t.push(knockMeUp(subSlave, 5, 1, eventSlave.ID, true)); + } + } + App.Events.addParagraph(frag, t); + return frag; + } + + function effectTrade() { + const frag = document.createDocumentFragment(); + t = []; + + t.push(`${subSlave.slaveName} has a perfectly healthy libido; there has to be something ${he2}'d like getting from ${eventSlave.slaveName} in turn. You clear your throat, getting the slaves' attention, and ask ${subSlave.slaveName} if there's anything ${he2}'d like ${eventSlave.slaveName} to do for ${him2} in return for sex. ${eventSlave.slaveName} is so desperate that ${he} makes a suggestion before ${subSlave.slaveName} can open ${his2} mouth. Everyone knows ${subSlave.slaveName}`); + switch (subSlave.fetish) { + case "submissive": + t.push(`is a shameless submissive and loves to be fucked. ${eventSlave.slaveName} must know ${he}'s being had, at least a little. "${subSlave.slaveName}," ${he} purrs,`); + t.push(Spoken(subSlave, `"I'll fuck you ${hasAnyLegs(subSlave) ? "until your toes curl" : "senseless"}."`)); + break; + case "cumslut": + t.push(`loves ${canTaste(subSlave) ? "the taste of" : "swallowing"} cum.`); + t.push(Spoken(eventSlave, `"I promise to pull out and let you drink my cum, straight from my cock,"`)); + t.push(`${he} purrs.`); + seX(subSlave, "oral", eventSlave, "penetrative"); + break; + case "humiliation": + t.push(`loves to be humiliated.`); + t.push(Spoken(eventSlave, `"Let's go down to the dormitory, and I'll slide your ${vaginal ? "pussy" : "butthole"} down on top of my cock right there, in the middle of the doorway, so everyone has to step over you as you ride my dick."`)); + break; + case "buttslut": + t.push(`loves anal.`); + if (canDoAnal(subSlave)) { + t.push(`${eventSlave.slaveName}`); + if (eventSlave.dick > 3) { + t.push(`strokes ${himself} a couple of times, showing off ${his}`); + if (eventSlave.dick > 5) { + t.push(`monstrous penis.`); + } else { + t.push(`big dick.`); + } + t.push(Spoken(eventSlave, `"Come on, don't you want this thing up your ass?"`)); + t.push(`${he} asks.`); + } else { + t.push(`gestures to ${his} `); + if (eventSlave.dick > 1) { + t.push(`modest penis.`); + } else { + t.push(`pathetic penis.`); + } + t.push(Spoken(eventSlave, `"I know it's really small,"`)); + t.push(`${he} says.`); + t.push(Spoken(eventSlave, `"But I'll use fingers, too. I'll make sure you get off."`)); + } + } else { + t.push(Spoken(eventSlave, `"I know you can't take it up your ass right now,"`)); + t.push(`says ${eventSlave.slaveName},`); + t.push(Spoken(eventSlave, `"but can't I rim you for a while first?"`)); + seX(subSlave, "oral", eventSlave, "penetrative"); + } + break; + case "boobs": + if (subSlave.lactation) { + t.push(`loves nothing more than to have ${his2} udders lovingly sucked dry. "I'll drain you," says ${eventSlave.slaveName}, sticking ${his} tongue out to make ${his} meaning lewdly clear. ${Spoken(eventSlave, `"I'll nurse from you until you come."`)}`); + } else { + t.push(`can't resist having ${his2} breasts pampered. ${Spoken(eventSlave, `"I'll give you a boob massage,"`)} says ${eventSlave.slaveName}, and puts up ${his} ${hasBothArms(eventSlave) ? "arms" : "arm"}, flexing ${his} fingers lewdly. "A really good one. I'll be thorough!"`); + } + break; + case "pregnancy": + t.push(`loves to be inseminated,`); + if (subSlave.pregKnown === 1) { + t.push(`even though ${he2}'s already pregnant. ${Spoken(eventSlave, `"Come on, you know you want my semen,"`)} says ${eventSlave.slaveName}, idly toying with the precum gathering at ${his} tip.`); + if (vaginal) { + t.push(Spoken(eventSlave, `"I'll do my best to shoot it all the way up into your womb. I might even make you pregnant twice, I'll cum in you so hard."`)); + } else { + t.push(Spoken(eventSlave, `"I'll fill your ass up."`)); + } + subSlave.lactationDuration = 2; + subSlave.boobs -= subSlave.boobsMilk; + subSlave.boobsMilk = 0; + } else { + t.push(`regardless of whether ${he2} can actually get pregnant`); + if (vaginal) { + t.push(`right this second.`); + } else { + t.push(`in ${his2} anus.`); + } + t.push(`${Spoken(eventSlave, `"Come on, you know you want my semen,"`)} says ${eventSlave.slaveName}, idly toying with the precum gathering at ${his} tip. "I'll fill you up."`); + } + break; + case "dom": + t.push(`prefers to be on top. ${Spoken(eventSlave, `"Of course you can fuck me too,"`)} ${eventSlave.slaveName} hurries to add.`); + if (canDoVaginal(eventSlave)) { + t.push(`${He} reaches down and spreads ${his}`); + if (subSlave.labia > 0) { + t.push(`ample`); + } + t.push(`labia, showing off ${his} pink channel.`); + } else if (canDoAnal(eventSlave)) { + t.push(`${He} spins, cocks ${his} hips, spreads ${his} asscheeks, and winks ${his} anus invitingly.`); + } else { + t.push(`${He} gets right down on ${his} knees and uses ${his} hands to spread ${his} lips as wide as they'll go. "'ou can 'ace 'uck me," ${he} intones with difficulty.`); + } + t.push(Spoken(eventSlave, `"You can go first! ${canAchieveErection(subSlave) ? "Get your cock out" : "Grab a strap-on"}, let's trade holes!"`)); + break; + case "sadist": + t.push(`is a sexual sadist. ${eventSlave.slaveName} swallows nervously, visibly weighing whether ${he} wants to offer what ${he}'ll need to offer, and then takes the plunge. ${Spoken(eventSlave, `"You can hurt me,"`)} ${he} says in a small voice.`); + break; + case "masochist": + t.push(`is a slut for pain. "I'll hurt you," says ${eventSlave.slaveName} hesitantly. Seeing that this is well received, ${he} plunges on. ${Spoken(eventSlave, `"I'll rape you. Come on, I'm going to pound you so hard and twist your nipples until you don't know what hurts worst, your tits or your ${vaginal ? "cunt" : "butthole"}."`)}`); + break; + default: + t.push(`is pretty vanilla in bed. "Come on," says ${eventSlave.slaveName} reassuringly. ${Spoken(eventSlave, `"You'll come more than I do, I promise. First I'll ${subSlave.dick > 0 ? "blow you" : "eat you out"}. Then we'll make love.`)}`); + if (eventSlave.dick > 2) { + t.push(Spoken(eventSlave, `This dick will make you shudder."`)); + } else { + t.push(Spoken(eventSlave, `I'm kind of small down there, but I'll use my hands too."`)); + } + seX(subSlave, "oral", eventSlave, "oral"); + } + App.Events.addParagraph(frag, t); + t = []; + + t.push(`${subSlave.slaveName} is a seasoned sex slave but that doesn't stop ${him2} from blushing a little at such a blunt suggestion. "Okay," ${he2} says, biting ${his2}`); + if (eventSlave.lips > 40) { + t.push(`absurdly generous`); + } else if (eventSlave.lips > 10) { + t.push(`full`); + } else { + t.push(`thin`); + } + t.push(`lower lip cutely.`); + t.push(Spoken(subSlave, `"I was actually going to say yes anyway, but it's really nice to have someone like you ask me for it like that. I'm sorry I made you beg."`)); + t.push(Spoken(eventSlave, `"Don't care!"`)); + t.push(`says ${eventSlave.slaveName} exultantly, and grabs ${his} conquest, planting a lusty kiss on ${subSlave.slaveName}'s giggling mouth and`); + if (vaginal) { + t.push(`rubbing ${his} erection against ${subSlave.slaveName}'s`); + if (subSlave.labia > 0) { + t.push(`puffy`); + } + t.push(`pussylips.`); + } else { + t.push(`reaching around ${subSlave.slaveName} to start teasing ${his2} asshole.`); + } + t.push(Spoken(eventSlave, `"Don't care, as long as I get to fuck your ${vaginal ? "hot cunt" : "beautiful ass"}!"`)); + t.push(`Your work here is done, and once ${he}'s done blowing ${his} load inside ${subSlave.slaveName}${!vaginal ? "'s anus" : ""},`); + t.push(`${eventSlave.slaveName} should remember to be <span class="mediumaquamarine">grateful</span> to you for the reminder on how to seduce`); + switch (subSlave.fetish) { + case "submissive": + t.push(`coquettish subs.`); + break; + case "cumslut": + t.push(`tired cumsluts.`); + break; + case "humiliation": + t.push(`reluctant exhibitionists.`); + break; + case "buttslut": + t.push(`tired anal whores.`); + break; + case "boobs": + t.push(`coquettish mammary sluts.`); + break; + case "pregnancy": + t.push(`reluctant pregsluts.`); + break; + case "dom": + t.push(`tired doms.`); + break; + case "sadist": + t.push(`tired sadists.`); + break; + case "masochist": + t.push(`silly masochists.`); + break; + default: + t.push(`vanilla`); + t.push(`${girl2}s.`); + } + eventSlave.trust += 5; + if (vaginal) { + seX(subSlave, "vaginal", eventSlave, "penetrative"); + if (canPenetrate(eventSlave) && canImpreg(subSlave, eventSlave)) { + t.push(knockMeUp(subSlave, 5, 0, eventSlave.ID, true)); + } + } else { + seX(subSlave, "anal", eventSlave, "penetrative"); + if (canPenetrate(eventSlave) && canImpreg(subSlave, eventSlave)) { + t.push(knockMeUp(subSlave, 5, 1, eventSlave.ID, true)); + } + } + App.Events.addParagraph(frag, t); + return frag; + } + + function assertDominance() { + const frag = document.createDocumentFragment(); + t = []; + + const domBelly = bellyAdjective(eventSlave); + t.push(`You brush past ${eventSlave.slaveName} without a word. ${Spoken(eventSlave, `"Um, ${getWrittenTitle(eventSlave)},"`)} ${he} starts to greet you, and then loses track of the greeting as ${he}`); + if (canSee(eventSlave)) { + t.push(`sees`); + } else { + t.push(`notices`); + } + t.push(`what you're doing. You stride forward, grab ${subSlave.slaveName} by ${his2}`); + if (subSlave.hips > 2) { + t.push(`door-jamming hips`); + } else if (subSlave.belly >= 100000) { + t.push(`expansive middle`); + } else if (subSlave.butt > 12) { + t.push(`gloriously immense ass`); + } else if (subSlave.hips > 1) { + t.push(`gloriously broad hips`); + } else if (subSlave.butt > 8) { + t.push(`monstrous ass`); + } else if (subSlave.hips > 0) { + t.push(`womanly hips`); + } else if (subSlave.bellyPreg >= 5000) { + t.push(`gravid middle`); + } else if (subSlave.belly >= 5000) { + t.push(`rounded middle`); + } else if (subSlave.weight > 95) { + t.push(`fat middle`); + } else if (subSlave.butt > 5) { + t.push(`huge ass`); + } else if (subSlave.weight > 30) { + t.push(`chubby middle`); + } else if (subSlave.weight > 10) { + t.push(`plush middle`); + } else { + t.push(`hips`); + } + t.push(`and set ${him2} on the nearest convenient waist-high object. Then you`); + if (vaginal) { + t.push(`pound ${his2} pussy.`); + } else { + t.push(`fuck ${his2} butt.`); + } + App.Events.addParagraph(frag, t); + t = []; + + t.push(`Poor ${eventSlave.slaveName} can do nothing but stand there and watch. You haven't dismissed ${him}, so ${he}'s forced to helplessly spectate as you do exactly what ${he} so desperately wants to do. You can't see ${his} face, but you don't have to. ${subSlave.slaveName}`); + if (vaginal) { + if (subSlave.vagina === 1) { + t.push(`has a tight pussy, and`); + } else if (subSlave.vagina === 2) { + t.push(`isn't tight, but`); + } else { + t.push(`has a loose pussy, but`); + } + } else { + if (subSlave.anus === 1) { + t.push(`has a tight little ass, and`); + } else if (subSlave.anus === 2) { + t.push(`is no anal virgin, but`); + } else { + t.push(`has a very experienced asshole, but`); + } + } + if (V.PC.dick) { + t.push(`you have a big dick`); + } else { + t.push(`you use a formidable strap-on`); + } + t.push(`and are ramming it into ${subSlave.slaveName}'s fuckhole industriously. ${He2} moans and writhes, being a good sex slave with your`); + if (V.PC.dick) { + t.push(`hard shaft`); + } else { + t.push(`instrument`); + } + t.push(`sliding in and out of ${him2}, in and out of ${him2}. You plunder ${him2} without restraint, bending to plant dominant kisses on ${him2} panting mouth while you fuck ${him2}, and then straightening up again to grab and maul ${his2}`); + if (subSlave.boobsImplant > 0) { + t.push(`fake tits`); + } else { + t.push(`${subSlave.boobShape} boobs`); + } + t.push(`with both hands.`); + if (V.PC.dick) { + t.push(`When you're through, you thrust deep inside, blasting ${his2}`); + if (vaginal) { + t.push(`cervix`); + } else { + t.push(`bowels`); + } + t.push(`with a hot torrent of your`); + if (V.PC.balls >= 30) { + t.push(`semen until ${his2} belly begins to visibly swell from your load.`); + } else if (V.PC.balls >= 14) { + t.push(`semen, thoroughly filling ${him2} with your massive load.`); + } else { + t.push(`semen.`); + } + } else { + t.push(`Finally you orgasm, thrusting yourself hard against your strap-on harness, driving it as far inside your fucktoy as it'll go and holding it there as you shudder with climax.`); + } + t.push(`Then you pull out and shove the <span class="hotpink">dominated,</span> sweaty, fucked-out${V.PC.dick ? ", cum-dripping" : ""} ${subSlave.slaveName} towards the showers, giving ${him2} a swat on the butt when ${he2}'s slow to get moving. Then you turn to ${eventSlave.slaveName}.`); + App.Events.addParagraph(frag, t); + t = []; + + t.push(`${He}'s painfully aroused, of course. ${He} just got to watch a`); + if (V.PC.title) { + t.push(`handsome guy fuck a`); + } else { + t.push(`hot ${girlP} fuck another`); + } + if (!vaginal) { + t.push(`hot ${girl2}'s ass,`); + } else { + t.push(`hot ${girl2},`); + } + t.push(`right in front of ${him}. And this while already laboring under a severe case of blue balls. ${Spoken(eventSlave, `"${getWrittenTitle(eventSlave)},"`)} ${he} says unspecifically. ${He} knows you did that in front of ${him} for ${his} benefit, at least partly, and ${he} wouldn't know what to make of it or how to respond, even if ${he} were in possession of ${his} faculties. Which ${he} isn't. All ${his} blood is very obviously located in`); + if (eventSlave.vagina > -1) { + t.push(`${his} lovely futanari hard-on.`); + } else { + t.push(`${his} desperately erect penis.`); + } + t.push(`You point to where ${subSlave.slaveName} just got fucked, and announce that ${eventSlave.slaveName} can get off if ${he} wants, but not by fucking ${subSlave.slaveName}. ${He} gets to come with`); + if (V.PC.dick) { + t.push(`your cock`); + } else { + t.push(`a strap-on`); + } + if (canDoVaginal(eventSlave)) { + t.push(`fucking ${him}.`); + } else { + t.push(`up ${his} ass.`); + } + App.Events.addParagraph(frag, t); + t = []; + + t.push(`${eventSlave.slaveName} is familiar with your libido, but even so, ${he}'s impressed. ${He}'s also in dire need of relief, and at this point, ${he}'s so horny that the prospect of any sex is attractive, even if it isn't the kind of sex ${he} was originally planning. So ${he} hops up eagerly enough and opens ${his} legs for you, ${his} erect member`); + if (eventSlave.belly >= 10000) { + t.push(`uncomfortably trapped by ${his}`); + if (eventSlave.bellyPreg >= 8000) { + t.push(`${domBelly} pregnancy`); + } else { + t.push(`${domBelly} belly`); + } + } else { + t.push(`sticking out forgotten`); + } + t.push(`as ${he}`); + if (canDoVaginal(eventSlave)) { + t.push(`spreads ${his} pussy.`); + } else { + t.push(`offers you ${his} asshole.`); + } + t.push(`You fuck it, even more roughly than you fucked ${subSlave.slaveName}'s`); + if (vaginal) { + t.push(`cunt,`); + } else { + t.push(`anus,`); + } + t.push(`and since you've just climaxed recently, it's a while before you orgasm again. ${eventSlave.slaveName} cums long before you, spattering ${himself} messily, moaning ${Spoken(eventSlave, `"Oh, ${getWrittenTitle(eventSlave)}, yes, oh fuck yes, my ${canDoVaginal(eventSlave) ? "pussy, my fucking pussy" : "ass, my fucking asshole"}"`)}`); + t.push(`so <span class="hotpink">whorishly</span> that there's no indication ${he} was ever even considering fucking anyone.`); + eventSlave.devotion += 3; + if (canDoVaginal(eventSlave)) { + seX(eventSlave, "vaginal", V.PC, "penetrative"); + if (canImpreg(eventSlave, V.PC)) { + t.push(knockMeUp(eventSlave, 5, 0, -1, true)); + } + } else { + seX(eventSlave, "anal", V.PC, "penetrative"); + if (canImpreg(eventSlave, V.PC)) { + t.push(knockMeUp(eventSlave, 5, 1, -1, true)); + } + } + if (vaginal) { + subSlave.devotion += 3; + seX(subSlave, "vaginal", V.PC, "penetrative"); + if (canImpreg(subSlave, V.PC)) { + t.push(knockMeUp(subSlave, 15, 0, -1, true)); + } + } else { + subSlave.devotion += 3; + seX(subSlave, "vaginal", V.PC, "penetrative"); + if (canImpreg(subSlave, V.PC)) { + t.push(knockMeUp(subSlave, 15, 1, -1, true)); + } + } + + App.Events.addParagraph(frag, t); + return frag; + } + + function rescindRapeRule() { + const frag = document.createDocumentFragment(); + t = []; + + V.universalRulesConsent = 0; + const {HisA, heA} = getPronouns(assistant.pronouns().main).appendSuffix("A"); + + t.push(`You clear your throat for the slaves' attention and verbally order ${assistant.name > 0 ? assistant.name : "your assistant"} to rescind the penthouse rule against interslave rape. ${HisA} avatar pops up nearby and confirms the rules change.`); + if (assistant.personality > 0) { + t.push(`"Done," ${heA} says. "And I approve. Poor ${girl}s like ${eventSlave.slaveName} should be able to take what they need."`); + } else { + t.push(`"Done," ${heA} says.`); + } + App.Events.addParagraph(frag, t); + t = []; + + t.push(`You give no explicit command to the pair of slaves in front of you, but they understand you perfectly. ${subSlave.slaveName} pales;`); + if (subSlave.fetishKnown && subSlave.fetish === "submissive") { + t.push(`${he2} likes getting fucked, but having someone ordered to rape ${him2} is a bit much.`); + } else if (subSlave.fetishKnown && subSlave.fetish === "masochist") { + t.push(`${he2} likes being hurt, but having the flirty interchange converted instantly into a situation in which ${he2} has no control at all kills ${his2} mood.`); + } else { + t.push(`${he2} wasn't seriously adverse to having sex, but being laid open to rape isn't ${his2} idea of a good time.`); + } + t.push(`${eventSlave.slaveName}, meanwhile, looks`); + if (subSlave.fetishKnown && subSlave.fetish === "dom") { + t.push(`rather pleased. ${He} likes being on top enough that ${he}'s willing to use force if necessary.`); + } else if (subSlave.fetishKnown && subSlave.fetish === "sadist") { + t.push(`positively predatory. The sadistic bitch actually prefers it this way.`); + } else { + t.push(`rather conflicted. ${He}'s obviously relieved ${he}'ll be getting relief, but obviously has some mixed feelings about using force to get what ${he} wants.`); + } + App.Events.addParagraph(frag, t); + t = []; + + if (eventSlave.fetishKnown && (eventSlave.fetish === "dom" || eventSlave.fetish === "sadist")) { + t.push(`${subSlave.slaveName} tries to get down on`); + if (vaginal) { + t.push(`the floor and offer ${his2} pussy`); + } else { + t.push(`${his2} knees and offer ${his2} asspussy`); + } + t.push(`without resistance, but ${eventSlave.slaveName} has other ideas, and shoves the poor slave down hard. ${subSlave.slaveName}'s`); + if (vaginal) { + t.push(`butt hits the floor with a smack`); + } else { + t.push(`knees hit the floor painfully`); + } + t.push(`and ${he2} moans unhappily as ${eventSlave.slaveName} penetrates ${him2}.`); + } else { + t.push(`${eventSlave.slaveName} clears ${his} throat uncomfortably, not really sure what to do, and obviously reluctant to grab ${subSlave.slaveName} and rape ${him}. ${subSlave.slaveName} resolves ${his} dilemma for ${him}, and`); + if (vaginal) { + t.push(`gets down on the ground, spreading ${his2} legs`); + if (subSlave.belly >= 5000) { + t.push(`to either side of ${his2} ${subBelly}`); + if (subSlave.bellyPreg >= 3000) { + t.push("pregnancy"); + } else { + t.push("rounded belly"); + } + } + t.push(`and offering ${his2} pussy`); + } else { + t.push(`gets down on ${his2} knees, arching ${his2} back and presenting ${his2} asspussy`); + } + t.push(`without resistance. Relieved, ${eventSlave.slaveName} gets`); + if (vaginal) { + t.push(`on top of ${him2}`); + } else { + t.push(`behind ${him2}`); + } + t.push(`and starts to fuck.`); + } + t.push(Spoken(eventSlave, `"Thanks, ${getWrittenTitle(eventSlave)},"`)); + t.push(`pants ${eventSlave.slaveName} as ${he} humps away.`); + t.push(Spoken(eventSlave, `"I'm <span class="mediumaquamarine">looking forward</span> to being able to do this whenever I want."`)); + t.push(`${subSlave.slaveName} gasps, from`); + if (vaginal) { + t.push(`down under ${eventSlave.slaveName}.`); + } else { + t.push(`where ${eventSlave.slaveName} has ${his2} face ground against the floor.`); + } + t.push(`Apparently, ${he2} hadn't realized that this wasn't a one-time thing, and is <span class="gold">none too pleased</span> by having to give ${eventSlave.slaveName} ${his2}`); + if (vaginal) { + t.push(`pussy`); + } else { + t.push(`ass`); + } + t.push(`whenever ${he} wants it.`); + eventSlave.trust += 3; + if (vaginal) { + subSlave.trust -= 3; + seX(subSlave, "vaginal", eventSlave, "penetrative"); + if (canPenetrate(eventSlave) && canImpreg(subSlave, eventSlave)) { + t.push(knockMeUp(subSlave, 5, 0, eventSlave.ID, true)); + } + } else { + subSlave.trust -= 3; + seX(subSlave, "vaginal", eventSlave, "penetrative"); + if (canPenetrate(eventSlave) && canImpreg(subSlave, eventSlave)) { + t.push(knockMeUp(subSlave, 5, 1, eventSlave.ID, true)); + } + } + + App.Events.addParagraph(frag, t); + + + return frag; + } + } +}; diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js index 59c1e6d6e6cd75a7ba5f1b30c635460217224bad..ad773c257a121f7fbe9fdf23d47ba665310df65b 100644 --- a/src/events/randomEvent.js +++ b/src/events/randomEvent.js @@ -48,6 +48,7 @@ App.Events.getIndividualEvents = function() { new App.Events.RECIUgly(), new App.Events.RETSFucktoyPrefersRelative(), + new App.Events.RETSInterslaveBegging(), new App.Events.RETSSadisticDescription(), new App.Events.RETSSiblingTussle(), new App.Events.RETSSimpleAssault(), diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js index 4cb838fb348cd7ce6f61403caffe0c02c950335e..ab0beed8df675fb4d978f2a73e9a016cdc22de2c 100644 --- a/src/js/eventSelectionJS.js +++ b/src/js/eventSelectionJS.js @@ -14,22 +14,6 @@ globalThis.generateRandomEventPool = function(eventSlave) { } } - if (V.REInterslaveBeggingIDs.length > 1 || (V.REInterslaveBeggingIDs.length === 1 && eventSlave.ID !== V.REInterslaveBeggingIDs[0])) { - if (V.universalRulesConsent === 1) { - if (eventSlave.devotion > 20) { - if (eventSlave.energy > 40) { - if (canPenetrate(eventSlave)) { - if (canSee(eventSlave)) { - if (eventSlave.rules.release.slaves === 1) { - V.RETSevent.push("interslave begging"); - } - } - } - } - } - } - } - if (V.seeIncest === 1) { if (eventSlave.devotion > 20) { if (eventSlave.sexualQuirk === "perverted" || eventSlave.energy > 80) { diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw index e02ead54b4c8aa2a090dc4a6f2ae54386520c5a2..f63701754c6eb1265006f4e1ef7f3a110516d409 100644 --- a/src/uncategorized/RETS.tw +++ b/src/uncategorized/RETS.tw @@ -116,18 +116,6 @@ <</for>> <</if>> -<<case "interslave begging">> - -<<if Array.isArray($REInterslaveBeggingIDs)>> - <<set $REInterslaveBeggingIDs = $REInterslaveBeggingIDs.shuffle()>> - <<for _i = 0; _i < $REInterslaveBeggingIDs.length; _i++>> - <<if $eventSlave.ID != $REInterslaveBeggingIDs[_i]>> - <<set $subSlave = $slaves[$slaveIndices[$REInterslaveBeggingIDs[_i]]]>> - <<break>> - <</if>> - <</for>> -<</if>> - <<case "incestuous nursing">> <<set $subSlave = randomAvailableDaughter($activeSlave)>> @@ -145,7 +133,7 @@ <<set _clothesTemp2 = $subSlave.clothes>> <<switch $RETSevent>> /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ - <<case "anal cowgirl" "boob collision" "cockmilk interception" "if you enjoy it" "incestuous nursing" "interslave begging" "repressed anal virgin" "shower force" "taste test">> + <<case "anal cowgirl" "boob collision" "cockmilk interception" "if you enjoy it" "incestuous nursing" "repressed anal virgin" "shower force" "taste test">> <<set $activeSlave.clothes = "no clothing">> <<set $subSlave.clothes = "no clothing">> <<case "date please">> @@ -622,125 +610,6 @@ $His other hand is <<if $subSlave.scrotum == 0>>massaging the place where $subSl <br><br> $subSlave.slaveName is getting _his2 dick sucked<<if $subSlave.lactation == 0>> and _his2 ass fucked<<else>>, _his2 ass fucked, and _his2 boobs milked<</if>>. _He2's so overstimulated that _he2's shaking; a tremendous orgasm is building within _him2. _He2 <<if $subSlave.voice != 0>>groans<<else>>makes a harsh rasping noise<</if>>, which $activeSlave.slaveName <<if canHear($activeSlave)>>hears<<else>>can feel<</if>>, and $subSlave.slaveName tenses, which $activeSlave.slaveName feels in $his mouth and hands. Smiling around the penis in $his mouth, pleased by the approach of a gush of delectable semen, $activeSlave.slaveName hums encouragement into $subSlave.slaveName's <<if canAchieveErection($subSlave)>>rock-hard<<else>>soft<</if>> dickhead<<if $subSlave.scrotum>> and visibly tickles $subSlave.slaveName's balls with $his naughty pink tongue<</if>>. -<<case "interslave begging">> - -<<set _vaginal = 0>> -<<if canDoVaginal($subSlave)>><<set _vaginal = 1>><</if>> -Passing the slave quarters late at night, you hear <<= App.UI.slaveDescriptionDialog($activeSlave)>>'s <<if $activeSlave.voice > 2>>girly<<elseif $activeSlave.voice > 1>>feminine<<else>>deep<</if>> voice, raised in -<<if $activeSlave.trust <= 20 || ($activeSlave.fetish == "submissive" && $activeSlave.fetishKnown)>> - $his usual begging tones. $He's - <<if $activeSlave.fetish == "submissive" && $activeSlave.fetishKnown>> - a shameless little slut of a sub, and - <<else>> - got a lot to be afraid of, as a sex slave, so - <</if>> - getting down on $his metaphorical knees is an hourly occurrence for $him. - <<if hasAnyLegs($activeSlave)>> - (Not that $he doesn't get down on $his actual knee<<if hasBothLegs($activeSlave)>>s<</if>>, too.) - <</if>> -<<else>> - begging tones that are unusual for $him. -<</if>> -"Pleeea<<s>>e let me fuck <<if _vaginal>>you<<else>>your butt,<</if>>" $he whines. -<br><br> -<<run Enunciate($subSlave)>> -"I'm tired," <<say>>s -<<if $activeSlave.voice > $subSlave.voice>>another, lower, -<<elseif $activeSlave.voice < $subSlave.voice>>another, higher, -<<else>>a <<if $activeSlave.voice > 2>>high-pitched<<elseif $activeSlave.voice > 1>>soft<<else>>harsh<</if>> -<</if>> -voice. It's <<= contextualIntro($activeSlave, $subSlave, true)>>. -<<if $subSlave.belly >= 120000 && $activeSlave.dick > 3>> - <<if $subSlave.bellyPreg >= 2000>> - "I'm way too pregnant; there'<<s>> ju<<s>>t no room for a big cock like your<<s>> in<<s>>ide me anymore. Plu<<s>> you'll wake them up and they'll be kicking all night again." - <<elseif $subSlave.bellyImplant >= 2000>> - "My belly'<<s>> <<s>>o filled by my implant that there'<<s>> ju<<s>>t no room for a big cock like your<<s>> in<<s>>ide me anymore." - <</if>> -<<elseif $subSlave.bellyFluid >= 10000 && $activeSlave.dick > 3>> - "I'm really full of $subSlave.inflationType. I don't know what will happen if you fuck me." -<<elseif $subSlave.preg > $subSlave.pregData.normalBirth/1.33 && $activeSlave.dick > 3>> - "I'm really pregnant, and it'<<s>> getting uncomfortable to take a big cock like your<<s>>." -<<elseif $subSlave.assignment == "work in the brothel" || $subSlave.assignment == "whore">> - "And my <<if _vaginal>>pu<<ss>>y<<else>>a<<ss>><</if>> i<<s>> <<s>>ore. Cu<<s>>tomer<<s>> <<if _vaginal>>fucked me<<else>>pounded it<</if>> all day." -<<elseif $subSlave.assignment == "serve in the club" || $subSlave.assignment == "serve the public">> - "And my <<if _vaginal>>pu<<ss>>y<<else>>a<<ss>><</if>> i<<s>> <<s>>ore. <<C>>itizen<<s>> <<if _vaginal>>fucked me<<else>>pounded it<</if>> all day." -<<else>> - "I'm tired, and I have to <<if $subSlave.assignment != "choose her own job">>$subSlave.assignment<<else>>work<</if>> tomorrow. I ju<<s>>t want to go to <<s>>leep." -<</if>> -_His2 objections sound a bit feigned, and _he2's obviously in no hurry to put an end to -<<if areRelated($activeSlave, $subSlave)>> - the unmatched perversion of having _his2 own <<= relativeTerm($subSlave, $activeSlave)>> beg _him2 for sex. -<<elseif $activeSlave.ID == $HeadGirlID>> - <<if canHear($subSlave)>>listening to<<else>>having<</if>> the Head Girl beg to be allowed to put $his cock inside _him2. Usually, it's $activeSlave.slaveName giving the orders. -<<elseif $activeSlave.fetishKnown && ($activeSlave.fetish == "dom" || $activeSlave.fetish == "sadist")>> - having a dominant $desc like $activeSlave.slaveName beg _him2 for sex. -<<elseif $activeSlave.face > 40>> - having a <<if $activeSlave.face > 95>>perfect<<else>>really very pretty<</if>> $desc beg _him2 for sex. -<<else>> - having somebody beg _him2 for sex. _He2's a sex slave, and _he2 doesn't always have the luxury of feeling so wanted. -<</if>> -<br><br> -<<run Enunciate($activeSlave)>> -<<set _belly = bellyAdjective($subSlave)>> -The slaves are about to go to bed; they're naked, and the horny $activeSlave.slaveName's <<if $activeSlave.dick > 5>>enormous erection is pointed threateningly<<elseif $activeSlave.dick > 2>>stiff dick is pointed straight<<else>>pathetic dick is pointed right<</if>> at $subSlave.slaveName's _belly midsection. Desperate, $activeSlave.slaveName decides to try praise instead. -<<set _lewd = 0>> -<<if _vaginal && $subSlave.labia > 0>> - "You've got <<s>>uch a beautiful pu<<ss>>y though," $he wheedles. "It'<<s>> gorgeou<<s>>. Tho<<s>>e lip<<s>> look <<s>>o <<s>>oft and inviting!" It's true; $subSlave.slaveName's generous petals are a bit engorged. - <<set _lewd = 1>> -<<elseif _vaginal && $subSlave.vaginaLube > 0>> - "You've got <<s>>uch a naughty pu<<ss>>y though," $he wheedles. "It'<<s>> <<s>>o hot. Look, it'<<s>> all wet and ready!" It's true; $subSlave.slaveName's invariably moist pussy is visibly glistening. - <<set _lewd = 1>> -<<elseif !_vaginal && $subSlave.analArea > 2>> - "You've got <<s>>uch an a<<ss>>pu<<ss>>y though," $he wheedles. "That naughty hole i<<s>> calling to me!" It's true; $subSlave.slaveName's asshole is surrounded by a nice wide area of crinkled skin. _He2 obviously takes it up the butt. - <<set _lewd = 1>> -<<elseif $activeSlave.fetishKnown && $activeSlave.fetish == "pregnancy" && $subSlave.bellyPreg >= 5000>> - "You're <<s>>o hot with that belly," $he wheedles. "It'<<s>> ju<<s>>t <<s>>o big, and round, and, um, out there." $He swallows, getting distracted. -<<elseif $subSlave.face > 95>> - "You're the prettie<<s>>t <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace(SlaveTitle($subSlave))>><<else>>SlaveTitle($subSlave)<</if>> in the whole arcology," $he wheedles. "I can't look at your perfect <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace($subSlave.faceShape)>><<else>>$subSlave.faceShape<</if>> fa<<c>>e and not want to make love to you<<if !_vaginal>>r butt<</if>>!" -<<elseif !_vaginal && $subSlave.butt > 3>> - "You've got <<s>>uch a ni<<c>>e a<<ss>>," $he wheedles. "It'<<s>> ju<<s>>t <<s>>o big, and round, and, um, out there." $He swallows, getting distracted. -<<elseif $subSlave.boobShape == "perky">> - "Your tit<<s>> are incredible," $he wheedles. "<<if $subSlave.boobs > 800>>They're magical. There'<<s>> no other e<<x>>planation for them being <<s>>o huge and <<s>>till perky.<<elseif $subSlave.boobs > 400>>They're <<s>>o perky and perfect.<<else>>They're <<s>>o tiny and cute!<</if>> I want you<<if !_vaginal>>r a<<ss>><</if>> <<s>>o much!" -<<elseif $subSlave.boobShape == "torpedo-shaped">> - "Your torpedoe<<s>> are incredible," $he wheedles. "<<if $subSlave.boobs > 400>>The way they <<s>>way when you move <<sh>>ould be again<<s>>t the rule<<s>>.<<else>>They're <<s>>o tiny and cute!<</if>> I want you<<if !_vaginal>>r a<<ss>><</if>> <<s>>o much!" -<<elseif $subSlave.muscles > 30>> - "You're <<s>>o jacked," $he wheedles. "I ju<<s>>t want to <<if _vaginal>>feel tho<<s>>e huge thigh<<s>> wrap around me a<<s>> I fuck you<<else>>feel that mu<<s>>cular booty fle<<x>> under me a<<s>> I fuck your butt<</if>>!" -<<elseif $subSlave.skill.entertainment > 95>> - "You're <<s>>o beautiful and gra<<c>>eful," $he wheedles. "I love watching you walk. Look at you, ju<<s>>t <<s>>tanding there you're <<s>>o perfectly feminine. I want to make love to you<<if !_vaginal>>r butt<</if>>!" -<<else>> - "You're <<s>>o, um, cute," $he wheedles, trying to come up with something to say. "And you have a, very, er, pretty <<if _vaginal>>vagina<<else>>anu<<s>><</if>>?" - <<set _lewd = 1>> -<</if>> -<br><br> -<<run Enunciate($subSlave)>> -$subSlave.slaveName <<if _lewd>>blushes at the lewd<<else>>smiles at the<</if>> flattery, but after a moment's hesitation _he2 maintains _his2 reluctance. -<<if $activeSlave.rules.release.masturbation == 1>> - "Why don't you ju<<s>>t jerk off," _he2 asks dismissively. "<<S>>eriou<<s>>ly, you're allowed to." -<<else>> - "Go find <<s>>omeone el<<s>>e," _he2 <<say>>s dismissively. "<<if _vaginal>>There are plenty of other pu<<ss>>ie<<s>> around for you to play with.<<else>>I'm <<s>>ure you can find <<s>>ome other _girl2 who wouldn't mind late night anal.<</if>>" -<</if>> -_He2 turns away. -<br><br> -<<run Enunciate($activeSlave)>> -$activeSlave.slaveName is almost in tears. -<<if $activeSlave.rules.release.masturbation == 1>> - "I have," $he moans, blue balled. "<<if $activeSlave.aphrodisiacs > 0 || $activeSlave.inflationType == "aphrodisiac">>It'<<s>> the<<s>>e fucking aphrodi<<s>>iac<<s>>. I can't help it. Plea<<s>>e, plea<<s>>e let me try cumming in<<s>>ide you. I won't be able to <<s>>leep.<<else>>It'<<s>> not the <<s>>ame. I need to <<s>>tick my dick in <<s>>omething <<s>>o bad. Plea<<s>>e.<</if>>" -<<else>> - "But I want you," $he moans, blue balled. - <<if _vaginal>><<set _hole = $subSlave.vagina>><<else>><<set _hole = $subSlave.anus>><</if>> - <<if $activeSlave.dick > 4>> - <<if _hole > 2>> - "I'm t-too big," $he adds sadly, gesturing to $his massive erection. "<<S>>ome of the other girl<<s>> can't take me, and I have to be gentle. Plea<<s>>e, let me u<<s>>e you. I need to fuck <<s>>o bad." - <<else>> - "Your <<if _vaginal>>beautiful cunt<<else>><<s>>phincter<</if>> will make me e<<x>>plode. I haven't gotten to fuck anything today and I need it <<s>>o bad. Plea<<s>>e." - <</if>> - <<elseif $activeSlave.dick > _hole+1>> - "I've been dreaming about your tight <<if _vaginal>>cunt<<else>>a<<ss>><</if>> all day. My dick i<<s>> a perfect fit for it, it'll make me feel <<s>>o good. I want to fuck it <<s>>o bad. Plea<<s>>e." - <<else>> - "I don't <<s>>ee what the problem i<<s>>. I'm really horny. I want to f-fuck <<s>>o bad. Plea<<s>>e, ju<<s>>t let me u<<s>>e you to get off. I need your hole." - <</if>> -<</if>> - <<case "incestuous nursing">> <<set _meal = either("breakfast", "lunch", "dinner")>> @@ -1527,238 +1396,6 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p <</link>> <</if>> -<<case "interslave begging">> - -<<link "Give the poor slave what $he's asking for">> - <<replace "#result">> - <<run Enunciate($subSlave)>> - <<set _belly = bellyAdjective($subSlave)>> - You resolve to give the poor slave what $he's asking for: $subSlave.slaveName<<if !_vaginal>>'s ass<</if>>. Your slaves might have the right to refuse each other, but they have to obey you. You clear your throat, getting both slaves' attention, and then fix your gaze on $subSlave.slaveName. You tilt your head ever so slightly in $activeSlave.slaveName's direction. That's all that's necessary. "Ye<<s>>, <<Master $subSlave>>!" <<say>>s $subSlave.slaveName obediently, and <<if _vaginal>>gets right down at $activeSlave.slaveName's feet, lying on _his2 back, legs spread<<if $subSlave.belly >= 5000>> to either side of _his2 <<if $subSlave.bellyPreg >= 3000>>_belly pregnancy<<else>>_belly rounded belly<</if>><</if>>, compliantly offering up _his2 pussy<<else>>turns _his2 back to $activeSlave.slaveName, bends a little, cocks _his2 hips, and spreads _his2 buttocks, compliantly offering _his2 asspussy<</if>>. _He2's yours to do with as you please, and you've decided to give _him2 to $activeSlave.slaveName, at least for right now. - <br><br> - <<run Enunciate($activeSlave)>> - "Thank you, <<Master>>," <<say>>s $activeSlave.slaveName @@.hotpink;devotedly.@@ - <<if !_vaginal || $subSlave.vaginaLube > 1>>$He lets a gob of $his saliva fall onto $his cockhead, <<if !_vaginal>>out of politeness to $subSlave.slaveName's asshole<<elseif $subSlave.vaginaLube > 0>>out of politeness, since $he knows $subSlave.slaveName might not be really wet for $him<<else>>since $he knows that $subSlave.slaveName has a chronically dry cunt<</if>>.<</if>> - Then $he - <<if _vaginal>> - gets down between $subSlave.slaveName's legs, guiding $himself inside the <<print SlaveTitle($subSlave)>>'s womanhood. $subSlave.slaveName kisses $activeSlave.slaveName on the lips, wordlessly encouraging $him, and the randy <<print SlaveTitle($activeSlave)>> starts fucking _him2 harder, moaning with satisfaction. - <<else>> - turns to $subSlave.slaveName, shoving $his dick up the <<print SlaveTitle($subSlave)>>'s butt. $subSlave.slaveName gasps, wriggles _himself2 into a more comfortable position, and then flexes _his2 ass a little, letting the <<print SlaveTitle($activeSlave)>> whose cock is inside _his2 anus know that $he can go for it. $activeSlave.slaveName does, thrusting happily. - <</if>> - <<set $activeSlave.devotion += 5>> - <<if _vaginal>> - <<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>> - <<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>> - <<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>> - <</if>> - <<else>> - <<run seX($subSlave, "anal", $activeSlave, "penetrative")>> - <<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>> - <<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>> - <</if>> - <</if>> - <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>> - <</replace>> -<</link>> -<<if $subSlave.energy > 40>> - <<if $subSlave.fetishKnown>> - <br><<link "Effect a trade">> - <<replace "#result">> - $subSlave.slaveName has a perfectly healthy libido; there has to be something _he2'd like getting from $activeSlave.slaveName in turn. You clear your throat, getting the slaves' attention, and ask $subSlave.slaveName if there's anything _he2'd like $activeSlave.slaveName to do for _him2 in return for sex. $activeSlave.slaveName is so desperate that $he makes a suggestion before $subSlave.slaveName can open _his2 mouth. Everyone knows $subSlave.slaveName - <<run Enunciate($activeSlave)>> - <<switch $subSlave.fetish>> - <<case "submissive">> - is a shameless submissive and loves to be fucked. $activeSlave.slaveName must know $he's being had, at least a little. "$subSlave.slaveName," $he purrs, "I'll fuck you <<if hasAnyLegs($subSlave)>>until your toe<<s>> curl<<else>><<s>>en<<s>>ele<<ss>><</if>>." - <<case "cumslut">> - loves <<if canTaste($subSlave)>>the taste of<<else>>swallowing<</if>> cum. "I promi<<s>>e to pull out and let you drink my cum, <<s>>traight from my cock," $he purrs. - <<run seX($subSlave, "oral", $activeSlave, "penetrative")>> - <<case "humiliation">> - loves to be humiliated. "Let'<<s>> go down to the dormitory, and I'll <<s>>lide <<if _vaginal>>your pu<<ss>>y<<else>>your butthole<</if>> down on top of my cock right there, in the middle of the doorway, <<s>>o everyone ha<<s>> to <<s>>tep over you a<<s>> you ride my dick." - <<case "buttslut">> - loves anal. - <<if canDoAnal($subSlave)>> - $activeSlave.slaveName - <<if $activeSlave.dick > 3>> - strokes $himself a couple of times, showing off $his <<if $activeSlave.dick > 5>>monstrous penis<<else>>big dick<</if>>. "Come on, don't you want thi<<s>> thing up your a<<ss>>?" $he asks. - <<else>> - gestures to $his <<if $activeSlave.dick > 1>>modest<<else>>pathetic<</if>> penis. "I know it'<<s>> really <<s>>mall," $he <<say>>s. "But I'll u<<s>>e finger<<s>>, too. I'll make <<s>>ure you get off." - <</if>> - <<else>> - "I know you can't take it up your a<<ss>> right now," says $activeSlave.slaveName, "but can't I rim you for a while fir<<s>>t?" - <<run seX($subSlave, "oral", $activeSlave, "penetrative")>> - <</if>> - <<case "boobs">> - <<if $subSlave.lactation>> - loves nothing more than to have _his2 udders lovingly sucked dry. "I'll drain you," <<say>>s $activeSlave.slaveName, sticking $his tongue out to make $his meaning lewdly clear. "I'll nur<<s>>e from you until you come." - <<else>> - can't resist having _his2 breasts pampered. "I'll give you a boob ma<<ss>>age," <<say>>s $activeSlave.slaveName, and puts up $his hand<<if hasBothArms($activeSlave)>>s<</if>>, flexing $his fingers lewdly. "A really good one. I'll be thorough!" - <</if>> - <<case "pregnancy">> - loves to be inseminated, - <<if $subSlave.pregKnown == 1>> - even though _he2's already pregnant. "Come on, you know you want my <<s>>emen," <<say>>s $activeSlave.slaveName, idly toying with the precum gathering at $his tip. "<<if _vaginal>>I'll do my be<<s>>t to <<sh>>oot it all the way up into your womb. I might even make you pregnant twi<<c>>e, I'll cum in you <<s>>o hard<<else>>I'll fill your a<<ss>> up<</if>>." - <<set $subSlave.lactationDuration = 2>> - <<set $subSlave.boobs -= $subSlave.boobsMilk, $subSlave.boobsMilk = 0>> - <<else>> - regardless of whether _he2 can actually get pregnant <<if _vaginal>>right this second<<else>>in _his2 anus<</if>>. "Come on, you know you want my <<s>>emen," <<say>>s $activeSlave.slaveName, idly toying with the precum gathering at $his tip. "I'll fill you up." - <</if>> - <<case "dom">> - prefers to be on top. "Of cour<<s>>e you can fuck me too," $activeSlave.slaveName hurries to add. - <<if canDoVaginal($activeSlave)>> - $He reaches down and spreads $his<<if $subSlave.labia > 0>> ample<</if>> labia, showing off $his pink channel. - <<elseif canDoAnal($activeSlave)>> - $He spins, cocks $his hips, spreads $his asscheeks, and winks $his anus invitingly. - <<else>> - $He gets right down on $his knees and uses $his hands to spread $his lips as wide as they'll go. "'ou can 'a<<c>>e 'uck me," $he intones with difficulty. - <</if>> - "You can go fir<<s>>t! <<if canAchieveErection($subSlave)>>Get your cock out<<else>>Grab a <<s>>trap-on<</if>>, let'<<s>> trade hole<<s>>!" - <<case "sadist">> - is a sexual sadist. $activeSlave.slaveName swallows nervously, visibly weighing whether $he wants to offer what $he'll need to offer, and then takes the plunge. "You can hurt me," $he says in a small voice. - <<case "masochist">> - is a slut for pain. "I'll hurt you," <<say>>s $activeSlave.slaveName hesitantly. Seeing that this is well received, $he plunges on. "I'll rape you. Come on, I'm going to pound you <<s>>o hard and twi<<s>>t your nipple<<s>> until you don't know what hurt<<s>> wor<<s>>t, your tit<<s>> or your <<if _vaginal>>cunt<<else>>butthole<</if>>." - <<default>> - is pretty vanilla in bed. "Come on," <<say>>s $activeSlave.slaveName reassuringly. "You'll come more than I do, I promi<<s>>e. Fir<<s>>t I'll <<if $subSlave.dick > 0>>blow you<<else>>eat you out<</if>>. Then we'll make love. <<if $activeSlave.dick > 2>>Thi<<s>> dick will make you <<sh>>udder<<else>>I'm kind of <<s>>mall down there, but I'll u<<s>>e my hand<<s>> too<</if>>." - <<run seX($subSlave, "oral", $activeSlave, "oral")>> - <</switch>> - <br><br> - <<run Enunciate($subSlave)>> - $subSlave.slaveName is a seasoned sex slave but that doesn't stop _him2 from blushing a little at such a blunt suggestion. "Okay," _he2 says, biting _his2 <<if $activeSlave.lips > 40>>absurdly generous<<elseif $activeSlave.lips > 10>>full<<else>>thin<</if>> lower lip cutely. "I wa<<s>> actually going to <<s>>ay ye<<s>> anyway, but it'<<s>> really ni<<c>>e to have <<s>>omeone like you a<<s>>k me for it like that. I'm <<s>>orry I made you beg." - <br><br> - <<run Enunciate($activeSlave)>> - "Don't care!" <<say>>s $activeSlave.slaveName exultantly, and grabs $his conquest, planting a lusty kiss on $subSlave.slaveName's giggling mouth and <<if _vaginal>>rubbing $his erection against $subSlave.slaveName's<<if $subSlave.labia > 0>> puffy<</if>> pussylips<<else>>reaching around $subSlave.slaveName to start teasing _his2 asshole<</if>>. "Don't care, a<<s>> long a<<s>> I get to fuck your <<if _vaginal>>hot cunt<<else>>beautiful a<<ss>><</if>>!" Your work here is done, and once $he's done blowing $his load inside $subSlave.slaveName<<if !_vaginal>>'s anus<</if>>, $activeSlave.slaveName should remember to be @@.mediumaquamarine;grateful@@ to you for the reminder on how to seduce - <<switch $subSlave.fetish>> - <<case "submissive">>coquettish subs. - <<case "cumslut">>tired cumsluts. - <<case "humiliation">>reluctant exhibitionists. - <<case "buttslut">>tired anal whores. - <<case "boobs">>coquettish mammary sluts. - <<case "pregnancy">>reluctant pregsluts. - <<case "dom">>tired doms. - <<case "sadist">>tired sadists. - <<case "masochist">>silly masochists. - <<default>>vanilla <<print _girl2>>s. - <</switch>> - <<set $activeSlave.trust += 5>> - <<if _vaginal>> - <<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>> - <<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>> - <<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>> - <</if>> - <<else>> - <<run seX($subSlave, "anal", $activeSlave, "penetrative")>> - <<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>> - <<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>> - <</if>> - <</if>> - <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>> - <</replace>> - <</link>> - <</if>> -<</if>> -<br><<link "Assert your dominance">> - <<replace "#result">> - <<run Enunciate($activeSlave)>> - <<set _belly = bellyAdjective($activeSlave)>> - You brush past $activeSlave.slaveName without a word. "Um, <<Master>>," $he starts to greet you, and then loses track of the greeting as $he <<if canSee($activeSlave)>>sees<<else>>notices<</if>> what you're doing. You stride forward, grab $subSlave.slaveName by _his2 - <<if $subSlave.hips > 1>> - door-jamming hips - <<elseif $subSlave.belly >= 100000>> - expansive middle - <<elseif $subSlave.butt > 12>> - gloriously immense ass - <<elseif $subSlave.hips > 1>> - gloriously broad hips - <<elseif $subSlave.butt > 8>> - monstrous ass - <<elseif $subSlave.hips > 0>> - womanly hips - <<elseif $subSlave.bellyPreg >= 5000>> - gravid middle - <<elseif $subSlave.belly >= 5000>> - rounded middle - <<elseif $subSlave.weight > 95>> - fat middle - <<elseif $subSlave.butt > 5>> - huge ass - <<elseif $subSlave.weight > 30>> - chubby middle - <<elseif $subSlave.weight > 10>> - plush middle - <<else>> - hips - <</if>> - and set _him2 on the nearest convenient waist-high object. Then you <<if _vaginal>>pound _his2 pussy<<else>>fuck _his2 butt<</if>>. - <br><br> - Poor $activeSlave.slaveName can do nothing but stand there and watch. You haven't dismissed $him, so $he's forced to helplessly spectate as you do exactly what $he so desperately wants to do. You can't see $his face, but you don't have to. $subSlave.slaveName - <<if _vaginal>> - <<if $subSlave.vagina == 1>>has a tight pussy, and<<elseif $subSlave.vagina == 2>>isn't tight, but<<else>>has a loose pussy, but<</if>> - <<else>> - <<if $subSlave.anus == 1>>has a tight little ass, and<<elseif $subSlave.anus == 2>>is no anal virgin, but<<else>>has a very experienced asshole, but<</if>> - <</if>> - <<if $PC.dick>>you have a big dick<<else>>you use a formidable strap-on<</if>> and are ramming it into $subSlave.slaveName's fuckhole industriously. _He2 moans and writhes, being a good sex slave with your <<if $PC.dick>>hard shaft<<else>>instrument<</if>> sliding in and out of _him2, in and out of _him2. You plunder _him2 without restraint, bending to plant dominant kisses on _him2 panting mouth while you fuck _him2, and then straightening up again to grab and maul _his2 <<if $subSlave.boobsImplant > 0>>fake tits<<else>>$subSlave.boobShape boobs<</if>> with both hands. <<if $PC.dick>>When you're through, you thrust deep inside, blasting _his2 <<if _vaginal>>cervix<<else>>bowels<</if>> with a hot torrent of your semen<<if $PC.balls >= 30>> until _his2 belly begins to visibly swell from your load<<elseif $PC.balls >= 14>>, thoroughly filling _him2 with your massive load<</if>>.<<else>>Finally you orgasm, thrusting yourself hard against your strap-on harness, driving it as far inside your fucktoy as it'll go and holding it there as you shudder with climax.<</if>> Then you pull out and shove the @@.hotpink;dominated,@@ sweaty, fucked-out<<if $PC.dick>>, cum-dripping<</if>> $subSlave.slaveName towards the showers, giving _him2 a swat on the butt when _he2's slow to get moving. Then you turn to $activeSlave.slaveName. - <br><br> - $He's painfully aroused, of course. $He just got to watch a <<if $PC.title>>handsome guy fuck a<<else>>hot _girlP fuck another<</if>> hot _girl2<<if !_vaginal>>'s ass<</if>>, right in front of $him. And this while already laboring under a severe case of blue balls. "<<Master>>," $he <<say>>s nonspecifically. $He knows you did that in front of $him for $his benefit, at least partly, and $he wouldn't know what to make of it or how to respond, even if $he were in possession of $his faculties. Which $he isn't. All $his blood is very obviously located in <<if $activeSlave.vagina > -1>>$his lovely futanari hard-on<<else>>$his desperately erect penis<</if>>. You point to where $subSlave.slaveName just got fucked, and announce that $activeSlave.slaveName can get off if $he wants, but not by fucking $subSlave.slaveName. $He gets to come with <<if $PC.dick>>your cock<<else>>a strap-on<</if>> <<if canDoVaginal($activeSlave)>>fucking $him<<else>>up $his ass<</if>>. - <br><br> - $activeSlave.slaveName is familiar with your libido, but even so, $he's impressed. $He's also in dire need of relief, and at this point, $he's so horny that the prospect of any sex is attractive, even if it isn't the kind of sex $he was originally planning. So $he hops up eagerly enough and opens $his legs for you, $his erect member <<if $activeSlave.belly >= 10000>>uncomfortably trapped by $his <<if $activeSlave.bellyPreg >= 8000>>_belly pregnancy<<else>>_belly belly<</if>><<else>>sticking out forgotten<</if>> as $he <<if canDoVaginal($activeSlave)>>spreads $his pussy<<else>>offers you $his asshole<</if>>. You fuck it, even more roughly than you fucked $subSlave.slaveName's <<if _vaginal>>cunt<<else>>anus<</if>>, and since you've just climaxed recently, it's a while before you orgasm again. $activeSlave.slaveName cums long before you, spattering $himself messily, moaning "Oh, <<Master>>, ye<<s>>, oh fuck ye<<s>>, my <<if _vaginal>>pu<<ss>>y, my fucking pu<<ss>>y<<else>>a<<ss>>, my fucking a<<ss>>hole<</if>>" so @@.hotpink;whorishly@@ that there's no indication $he was ever even considering fucking anyone. - <<set $activeSlave.devotion += 3>> - <<if canDoVaginal($activeSlave)>> - <<run seX($activeSlave, "vaginal", $PC, "penetrative")>> - <<if canImpreg($activeSlave, $PC)>> - <<= knockMeUp($activeSlave, 5, 0, -1, 1)>> - <</if>> - <<else>> - <<run seX($activeSlave, "anal", $PC, "penetrative")>> - <<if canImpreg($activeSlave, $PC)>> - <<= knockMeUp($activeSlave, 5, 1, -1, 1)>> - <</if>> - <</if>> - <<if _vaginal>> - <<set $subSlave.devotion += 3>> - <<run seX($subSlave, "vaginal", $PC, "penetrative")>> - <<if canImpreg($subSlave, $PC)>> - <<= knockMeUp($subSlave, 15, 0, -1, 1)>> - <</if>> - <<else>> - <<set $subSlave.devotion += 3>> - <<run seX($subSlave, "vaginal", $PC, "penetrative")>> - <<if canImpreg($subSlave, $PC)>> - <<= knockMeUp($subSlave, 15, 1, -1, 1)>> - <</if>> - <</if>> - <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>> - <</replace>> -<</link>> -<br><<link "Rescind the rule against rape">> - <<replace "#result">> - <<set $universalRulesConsent = 0>> - <<set _belly = bellyAdjective($subSlave)>> - You clear your throat for the slaves' attention and verbally order $assistant.name to rescind the penthouse rule against interslave rape. _HisA avatar pops up nearby and confirms the rules change. <<if $assistant>>"Done," _heA says. "And I approve. Poor <<= $girl>>s like $activeSlave.slaveName should be able to take what they need."<<else>>"Done," _heA says.<</if>> - <br><br> - You give no explicit command to the pair of slaves in front of you, but they understand you perfectly. $subSlave.slaveName pales; <<if $subSlave.fetishKnown && $subSlave.fetish == "submissive">>_he2 likes getting fucked, but having someone ordered to rape _him2 is a bit much<<elseif $subSlave.fetishKnown && $subSlave.fetish == "masochist">>_he2 likes being hurt, but having the flirty interchange converted instantly into a situation in which _he2 has no control at all kills _his2 mood<<else>>_he2 wasn't seriously adverse to having sex, but being laid open to rape isn't _his2 idea of a good time<</if>>. $activeSlave.slaveName, meanwhile, looks <<if $subSlave.fetishKnown && $subSlave.fetish == "dom">>rather pleased. $He likes being on top enough that $he's willing to use force if necessary<<elseif $subSlave.fetishKnown && $subSlave.fetish == "sadist">>positively predatory. The sadistic bitch actually prefers it this way<<else>>rather conflicted. $He's obviously relieved $he'll be getting relief, but obviously has some mixed feelings about using force to get what $he wants<</if>>. - <br><br> - <<if $activeSlave.fetishKnown && ($activeSlave.fetish == "dom" || $activeSlave.fetish == "sadist")>> - $subSlave.slaveName tries to get down <<if _vaginal>>on the floor and offer _his2 pussy<<else>>down on _his2 knees and offer _his2 asspussy<</if>> without resistance, but $activeSlave.slaveName has other ideas, and shoves the poor slave down hard. $subSlave.slaveName's <<if _vaginal>>butt hits the floor with a smack<<else>>knees hit the floor painfully<</if>> and _he2 moans unhappily as $activeSlave.slaveName penetrates _him2. - <<else>> - $activeSlave.slaveName clears $his throat uncomfortably, not really sure what to do, and obviously reluctant to grab $subSlave.slaveName and rape $him. $subSlave.slaveName resolves $his dilemma for $him, and <<if _vaginal>>gets down on the ground, spreading _his2 legs<<if $subSlave.belly >= 5000>> to either side of _his2 <<if $subSlave.bellyPreg >= 3000>>_belly pregnancy<<else>>_belly rounded belly<</if>><</if>> and offering _his2 pussy<<else>>gets down on _his2 knees, arching _his2 back and presenting _his2 asspussy<</if>> without resistance. Relieved, $activeSlave.slaveName gets <<if _vaginal>>on top of _him2<<else>>behind _him2<</if>> and starts to fuck. - <</if>> - "Thank<<s>>, <<Master>>," pants $activeSlave.slaveName as $he humps away. "I'm @@.mediumaquamarine;looking forward@@ to being able to do thi<<s>> whenever I want." $subSlave.slaveName gasps, from <<if _vaginal>>down under $activeSlave.slaveName<<else>>where $activeSlave.slaveName has _his2 face ground against the floor<</if>>. Apparently, _he2 hadn't realized that this wasn't a one-time thing, and is @@.gold;none too pleased@@ by having to give $activeSlave.slaveName _his2 <<if _vaginal>>pussy<<else>>ass<</if>> whenever $he wants it. - <<set $activeSlave.trust += 3>> - <<if _vaginal>> - <<set $subSlave.trust -= 3>> - <<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>> - <<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>> - <<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>> - <</if>> - <<else>> - <<set $subSlave.trust -= 3>> - <<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>> - <<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>> - <<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>> - <</if>> - <</if>> - <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>> - <</replace>> -<</link>> // This option WILL rescind the universal rule against interslave rape. // - <<case "incestuous nursing">> <<link "That looks delicious">> diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw index 3f553925ef5ba324ca16ea016518578689af1813..6b6a36f74d42ebc951a2ddb2907e4da15e7ef732 100644 --- a/src/uncategorized/randomIndividualEvent.tw +++ b/src/uncategorized/randomIndividualEvent.tw @@ -28,7 +28,7 @@ /* SUB CHECKS */ - <<set $REAnalCowgirlSubIDs = [], $RETasteTestSubIDs = [], $REInterslaveBeggingIDs = [], $RECockmilkInterceptionIDs = [], $REShowerForceSubIDs = [], $REIfYouEnjoyItSubIDs = [], $REBoobCollisionSubIDs = [], $RERepressedAnalVirginSubIDs = []>> + <<set $REAnalCowgirlSubIDs = [], $RETasteTestSubIDs = [], $RECockmilkInterceptionIDs = [], $REShowerForceSubIDs = [], $REIfYouEnjoyItSubIDs = [], $REBoobCollisionSubIDs = [], $RERepressedAnalVirginSubIDs = []>> <<for $i = 0; $i < $slaves.length; $i++>> <<if $slaves[$i].fetish != "mindbroken">> @@ -46,13 +46,6 @@ <<if $slaves[$i].boobs > 3000>> <<set $REBoobCollisionSubIDs.push($slaves[$i].ID)>> <</if>> - <<if $slaves[$i].rules.release.slaves === 1>> - <<if $slaves[$i].energy > 40>> - <<if canDoVaginal($slaves[$i]) || canDoAnal($slaves[$i])>> - <<set $REInterslaveBeggingIDs.push($slaves[$i].ID)>> - <</if>> - <</if>> - <</if>> <</if>> <<if $slaves[$i].devotion >= -20>> <<if $slaves[$i].devotion <= 60>>