Skip to content
Snippets Groups Projects
Commit 2b9c69e1 authored by Pregmodder's avatar Pregmodder
Browse files

Cleaning reFucktoyPrefersRelative.js

parent 812455a6
No related branches found
No related tags found
No related merge requests found
...@@ -11,15 +11,19 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -11,15 +11,19 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
s => s.fetish !== "mindbroken", s => s.fetish !== "mindbroken",
s => s.devotion > 20, s => s.devotion > 20,
s => s.relationship > -2, // ebonded and lower always prefer PC s => s.relationship > -2, // ebonded and lower always prefer PC
s => s.trust < 95, // perfectly trusting prefer PC s => s.devotion < 95, // perfectly devoted prefer PC
s => [Job.CONCUBINE, Job.MASTERSUITE, Job.FUCKTOY].includes(s.assignment), // is assigned to fuck you s => [Job.CONCUBINE, Job.MASTERSUITE, Job.FUCKTOY].includes(s.assignment), // is assigned to fuck you
s => !["either", V.PC.genes].includes(RETSFucktoyPrefersRelative.preferredSex(s)), // but swings the other way s => !["either", V.PC.genes].includes(RETSFucktoyPrefersRelative.preferredSex(s)), // but swings the other way
s => s.energy > 40, // scene assumes horniness...professionals might feel the same way, but you'd never know s => s.energy > 40, // scene assumes horniness...professionals might feel the same way, but you'd never know
canSee,
canHear
], ],
[ // and a relative that they prefer over you [ // and a relative that they prefer over you
s => s.fetish !== "mindbroken", s => s.fetish !== "mindbroken",
s => s.genes === RETSFucktoyPrefersRelative.preferredSex(getSlave(this.actors[0])), s => s.genes === RETSFucktoyPrefersRelative.preferredSex(getSlave(this.actors[0])),
s => areRelated(s, getSlave(this.actors[0])), s => areRelated(s, getSlave(this.actors[0])),
s => this.actors[0].rivalTarget !== s.ID,
s => (canWalk(s) || (canMove(s) && s.rules.mobility === "permissive")),
isSlaveAvailable isSlaveAvailable
] ]
]; ];
...@@ -64,11 +68,11 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -64,11 +68,11 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
} }
let t = []; let t = [];
t.push(`You're enjoying`, contextualIntro(V.PC, fucktoy, "DOM"), `one evening in your office when`, contextualIntro(fucktoy, relative, "DOM"), `passes by stark naked (probably on ${his2} way to or from the shower). The glass walls of your office are designed to let you, and by extension everyone else inside, clearly see everything that happens in the rest of the Penthouse, and the comings and goings of all your slaves.`); t.push(`You're enjoying`, contextualIntro(V.PC, fucktoy, "DOM"), `one evening in your office when`, contextualIntro(fucktoy, relative, "DOM"), `passes by stark naked (probably on ${his2} way to or from the shower). The glass walls of your office are designed to let you, and by extension everyone else inside, clearly see everything that happens in the rest of the Penthouse, as well as the comings and goings of all your slaves.`);
App.Events.addParagraph(node, t); App.Events.addParagraph(node, t);
t = []; t = [];
t.push(`In this case, that means ${fucktoy.slaveName} gets an eyeful of ${relative.slaveName} as ${he2} walks by. ${He} is a well-disciplined slave and ${his} reaction might have passed unnoticed if you weren't`); t.push(`In this case, that means ${fucktoy.slaveName} gets an eyeful of ${relative.slaveName} as ${he2} passes by. ${He} is a well-disciplined slave and ${his} reaction might have passed unnoticed if you weren't`);
switch (fuckhole) { switch (fuckhole) {
case "pussy": case "pussy":
if (V.PC.dick > 0) { if (V.PC.dick > 0) {
...@@ -93,16 +97,20 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -93,16 +97,20 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
break; break;
case "boobs": case "boobs":
if (V.PC.dick > 0) { if (V.PC.dick > 0) {
t.push(`receiving a boobjob from ${him}. ${His} motions waver and ${he} gasps aloud as ${he} cums hard.`); t.push(`receiving a ${fucktoy.boobs > 300 ? "boobjob" : "naizuri"} from ${him}. ${His} motions waver and ${he} gasps aloud as ${he} cums hard.`);
} else { } else if (fucktoy.boobs > 300) {
t.push(`groping ${his} boobs. ${He} gasps and twitches, cumming hard.`); t.push(`groping ${his} boobs. ${He} gasps and twitches, cumming hard.`);
} else {
t.push(`teasing ${his} flat chest. ${He} gasps and twitches, cumming hard.`);
} }
break; break;
case "dick": case "dick":
t.push(`riding ${him}. ${He} groans as ${he} unexpectedly cums hard, filling you up.`); t.push(`riding ${him}. ${He} groans as ${he} unexpectedly cums hard, filling you up.`);
if (canImpreg(V.PC, fucktoy)) { if (V.PC.vagina > 0) {
t.push(`You wonder briefly if ${he} might have just gotten you pregnant.`); if (canImpreg(V.PC, fucktoy)) {
knockMeUp(V.PC, 5, 2, fucktoy.ID); t.push(`You wonder briefly if ${he} might have just gotten you pregnant.`);
knockMeUp(V.PC, 5, 0, fucktoy.ID);
}
} }
break; break;
default: default:
...@@ -113,8 +121,10 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -113,8 +121,10 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
t = []; t = [];
t.push(`You decide to test your fucktoy, and ask ${him} directly whether ${he} was turned on by ${his} ${relativeTerm(fucktoy, relative)} ${relative.slaveName}.`); t.push(`You decide to test your fucktoy, and ask ${him} directly whether ${he} was turned on by ${his} ${relativeTerm(fucktoy, relative)} ${relative.slaveName}.`);
if (fucktoy.trust < 0) { // illusion of choice...he'll always tell you, just for a different reason if (fucktoy.trust <= 20) { // illusion of choice...he'll always tell you, just for a different reason
t.push(`${He} knows better than to lie to you, and replies, terrified, that ${he} was.`); t.push(`${He} knows better than to lie to you, and replies, terrified, that ${he} was.`);
} else if (fucktoy.devotion < -20) {
t.push(`${He} defiantly replies that ${he} was.`);
} else { } else {
t.push(`${He} trusts you enough to tell you the truth without reservation, and replies that ${he} was.`); t.push(`${He} trusts you enough to tell you the truth without reservation, and replies that ${he} was.`);
} }
...@@ -122,13 +132,17 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -122,13 +132,17 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
t = []; t = [];
t.push(`Pushing further, you ask ${him} what turns ${him} on so much about ${relative.slaveName} that ${he}'d cum from looking at ${him2} but not from looking at you.`); t.push(`Pushing further, you ask ${him} what turns ${him} on so much about ${relative.slaveName} that ${he}'d cum from looking at ${him2} but not from looking at you.`);
t.push(`Knowing that it's a potentially dangerous answer, but unwilling to lie to you, ${he} responds`); if (fucktoy.devotion < -20 && fucktoy.trust > 20) {
if (!canTalk(fucktoy)) { t.push(`${He} starts with some drivel about how much ${he} loves ${his} ${relativeTerm(fucktoy, relative)}, but ends with a snide remark about how`);
t.push(`with nervous gestures, indicating that`);
} else { } else {
t.push(`nervously that`); t.push(`Knowing that it's a potentially dangerous answer, but unwilling to lie to you, ${he} responds`);
if (!canTalk(fucktoy)) {
t.push(`with nervous gestures, indicating that`);
} else {
t.push(`nervously that`);
}
t.push(`${he} loves ${his} ${relativeTerm(fucktoy, relative)}, and besides,`);
} }
t.push(`${he} loves ${his} ${relativeTerm(fucktoy, relative)}, and besides,`);
if (RETSFucktoyPrefersRelative.preferredSex(fucktoy) === "XX") { // likes women if (RETSFucktoyPrefersRelative.preferredSex(fucktoy) === "XX") { // likes women
if (relative.vagina > -1 && V.PC.vagina === -1) { if (relative.vagina > -1 && V.PC.vagina === -1) {
t.push(`${he2} has a pretty pussy, and you don't.`); t.push(`${he2} has a pretty pussy, and you don't.`);
...@@ -136,6 +150,8 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -136,6 +150,8 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
t.push(`${he2} has great tits, and you don't.`); t.push(`${he2} has great tits, and you don't.`);
} else if (relative.boobs > V.PC.boobs * 1.2) { } else if (relative.boobs > V.PC.boobs * 1.2) {
t.push(`${he2} has way bigger tits than you do.`); t.push(`${he2} has way bigger tits than you do.`);
} else if (V.PC.title === 0) { // gender overhaul
t.push(`${he2}'s a woman, while you just look like one.`);
} else { } else {
t.push(`${he2}'s a woman, and you aren't.`); // meh t.push(`${he2}'s a woman, and you aren't.`); // meh
} }
...@@ -148,8 +164,10 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -148,8 +164,10 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
} }
} else if (relative.balls > 0 && V.PC.balls === 0) { } else if (relative.balls > 0 && V.PC.balls === 0) {
t.push(`${he2} has balls, and you don't.`); t.push(`${he2} has balls, and you don't.`);
} else if (relative.boobs === 0 && V.PC.boobs >= 300) { } else if (relative.boobs === 0 && (V.PC.boobs >= 300 || V.PC.title === 0)) {
t.push(`${he2} has a manly, muscular chest.`); t.push(`${he2} has a manly, muscular chest.`);
} else if (V.PC.title === 1) { // gender overhaul
t.push(`${he2}'s a man, while you just look like one.`);
} else { } else {
t.push(`${he2}'s a man, and you aren't.`); // meh t.push(`${he2}'s a man, and you aren't.`); // meh
} }
...@@ -157,11 +175,11 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -157,11 +175,11 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
App.Events.addParagraph(node, t); App.Events.addParagraph(node, t);
t = []; t = [];
t.push(`You consider this for a moment...it's objectively a true difference between you and ${relative.slaveName}, and that reason lines up with what you ${fucktoy.attrKnown ? "know" : "have guessed"} about ${his} sexuality already.`); t.push(`You consider this for a moment... it's objectively a true difference between you and ${relative.slaveName}, and that reason lines up with what you ${fucktoy.attrKnown ? "know" : "have guessed"} about ${his} sexuality already.`);
if (App.Utils.sexAllowed(fucktoy, relative)) { if (App.Utils.sexAllowed(fucktoy, relative)) {
t.push(`In fact, you're pretty sure you've seen the two of them specifically going at it fairly vigorously before.`); t.push(`In fact, you're pretty sure you've seen the two of them specifically going at it fairly vigorously before.`);
} }
t.push(`${His} higher attraction to ${women2} isn't necessarily a problem...${he}'s been plenty attentive to your sexual needs even if ${he}'s not necessarily turned on by your body...but at the same time, you could probably do something about it if you wanted.`); t.push(`${His} higher attraction to ${women2} isn't necessarily a problem... ${he}'s been plenty attentive to your sexual needs even if ${he}'s not necessarily turned on by your body... but at the same time, you could probably do something about it if you wanted.`);
fucktoy.attrKnown = 1; // now you know fucktoy.attrKnown = 1; // now you know
App.Events.addParagraph(node, t); App.Events.addParagraph(node, t);
...@@ -218,9 +236,15 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -218,9 +236,15 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
fucktoy.attrXX += 15; fucktoy.attrXX += 15;
fucktoy.attrXY -= 10; fucktoy.attrXY -= 10;
} }
t.push(`${fucktoy.slaveName} is <span class="trust dec">apprehensive</span> of conditioning but <span class="devotion inc">thankful</span> that you're willing to help ${him} this way.`); t.push(`${fucktoy.slaveName} is <span class="trust dec">apprehensive</span> of conditioning`);
if (fucktoy.devotion < -20) {
t.push(`and <span class="devotion dec">none too thrilled</span> that you're willing to twist ${his} tastes this way.`);
fucktoy.devotion -= 1;
} else {
t.push(`but <span class="devotion inc">thankful</span> that you're willing to help ${him} this way.`);
fucktoy.devotion += 1;
}
fucktoy.trust -= 1; fucktoy.trust -= 1;
fucktoy.devotion += 1;
return t; return t;
} }
...@@ -229,7 +253,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -229,7 +253,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
const enjoysIncest = s => s.sexualQuirk === "perverted" || s.sexualQuirk === "sinful"; const enjoysIncest = s => s.sexualQuirk === "perverted" || s.sexualQuirk === "sinful";
t = []; t = [];
t.push(`You're not done with ${fucktoy.slaveName} yet, but what good is maintaining a stable of sex slaves, if you don't have a threesome every now and then? You have your assistant call ${relative.slaveName} back to your office. ${He2} arrives in just a couple of seconds, finding ${fucktoy.slaveName} blushing with embarrassment. You inform ${him2} that you'll be using ${him2} with ${fucktoy.slaveName}.`); t.push(`You're not done with ${fucktoy.slaveName} yet, but what good is maintaining a stable of sex slaves if you don't have a threesome every now and then? You have your assistant call ${relative.slaveName} back to your office. ${He2} arrives in just a couple of seconds, finding ${fucktoy.slaveName} blushing with embarrassment. You inform ${him2} that you'll be using ${him2} with ${fucktoy.slaveName}.`);
if (enjoysIncest(relative) || relative.relationshipTarget === fucktoy.ID) { if (enjoysIncest(relative) || relative.relationshipTarget === fucktoy.ID) {
t.push(`${He2} grins, clearly aroused at the thought, and comes around the desk towards the two of you.`); t.push(`${He2} grins, clearly aroused at the thought, and comes around the desk towards the two of you.`);
} else if (relative.devotion > 50) { } else if (relative.devotion > 50) {
...@@ -278,7 +302,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends ...@@ -278,7 +302,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
t.push(`You lay back on your couch ${V.PC.dick < 1 ? `with your strap-on attached ` : ``}and have ${onDick.slaveName} climb onto you, facing you while ${heD} rides.`); t.push(`You lay back on your couch ${V.PC.dick < 1 ? `with your strap-on attached ` : ``}and have ${onDick.slaveName} climb onto you, facing you while ${heD} rides.`);
t.push(VCheck.Simple(onDick, 1)); t.push(VCheck.Simple(onDick, 1));
t.push(`Meanwhile, you signal to ${onMouth.slaveName} that you want to taste ${himM}, and ${heM} straddles your face, facing ${hisM} ${relativeTerm(onMouth, onDick)}.`); t.push(`Meanwhile, you signal to ${onMouth.slaveName} that you want to taste ${himM}, and ${heM} straddles your face, facing ${hisM} ${relativeTerm(onMouth, onDick)}.`);
t.push(`Naturally, ${fucktoy.slaveName} starts a makeout session while ${he} and ${relative.slaveName} ride you. It doesn't take long for moans to turn to screams.`); t.push(`Naturally, ${fucktoy.slaveName} starts a makeout session while ${he} and ${relative.slaveName} ride you. It doesn't take long for moans to turn to screams.`);
App.Events.addParagraph(frag, t); App.Events.addParagraph(frag, t);
} else { } else {
/* FFS, really? You have two sex slaves here, one of whom is your *personal fucktoy*, and neither can do anything but oral? Fine, have an oral triangle. */ /* FFS, really? You have two sex slaves here, one of whom is your *personal fucktoy*, and neither can do anything but oral? Fine, have an oral triangle. */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment