App.EndWeek.incubatorReport = function() {
	const frag = document.createDocumentFragment();
	V.readySlaves = 0;

	for (const tank of V.tanks) {
		const entry = App.UI.DOM.appendNewElement('p', frag);
		let r = [];
		const {He, he, His, his, him} = getPronouns(tank);
		tank.birthWeek += 1;
		if (tank.birthWeek >= 52) {
			tank.birthWeek = 0;
			if (V.seeAge === 1) {
				tank.actualAge++;
				tank.ovaryAge++;
			}
		}
		if (tank.growTime > 0) {
			tank.growTime -= V.incubatorUpgradeSpeed;
			r.push(`<span class="pink">${tank.slaveName}'s</span> growth is currently being accelerated. ${He}`);
			if (Math.round(tank.growTime/V.incubatorUpgradeSpeed) <= 0) {
				r.push(`is <span class="lime">ready for release.</span> ${He} will be ejected from ${his} tank upon your approach.`);
			} else {
				r.push(`will be ready for release in about ${Math.round(tank.growTime/V.incubatorUpgradeSpeed)} weeks.`);
			}
		} else {
			r.push(`<span class="pink">${tank.slaveName}</span> is <span class="lime">ready for release.</span> ${He} will be ejected from ${his} tank upon your approach.`);
			V.readySlaves = 1;
		}
		App.Events.addNode(entry, r, "div");

		r = [];
		if (V.incubatorUpgradeWeight === 1) {
			if (V.incubatorWeightSetting === 1) {
				if (tank.weight < 200) {
					if (V.incubatorUpgradeSpeed === 52) {
						tank.weight += 70;
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.weight += 40;
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.weight += 20;
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.weight += 10;
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.weight += 5;
					}
				}
				r.push(`The weight monitoring systems are overloading ${his} intake causing <span class="red">rapid weight gain.</span>`);
			} else if (V.incubatorWeightSetting === 2) {
				if (tank.weight > 10) {
					if (V.incubatorUpgradeSpeed === 52) {
						tank.weight -= 30;
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.weight -= 10;
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.weight -= 5;
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.weight -= 2;
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.weight -= 1;
					}
					r.push(`The weight monitoring systems detect ${he} is overweight and <span class="green">decrease ${his} caloric intake.</span>`);
				} else if (tank.weight < -10) {
					if (V.incubatorUpgradeSpeed === 52) {
						tank.weight += 30;
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.weight += 10;
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.weight += 5;
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.weight += 2;
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.weight += 1;
					}
					r.push(`The weight monitoring systems detect ${he} is underweight and <span class="green">increase ${his} caloric intake.</span>`);
				} else {
					r.push(`${He} is <span class="lime">currently at a healthy weight;</span> efforts will be made to maintain it.`);
				}
			} else if (V.incubatorWeightSetting === 0) {
				if (tank.weight > -100) {
					r.push(`${His} developing body <span class="red">quickly sheds its gained weight.</span>`);
					tank.weight -= 40;
				}
			}
		} else {
			if (tank.weight > -100) {
				r.push(`${His} developing body <span class="red">quickly sheds its gained weight.</span>`);
				tank.weight -= 40;
			}
		}
		App.Events.addNode(entry, r, "div");

		r = [];
		if (V.incubatorUpgradeMuscles === 1) {
			if (V.incubatorMusclesSetting === 2) {
				if (tank.muscles < 100) {
					if (V.incubatorUpgradeSpeed === 52) {
						tank.muscles += 70;
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.muscles += 40;
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.muscles += 20;
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.muscles += 10;
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.muscles += 5;
					}
				}
				r.push(`The strength monitoring systems are overloading ${him} with steroids causing <span class="green">rapid muscle development.</span>`);
			} else if (V.incubatorMusclesSetting === 1) {
				if (tank.muscles > 10) {
					if (V.incubatorUpgradeSpeed === 52) {
						tank.muscles -= 30;
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.muscles -= 10;
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.muscles -= 5;
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.muscles -= 2;
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.muscles--;
					}
					r.push(`The strength monitoring systems detect ${he} is overly muscular and <span class="green">decrease ${his} steroid dosage.</span>`);
				} else if (tank.muscles < -10) {
					if (V.incubatorUpgradeSpeed === 52) {
						tank.muscles += 30;
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.muscles += 10;
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.muscles += 5;
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.muscles += 2;
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.muscles++;
					}
					r.push(`The strength monitoring systems detect ${he} is weak and <span class="green">increase ${his} steroid dosage.</span>`);
				} else {
					r.push(`${He} has <span class="lime">a healthy musculature;</span> efforts will be made to maintain it.`);
				}
			} else if (V.incubatorMusclesSetting === 0) {
				if (tank.muscles > -100) {
					r.push(`${His} developing body <span class="red">quickly loses its gained muscle.</span>`);
					tank.muscles -= 40;
				}
			}
		} else {
			if (tank.muscles > -100) {
				r.push(`${His} developing body <span class="red">quickly loses its gained muscle.</span>`);
				tank.muscles -= 40;
			}
		}
		App.Events.addNode(entry, r, "div");

		r = [];
		if (V.incubatorUpgradeGrowthStims === 1 && V.incubatorGrowthStimsSetting !== 0) {
			let heightLimit = Math.trunc(Math.clamp((Height.mean(tank) * 1.25), 0, 274));
			let heightLimitAge = Height.forAge(tank.height, tank);
			if (tank.geneticQuirks.dwarfism === 2 && tank.geneticQuirks.gigantism !== 2) {
				heightLimit = Math.min(heightLimit, 160);
			}
			if (tank.geneMods.NCS === 1) {
				/* NCS should block physical growth beyond that of a toddler, but some players might like
				 * a little more or less. So using V.minimumSlaveAge or 8, whichever is lesser.	*/
				const _limitAge = Math.min(8, V.minimumSlaveAge);
				heightLimitAge = Height.forAge(tank.height, _limitAge, tank.genes);
				heightLimit = heightLimitAge;
			} else if (tank.geneticQuirks.neoteny === 2 && tank.actualAge > 12) {
				heightLimitAge = Height.forAge(tank.height, 12, tank.genes);
				heightLimit = heightLimitAge;
			}
			if (tank.height >= heightLimit) {
				r.push(`The monitoring system detects ${his} body is not able to support further increases in height, so it carefully regulates stimulant injections to <span class="yellow">maintain ${his} current stature.</span>`);
				tank.height = heightLimit;
			} else if (V.incubatorGrowthStimsSetting === 2) {
				if (tank.geneMods.NCS === 1) {
					r.push(`The monitoring system floods ${his} body with growth stimulants, but ${his} <span class="orange">NCS prevents an increase in ${his} growth rate.</span>`);
					tank.height = heightLimitAge;
				} else {
					r.push(`The monitoring system floods ${his} body with growth stimulants, causing <span class="green">a sharp increase in growth rate.</span>`);
					if (V.incubatorWeightSetting >= 1 && V.incubatorMusclesSetting <= 1 && V.incubatorReproductionSetting <= 1) {
						if (V.incubatorUpgradeSpeed === 52) {
							tank.height += random(3, 6);
						} else if (V.incubatorUpgradeSpeed === 18) {
							tank.height += random(2, 5);
						} else if (V.incubatorUpgradeSpeed === 9) {
							tank.height += random(1, 4);
						} else if (V.incubatorUpgradeSpeed === 6) {
							tank.height += random(1, 3);
						} else if (V.incubatorUpgradeSpeed === 5) {
							tank.height += random(1, 2);
						}
					} else {
						if (V.incubatorUpgradeSpeed === 52) {
							tank.height += random(2, 5);
						} else if (V.incubatorUpgradeSpeed === 18) {
							tank.height += random(1, 4);
						} else if (V.incubatorUpgradeSpeed === 9) {
							tank.height += random(1, 3);
						} else if (V.incubatorUpgradeSpeed === 6) {
							tank.height += random(1, 2);
						} else if (V.incubatorUpgradeSpeed === 5) {
							tank.height += random(0, 1);
						}
					}
				}
			} else if (V.incubatorGrowthStimsSetting === 1) {
				if (tank.geneMods.NCS === 1) {
					r.push(`The monitoring system detects ${he} is near the expected height for ${his} <span class="orange">NCS</span> condition, so it carefully regulates stimulant injections to <span class="yellow">maintain ${his} current stature.</span>`);
					tank.height = heightLimitAge;
				} else if (tank.height > heightLimitAge) {
					r.push(`The monitoring systems detect ${he} is near the expected height, so it carefully regulates stimulant injections to <span class="yellow">maintain ${his} current stature.</span>`);
					if (random(1, 10) === 10) {
						if (V.incubatorUpgradeSpeed === 52) {
							tank.height += random(1, 4);
						} else if (V.incubatorUpgradeSpeed === 18) {
							tank.height += random(1, 3);
						} else if (V.incubatorUpgradeSpeed === 9) {
							tank.height += random(1, 2);
						} else if (V.incubatorUpgradeSpeed === 6) {
							tank.height += random(0, 1);
						} else if (V.incubatorUpgradeSpeed === 5) {
							tank.height += random(0, 1);
						}
					}
				} else {
					r.push(`The monitoring systems detect ${his} body is capable of developing more rapidly and <span class="green">increase ${his} growth stimulant dosage.</span>`);
					if (V.incubatorUpgradeSpeed === 52) {
						tank.height += random(1, 4);
					} else if (V.incubatorUpgradeSpeed === 18) {
						tank.height += random(1, 3);
					} else if (V.incubatorUpgradeSpeed === 9) {
						tank.height += random(1, 2);
					} else if (V.incubatorUpgradeSpeed === 6) {
						tank.height += random(0, 1);
					} else if (V.incubatorUpgradeSpeed === 5) {
						tank.height += random(0, 1);
					}
				}
			}
			tank.height = Math.clamp(tank.height, 0, heightLimit);
		} else {
			r.push(`With the growth stimulant injections offline, ${his} body is left to develop naturally.`);
		}
		App.Events.addNode(entry, r, "div");

		r = [];
		if (V.incubatorUpgradeReproduction === 1) {
			const rearQuirk = tank.geneticQuirks.rearLipedema === 2 ? 2 : 1;
			if (V.incubatorReproductionSetting === 2) {
				r.push(`${His} developing body is being flooded with hormones.`);
				if (V.incubatorWeightSetting === 1) {
					r.push(`Combined with the abundant food provided to ${him}, ${his} body grows rapidly.`);
					if (tank.ovaries === 1) {
						tank.pubertyXX = 1;
						if (tank.hormoneBalance < 500) {
							tank.hormoneBalance += 100;
						}
						tank.readyOva = V.seeHyperPreg === 1 ? random(25, 45) : random(3, 8);
						if (tank.geneMods.NCS === 1) {
							/* NCS blocks hormonal growth of all secondary sexual characteristics */
							r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the excess estrogen-laced growth hormones flooding ${his} body.`);
						} else if (V.incubatorUpgradeSpeed === 52) {
							if (tank.boobs < 8000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 2000;
							}
							if (tank.hips < 2 && random(1, 100) > 50) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips += 2;
							}
							if (tank.butt < 12*rearQuirk && random(1, 100) > 30/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt += 4;
							}
						} else if (V.incubatorUpgradeSpeed === 18) {
							if (tank.boobs < 8000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 500;
							}
							if (tank.hips < 2 && random(1, 100) > 50) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 12*rearQuirk && random(1, 100) > 50/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt += 3;
							}
						} else if (V.incubatorUpgradeSpeed === 9) {
							if (tank.boobs < 8000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 200;
							}
							if (tank.hips < 2 && random(1, 100) > 60) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">causes ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 12*rearQuirk && random(1, 100) > 50/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear grow fatter.</span>`);
								tank.butt += 2;
							}
						} else if (V.incubatorUpgradeSpeed === 6) {
							if (tank.boobs < 8000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 100;
							}
							if (tank.hips < 2 && random(1, 100) > 70) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 12*rearQuirk && random(1, 100) > 60/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 5) {
							if (tank.boobs < 8000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 100;
							}
							if (tank.hips < 2 && random(1, 100) > 80) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 12*rearQuirk && random(1, 100) > 70/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						}
					} else if (tank.balls > 0) {
						tank.pubertyXY = 1;
						if (tank.hormoneBalance > -500) {
							tank.hormoneBalance -= 100;
						}
						if (tank.geneMods.NCS === 1) {
							/* NCS blocks hormonal growth of all secondary sexual characteristics */
							r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the excess testosterone-laced growth hormones flooding ${his} body.`);
						} else if (V.incubatorUpgradeSpeed === 52) {
							if (tank.balls < 40) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls += 16;
							}
							if (tank.dick < 10 && random(1, 100) > 20) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick += 4;
							}
						} else if (V.incubatorUpgradeSpeed === 18) {
							if (tank.balls < 40 && random(1, 100) > 10) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls += 9;
							}
							if (tank.dick < 10 && random(1, 100) > 30) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick += 3;
							}
						} else if (V.incubatorUpgradeSpeed === 9) {
							if (tank.balls < 40 && random(1, 100) > 20) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls += 4;
							}
							if (tank.dick < 10 && random(1, 100) > 50) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick += 2;
							}
						} else if (V.incubatorUpgradeSpeed === 6) {
							if (tank.balls < 40 && random(1, 100) > 30) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls += 2;
							}
							if (tank.dick < 10 && random(1, 100) > 70) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 5) {
							if (tank.balls < 40 && random(1, 100) > 30) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 10 && random(1, 100) > 80) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						}
					}
				} else if (V.incubatorWeightSetting === 2) {
					r.push(`Combined with the healthy food provided to ${him}, ${his} body grows readily.`);
					if (tank.ovaries === 1) {
						tank.pubertyXX = 1;
						if (tank.hormoneBalance < 500) {
							tank.hormoneBalance += 100;
						}
						tank.readyOva = V.seeHyperPreg === 1 ? random(15, 25) : random(2, 6);
						if (tank.geneMods.NCS === 1) {
							/* NCS blocks hormonal growth of all secondary sexual characteristics */
							r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the excess estrogen-laced growth hormones flooding ${his} body.`);
						} else if (V.incubatorUpgradeSpeed === 52) {
							if (tank.boobs < 4000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 1000;
							}
							if (tank.hips < 2 && random(1, 100) > 70) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 8*rearQuirk && random(1, 100) > 50/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt += 3;
							}
						} else if (V.incubatorUpgradeSpeed === 18) {
							if (tank.boobs < 4000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 500;
							}
							if (tank.hips < 2 && random(1, 100) > 80) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 8*rearQuirk && random(1, 100) > 50/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 9) {
							if (tank.boobs < 4000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 200;
							}
							if (tank.hips < 2 && random(1, 100) > 90) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 8*rearQuirk && random(1, 100) > 60/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 6) {
							if (tank.boobs < 4000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 100;
							}
							if (tank.hips < 2 && random(1, 100) > 95) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 8*rearQuirk && random(1, 100) > 70/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 5) {
							if (tank.boobs < 4000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 100;
							}
							if (tank.hips < 2 && random(1, 100) > 95) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 8*rearQuirk && random(1, 100) > 80/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						}
					} else if (tank.balls > 0) {
						tank.pubertyXY = 1;
						if (tank.hormoneBalance > -500) {
							tank.hormoneBalance -= 100;
						}
						if (tank.geneMods.NCS === 1) {
							/* NCS blocks hormonal growth of all secondary sexual characteristics */
							r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the excess testosterone-laced growth hormones flooding ${his} body.`);
						} else if (V.incubatorUpgradeSpeed === 52) {
							if (tank.balls < 10) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls += 3;
							}
							if (tank.dick < 7 && random(1, 100) > 20) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick += 2;
							}
						} else if (V.incubatorUpgradeSpeed === 18) {
							if (tank.balls < 10 && random(1, 100) > 10) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls += 2;
							}
							if (tank.dick < 7 && random(1, 100) > 30) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 9) {
							if (tank.balls < 10 && random(1, 100) > 20) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 7 && random(1, 100) > 50) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 6) {
							if (tank.balls < 10 && random(1, 100) > 30) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 7 && random(1, 100) > 70) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 5) {
							if (tank.balls < 10 && random(1, 100) > 30) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 7 && random(1, 100) > 80) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						}
					}
				} else {
					r.push(`Since ${his} body has little to work with, ${his} growth is fairly minor.`);
					if (tank.ovaries === 1) {
						tank.pubertyXX = 1;
						if (tank.hormoneBalance < 500) {
							tank.hormoneBalance += 100;
						}
						tank.readyOva = V.seeHyperPreg === 1 ? random(10, 15) : random(2, 4);
						if (tank.geneMods.NCS === 1) {
							/* NCS blocks hormonal growth of all secondary sexual characteristics */
							r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the excess estrogen-laced growth hormones flooding ${his} body.`);
						} else if (V.incubatorUpgradeSpeed === 52) {
							if (tank.boobs < 2000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 700;
							}
							if (tank.hips < 2 && random(1, 100) > 90) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips += 2;
							}
							if (tank.butt < 6*rearQuirk && random(1, 100) > 70/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt += 2;
							}
						} else if (V.incubatorUpgradeSpeed === 18) {
							if (tank.boobs < 2000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 200;
							}
							if (tank.hips < 2 && random(1, 100) > 80) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 6*rearQuirk && random(1, 100) > 70/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 9) {
							if (tank.boobs < 2000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly balloon ${his} breasts.</span>`);
								tank.boobs += 50;
							}
							if (tank.hips < 2 && random(1, 100) > 80) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 6*rearQuirk && random(1, 100) > 90/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 6) {
							if (tank.boobs < 2000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly grow ${his} breasts.</span>`);
								tank.boobs += 20;
							}
							if (tank.hips < 2 && random(1, 100) > 90) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 6*rearQuirk && random(1, 100) > 90/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						} else if (V.incubatorUpgradeSpeed === 5) {
							if (tank.boobs < 2000) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">rapidly grow ${his} breasts.</span>`);
								tank.boobs += 10;
							}
							if (tank.hips < 2 && random(1, 100) > 95) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} hips to widen for childbirth.</span>`);
								tank.hips++;
							}
							if (tank.butt < 6*rearQuirk && random(1, 100) > 90/rearQuirk) {
								r.push(`The excess estrogen-laced growth hormones <span class="green">cause ${his} rear to grow fatter.</span>`);
								tank.butt++;
							}
						}
					} else if (tank.balls > 0) {
						tank.pubertyXY = 1;
						if (tank.hormoneBalance > -500) {
							tank.hormoneBalance -= 100;
						}
						if (tank.geneMods.NCS === 1) {
							/* NCS blocks hormonal growth of all secondary sexual characteristics */
							r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the excess testosterone-laced growth hormones flooding ${his} body.`);
						} else if (V.incubatorUpgradeSpeed === 52) {
							if (tank.balls < 6) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to grow for extra cum production.</span>`);
								tank.balls += 2;
							}
							if (tank.dick < 4 && random(1, 100) > 60) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 18) {
							if (tank.balls < 6 && random(1, 100) > 50) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to grow for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 4 && random(1, 100) > 60) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 9) {
							if (tank.balls < 6 && random(1, 100) > 60) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to balloon for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 4 && random(1, 100) > 70) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick += 2;
							}
						} else if (V.incubatorUpgradeSpeed === 6) {
							if (tank.balls < 6 && random(1, 100) > 70) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to grow for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 4 && random(1, 100) > 80) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						} else if (V.incubatorUpgradeSpeed === 5) {
							if (tank.balls < 6 && random(1, 100) > 80) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} balls to grow for extra cum production.</span>`);
								tank.balls++;
							}
							if (tank.dick < 4 && random(1, 100) > 90) {
								r.push(`The excess testosterone-laced growth hormones <span class="green">cause ${his} penis to swell.</span>`);
								tank.dick++;
							}
						}
					}
				}
			} else if (V.incubatorReproductionSetting === 1) {
				r.push(`${His} hormone levels are being carefully managed, <span class="green">encouraging early puberty.</span>`);
				if (tank.ovaries === 1) {
					tank.pubertyXX = 1;
					tank.hormoneBalance = 250;
					if (tank.geneMods.NCS === 1) {
						/* NCS blocks hormonal growth of all secondary sexual characteristics */
						r.push(`${His} <span class="orange">NCS blocks growth</span> despite the added estrogen.`);
					} else {
						if (tank.boobs < 400 && random(1, 100) > 60) {
							r.push(`The added estrogen <span class="green">causes ${his} breasts to swell.</span>`);
							tank.boobs += 50;
						}
						if (tank.hips < 2 && random(1, 100) > 90) {
							r.push(`The added estrogen <span class="green">causes ${his} hips to widen.</span>`);
							tank.hips++;
						}
						if (tank.butt < 5*rearQuirk && random(1, 100) > 80/rearQuirk) {
							r.push(`The added estrogen <span class="green">causes ${his} butt to grow.</span>`);
							tank.butt++;
						}
					}
				} else if (tank.balls > 0) {
					tank.pubertyXY = 1;
					tank.hormoneBalance = -250;
					if (tank.geneMods.NCS === 1) {
						/* NCS blocks hormonal growth of all secondary sexual characteristics */
						r.push(`${His} <span class="orange">NCS blocks all growth</span> despite the added testosterone.`);
					} else {
						if (tank.balls < 3 && random(1, 100) > 80) {
							r.push(`The added testosterone <span class="green">causes ${his} balls to swell.</span>`);
							tank.balls++;
						}
						if (tank.dick < 3 && random(1, 100) > 60) {
							r.push(`The added testosterone <span class="green">causes ${his} penis to grow.</span>`);
							tank.dick++;
						}
					}
				}
			} else {
				if (tank.hormoneBalance > 100) {
					tank.hormoneBalance -= 50;
				} else if (tank.hormoneBalance < -100) {
					tank.hormoneBalance += 50;
				}
				if (tank.balls > 0) {
					if (tank.balls > 1) {
						tank.balls -= 5;
					}
					if (tank.dick > 1) {
						tank.dick -= 5;
					}
					if (tank.balls <= 0) {
						tank.balls = 1;
					}
					if (tank.dick <= 0) {
						tank.dick = 1;
					}
				}
				if (tank.boobs > 0) {
					tank.boobs -= 500;
				}
				if (tank.butt > 0) {
					tank.butt -= 4;
				}
			}
		} else {
			if (tank.hormoneBalance > 100) {
				tank.hormoneBalance -= 50;
			} else if (tank.hormoneBalance < -100) {
				tank.hormoneBalance += 50;
			}
			if (tank.balls > 0) {
				if (tank.balls > 1) {
					tank.balls -= 5;
				}
				if (tank.dick > 1) {
					tank.dick -= 5;
				}
				if (tank.balls <= 0) {
					tank.balls = 1;
				}
				if (tank.dick <= 0) {
					tank.dick = 1;
				}
			}
			if (tank.boobs > 0) {
				tank.boobs -= 500;
			}
			if (tank.butt > 0) {
				tank.butt -= 4;
			}
		}
		App.Events.addNode(entry, r, "div");

		if (V.incubatorReproductionSetting === 2) {
			tank.energy = 80;
			tank.need = 100;
		} else if (V.incubatorReproductionSetting === 1) {
			tank.energy = 50;
			tank.need = 20;
		} else {
			tank.energy = 0;
			tank.need = 0;
		}

		r = [];
		if (((V.incubatorPregAdaptationSetting === 1 && tank.genes === "XX") || (V.incubatorPregAdaptationSetting === 2 && tank.genes === "XY") || V.incubatorPregAdaptationSetting === 3) && tank.growTime > 0) {
			r.push(`The incubator is working on adapting ${his} abdomen and reproductive organs for future pregnancies.`);

			let _weekAdapt = tank.incubatorPregAdaptationInWeek * V.incubatorUpgradeSpeed;
			if (isNaN(_weekAdapt)) {
				/* NaN check AFTER multiply operation, against it result is critical here. Need to be absolutely sure about this operation, not about just tank property itself. This give me two very unpleasant hours to catch this */
				tank.incubatorPregAdaptationInWeek = (15000 / 2000 - tank.pregAdaptation) / tank.growTime;
			}
			_weekAdapt = tank.incubatorPregAdaptationInWeek * V.incubatorUpgradeSpeed;
			/* Now it should be fine */
			_weekAdapt *= 1 + (V.incubatorReproductionSetting / 5);
			_weekAdapt *= 1 + (tank.hormoneBalance / 1500);
			tank.pregAdaptation += _weekAdapt;
			/* here goes side effect from intense and extreme settings: */
			if (random(0, 100) <= (tank.incubatorPregAdaptationPower - 1) * (V.incubatorUpgradeSpeed / 2 + 1)) {
				switch (random(1, 9)) { /* side effect selection*/
					case 1:
						tank.preg = -2;
						r.push(`It caused <span class="red">reproductive damage</span> when excessive meddling damaged an organ.`);
						break;
					case 2:
						if (tank.ovaries === 1 || tank.mpreg === 1) {
							tank.preg = -3;
						}
						if (tank.balls > 0) {
							tank.ballType = "sterile";
						}
						r.push(`It caused <span class="red">severe reproductive damage</span> when excessive hormones shut down the associated organs.`);
						break;
					case 3:
						tank.lactation = 1;
						r.push(`It has <span class="orange">triggered a hormonal disorder,</span> causing ${his} breast glands begin producing milk.`);
						break;
					case 4:
						tank.bellySag = 100;
						tank.bellySagPreg = 100;
						r.push(`It activated <span class="red">emergency protocols</span> when overpressure to ${his} abdominal tissues and skin reached critical levels. ${His} belly has lost muscle tone and has begun to strongly sag.`);
						break;
					case 5:
						tank.health.condition -= 15;
						r.push(`Overzealous prodding caused some <span class="red">internal bleeding.</span>`);
						break;
					case 6:
						tank.weight += 50;
						r.push(`An unexpected shift in hormones spurred <span class="red">massive weight gain</span> before it could be corrected.`);
						break;
					case 7:
						tank.weight -= 50;
						r.push(`An unexpected shift in hormones spurred <span class="red">massive weight loss</span> before it could be corrected.`);
						break;
					case 8:
						tank.boobs += 5000;
						tank.boobShape = "saggy";
						r.push(`An unexpected shift in hormones encouraged <span class="green">explosive breast growth</span> before it could be corrected.`);
						break;
					case 9:
						tank.hips = 3;
						r.push(`A malfunction in the skeletal reconstruction software caused it to <span class="green">overwiden ${his} hips.</span>`);
						break;
				}
			}
		}
		App.Events.addNode(entry, r, "div");

		if (tank.preg > 0) {
			App.UI.DOM.appendNewElement("span", entry, `The incubator is displaying an alert that ${he} may be pregnant.`, 'red');
		}

		tank.weight = Math.clamp(tank.weight, -100, 200);
		tank.muscles = Math.clamp(tank.muscles, -100, 100);
		tank.dick = Math.clamp(tank.dick, 0, 10);
		tank.hips = Math.clamp(tank.hips, -2, 2);
		tank.balls = Math.clamp(tank.balls, 0, 40);
		tank.boobs = Math.clamp(tank.boobs, 25, 30000);
		tank.height = Math.clamp(tank.height, 0, 274);
		tank.hormoneBalance = Math.clamp(tank.hormoneBalance, -500, 500);
		tank.foreskin = tank.dick;	/* simple, clean way of making sure foreskins and scrotums grow appropriately */
		tank.scrotum = tank.balls;	/* if we want dicks/balls to outgrow foreskins/scrotums, this will have to be removed */
	}

	return frag;
};