Skip to content
Snippets Groups Projects
eliteBreedingExam.js 8.79 KiB
Newer Older
  • Learn to ignore specific revisions
  • Skriv's avatar
    Skriv committed
    globalThis.eliteBreedingExam = function(slave = null) {
    
    	const eliteAngered = V.failedElite > 100;
    	const SlaveProfessionalismEstablished = V.arcologies[0].FSSlaveProfessionalism > 20;
    
    Skriv's avatar
    Skriv committed
    	const preferYounger = V.arcologies[0].FSYouthPreferentialist > 20;
    
    	const partyAnimal = V.arcologies[0].FSHedonisticDecadence > 20;
    	const cost = 5000;
    	let r = [], test, passing = 0, fixable;
    
    Skriv's avatar
    Skriv committed
    
    
    	const result = function() {
    		if (slave) {
    			if (test === true) {
    				return `<span class="lime">PASSED</span>`;
    			} else if (fixable) {
    
    Skriv's avatar
    Skriv committed
    				return `<span class="yellow">Within fixable range.</span>`;
    
    			} else {
    				passing--;
    				return `<span class="red">FAILED</span>`;
    			}
    		}
    		return ``;
    	};
    
    	r.push(`For each slave be to examined, a fee of <span class='yellowgreen'>${cashFormat(cost)}</span> will be deducted from your account.`);
    	r.push(`Updates will be posted periodically. It is your responsibility to keep up to date.`);
    	r.push(`Failures will be sterilized. Please make sure your slave fits the following criteria before submitting them for testing. We shall not be held responsible for time wasted.`);
    	if (!slave) {
    		r.push(`Must be not; already be marked as a breeding slave, inside a fuckdoll suit, infertile and already with child.`);
    	} else {
    		r.push(`${slave.slaveName} is up for review:`);
    	}
    
    	if (slave) {
    		test = slave.intelligence + slave.intelligenceImplant >= (eliteAngered ? 95 : 50);
    	}
    	r.push(`Must be ${eliteAngered ? 'highly intelligent' : 'very smart'}. ${result()}`);
    
    Skriv's avatar
    Skriv committed
    
    
    	if (slave) {
    		test = Beauty(slave) >= (eliteAngered ? 120 : 100);
    	}
    	r.push(`Must be ${eliteAngered ? 'unbelievably' : ''} beautiful. ${result()}`);
    
    Skriv's avatar
    Skriv committed
    
    
    	if (slave) {
    		test = slave.face >= (eliteAngered ? 95 : 40);
    	}
    	r.push(`Their face must be ${eliteAngered ? 'breathtaking' : 'gorgeous'}. ${result()}`);
    
    	if (slave) {
    		test = slave.chem <= 20;
    
    Skriv's avatar
    Skriv committed
    	}
    
    	r.push(`Their health must not be overly impacted by drug use. ${result()}`);
    
    Skriv's avatar
    Skriv committed
    
    
    	if (slave) {
    		test = slave.addict === 0;
    	}
    	r.push(`They must not be addicted to drugs. ${result()}`);
    
    	if (V.arcologies[0].FSMaturityPreferentialist > 20 || V.arcologies[0].FSYouthPreferentialist > 20) {
    		const targetAge = 24;
    		if (slave) {
    			if (V.arcologies[0].FSMaturityPreferentialist > 20) {
    				test = slave.physicalAge > targetAge;
    			} else {
    				test = slave.physicalAge < targetAge;
    			}
    		}
    
    Skriv's avatar
    Skriv committed
    		r.push(`Must be ${preferYounger ? 'younger' : 'older'} than ${targetAge}. ${result()}`);
    
    	}
    
    	if (V.arcologies[0].FSIntellectualDependency > 20) {
    		if (slave) {
    
    			test = slave.energy >= 96;
    
    		}
    		r.push(`Must be sexually receptive at all times. ${result()}`);
    	} else if (V.arcologies[0].FSSlaveProfessionalism > 20) {
    		if (slave) {
    			test = slave.skill.vaginal + slave.skill.anal + slave.skill.oral + slave.skill.entertainment + slave.skill.whoring >= (eliteAngered ? 500 : 400);
    		}
    		r.push(`Must be capable of mastering skills. ${result()}`);
    		if (slave) {
    			test = slave.accent <= 1;
    		}
    		r.push(`Must be capable of eloquent and accurate speech. ${result()}`);
    	}
    	if (V.arcologies[0].FSPetiteAdmiration > 20 || V.arcologies[0].FSStatuesqueGlorification > 20) {
    		const targetHeight = V.arcologies[0].FSPetiteAdmiration > 20 ? 150 : 186;
    		if (V.arcologies[0].FSPetiteAdmiration > 20) {
    			if (slave) {
    				test = (slave.height - (slave.heightImplant * 10)) < targetHeight;
    			}
    			r.push(`Must naturally be very short. (${targetHeight} cm) ${result()}`);
    			if (slave) {
    				test = (slave.height - (slave.heightImplant * 10)) < Height.mean(slave) - 15;
    			}
    			r.push(`Must naturally be very short for their age. ${result()}`);
    		} else if (V.arcologies[0].FSStatuesqueGlorification > 20) {
    			if (slave) {
    				test = (slave.height - (slave.heightImplant * 10)) > targetHeight;
    			}
    			r.push(`Must naturally be very tall. (${targetHeight} cm) ${result()}`);
    		}
    	}
    
    	if (V.arcologies[0].FSSupremacist > 20 || V.arcologies[0].FSSubjugationist > 20) {
    		const targetRace = V.arcologies[0].FSSupremacist > 20 ? V.arcologies[0].FSSupremacistRace : V.arcologies[0].FSSubjugationistRace;
    		if (slave) {
    			test = slave.race === targetRace;
    		}
    		r.push(`Must be ${targetRace}. ${result()}`);
    	}
    
    	if (V.arcologies[0].FSGenderRadicalist > 20) {
    		if (slave) {
    			test = slave.dick >= 1 && slave.balls >= 1;
    		}
    		r.push(`Must have a functional penis. ${result()}`);
    	} else if (V.arcologies[0].FSGenderFundamentalist > 20) {
    		if (slave) {
    			test = slave.dick === 0 && slave.balls === 0;
    		}
    		r.push(`Must be physically female. ${result()}`);
    	}
    	if (V.arcologies[0].FSPaternalist > 20) {
    		if (slave) {
    			test = slave.intelligenceImplant >= (SlaveProfessionalismEstablished ? 30 : 15);
    		}
    		r.push(`Must be ${SlaveProfessionalismEstablished ? 'well' : ''} educated. ${result()}`);
    		if (slave) {
    			test = slave.health.condition >= 60;
    		}
    		r.push(`Must be in good health. ${result()}`);
    	// } else if (V.arcologies[0].FSDegradationist > 20) {
    	}
    
    	if (SlaveProfessionalismEstablished) {
    		if (slave) {
    			test = slave.intelligenceImplant >= 15;
    		}
    		r.push(`Must be well educated. ${result()}`);
    	}
    
    	if (V.arcologies[0].FSBodyPurist > 20) {
    		if (slave) {
    			test = slave.chem <= (eliteAngered ? 0 : 15);
    		}
    		r.push(`Must have low carcinogen levels. ${result()}`);
    		if (slave) {
    			test = slave.boobsImplant + slave.buttImplant + slave.lipsImplant + slave.hipsImplant + slave.shouldersImplant === 0 && slave.faceImplant <= 5 && slave.bellyImplant === -1;
    		}
    		r.push(`Must be implant free. ${result()}`);
    	// } else if (V.arcologies[0].FSTransformationFetishist > 20) {
    	//	idealSlave.chem = 20;
    	}
    	if (V.arcologies[0].FSSlimnessEnthusiast > 20) {
    		if (slave) {
    			test = slave.weight <= (partyAnimal ? 30 : 0);
    		}
    		if (partyAnimal) {
    			r.push(`May be no larger than "plush". ${result()}`);
    		} else {
    			r.push(`Must be thin. ${result()}`);
    		}
    		if (slave) {
    			test = slave.butt <= 2;
    		}
    		r.push(`Must have a trim rear. ${result()}`);
    		if (slave) {
    			test = slave.boobs <= 400;
    		}
    		r.push(`Must have a sleek chest. ${result()}`);
    	} else if (V.arcologies[0].FSAssetExpansionist > 20) {
    		if (slave) {
    			test = (slave.butt - slave.buttImplant) >= 6;
    		}
    		r.push(`Must have a naturally gigantic rear. ${result()}`);
    		if (slave) {
    			test = (slave.boobs - slave.boobsImplant) >= 1000;
    		}
    		r.push(`Must be naturally busty. ${result()}`);
    	}
    	if (V.arcologies[0].FSPastoralist > 20) {
    		if (slave) {
    			test = slave.lactation === 1;
    		}
    		r.push(`Must be lactating naturally. ${result()}`);
    	}
    	if (V.arcologies[0].FSPhysicalIdealist > 20) {
    		if (V.arcologies[0].FSPhysicalIdealistLaw === 1) {
    			const musclesMin = 20;
    			const musclesMax = 50;
    			if (slave) {
    				test = slave.weight <= 30;
    			}
    			r.push(`Must not be overweight. ${result()}`);
    			if (slave) {
    				test = between(slave.muscles, musclesMin, musclesMax);
    				fixable = (slave.muscles <= musclesMin && slave.muscles > musclesMax - musclesMin) || (slave.muscles >= musclesMax && slave.muscles < musclesMin + 30);
    				if (fixable && passing === 0) {
    					passing = 2;
    				}
    			}
    			r.push(`Must be fit, but not too muscular. ${result()}`);
    		} else {
    			if (slave) {
    				test = slave.muscles > 95;
    			}
    			r.push(`Must be extremely muscular. ${result()}`);
    		}
    	} else if (V.arcologies[0].FSHedonisticDecadence > 20) {
    		const targetWeight = V.arcologies[0].FSSlimnessEnthusiast > 20 ? 10 : 95;
    		if (slave) {
    			test = slave.weight > targetWeight;
    		}
    		if (V.arcologies[0].FSSlimnessEnthusiast > 20) {
    			r.push(`Must be more than "trim". ${result()}`);
    		} else {
    			r.push(`Must be big, soft and fat. ${result()}`);
    		}
    	}
    
    Skriv's avatar
    Skriv committed
    
    
    	if (slave) {
    		if (passing === 2) {
    			r.push(`The aforementioned slave has been deemed <span class="yellow">currently unsuitable</span> for breeding, but may be resubmitted after corrections are applied. We understand the subjective nature of "fit" and do not wish to preclude the use a viable breeder over such a trivial fix. A contraceptive routine has been applied to protect against "accidents" in the interim.`);
    			slave.preg = -1;
    		} else if (passing !== 0) {
    			r.push(`The aforementioned slave has been deemed <span class="red">unsuitable</span> for breeding.`);
    			slave.preg = -3;
    		} else {
    			r.push(`The aforementioned slave has been deemed <span class="green">worthy</span> of being used for breeding and has been marked as such. Please note the increased restrictions on breeding slaves.`);
    			r.push(`They are not permitted for public use or anything that may harm their growing child. The child within them is considered a member of the Elite class and as such, any harm that comes to them will result in severe penalties to the breeder's owner. Development of the child will be closely monitored; should the fetus be identified as not of the owner's blood (or any other member of the Elite class), said owner shall face severe fines.`);
    			slave.breedingMark = 1; slave.pregControl = "none";
    
    Skriv's avatar
    Skriv committed
    			removeJob(slave, slave.assignment);
    
    		}
    		cashX(-cost, "capEx");
    	}
    
    Skriv's avatar
    Skriv committed
    
    
    	return r.map(t => `<div>${t}</div>`).join("");
    };