code:
App.Events.RENoEvent = class RENoEvent extends App.Events.BaseEvent {
	eventPrerequisites() {
		return [];
	}

	actorPrerequisites() {
		return [[]];
	}

	execute(node) {
		const slave = getSlave(this.actors[0]);
		const {he} = getPronouns(slave);

		App.Events.drawEventArt(node, slave);

		App.Events.addParagraph(node, [`This is a placeholder event.`]);
		App.Events.addParagraph(node, [App.UI.DOM.slaveDescriptionDialog(slave), `does not currently qualify for any events, so ${he} has been given a generic <span class="devotion inc">devotion</span> and <span class="trust inc">trust</span> boost.`]);

		slave.trust += 2;
		slave.devotion += 2;
	}
};


code:
App.Events.REPokerNight = class REPokerNight extends App.Events.BaseEvent {
	eventPrerequisites() {
		return [
			() => V.mercenaries > 0
		];
	}

	execute(node) {
		let r = [];
		const buyIn = 5000;
		const {
			HeA
		} = getPronouns(assistant.pronouns().main).appendSuffix("A");

		r.push(`Despite their persistent presence in your arcology, interaction with your mercenaries is relatively scarce. Aside from mutually exchanged nods on the street and the occasional briefing, your ${V.mercenariesTitle} enjoy a degree of autonomy.`);

		App.Events.addParagraph(node, r);
		r = [];

		r.push(`On a particularly lackadaisical evening, you find yourself alerted to a message alert by ${V.assistant.name}.`);
		if (V.assistant.personality > 0) {
			r.push(`"${properMaster()}, a message from your ${V.mercenariesTitle}." ${HeA} pauses before continuing. "It seems they're asking if you'd like to join their poker night."`);
		} else {
			r.push(`${HeA} informs you that the ${V.mercenariesTitle} have sent a message asking you to join them at their poker night.`);
		}

		App.Events.addParagraph(node, r);

		const choices = [];
		choices.push(new App.Events.Result(`Politely decline`, decline));
		if (V.cash < buyIn) {
			choices.push(new App.Events.Result(null, null, "You lack the necessary funds to attend a high stakes poker game."));
		} else {
			choices.push(new App.Events.Result(`Attend the poker night`, attend, `It will cost ${cashFormat(buyIn)} to participate in the poker night.`));
		}
		App.Events.addResponses(node, choices);

		function decline() {
			return `You inform ${V.assistant.name} that you aren't planning to attend. A short while later, you receive a message from the ${V.mercenariesTitle} stating that the invitation is an open one and that you're welcome to join in another night.`;
		}

		function attend() {
			const frag = new DocumentFragment();
			let r = [];
			r.push(`You instruct ${V.assistant.name} to inform your ${V.mercenariesTitle} that you will be attending their poker night, and after settling your affairs in the penthouse you head down to the barracks. Unsurprisingly the atmosphere in the barracks is casual, especially in comparison to the high stakes games commonplace in arcology high society, though your mercenaries still maintain some measure of decorum towards you as their employer. Eventually, you settle in at the table with a handful of ${V.mercenariesTitle} officers and cash in your ${cashFormat(buyIn)} into chips. All that remains is to decide your strategy for the night.`);
			App.Events.addParagraph(frag, r);

			App.Events.addResponses(frag, [
				new App.Events.Result(`Play it safe`, safe),
				new App.Events.Result(`Up the ante`, ante)
			]);
			return frag;

			function safe() {
				const frag = new DocumentFragment();
				let r = [];
				if (random(1, 100) > 50) {
					r.push(`Despite your attempts to mitigate risk and play the safest hands possible, it seems lady luck has conspired against you this evening. However, even when your last chip is spent, your mercenaries pitch you a few chips to keep you in the game for the rest of the night. You may have lost most of your ¤, but it seems you've made some friends.`);
					repX(5000, "event");
					cashX(-2500, "event");
				} else {
					r.push(`While a careful eye for risk has buoyed you through the evening, ultimately lady luck is the decider in handing you the win in a number of close hands. Unfortunately your meticulous play limited your chance at a larger payout, and you only come away from the evening with ${cashFormat(1000)} more than you arrived with and the respect of your mercenaries.`);
					repX(500, "event");
					cashX(1000, "event");
				}
				App.Events.addParagraph(frag, r);
				return frag;
			}

			function ante() {
				const frag = new DocumentFragment();
				let r = [];
				const genParam = {
					minAge: 38, maxAge: 43, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1
				};
				const slave = GenerateNewSlave((V.seeDicks !== 100) ? "XX" : "XY", genParam);
				slave.origin = "$He put $himself up as collateral at a poker game, and lost.";
				slave.career = "a soldier";
				slave.indentureRestrictions = 2;
				slave.indenture = 52;
				slave.devotion = random(25, 40);
				slave.trust = random(35, 45);
				setHealth(slave, jsRandom(60, 80), 0, undefined, 0, 10);
				slave.muscles = 50;
				if (slave.weight > 130) {
					slave.weight -= 100;
					slave.waist = random(-10, 50);
				}
				slave.anus = 0;
				slave.skill.anal = 0;
				slave.skill.whoring = 0;
				slave.skill.combat = 1;
				slave.accent = random(0, 1);
				slave.behavioralFlaw = "arrogant";
				slave.hLength = 1;
				slave.hStyle = "shaved into a mohawk";
				slave.custom.tattoo = "$He has a number of tattoos from a variety of mercenary companies.";
				slave.clothes = "a military uniform";
				App.Events.drawEventArt(frag, slave);

				const {
					He,
					he, his
				} = getPronouns(slave);

				r.push(`Some aggressive play and an eye for riling up your fellow players has resulted in an immense payout, and all but one of your adversaries have folded as the situation has escalated. The only player still in contention is a wily old mercenary, the veteran of ${his} fair share of battles on the battlefield and at the poker table. ${He}'s short on chips, however, and ${he}'ll have to buy in with something else as collateral.`);
				App.Events.addParagraph(frag, r);

				const choices = [];
				choices.push(new App.Events.Result(`A year of servitude`, serve));
				choices.push(new App.Events.Result(`Dock ${his} wages`, wages));
				App.Events.addResponses(frag, choices);
				return frag;

				function serve() {
					const frag = new DocumentFragment();
					let r = [];
					if (random(1, 100) > 50) {
						r.push(`For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up ${his} spoils, the other mercenaries clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've made some friends.`);
						repX(5000, "event");
						cashX(-5000, "event");
					} else {
						slave.clothes = "no clothing";
						App.Events.refreshEventArt(slave);
						r.push(`For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. A silence falls over the room as the result is declared, but after some time your opponent breaks the hush by joking that life as your slave is probably easier than fighting for ${V.arcologies[0].name}. After some awkward laughter the night continues, and at the end your former mercenary joins you on your trip back to the penthouse to submit to processing and to begin ${his} new life as your sexual servant. ${He}'s not young, but ${he}'s tough and not distrusting of you due to ${his} service in the ${V.mercenariesTitle}.`);
						r.push(App.UI.newSlaveIntro(slave));
					}
					App.Events.addParagraph(frag, r);
					return frag;
				}

				function wages() {
					const frag = new DocumentFragment();
					let r = [];
					if (random(1, 100) > 50) {
						r.push(`For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up ${his} spoils, the other mercenaries clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've made some friends.`);
						repX(5000, "event");
						cashX(-5000, "event");
					} else {
						r.push(`For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. Your opponent accepts ${his} defeat with grace and jokes to ${his} comrades that ${he}'ll be fighting in ${his} underwear for the next few months, and their uproar of laughter fills the room. Though you take the lion's share of the ¤, your mercenaries also had a good time fraternizing with you.`);
						repX(1000, "event");
						cashX(5000, "event");
					}
					App.Events.addParagraph(frag, r);
					return frag;
				}
			}
		}
	}
};

repo_name: Mirarara/fc

license: mit


code:
App.Events.rePregInventorFCTV = class rePregInventorFCTV extends App.Events.BaseEvent {
	eventPrerequisites() {
		return [
			() => V.pregInventor === 2,
			() => V.pregInventions === 1,
			() => V.FCTV.receiver > 0
		];
	}

	actorPrerequisites() {
		return [
			[
				s => s.ID === V.pregInventorID,
				s => s.bellyPreg >= 1000000, // even bigger than before
				s => s.fetish !== "mindbroken",
				s => s.fuckdoll === 0,
				s => s.devotion > 50,
				s => s.porn.prestige >= 1 || s.prestige >= 1
			],
		];
	}

	execute(node) {
		const [slave] = this.actors.map(a => getSlave(a));
		const {
			He, he, his, him, himself, girl
		} = getPronouns(slave);
		const legs = hasBothLegs(slave) ? `legs` : `leg`;
		App.Events.drawEventArt(node, slave);
		V.pregInventor = 3;
		let r = [];

		r.push(
			`The time has finally come for your slave,`,
			App.UI.DOM.combineNodes(App.UI.DOM.slaveDescriptionDialog(slave), `,`),
			`to appear on the slave-breeding based talk show, "Husbandry with Millie."`
		);
		if (slave.porn.prestige > 2 || slave.prestige > 2) {
			r.push(`While ${he} is already world-renowned, you might still improve ${his} chances to impress on the show with a little bit of extra investment in commercial spots or a tweaking of FCTV algorithms.`);
		} else if ((slave.porn.prestige > 1 || slave.prestige > 2) && V.PC.skill.hacking >= 100) {
			r.push(`While ${he} is already quite famous, you could still improve ${his} chances to impress on the show with a little bit of extra investment in commercial spots or a tweaking of FCTV algorithms.`);
		} else {
			r.push(`While ${he} has`);
			if (slave.porn.prestige > 1) {
				r.push(`managed to earn a reasonable following in slave pornography,`);
			} else {
				r.push(`a bit of a reputation already,`);
			}
			r.push(`you could significantly improve ${his} chances to impress on the show with a little bit of extra investment in commercial spots${(V.PC.skill.hacking >= 100) ? ` or a tweaking of FCTV algorithms` : ``}.`);
		}
		App.Events.addParagraph(node, r);

		const responses = [];
		if (V.PC.skill.hacking >= 100) {
			responses.push(new App.Events.Result(`Manipulate the FCTV algorithms`, manipulate));
		}
		responses.push(new App.Events.Result(`Spend ${cashFormat(10000)} to fund additional advertising`, advertising));
		responses.push(new App.Events.Result(`Trust in your slave`, trust));

		App.Events.addResponses(node, responses);

		function manipulate() {
			const frag = new DocumentFragment();
			let r = [];
			r.push(`You`);
			if (V.PC.skill.hacking < 70) {
				r.push(`bribe an employee to`);
			}
			r.push(`tweak the randomized search algorithms for FCTV. While your hyperbroodmother is being interviewed concerning ${his} inventions, users browsing FCTV using the randomize channel function will be much more likely to be directed to the show. By the day of the interview, you're confident that many users will be watching as your slave sells your vision for the world's future.`);
			App.Events.addParagraph(frag, r);
			r = [];
			r.push(`That done, you settle in to watch.`);
			App.Events.addParagraph(frag, r);
			r = [];

			frag.append(interview());

			r.push(`You turn your FCTV screen off satisfied that your slave has just completed a job well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant positive impact on public opinion.`);
			if (slave.prestige <= 2) {
				slave.prestige = 2;
				slave.prestigeDesc = "$He is a renowned inventor of hyperpregnant sex accessories and toys.";
			}
			repX(10000, "event");
			V.pregInventions = 2;
			for (const arc of V.arcologies) {
				if (arc.FSRepopulationFocus !== "unset") {
					arc.FSRepopulationFocus += 10;
				} else if (arc.FSRestart !== "unset") {
					arc.FSRestart -= 20;
				}
			}
			addTrinket(`a cut out magazine cover of your renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			App.Events.addParagraph(frag, r);
			return frag;
		}

		function advertising() {
			const frag = new DocumentFragment();
			let r = [];
			r.push(`You fund an aggressive ad campaign featuring your slave in provocative positions and selling a "life changing interview" on "Husbandry with Millie." By the day of ${his} interview, user boards all through the global web are discussing your slave and what ${he} might be about to reveal. Even social demographics not typically inclined toward the idea of breeding slaves seem to be intrigued, and you're confident that many users will be watching as your slave sells your vision for the world's future.`);
			App.Events.addParagraph(frag, r);
			r = [];
			r.push(`That done, you settle in to watch the interview.`);
			App.Events.addParagraph(frag, r);
			r = [];

			frag.append(interview());

			r.push(`You turn your FCTV screen off satisfied that your slave has just completed a job well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant positive impact on public opinion.`);
			if (slave.prestige < 2) {
				slave.prestige = 2;
				slave.prestigeDesc = "$He is a renowned inventor of hyperpregnant sex accessories and toys.";
			}
			repX(10000, "event");
			V.pregInventions = 2;
			for (const arc of V.arcologies) {
				if (arc.FSRepopulationFocus !== "unset") {
					arc.FSRepopulationFocus += 10;
				} else if (arc.FSRestart !== "unset") {
					arc.FSRestart -= 20;
				}
			}
			addTrinket(`a cut out magazine cover of your renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);

			App.Events.addParagraph(frag, r);
			return frag;
		}

		function trust() {
			const frag = new DocumentFragment();
			let r = [];
			r.push(`It's a gamble, but you decide to trust in the charisma of your slave and the fame ${he} has already accrued to sell your vision for the world's future during the interview.`);
			if (slave.porn.prestige > 2) {
				r.push(`${He}'s enormously popular, so your gambit has a good chance of success.`);
			} else if (slave.porn.prestige > 1) {
				r.push(`${He}'s quite popular, so your gambit has a reasonable chance of success.`);
			} else {
				r.push(`${He}'s only really well known in local pornography, but you still decide to bet on ${his} ability to sway the masses.`);
			}
			r.push(`Regardless, there's only so much your direct involvement could do to help ${him} as ${he} sells your vision for the world's future, and the natural cleverness ${he}'s already demonstrated might well allow ${him} to achieve results on ${his} own that would be impossible otherwise.`);
			App.Events.addParagraph(frag, r);
			r = [];
			r.push(`When the day arrives, you settle in to watch the interview.`);
			App.Events.addParagraph(frag, r);
			r = [];

			frag.append(interview());

			if (slave.porn.prestige >= 3 && random(1, 100) > 50) {
				r.push(`You turn your FCTV screen off satisfied that your slave has just finished a job very well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had world changing consequences.`);
				if (slave.prestige < 3) {
					slave.prestige = 3;
					slave.prestigeDesc = "$He is a world renowned inventor of hyperpregnant sex accessories and toys.";
				}
				repX(25000, "event");
				V.pregInventions = 3;
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 30;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 60;
					}
				}
				addTrinket(`a cut out magazine cover of your world renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			} else if (slave.porn.prestige >= 3 && random(1, 100) > 30) {
				r.push(`You turn your FCTV screen off satisfied that your slave has just completed a job well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant positive impact on public opinion.`);
				if (slave.prestige < 2) {
					slave.prestige = 2;
					slave.prestigeDesc = "$He is a renowned inventor of hyperpregnant sex accessories and toys.";
				}
				repX(10000, "event");
				V.pregInventions = 2;
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 10;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 20;
					}
				}
				addTrinket(`a cut out magazine cover of your renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			} else if (slave.porn.prestige >= 3 && random(1, 100) > 15) {
				r.push(`You turn your FCTV screen off satisfied that your slave has done a satisfactory job. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant impact on public opinion, though only at a local level.`);
				if (slave.prestige < 1) {
					slave.prestige = 1;
					slave.prestigeDesc = "$He is a locally respected inventor of hyperpregnant sex accessories and toys.";
				}
				repX(2500, "event");
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 5;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 10;
					}
				}
			} else if (slave.porn.prestige >= 3) {
				r.push(`You turn your FCTV screen off disappointed that your slave has done a mediocre job. Over the course of the next several weeks, it becomes clear that what little impact ${he} has had is on a local scale only.`);
				repX(500, "event");
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 5;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 10;
					}
				}
			} else if (slave.porn.prestige >= 2 && random(1, 100) > 75) {
				r.push(`You turn your FCTV screen off satisfied that your slave has just finished a job very well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had world changing consequences.`);
				if (slave.prestige < 3) {
					slave.prestige = 3;
					slave.prestigeDesc = "$He is a world renowned inventor of hyperpregnant sex accessories and toys.";
				}
				repX(25000, "event");
				V.pregInventions = 3;
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 30;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 60;
					}
				}
				addTrinket(`a cut out magazine cover of your world renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			} else if (slave.porn.prestige >= 2 && random(1, 100) > 50) {
				r.push(`You turn your FCTV screen off satisfied that your slave has just completed a job well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant positive impact on public opinion.`);
				if (slave.prestige < 2) {
					slave.prestige = 2;
					slave.prestigeDesc = "$He is a renowned inventor of hyperpregnant sex accessories and toys.";
				}
				repX(10000, "event");
				V.pregInventions = 2;
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 10;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 20;
					}
				}
				addTrinket(`a cut out magazine cover of your renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			} else if (slave.porn.prestige >= 2 && random(1, 100) > 30) {
				r.push(`You turn your FCTV screen off satisfied that your slave has done a satisfactory job. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant impact on public opinion, though only at a local level.`);
				if (slave.prestige < 1) {
					slave.prestige = 1;
					slave.prestigeDesc = "$He is a locally respected inventor of hyperpregnant sex accessories and toys.";
				}
				repX(2500, "event");
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 5;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 10;
					}
				}
			} else if (slave.porn.prestige >= 2) {
				r.push(`You turn your FCTV screen off disappointed that your slave has done a mediocre job. Over the course of the next several weeks, it becomes clear that what little impact ${he} has had is on a local scale only.`);
				repX(500, "event");
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 5;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 10;
					}
				}
			} else if (random(1, 100) > 90) {
				r.push(`You turn your FCTV screen off satisfied that your slave has just finished a job very well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had world changing consequences.`);
				if (slave.prestige < 3) {
					slave.prestige = 3;
					slave.prestigeDesc = "$He is a world renowned inventor of hyperpregnant sex accessories and toys.";
				}
				repX(25000, "event");
				V.pregInventions = 3;
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 30;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 60;
					}
				}
				addTrinket(`a cut out magazine cover of your world renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			} else if (random(1, 100) > 70) {
				r.push(`You turn your FCTV screen off satisfied that your slave has just completed a job well done. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant positive impact on public opinion.`);
				if (slave.prestige < 2) {
					slave.prestige = 2;
					slave.prestigeDesc = "$He is a renowned inventor of hyperpregnant sex accessories and toys.";
				}
				repX(10000, "event");
				V.pregInventions = 2;
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 10;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 20;
					}
				}
				addTrinket(`a cut out magazine cover of your renowned hyperbroodmother inventor, ${slave.slaveName}, and ${his} myriad toys`);
			} else if (random(1, 100) > 50) {
				r.push(`You turn your FCTV screen off satisfied that your slave has done a satisfactory job. Over the course of the next several weeks, it becomes clear that ${slave.slaveName}'s appearance on "Husbandry With Milly" has had a significant impact on public opinion, though only at a local level.`);
				if (slave.prestige < 1) {
					slave.prestige = 1;
					slave.prestigeDesc = "$He is a locally respected inventor of hyperpregnant sex accessories and toys.";
				}
				repX(2500, "event");
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 5;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 10;
					}
				}
			} else {
				r.push(`You turn your FCTV screen off disappointed that your slave has done a mediocre job. Over the course of the next several weeks, it becomes clear that what little impact ${he} has had is on a local scale only.`);
				repX(500, "event");
				for (const arc of V.arcologies) {
					if (arc.FSRepopulationFocus !== "unset") {
						arc.FSRepopulationFocus += 5;
					} else if (arc.FSRestart !== "unset") {
						arc.FSRestart -= 10;
					}
				}
			}

			App.Events.addParagraph(frag, r);
			return frag;
		}

		function interview() {
			const el = document.createElement("p");
			const {title: Master, say: say} = getEnunciation(slave);
			const {hisU, heU} = getNonlocalPronouns(V.seeDicks).appendSuffix("U");
			r.push(`The interview starts about halfway into a special episode of "Husbandry with Millie." The show's host is introducing a who's who of important figures in the slave breeding community. As you turn on the show, Millie seems to have just completed another interview.`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"Everybody, give one last round of applause for renowned breakout porn star 'Twinner Jennie'!" she says. "Who'd have thought an eighteen year old slave could be pregnant with their own eighteen year old cloned sister? Quite a world — thank you again for that fascinating interview! Our next guest on 'Husbandry with Millie' is a clever 'broodmother' class breeding slave and mother of ${num(slave.counter.birthsTotal)} children from the ${V.continent} arcology of '${V.arcologies[0].name}.' Everybody, please give a hearty welcome to ${SlaveFullName(slave)}!"`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`The first thing that the audience sees of your slave is a colossal ${slave.skin} orb pressing forward through an inadequate looking faux doorway at the rear of the set. "Husbandry with Millie" is a show about breeders and for breeders, and the host, Millie, has seen pregnant slaves of innumerable sizes and descriptions. Despite this, she does a clear double take as your slave enters, and enters, and enters stage right, ${his} grossly distorted belly seeming to go on forever as it precedes ${him}. ${He} is always growing, and you are constantly increasing the size of ${his} menial entourage to ensure ${his} unhindered mobility. As a result, a veritable platoon of masked menials can be seen throwing themselves into your overladen babyfactory before ${his}`);
			if (slave.boobs >= 20000) {
				r.push(`debilitatingly enormous, mind boggling breasts`);
			} else if (slave.boobs >= 3000) {
				r.push(`enormous breasts`);
			} else if ((slave.boobsImplant / slave.boobs) >= .60) {
				r.push(`implant inflated tits`);
			} else {
				r.push(`upper body`);
			}
			r.push(`and`);
			if (slave.face > 80) {
				r.push(`gorgeous face`);
			} else if (slave.face > 40) {
				r.push(`cute face`);
			} else if (slave.face > 1) {
				r.push(`unassuming face`);
			} else {
				r.push(`homely face`);
			}
			r.push(`come into view.`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`Your slave smiles,`);
			if (hasBothArms(slave)) {
				r.push(`rubbing the side of ${his} belly with one hand while waving at the audience with the other.`);
			} else if (hasAnyArms(slave)) {
				r.push(`alternating between rubbing the side of ${his} belly and waving at the audience.`);
			} else {
				r.push(`pushing one arm stump into the side of ${his} belly while waving the other at the studio audience.`);
			}
			r.push(`After ${he} has entered and taken ${his} place next to the interview couch — rolling forward to lay on ${his} belly so that ${he} can speak at eye level with ${his} interviewer while reclined in relative comfort — more menials enter the stage, carrying portable versions of the specialized maternity swing and moisturizing pool that ${he} has developed.`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"Wow!" Millie says, "You're just about ready to pop, aren't you?"`);
			App.Events.addParagraph(el, r);
			r = [];
			if (canTalk(slave)) {
				r.push(
					Spoken(slave, `"Mmm,"`),
					`your slave ${say}s,`
				);
			} else {
				r.push(`Your slave nods,`);
			}
			if (hasAnyLegs(slave)) {
				r.push(`crossing ${his} ${legs} over the rearmost swell of ${his} belly,`);
			} else {
				r.push(`bobbling ${his} leg stumps against the rearmost swell of ${his} belly,`);
			}
			if (canTalk(slave)) {
				r.push(Spoken(slave, `"and I'm more and more ready to pop every day."`));
			} else if (hasAnyArms(slave)) {
				r.push(`motioning toward ${his} belly to emphasize the truth of the host's statement.`);
			} else {
				r.push(`waving ${his} stumps at ${his} belly to emphasize the truth of the host's statement.`);
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"I have to admit, ${slave.slaveName}," Millie says, "you might just be the most heavily pregnant breeder I've ever seen." She motions at your slave's replete body and says: "— May I?"`);
			App.Events.addParagraph(el, r);
			r = [];
			if (canTalk(slave)) {
				r.push(
					Spoken(slave, `"Please do,"`),
					`your slave ${say}s.`
				);
			} else if (hasAnyArms(slave)) {
				r.push(`Your slave invites the host to touch by patting ${his} belly and then grinning.`);
			} else {
				r.push(`Your slave nods.`);
			}
			r.push(He);
			if (hasAnyArms(slave)) {
				if (slave.boobs >= 20000) {
					r.push(`rubs the bases of ${his} gargantuan breasts in hungry anticipation.`);
				} else if (slave.boobs >= 3000) {
					r.push(`rubs the sides of ${his} enormous breasts in hungry anticipation.`);
				} else if ((slave.boobsImplant / slave.boobs) >= .60) {
					r.push(`rubs the sides of ${his} fat, implanted tits in hungry anticipation.`);
				} else {
					if (slave.nipples !== "fuckable") {
						r.push(`tweaks`);
					} else {
						r.push(`fingers`);
					}
					r.push(`${his} nipples through the sheer fabric of ${his} pretty slave gown while regarding the host with a look of hungry anticipation.`);
				}
			} else {
				if (slave.boobs >= 20000) {
					r.push(`pushes ${his} arm stubs into what little of the sides of ${his} gargantuan breasts ${he} can reach, a look of hungry anticipation on ${his} face.`);
				} else if (slave.boobs >= 3000) {
					r.push(`pushes ${his} arm stubs into the sides of ${his} enormous breasts, a look of hungry anticipation on ${his} face.`);
				} else if ((slave.boobsImplant / slave.boobs) >= .60) {
					r.push(`pushes ${his} arm stubs into the sides of ${his} fat, implanted tits, a look of hungry anticipation on ${his} face.`);
				} else {
					r.push(`rubs ${his} arm stubs against ${his} nipples through ${his} pretty slave gown, a look of hungry anticipation on ${his} face.`);
				}
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`Millie places an appreciative hand on your slave's silk clad flank. The poor ${girl} is so packed full of children that ${his} brood can be seen pressed in outline along the full swell of ${his} belly, and Millie's hand rests on the embossed figure of one such child. The camera zooms in as its form can be clearly made out pushing through the skin of your slave and against the host's touch. It turns over, allowing her to cup its back in her palm. Your slave flexes ${his}`);
			if (hasAnyLegs(slave)) {
				r.push(legs);
			} else {
				r.push(`back`);
			}
			r.push(`and parts ${his}`);
			if (slave.lips > 95) {
				r.push(`swollen mouth pussy,`);
			} else if (slave.lips > 70) {
				r.push(`swollen lips,`);
			} else if (slave.lips > 20) {
				r.push(`lips,`);
			} else {
				r.push(`thin lips,`);
			}
			r.push(`making no noise. You know ${him} well enough to understand that the combined pleasure and pain from the talk show host's uncareful touch has caused ${him} to experience one of ${his} "secret little orgasms," and you savor the sight of ${him} squirming as ${he} tries not to let on.`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"So, ${slave.slaveName}," Millie says, not taking her eyes off of the slave's incredibly fecund figure, "why don't you tell us about your inventions?"`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`Your slave bites ${his} lip and gives the talk show host a meaningful look.`);
			if (canTalk(slave)) {
				r.push(Spoken(slave, `"How about I give you a 'hands-on' demonstration instead?"`));
				r.push(`${he} asks.`);
			} else if (hasAnyArms(slave)) {
				r.push(`${He} signs that ${he}'d like to give her a "hands-on demonstration" instead.`);
			} else {
				r.push(`One of ${his} menials pushes ${hisU} body into the breeder's enormous stomach in a possessive manner, then turns to regard Millie. "My`);
				if (getPronouns(slave).noun === "girl") {
					r.push(`mistress`);
				} else {
					r.push(`master`);
				}
				r.push(`would like to give you a 'hands-on' demonstration, instead," ${heU} says.`);
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`The host quirks an eyebrow, then nods. "Alright," she says. "How about we start with that pool of yours?" She then strips her outer layer of clothing, showing off her own famously heavily pregnant figure in an inadequate bra and panties. She makes her way to the curative jelly filled pool, after your slave has been situated within it. Millie dips a toe into the substance and giggles. "Oh my, it tingles!"`);
			App.Events.addParagraph(el, r);
			r = [];
			if (canTalk(slave)) {
				r.push(
					Spoken(slave, `"Just wait till you feel it on your belly,"`),
					`your slave ${say}s.`,
					Spoken(slave, `"It feels`),
					App.UI.DOM.makeElement("span", Spoken(slave, `soooo`), "note"),
					Spoken(slave, `good."`),
				);
			} else if (hasAnyArms(slave)) {
				r.push(`${He} signs that the host should get into the pool entirely to feel what it's like on the rest of her swollen body, as well.`);
			} else {
				r.push(`The slave's menial asks the host to get in and feel what it's like on the rest of her swollen body, as well.`);
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`Millie slips into the pool and the camera zooms in as she slowly sidles along its outer edge while being crushed up against your slave's capacious belly. When she's finally seated next to the breeder's vestigial-looking core body, a microphone attached to a boom descends to allow the audience to listen as they continue the interview.`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"This feels great," Millie says. "I've been feeling a bit stretched thin, lately, but I can feel all the tension in my belly just slipping away."`);
			App.Events.addParagraph(el, r);
			r = [];
			if (canTalk(slave)) {
				r.push(
					Spoken(slave, `"This pool is designed to allow slaves to care for their bodies no matter how large they inflate,"`),
					`your slave ${say}s.`,
					Spoken(slave, `"— Are you alright?"`),
					`${he} asks, wearing a look of mock concern on ${his} face.`
				);
			} else if (hasAnyArms(slave)) {
				r.push(`Using the hand farthest from Millie, and with the other conspicuously hidden under the goo, your slave signs that the pool is designed to allow slaves to care for their bodies no matter how large they grow. ${He} then signs a request regarding the host's wellbeing, wearing a look of mocking concern on ${his} face.`);
			} else {
				r.push(`Your slave's speaking assistant explains that the pool is designed to allow slaves and women to care for their bodies no matter how large they inflate. Meanwhile, your slave has been slowly rotating in the pool until ${he} is pressed conspicuously close to the host. The assistant asks if the host is feeling well, a look of mock concern on ${hisU} face.`);
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"Ah! Um, yes — yep! I'm feeling just fine," Millie says. She's blushing furiously and squirming, and you can just make out the outline of your slave performing some form of teasing shenanigans under the distorting effect of the pool's goo. "So — oooh, yes... ${slave.slaveName}, how did you, um, come up with the idea for this pool?"`);
			App.Events.addParagraph(el, r);
			r = [];
			if (canTalk(slave)) {
				r.push(
					Spoken(slave, `"I'm always trying to think of ways to keep myself pretty for — oh! — my ${Master},"`),
					`your slave ${say}s, suddenly squirming ${himself}. Millie has slouched down into the pool and is grinning wickedly as she apparently gets revenge.`,
					Spoken(slave, `"This was just the best — um — I mean — the best — oh`),
					App.UI.DOM.makeElement("span", Spoken(slave, `fuck, keep`), "note"),
					Spoken(slave, ` — I mean, the best method I could think of for doing that."`)
				);
			} else if (hasAnyArms(slave)) {
				r.push(`Your slave signs that this was the best method ${he} could think of to keep ${himself} pretty for you, given ${his} size, then starts moaning as a grinning Millie seems to have started enacting her revenge.`);
			} else {
				r.push(`Your slave's speaker explains that this was the best method the broodmother could think of to keep ${himself} pretty for you, given ${his} size. The baby laden breeder starts moaning in the middle of ${his} assistant's description as a grinning Millie seems to have taken this opportunity to start enacting her revenge.`);
			}
			r.push(`Millie has turned her body sideways and snaked an arm between`);
			if (slave.boobs >= 20000) {
				r.push(`your slave's astoundingly enormous, slimed up cleavage, pumping it up and down to get their unfathomable mass jiggling while she nibbles at and whispers into the squirming baby machine's ear, just loud enough for the mic to pick it up.`);
			} else if (slave.boobs >= 3000) {
				r.push(`your slave's massive, slimed up tits, lewdly abusing one breast while she nibbles at and whispers into the squirming baby machine's ear, just loud enough for the mic to pick it up.`);
			} else if ((slave.boobsImplant / slave.boobs) >= .60) {
				r.push(`your slave's fat, implanted tits, pumping it up and down to get their tightly packed mass bobbing while she nibbles and whispers into the baby machine's ear, just loud enough for the mic to pick it up.`);
			} else {
				r.push(`your slave's breasts, rubbing it up and down one of ${his} pert nipples while she simultaneously toys with the ridge of one of the baby machine's ears and both nibbles on and whispers into the other, just loud enough for the mic to pick it up.`);
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(
				`"That's quite something," Millie whispers. "I don't know about you, ${slave.slaveName}, but I think I speak for everyone watching today when I say that now seems like a`,
				App.UI.DOM.makeElement("span", `really good time`, "note"),
				`to try out that other invention of yours."`
			);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`They both exit the pool, dripping clear, slippery gel onto the wood floor of "Husbandry with Millie"'s set. Without a thorough rinsing, your slave's slathered up belly will be dripping for an hour or more, and ${he} seems to know that as ${he} motions to stop ${his} assistants from wiping ${him} off before strapping ${him} into ${his} aerial gymnastics maternity swing. As a result, when the two visibly panting preggos are strapped into the machine and elevated several`);
			if (V.showInches === 2) {
				r.push(`feet`);
			} else {
				r.push(`meters`);
			}
			r.push(`above the now-visible studio audience, your slave drips a steady stream of goop onto their craning heads.`);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`"Oops!" Millie says. "Looks like we should have warned our audience about a wet zone for this episode. So, ${slave.slaveName}, why don't we show off all the things this advanced maternity swing of yours can do?"`);
			App.Events.addParagraph(el, r);
			r = [];
			if (canTalk(slave)) {
				r.push(Spoken(slave, `"Yes, please,"`));
				r.push(`your slave ${say}s. ${He}'s visibly worked up and ready to go.`);
			} else if (hasAnyArms(slave)) {
				r.push(`${He} signs, indicating fervent interest.`);
			} else {
				r.push(`The mute, limbless slave can only moan inchoately in response, but it's clear ${he}'s more than ready.`);
			}
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`The two then approach each other in mid air, settling into heavy petting and making out before transition into mechanically assisted scissoring. Your hyperbroodmother's unfathomable belly is hanging sideways and down, jiggling madly mere`);
			if (V.showInches === 2) {
				r.push(`inches`);
			} else {
				r.push(`centimeters`);
			}
			r.push(`above the heads of the studio audience. One particularly adventurous audience member reaches up to place a hand on the slave's stomach to feel it bounce in their hands as ${he} gets fucked, and soon other members of the audience are also reaching up to feel the massive organ. The swing slowly rotates the coupling lovers back and forth over the length of the audience's seats, in a circle, and a wave of eager hands reach up as it does so, caressing your breeder's shaking belly as ${he} gets fucked by the show's moaning host. When Millie and your slave finally convulse in mutual orgasm, the camera zooms in on Millie's face for a close-up. She seems exhausted, but she smiles for it anyway.`);
			seX(slave, "vaginal", "public");
			App.Events.addParagraph(el, r);
			r = [];
			r.push(
				`"That was`,
				App.UI.DOM.makeElement("span", Spoken(slave, `fantastic.`), "note"),
				`I'm going to remember that experience for quite some time, and I'm sure our viewers here and at home will, too! Any last things you would like to say before we cut for break?"`
			);
			App.Events.addParagraph(el, r);
			r = [];
			r.push(`The camera rotates to focus on your slave and ${he} shakes ${himself}, apparently regathering ${his} wits.`);
			App.Events.addParagraph(el, r);
			r = [];
			if (V.arcologies[0].FSRepopulationFocus !== "unset") {
				if (canTalk(slave)) {
					r.push(`"My ${Master}, ${(SlaveStatsChecker.checkForLisp(slave)) ? lispReplace(PlayerName()) : PlayerName()}, has a vision for a beautiful future where baby-laden broodmothers like me aren't the exception in Free Cities society, but the norm. We both hope that everyone here will support us, and so we've hidden certificates for free pools and swings under everyone's seats — everybody look! If you like what you've seen today as much as we hope you have, my ${Master} and I both hope you'll be filling these inventions with your own slaves' swollen bodies, soon. And we hope that, some day, everyone watching at home will feel this way, as well!"`);
				} else {
					r.push(`Since your slave is unable to speak, ${he} signals the show's video crew to start playing a pre-recorded video in which you explain your vision for a future where specialized hyper-swollen breeding slaves can be found in Free Cities across the world. You then open your arms wide, in the video, and declare that vouchers for free pools and swings have been hidden under the audience's chairs.`);
				}
			} else {
				if (canTalk(slave)) {
					r.push(Spoken(slave, `"My ${Master}, ${(SlaveStatsChecker.checkForLisp(slave)) ? lispReplace(PlayerName()) : PlayerName()}, has a vision for a beautiful future where baby-laden broodmothers like me are all able to enjoy sex with their owners and clients. We both hope that everyone here will support us, and so we've hidden certificates for free pools and swings under everyone's seats — everybody look! If you like what you've seen today as much as we hope you have, my ${Master} and I both hope you'll be filling these inventions with your own slaves swollen bodies, soon. And we hope that, some day, everyone watching at home will enjoy hyperpregnant sex with our new toys, too!"`));
				} else {
					r.push(`Since your slave is unable to speak, ${he} signals the show's video crew to start playing a pre-recorded video in which you explain your vision for a future where specialized hyper-swollen breeding slaves aren't just a sexual novelty, but enjoyable to fuck in their own right. You then open your arms wide, in the video, and declare that vouchers for free pools and swings have been hidden under the audience's chairs.`);
				}
			}
			r.push(`The camera zooms out for a nice panning shot of the audience exclaiming and fawning over the vouchers they've found taped to the bottom of their chairs. Finally, it fades to black.`);

			App.Events.addParagraph(el, r);
			return el;
		}
	}
};


code:
App.Events.rePregInventorInvite = class rePregInventorInvite extends App.Events.BaseEvent {
	eventPrerequisites() {
		return [
			() => V.pregInventor === 0,
		];
	}

	actorPrerequisites() {
		return [
			[
				s => s.bellyPreg >= 600000,
				s => s.counter.birthsTotal > 30,
				s => s.ovaries === 1,
				canDoVaginal,
				canSee,
				s => s.fetish !== "mindbroken",
				s => s.fuckdoll === 0,
				s => (s.devotion > 90 && s.trust > 50) || s.sexualFlaw === "breeder",
				s => s.intelligence + s.intelligenceImplant > 50
			],
		];
	}

	execute(node) {
		const [slave] = this.actors.map(a => getSlave(a));
		const {
			He, His,
			he, his, him, himself, girl,
		} = getPronouns(slave);
		const {himA} = getPronouns(assistant.pronouns().main).appendSuffix("A");
		const {title: Master, say: say} = getEnunciation(slave);
		App.Events.drawEventArt(node, slave);
		V.pregInventorID = slave.ID;
		let r = [];

		r.push(
			`Your broodmother,`,
			App.UI.DOM.combineNodes(App.UI.DOM.slaveDescriptionDialog(slave), `,`),
			`asks to see you, so you have ${him} brought to your office. It takes your menial servants several minutes to safely produce ${him} as ${his} massive, bloated${(V.seeRace === 1) ? `, ${slave.race}` : ``} womb is stretched so thin by its load that the sudden shock to ${his} body if ${he} were dropped might cause ${him} to explode. Both you and your babymaker are used to these circumstances at this point, however, and, as your servants work to lower ${him} to the soft carpeted floor at the center of your office without undue strain to ${his} belly, ${he} shoots you a provocative`);
		if (!hasAnyArms(slave)) {
			r.push(`grin.`);
		} else {
			if (slave.boobs >= 20000) {
				r.push(`grin and rubs the sides of ${his} debilitatingly large breasts with anticipation.`);
			} else if ((slave.boobsImplant / slave.boobs) >= .60) {
				r.push(`grin and pushes ${his} augmented tits together to give you a view of ${his} impressive cleavage.`);
			} else if (slave.boobs >= 3000) {
				r.push(`grin and hefts one of ${his} massive breasts${(hasBothArms(slave)) ? ` with both hands` : ``}, sucking on ${his} nipple to give you a show while you wait.`);
			} else {
				r.push(`grin and tweaks the nipples on ${his} pert breasts.`);
			}
		}
		App.Events.addParagraph(node, r);
		r = [];
		r.push(`Once ${he} is safely resting on the ground, your slave`);
		if (hasAnyArms(slave)) {
			r.push(`pushes up against it, stretching so that ${he} `);
			if (canSee(slave)) {
				r.push(`can look you in the eyes.`);
			} else {
				r.push(`is face-to-face with you.`);
			}
		} else {
			r.push(`blushes and wiggles ${his} stumps, looking down.`);
		}
		if (canTalk(slave)) {
			r.push(`"${Master}," ${he} ${say}s, "I love being your hyperpregnant brood slave. My poor ${(slave.mpreg === 1) ? `ass` : ``}pussy weeps every time a baby passes through it, and so many have passed through — and, ${Master}, it hurts, sometimes, but I love the feeling of my body stretching fuller and fuller with life every day. There's nothing I want more than to be your`);
			if (SlaveStatsChecker.checkForLisp(slave)) {
				r.push(lispReplace(SlaveTitle(slave)));
			} else {
				r.push(SlaveTitle(slave));
			}
			r.push(`until my body gives out. So, ${Master}, I really want to give something back to you for making my dreams come true."`);
		} else {
			if (hasAnyArms(slave)) {
				r.push(`${He} signs to you that ${he} wants to give back to you for blessing ${him} with ${his} `);
				if (slave.broodmother > 0) {
					r.push(`permanently hyperpregnant`);
				} else {
					r.push(`life-swollen`);
				}
				r.push(`body.`);
			} else {
				r.push(`Your personal assistant speaks, probably in response to a nonverbal cue from your slave. ${He} explains that your slave wishes to give back to you for blessing ${him} with ${his} `);
				if (slave.broodmother > 0) {
					r.push(`permanently hyperpregnant`);
				} else {
					r.push(`life-swollen`);
				}
				r.push(`body.`);
			}
		}
		App.Events.addParagraph(node, r);
		r = [];
		r.push(`The explanation has been going on for a while now, so you motion for your slave to get to the point.`);
		if (canTalk(slave)) {
			r.push(`"${Master}," ${he} ${say}s, "I want the whole world to love hyperpregnant baby machines as much as I do. I know it's selfish, but I've been looking into ways to make sex with broodmothers even better than it already is. It feels great to get fucked while I'm so packed full and helpless, but, if you'll let me try, I've got some ideas for making it even better for broodmothers. And, more importantly, ${Master}, for you and any other potential partners, too."`);
		} else {
			if (hasAnyArms(slave)) {
				r.push(`${He} explains through gestures that ${he}'s been thinking of ways to make sex with overly pregnant slaves more convenient and enjoyable and would like your permission to develop them.`);
			} else {
				r.push(`Your assistant explains that the ${girl} has been thinking of ways to make sex with overly pregnant slaves more convenient and enjoyable and would like your permission to develop them.`);
			}
		}

		App.Events.addParagraph(node, r);
		r = [];
		r.push(`You consider ${his} offer. Will you support ${him}?`);
		App.Events.addParagraph(node, r);

		App.Events.addResponses(node, [
			new App.Events.Result(`No, and remind ${him} of ${his} place.`, no),
			new App.Events.Result(`Yes, and offer to help ${him} in a... personal capacity`, yes),
			new App.Events.Result(`Yes, and offer to fund ${his} endeavors with ${cashFormat(10000)}`, fund),
		]);

		function no() {
			let frag = document.createDocumentFragment();
			let r = [];
			r.push(`You calmly explain to your baby-filled broodmother that ${he} is property and expected to fulfill ${his} duties, not to think. ${He} is not to pursue this matter further.`);
			if (slave.trust < -95) {
				r.push(`You then rape ${him}, hard, to get your point across, ignoring ${his} moans of pain and the loud complaints from ${his} overfilled womb as it barely holds together under your assault. The bitch is delusional, idolizing ${himself} and ${his} position like this. ${slave.slaveName} has been holding onto sanity by a thread with this idea about loving what ${he} is, but your rejection breaks something fundamental inside of ${him}. ${He}'s a baby machine. ${His} body belongs to you. ${His} brain is just a vestigial accessory to ${his} womb and pussy. ${slave.slaveName} is broken. ${He} will never question ${his} place again.`);
				applyMindbroken(slave);
				r.push(VCheck.Vaginal(slave, 1));
			} else if (slave.trust < -20) {
				r.push(`You then fuck ${him}, hard, to get your point across, ignoring ${his} moans of pain and the loud complaints from ${his} overfilled womb as it barely holds together under your assault. When you finally get bored and`);
				if (V.PC.dick !== 0) {
					r.push(`shoot your load into ${his}`);
					if (slave.vagina >= 10) {
						r.push(`gaping pussy,`);
					} else if (slave.vagina > 3) {
						r.push(`loose pussy,`);
					} else if (slave.vagina >= 1) {
						r.push(`vagina,`);
					} else {
						r.push(`surprisingly resilient, tight little pussy,`);
					}
					r.push(VCheck.Vaginal(slave, 1));
				} else {
					r.push(`clench your legs around ${his} slutty head as ${he} drives your pussy over the edge with ${his} tongue,`);
					seX(slave, "oral", V.PC, "penetrative");
				}
				r.push(`${he} cries out in a reciprocating orgasm and then cries out a second time when, massive stomach shuddering,`);
				if (slave.broodmother > 1) {
					r.push(`${he} begins to give birth to yet another child. You call your menials back to your office and decide to take a walk. By the time you're at the door, the head of ${slave.slaveName}'s next child is already cresting.`);
				} else if (slave.broodmother === 0 && slave.preg > slave.pregData.minLiveBirth + 1) {
					r.push(`${his} water breaks. You call your menials back to your office and decide to take a walk. As you pass by ${him}, it's clear that ${he}'ll have more important things to think about it the coming day.`);
					startLabor(slave);
				} else {
					r.push(`${his} brood shifts precariously. You call your menials back to your office and decide to take a walk. As you pass by ${him}, it's clear that ${he}'ll be more concerned with staying whole than whatever foolish endeavors ${he} was planning.`);
				}
				r.push(`${slave.slaveName} is now more <span class="gold">fearful.</span>`);
				slave.trust -= 4;
			} else {
				if (canTalk(slave)) {
					r.push(`"I'm sorry, ${Master}," ${he} ${say}s, "I just thought, well... nevermind."`);
				} else {
					if (hasAnyArms(slave)) {
						r.push(`${He} motions in apology, trying to hide ${his} extreme disappointment.`);
					} else {
						r.push(`${He} is mute and limbless, so it is nearly impossible for ${him} to communicate ${his} feelings without a great deal of forward planning and help from your AI assistant. Despite this, you can tell ${he}'s disappointed.`);
					}
				}
				App.Events.addParagraph(frag, r);
				r = [];
				if (hasAnyCyberneticEyes(slave)) {
					r.push(`${His} pretty ${App.Desc.eyesColor(slave, "bionic")} flash a shade cooler than normal and you can tell ${he}'s struggling to accept your decision.`);
				} else {
					r.push(`You can see tears brimming in ${his} ${App.Desc.eyesColor(slave)}.`);
				}
				r.push(`You kiss ${him} on the head, make sweet love to ${him} to improve ${his} mood, then have ${him} escorted out of your office.`);
				r.push(VCheck.Vaginal(slave, 1));
				r.push(`You are certain you made the right choice. If possible, ${slave.slaveName} is now more <span class="devotion inc">devoted.</span>`);
				slave.devotion += 5;
			}
			App.Events.addParagraph(frag, r);
			return frag;
		}

		function yes() {
			let frag = document.createDocumentFragment();
			let r = [];
			r.push(`Being so close to the near-bursting womb of your slave for so long has got your loins stirring, and you hop up onto your desk, bringing your`);
			if (V.PC.dick !== 0) {
				r.push(`dick`);
			} else {
				r.push(`vagina`);
			}
			r.push(`level with the broodmother's mouth. You tell ${him} that you could be convinced to let ${him} explore ${his} interests. ${He} squeals in delight and`);
			if (V.PC.dick !== 0) {
				r.push(`wraps ${his}`);
				if (slave.lips > 95) {
					r.push(`plush mouth pussy`);
				} else if (slave.lips > 70) {
					r.push(`thick, dick sucking lips`);
				} else if (slave.lips > 20) {
					r.push(`lips`);
				} else {
					r.push(`thin, almost childlike lips`);
				}
				r.push(`around your penis.`);
				if (canTalk(slave)) {
					r.push(`Between ${his} slurping and sucking, ${he} manages to get out enough intelligible words to give you a good idea about the sorts of things ${he} thinks could make sex with an enormously pregnant slave more fun.`);
				} else {
					if (hasAnyArms(slave)) {
						r.push(`While slurping and sucking, ${he} signs to you, communicating ${his} ideas about the sorts of things ${he} thinks could make sex with an enormously pregnant slave more fun.`);
					} else {
						r.push(`${He} focuses on slurping and sucking on your knob while your personal assistant explains ${his} ideas about the sorts of things ${he} thinks could make sex with an enormously pregnant slave more fun.`);
					}
				}
			} else {
				if (canTalk(slave)) {
					r.push(`buries ${his} eager tongue in your quim. Between sucking on your clit and moaning, ${he} manages to get out enough intelligible words to give you a good idea about the sorts of things ${he} thinks could make sex with an enormously pregnant slave more fun.`);
				} else {
					if (hasAnyArms(slave)) {
						r.push(`While burying ${his} tongue in your quim, ${he} signs to you, communicating ${his} ideas about the sorts of things ${he} thinks could make sex with an enormously pregnant slave more fun.`);
					} else {
						r.push(`${He} focuses burying ${his} tongue in your quim while your personal assistant explains ${his} ideas about the sorts of things ${he} thinks could make sex with an enormously pregnant slave more fun.`);
					}
				}
			}
			seX(slave, "oral", V.PC, "penetrative");
			r.push(`While you're not interested in giving ${him} the funds necessary to make some of ${his} more outlandish ideas a reality, you're certainly excited by ${his} ideas regarding positions and hyperpregnant vaginal play. You tell ${him} to go for those and ${he} trills in delight, vibrating ${his} tongue`);
			if (V.PC.dick !== 0) {
				r.push(`along your dick and sending you over the edge. ${He} swallows your load, licking ${his} lips.`);
				if (canTalk(slave)) {
					r.push(
						Spoken(slave, `"Make sure to keep feeding me your cum,"`),
						`${he} ${say}s flirtatiously.`,
						Spoken(slave, `"I'm eating for a`),
						App.UI.DOM.makeElement("span", Spoken(slave, `lot`), "note"),
						Spoken(slave, `more than two, after all."`)
					);
				} else {
					if (hasAnyArms(slave)) {
						r.push(`${He} signs to you, begging you to keep feeding ${him} your cum as ${he}'s eating for a lot more than two.`);
					} else {
						r.push(`${He} then nuzzles your crotch possessively, looking up at your face with devoted eyes.`);
					}
				}
			} else {
				r.push(`in your intimate spaces and sending you over the edge. ${He} removes ${himself} from your pussy and licks ${his} lips.`);
				if (canTalk(slave)) {
					r.push(
						Spoken(slave, `"Make sure to keep feeding me your pussy juice,"`,),
						`${he} ${say}s flirtatiously.`,
						Spoken(slave, `"I'm eating for a`),
						App.UI.DOM.makeElement("span", Spoken(slave, `lot`), "note"),
						Spoken(slave, `more than two, after all."`)
					);
				} else {
					if (hasAnyArms(slave)) {
						r.push(`${He} signs to you, begging you to keep feeding ${him} your pussy juice as ${he}'s eating for a lot more than two.`);
					} else {
						r.push(`${He} then nuzzles your crotch possessively, looking up at your face with devoted eyes.`);
					}
				}
			}
			App.Events.addParagraph(frag, r);
			r = [];
			r.push(`You congratulate yourself on having made the right decision as ${slave.slaveName} grows ever closer to you, and ever larger in ${his} middle, over the course of the next week.`);
			slave.devotion += 5;

			App.Events.addParagraph(frag, r);
			return frag;
		}

		function fund() {
			let frag = document.createDocumentFragment();
			let r = [];
			r.push(`You are intrigued by ${his} offer.`);
			if (hasAnyArms(slave)) {
				r.push(`You take ${his}`);
				if (V.seeRace === 1) {
					r.push(`${slave.race}`);
				}
				r.push((hasBothArms(slave)) ? `hands` : `hand`);
				r.push(`in yours, noting their pleasant softness, and direct ${him} to explain.`);
			} else {
				r.push(`You place a hand on ${his} exaggerated gut and direct ${him} to explain.`);
			}
			r.push(`${He} blushes, sexually stimulated by even this minor touch, and`);
			if (canTalk(slave)) {
				r.push(`describes various ideas ${he}'s had for tools and techniques that could improve an enormously pregnant girl's sexual potential.`);
			} else {
				if (hasAnyArms(slave)) {
					r.push(`signs, describing various ideas ${he}'s had for tools and techniques that could improve an enormously pregnant girl's sexual potential.`);
				} else {
					r.push(`wiggles a stump, prompting your personal assistant to describe various ideas ${he}'s had for tools and techniques that could improve an enormously pregnant girl's sexual potential.`);
				}
			}
			r.push(`Picturing the actions as ${he} describes them gets`);
			if (V.PC.dick !== 0) {
				r.push(`you rock hard in short order`);
			} else {
				r.push(`your pussy dripping with need in short order`);
			}
			r.push(`and, as the description continues, you move around behind your broodmother, pushing ${him} up onto ${his} tremendous womb so that you can fuck ${him} against it. ${His} belly squashes down slightly under your weight, but less than you'd expect — ${he}'s so packed full of children that ${his} stomach resists changing shape. ${He} wiggles ${his} hips as you`);
			if (slave.butt > 11) {
				r.push(`sink face first into ${his} warm, room filling ass cleavage`);
			} else if (slave.butt > 5) {
				r.push(`grab generous handfuls of ${his} humongous ass`);
			} else if ((slave.buttImplant / slave.butt) > .60) {
				r.push(`rest the weight of your upper body on ${his} implant inflated ass cheeks`);
			} else if (slave.butt > 2) {
				r.push(`slap ${his} generous ass`);
			} else {
				r.push(`press down on ${his} petite little ass with your hips`);
			}
			r.push(`and begin teasing ${his} pussy with`);
			if (V.PC.dick !== 0) {
				r.push(`the tip of your dick.`);
			} else {
				r.push(`your fingers.`);
			}
			App.Events.addParagraph(frag, r);
			r = [];
			if (canTalk(slave)) {
				r.push(`"Ooh, ${Master}," your slave ${say}s, "if you keep this up you'll wake the babies."`);
			} else {
				if (hasAnyArms(slave)) {
					r.push(`Your slave signs, teasingly implying that you'll wake the babies.`);
				} else {
					r.push(`The skin of your slave's monumental belly flushes red and ${he} wiggles ${his} stumps in combined embarrassment and arousal.`);
				}
			}
			App.Events.addParagraph(frag, r);
			r = [];
			r.push(`Despite ${his} complaints, ${he} doesn't seem to mind once you start really fucking ${him} senseless.`);
			r.push(VCheck.Vaginal(slave, 1));
			r.push(`Once you've finished melting your swollen "little" sex slave into a puddle of sexually satisfied goo,`);
			if (V.PC.dick !== 0) {
				r.push(`shooting your load into ${his} wanting pussy,`);
			} else {
				r.push(`collapsing into orgasm on ${his} bloated body,`);
			}
			r.push(`you call up your personal assistant, giving ${himA} orders to have your menials collect your exhausted breeder and to ensure ${he} has all the funds necessary to make ${his} perverted dreams a reality. ${slave.slaveName} can only idolize you.`);
			cashX(-10000, "event", slave);
			slave.devotion += 15;
			V.pregInventor = 1;

			App.Events.addParagraph(frag, r);
			return frag;
		}
	}
};