diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 3038ee6dd175eff8d8bddc121b5220aed60b22db..aacf42e2c64181c52516be4df6fd0d0e761895d9 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -768,6 +768,9 @@ App.Data.resetOnNGPlus = { clinicUpgradeFilters: 0, clinicUpgradeScanner: 0, clinicUpgradePurge: 0, + clinicObservePregnancy: 1, + clinicInflateBelly: 0, + clinicSpeedGestation: 0, clinicName: "the Clinic", clinicNameCaps: "The Clinic", arcadeDecoration: "standard", @@ -1013,7 +1016,6 @@ App.Data.resetOnNGPlus = { wcPiping: 0, burstee: 0, slaveDeath: 0, - clinicInflateBelly: 0, playerBred: 0, propOutcome: 0, EliteSires: ["crazy", "futa", "moves", "preggo", "quick", "virgin"], @@ -1028,7 +1030,6 @@ App.Data.resetOnNGPlus = { originOveride: 0, playerAging: 2, pregSpeedControl: 0, - clinicSpeedGestation: 0, playerSurgery: 0, playerGetsMilked: 0, bodyswapAnnounced: 0, diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js index ac3803292295c44be7fd581dfe2b1d74aa92a428..39e3def103fa322118ca06b2fe220c2d1db35ce3 100644 --- a/src/002-config/fc-version.js +++ b/src/002-config/fc-version.js @@ -1,7 +1,7 @@ App.Version = { base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed. pmod: "3.3.3", - release: 1062, + release: 1063, }; /* Use release as save version */ diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js index 80342a4fac252fc59885e82adb99fcc561d85612..2fdc6b01af5da4b276d41bf21ac1eb2ff4b4d07c 100644 --- a/src/data/backwardsCompatibility/datatypeCleanup.js +++ b/src/data/backwardsCompatibility/datatypeCleanup.js @@ -2169,6 +2169,7 @@ window.FacilityDatatypeCleanup = (function() { V.clinicUpgradeScanner = Math.clamp(+V.clinicUpgradeScanner, 0, 1) || 0; V.clinicUpgradeFilters = Math.clamp(+V.clinicUpgradeFilters, 0, 1) || 0; V.clinicUpgradePurge = Math.clamp(+V.clinicUpgradePurge, 0, 3) || 0; + V.clinicObservePregnancy = Math.clamp(+V.clinicObservePregnancy, 0, 1) || 1; V.clinicInflateBelly = Math.clamp(+V.clinicInflateBelly, 0, 1) || 0; V.clinicSpeedGestation = Math.clamp(+V.clinicSpeedGestation, 0, 1) || 0; /* nurse */ diff --git a/src/facilities/clinic/clinicFramework.js b/src/facilities/clinic/clinicFramework.js index acc9642d966227ae52c7d91e544e17add0a1e749..0551343c5777e1b36d008fff888532f900cab272 100644 --- a/src/facilities/clinic/clinicFramework.js +++ b/src/facilities/clinic/clinicFramework.js @@ -44,7 +44,8 @@ App.Entity.Facilities.ClinicPatientJob = class extends App.Entity.Facilities.Fac if ((slave.health.illness === 0 && slave.health.shortDamage < 20 && slave.health.condition >= 40) && (V.Nurse === 0 || ((slave.chem <= 15 || this.facility.upgrade("Filters") !== 1) && (V.bellyImplants !== 1 || slave.bellyImplant <= -1) && - (slave.pregKnown !== 1 || (this.facility.option("SpeedGestation") <= 0 && slave.pregControl !== "speed up")) && (slave.pregAdaptation * 1000 >= slave.bellyPreg && slave.preg <= slave.pregData.normalBirth / 1.33)))) { + (slave.pregKnown !== 1 || (this.facility.option("SpeedGestation") <= 0 && slave.pregControl !== "speed up")) && + (this.facility.option("ObservePregnancy") !== 1 || slave.pregAdaptation * 1000 >= slave.bellyPreg && slave.preg <= slave.pregData.normalBirth / 1.33)))) { r.push(`${slave.slaveName} cannot benefit from ${this.facility.name}.`); } diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js index 01e8744a58ed57306cbc1fd715dd0b2326e4f1d8..8a52282cc21b5c2338bf0b2b2cf919d4ed1231e0 100644 --- a/src/js/slaveCostJS.js +++ b/src/js/slaveCostJS.js @@ -1189,10 +1189,12 @@ window.BeautyArray = (function() { * @param {App.Entity.SlaveState} slave */ function calcLimbsBeauty(slave) { - // missing limbs - adjustBeauty("Limbs: Missing", -(getLimbCount(slave, 0) * 2.5)); - // non-beauty prosthetics - adjustBeauty("Limbs: Non-beauty Prothetics", -((getLimbCount(slave, 102) - getLimbCount(slave, 104)) * 0.5)); + if (arcology.FSDegradationist !== "unset") { + // missing limbs + adjustBeauty("Limbs: Missing", -(getLimbCount(slave, 0) * 2.5)); + // non-beauty prosthetics + adjustBeauty("Limbs: Non-beauty Prosthetics", -((getLimbCount(slave, 102) - getLimbCount(slave, 104)) * 0.5)); + } } /** @@ -1223,6 +1225,9 @@ window.BeautyArray = (function() { if (slave.hips === 3) { adjustBeauty("Hips: Transformation Fetishist", (10)); } + if (hasAnyProstheticLimbs(slave)) { + adjustBeauty("Artificial Limbs: Transformation Fetishist", (arcology.FSTransformationFetishist / 5)); + } if (slave.horn !== "none" || slave.tail !== "none" || (slave.earShape !== "normal" && slave.earShape !== "damaged") || slave.earT !== "none") { adjustBeauty("Horn/Tail/Odd Ears: Transformation Fetishist", (10)); } diff --git a/src/uncategorized/clinic.tw b/src/uncategorized/clinic.tw index a7afdb2a7d5867906894d6567c40fda5360c5d0a..6490c567bc5ae2b6c08bc51ae9ced610c4796320 100644 --- a/src/uncategorized/clinic.tw +++ b/src/uncategorized/clinic.tw @@ -174,6 +174,22 @@ <</if>> </div> +<div> + <<if $seePreg == 1>> + <<if $clinicObservePregnancy != 1>> + Pregnant patients will not be kept under observation. + <div class="choices"> + [[Keep high-risk pregnancies under observation|Clinic][$clinicObservePregnancy = 1]] + </div> + <<else>> + Patients undergoing a high-risk pregnancy or are close to giving birth will be kept under observation. + <div class="choices"> + [[Stop observing pregnancies|Clinic][$clinicObservePregnancy = 0]] + </div> + <</if>> + <</if>> +</div> + <div> <<if $pregSpeedControl == 1 && $Nurse == 0>> A resident nurse could be used to supervise patients under rapid gestation agents while minimizing strain and health complications. diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw index ca96d227f4b8bf6c2b60bf24f6858b4dbd7e4838..bfcaff902d4ce51d5579bc92846ff0ab23b67850 100644 --- a/src/uncategorized/clinicReport.tw +++ b/src/uncategorized/clinicReport.tw @@ -294,7 +294,7 @@ <<elseif ($slaves[$i].health.condition <= 40)>> <<elseif ($Nurse != 0) && ($slaves[$i].chem > 15) && ($clinicUpgradeFilters == 1)>> <<elseif ($Nurse != 0) && ($slaves[$i].pregKnown == 1) && ($clinicSpeedGestation > 0 || $slaves[$i].pregControl == "speed up")>> - <<elseif ($Nurse != 0) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>> + <<elseif ($Nurse != 0) && ($clinicObservePregnancy == 1) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>> <<elseif ($Nurse != 0) && ($clinicInflateBelly > 0) && ($slaves[$i].bellyImplant >= 0) && ($slaves[$i].bellyImplant <= ($arcologies[0].FSTransformationFetishistResearch ? 800000 : 130000))>> <<else>> <p> @@ -349,10 +349,10 @@ $He stays in the clinic as unhealthy chemicals are still being flushed from $his system. <<elseif ($Nurse != 0) && ($slaves[$i].pregKnown == 1) && ($clinicSpeedGestation > 0 || $slaves[$i].pregControl == "speed up")>> $He stays in the clinic to hurry $his pregnancy along safely. - <<elseif ($Nurse != 0) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>> - $He stays in the clinic waiting for the child to be born. <<elseif ($Nurse != 0) && ($clinicInflateBelly > 0) && ($slaves[$i].bellyImplant >= 0) && ($slaves[$i].bellyImplant <= ($arcologies[0].FSTransformationFetishistResearch ? 800000 : 130000))>> $He stays in the clinic as $his implants can still receive more filling. + <<elseif ($Nurse != 0) && ($clinicObservePregnancy == 1) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>> + $He stays in the clinic waiting for the child to be born. <</if>> <br> <<= saChoosesOwnClothes($slaves[$i])>>