diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 49fb4ff6f9ba06dc6b6b4bd9e01fc82647ec7829..9db33ede8a5157a85cf703c0fe147d6ff9819004 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -271,14 +271,6 @@ window.canImpreg = function(slave1, slave2) { return null; } else if (slave2.dick < 1) { return false; - } else if (slave2.ID === -1) { - if (slave1.eggType != "human") { - return false; - } else if (!canGetPregnant(slave1)) { /* includes chastity checks */ - return false; - } else { - return true; - } } else if (slave2.balls < 1) { return false; } else if (slave2.dickAccessory == "chastity") { @@ -289,14 +281,6 @@ window.canImpreg = function(slave1, slave2) { return false; } else if (slave2.vasectomy == 1) { return false; - } else if (slave1.ID === -1) { - if (slave2.ballType != "human") { - return false; - } else if (!isPlayerFertile(slave1)) { - return false; - } else { - return true; - } } else if (!canBreed(slave1, slave2)) { return false; /* pregmod end */ } else if (!canGetPregnant(slave1)) { /* includes chastity checks */ @@ -324,7 +308,7 @@ window.isFertile = function(slave) { return false; } else if (slave.ovaryAge >= 47) { return false; - } else if (slave.inflation > 2) { + } else if (slave.inflation != 0) { return false; } else if (slave.bellyImplant != -1) { return false; @@ -747,6 +731,7 @@ window.expandFacilityAssignments = function(facilityAssignments) { "serve in the master suite": "be your Concubine", "learn in the schoolroom": "be the Schoolteacher", "be confined in the cellblock": "be the Wardeness", + "be a nanny": "be the Matron", }; if (!facilityAssignments || !facilityAssignments.length) @@ -2256,15 +2241,6 @@ window.getSlaveCost = function(s) { // TODO: Include them here anyway? } else { cost += foodCost * s.pregType * (s.pregControl === 'speed up' ? 3 : 1); - if (s.pregType >= 100) { - cost += foodCost * 5 * s.pregType * (s.pregControl === 'speed up' ? 3 : 1); - } else if (s.pregType >= 50) { - cost += foodCost * 3 * s.pregType * (s.pregControl === 'speed up' ? 3 : 1); - } else if (s.pregType >= 30) { - cost += foodCost * 2 * s.pregType * (s.pregControl === 'speed up' ? 3 : 1); - } else if (s.pregType >= 10) { - cost += foodCost * s.pregType * (s.pregControl === 'speed up' ? 3 : 1); - } } } if(s.diet === 'XX' || s.diet === 'XY' || s.diet === 'fertility') { @@ -2661,7 +2637,6 @@ window.emptyDefaultRule = function emptyDefaultRule() { }, set: { releaseRules: "no default setting", - toyHole: "no default setting", clitSetting: "no default setting", clitSettingXY: "no default setting", clitSettingXX: "no default setting", @@ -2721,7 +2696,6 @@ window.emptyDefaultRule = function emptyDefaultRule() { diet: "no default setting", dietCum: "no default setting", dietMilk: "no default setting", - onDiet: "no default setting", muscles: "no default setting", XY: "no default setting", XX: "no default setting", @@ -2772,7 +2746,6 @@ window.emptyDefaultRule = function emptyDefaultRule() { label: "no default setting", removeLabel: "no default setting", skinColor: "no default setting", - inflationType: "no default setting", } }; return rule; @@ -3693,167 +3666,6 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati } }; -window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) { - "use strict"; - const V = State.variables; - let errorMessage = ""; - - switch (FS) { - case "Supremacist": - if (Number.isFinite(V.arcologies[0].FSSupremacist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel); - V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Subjugationist": - if (Number.isFinite(V.arcologies[0].FSSubjugationist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel); - V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "GenderRadicalist": - if (Number.isFinite(V.arcologies[0].FSGenderRadicalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel); - V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "GenderFundamentalist": - if (Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel); - V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Paternalist": - if (Number.isFinite(V.arcologies[0].FSPaternalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel); - V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Degradationist": - if (Number.isFinite(V.arcologies[0].FSDegradationist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel); - V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "AssetExpansionist": - if (Number.isFinite(V.arcologies[0].FSAssetExpansionist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel); - V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "SlimnessEnthusiast": - if (Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel); - V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "TransformationFetishist": - if (Number.isFinite(V.arcologies[0].FSTransformationFetishist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel); - V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "BodyPurist": - if (Number.isFinite(V.arcologies[0].FSBodyPurist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel); - V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "MaturityPreferentialist": - if (Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel); - V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "YouthPreferentialist": - if (Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel); - V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Pastoralist": - if (Number.isFinite(V.arcologies[0].FSPastoralist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel); - V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "PhysicalIdealist": - if (Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel); - V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "ChattelReligionist": - if (Number.isFinite(V.arcologies[0].FSChattelReligionist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel); - V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "RomanRevivalist": - if (Number.isFinite(V.arcologies[0].FSRomanRevivalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel); - V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "AztecRevivalist": - if (Number.isFinite(V.activeArcology.FSAztecRevivalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel); - V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "EgyptianRevivalist": - if (Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel); - V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "EdoRevivalist": - if (Number.isFinite(V.arcologies[0].FSEdoRevivalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel); - V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "ArabianRevivalist": - if (Number.isFinite(V.arcologies[0].FSArabianRevivalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel); - V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "ChineseRevivalist": - if (Number.isFinite(V.arcologies[0].FSChineseRevivalist)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel); - V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Repopulationist": - if (Number.isFinite(V.arcologies[0].FSRepopulationFocus)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel); - V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Eugenics": - if (Number.isFinite(V.arcologies[0].FSRestart)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel); - V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - case "Hedonism": - if (Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) { - V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel); - V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); - } - break; - default: - errorMessage += "<span class='red'>ERROR: bad FS reference</span>"; - } - return errorMessage; -}; - -/* Currently unused, widget version routes directly through FSChange() */ -window.FSChangePorn = function FSChangePorn(FS, magnitude) { - return FSChange(FS, magnitude, State.variables.pornFameBonus); -}; - window.ordinalSuffix = function ordinalSuffix(i) { var j = i % 10, k = i % 100; @@ -8805,10 +8617,6 @@ window.SlaveSort = function SlaveSort(slaves, main=false) { } }; -window.slaveSortMinor = function slaveSortMinor(slaves) { - slaves = slaves.sort((a, b) => a.slaveName < b.slaveName ? -1 : 1); -} - window.MenialPopCap = function MenialPopCap () { const V = State.variables; let popCap = 500; @@ -12089,16 +11897,6 @@ window.HSM = function() { return .75; } - window.TierTwoUnlockCalc = function() { - const V = State.variables; - if (V.securityForceInfantryPower > 5) V.securityForceInfantryPower = 5; - if (V.securityForceArcologyUpgrades > 5) V.securityForceArcologyUpgrades = 5; - if (V.securityForceVehiclePower > 5) V.securityForceVehiclePower = 5; - if (V.securityForceDronePower > 5) V.securityForceDronePower = 5; - if (V.securityForceStimulantPower > 5) V.securityForceStimulantPower = 5; - if (V.securityForceAircraftPower > 5) V.securityForceAircraftPower = 5; - } - /*:: colorModeJS [script]*/ window.flipColors = function (lightColorMap){ @@ -12319,7 +12117,6 @@ window.DefaultRules = (function() { ProcessContraceptives(slave, rule); ProcessOtherDrugs(slave, rule); ProcessAssetGrowthDrugs(slave, rule); - ProcessEnema(slave, rule); ProcessDiet(slave, rule); ProcessCuratives(slave, rule); ProcessAphrodisiacs(slave, rule); @@ -12334,11 +12131,8 @@ window.DefaultRules = (function() { ProcessPunishment(slave, rule); ProcessReward(slave, rule); } - ProcessToyHole(slave, rule); ProcessDietCum(slave, rule); ProcessDietMilk(slave, rule); - if (V.arcologies[0].FSHedonisticDecadenceResearch === 1) - ProcessSolidFood(slave, rule); ProcessTeeth(slave, rule); ProcessStyle(slave, rule); ProcessPiercings(slave, rule); @@ -13580,7 +13374,7 @@ window.DefaultRules = (function() { break; case "appetite suppressors": - if (!(slave.weight <= -95)) + if (!(slave.weight > -95)) flag = false; break; @@ -13607,46 +13401,6 @@ window.DefaultRules = (function() { } } - function ProcessEnema(slave, rule) { - if ((rule.inflationType !== undefined) && (rule.inflationType !== "no default setting")) { - if (slave.inflationType !== rule.inflationType) { - if ((slave.inflationType === "curative" && slave.health > 90) || (slave.inflationType === "tightener" && slave.anus <= 1 && slave.vagina <= 1)) { - r += `<br>${slave.slaveName} cannot benefit from her assigned enema and has been defaulted to none.`; - slave.inflation = 0; - slave.inflationType = "none"; - slave.inflationMethod = 0; - slave.milkSource = 0; - slave.cumSource = 0; - SetBellySize(slave); - } else if ((rule.inflationType === "curative" && slave.health > 90) || (rule.inflationType === "tightener" && slave.anus <= 1 && slave.vagina <= 1)) { - } else { - r += `<br>${slave.slaveName}'s current enema regimen has been set to ${rule.inflationType}.`; - slave.inflation = 1; - slave.inflationType = rule.inflationType; - slave.inflationMethod = 2; - slave.milkSource = 0; - slave.cumSource = 0; - SetBellySize(slave); - } - } - if (slave.inflationType !== "none" && slave.inflation > 1 && slave.health < -50) { - r += `<br>${slave.slaveName}'s current enema regimen risks death, so it has been reduced to a less threatening level.`; - slave.inflation = 1; - SetBellySize(slave); - } else if (slave.inflation > 1 && (slave.bellyPreg >= 1500 || slave.bellyImplant >= 1500)) { - r += `<br>${slave.slaveName}'s current enema is too much for her body, so it has been reduced.`; - slave.inflation = 1; - SetBellySize(slave); - } else if (slave.inflationType === "none") { - slave.inflation = 0; - slave.inflationMethod = 0; - slave.milkSource = 0; - slave.cumSource = 0; - SetBellySize(slave); - } - } - } - function ProcessDiet(slave, rule) { // Diet Setting if (rule.diet !== undefined && rule.diet !== "no default setting") { @@ -14030,39 +13784,6 @@ window.DefaultRules = (function() { } } - function ProcessToyHole(slave, rule) { - if ((rule.toyHole !== undefined) && (rule.toyHole !== "no default setting")) { - if (rule.toyHole === "pussy") { - if (slave.vagina > 0 && canDoVaginal(slave)) { - slave.toyHole = rule.toyHole ; - r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`; - } else if (slave.toyHole !== "all her holes") { - slave.toyHole = "all her holes" ; - r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`; - } - } else if (rule.toyHole === "ass") { - if (slave.anus > 0 && canDoAnal(slave)) { - slave.toyHole = rule.toyHole ; - r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`; - } else if (slave.toyHole !== "all her holes") { - slave.toyHole = "all her holes" ; - r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`; - } - } else if (rule.toyHole === "dick") { - if (slave.dick > 0 && canPenetrate(slave)) { - slave.toyHole = rule.toyHole ; - r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`; - } else if (slave.toyHole !== "all her holes") { - slave.toyHole = "all her holes" ; - r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`; - } - } else if ((slave.toyHole !== rule.toyHole)) { - slave.toyHole = rule.toyHole ; - r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`; - } - } - } - function ProcessDietCum(slave, rule) { if ((rule.dietCum !== undefined) && (rule.dietCum !== "no default setting")) { if (slave.dietCum != rule.dietCum) { @@ -14095,18 +13816,6 @@ window.DefaultRules = (function() { } } - function ProcessSolidFood(slave, rule) { - if ((rule.onDiet !== undefined) && (rule.onDiet !== "no default setting")) { - if ((slave.onDiet !== rule.onDiet)) { - slave.onDiet = rule.onDiet ; - if (slave.onDiet == 1) - r += `<br>${slave.slaveName} is permitted to eat the solid slave food.`; - else - r += `<br>${slave.slaveName} is not permitted to eat the solid slave food.`; - } - } - } - function ProcessTeeth(slave, rule) { if ((rule.teeth !== undefined) && (rule.teeth !== "no default setting")) { if ((rule.teeth == "universal")) { @@ -14655,7 +14364,6 @@ window.DefaultRules = (function() { } slave.pornFeed = rule.pornFeed; let yesno = slave.pornFeed ? "are now" : "are no longer"; - if (slave.pornFeed === 0) {slave.pornFameSpending = 0}; r += `<br>Highlights of ${slave.slaveName}'s sex life ${yesno} being released.`; } @@ -15623,15 +15331,9 @@ window.rulesAssistantOptions = (function() { this.appendChild(new ShemaleHormonesList()); this.appendChild(new GeldingHormonesList()); this.appendChild(new OtherDrugsList()); - if (V.enema === 1) { - this.appendChild(new EnemaList()); - } this.appendChild(new DietList()); this.appendChild(new DietGrowthList()); this.appendChild(new DietBaseList()); - if (V.arcologies[0].FSHedonisticDecadenceResearch === 1) { - this.appendChild(new DietSolidFoodList()); - } this.appendChild(new MuscleList()); this.appendChild(new BraceList()); } @@ -15645,7 +15347,6 @@ window.rulesAssistantOptions = (function() { this.appendChild(new PunishmentList()); this.appendChild(new RewardList()); this.appendChild(new ReleaseList()); - this.appendChild(new ToyHoleList()); this.appendChild(new SmartFetishList()); this.appendChild(new SmartXYAttractionList()); this.appendChild(new SmartXXAttractionList()); @@ -16348,12 +16049,9 @@ window.rulesAssistantOptions = (function() { drugs.push(["Weight loss pills (FS)", "appetite suppressors"]); drugs.push(["breast redistributors"]); drugs.push(["butt redistributors"]); - drugs.push(["nipple atrophiers"]); drugs.push(["lip atrophiers"]); drugs.push(["penis atrophiers"]); drugs.push(["testicle atrophiers"]); - drugs.push(["clitoris atrophiers"]); - drugs.push(["labia atrophiers"]); } if (V.arcologies[0].FSAssetExpansionistResearch === 1) { drugs.push(["hyper breast injections"]); @@ -16371,26 +16069,6 @@ window.rulesAssistantOptions = (function() { } } - class EnemaList extends List { - constructor() { - const enemas = [ - ["No default setting", "no default setting"], - ["None", "none"], - ["Water", "water"] - ]; - if (V.medicalEnema === 1) { - enemas.push( - ["Aphrodisiac", "aphrodisiac"], - ["Curative", "curative"], - ["Tightener", "tightener"] - ); - } - super("Enemas", enemas); - this.setValue(current_rule.set.inflationType); - this.onchange = (value) => current_rule.set.inflationType = value; - } - } - class DietList extends List { constructor() { const diets = [ @@ -16465,19 +16143,6 @@ window.rulesAssistantOptions = (function() { } - class DietSolidFoodList extends List { - constructor() { - const pairs = [ - ["No default setting", "no default setting"], - ["Permitted", 1], - ["Forbidden", 0], - ]; - super("Solid food access", pairs); - this.setValue(current_rule.set.onDiet); - this.onchange = (value) => current_rule.set.onDiet = value; - } - } - class MuscleList extends List { constructor() { const pairs = [ @@ -16567,23 +16232,6 @@ window.rulesAssistantOptions = (function() { } } - class ToyHoleList extends List { - constructor() { - const pairs = [ - ["No default setting", "no default setting"], - ["All her holes", "all her holes"], - ["Mouth", "mouth"], - ["Boobs", "boobs"], - ["Pussy", "pussy"], - ["Ass", "ass"], - ["Dick", "dick"] - ]; - super("Fucktoy use preference", pairs); - this.setValue(current_rule.set.toyHole); - this.onchange = (value) => current_rule.set.toyHole = value; - } - } - class SmartFetishList extends List { constructor() { const pairs = [ @@ -16815,7 +16463,6 @@ window.rulesAssistantOptions = (function() { class EarwearList extends List { constructor() { const pairs = [ - ["no default setting"], ["correct with hearing aids"], ["muffle with ear plugs"], ["deafen with ear plugs"] @@ -17798,7 +17445,6 @@ window.rulesAssistantOptions = (function() { class CosmeticSurgeryList extends List { constructor() { const items = [ - ["no default setting"], ["none", 0], ["subtle", 1], ["invasive", 2], @@ -18595,7 +18241,7 @@ window.AnalVCheck = function AnalVCheck(times) { slave.anus = 1; } if (canDoAnal(slave)) { - if (canImpreg(slave, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 1, -1, 1); } if (!times) { @@ -18651,7 +18297,7 @@ window.VaginalVCheck = function VaginalVCheck(times) { } slave.vagina = 1; - if (canImpreg(slave, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 0, -1, 1); } if (!times) { @@ -18761,7 +18407,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) { slave.vaginalCount += bothTimes; slave.analCount += bothTimes; } - if (canImpreg(slave, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 2, -1, 1); } } @@ -18774,7 +18420,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) { V.vaginalTotal += bothTimes; slave.vaginalCount += bothTimes; } - if (canImpreg(slave, V.PC)) { + if (V.PC.dick == 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 0, -1, 1); } } @@ -18814,7 +18460,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) { V.analTotal += analTimes; slave.analCount += analTimes; } - if (canImpreg(slave, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 1, -1, 1); } } @@ -18882,7 +18528,7 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { partner.vaginalCount += bothTimes; partner.analCount += bothTimes; } - if (canImpreg(partner, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(partner) && partner.eggType == "human") { r += knockMeUp(partner, 10, 2, -1); } } @@ -18895,7 +18541,7 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { V.vaginalTotal += bothTimes; partner.vaginalCount += bothTimes; } - if (canImpreg(partner, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(partner) && partner.eggType == "human") { r += knockMeUp(partner, 10, 0, -1); } } @@ -18906,14 +18552,14 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) { partner.anus = 1; } if (!analTimes) { - V.analTotal += 1; - partner.analCount += 1; - } - else { V.analTotal += analTimes; partner.analCount += analTimes; } - if (canImpreg(partner, V.PC)) { + else { + V.analTotal += 1; + partner.analCount += 1; + } + if (V.PC.dick === 1 && canGetPregnant(partner) && partner.eggType == "human") { r += knockMeUp(partner, 10, 1, -1); } } @@ -18942,14 +18588,14 @@ window.SimpleSexAct = function SimpleSexAct(slave, count) { else if (canDoVaginal(slave) && slave.vagina > 0 && fuckTarget > 33) { V.vaginalTotal += 1; slave.vaginalCount += 1; - if (canImpreg(slave, V.PC)) { + if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 0, -1, 1); } } else if (canDoAnal(slave) && slave.anus > 0 && fuckTarget > 10) { V.analTotal += 1; slave.analCount += 1; - if (canImpreg(slave, V.PC)) { + if (V.PC.dick == 1 && canGetPregnant(slave) && slave.eggType == "human") { r += knockMeUp(slave, 10, 1, -1, 1); } } @@ -21108,10 +20754,10 @@ window.SlaveSummaryUncached = (function(){ r += slave.actualAge; } if (slave.actualAge !== slave.physicalAge) { - r += ` w${slave.physicalAge}y-bdy`; + r += `${slave.physicalAge}y-bdy`; } if (slave.visualAge !== slave.physicalAge) { - r += ` Lks${slave.visualAge}`; + r += `Lks${slave.visualAge}`; } r += " "; } @@ -21181,10 +20827,6 @@ window.SlaveSummaryUncached = (function(){ r += `Rem Teeth`; } else if (slave.teeth === "pointy") { r += `Fangs`; - } else if (slave.teeth === "baby") { - r += `Baby`; - } else if (slave.teeth === "mixed") { - r += `Mixed`; } r += " "; } @@ -21499,10 +21141,6 @@ window.SlaveSummaryUncached = (function(){ r += `Removable teeth.`; } else if (slave.teeth === "pointy") { r += `Sharp fangs.`; - } else if (slave.teeth === "baby") { - r += `Baby teeth.`; - } else if (slave.teeth === "mixed") { - r += `Mixed teeth.`; } r += " "; } @@ -22889,7 +22527,6 @@ window.SlaveSummaryUncached = (function(){ r += ` & lover`; handled = 1; } - r += " "; } if (slave.daughters === 1) { let _ssj = V.slaves.findIndex(function(s) { @@ -24112,13 +23749,13 @@ sizePlacement: Image size/center. */ window.assistantArt = function assistantArt(sizePlacement) { const V = State.variables; - let fileName = ""; + let fileName = "'"; if (V.imageChoice === 0 || V.imageChoice === 1) { if (V.imageChoice === 1) { - fileName += "'resources/vector/avatar/"; + fileName += "resources/vector/avatar/"; } else /* V.imageChoice === 0*/ { - fileName += "'resources/renders/assistant "; + fileName += "resources/renders/assistant "; } switch (V.assistantAppearance) { case "monstergirl": @@ -24186,9 +23823,6 @@ window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) { let fileName = "'resources/renders/"; let r = ""; - if (slave.belly > 1500) { - fileName += "preg "; - } if (slave.vagina > -1) { if (slave.dick > 0) { if (slave.balls > 0) { @@ -24206,6 +23840,9 @@ window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) { fileName += "gelding"; } } + if (slave.belly > 1500) { + fileName = `preg ${fileName}`; + } if (slave.boobs < 400) { fileName = `${fileName} small`; } else if (slave.boobs < 800) { @@ -25725,7 +25362,7 @@ window.GetVignette = function GetVignette(slave) { const He = capFirstChar(he); const His = capFirstChar(his); - if (slave.assignment === "whore" || slave.assignment === window.Job.BROTHEL || slave.assignment === window.Job.MADAM) { + if (slave.assignment === "whore" || slave.assignment === "work in the brothel") { let seed = jsRandom(1, 10); switch (seed) { case 1: @@ -27301,7 +26938,7 @@ window.GetVignette = function GetVignette(slave) { type: "trust", effect: -1, }); - } else if (slave.assignment === "serve the public" || slave.assignment === window.Job.CLUB || slave.assignment === window.Job.DJ) { + } else if (slave.assignment === "serve the public" || slave.assignment === "serve in the club") { let seed = jsRandom(1, 10); switch (seed) { case 1: