code:
App.SlaveAssignment.hormonesEffects = (function() {
	"use strict";

	let r;

	// eslint-disable-next-line no-unused-vars
	let he, him, his, hers, himself, girl, loli, He, His;

	let gigantomastiaMod;
	let rearLipedemaMod;
	let boobSize;
	let buttSize;
	let normBreasts;
	let normButt;
	let faceValue;
	let faceInc;
	let faceDec;

	return saHormonesEffects;

	/**
	 * @param {App.Entity.SlaveState} slave
	 * @returns {string}
	 */
	function saHormonesEffects(slave) {
		r = [];
		gigantomastiaMod = slave.geneticQuirks.gigantomastia === 2 ? (slave.geneticQuirks.macromastia === 2 ? 3 : 2) : 1;
		rearLipedemaMod = slave.geneticQuirks.rearLipedema === 2 ? 1 : 0;
		boobSize = slave.boobs - slave.boobsImplant - slave.boobsMilk;
		buttSize = slave.butt - slave.buttImplant;
		faceValue = slave.face - slave.faceImplant;

		({
			// eslint-disable-next-line no-unused-vars
			he, him, his, hers, himself, girl, He, His, loli
		} = getPronouns(slave));

		hormoneBalance(slave);
		if (V.hormoneUpgradeMood === 0) {
			moodConflict(slave);
		}
		if (slave.physicalAge >= 18 || V.loliGrow === 0 || slave.geneMods.NCS === 1) {
			hormonesEffects(slave);
		}
		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
			hormoneReactions(slave);
		}

		return r.join(" ");
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function hormoneBalance(slave) {
		if (slave.hormoneBalance <= -400) {
			r.push(`${His} hormone balance is overwhelmingly masculine.`);
		} else if (slave.hormoneBalance <= -300) {
			r.push(`${His} hormone balance is extremely masculine.`);
		} else if (slave.hormoneBalance <= -200) {
			r.push(`${His} hormone balance is heavily masculine.`);
		} else if (slave.hormoneBalance <= -100) {
			r.push(`${His} hormone balance is very masculine.`);
		} else if (slave.hormoneBalance < -20) {
			r.push(`${His} hormone balance is masculine.`);
		} else if (slave.hormoneBalance >= 400) {
			r.push(`${His} hormone balance is overwhelmingly feminine.`);
		} else if (slave.hormoneBalance >= 300) {
			r.push(`${His} hormone balance is extremely feminine.`);
		} else if (slave.hormoneBalance >= 200) {
			r.push(`${His} hormone balance is heavily feminine.`);
		} else if (slave.hormoneBalance >= 100) {
			r.push(`${His} hormone balance is very feminine.`);
		} else if (slave.hormoneBalance > 20) {
			r.push(`${His} hormone balance is feminine.`);
		} else {
			r.push(`${He} has a neutral hormone balance.`);
		}
		if (Math.abs(slave.hormones) > 1) {
			slave.chem += 0.5;
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function moodConflict(slave) {
		if (slave.hormoneBalance > 20 && slave.genes === "XY" && slave.balls !== 0 && slave.ballType !== "sterile") {
			r.push(`${His} feminine hormonal balance conflicts with ${his} natural hormones,`);
			if (slave.devotion > 50) {
				r.push(`but ${he}'s a good enough slave to suppress the occasional moodiness.`);
			} else {
				r.push(`causing <span class="mediumorchid">occasional moodiness.</span>`);
				slave.devotion -= 1;
			}
			if (slave.energy > 10) {
				r.push(`It also has the unfortunate consequence of <span class="red">damaging ${his} libido.</span>`);
				slave.energy--;
			}
			if (slave.attrXX > 50 || slave.attrXY > 50) {
				r.push(`Even more troubling, ${his} sexual confusion <span class="red">leaves ${him} finding others less attractive.</span>`);
				if (slave.attrXX > 50) {
					slave.attrXX--;
				}
				if (slave.attrXY > 50) {
					slave.attrXY--;
				}
			}
		}
		if (slave.hormoneBalance < -20 && slave.genes === "XX" && (slave.ovaries !== 0 || slave.mpreg !== 0)) {
			r.push(`${His} masculine hormonal balance conflicts with ${his} natural hormones,`);
			if (slave.devotion > 50) {
				r.push(`but ${he}'s a good enough slave to suppress the occasional moodiness.`);
			} else {
				r.push(`causing <span class="mediumorchid">occasional moodiness.</span>`);
				slave.devotion -= 1;
			}
			if (slave.energy > 10) {
				r.push(`It also has the unfortunate consequence of <span class="red">damaging ${his} libido.</span>`);
				slave.energy--;
			}
			if (slave.attrXX > 50 || slave.attrXY > 50) {
				r.push(`Even more troubling, ${his} sexual confusion <span class="red">leaves ${him} finding others less attractive.</span>`);
				if (slave.attrXX > 50) {
					slave.attrXX--;
				}
				if (slave.attrXY > 50) {
					slave.attrXY--;
				}
			}
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function hormonesEffects(slave) {
		if (Math.abs(slave.hormoneBalance) >= 50) {
			if (slave.hormoneBalance > 30 && slave.geneMods.NCS !== 1) {
				/* 'Expected' breast size based on weight for feminine-bodied slaves */
				normBreasts = Math.trunc((100 + (slave.weight + 100) * 5 + 2 * slave.lactationAdaptation) * (0.85 + slave.hormoneBalance / 400) * gigantomastiaMod);
				normButt = ((slave.weight + 100) * 0.025 * (0.9 + slave.hormoneBalance / 600) * (rearLipedemaMod / 2 + 1));
			}

			if (slave.hormoneBalance >= 350) {
				if (slave.geneMods.NCS === 1) {
					if ((slave.shoulders + Math.abs(slave.shouldersImplant)) > -1 && slave.shoulders > -2 && jsRandom(1, 100) < (40 + (20 * V.hormoneUpgradePower))) {
						r.push(`Feminine hormones team up with ${his} <span class="orange">NCS</span> to cause <span class="lime">${his} shoulders to shrink into a more childlike narrowness</span> than before.`);
						slave.shoulders--;
					}
				} else if (slave.physicalAge < 25) {
					if (slave.shoulders + Math.abs(slave.shouldersImplant) > -1 && slave.shoulders > -2 && jsRandom(1, 100) < 20 + (10 * V.hormoneUpgradePower)) {
						r.push(`${His} body has not yet found its final bone structure, which typically happens in the mid-twenties. Hormonal effects cause ${his} shoulders to develop into a more feminine narrowness than they would have done naturally.`);
						slave.shoulders--;
					}
					if (slave.geneMods.NCS === 0 && slave.hips - (Math.abs(slave.hipsImplant)) < 1 && slave.hips < 2 && jsRandom(1, 100) <= 20 + (10 * V.hormoneUpgradePower)) {
						r.push(`${His} body has not yet found its final bone structure, which typically happens in the mid-twenties. Hormonal effects cause ${his} hips to develop more broadly than they would have done naturally.`);
						slave.hips++;
					}
				}

				if (slave.faceImplant < 5) {
					if (slave.faceShape === "masculine") {
						r.push(`Hormonal effects cause <span class="orange">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike`);
						}
						r.push(`androgyny.</span>`);
						slave.faceShape = "androgynous";
					} else if (slave.faceShape === "androgynous" && slave.geneticQuirks.androgyny !== 2) {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike normalcy.</span>`);
						} else {
							r.push(`femininity.</span>`);
						}
						slave.faceShape = "normal";
					} else if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.faceShape === "normal") {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into childlike cuteness.</span>`);
						slave.faceShape = "cute";
					}
				}
				if (faceValue < 50 && slave.face < 75) {
					r.push(`Hormonal effects cause <span class="lime">${his} facial structure to soften and become ${slave.face >= 0 ? "more attractive" : "less unattractive"}.</span>`);
					faceInc = 1 + V.hormoneUpgradePower;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						faceInc *= 2;
					}
					faceIncrease(slave, faceInc);
				}

				if (slave.voice < 3 && slave.voice > 0) {
					r.push(`Hormonal effects cause <span class="lime">${his} voice to become higher and more`);
					if (slave.geneMods.NCS === 1) {
						r.push(`childlike.</span>`);
					} else {
						r.push(`feminine.</span>`);
					}
					slave.voice++;
				}

				if (slave.muscles > 10 && slave.diet !== "muscle building" && slave.drugs !== "steroids" && (slave.geneticQuirks.mGain !== 2 || slave.geneticQuirks.mLoss === 2)) {
					r.push(`Hormonal effects <span class="orange">reduce ${his} musculature.</span>`);
					slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					}
				}
				if (slave.waist > -30) {
					r.push(`Hormonal effects cause ${his} <span class="lime">waist to narrow.</span>`);
					slave.waist -= 2 + V.hormoneUpgradePower;
				}

				if (slave.geneMods.NCS === 0) {
					if (boobSize < 0.9 * normBreasts) {
						/* Grow to 90% of normBreasts */
						r.push(`Hormonal effects cause <span class="lime">a small amount of natural breast growth.</span>`);
						slave.boobs += 25;
					}
					if (slave.nipples === "tiny") {
						r.push(`Hormonal effects cause ${his} tiny <span class="lime">nipples to grow to a more normal size.</span>`);
						slave.nipples = "cute";
					}
					if (buttSize < Math.trunc(4.5 * normButt) / 5) {
						/* 90% of normButt, rounded down to the next increment of .2 */
						r.push(`Hormonal effects cause <span class="lime">the natural size of ${his} butt to increase.</span>`);
						slave.butt += 0.2;
					}
				} else {
					r.push(`${His} <span class="orange">NCS</span> blocks asset growth despite the fact that ${his} body is swimming in hormones.`);
				}
				if (slave.vagina > -1 && slave.ovaries !== 0 && slave.vaginaLube < 2) {
					r.push(`Hormonal effects cause <span class="lime">${his} vagina to produce more copious natural lubricant.</span>`);
					slave.vaginaLube++;
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (slave.dick > 1) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.dick > 2) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} dick to atrophy a lot.</span>`);
							slave.dick -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} dick to atrophy.</span>`);
						}
						slave.dick--;
					}
					if (slave.balls > 1) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.balls > 2) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} testicles to atrophy a lot.</span>`);
							slave.balls -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} testicles to atrophy.</span>`);
						}
						slave.balls--;
					}
					if (slave.clit > 0) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.clit > 1) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} clit to shrink down greatly.</span>`);
							slave.clit -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} clit to shrink significantly.</span>`);
						}
						slave.clit--;
					}
				}

				if (slave.devotion <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="hotpink">docile.</span>`);
					slave.devotion++;
				}
				if (slave.trust <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="mediumaquamarine">trusting.</span>`);
					slave.trust++;
				}
				if (slave.attrXY < 100) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to men.</span>`);
					slave.attrXY += 2 + V.hormoneUpgradePower;
				}
			} else if (slave.hormoneBalance >= 300) {
				if (slave.faceImplant < 5) {
					if (slave.faceShape === "masculine") {
						r.push(`Hormonal effects cause <span class="orange">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike`);
						}
						r.push(`androgyny.</span>`);
						slave.faceShape = "androgynous";
					} else if (slave.faceShape === "androgynous" && slave.geneticQuirks.androgyny !== 2) {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike normalcy.</span>`);
						} else {
							r.push(`femininity.</span>`);
						}
						slave.faceShape = "normal";
					} else if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.faceShape === "normal") {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into childlike cuteness.</span>`);
						slave.faceShape = "cute";
					}
				}
				if (faceValue < 30 && slave.face < 60) {
					r.push(`Hormonal effects cause <span class="lime">${his} facial structure to soften and become ${slave.face >= 0 ? "more attractive" : "less unattractive"}.</span>`);
					faceInc = 1 + V.hormoneUpgradePower;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						faceInc *= 2;
					}
					faceIncrease(slave, faceInc);
				}

				if (slave.voice < 3 && slave.voice > 0) {
					r.push(`Hormonal effects cause <span class="lime">${his} voice to become higher and more`);
					if (slave.geneMods.NCS === 1) {
						r.push(`childlike.</span>`);
					} else {
						r.push(`feminine.</span>`);
					}
					slave.voice++;
				}

				if (slave.muscles > 30 && slave.diet !== "muscle building" && slave.drugs !== "steroids" && (slave.geneticQuirks.mGain !== 2 || slave.geneticQuirks.mLoss === 2)) {
					r.push(`Hormonal effects <span class="orange">reduce ${his} musculature.</span>`);
					slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					}
				}
				if (slave.waist > -10) {
					r.push(`Hormonal effects cause ${his} <span class="lime">waist to narrow.</span>`);
					slave.waist -= 2 + V.hormoneUpgradePower;
				}

				if (slave.geneMods.NCS === 0) {
					if (boobSize < 0.8 * normBreasts) {
						/* Grow to 80% of expected */
						r.push(`Hormonal effects cause <span class="lime">a small amount of natural breast growth.</span>`);
						slave.boobs += 25;
					}
					if (slave.nipples === "tiny") {
						r.push(`Hormonal effects cause ${his} tiny <span class="lime">nipples to grow to a more normal size.</span>`);
						slave.nipples = "cute";
					}
					if (buttSize < Math.trunc(4 * normButt) / 5) {
						/* 80% of normButt, rounded down to the next increment of .2 */
						r.push(`Hormonal effects cause <span class="lime">the natural size of ${his} butt to increase.</span>`);
						slave.butt += 0.2;
					}
				}
				if (slave.vagina > -1 && slave.ovaries !== 0 && slave.vaginaLube < 2) {
					r.push(`Hormonal effects cause <span class="lime">${his} vagina to produce more copious natural lubricant.</span>`);
					slave.vaginaLube++;
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (slave.dick > 1) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.dick > 2) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} dick to atrophy a lot.</span>`);
							slave.dick -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} dick to atrophy.</span>`);
						}
						slave.dick--;
					}
					if (slave.balls > 1) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.balls > 2) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} testicles to atrophy a lot.</span>`);
							slave.balls -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} testicles to atrophy.</span>`);
						}
						slave.balls--;
					}
					if (slave.clit > 0) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.clit > 1) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} clit to shrink down greatly.</span>`);
							slave.clit -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} clit to shrink significantly.</span>`);
						}
						slave.clit--;
					}
				}

				if (slave.devotion <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="hotpink">docile.</span>`);
					slave.devotion++;
				}
				if (slave.trust <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="mediumaquamarine">trusting.</span>`);
					slave.trust++;
				}
				if (slave.attrXY < 100) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to men.</span>`);
					slave.attrXY += 2 + V.hormoneUpgradePower;
				}
			} else if (slave.hormoneBalance >= 250) {
				if (slave.faceImplant < 5) {
					if (slave.faceShape === "masculine") {
						r.push(`Hormonal effects cause <span class="orange">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike`);
						}
						r.push(`androgyny.</span>`);
						slave.faceShape = "androgynous";
					} else if (slave.faceShape === "androgynous" && slave.geneticQuirks.androgyny !== 2) {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike normalcy.</span>`);
						} else {
							r.push(`femininity.</span>`);
						}
						slave.faceShape = "normal";
					} else if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.faceShape === "normal") {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into childlike cuteness.</span>`);
						slave.faceShape = "cute";
					}
				}
				if (faceValue < 10 && slave.face < 30) {
					r.push(`Hormonal effects cause <span class="lime">${his} facial structure to soften and become ${slave.face >= 0 ? "more attractive" : "less unattractive"}.</span>`);
					faceInc = 1 + V.hormoneUpgradePower;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						faceInc *= 2;
					}
					faceIncrease(slave, faceInc);
				}

				if (slave.voice < 2 && slave.voice > 0) {
					r.push(`Hormonal effects cause <span class="lime">${his} voice to become higher and more`);
					if (slave.geneMods.NCS === 1) {
						r.push(`childlike.</span>`);
					} else {
						r.push(`feminine.</span>`);
					}
					slave.voice++;
				}

				if (slave.muscles > 30 && slave.diet !== "muscle building" && slave.drugs !== "steroids" && (slave.geneticQuirks.mGain !== 2 || slave.geneticQuirks.mLoss === 2)) {
					r.push(`Hormonal effects <span class="orange">reduce ${his} musculature.</span>`);
					slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					}
				}
				if (slave.waist > 0) {
					r.push(`Hormonal effects cause ${his} <span class="lime">waist to narrow.</span>`);
					slave.waist -= 2 + V.hormoneUpgradePower;
				}

				if (slave.geneMods.NCS === 0) {
					if (boobSize < 0.7 * normBreasts) {
						/* Grow to 70% of expected */
						r.push(`Hormonal effects cause <span class="lime">a small amount of natural breast growth.</span>`);
						slave.boobs += 25;
					}
					if (slave.nipples === "tiny") {
						r.push(`Hormonal effects cause ${his} tiny <span class="lime">nipples to grow to a more normal size.</span>`);
						slave.nipples = "cute";
					}
					if (buttSize < Math.trunc(3.5 * normButt) / 5) {
						/* 70% of normButt, rounded down to the next increment of .2 */
						r.push(`Hormonal effects cause <span class="lime">the natural size of ${his} butt to increase.</span>`);
						slave.butt += 0.2;
					}
				}
				if (slave.vagina > -1 && slave.ovaries !== 0 && slave.vaginaLube < 1) {
					r.push(`Hormonal effects cause <span class="lime">${his} vagina to produce more copious natural lubricant.</span>`);
					slave.vaginaLube++;
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (slave.dick > 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} dick to atrophy a lot.</span>`);
							slave.dick -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} dick to atrophy.</span>`);
						}
						slave.dick--;
					}
					if (slave.balls > 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} testicles to atrophy a lot.</span>`);
							slave.balls -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} testicles to atrophy.</span>`);
						}
						slave.balls--;
					}
					if (slave.clit > 1) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} clit to shrink down greatly.</span>`);
							slave.clit -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} clit to shrink significantly.</span>`);
						}
						slave.clit--;
					}
				}

				if (slave.devotion <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="hotpink">docile.</span>`);
					slave.devotion++;
				}
				if (slave.trust <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="mediumaquamarine">trusting.</span>`);
					slave.trust++;
				}
				if (slave.attrXY < 95) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to men.</span>`);
					slave.attrXY += 2 + V.hormoneUpgradePower;
				}
			} else if (slave.hormoneBalance >= 200) {
				if (slave.faceImplant < 5) {
					if (slave.faceShape === "masculine") {
						r.push(`Hormonal effects cause <span class="orange">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike`);
						}
						r.push(`androgyny.</span>`);
						slave.faceShape = "androgynous";
					} else if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.faceShape === "androgynous" && slave.geneticQuirks.androgyny !== 2) {
						r.push(`Hormonal effects cause <span class="lime">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike normalcy.</span>`);
						} else {
							r.push(`femininity.</span>`);
						}
						slave.faceShape = "normal";
					}
				}
				if (faceValue < 0 && slave.face < 0) {
					r.push(`Hormonal effects cause <span class="lime">${his} facial structure to soften and become less unattractive.</span>`);
					faceInc = 1 + V.hormoneUpgradePower;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						faceInc *= 2;
					}
					faceIncrease(slave, faceInc);
				}

				if (slave.voice < 2 && slave.voice > 0) {
					r.push(`Hormonal effects cause <span class="lime">${his} voice to become higher and more`);
					if (slave.geneMods.NCS === 1) {
						r.push(`childlike.</span>`);
					} else {
						r.push(`feminine.</span>`);
					}
					slave.voice++;
				}

				if (slave.muscles > 30 && slave.diet !== "muscle building" && slave.drugs !== "steroids" && (slave.geneticQuirks.mGain !== 2 || slave.geneticQuirks.mLoss === 2)) {
					r.push(`Hormonal effects <span class="orange">reduce ${his} musculature.</span>`);
					slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
						slave.muscles -= 2 + V.hormoneUpgradePower + slave.geneticQuirks.mLoss;
					}
				}
				if (slave.waist > 10) {
					r.push(`Hormonal effects cause ${his} <span class="lime">waist to narrow.</span>`);
					slave.waist -= 2 + V.hormoneUpgradePower;
				}

				if (slave.geneMods.NCS === 0) {
					if (boobSize < 0.6 * normBreasts) {
						/* Grow to 60% of expected */
						r.push(`Hormonal effects cause <span class="lime">a small amount of natural breast growth.</span>`);
						slave.boobs += 25;
					}
					if (slave.nipples === "tiny") {
						r.push(`Hormonal effects cause ${his} tiny <span class="lime">nipples to grow to a more normal size.</span>`);
						slave.nipples = "cute";
					}
					if (buttSize < Math.trunc(3 * normButt) / 5) {
						/* 60% of normButt, rounded down to the next increment of .2 */
						r.push(`Hormonal effects cause <span class="lime">the natural size of ${his} butt to increase.</span>`);
						slave.butt += 0.2;
					}
				}
				if (slave.vagina > -1 && slave.ovaries !== 0 && slave.vaginaLube < 1) {
					r.push(`Hormonal effects cause <span class="lime">${his} vagina to produce more copious natural lubricant.</span>`);
					slave.vaginaLube++;
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (slave.dick > 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} dick to atrophy a lot.</span>`);
							slave.dick -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} dick to atrophy.</span>`);
							slave.dick--;
						}
					}
					if (slave.balls > 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} testicles to atrophy a lot.</span>`);
							slave.balls -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} testicles to atrophy.</span>`);
						}
						slave.balls--;
					}
					if (slave.clit > 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} clit to shrink down greatly.</span>`);
							slave.clit -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">${his} clit to shrink significantly.</span>`);
						}
						slave.clit--;
					}
				}

				if (slave.devotion <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="hotpink">docile.</span>`);
					slave.devotion++;
				}
				if (slave.trust <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="mediumaquamarine">trusting.</span>`);
					slave.trust++;
				}
				if (slave.attrXY < 90) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to men.</span>`);
					slave.attrXY += 2 + V.hormoneUpgradePower;
				}
			} else if (slave.hormoneBalance >= 100) {
				if (slave.faceImplant < 5) {
					if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && slave.faceShape === "masculine") {
						r.push(`Hormonal effects cause <span class="orange">${his} face to soften into`);
						if (slave.geneMods.NCS === 1) {
							r.push(`childlike`);
						}
						r.push(`androgyny.</span>`);
						slave.faceShape = "androgynous";
					}
				}

				if (slave.geneMods.NCS === 0) {
					if (boobSize < 0.5 * normBreasts) {
						/* Grow to 50% of expected */
						r.push(`Hormonal effects cause <span class="lime">a small amount of natural breast growth.</span>`);
						slave.boobs += 25;
					}
				}

				if (slave.devotion <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="hotpink">docile.</span>`);
					slave.devotion++;
				}
				if (slave.trust <= 20) {
					r.push(`Hormonal effects make ${him} a bit more <span class="mediumaquamarine">trusting.</span>`);
					slave.trust++;
				}
				if (slave.attrXY < 80) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to men.</span>`);
					slave.attrXY += 2 + V.hormoneUpgradePower;
				}
			} else if (slave.hormoneBalance >= 50) {
				if (slave.attrXY < 70) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to men.</span>`);
					slave.attrXY += 2 + V.hormoneUpgradePower;
				}
			} else if (slave.hormoneBalance <= -350) {
				if (slave.geneMods.NCS === 1) {
					if (slave.hips + Math.abs(slave.hipsImplant) > -1 && slave.hips > -2 && (jsRandom(1, 100) <= 20 + (10 * V.hormoneUpgradePower))) {
						r.push(`Masculine hormones team up with ${his} <span class="orange">NCS</span> to cause <span class="lime">${his} hips to shrink into a more childlike narrowness</span> than before.`);
						slave.hips -= 1;
					}
				} else if (slave.physicalAge < 25) {
					if ((slave.shoulders - (Math.abs(slave.shouldersImplant)) < 1) && (slave.shoulders < 2) && (jsRandom(1, 100) < 20 + (10 * V.hormoneUpgradePower))) {
						r.push(`${His} body has not yet found its final bone structure, which typically happens in the mid-twenties. Hormonal effects cause ${his} shoulders to develop a more masculine wideness than they would have done naturally.`);
						slave.shoulders += 1;
					}
					if ((slave.hips + (Math.abs(slave.hipsImplant)) > -1) && (slave.hips > -2) && (jsRandom(1, 100) <= 20 + (10 * V.hormoneUpgradePower))) {
						r.push(`${His} body has not yet found its final bone structure, which typically happens in the mid-twenties. Hormonal effects cause ${his} hips to develop more narrowly than they would have done naturally.`);
						slave.hips -= 1;
					}
				}

				if (slave.geneMods.NCS === 0) {
					if (slave.faceImplant < 5) {
						if (slave.geneticQuirks.androgyny !== 2) {
							if (slave.faceShape === "androgynous") {
								r.push(`Hormonal effects cause <span class="orange">${his} face to harden into masculinity.</span>`);
								slave.faceShape = "masculine";
							} else if (slave.faceShape !== "masculine") {
								r.push(`Hormonal effects cause <span class="orange">${his} face to harden into androgyny.</span>`);
								slave.faceShape = "androgynous";
							}
						}
					}
					if (faceValue > 0 && faceValue < 100) {
						r.push(`Hormonal effects cause <span class="orange">${his} facial structure to harden and become less attractive.</span>`);
						faceDec = 1 + V.hormoneUpgradePower;
						slave.face = Math.clamp(slave.face - faceDec, -100, 100);
					}
					if (slave.voice > 1) {
						r.push(`Hormonal effects cause <span class="orange">${his} voice to become deeper and less feminine.</span>`);
						slave.voice--;
					}
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (buttSize > 1 && rearLipedemaMod !== 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && buttSize > 2) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} butt to decrease a lot.</span>`);
							slave.butt -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} butt to decrease.</span>`);
						}
						slave.butt--;
					}
					if (boobSize > 100 * gigantomastiaMod && gigantomastiaMod !== 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && boobSize > 200) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} tits to shrink a lot.</span>`);
							slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} tits to shrink.</span>`);
						}
						slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
					}
				}
				if (slave.geneMods.NCS === 1 && slave.nipples === "tiny") {
					/* nothing, just don't advance to cute */
				} else if (slave.nipples !== "cute" && slave.nipples !== "fuckable") {
					r.push(`Hormonal effects cause ${his} <span class="orange">nipples to shrink to a more masculine size.</span>`);
					slave.nipples = "cute";
				}

				if (slave.geneMods.NCS === 0) {
					if (slave.dick > 0 && slave.dick < 5) {
						r.push(`Hormonal effects add <span class="lime">a bit more heft to ${his} penis.</span>`);
						slave.dick++;
					}
					if (slave.balls > 0 && slave.balls < 5) {
						r.push(`Hormonal effects cause <span class="lime">${his} balls to hang a little heavier.</span>`);
						slave.balls++;
					}

					if (slave.clit < 5 && slave.dick === 0) {
						r.push(`Hormonal effects cause <span class="lime">${his} clit to grow significantly.</span>`);
						slave.clit++;
					}
					if (slave.vagina > -1 && slave.vaginaLube > 0) {
						r.push(`Hormonal effects cause <span class="orange">${his} vagina to produce less natural lubricant.</span>`);
						slave.vaginaLube--;
					}

					if (slave.muscles <= 50 && slave.diet !== "slimming") {
						r.push(`Hormonal effects <span class="lime">build up ${his} musculature.</span>`);
						slave.muscles += 2 + V.hormoneUpgradePower + slave.geneticQuirks.mGain;
					}
					if (slave.waist < 80) {
						r.push(`Hormonal effects cause ${his} <span class="orange">waist to broaden.</span>`);
						slave.waist += 2 + V.hormoneUpgradePower;
					}
				}

				if (slave.attrXX < 100) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to women.</span>`);
					slave.attrXX += 2 + V.hormoneUpgradePower;
				}

				if (slave.devotion > 20 && slave.trust <= 20) {
					r.push(`Hormonal effects <span class="mediumorchid">make ${him} a bit less docile.</span>`);
					slave.devotion -= 1;
				}
			} else if (slave.hormoneBalance <= -300) {
				if (slave.geneMods.NCS === 0) {
					if (slave.faceImplant < 5) {
						if (slave.geneticQuirks.androgyny !== 2) {
							if (slave.faceShape === "androgynous") {
								r.push(`Hormonal effects cause <span class="orange">${his} face to harden into masculinity.</span>`);
								slave.faceShape = "masculine";
							} else if (slave.faceShape !== "masculine") {
								r.push(`Hormonal effects cause <span class="orange">${his} face to harden into androgyny.</span>`);
								slave.faceShape = "androgynous";
							}
						}
					}
					if (faceValue > 0 && faceValue < 100) {
						r.push(`Hormonal effects cause <span class="orange">${his} facial structure to harden and become less attractive.</span>`);
						faceDec = 1 + V.hormoneUpgradePower;
						slave.face = Math.clamp(slave.face - faceDec, -100, 100);
					}

					if (slave.voice > 1) {
						r.push(`Hormonal effects cause <span class="orange">${his} voice to become deeper and less feminine.</span>`);
						slave.voice--;
					}
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (buttSize > 1 && rearLipedemaMod !== 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50 && buttSize > 2) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} butt to decrease a lot.</span>`);
							slave.butt -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} butt to decrease.</span>`);
						}
						slave.butt--;
					}
					if (boobSize > 300 * gigantomastiaMod && gigantomastiaMod !== 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} tits to shrink a lot.</span>`);
							slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} tits to shrink.</span>`);
						}
						slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
					}
				}
				if (slave.geneMods.NCS === 1 && slave.nipples === "tiny") {
					/* nothing, just don't advance to cute */
				} else if (slave.nipples !== "cute" && slave.nipples !== "fuckable") {
					r.push(`Hormonal effects cause ${his} <span class="orange">nipples to shrink to a more masculine size.</span>`);
					slave.nipples = "cute";
				}

				if (slave.geneMods.NCS === 0) {
					if (slave.dick > 0 && slave.dick < 5) {
						r.push(`Hormonal effects add <span class="lime">a bit more heft to ${his} penis.</span>`);
						slave.dick++;
					}
					if (slave.balls > 0 && slave.balls < 5 && slave.ballType !== "sterile") {
						r.push(`Hormonal effects cause <span class="lime">${his} balls to hang a little heavier.</span>`);
						slave.balls++;
					}

					if (slave.clit < 4 && slave.dick === 0) {
						r.push(`Hormonal effects cause <span class="lime">${his} clit to grow significantly.</span>`);
						slave.clit++;
					}
					if (slave.vagina > -1 && slave.vaginaLube > 0) {
						r.push(`Hormonal effects cause <span class="orange">${his} vagina to produce less natural lubricant.</span>`);
						slave.vaginaLube--;
					}

					if (slave.muscles <= 50 && slave.diet !== "slimming") {
						r.push(`Hormonal effects <span class="lime">build up ${his} musculature.</span>`);
						slave.muscles += 2 + V.hormoneUpgradePower + slave.geneticQuirks.mGain;
					}
					if (slave.waist < 40) {
						r.push(`Hormonal effects cause ${his} <span class="orange">waist to broaden.</span>`);
						slave.waist += 2 + V.hormoneUpgradePower;
					}
				}

				if (slave.attrXX < 100) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to women.</span>`);
					slave.attrXX += 2 + V.hormoneUpgradePower;
				}

				if (slave.devotion > 20 && slave.trust <= 20) {
					r.push(`Hormonal effects <span class="mediumorchid">make ${him} a bit less docile.</span>`);
					slave.devotion -= 1;
				}
			} else if (slave.hormoneBalance <= -250) {
				if (slave.geneMods.NCS === 0) {
					if (slave.faceImplant < 5) {
						if (slave.faceShape !== "masculine" && slave.faceShape !== "androgynous") {
							r.push(`Hormonal effects cause <span class="orange">${his} face to harden into androgyny.</span>`);
							slave.faceShape = "androgynous";
						}
					}
					if (faceValue > 20 && faceValue < 100) {
						r.push(`Hormonal effects cause <span class="orange">${his} facial structure to harden and become less attractive.</span>`);
						faceDec = 1 + V.hormoneUpgradePower;
						slave.face = Math.clamp(slave.face - faceDec, -100, 100);
					}

					if (slave.voice > 1) {
						r.push(`Hormonal effects cause <span class="orange">${his} voice to become deeper and less feminine.</span>`);
						slave.voice--;
					}
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (buttSize > 2 && rearLipedemaMod !== 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} butt to decrease a lot.</span>`);
							slave.butt -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} butt to decrease.</span>`);
						}
						slave.butt--;
					}
					if (boobSize > 400 * gigantomastiaMod && gigantomastiaMod !== 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} tits to shrink a lot.</span>`);
							slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} tits to shrink.</span>`);
						}
						slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
					}
				}
				if (slave.geneMods.NCS === 1 && slave.nipples === "tiny") {
					/* nothing, just don't advance to cute */
				} else if (slave.nipples !== "cute" && slave.nipples !== "fuckable") {
					r.push(`Hormonal effects cause ${his} <span class="orange">nipples to shrink to a more masculine size.</span>`);
					slave.nipples = "cute";
				}

				if (slave.geneMods.NCS === 0) {
					if (slave.dick > 0 && slave.dick < 4) {
						r.push(`Hormonal effects add <span class="lime">a bit more heft to ${his} penis.</span>`);
						slave.dick++;
					}
					if (slave.balls > 0 && slave.balls < 4 && slave.ballType !== "sterile") {
						r.push(`Hormonal effects cause <span class="lime">${his} balls to hang a little heavier.</span>`);
						slave.balls++;
					}

					if (slave.clit < 3 && slave.dick === 0) {
						r.push(`Hormonal effects cause <span class="lime">${his} clit to grow significantly.</span>`);
						slave.clit++;
					}
					if (slave.vagina > -1 && slave.vaginaLube > 0) {
						r.push(`Hormonal effects cause <span class="orange">${his} vagina to produce less natural lubricant.</span>`);
						slave.vaginaLube--;
					}

					if (slave.muscles <= 35 && slave.diet !== "slimming") {
						r.push(`Hormonal effects <span class="lime">build up ${his} musculature.</span>`);
						slave.muscles += 2 + V.hormoneUpgradePower + slave.geneticQuirks.mGain;
					}
					if (slave.waist < 25) {
						r.push(`Hormonal effects cause ${his} <span class="orange">waist to broaden.</span>`);
						slave.waist += 2 + V.hormoneUpgradePower;
					}
				}

				if (slave.attrXX < 95) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to women.</span>`);
					slave.attrXX += 2 + V.hormoneUpgradePower;
				}

				if (slave.devotion > 20 && slave.trust <= 20) {
					r.push(`Hormonal effects <span class="mediumorchid">make ${him} a bit less docile.</span>`);
					slave.devotion -= 1;
				}
			} else if (slave.hormoneBalance <= -200) {
				if (slave.geneMods.NCS === 0) {
					if (slave.faceImplant < 5) {
						if (slave.faceShape !== "masculine" && slave.faceShape !== "androgynous") {
							r.push(`Hormonal effects cause <span class="orange">${his} face to harden into androgyny.</span>`);
							slave.faceShape = "androgynous";
						}
					}
					if (faceValue > 40 && faceValue < 100) {
						r.push(`Hormonal effects cause <span class="orange">${his} facial structure to harden and become less attractive.</span>`);
						faceDec = 1 + V.hormoneUpgradePower;
						slave.face = Math.clamp(slave.face - faceDec, -100, 100);
					}

					if (slave.voice > 2) {
						r.push(`Hormonal effects cause <span class="orange">${his} voice to become deeper and less feminine.</span>`);
						slave.voice--;
					}
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (buttSize > 3 && rearLipedemaMod !== 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} butt to decrease a lot.</span>`);
							slave.butt -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} butt to decrease.</span>`);
						}
						slave.butt--;
					}
					if (boobSize > 600 * gigantomastiaMod && gigantomastiaMod !== 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} tits to shrink a lot.</span>`);
							slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} tits to shrink.</span>`);
						}
						slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
					}
				}
				if (slave.nipples === "huge" || slave.nipples === "puffy") {
					r.push(`Hormonal effects cause ${his} big <span class="orange">nipples to shrink to a more reasonable size.</span>`);
					slave.nipples = "cute";
				}

				if (slave.geneMods.NCS === 0) {
					if (slave.dick > 0 && slave.dick < 3) {
						r.push(`Hormonal effects add <span class="lime">a bit more heft to ${his} penis.</span>`);
						slave.dick++;
					}
					if (slave.balls > 0 && slave.balls < 3 && slave.ballType !== "sterile") {
						r.push(`Hormonal effects cause <span class="lime">${his} balls to hang a little heavier.</span>`);
						slave.balls++;
					}

					if (slave.clit < 2 && slave.dick === 0) {
						r.push(`Hormonal effects cause <span class="lime">${his} clit to grow significantly.</span>`);
						slave.clit++;
					}
					if (slave.vagina > -1 && slave.vaginaLube > 0) {
						r.push(`Hormonal effects cause <span class="orange">${his} vagina to produce less natural lubricant.</span>`);
						slave.vaginaLube--;
					}

					if (slave.muscles <= 15 && slave.diet !== "slimming") {
						r.push(`Hormonal effects <span class="lime">build up ${his} musculature.</span>`);
						slave.muscles += 2 + V.hormoneUpgradePower + slave.geneticQuirks.mGain;
					}
					if (slave.waist < 9) {
						r.push(`Hormonal effects cause ${his} <span class="orange">waist to broaden.</span>`);
						slave.waist += 2 + V.hormoneUpgradePower;
					}
				}

				if (slave.attrXX < 90) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to women.</span>`);
					slave.attrXX += 2 + V.hormoneUpgradePower;
				}

				if (slave.devotion > 20 && slave.trust <= 20) {
					r.push(`Hormonal effects <span class="mediumorchid">make ${him} a bit less docile.</span>`);
					slave.devotion -= 1;
				}
			} else if (slave.hormoneBalance <= -100) {
				if (slave.geneMods.NCS === 0) {
					if (faceValue > 60 && faceValue < 100) {
						r.push(`Hormonal effects cause <span class="orange">${his} facial structure to harden and become less attractive.</span>`);
						faceDec = 1 + V.hormoneUpgradePower;
						slave.face = Math.clamp(slave.face - faceDec, -100, 100);
					}

					if (slave.voice > 2) {
						r.push(`Hormonal effects cause <span class="orange">${his} voice to become deeper and less feminine.</span>`);
						slave.voice--;
					}
				}

				if (V.hormoneUpgradeShrinkage === 0) {
					if (buttSize > 4 && rearLipedemaMod !== 2) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} butt to decrease a lot.</span>`);
							slave.butt -= 1;
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} butt to decrease.</span>`);
						}
						slave.butt--;
					}
					if (boobSize > 800 * gigantomastiaMod && gigantomastiaMod !== 3) {
						if (slave.geneMods.NCS === 1 && jsRandom(1, 100) > 50) {
							r.push(`Hormonal effects work with ${his} <span class="orange">NCS</span> and cause <span class="orange">${his} tits to shrink a lot.</span>`);
							slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
						} else {
							r.push(`Hormonal effects cause <span class="orange">the natural size of ${his} tits to shrink.</span>`);
						}
						slave.boobs -= 10 + (15 * V.hormoneUpgradePower);
					}
				}

				if (slave.geneMods.NCS === 0) {
					if (slave.muscles < 0 && slave.diet !== "slimming") {
						r.push(`Hormonal effects <span class="lime">build up ${his} musculature.</span>`);
						slave.muscles += 2 + V.hormoneUpgradePower + slave.geneticQuirks.mGain;
					}

					if (slave.waist < 0) {
						r.push(`Hormonal effects cause ${his} <span class="orange">waist to broaden.</span>`);
						slave.waist += 2 + V.hormoneUpgradePower;
					}

					if (slave.dick > 0 && slave.dick < 2) {
						r.push(`Hormonal effects cause <span class="lime">${his} micropenis to return to a more normal size.</span>`);
						slave.dick++;
					}
					if (slave.balls > 0 && slave.balls < 2) {
						r.push(`Hormonal effects cause <span class="lime">${his} balls to drop.</span>`);
						slave.balls++;
					}

					if (slave.clit < 1 && slave.dick === 0) {
						r.push(`Hormonal effects cause <span class="lime">${his} clit to grow significantly.</span>`);
						slave.clit++;
					}
					if (slave.vagina > -1 && slave.vaginaLube > 1) {
						r.push(`Hormonal effects cause <span class="orange">${his} vagina to produce less natural lubricant.</span>`);
						slave.vaginaLube--;
					}
				}

				if (slave.attrXX < 80) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to women.</span>`);
					slave.attrXX += 2 + V.hormoneUpgradePower;
				}

				if (slave.devotion > 20 && slave.trust <= 20) {
					r.push(`Hormonal effects <span class="mediumorchid">make ${him} a bit less docile.</span>`);
					slave.devotion -= 1;
				}
			} else if (slave.hormoneBalance <= -50) {
				if (slave.attrXX < 70) {
					r.push(`Hormonal effects cause ${him} to become <span class="green">more attracted to women.</span>`);
					slave.attrXX += 2 + V.hormoneUpgradePower;
				}
			}
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function hormoneReactions(slave) {
		if (slave.hormoneBalance <= 20 && slave.hormones < 1) {
			if (slave.dick > 0) {
				if (slave.devotion > 20) {
					if ((slave.boobs < 800 && slave.butt < 3) || (slave.faceShape === "masculine") || (slave.shoulders > slave.hips) || (slave.balls > 4)) {
						if (slave.career === "a Futanari Sister") {
							r.push(`${He} wishes ${he} were more feminine, but isn't unhappy to be off hormones, since ${he} likes being a stiff dicked futa.`);
						} else if (slave.fetish === "buttslut" && slave.fetishStrength > 60 && slave.fetishKnown === 1) {
							r.push(`${He} wishes ${he} were more feminine, but ${he} loves getting fucked in the butt so much that it doesn't much bother ${him}.`);
						} else if (slave.fetish === "sadist" && slave.fetishStrength > 60 && slave.fetishKnown === 1) {
							r.push(`Life is easier for effeminate slaves, but ${he} loves abusing other slaves so much that ${he} likes being able to get hard.`);
						} else if (slave.fetish === "dom" && slave.fetishStrength > 60 && slave.fetishKnown === 1) {
							r.push(`Life is easier for effeminate slaves, but ${he} loves dominating other girls so much that ${he} likes being able to get hard.`);
						} else if (slave.energy > 95) {
							r.push(`${He} wishes ${he} were more feminine, but ${he} loves getting fucked like a good little sex slave so much that ${he} doesn't think about it much.`);
						} else if (slave.devotion <= 30) {
							r.push(`Life is easier for effeminate slaves, so <span class="mediumorchid">${he}'s a little unhappy</span> that ${he} isn't getting hormones to make ${him} more feminine.`);
							slave.devotion -= 2;
						} else if (slave.devotion <= 50) {
							r.push(`${He} wants to be a good slave girl, so <span class="mediumorchid">${he}'s a little unhappy</span> that ${he} isn't getting hormones to make ${him} look more feminine.`);
							slave.devotion -= 2;
						} else {
							r.push(`${He} wishes ${he} were more feminine, but ${he} accepts your judgment in not giving ${him} hormones to make that happen.`);
						}
					}
				}
			}
		}
	}
})();


code:
App.SlaveAssignment.inflation = (function() {
	"use strict";

	let r;

	// eslint-disable-next-line no-unused-vars
	let he, him, his, hers, himself, girl, loli, He, His;

	let gigantomastiaMod;
	let rearLipedemaMod;
	let rearLipedemaDivider;
	let distensionTerm;
	let dairyL;
	let dupeTextFlag;
	let cow;
	let harvest;

	return saInflation;

	/**
	 * @param {App.Entity.SlaveState} slave
	 * @returns {string}
	 */
	function saInflation(slave) {
		r = [];
		gigantomastiaMod = slave.geneticQuirks.gigantomastia === 2 ? (slave.geneticQuirks.macromastia === 2 ? 3 : 2) : 1;
		rearLipedemaMod = slave.geneticQuirks.rearLipedema === 2 ? 2 : 0;
		rearLipedemaDivider = rearLipedemaMod === 0 ? 1 : rearLipedemaMod;
		dairyL = App.Entity.facilities.dairy.employeesIDs().size;
		dupeTextFlag = 0;

		if (slave.inflationMethod === 3) {
			cow = slave.inflationType === "milk" ? getSlave(slave.milkSource) : getSlave(slave.cumSource);
		}

		({
			// eslint-disable-next-line no-unused-vars
			he, him, his, hers, himself, girl, He, His, loli
		} = getPronouns(slave));

		inflationCancellation(slave);
		if (slave.inflation > 0) {
			fillUp(slave);
		}
		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
			mentalEffects(slave);
		}
		if (slave.inflationType === "milk" || slave.inflationType === "food") {
			foodMeansFat(slave);
		}
		if (slave.cervixImplant >= 2) {
			cervixImplantFluidConversion(slave);
		}

		return r.join(" ");
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function inflationCancellation(slave) {
		if (slave.assignment === Job.ARCADE || slave.assignment === Job.DAIRY) {
			deflate(slave);
		} else if (slave.inflationType === "milk" && (slave.inflationMethod === 1 || slave.inflationMethod === 2) && (dairyL === 0 || V.dairy === 0) && V.arcologies[0].FSPastoralistLaw !== 1 && (slave.assignment !== Job.CELLBLOCK || V.cellblockDecoration !== "Pastoralist")) {
			r.push(`You no longer have a functional dairy. <span class="yellow">${His} inflation regimen has been ended.</span>`);
			deflate(slave);
		} else if (slave.inflationType === "milk" && slave.inflationMethod === 3 && cow.lactation === 0) {
			r.push(`${cow.slaveName} is no longer lactating and thus can no longer keep ${slave.slaveName} filled with milk. <span class="yellow">${His} inflation regimen has been ended.</span>`);
			deflate(slave);
		} else if (slave.inflationType === "cum" && (slave.inflationMethod === 1 || slave.inflationMethod === 2) && (dairyL === 0 || V.cumSlaves === 0 || V.dairy === 0) && V.arcologies[0].FSPastoralistLaw !== 1) {
			r.push(`You no longer have a functional cum dairy. <span class="yellow">${His} inflation regimen has been ended.</span>`);
			deflate(slave);
		} else if (slave.inflationType === "cum" && slave.inflationMethod === 3 && cow.balls === 0) {
			r.push(`${cow.slaveName} no longer has testicles and thus can no longer keep ${slave.slaveName} filled with cum. <span class="yellow">${His} inflation regimen has been ended.</span>`);
			deflate(slave);
		} else if (slave.bellyImplant >= 1500) {
			if (slave.inflation > 1) {
				r.push(`Due to the mounting pressure from ${his} filled abdominal implant, ${he} can no longer fill ${himself} as large as ${he} used to.`);
				slave.inflation = 1;
				SetBellySize(slave);
			} else {
				slave.bellyFluid = 2000;
				SetBellySize(slave);
			}
		} else if (slave.bellyPreg >= 1500) {
			if (slave.inflation > 1) {
				r.push(`Due to the mounting pressure from ${his} growing pregnancy, ${he} can no longer fill ${himself} as large as ${he} used to.`);
				slave.inflation = 1;
				SetBellySize(slave);
			} else {
				slave.bellyFluid = 2000;
				SetBellySize(slave);
			}
		} else if ((slave.inflationType === "milk" || slave.inflationType === "cum") && slave.inflationMethod === 3) {
			harvest = (slave.inflationType === "milk") ? Math.trunc(milkAmount(cow) / 14) : Math.trunc(cumAmount(cow) / 70);
			if (slave.inflation === 3 && harvest < 8) {
				r.push(`${cow.slaveName} is having trouble producing the requested amount of ${slave.inflationType}`);
				if (harvest < 2) {
					r.push(`needed to even fill ${him}. <span class="yellow">${His} inflation regimen has been ended.</span>`);
				} else if (harvest < 4) {
					r.push(`so ${his} serving has been reduced to a mere two liters.`);
				} else {
					r.push(`so ${his} serving has been reduced to four liters.`);
				}
			} else if (slave.inflation === 2 && harvest < 4) {
				if (harvest < 2) {
					r.push(`needed to even fill ${him}. <span class="yellow">${His} inflation regimen has been ended.</span>`);
				} else {
					r.push(`so ${his} serving has been reduced to two liters.`);
				}
			} else if (slave.inflation === 1 && harvest < 2) {
				r.push(`and can't even give ${him} a simple meal. <span class="yellow">${His} inflation regimen has been ended.</span>`);
			}
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function fillUp(slave) {
		if (slave.inflation === 3) {
			distensionTerm = `leaving ${him} looking ready to burst`;
		} else if (slave.inflation === 2) {
			distensionTerm = `leaving ${him} looking pregnant`;
		} else {
			distensionTerm = `leaving ${his} belly noticeably distended`;
		}

		switch (slave.inflationType) {
			case "water":
				r.push(`${He} makes sure to fill ${his} rear with nearly`);
				if (slave.inflation === 3) {
					r.push(`two gallons of water, ${distensionTerm}, whenever ${he} leaks or needs to release ${his} load. ${He} keeps ${himself} <span class="red">painfully full</span> for you.`);
					healthDamage(slave, 10);
				} else if (slave.inflation === 2) {
					r.push(`four liters of water, ${distensionTerm}, whenever ${he} leaks or needs to release ${his} load. ${He} is full enough to be distended but not enough to grow taut.`);
				} else if (slave.inflation === 1) {
					r.push(`two liters of water, ${distensionTerm}, whenever ${he} leaks or needs to release ${his} load. ${He} is full enough to be swollen but not enough to visibly jiggle.`);
				}
				break;

			case "urine":
				r.push(`${He} makes sure to fill ${his} rear with nearly`);
				if (slave.inflation === 3) {
					r.push(`two gallons of urine, ${distensionTerm}, whenever ${he} leaks or needs to release ${his} load. ${He} keeps ${himself} <span class="red">painfully full</span> for you.`);
					healthDamage(slave, 10);
				} else if (slave.inflation === 2) {
					r.push(`four liters of urine, ${distensionTerm}, whenever ${he} leaks or needs to release ${his} load. ${He} is full enough to be distended but not enough to grow taut.`);
				} else if (slave.inflation === 1) {
					r.push(`two liters of urine, ${distensionTerm}, whenever ${he} leaks or needs to release ${his} load. ${He} is full enough to be swollen but not enough to visibly jiggle.`);
				}
				break;

			case "aphrodisiac":
				r.push(`${He} makes sure to fill ${his} rear with nearly`);
				if (slave.inflation === 3) {
					r.push(`two gallons of an aphrodisiac solution, leaving ${him} looking ready to burst, whenever ${he} leaks or ${his} body absorbs too much. ${He} keeps ${himself} painfully full for you, though ${he} barely notices it over ${his} horniness. While having ${his} body packed full of aphrodisiacs doesn't make ${him} additionally submissive, it does amplify the effects of them. ${His} aphrodisiac bursting belly`);
					healthDamage(slave, 10);
				} else if (slave.inflation === 2) {
					r.push(`four liters of an aphrodisiac solution, leaving ${him} looking pregnant, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be distended but not enough to grow taut. While having ${his} body bloated with aphrodisiacs doesn't make ${him} additionally submissive, it does amplify the effects of them. ${His} overfilled aphrodisiac belly`);
				} else if (slave.inflation === 1) {
					r.push(`two liters of an aphrodisiac solution, leaving ${his} belly noticeably distended, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be swollen but not enough to visibly jiggle. ${His} aphrodisiac filled belly`);
				}
				if (slave.energy <= 95) {
					r.push(`<span class="green">rapidly boosts ${his} sex drive.</span>`);
					slave.energy += 5 * slave.inflation;
				} else {
					r.push(`can't improve ${his} absurd sex drive.`);
				}
				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
					r.push(`Besides being humiliating, it chemically <span class="hotpink">increases ${his} acceptance</span> of sexual slavery.`);
					slave.devotion += 5;
				}
				if (V.arcologies[0].FSBodyPuristLaw === 0 && V.healthyDrugsUpgrade === 0) {
					r.push(`Such a high dosage held for so long <span class="red">isn't healthy.</span>`);
					healthDamage(slave, 5);
				}
				slave.chem += 2 * slave.inflation;
				if (slave.addict > 0) {
					slave.addict += slave.inflation * 3;
				} else if (jsRandom(1, 100) < 40 + (20 * slave.inflation)) {
					r.push(`All the aphrodisiacs held within ${his} bowels cause <span class="cyan">${him} to become an aphrodisiac addict.</span>`);
					slave.addict = 1;
				}
				break;

			case "curative":
				r.push(`${He} makes sure to fill ${his} rear with nearly`);
				if (slave.inflation === 3) {
					r.push(`two gallons of a curative solution, leaving ${him} looking ready to burst, whenever ${he} leaks or ${his} body absorbs too much. ${He} keeps ${himself} full for you; the curatives in ${his} gut keeping ${him} healthy despite the pain.`);
					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== "mindbroken") {
						r.push(`The curative enema ${he}'s on synergize with rest, keeping ${him} asleep most of the time. This is an extremely effective health treatment, though being filled to ${his} limit doesn't hasten ${his} recovery at all; it's just perverted.`);
						improveCondition(slave, 4);
					} else if (slave.health.condition < -20) {
						r.push(`<span class="green">${His} poor health rapidly improves</span> under the curative enema, though being filled to ${his} limit doesn't hasten ${his} recovery at all; it's just perverted.`);
						improveCondition(slave, 2);
					} else {
						r.push(`<span class="green">${His} health improves</span> under the curative enema, though being filled to ${his} limit doesn't hasten ${his} recovery at all; it's just perverted.`);
					}
					improveCondition(slave, 1);
				} else if (slave.inflation === 2) {
					r.push(`four liters of a curative solution, leaving ${him} looking pregnant, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be distended but not enough to grow taut.`);
					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== "mindbroken") {
						r.push(`The curative enema ${he}'s on synergize with rest, keeping ${him} asleep most of the time. This is an extremely effective health treatment, though being overfilled doesn't hasten ${his} recovery at all; it's just perverted.`);
						improveCondition(slave, 4);
					} else if (slave.health.condition < -20) {
						r.push(`<span class="green">${His} poor health rapidly improves</span> under the curative enema, though being overfilled doesn't hasten ${his} recovery at all; it's just perverted.`);
						improveCondition(slave, 2);
					} else {
						r.push(`<span class="green">${His} health improves</span> under curative enema, though being overfilled doesn't hasten ${his} recovery at all; it's just perverted.`);
					}
					improveCondition(slave, 6);
				} else if (slave.inflation === 1) {
					r.push(`two liters of a curative solution, leaving ${his} belly noticeably distended, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be swollen but not enough to visibly jiggle.`);
					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== "mindbroken") {
						r.push(`The curative enema ${he}'s on synergize with rest, keeping ${him} asleep most of the time. This is an <span class="green">extremely effective health treatment.</span>`);
						improveCondition(slave, 4);
					} else if (slave.health.condition < -20) {
						r.push(`<span class="green">${His} poor health rapidly improves</span> under the curative enema.`);
						improveCondition(slave, 2);
					} else {
						r.push(`<span class="green">${His} health improves</span> under curative enema.`);
					}
					improveCondition(slave, 6);
				}
				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
					r.push(`${He} <span class="mediumaquamarine">trusts you more</span> for giving ${him} access to expensive modern medicine, even if it is really embarrassing to be seen with that belly.`);
					slave.trust += 1;
				}
				if (slave.health.condition >= 90) {
					r.push(`${He} is as healthy as ${he} can be. <span class="yellow">${His} curative enema regimen has been ended.</span>`);
					deflate(slave);
				}
				slave.chem += 2;
				break;

			case "tightener":
				r.push(`${He} makes sure to fill ${his} rear with nearly`);
				if (slave.inflation === 3) {
					r.push(`two gallons of tightening solution, leaving ${him} looking ready to burst, whenever ${he} leaks or ${his} body absorbs too much. ${He} keeps ${himself} <span class="red">painfully full</span> for you.`);
					healthDamage(slave, 10);
				} else if (slave.inflation === 2) {
					r.push(`four liters of tightening solution, leaving ${him} looking pregnant, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be distended but not enough to grow taut.`);
				} else if (slave.inflation === 1) {
					r.push(`two liters of tightening solution, leaving ${his} belly noticeably distended, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be swollen but not enough to visibly jiggle.`);
				}
				if (slave.geneMods.rapidCellGrowth === 1) {
					r.push(`Unfortunately for ${him}, ${his} body shows no interest in tightening up after the elasticity treatment ${he} underwent.`);
				} else {
					if (slave.anus > 1) {
						r.push(`The solution slowly tightens ${his} anus while inside ${his} bowels.`);
						if (slave.inflation === 3) {
							r.push(`Being filled to ${his} limit with the solution does not make it tighten any better or faster; it's just perverted.`);
							dupeTextFlag = 1;
						} else if (slave.inflation === 2) {
							r.push(`Being overfilled with the solution does not make it tighten any better or faster; it's just perverted.`);
							dupeTextFlag = 1;
						}
						if (jsRandom(1, 100) > 60) {
							r.push(`By week's end, <span class="lime">${his} butthole has tightened nicely.</span>`);
							slave.anus--;
						}
					} else {
						r.push(`${His} anus is as tight as the solution can possibly make it.`);
					}
					if (slave.vagina > 1) {
						r.push(`As ${his} body slowly absorbs the solution, its benefits begin to affect ${his} pussy.`);
						if (dupeTextFlag !== 1) {
							if (slave.inflation === 3) {
								r.push(`Being filled to ${his} limit with the solution does not make it tighten any better or faster; it's just perverted.`);
							} else if (slave.inflation === 2) {
								r.push(`Being overfilled with the solution does not make it tighten any better or faster; it's just perverted.`);
							}
						}
						if (jsRandom(1, 100) > 80) {
							r.push(`By week's end, <span class="lime">${his} vagina has regained some tightness.</span>`);
							slave.vagina--;
						}
					} else if (slave.vagina === 1) {
						r.push(`${His} pussy is as tight as the solution can possibly make it.`);
					}
				}
				if ((slave.anus <= 1 && slave.vagina <= 1) || (slave.geneMods.rapidCellGrowth === 1)) {
					if (slave.vagina >= 0) {
						r.push(`${His} holes are`);
					} else {
						r.push(`${His} hole is`);
					}
					r.push(`as tight as the drugs can get`);
					if (slave.geneMods.rapidCellGrowth === 1) {
						if (slave.vagina >= 0) {
							r.push(`them`);
						} else {
							r.push(`it`);
						}
						r.push(`with the treatment counteracting their efforts. <span class="yellow">${His} tightening enema regimen has been ended.</span>`);
						deflate(slave);
					} else if ([Job.CLUB, Job.BROTHEL].includes(slave.assignment)) {
						if (slave.vagina >= 0) {
							r.push(`them,`);
						} else {
							r.push(`it,`);
						}
						r.push(`but given ${his} assignment, ${he} is likely to be stretched out again, so ${his} tightening enema regimen continues.`);
					} else {
						if (slave.vagina >= 0) {
							r.push(`them.`);
						} else {
							r.push(`it.`);
						}
						r.push(`<span class="yellow">${His} tightening enema regimen has been ended.</span>`);
						deflate(slave);
					}
				}
				slave.chem += 2;
				break;

			case "milk":
				r.push(`Throughout the week, ${he}`);
				if (slave.behavioralFlaw === "anorexic") {
					r.push(`<span class="mediumorchid">reluctantly</span>`);
					if (slave.inflationMethod === 1) {
						r.push(`sucks from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 2) {
						r.push(`fills ${his} rectum from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 3) {
						r.push(`suckles from ${cow.slaveName} until ${his} stomach is`);
						cow.lactationDuration = 2;
						cow.boobs -= cow.boobsMilk;
						cow.boobsMilk = 0;
					}
					if (slave.inflation === 3) {
						r.push(`<span class="red">painfully bloated</span> with nearly two gallons`);
						healthDamage(slave, 10);
						slave.devotion -= 8;
						slave.trust -= 8;
					} else if (slave.inflation === 2) {
						r.push(`bloated with nearly four liters`);
						slave.devotion -= 5;
						slave.trust -= 5;
					} else if (slave.inflation === 1) {
						r.push(`bloated with nearly two liters`);
						slave.devotion -= 3;
						slave.trust -= 3;
					}
					r.push(`of milk, ${distensionTerm}. ${He} struggles to keep ${his} fatty, liquid meal down, <span class="gold">fearing</span> punishment otherwise.`);
				} else if (slave.behavioralFlaw === "gluttonous") {
					r.push(`<span class="hotpink">${slave.inflationMethod === 2 ? `happily` : `eagerly`}</span>`);
					if (slave.inflationMethod === 1) {
						r.push(`sucks from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 2) {
						r.push(`fills ${his} rectum from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 3) {
						r.push(`sucks from ${cow.slaveName} until ${his} stomach is`);
						cow.lactationDuration = 2;
						cow.boobs -= cow.boobsMilk;
						cow.boobsMilk = 0;
					}
					if (slave.inflation === 3) {
						r.push(`<span class="red">painfully bloated</span> with nearly two gallons`);
						healthDamage(slave, 10);
					} else if (slave.inflation === 2) {
						r.push(`bloated with nearly four liters`);
					} else if (slave.inflation === 1) {
						r.push(`bloated with nearly two liters`);
					}
					r.push(`of milk, ${distensionTerm}. ${He} rubs ${his}`);
					if (slave.inflationMethod === 1 || slave.inflationMethod === 3) {
						if (slave.inflation === 3) {
							r.push(`full belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next gorging.`);
							slave.devotion += 5;
							slave.trust += 5;
						} else if (slave.inflation === 2) {
							r.push(`taut belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next feeding.`);
							slave.devotion += 4;
							slave.trust += 4;
						} else if (slave.inflation === 1) {
							r.push(`sloshing belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next meal.`);
							slave.devotion += 3;
							slave.trust += 3;
						}
					} else {
						if (slave.inflation === 3) {
							r.push(`taut`);
							slave.devotion += 4;
							slave.trust += 4;
						} else if (slave.inflation === 2) {
							r.push(`full`);
							slave.devotion += 3;
							slave.trust += 3;
						} else if (slave.inflation === 1) {
							r.push(`sloshing`);
							slave.devotion += 1;
							slave.trust += 1;
						}
						r.push(`belly <span class="mediumaquamarine">contently,</span> though ${he} wishes ${he} could have swallowed it instead.`);
					}
				} else {
					r.push(`makes sure to`);
					if (slave.inflationMethod === 1) {
						r.push(`keep ${himself} filled with nearly`);
					} else if (slave.inflationMethod === 2) {
						r.push(`fill ${his} rear with nearly`);
					} else if (slave.inflationMethod === 3) {
						r.push(`keep suckling from ${cow.slaveName} until ${he} is filled with nearly`);
						cow.lactationDuration = 2;
						cow.boobs -= cow.boobsMilk;
						cow.boobsMilk = 0;
					}
					if (slave.inflation === 3) {
						r.push(`two gallons of milk,`);
					} else if (slave.inflation === 2) {
						r.push(`four liters of milk,`);
					} else if (slave.inflation === 1) {
						r.push(`two liters of milk,`);
					}
					if (slave.inflationMethod === 2) {
						r.push(`${distensionTerm}, whenever ${he} leaks or needs to release ${his} load.`);
					} else {
						r.push(`${distensionTerm}.`);
					}
					if (slave.inflation === 3) {
						r.push(`${He} keeps ${himself} <span class="red">painfully full</span> for you.`);
						healthDamage(slave, 10);
					} else if (slave.inflation === 2) {
						r.push(`${He} is full enough to be distended but not enough to grow taut.`);
					} else if (slave.inflation === 1) {
						r.push(`${He} is full enough to be swollen but not enough to visibly jiggle.`);
					}
				}
				break;

			case "cum":
				r.push(`Throughout the week, ${he}`);
				if (slave.behavioralFlaw === "anorexic") {
					r.push(`<span class="mediumorchid">reluctantly</span>`);
					if (slave.inflationMethod === 1) {
						r.push(`sucks from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 2) {
						r.push(`fills ${his} rectum from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 3) {
						r.push(`sucks ${cow.slaveName}'s ${(cow.dick > 0) ? `cock` : `cum hole`} until ${his} stomach is`);
					}
					if (slave.inflation === 3) {
						r.push(`<span class="red">painfully bloated</span> with nearly two gallons`);
						healthDamage(slave, 10);
						slave.devotion -= 8;
						slave.trust -= 8;
					} else if (slave.inflation === 2) {
						r.push(`bloated with nearly four liters`);
						slave.devotion -= 5;
						slave.trust -= 5;
					} else if (slave.inflation === 1) {
						r.push(`bloated with nearly two liters`);
						slave.devotion -= 3;
						slave.trust -= 3;
					}
					r.push(`of cum, ${distensionTerm}.`);
					if (slave.inflationMethod === 1 || slave.inflationMethod === 3) {
						r.push(`${He} struggles to keep ${his} liquid meal down, <span class="gold">fearing</span> punishment otherwise.`);
					} else {
						r.push(`${He} struggles to keep the ${slave.inflation === 1 ? '' : slave.inflation === 2 ? 'huge ' : 'massive '}cumshot inside ${him}, <span class="gold">fearing</span> punishment otherwise.`);
					}
				} else if (slave.behavioralFlaw === "gluttonous") {
					r.push(`<span class="hotpink">${slave.inflationMethod === 2 ? `happily` : `eagerly`}</span>`);
					if (slave.inflationMethod === 1) {
						r.push(`sucks from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 2) {
						r.push(`fills ${his} rectum from the dairy tap until ${his} stomach is`);
					} else if (slave.inflationMethod === 3) {
						r.push(`sucks ${cow.slaveName}'s ${(cow.dick > 0) ? `cock` : `cum hole`} until ${his} stomach is`);
					}
					if (slave.inflation === 3) {
						r.push(`<span class="red">painfully bloated</span> with nearly two gallons`);
						healthDamage(slave, 10);
					} else if (slave.inflation === 2) {
						r.push(`bloated with nearly four liters`);
					} else if (slave.inflation === 1) {
						r.push(`bloated with nearly two liters`);
					}
					r.push(`of cum, ${distensionTerm}. ${He} rubs ${his}`);
					if (slave.inflationMethod === 1 || slave.inflationMethod === 3) {
						if (slave.inflation === 3) {
							r.push(`full belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next gorging.`);
							slave.devotion += 5;
							slave.trust += 5;
						} else if (slave.inflation === 2) {
							r.push(`taut belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next feeding.`);
							slave.devotion += 4;
							slave.trust += 4;
						} else if (slave.inflation === 1) {
							r.push(`sloshing belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next meal.`);
							slave.devotion += 3;
							slave.trust += 3;
						}
					} else {
						if (slave.inflation === 3) {
							r.push(`taut`);
							slave.devotion += 4;
							slave.trust += 4;
						} else if (slave.inflation === 2) {
							r.push(`full`);
							slave.devotion += 3;
							slave.trust += 3;
						} else if (slave.inflation === 1) {
							r.push(`sloshing`);
							slave.devotion += 1;
							slave.trust += 1;
						}
						r.push(`belly <span class="mediumaquamarine">contently,</span> though ${he} wishes ${he} could have swallowed it instead.`);
					}
				} else {
					r.push(`makes sure to`);
					if (slave.inflationMethod === 1) {
						r.push(`keep ${himself} filled with nearly`);
					} else if (slave.inflationMethod === 2) {
						r.push(`fill ${his} rear with nearly`);
					} else if (slave.inflationMethod === 3) {
						r.push(`sucks ${cow.slaveName}'s ${(cow.dick > 0) ? `cock` : `cum hole`} until ${he} is filled with nearly`);
					}
					if (slave.inflation === 3) {
						r.push(`two gallons of cum,`);
					} else if (slave.inflation === 2) {
						r.push(`four liters of cum,`);
					} else if (slave.inflation === 1) {
						r.push(`two liters of cum,`);
					}
					if (slave.inflationMethod === 2) {
						r.push(`${distensionTerm}, whenever ${he} leaks or needs to release ${his} load.`);
					} else {
						r.push(`${distensionTerm}.`);
					}
					if (slave.inflation === 3) {
						r.push(`${He} keeps ${himself} <span class="red">painfully full</span> for you.`);
						healthDamage(slave, 10);
					} else if (slave.inflation === 2) {
						r.push(`${He} is full enough to be distended but not enough to grow taut.`);
					} else if (slave.inflation === 1) {
						r.push(`${He} is full enough to be swollen but not enough to visibly jiggle.`);
					}
				}
				break;

			case "food":
				r.push(`Throughout the week, ${he}`);
				if (slave.behavioralFlaw === "anorexic") {
					r.push(`focuses ${his} <span class="mediumorchid">loathing</span> on you as ${he} forces down servings of slave food until ${his} stomach is`);
					if (slave.inflation === 3) {
						r.push(`<span class="red">painfully bloated</span> with nearly two gallons of the paste, ${distensionTerm}.`);
						healthDamage(slave, 10);
						slave.devotion -= 16;
						slave.trust -= 16;
					} else if (slave.inflation === 2) {
						r.push(`bloated with nearly four liters of the paste, giving ${him} quite the food baby.`);
						slave.devotion -= 10;
						slave.trust -= 10;
					} else if (slave.inflation === 1) {
						r.push(`bloated with nearly two liters of the paste, leaving ${his} stomach obviously distended.`);
						slave.devotion -= 6;
						slave.trust -= 6;
					}
					r.push(`${He} struggles to keep ${his} meal down, <span class="gold">fearing</span> punishment otherwise.`);
				} else if (slave.behavioralFlaw === "gluttonous") {
					r.push(`<span class="hotpink">eagerly</span> stuffs ${his} face with servings of slave food until ${his} stomach is`);
					if (slave.inflation === 3) {
						r.push(`painfully bloated with nearly two gallons of the paste, ${distensionTerm}. ${He} rubs ${his} stuffed belly contently, anticipating ${his} next gorging.`);
						healthDamage(slave, 10);
						slave.devotion += 10;
						slave.trust += 10;
					} else if (slave.inflation === 2) {
						r.push(`bloated with nearly four liters of the paste, giving ${him} quite the food baby. ${He} rubs ${his} taut belly <span class="mediumaquamarine">contently,</span> anticipating ${his} next meal.`);
						slave.devotion += 7;
						slave.trust += 7;
					} else if (slave.inflation === 1) {
						r.push(`bloated with nearly two liters of the paste, leaving ${his} belly noticeably distended. ${He} rubs ${his} stuffed belly contently, anticipating ${his} next helping.`);
						slave.devotion += 5;
						slave.trust += 5;
					}
				} else {
					r.push(`makes sure to binge eat until`);
					if (slave.inflation === 3) {
						r.push(`${his} gut is stuffed with nearly two gallons of slave food, ${distensionTerm}. ${He} keeps ${himself} <span class="red">painfully full</span> for you.`);
						healthDamage(slave, 10);
					} else if (slave.inflation === 2) {
						r.push(`${his} gut is filled with nearly four liters of slave food, giving ${him} quite the food baby. ${He} is full enough to be distended but not enough to grow taut.`);
					} else if (slave.inflation === 1) {
						r.push(`${he}'s consumed nearly two liters of slave food, leaving ${his} belly noticeably distended. ${He} is full enough to be swollen but not enough to visibly jiggle.`);
					}
				}
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function mentalEffects(slave) {
		if (slave.fetish === "cumslut" && slave.inflationType === "cum" && slave.bellyFluid >= 1500) {
			r.push(`Being so full of cum fills ${him} with <span class="hotpink">absolute bliss.</span>`);
			slave.devotion += 5;
		} else if (slave.fetish === "masochist" && slave.bellyFluid >= 10000) {
			r.push(`That pain comes with <span class="hotpink">absolute bliss</span> as ${he} relishes the unique sensation.`);
			slave.devotion += 5;
		}
		if (slave.behavioralQuirk === "fitness") {
			if ((slave.inflationType === "milk" || slave.inflationType === "cum" || slave.inflationType === "food") && slave.inflation > 0) {
				r.push(`${He} vows to exercise more to deal with <span class="mediumorchid">the bloated belly you forced on ${him}.</span> Though gaining weight just means more opportunities to work out.`);
				slave.devotion -= 3;
			}
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function foodMeansFat(slave) {
		if (slave.inflationType === "milk") {
			if (slave.weight < 200) {
				r.push(`${His} body <span class="lime">grows a little more padded</span> as it absorbs the milk contained in ${his} digestive track.`);
				slave.weight += 2;
				if (slave.weightDirection === 1) {
					slave.weight += 2;
				}
			}
			if (jsRandom(1, 100) > 50 / gigantomastiaMod && slave.boobs < 3000 * gigantomastiaMod) {
				r.push(`${His} breasts <span class="lime">swell</span> with added fat as ${he} digests the milk contained in ${his} digestive track.`);
				slave.boobs += 200;
			}
			if (jsRandom(1, 100) > (50 / rearLipedemaDivider) && slave.butt < 7 + ((7 / 2) * rearLipedemaMod)) {
				r.push(`${His} butt <span class="lime">swells</span> with added fat as ${he} digests the milk contained in ${his} digestive track.`);
				slave.butt += 1;
			}
		} else if (slave.inflationType === "food") {
			if (slave.weight < 200) {
				r.push(`${His} body <span class="lime">rapidly gains weight</span> as it digests the food contained in ${his} digestive track.`);
				slave.weight += 4;
				if (slave.weightDirection === 1) {
					slave.weight += 2;
				}
			}
			if (jsRandom(1, 100) > 50 / gigantomastiaMod && slave.boobs < 3000 * gigantomastiaMod) {
				r.push(`${His} breasts <span class="lime">swell</span> with added fat as ${he} digests the food contained in ${his} digestive track.`);
				slave.boobs += 200;
			}
			if (jsRandom(1, 100) > (50 / rearLipedemaDivider) && slave.butt < 7 + ((7 / 2) * rearLipedemaMod)) {
				r.push(`${His} butt <span class="lime">swells</span> with added fat as ${he} digests the food contained in ${his} digestive track.`);
				slave.butt += 1;
			}
		}
	}

	/**
	 * @param {App.Entity.SlaveState} slave
	 *
	 */
	function cervixImplantFluidConversion(slave) {
		if (slave.inflationMethod === 2) {
			r.push(`${His} rectal micropump implant filters out some fluid from the ${slave.inflationType} within ${him} during the week, adding it to ${his} abdominal implant.`);
			slave.bellyImplant += 200;
		}
	}
})();

repo_name: Welptard/fc

license: mit