diff --git a/CHANGELOG.md b/CHANGELOG.md index 09ded861e562ac8a7fb1cae42fa6ac8c4cd129d2..94b3ea3a61fa12a94a72f85139a6b3c48c3da322 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## Unreleased +* added player mobility +* added porn studio for better porn control * added new slimness enthusiast food policy +* overhauled the neighbor FS selection process +* locate slave improvements +* removed dTree in favor of lodash and d3 * fixes ## 0.10.7.1-4.0.0-alpha.19 - 2022-08-27 diff --git a/src/endWeek/healthFunctions.js b/src/endWeek/healthFunctions.js index 6937be2433f7bcc9b0ddf9fd4f6c137391171104..0340a53f8fbcacb2546a49e128306f105d12b311 100644 --- a/src/endWeek/healthFunctions.js +++ b/src/endWeek/healthFunctions.js @@ -429,12 +429,14 @@ globalThis.endWeekHealthDamage = function(slave) { // recovering and converting short term damage to long term if (H.shortDamage > 0) { - // short term damage reduces at a constant rate - // 40+ long term damage begins to harm short term recovery - // at 360+, you're ability to heal properly is completely crippled + // short term damage begins converting to long term damage at 20+ + shortToLong += Math.trunc(H.shortDamage * 0.1); + H.longDamage += shortToLong; + // short term damage reduces by half each week normally + // 100+ long term damage begins to harm short term recovery + // at 400+, you're ability to heal properly is completely crippled // but, keep in mind, that short and long damage do not directly influence health, sans illness - shortRecovery += 10 - Math.trunc(H.longDamage * 0.025); - shortRecovery = Math.max(shortRecovery, 1); + shortRecovery = Math.max(Math.trunc(H.shortDamage * (0.5 + Math.min(0.4, H.longDamage * 0.001))), 1); if (V.personalAttention.task === PersonalAttention.RELAX) { shortRecovery += 5; } @@ -442,9 +444,6 @@ globalThis.endWeekHealthDamage = function(slave) { shortRecovery += 5; } H.shortDamage = Math.max(H.shortDamage - shortRecovery, 0); - // short term damage begins converting to long term damage at 20+ - shortToLong += Math.trunc(H.shortDamage * 0.1); - H.longDamage += shortToLong; } // Reducing longDamage for easier difficulties diff --git a/src/endWeek/nextWeek/nextWeek.js b/src/endWeek/nextWeek/nextWeek.js index 0c8cfbe00670fdb56e719a23f299d209088df594..25f4f0054cad5f3c55747ad1db70b234de181e2b 100644 --- a/src/endWeek/nextWeek/nextWeek.js +++ b/src/endWeek/nextWeek/nextWeek.js @@ -36,6 +36,9 @@ App.EndWeek.nextWeek = function() { } } } + if (V.PC.majorInjury > 0) { + V.PC.majorInjury--; + } if (V.PC.induceLactation > 0) { V.PC.induceLactation--; } diff --git a/src/endWeek/player/prLongTermPhysicalEffects.js b/src/endWeek/player/prLongTermPhysicalEffects.js index 791e419b216c5308fbfbd2a877616116db0b6502..8fd47fcf34a80cd7a79711ad7800ae30066a0708 100644 --- a/src/endWeek/player/prLongTermPhysicalEffects.js +++ b/src/endWeek/player/prLongTermPhysicalEffects.js @@ -32,7 +32,7 @@ App.EndWeek.Player.longTermPhysicalEffects = function(PC = V.PC) { lactationEffects(); boobsEffects(); // Moved up from middle of the mobility and oversized asset set of text. bellyEffects(); // Moved up from middle of the mobility and oversized asset set of text. - // player mobility function goes here. + r.push(App.EndWeek.Player.mobility()); if (PC.diet !== "medicinal") { healthBlips(); } diff --git a/src/events/intro/acquisition.js b/src/events/intro/acquisition.js index 663136ce1e188aa902a3c73799d283b83b4fbdaa..dcc4120c8e31f41109441e2bbd35fcd979a2bd4c 100644 --- a/src/events/intro/acquisition.js +++ b/src/events/intro/acquisition.js @@ -352,7 +352,6 @@ App.Intro.acquisition = function() { } } if (V.PC.preg > 0) { - V.PC.pregWeek = V.PC.preg; if (V.PC.pregType !== 8) { V.PC.pregType = 1; } else { @@ -367,8 +366,8 @@ App.Intro.acquisition = function() { V.PC.pregSource = -5; } V.PC.pregKnown = 1; - V.PC.belly = getPregBellySize(V.PC); - WombImpregnate(V.PC, V.PC.pregType, V.PC.pregSource, V.PC.preg); + WombForceFatherID(V.PC, V.PC.pregSource); + WombUpdatePregVars(V.PC); } } else { V.PC.trueVirgin = 1; diff --git a/src/player/desc/pLongBoobs.js b/src/player/desc/pLongBoobs.js index 306acbc88cbf5fec1b1c69ee61673ab2df50730f..43a3b5f361dd149203ec8defa009131f1d025b40 100644 --- a/src/player/desc/pLongBoobs.js +++ b/src/player/desc/pLongBoobs.js @@ -196,7 +196,7 @@ App.Desc.Player.boobs = function(PC = V.PC) { break; case "partially inverted": case "inverted": - r.push(`Your nipples are stiffly erect and ${areolae()}. They'd be inverted if you weren't so horny right now.`); + r.push(`Your nipples are stiffly erect and ${areolae()} They'd be inverted if you weren't so horny right now.`); break; case "huge": if (PC.boobs - PC.boobsImplant > 7500) { @@ -587,6 +587,11 @@ App.Desc.Player.boobs = function(PC = V.PC) { } else { r.push(`you have nothing in the breast department. You're <span class="orange">completely flat.</span>`); } + // temp + if (PC.boobs >= 1600) { + r.push(boobShape()); + r.push(boobVolume()); + } r.push( boobFreckles(), nipples()