Jump to content

Recommended Posts

I have quick question. I swapped from LE to SE some time ago, had this issue, delved around and eventually just surrendered. Recently I went back and narrowed it down to SLIF. It turned out i had SSE engine fixes mod and it caused an issue with some scaling (for some reason). I use BHUNP.  Breast scaling doesn't work. Body scales work (like belly, size, butt, etc.) but breast scaling doesn't work. I don't really know what am I missing. Do i need some kind of patch for BHUNP? I was using it on LE and the mod worked fine. I'm kind of desperate at this point and I'm starting to lose my mind over this minor issue. 
I also wrote on SE version of the mod but it seems people rarely visit it.

Link to comment
17 minutes ago, masterofgamespl said:

I have quick question. I swapped from LE to SE some time ago, had this issue, delved around and eventually just surrendered. Recently I went back and narrowed it down to SLIF. It turned out i had SSE engine fixes mod and it caused an issue with some scaling (for some reason). I use BHUNP.  Breast scaling doesn't work. Body scales work (like belly, size, butt, etc.) but breast scaling doesn't work. I don't really know what am I missing. Do i need some kind of patch for BHUNP? I was using it on LE and the mod worked fine. I'm kind of desperate at this point and I'm starting to lose my mind over this minor issue. 
I also wrote on SE version of the mod but it seems people rarely visit it.

I don't think BHNUP exiosted when SLIF came out, so a patch is likely to be needed, I use 3BA, so no idea if a BHUNP patch is out there...

Link to comment
3 hours ago, masterofgamespl said:

I have quick question. I swapped from LE to SE some time ago, had this issue, delved around and eventually just surrendered. Recently I went back and narrowed it down to SLIF. It turned out i had SSE engine fixes mod and it caused an issue with some scaling (for some reason). I use BHUNP.  Breast scaling doesn't work. Body scales work (like belly, size, butt, etc.) but breast scaling doesn't work. I don't really know what am I missing. Do i need some kind of patch for BHUNP? I was using it on LE and the mod worked fine. I'm kind of desperate at this point and I'm starting to lose my mind over this minor issue. 
I also wrote on SE version of the mod but it seems people rarely visit it.

 

 

SLIF do not target "body layouts" like CBBE or BHUNP, it targets the morphs names references in the Body mesh (.nif + .tri) and the node name in the reference skeleton.  It was designed, so anybody can create morph profiles to target the different "body layouts" when body authors change morph names (like it happened with HIMBO).  I think BHUNP and 3BA shares many of the "Core" bodymorphs names, because they are newer derivatives of CBBE 3BBB Advanced. 

 

Have you tried the morph retargeting profile created for the CBBE SE 3BBB(SMP)?  It works with 3BA, could likely work with BHUNP.

Also, you did not specify which breast's morphs you are targeting with SLIF. You have to set the breast (belly/butt) morph ratios in SLIF before SLIF can do anything with the morphs.  The pictures in the profile page may help.

 

Here is the custom 3BBB profile for SLIF.

 

 

Edited by safado
Link to comment
19 hours ago, safado said:

 

 

SLIF do not target "body layouts" like CBBE or BHUNP, it targets the morphs names references in the Body mesh (.nif + .tri) and the node name in the reference skeleton.  It was designed, so anybody can create morph profiles to target the different "body layouts" when body authors change morph names (like it happened with HIMBO).  I think BHUNP and 3BA shares many of the "Core" bodymorphs names, because they are newer derivatives of CBBE 3BBB Advanced. 

 

Have you tried the morph retargeting profile created for the CBBE SE 3BBB(SMP)?  It works with 3BA, could likely work with BHUNP.

Also, you did not specify which breast's morphs you are targeting with SLIF. You have to set the breast (belly/butt) morph ratios in SLIF before SLIF can do anything with the morphs.  The pictures in the profile page may help.

 

Here is the custom 3BBB profile for SLIF.

 

 

 

I'll play around that a bit, maybe it's gonna work.

Edit: Yeah nothing happened. I played around with different sliders in persentages category, i experimented with different bodymorp lists, tried Nioverride category too, nothing changed at all in either of these.

 

19 hours ago, safado said:

Also, you did not specify which breast's morphs you are targeting with SLIF.

 

Default, I wasn't changing anything. I play with MME so these ones. 

 

Also I just thought about it, is the animation engine important for that to work correctly? By which I mean I'm using Nemesis instead of Fnis.

 

Edited by masterofgamespl
Link to comment
9 hours ago, masterofgamespl said:

 

I'll play around that a bit, maybe it's gonna work.

Edit: Yeah nothing happened. I played around with different sliders in persentages category, i experimented with different bodymorp lists, tried Nioverride category too, nothing changed at all in either of these.

 

 

Default, I wasn't changing anything. I play with MME so these ones. 

 

Also I just thought about it, is the animation engine important for that to work correctly? By which I mean I'm using Nemesis instead of Fnis.

 

 

I think you have two problems.

  • MME has problem with breast morphs and SLIF.  The values send by the mod are so small that they barely do a change in scale.
  • SLIF need to be setup to use morph, it is default using NIO skeleton nodes scales.  If the mod send SLIF "morph modus" instead of SLIF "default modus" then it always works without setup, but that is rare with the current mods.  Only mods that follow SLIF documentation for morph use "morph modus". Most mod use the basic examples that use SLIF conversion Default Modus.

 

MME fix first: MME SLIF Compatibility Patch & Morph Editor - Version 3.0.  This is a patch-expansion for MME to properly use SLIF Morph modus. It was authored by @wm46.   After install, the MCM should appear if there are no SKYUI issues.   In the new MCM MME Config menu (separate from MME) you need to apply the defaults and save. That will create the config files with initiated values.  Leave it at default values and test MME.  It works if everything needed for body morph is in place.  Because it will use SLID "Morph modus" it does not need SLIF setup for conversion of NIO scale to NIO morph.  (Other mods that use SLIF will still need it.)

 

SLIF setup:  Basically you need to "tell" SLIF what mesh morphs will replace the NIO node scale values used for breast, belly, and butts in "compatible" mods.  The default has that conversion disabled.

I wrote this more than a year ago, has some typos and needs better structure, but it helps. The instruction also help with testing of SLIF.

 

 

 

 

Link to comment
53 minutes ago, safado said:

 

I think you have two problems.

  • MME has problem with breast morphs and SLIF.  The values send by the mod are so small that they barely do a change in scale.
  • SLIF need to be setup to use morph, it is default using NIO skeleton nodes scales.  If the mod send SLIF "morph modus" instead of SLIF "default modus" then it always works without setup, but that is rare with the current mods.  Only mods that follow SLIF documentation for morph use "morph modus". Most mod use the basic examples that use SLIF conversion Default Modus.

 

MME fix first: MME SLIF Compatibility Patch & Morph Editor - Version 3.0.  This is a patch-expansion for MME to properly use SLIF Morph modus. It was authored by @wm46.   After install, the MCM should appear if there are no SKYUI issues.   In the new MCM MME Config menu (separate from MME) you need to apply the defaults and save. That will create the config files with initiated values.  Leave it at default values and test MME.  It works if everything needed for body morph is in place.  Because it will use SLID "Morph modus" it does not need SLIF setup for conversion of NIO scale to NIO morph.  (Other mods that use SLIF will still need it.)

 

SLIF setup:  Basically you need to "tell" SLIF what mesh morphs will replace the NIO node scale values used for breast, belly, and butts in "compatible" mods.  The default has that conversion disabled.

I wrote this more than a year ago, has some typos and needs better structure, but it helps. The instruction also help with testing of SLIF.

 

 

 

 

 

That was really helpful, thanks a lot. I didn't know there's so much to do around it to make it work, when i used it on LE it just worked without any tweaks. 
I set it up pretty nicely, thanks to your guide, althought I'm using the default bodymorph, as I noticed that when using this custom tulius bodymorph it accualy made breast shrink instead of grow?

Another thing any reccomendations how to make belly look nicely, instead of like a traffic cone?

Link to comment
2 hours ago, masterofgamespl said:

 

That was really helpful, thanks a lot. I didn't know there's so much to do around it to make it work, when i used it on LE it just worked without any tweaks. 
I set it up pretty nicely, thanks to your guide, althought I'm using the default bodymorph, as I noticed that when using this custom tulius bodymorph it accualy made breast shrink instead of grow?

Another thing any reccomendations how to make belly look nicely, instead of like a traffic cone?

 

Maybe your setup is using NIO node scale for the belly inflation instead of a morph like "PregnancyBelly". It could be a mod that do not use SLIF or SLIF is not setup. Also, the morphs distort when the ratios' setup in SLIF are over 100%.  BigBelly will look like a cone when set to over 100% and belly value is 6 or higher, in my setup for belly I use Belly 20%, BigBelly 20%, PregnancyBelly 75%. NioOverride = 0 (NIO scales). 

 

Make sure that SLIF Bodymorph menu has NIOverride set to 0. That disables NIO scales in SLIF.  No scale will occur unless you have also setup the percentage ratios in the same menu but different Category.

 

Morph like this with a belly value of 10.  This is a 3BAv2 body. BHUNP has the same morph names, plus some extras.

Spoiler

SLIFbelly10.jpg.eda43aba3b4e48a167e5927cf90e1fc7.jpg

 

Edited by safado
Link to comment
17 hours ago, safado said:

 

Maybe your setup is using NIO node scale for the belly inflation instead of a morph like "PregnancyBelly". It could be a mod that do not use SLIF or SLIF is not setup. Also, the morphs distort when the ratios' setup in SLIF are over 100%.  BigBelly will look like a cone when set to over 100% and belly value is 6 or higher, in my setup for belly I use Belly 20%, BigBelly 20%, PregnancyBelly 75%. NioOverride = 0 (NIO scales). 

 

Make sure that SLIF Bodymorph menu has NIOverride set to 0. That disables NIO scales in SLIF.  No scale will occur unless you have also setup the percentage ratios in the same menu but different Category.

 

Morph like this with a belly value of 10.  This is a 3BAv2 body. BHUNP has the same morph names, plus some extras.

  Reveal hidden contents

SLIFbelly10.jpg.eda43aba3b4e48a167e5927cf90e1fc7.jpg

 

Out of curiosity, what are your settings for Breast and Ass?

Link to comment
On 7/31/2023 at 12:00 PM, masterofgamespl said:

Out of curiosity, what are your settings for Breast and Ass?


If you find a Morph slider that works in reverse, you can try to set the reverse toggle in SLIF.  In the section BodyMorph/Category/"Reverse Scaling".  Select first the body part where the morph is assigned (Breast/Belly/Butt).

 

My SLIF morph ratios.  Remember that this is only for Default Modus. Default Modus is the conversion of NIO Scale values to NIO Morphs.  It uses the mods scale value aggregated in SLIF and multiply it by the preset morph ratio before sending it to NIO Morph.  Morph Modus do not need conversion and is used for tracking and easy use for mod authors that do not want to deal with NIO Morph API.  Also, SLIf can tell mod the current inflation state to other mods because it is tracking it. That is used in Sexlab Survival(I think) and Morphology(I'm sure).

 

These are the morph listed in Tullius 3bbb profile for SLIF.  I think it was create by Acro, the creator of old CBBE SE Advanced 3BBB and the newer 3BAv2 that replaced it.  I think BHUNP also has those morphs, but it is adapted to follow UUNP, and some morph may be reversed.  Try loading the body reference in Outfit Studio to test and see the true morph names, the ones shown in Bodyslide are not the true names.  You can manually add more morphs to the SLIF profiles, but that is risky and an advanced modification.

Spoiler

 

Breast:

 

  • AreolaPull_v2: 14
  • AreolaSize: 7
  • BreastCenterBig: 14
  • BreastCleavage: 10
  • BreastConverage_V2: 18
  • BreastGravity2: 3
  • BreastSideShape: 23
  • BreastTopSlope: 7
  • BreastWidht: 11
  • Breast: 16
  • BreastFantasy: 60
  • BreastsNewSH: 85
  • DoubleMelon: 70
  • NippleLenght: 14
  • NipplePerkManga: 11
  • NippleSize: 14

Butt:

  • AppleCheeks: 40
  • BigButt: 52
  • Butt: 42
  • ButtShape2: 25
  • ChubbyButt: 38
  • ChubbyLegs: 32
  • ChubbyWaist:  3
  • Groin: 18
  • Hips: 4
  • RoundAss: 20
  • Thighs: 18
Edited by safado
Link to comment
On 8/1/2023 at 7:14 PM, safado said:

 

These are the morph listed in Tullius 3bbb profile for SLIF.  I think it was create by Acro, the creator of old CBBE SE Advanced 3BBB and the newer 3BAv2 that replaced it.  I think BHUNP also has those morphs, but it is adapted to follow UUNP, and some morph may be reversed.  Try loading the body reference in Outfit Studio to test and see the true morph names, the ones shown in Bodyslide are not the true names.  You can manually add more morphs to the SLIF profiles, but that is risky and an advanced modification.

 

One more thing. I got naturaly to value of 3 in breast size node, and it doesn't want to porgress further. Is 3 max? How do I increase it?

 

Edit: Never mind. MME has deafault max size 3 set on. Also I noticed that only MME scaling is happening, while for example bac  is not (by that i mean scaling like breast, belly and ass). Any idea why?

Edit: Fixed that too, had an unnecessary json installed, it's all good now, thanks for help.

Edited by masterofgamespl
Link to comment
  • 3 weeks later...
On 8/8/2023 at 5:40 AM, masterofgamespl said:

 

One more thing. I got naturaly to value of 3 in breast size node, and it doesn't want to porgress further. Is 3 max? How do I increase it?

 

Edit: Never mind. MME has deafault max size 3 set on. Also I noticed that only MME scaling is happening, while for example bac  is not (by that i mean scaling like breast, belly and ass). Any idea why?

Edit: Fixed that too, had an unnecessary json installed, it's all good now, thanks for help.

how did you fix it? i got the same problem with bac not working. 

Link to comment
1 hour ago, LinksSword said:

how did you fix it? i got the same problem with bac not working. 

For me i had unnessesary json for bac installed so only mme was scaling. And MME has on default set maximum scaling on 3. So what i did is I unlocked the scaling for mme for max (i think it's 99) and got rid of that json. And of course followed @safado's guide. 

Link to comment
  • 4 weeks later...

Thank you to the ones still replying to this mod. Im using fertility mod with SLIF and am having no success applying the Tullius 3BBB Bodymorph. Body changes to female characters can be made using other mods, but I have had no luck using SLIF. I have also followed the instructions from another guest below, but have had no success. 

 

 

SLIF Bodymorph setting.7z 2.62 kB · 23,555 downloads

 

Try use it, need SLIF

 

 

172618600_TheElderScrollsVSkyrimSpecialEditionScreenshot2019_11.24-19_43_39_02.png.27e60097463ec78a1f48a77937f2f081.png

 

Load 003_CBBE_SE_TULLIUSVER.JSON from the current list of SLIFs.

This allows all mods in which SLIF are available to be used as Bodymorph.

Same with MME

 

If the mod does not support Bodymorph, it can be used as Bodymorph in any mod if SLIF is supported.

 

1522159646_TheElderScrollsVSkyrimSpecialEditionScreenshot2019_11.24-19_42_53_49.png.25a54527a186a3f70f5d975b80a4896f.png

 

Can adjust the inflation shape in Bodymorph's percentages.

 

If click on bodymorph breasts above

 

337887809_TheElderScrollsVSkyrimSpecialEditionScreenshot2019_11.24-19_53_08_29.png.9d44cdb736b031f4495b5a78651a108d.png

 

Here can set inflation options for each.

If choose breast, will use it in the same breasts node inflation mod as the MME.

If choose belly, will use in the same belly node inflation mod as Pregnancy."

 

 

 

Any recommendations to get both Fertility and SLIF to work?

 

Link to comment
  • 2 weeks later...
On 12/9/2021 at 12:47 AM, King-Crimson said:

Compatibility patch for Devious Devices 5.1 LE 2021-01-19

https://www.loverslab.com/topic/157168-devious-devices-le-51-2021-01-19/

 

Instructions:

- Install manually or via mod manager and let it overwrite the two files from DD5.1 (zadlibs.pex, zadlibs.psc)

 

Don't use this for any other version of DD that 5.1 for Skyrim Legendary Edition!!!

 

Download the patch:

SLIF - DD5.1 Patch.zip 75.64 kB · 170 downloads

 

Your DD5.1 Patch was greatly appreciated. Have you made one for 5.2?

Edited by Piiska
Link to comment
On 9/21/2023 at 3:43 AM, SeikoMontiss said:

Thank you to the ones still replying to this mod. Im using fertility mod with SLIF and am having no success applying the Tullius 3BBB Bodymorph. Body changes to female characters can be made using other mods, but I have had no luck using SLIF. I have also followed the instructions from another guest below, but have had no success.

 

 

What about "Fertility Mode v3 Fixes and Tweaks"? Did you update Fertility mode v3 with it? It has SLIF fixes that use direct SLIF Bodymorphs. It also makes old patches obsolete.

 

Loooong list of fixes.  Including updated SLIF detection and morph function execution.

Spoiler
  • Version 2.61

    • change choice of words in MCM Info page for increased clarity
    • fixed my mistake in FG monitoring script that would greatly delay it starting
    • corrected oversight in routines that find an actor's partner, which caused excessive performance hit as total number of tracked actors grew
    • prevent tracking of any actors with a temporary FormID (beginning with FF), since tracking them prevents the game engine from cleaning them up and recycling their FormID for other temporary spawns
      Any currently-tracked temporary actors will be un-tracked upon game load. This may take up to 30 seconds, but should only run once, immediately after update to 2.61 from an earlier version.
    • changed condition on spawned child adoption dialogue from GetInFaction(BYOHRelationshipAdoptionFaction) to GetInFaction(HonorhallKidsIgnoreCrimeFaction) since ranks on BYOHRelationshipAdoptionFaction can be negative, and GetInFaction doesn't handle negative ranks reliably
    • Removed "Hearthfire Multiple Adoptions installed" display from MCM Info page, since the mod no longer needs explicit support for HMA.
      HMA is still supported, but in a generic manner.
  • Version 2.60

    • Fixed typo that could cause excessive memory consumption, leading to slowdown or CTD (thanks to multiple people who reported this, and particularly to gullu for narrowing down the circumstances under which it occurs)
    • flagged all spawnable children as persistent, as they might not always be reliably detected otherwise
    • flagged CellScan Magic Effect as "Hide in UI", as it was never intended to be visible and can be distracting
    • fixed potential out-of-bounds array access with spawnableChildren
    • forcing baby growth via MCM debug page no longer auto-prompts for naming them, to match behavior of "regular" growing-up process that was introduced several versions ago
    • added "hold position" AI package to women in labor, in hopes of getting them to stop using idle markers
    • fixed logic error that could prevent an adoptable child from being spawned when both "Spawn Enabled" and "Training Enabled" options were selected in the MCM
    • added five-second delay to start of FG monitoring script, as it often failed to connect on its first attempt without a delay
  • Version 2.59

    • Fixed case where Flower Girls monitoring quest might not start (thanks to various people for reporting it!)
    • fixed checking BOTH possible variables on the Hearthfire sripts where the player's home might be stored, instead of just one (thanks DizzyDedman and CHIMiny Cricket!)
    • Changes to the defined children spawning routines to reduce cases where the procedure might fail

      Note: Optional addon for Dinya Balu & Maramel to have a child also has been updated due to this. If you're using Fertility Adventures with its child addon, it also needs to be updated. CHIMiny Cricket (FA's author) is aware of this, and I expect he will have the update out very shortly.
  • Version 2.58

    • fixed mistake in ActorUpdates script that was causing other scripts to unregister for modevents (thanks dePog for several hours of testing!)
  • Version 2.57

    • fix spawning a child with the correct race, when a match was found
      ...I forgot to multiply, when multiplying...
  • Version 2.56

    • fixed actor morphs potentially causing a papyrus error when they expired
  • Version 2.55

    • fixed dialogue on adoptable children from this mod, so they will no longer offer adoption dialogue AFTER they've already been adopted!
    • fixed typo in _jsw_sub_actorUpdates that could have it do far, far more than the intended eight at a time
    • predefined children from addons will now spawn persistent
  • Version 2.54

    • added checks in incremental actor updates for zero-length arrays
    • fixed error that could prevent labor quest(s) from starting
    • remove long-unused properties from 'force birth' debug spell
    • general housekeeping: removed no longer used properties from scripts, consolidated liek values into arrrays
    • fixed bug that could prevent the MCM from properly detecting supported mods
  • Version 2.53

    • changed spell conditions on debug spells to account for custom-race followers (thanks Zangron)
    • expanded MCM sub-pages, intended for use by addon mods
  • Version 2.52

    • Hotfix for MCM issues experienced by some people in version 2.51 (thanks ctuck61 for emulating a guinea pig!)
  • Version 2.51

    • overhaul of adoptions: removal of large quantities of redundant code, that were performing the same checks that HF/HMA scripts already do
    • better handling and tracking of spawned adoptable children
    • check for, and prevent, condition where Honorhall would still try to allocate beds for children that had already been adopted
      This will not work with vanilla Honorhall. It will however with Honorhall Expanded.
    • adoptable children (from this mod) will initially be at 90% of their full height, and will "grow" over time
    • fixed possibility of mid-game installation of FME not being detected properly
    • child changes:
      - All PC adoptable children are now unique.
      - upon "growing" from a baby to a child, they will appear at their mother's location
      - if they haven't been taken in by you, they will attempt to be homed in an orphanage within 24 hours
      - after 5-6 days, if they still have not been taken in by you and have been unable to move into an orphanage, they will despawn
      - you will NOT get an immediate on-screen message asking you to adopt them when they spawn. You must track them down if you wish to acknowledge them as your child.
    • Child renaming, and child adoption are now two separate steps. This should (hopefully) allow VR users to adopt a child, without the game freezing during the renaming process.
  • Version 2.50

    • NOTE: this version, and future versions 2.50+, will only be tested under AE

      In the off-chance that a hotfix is needed for SE, they will be released as v 2.34-2.49
    • fixed potential bug when checking NPC keywords when manually adding to tracking via MCM debug menu (thanks WalkerJonas!)
    • changed ] to : in MCM tracking day display field
    • quest to force Rhiada persistent now runs constantly instead of on-demand in hopes of solving erratic behavior (thanks CHIMIny Cricket!)
    • spells used by FM+ Immersive Effects are now added silently, without on-screen display by request of w234aew
    • Removed essential flag from children. They're a "child" race, so vanilla will make them essential anyway. And for those who use "mortal/killable children" mods, they now conform.
    • behavior of UNadopted PC's children has been updated:
      If the Honorhall Orphanage is accepting transfers (not all beds are filled and Grelod is dead) they will move into the orphanage. If the Orphanage is full or otherwise not accepting transfers, they will sandbox around their current location for at least five days before despawning.
      This will work with vanilla Honorhall, however I strongly recommend https://www.nexusmods.com/skyrimspecialedition/mods/66955 because it fixes numerous bugs and shortcomings of the system.
  • Version 2.33

    • when being asked to name a PC's child, you should at minimum be informed of the child's gender, and if available who the other parent is
    • fixed actors from uninstalled mods not being properly removed from tracking during the daily update process (thanks Nether!)
    • clearing tracking lists will now also remove the (formerly) tracked actors from mod-added factions (thanks ronhirzel)
    • fixed logic error where NPCs would consume potions if they only had one in inventory, not if they had > 1
  • Version 2.32

    • added ability to unblock an actor from tracking, by getting them in your crosshairs and entering the MCM Debug menu
    • the arrays that previously stored actor's location names have been shrunken to zero length. They have been unnecessary for some time, and only contribute to save bloat.
    • EventLock array reduced to zero length, all code references to it have been removed. It has been unnecessary for months, as other methods of preventing race conditions are in place.
  • Version 2.31

    • fixed yet another logic error in determining which actors to automatically add to tracking (thanks Rodangold01!)
    • fixed possible array out of bounds access error in MCM tracking pages
      edit: make that two
    • clicking on the header of the male tracking MCM page no longer gives the option to block a random tracked male
    • changed MCM tooltip lookup, to hopefully compensate for VR's screwy mod load orders (thanks RobWed for VR diagnosis and feedback!)
    • added code to compensate for possible out-of-sequence DLC
  • Version 2.30

    • fixed minor error in 2.29 trying to clear a quest alias on game load that cannot be cleared
    • fixed major error in 2.29 that could cause scripts to hang and become non-responsive on a new game. DO NOT USE v2.29!
      (thanks Pedal92 for reporting it!)
    • removed _JSW_SUB_QF_StartStop from archive, as I no longer use it
  • Version 2.29

    • fixed error in 2.28 that could have the daily update run more than once daily (this is not harmful)
    • elapsed update time now displays down to the tenth of a second, instead of just full seconds
    • numerous checks added for empty ReferenceAliases on quests
    • daily actor updates are intentionally skipped if you're waiting for 24 hours at a time
  • Version 2.28

    • fixed fix from 2.26, where males were being slightly less faithful to their partners than intended
    • fixed math error that could cause the ahead ten pages/ back ten pages options to not work in the MCM tracking lists
    • fixed rounding-up error when calculating the last page of tracked characters
    • force immediate refresh of the filtered tracked actors list after blacklisting
    • If tracking is set to "Player Only" NPCs are no longer automatically removed from the tracking lists on each hourly update.
      This gives finer control over who is or is not tracked. Once you manually add an actor to tracking, they should remain tracked until/unless you manually remove them.
      Or if they die. Dead people are still removed daily.

      Note: that when initially setting tracking to "Player Only" in the MCM, the tracking lists are still cleared at that moment. It is recommended that you only change that setting at the beginning of a new game.
    • the spell that causes characters to run the "birth" animation moved from scripting, to an Alias Spell on the quest alias... where it should have always been
    • added the ability to flag (or unflag) tracked women as "promiscuous" in the MCM
      Such women will have 2x the normal chance of a random insemination (take that, Haelga!)

      Use with restraint. Finding partners for random inseminations for unattached women is by far the slowest part of the hourly update process. If you flag a large number of unattached women as promiscuous, there will likely be a performance impact.

      Finding partners for attached women has no such performance hit, assuming:
      a) their partner is also tracked
      b) there's a relationship record in the game showing them as "courting" or as being "spouses"
      c) you haven't moved the MCM "Spouse Fidelity" slider much lower than its default of 90%
    • Related to the preceeding: added tracking list filter option "Promiscuous Women Only" to the MCM Tracked Women page
    • Women in the second trimester of pregnancy are always considered to be promiscuous. Because a woman asked me (jokingly) in chat a few weeks back how I intended to simulate the second trimester "horny" effect.
      This is how. :)
    • current game day & time moved from Debug MCM page to Info page, so as to reduce confusion. It's the *game day* not the woman's *day of cycle*
    • mod updates can now be set to half-hour intervals, in the range of every 1.0 - 24.0 game hours
    • mod updates will now be scheduled to run at either 11 minutes past the hour, or 41 minutes past the hour

      Exception: Papyrus scripts do not execute during sleep, waiting or fast travel. If an update is due to run during sleep/wait/fast travel, then it will instead run immediately afterwards.
      Exception 2: an update will run 30 RL seconds after loading a game. Subsequent updates should run at their scheduled times
  • Version 2.27

    • NPCs will now take Potions of Fertility, Potions of Reduced Fertility, or Potions of Pregnancy Termination if you give them one or pickpocket one into their inventory, with some limitations.
      - They have to be friendly to the dragonborn, hostiles won't drink the potions.
      - They have to be tracked by the mod.
      - The game doesn't always like keeping magic effects active on characters in unloaded cells, if you give a potion of fertility/reduced fertility to a friendly NPC, leave them behind, then return the effect may have worn off prematurely. As long as you stay near them, it should last for its intended one RL hour duration (duration only matters for female characters - for males, both are instant effects with no duration)
      - In order to drink a potion of pregnancy termination (abortion) the character actually has to be pregnant, and less than halfway into the term. No late-term abortions!

      - Potion of Anti-Insemination (washout) not supported yet, still trying to find good conditions to use in determining when to drink it...
      There's still no animations for them drinking it, just the usual "drinking a potion" sound, but it's progress.
    • added craftable coin, that when in a follower/former follower's inventory, they will NOT drink potions that are given to them
      Requires 1 iron ingot, 1 leather strip, made at anvil, makes two "sobriety coins" to remind them not to drink

      If you use something like NFF that can let followers auto-loot corpses, I really recommend you give them one. Otherwise your pregnant wife may loot a Potion of Pregnancy Termination from a dead bandit, and drink it!
  • Version 2.26

    • fixed oversight that had males always being faithful to their partners, regardless of MCM "spouse fidelity" setting
    • fixed MCM tracking filter option "player related" not displaying women inseminated by the PC (thanks XenokMe)
    • fixed potential out-of-bounds array access during array compaction
    • fixed case where an actor's significant other info could be accidentally deleted during array compaction
    • women in labor are temporarily placed into factions that make most hostiles ignore them
  • Version 2.25

    • Further refinement of the random insemination routines from 2.24 - faster/more complete building of location data and NPC relationship data
    • random inseminations should no longer try to match up partners who are hostile to each other (example: Stormcloaks with Imperials)
    • skip checking relationship records on non-unique NPCs, since they never will have any
    • enforce correct startup sequence: any updates -> array compaction -> mod startup
  • Version 2.24

    • Expanded searches for "random" partners. Instead of only looking outside the current building if the person was in a City (major hold) or Town (minor hold) they'll now also search if they're in a smaller village (such as Riverwood or Dragon Bridge) as well.
    • to help reduce the performance impact of the previous, character AssociationTypes for close blood relatives are queried when the character is added to tracking, then stored
    • Wounded soldiers in camps will no longer be automatically tracked. If you wish to track them, you can still do so manually through the MCM.
    • fixed post-pregnancy belly morphing on the PC (thanks w234aew!)
    • Completely rewrote random insemination routines. Again.
  • Version 2.23

    • fixed error that could occur in tracking if an NPC was deleted
    • added check against possible errors while sorting actors in MCM tracking pages
    • revert the logic changes in tracking options code that was implemented in v2.21
    • Removed support for multithreaded updates. This feature no longer provided any performance increase.
    • added option to not map the Widget hotkey at all (thanks excidium93 and OCDCoder)
  • Version 2.22

    • added new filter option to the females tracking page: Non-Pregnant Only
    • *really* fixed post-pregnancy belly morphing (forgot to divide by 100 to convert it to a percent in 2.21 final release)

      2.22 is a small release. Spent the last few days on personal projects, but I wanted to get out this post-pregnancy morphing fix.
  • Version 2.21

    • minor compile size/speed optimization to various scripts
    • change sounds from arrays to fomlists, to facilitate easier modding/customization
    • BirthType will always be a baby for predefined pregnancies, regardless of MCM setting for other pregnancies
      ...which means one of the warning messages I added last version is now useless and needs to be removed <sigh>
    • post-pregnancy belly/breast scaling updated:
      - belly scaling reduces by 80% immediately after giving birth, the rest comes off gradually during the recovery period
      - breast scaling remains during the recovery period

      -- changing morphing method in the MCM should now be much faster
  • Version 2.20

    • added sending ModEvent for "predefined" pregnancies so they act like other pregnancies, for any other mods that may be listening (example: Fertility Adventures)
    • you can now specify more than 1 specific child to be born to the same pair of parents. One at a time, but a second pregnancy will spawn the second child, a third pregnancy the third child, etc (thanks TheSecretTodd!)
    • Added several possible warning messages to the MCM 'Information' page if current settings may cause undesireable results
      These are NOT forced settings changes, merely recommended ones
    • Displaying a message to the player when a pre-defined couple is made pregnant is now optional. Instructions in posted article updated.
    • added two new modevents for other mods: one to block an actor from ovulating, the other to release that block (API documentation coming soon)
  • Version 2.19

    • added script missing from 2.18, that prevented both of the new major features from working
  • Version 2.18

    • Re-wrote recently implemented pregnant couples-matching (Dinya Balue/Maramal, Seren/Rustleif and Rhiada/Eltrys) in a more generic way to allow easier expansion.
      If a mod adds pregnant couple(s), a compatibility patch can be easily made just by editing plugin records, with no need to edit/recompile any scripts
    • spawned children now periodically "refresh" their names in an attempt to keep them interactable (thanks dodika!)

      Note: this may not affect children already spawned due to their info being "baked in" to the save.
    • fixed obeying user settings for AutoInseminatePC/AutoInseminatePC after sleeping (thanks Katschaba!)
    • changed so that spawned children will appear at their mother's location, instead of the player's position
    • implemented ability for other mod authors (or anyone with decent xEdit knowledge) to specify a unique child to be born to specified parents.

      The optional download "Dinya Balu has a Kid" is a fully-functional proof-of-concept/example of this.
      If installed, Dinya Balu and Maramal will have a baby, that grows into a child that will live with them in the Temple of Mara in Riften. (thanks TheSecretTodd!)
  • Version 2.17

    • fixed visual bug where the last page of tracking in the MCM was displaying the page number as one less than the actual page number (thanks OCDCoder!)
      i.e. if the last page was #5, it had been mistakenly displayed as page #4
    • added MCM option to make number of characters per page in the tracking lists configurable (thanks OCDCoder for the reminder!)
    • added checking for Blacklisted NPCs to part of the nightly update process, instead of only when names are added- since the recently added importable Blacklist would otherwise skip already-tracked NPCs
    • added ability to block or blacklist NPCs by clicking on their entries in the MCM tracking screens (thanks asdasfa!)

      --edit: added ability to UNblock a blocked NPC by clicking on their name in the tracking list as well
    • If Fertility Adventures is installed, minimum Pregnancy Duration is 12 days. There is *no change made* if you do not have Fertility Adventures installed.

      Per Fertility Adventures' instructions, it needs a minimum 10 day pregnancy duration in order to work properly. In case people miss that, it is done automatically for you.
      It is still *recommended* to use a higher setting. (thanks, indirectly CHIMiny Cricket!)
  • Version 2.16

    • fixed error that could occur during name blacklisting if a null entry was encountered
    • fixed error that could occur on a new game from trying to access an uninitialized array
    • fixed possible stack dump during actor updates
    • added GetCurrentFathersName() function for FA, to replace CurrentFather array that was dropped in v2.13
  • Version 2.15

    • Added option for Rhiada to be pregnant with Eltrys' child, much like was added previously for Dinya Balu/Maramal and Seren/Restleif
      (thanks Swiftgold)
    • fixed invisible "ammo" from being, well, visible to the player (thanks DragonRockZX)

      Edit: if extras of this invisible ammo are found in player inventory, they will be removed
    • fixed instance where pregnant PC (not NPC) body morphing would begin later into the pregnancy than intended. AFAIK NPC morphing has been working properly for a while
    • proactively changed storing a potential father's race information as a Form record, instead of a FormID

      No bug reports with this exact problem, but if:
      a) the father was of a custom race
      b) the load order changed between time of insemination and time of conception,
      race record lookup based on FormID could fail.
      This is an edge case and would not be common. However, based on the infrequency of this sort of bug report even going back to Fertility Mode's pages, the likely culprit probably will be an edge case and not something common.
  • Version 2.14

    • fixed bug that could prevent player from being asked if they wished Seren to be pregnant by Rustleif
    • corrected oversight that could skip updating TrimesterDuration when the player changed PregnancyDuration in the MCM
    • changed the frequency which the ImageSpace Modifier (ISM) is applied to a PC suffering from Morning Sickness. Instead of being re-applied every few seconds, now it's approximately every 15 (game) minutes.
    • fixed SexLab and SLSO orgasm processing, that was broken due to a change made in v2.13 (thanks Duncan819)
    • implemented more setting female NPC faction ranks based on where they are int heir cyucle, for future use
  • Version 2.13

    • continued transition of childrens' father info from a string array to a more memory efficient form array
    • moved MCM message lookup function, utilized in localization efforts in 2.12, from script on the mod's main quest- which may not be running immediately upon start of a new game- to script on a quest that is set to start immediately
    • If a PC is tracking both Dinya Balu and Maramal, they will be asked if they want Dinya to be pregnant with Maramal's child- to match overheard in-game conversation

      Ditto for Seren and Rustleif in Dawnstar
      (thanks Corvinus18)
    • moved daily actor update routines out of main quest, into on-demand magic effect script
    • added checks against bad data processing in MCM toolitip lookups that was added in 2.12 (thanks Demistic!)

      fixed five erroneous function calls (AddTextOptionST when they should have been AddTextOption)
    • preliminary code addition to allow for an importable actor blacklist
  • Version 2.12

    • Upon loading a game, if known incompatible patches are detected, the user is informed via a message on-screen (namely, deprecated compatibility patches from a stock Fertility Mode installation)
    • Added racial spells/abilities to children spawned by this mod
    • Changed several variables from script variables to function variables in FG scripts. Removed several unused properties. (should reduce memory used)
      (thanks ddmagnan for getting me to look at these again, even if I haven't found your reported problem yet!)
    • moved several processes from a script that runs every time a game is loaded, to a script that only runs when the patch version is updated
    • If a baby is dropped from inventory into the world, it will soon begin crying. Incessantly.
    • changed child-followers-to-spawn to also be dynamically-sized and easy to edit, to match recent changes to supported races, baby armors and children-to-spawn records
    • Begin localization of MCM mousover tooltips, to facilitate translation to other languages

      -- posted article with translation instructions
  • Version 2.11

    • Child makeovers completed on human and mer races. Blue outfit added. Red outfit stopped working. Screw it, I'm tired and going to bed.
  • Version 2.10beta2

    • Changed the "children to spawn" info from a Magic Effect to a FormList record.
      This should make it even simpler for someone to customize which children to spawn. Just change the NPC's FormID to the one you want spawned in the formlist.
      (thanks Katschaba for indirectly giving me this idea!)
    • Changed baby models and list of supported races to FormID Lists as well, to match spawned children (change right above this one). Posted article with (hopefully) simple instructions on how to customize any or all of them.
  • Version 2.10

    • (optional beta version)
      "Spouse Fidelity" slider in MCM is now a base value for NPCs. It is modified by the Relationship Rank* shared by the couple. If positive, each point increases fidelity by 2.5%, if negative each point decreases fidelity by 10%. I recommend setting the default value in the MCM to around 90-93%. At that value, partners with a strong relationship will be completely faithful to their SO, but those with a poor relationship will be more likely to "mess around."
      I know it's not perfect, and IRL it would be possible for people to have a strong relationship and not be faithful, or to have a weak relationship yet remain completely faithful. But I also think it's not realistic for every couple in the world to have the same degree of faithfulness, and this uses already-existing game values to incorporate some variance.

      *Relationship Rank: https://www.creationkit.com/index.php?title=Actor.GetRelationshipRank_(Papyrus)#Return_Value (sorry, cannot imbed a URL in the changelog)
      (thanks AngelWD for indirectly giving me this idea)
    • Child makeovers have begun. Replacing/updating the potato-head Dovahkids from stock FM.
      uses .tri files from RS Children. .dds and .nif files based on stock or RS Children. Kudos to meirimi for having fairly open permissions on RS Children assets
    • This version is up as an optional beta because it's my first foray into including art assets and I it's very possible that I made a mistake or three along the way. Please read the stick post before installing/using it as the instructions have changed slightly.
  • Version 2.09

    • changed from GetCurrentGameTime() to using GlobalVariable GameDaysPassed where practical
    • Added check in FG orgasm processing so it will no longer announce to the world when a character masturbates.
      (for some unfathomable reason, the person who reported this didn't want their name attached to it...)
    • changed children to no longer have 17,664 health and 0 stamina. Again. (this was originally done in 2.01 but disappeared somehow)
    • further refinement of child spawning routines, aimed at simplifying the process- and more importantly, simplifying the process for anyone who wants to make patches to improve child appearance/outfits

      snow elf race added *as placeholder* for future addition. For now, babies/children from a snow elf parent will use the high elf variants
    • extended changes made in recent versions in determining a child's resultant race based on their parents, to be more "generically processed", to now also apply to babies
      these changes are aimed at making support for custom races less rigid, and in many cases custom races are already supported without needing compatibility patches

      If a match with the parents' races cannot be found, a default baby (breton/nord/imperial) will be given to the mother instead of failing altogether
    • removed BirthMotherRace[] and BirthChildRace[] arrays from storage script, as they are no longer rigid and pre-defined
    • changed BirthBabyRace[] and Children[] arrays to Form type, to allow them to be dynamically re-sized
      related minor updates to all scripts that reference those arrays, to recognize their changed type
  • Version 2.08

    • fixed several potions not working properly (thanks Yamada73)
    • stopped abortion and anti-insemintation potions/spells from improperly clearing the LastBirth value
    • on-screen notification of FG NPC sex scenes will now obey user verbosity setting (thanks murrayj)
    • changed MCM to allow user to set option "Allow Creatures" if PC is female and "PC Only" tracking option is set (thanks vedaxi52)
    • stop erroneous tracking of males when the player has selected the "PC Only" tracking option
      If any do get mistakenly added, they will be removed during each hourly update
    • change order of operations to ensure perk for DAR is applied before animation starts (thanks Vandrin22)
    • preliminary changes to MCM to allow tracking lists to be interactable (still incomplete)
    • changed instaces of wrapper AddToFaction() to SetFactionRank()
  • Version 2.07

    • added previously missing condition to have the mod scan for neither males nor females to add to tracking, which had been overlooked (thanks Katschaba)
    • Fixed bodymorphing also working on the PC, instead of only NPCs (thanks SkiesWounded)
    • updated MCM message to clarify that you need to exit MCM in order for a change to the "forced gender" setting to take effect
    • decreased distance from the player that NPCs are morphed at by 20% (from 160 feet, now down to 128), which works out to approx 1/2 the volume of space that skyrim has to search, ergo half the work

      radius decreased by 1/2 when indoors (64 feet), which is 1/16 the former volume
    • added sending modevent when: hourly actor updates have completed, MCM pregnancy duration slider is adjusted or body scaling method is changed
      that causes an (almost) immediate update of morphed actors
    • delayed the onset of First Trimester effects slightly, to better mimic RL
  • Version 2.06

    • pregnant women will start "showing" a little sooner, about 12% into the pregnancy instead of the former 16%
      TODO: add MCM slider
    • rewrote child race determining code, to work better with changes in 2.05
    • fixed at least a few of the issues with adopted children running off and/or becoming noninteractive
    • fixed "block" option appearing for male NPCs (thanks OCDCoder)
    • reverted having tracked NPC display names being part of their record stored by this mod, which was introduced in v1.2
      The negligible time reduction this gave wasn't worth the increased savegame file size IMO
      (at 1,000 tracked actors, the time savings was < 0.5 second for a full update, while the amount of data in the savegame was around 0.5 MiB)
    • Debug impregnate options will now only work on a target that is inseminated, in order to prevent errors from trying to determine child's race when the father doesn't exist
  • Version 2.05

    • combined the two functions for FA mentioned in 2.04 into a single function.
    • when determining the race of a child based on their parent's race, instead of using hardcoded values do keyname lookups based on parent's race name.
      This will have minimal impact with vanilla races (although now Afflicted will be recognized as Bretons.... if any of you were having kids with Afflicted, don't tell me. I probably don't want to know.) but it adds flexibility with support for races added by mods such as 'Charmers of the Reach' as well as other mods that contain the race base in the race name
      i.e. the CotR variant of the Nord race is named "Nord DZ" so a string search for "Nord" returns as a match, same as it does for vanilla "Nord" race and vanilla "NordRaceVampire"
      This will not work for completely custom races that do not contain "known" race names in their race name.
    • expanded framework for addon mod support
  • Version 2.04

    • added 2 "helper" functions to storage script for use by Fertility Adventures (not used yet by current versions of FA)
      added two GlobalVariables to GVHolder script for the same
    • changed PC from 3 different factions depending on trimester of pregnancy, to a single faction where the faction rank varies based on pregnancy progress. Similar change for pregnant NPCs
    • added option for no bodymorphing, instead of forcing user to select one of four supported methods
    • majority of morph-related functions moved out of scripts into Magic Effects
  • Version 2.03

    • increased time delays between when mother gets hit and fetus takes damage if miscarriage mechanics are enabled, per request (whacked)
    • fixed labor animation not playing for duration of labor
    • if FG NPC monitoring is enabled in the MCM, NPCs will now check for their presence in the dxAnimatingFaction before running script to see if they're involved in a scene
    • added check against condition that could cause two hourly updates to run back-to-back
    • fixed adoption quest to actually stop running after it was no longer needed to be running
    • several functions that only occur during hourly actor updates moved into their own quest that only runs on demand
      (updating ovulation status, updating pregnancy and checking baby growth)
    • "Detect Fertility" spell effects increase with the perks Apprentice and Adept Alteration
    • fixed out-of-bounds array access error that could occur with several debug options
  • Version 2.02

    • fixed women giving birth may disappear (thanks darkmegamorph!)

      It won't make any re-appear that already disappeared, which is why 2.01 was removed from available files. If you downloaded 2.01, I recommend restoring a save with 2.00 and skipping directly to this version.
  • Version 2.01

    • fixed actor body morphing being updated more frequently than intended in 2.0
    • "buffering" of actors added in cell scans to reduce, hopefully eliminate, race conditions
      ( https://en.wikipedia.org/wiki/Race_condition )
    • fixed faulty logic in child gender check that could prevent a PC's spawned child from being tracked
    • moved initial attempt at adding the PC to tracking to after the mod is enabled, instead of when the player exits RaceMenu. This should clear up issues with the widget not appearing right away
    • fixed spawning male or female children via MCM debug screen (thanks ValzRon)
    • BabyDuration cannot be less than RecoveryDuration as set in the MCM. MCM slider settings changed to enforce this. Default values for both changed.
    • if Miscarriage mechanics are enabled, the liklihood of the fetus getting damaged is dependant on trimester. Harder in 1st, easier in 3rd
    • changed child NPCs to no longer have 17,664 health and 0 stamina
    • fix an out-of-order operation when adding trained child, which could cause the operation to fail
    • added leading zero to MCM minor version display if < 10, i.e. 1 -> 01
    • removed conflicting variables in spawned child AI packages
    • removed numerous variables from several scripts, that were no longer being used due to recent changes
    • fixed labor/delivery not happening to NPCs that weren't loaded into memory (thanks darkmegamorph and w234aew!)
  • Version 2.0

    • A complete and total restructuring of just about every aspect of the mod. To the extent that I'm not even attempting to maintain backwards compatibility with existing games. Official support for this version will be for new games, if you use it on an existing game- which I do not recommend- you will be almost guaranteed to encounter problems.
      If a game has never had FM or an earlier version of this mod on it, you *might* be able to add it. But even that is questionable.
    • rewrote, then attached the MagicIModOnPlayerHit script to the Potion of Pregnancy Termination, as suggested by murrayj
    • MCM overhaul, it's at seven pages now with two new information pages (one not implemented yet), as well as tidying up the settings by splitting it into two pages
    • Clarified which MCM settings affect other settings- if one setting disables others, those others are not displayed (pic uploaded)
    • Fixed some quirks and slow response in the female tracking MCM page. Yes, I specified gender there because now we also have a Tracked Males page.
    • Further work segmenting the mod from being one big quest with a small number of large scripts, to several smaller quests and many smaller scripts. Mainly to reduce resource usage, this gives the Papyrus engine an opportunity to unload those parts that aren't being actively used at the time.
    • Where possible, moved parts of the mod out of scripting to be handled instead by the game engine rather than run by the Papyrus VM. Including but not limited to Cell Scans for NPCs and body morphing.
    • previously, MCM setting page was re-creating the specificBirthRace options every time you entered the page, even if it was unchanged from the previous time. Now it checks to see if an update is warranted, which makes accessing that menu faster on most occasions when an update is unnecessary
    • MCM tracking page results are flushed when leaving the page, preventing the quirk where it didn't update if you re-entered within 30 seconds of leaving the page
    • Changed display of tracking page to start at one instead of zero, because while computers like to start numbering things at zero, humans generally prefer to start with one
    • corrected instance where father's race wasn't being recorded at insemination, which could lead to future problems determing a resulting child's race
    • Adoption-related functions moved into their own quest that only runs as needed, since they're used rarely and having them be part of an always-running quest is a waste of resources
    • Moved checks for whether the mod is enabled out of magic effect scripts, into the magic effect itself
    • moved checks for target gender from the four debug spells out of their scripts, and into the magic effects themselves. Ditto for potions of pregnancy termination and anti-insemination
    • moved the array maintenence routines out of the main quest scripts, into a separate magic effect since this is only ever run immediately upon game load
    • added tracking how many children a male has fathered

      Note: this is tracked, but not used or displayed anywhere yet. But it lays the groundwork for future implementation
    • changed MCM page headers for the males and females to be equivalent (thanks OCDCoder)
    • Moved labor/birth routines out of main quest scripts into an on-demand magic effect
      third minor milestone achieved: there are no more Utility.Wait() calls remaining anywhere in the mod
    • Moved "script roll call" and related load game routines out of the main quest into a separate magic effect, as they're only needed at game load
  • Version 1.69

    • Widget now severed from main FM quest, as it belongs
    • Disabling the mod now actually disables hourly updates!
  • Version 1.68

    • continued evolution of the FG scripts to further reduce script load
    • added "Hide in UI" flag that was missed on several recently-added Magic Efects (thanks murrayj!)
    • fixed typo in SexLab orgasm event processing (thanks southernman86!)
  • Version 1.67

    • Fixed typo in the pop-up that displays when a deprecated FG compatibility plugin is detected
      (thanks OCDCoder)
    • expanded Flower Girls scripts to handle events that do not involve the PC
    • fixed mod version on-screen display updating to the correct version in existing game(thanks Wolfeyes140!)
    • replace higher-overhead GetStage() and SetStage() with their native GetCurrentStageID() and SetCurrentStageID()
      (thanks indirectly to Wolfeyes140, for getting me to look at that part of the code for another reason)
    • added MCM option to enable/disable monitoring NPCs for Flower Girls sex acts
      (only relevant if the user has Flower Girls installed)
  • Version 1.66

    • stopped unnecessary GetFormFromFile() lookup in SexLab orgasm event, since we already had that info passed in as part of the event trigger
    • stopped unnecessary GetCurrentLocation() check in cell scan, since it's triggered by an OnLocationChange() event that already provided that information
    • switched RSChildren, SexLab and other "extension" scripts away from using GetFormFromFile() to retrieve information
    • changed CellScan to save form[] result, instead of discarding and re-creating the array every time it runs
    • added "safety checks" in adoption script, if the HMA quest fails to respond for some reason (not running?) will now fall back to default behavior and query the vanilla Hearthfires quest
    • added checks to prevent possible out-of-bounds array access error when removing NPCs from tracking
    • The Flower Girls compatibility patch from Fertility Mode is no longer used.
      Current replacement only registers events if the PC is involved, but that will be expanded in future versions to include NPC-NPC sex.
      second minor milestone achieved: elimination of need for external compatibility patches
  • Version 1.65.2

    • fixed father name not being updated during insemination (thanks to various people for reporting this!)
    • fixed not trying to find the spouse/significant other for the last person in tracking list
    • added more updating the player's name record, because non-vanilla alternate starts could cause it to be recorded as "Prisoner"
    • changed point at where initial RegisterForSingleupdateGameTime() was called, because it could be missed and the script may never re-start if using a mod that doesn't pause time in menus
    • blocked impatient users using fast start mods from enabling this mod prematurely
    • moved the widget script from being attached to the main FM quest, to being attached to the SkyUI MCM config quest.
      If the game started the SkyUI quest before the FM quest, the widget script would not respond to SkyUI's queries and would not function. If the game started the FM quest before the SkyUI quest, everything would function. This was the root cause of the erratic widget behavior, and dates back to stock FM.
      Thanks to many people who reported problems with the widget
  • Version 1.65.1

    • hotfix to correct the reversed logic in 1.65- pregnant women weren't being morphed, and non-pregnant ones were!
      (thanks OCDCoder who's also now my friend, because Discord wouldn't let her send the pic to me otherwise. She's a decent person, to boot, so no real stretch anyway)
  • Version 1.65

    • fixed instance where change in widget hotkey might not take effect until after game save/exit/reload (thanks xxxMrSlenderman)
    • fixed error in random sex partner lookup that had it checking the wrong array. This resulted in it ignoring the player's MCM setting of whether or not to include the PC in random inseminations
    • Fixed widget not displaying on new games, which was broken in 1.63
    • If the "Miscarriage Enabled" option is set in the MCM, high damage to a pregnant mother may harm her unborn child.
    • ongoing code optimization/shrinkage in the MCM config script
    • minor optimizations to random partner matching
    • Fixed typo in MCM that could results in horrendous amounts of papyrus log errors from SkyUI
  • Version 1.64

    • rewrote RSChildren compatibility script to reduce memory footprint, increase execution speed and make the process reversible if someone removes RSChildren
      Because even though removing mods mid-play is not recommended, someone's gonna try it anyway.
      Edit: on further consideration, the script may be reversible but it's still not recommended. Any spawned children would still be missing their models/meshes/etc. The most likely outcome of the game trying to render them would be a CTD.
    • implement states in morphing script to reduce memory footprint and increase execution speed
    • Started attacking the Great Beast that is the MCM config script. Managed to reduce its size by a whole 1%!
    • incremental status updates now remove blocked actors from the active tracking arrays
    • fixed MCM tracking lists fintering out blank resuslts (thanks whacked!)
    • while in the above, re-wrote most of the code for the tracking filters. Scrolling through pages in the list should be much more responsive now
      The number of tracked characters will now reflect how many fit your selected filter option, instead of the total number of tracked characters

      Changing filters- namely to "Unique Only" will be slow. But scrolling through pages in the list after the initial sorting is completed will be much faster.
    • minor optimizations to delivery code
    • Added on-screen warning if a now-defunct 'FertilityMode-RSChildren Patch Patch' is detected as loaded
  • Version 1.63

    • Updated MCM message to properly reflect actual meaning of the "Autoinseminate NPC" option (thanks malablondi!)
    • better handling of AutoInseminatePC setting during random inseminations
    • added UnregisterforKey when updating the widget hotkey, because- lo and behold- that was never done before!
    • Added states to SexLab/SLSO, OStim and RSChildren scripts to reduce memory usage when the relevant mods are not loaded
      https://www.creationkit.com/index.php?title=States_(Papyrus)
    • Split adoption functions into their own script, and implemented states to only load HMA-related code if HMA is loaded
    • Added Child Race records from FM to the esp.
      Now all custom FM child races are flagged as being able to equip crossbows, previously only Argonian and Khajiit children could.
      Starting Magicka for all FM children is now set to 50 instead of 0, to match PC races.
      Health and Magicka regen rate are set to 7 and 3 respectively instead of 0, to match PC races

      Adding crossbow-equipping made Dawnguard.esm a master, which probably nobody cares about since SE includes Dawnguard anyway.
    • Updated FM's relationship records between the PC and any children to accurately reflect that the PC is the parent, and the child is the child (they had been reversed)
      Added the AssocianType ParentChild to those same records - now random inseminations will exclude the PC and his/her children as possible partners
    • Added relationship records for Serana-Harkon and Serana-Valerica, with the ParentChild associationtype

      I guess it's no big deal that Bethesda neglected to indicate that the main characters in a DLC have ever even met before...
    • Updated the relationship records between Keerava-Talen-Jai and Elda Early Dawn-Brunwulf Free Winter to indicate that the couples are courting.
      (I think I actually did this in 1.62 and forgot to document it)
    • changed all (3) occurrances of "GetActorRef()" to "GetRefence() as actor"
    • On-screen notification of births may not have been occurring previously
  • Version 1.62

    • changed MCM text display string from "(PC NAME) is untracked" to "(PC NAME) is male or untracked" for clarification (thanks aramil316)
    • Ongoing to changes to locating partners for random inseminations: the mod tries much harder to find a partner if the RNG determines someone is getting inseminated
      - first check: if they have a "courting" or "spouse" Association Type ( https://www.creationkit.com/index.php?title=Association_Type) it tries that person
      - if the first fails, it tries to find an available partner in the same location ( https://www.creationkit.com/index.php?title=Location )
      - if the second also fails, if the current location has the keyword "LocTypeDwelling" ( https://www.creationkit.com/index.php?title=Keyword ) then it tries to locate an available partner in the "Parent Location"

      Example: Camilla Valerius is usually found in the Location "Riverwood Trader." Most often, the only person there with her is her brother, Lucan, who is not a viable partner because they are siblings. However, the Riverwood Trader does contain the Keyword "LocTypeDwelling" so the mod now tries to find someone in its parent location, which is Riverwood.
      Note: Despite the "love triangle" between Camilla, Sven and Faendal, the records in Skyrim.esm do not have her relationship set with the AssociationType "courting" with either of them.
    • switched all instances of IsPluginInstalled() to use GetModByName() because- lo and behold- SKSE for Skyrim VR does not support IsPluginInstalled! (thanks YrralNivek)

      This may- and I stress *may*- also help with Skyrim LE. I don't test with or provide full support for either VR or LE.
    • Continued breaking down the format of the mod from several large scripts, to a larger number of smaller scripts.
    • re-enabled listening for OStim orgasm events.
    • A separate FM-RSChildren Patch Patch is no longer provided. Use of an older one *WILL* break the mod and render it unusable. If you're using RSChildren, make sure that "Fertility Mode 3 Fixes and Updates.esp" loads AFTER the "Fertility Mode - RSChildren.esp" from Fertility Mode.
      It bears repeating: incorrect load order or using an older FM-RSChildren Patch Patch *WILL* render this mod non-operational.
  • Version 1.61

    • incremental improvements to "random" insemination routines
      - faster and more accurate processing of spouse/courtship relationships
      - more selective blocking of other family relationships
    • fixed typo in sexlab orgasm event that could prevent it from processing
  • Version 1.60.1

    • Hotfix: new women added to tracking weren't ovulating
    • continued improvements to selecting spouses/love interests for "random" inseminations
  • Version 1.60

    • fixed instance where the "add sperm" MCM debug option would not work on the PC, but would still work on an NPC
    • several small changes to routines for finding a spouse/fiance in random inseminations, aimed at speeding it up
    • changed widget display from "Fertile: x%" to "Conception Chance: x%" to be clearer on what the value is (thanks Onlyspam93!)
    • implement more locks to prevent race conditions
    • started splitting up the large, slow, once-daily tracked character update into smaller, incremental updates that run more often but update less characters each time
      (Mainly an experiment. Will it be better? Will it be worse? Will it be the same? Only way to find out is to try.)
    • Clear event registration on game load, before registering for events. If not cleared, old registrations stored in the save could prevent the new one from taking effect.
      thanks takahirn for finding this!
    • Updated Potions of Abort, Anti-Insemination and Fertility as well as the spells Inseminate, Abort and Impregnate to call the correct scripts. This was missed in 1.58 -> 1.59
    • fixed calculation of male spermcount during their refractory period, which was miscalculated when adding the MCM Refractor Period setting (thanks OCDCoder!)
  • Version 1.59

    • fixed instance where NPC faction wasn't being updated after giving birth
    • changed SLIF detection from Game.GetModByName to Game.IsPluginInstalled
      There should be no functional change, but this is a more appropriate way to pose the query
    • Added check against rare possibility of a woman ovulating twice in the same cycle.
    • Started rewriting random insemination routines to check against siblings and/or parent-offspring inseminations
      That first part was easy. Now on to the time consuming part, getting it to prefer picking a character's love interest (if they have one)
  • Version 1.58

    • Fixed bug introduced in 1.57 that cause cause manual gender setting to not apply properly.
      Multiple reported problems were a symptom of this, including but possibly not limited to, difficulties enabling/disabling the widget or multiple female time-of-cycle buffs applying to a character at once.
    • Reverted Ostim support again. Assuring load order between two esp files flagged as ESL is problematic unless one is also a master, which I'm trying to avoid since doing so would require all users to install Ostim. For now, at least, if you want Ostim support use https://www.nexusmods.com/skyrimspecialedition/mods/46012
      I'm not opposed to anyone using OStim. I'm just trying to not make it a requirement.
    • changed display on widget from "infertile" to "not fertile" per request (OCDCoder)
    • Added missing updates to female cycle buffs/debuffs during full-term pregnancy and recovery from pregnancy periods that were overlooked previously
      - it was possible that in either of those cases a PC might end up with multiple buffs or no buffs
    • Reverted change to Potions of Fertility and Potions of Contraception applying to the NPC, as this could prevent them from applying to the PC. Support for these potions on NPCs will be added back in the future when it can be done without blocking functionality on the PC.
  • Version 1.57

    • Potion of Abortion now uses the same abort function as other abortions, instead of its own code block
    • added check to "Potion of Washout" to not clear father info if the potion's consumer is pregnant
      Potion and the MCM options to remove sperm now share code instead of each having their own.
      Todo: update API documentation, as all these new events are new API features
    • Potions of Fertility and Potions of Contraception now operate via events and are now readily accessible to other mods
    • Changed the four potions to now also affect NPCs, not only the player character
      The four potions are now also flagged as "Poisons" and, via the "Poisoned" Pickpocket perk, can now be given to NPCs
    • Removed former potion handling code, which was in OnObjectEquipped event, and needlessly ran whenever the PC equipped *any* item (i.e. excess script load)
    • Max BabyHealth is now 105 instead of 100, because of new mechanics that can harm babyhealth when the mother takes damage. This is only tracked for a pregnant female PC, not for NPCs, and only applies if the "Miscarriage Enabled" option is on in the MCM. If that option is off, BabyHealth is never checked.
    • fixed instance where updating female cycle buffs/debuffs might be skipped if widget was disabled
      - thanks MintTeaChip!
    • fixed instance where using the MCM debug "Add Sperm" option on the PC could print an out-of-bounds array access error to the log
      - thanks OCDCoder!
    • auto-hide the MCM option to "Add Sperm" if a female already has sperm in her, since it is intentionally blocked in those cases
    • remove debugging message from SexLab Separate Orgasm events
    • fixed typo in SexLab Separate Orgasm events that could prevent them from processing
    • disabled unborn fetus chance to take damage when the mother took high dmg. for now.
  • Version 1.56

    • Consolidation of all abortion/miscarriage functions into single event in a single location (general cleanup/housecleaning)
    • consolidate all labor-inducing code into single event in a single location (more general code cleanup)
    • The "Detect Fertility" optional spell is no longer a scripted effect, but handled directly by the game engine.
      -- Detect Fertility magicka cost per second is halved by the perk 'Apprentice Alteration'
      -- Functionally quite similar to "Detect Life" and "Detect Dead" spells, experience gain for Alteration skillup will be faster in heavily populated areas
    • change "Impregnate" debug spell to use already-existing event in main scripts instead of its own code block (more general code cleanup)
    • consolidated all impregnation/conception code into a single event in a single location (more general code cleanup)
    • enforced stricter checking and enforcement of FatherRaceID for *internal* impregnation events, in hopes of tracking down the source of the many complaints on the FM bug report pages of children not resembling parents or being of "weird" races

      I have no control over *external* (originating in another mod) impregnation and insemination events. External events only send us the father's (impregnator's) name, not full ActorID so it is impossible for FM to check if the father matches your chosen FM MCM settings (allow/disallow creatures, or non-uniques, or even gender for that matter!) If another mod is sending impregnation events that do not meet your criteria, you either need to change settings in that mod, or take it up with the other mod author.
    • The debuffs greatly outweigh the buffs in 1.55 based on a female PC's time of cycle, so PMS now adds a small buff to both Attack Damage and Destruction Skill.
    • pulled my head outta my ass- I made more perks, spells, effects than were needed in 1.55, re-write code to remove extras
    • if the miscarriage option is enabled, high physical damage can harm the unborn child
    • slightly increased chance of ovulation each update cycle, to compensate for people using iNeed or similar mods which require them to sleep and miss update cycles
    • added MCM slider option for Male Refractory Period (finally! one more item off the to-do list)
    • adjusted "egglife", how long an unfertilized egg remains viable from the old value of two days down to one day, to more closely resemble RL value of 12-24 hours
    • fixed widget display of ovulating status while the player also had either a fertility or contraceptive effect active, accidentally broken in 1.55
    • fixed instance where MCM manual override of player gender might not take immediate effect
    • Clarified text descriptions of "Unique Only" tracking options in MCM. Functions did not change, only the displayed text descriptions.
  • Version 1.55.1

    • Automatically add/remove female-related cycle buffs and debuffs if the player manually sets gender in the MCM options
      Added text description to Menstruation spell

      Otherwise identical to 1.55
  • Version 1.55

    • New mechanics for the "Potion of Fertility" and the "Potion of Contraception"
      click the "Articles" tab, it's been added to the end of the article on Fertility Calculations if you're interested
    • while doing the above ^^ and in the Widget code: added "sanity check" to only try to update the widget if the PC is female (including manually set as one) and tracked,
    • changed order of operations within widget updates, now checking player state (menstruating, ovulating, etc) is done BEFORE setting/clearing player factions that rely on that information, which I apparently reversed sometime prior
    • moved player-specific code from UpdateStatusSingle* functions, which run on every tracked character each update, to UpdateStatusAll(), which only runs once per update
    • as a result of the immediately preceeding, UpdateStatusSinglePartial() was down to 7 lines of code. No longer a separate function, it is now a part of UpdateStatusAll()
    • An almost total re-write of any and all code related to a woman's cycle-based buffs/debuffs. Magic Effects have been moved out of scripts where possible, to allow the game engine to handle the details and do what it's good at. Prior buffs/debuffs have been tweaked. PMS and First Trimester now include minor speed decreases, while Ovulation provides a minor speed increase. Third Trimester, which previously had no associated effects now suffers a larger speed penalty than either PMS or First Trimester, only because I couldn't find an option for "decreased bladder capacity".

      thanks OCDCoder for the suggestion to use factions to inform the game engine of where the PC is in the cycle
    • 1st Trimester speed debuff set to work from 5am-10am, a la "morning sickness"
    • former PMS debuffs set to occur during menstruation instead; new PMS debuff to speech skill
    • MCM Tracking page filter option changed from "All Non-Unique" to "All (unfiltered)" to more accurately reflect what the setting does.
      Only the name has changed, not the fuctionality.
  • Version 1.52

    • Bugfix release. The only reason it's not "1.51.1" is that the changelog sorted it to before 1.51hotfix when I tried that.

      fixed instance where a deleted-from-tracking actor (due to death, blacklisting, etc) record wasn't being properly cleared, and could cause an error message about negative records
    • REALLY removed the debugging message from SexLab events that should have been removed in 1.51, which was still in due to a compiler quirk. It's now deleted from the source instead of just commented out.
      thanks MeXeSGER!
    • properly shrink/destroy the unused LastGameHoursDelta array
  • Version 1.51hotfix

    • Fix to re-instate accidentally broken interoperability with Fertility Adventures. Otherwise the same as 1.51
      Only useful if you have Fertility Adventures installed.
      thanks for Demistic for supplying me with a papyrus error log so I could see this!
    • added more information on the cause of the "negative records found" message instead of being totally generic
    • changed description of the first trimester magic effect to "Headaches and Sluggishness" to match Fertility Adventures' change to this record
      *in theory* this will eliminate load order mattering between this patch and Fertility Adventures - still needs more confirmation.

      this effect may be changed further in the future, to only trigger between certain hours to simulate RL "morning sickness"
  • Version 1.51

    • Removed debugging message from SexLab events (sorry about the distracting technical message during your intimate moments!)
      thanks dxm04n for the bug report!
    • fixed out-of-order variable assignment that could clear belly/breast scaling (thanks again to murrayj!)
      this same out-of-order assignment could also cause a skip in updating a woman's day of cycle (thanks again Katschaba!)
    • added indicator in MCM tracking screen if a woman is menstruating (thanks whacked for the idea!)
      it's "^" for now, just because I have no better idea of what to use. If you have a suggestion, share it!
    • Enforced stricter "encounter order" in the MCM tracked character list
      The first person on the list should be the first one you encountered, the last person on the list should be the last one you encountered.
      Previously, as new characters were added to tracking they might be added to the beginning or the middle of the list, not the end

      This is contingent on having MCM settings that allow tracking at all. If you disable tracking, then nothing will change for you.
  • Version 1.50.1

    • Cosmetic changes from 1.50:
    • Incorrect formula was being used for calculating when a woman would ovulate, so it was happening 1-3 days later (depending on cycle duration) than the expected day displayed by the Widget and the MCM Debug screen. (thanks Katschaba for noticing it!)
    • while fixing the above, changed MCM debug display from "Expected Ovulation: 14" to "Expected Ovulation: Day 14"
    • Updated MCM tooltip for auto/forced gender to no longer say SexLab is queried if it's installed, because SexLab is no longer queried.

      This means if you've manually set your character's gender in SexLab, and you want FM to recognize this, you must also manually set your gender in the FM MCM
      Sorry if this is an inconvenience, but asking SexLab for gender info was causing many many more bugs than it fixed.
  • Version 1.50

    • Minor milestone. Eliminated the "compatibility" script from Fertility Mode entirely.
      This makes things simpler for everyone. For me, because it's one fewer script to maintain. Easier for users, because there's only one version to download and install, regardless of whether or not they have FG, HMA, SexLab or SLSO installed.
      The only exception is that the "Fertility Mode - RSChildren Patch Patch" is still needed. For now.
    • added check to prevent possible blank second name for "xxx came inside yyy" messages
    • added check that "father" race contains keyword NPC before updating the raceindex, to hopefully mitigate FM bug reports of children being of "weird" races
    • Fixed instance where changes to Verbose mode on/off might be slow to register
    • The MCM "Add Sperm" debug option and the "Inseminate" magic spell now function identically to all other (internal) insemination events.

      External (i.e. from another mod) insemination functionality is unchanged
    • Reverted (commented out) OStim event handler code since it was still WIP and allowed a CTD if Ostim wasn't installed correctly or, if uninstalled, if it was not completely uninstalled.
      Will be re-added at some future point after further work and safety checks.
  • Version 1.46.1

    • added missing parentheses that could cause improper belly/breast scaling
    • now also verifies presence of correct version of jsw_bb_widgetcycle script. Version number updated to 1.46 on startup message
  • Version 1.46

    • removed erroneous check in cell scan for NPCs to add to tracking that could cause the cell scan to stop prematurely.
      severity: minor. Cell scans are done every time a character changes locations, if one stops early, it's very likely that later scans would complete fully anyway
    • early implementation of handler to catch OStim orgasm events (WIP)
    • fixed instance where changes to the "Allow Creatures" MCM setting would not take effect until exiting and reloading the game
    • clear belly/breast scaling on a character immediately after they give birth, in an attempt to resolve the many bug reports on FM's page about morphing being "weird" after a character gives birth
    • Filled in data for DAR hook perk added in 1.43
    • Reverted changes to gender handling and detection from 1.42, since they seemed to be causing more problems than they fixed
    • Moved event that catches SexLab orgasms out of _jsw_bb_compatibility script into _jsw_bb_utility.
      Now, the only thing that _jsw_bb_compatibility handles is adoptions if HMA is installed, and eventually that will be moved elsewhere as well, allowing elimination of the compatibility script entirely
    • -- There is no new "Fertility Mode - RSChildren Patch Patch" needed, the v1.43 patch is still current
    • Stop querying skyrim if sexlab is installed. We no longer care. The only time we run sexlab-related code is if a sexlab event is triggered, which means sexlab is installed, so asking is redundant.
  • Version 1.44

    • Almost identical to v1.43, totally optional download.
      Added version display to startup message to assist in debugging a user's problems.
      You should see a message like this on startup: https://imgur.com/KIb2pse
    • don't pad the various "day" displays in the tracking menu with a leading zero for single-digit days if the player settings don't let the value hit double-digits (thanks KaeArby for the idea!)
    • reactivated some formerly "dead code" in the MCM script, also thanks to KaeArby
    • fix bug that could set time of LastInseminaton to zero instead of current game time, again thanks KaeArby
    • added gender checks to player child records since we now accept more gender values *in other areas*. There is no support for, and probably never will be, creature children support

      before someone asks (and I'm sure someone would!) this means you cannot get screwed by a horse and expect to birth a centaur child
  • Version 1.43

    • Previously, belly/breast scaling was set to not start until the second trimester. Now it starts halfway (rounded down to nearest day) into the first trimester. This would make it start at about the 6 1/2 week point for a RL human, which is closer to a "realistic" setting.
      The exact time to start scaling is still a WIP and may be revised, feedback is appreciated!
      -Added check to prevent setting scaling over 100% in case of labor starting after expected due date.
      -Added check to prevent scaling a negative amount (i.e. shrinking) due to rounding a trimester to 1/2
      --If you want more scaling or less scaling, there's a slider for that in the MCM
    • fixed improper check in FertilityModeModSperm event for external mods that could prevent event from processing

      in most cases, other mods would be using the FertilityModeAddSperm event instead of this one, so I don't know if this error ever even manifested
    • Added hook for Dynamic Animation Replacer (DAR) provided by murrayj (thanks!)
    • fixed check in Widget code that might prevent showing the player as "ovulating" for the first hour after ovulation occurred

      edit: made two other changes in widget code that may have delayed indication of state changes
    • fixed bad logic in the Flower Girls compatibility script that was introduced in 1.42 and could result in the "yyy came inside xxx" message names being reversed with certain participant gender combinations
    • removed check in "PC sleeping with spouse insemination" that would prevent the event if the spouse was blocked from tracking.

      Now, the message will appear but because they're blocked we still won't track the event.
      Why are you blocking your spouse anyway?? If you don't want the insemination to occur when sleeping with your spouse, there's an MCM option for that!
    • removed check in "PC randomly inseminated while sleeping" that would prevent the event if the PC was pregnant

      This now conforms with the NPC random inseminations, where the event can occur, the message can appear on-screen, but we don't track it any further as the character is already pregnant!
    • Fixed error (mine!) that would have a the later man's name replace the actual father's name as "current father" when having sex with already-pregnant women.
      With all the previous changes about allowing pregnant women to be involved in sex, I forgot to check this!
    • fixed bad logic in the magic spells gender checking that would prevent them from working
      fixed faulty logic in the character tracking that could prevent male creatures from being tracked even if the player had turned on the "enable creatures" MCM option
    • Fixed updating of the FatherRaceID record. This *may* explain and address some long-standing bugs with FM and children not resembling their parents and/or being of unrelated races

      FatherRaceID is stored at the time of insemination, so this will only affect insemination events that occur *after* this fix is applied. Currently pregnant women, or women with semen already in them, will not be affected. Insemination via magic spell or debug menu may cause an "unknown" father, so his race would also be unknown in those cases.
    • Removed more of the first-run message spam. Most of it should have been removed previously, as they were mainly intended as debugging info for me when I first wrote them.
    • Previously-bifurcated AddActor() (for females) and AddFather() (for males) functions combined into a single AddToTracking() function (code shrinkage/housekeeping)
  • Version 1.42

    • Big changes! This contains an almost total re-write of gender handling routines, aimed at addressing many long-standing bugs with FM.
      You should no longer have to manually set your gender in the MCM to "cover up" bugs, but that option still exists for those who want their character to be treated as a different gender.
    • Removed some duplicate work: if the cell scan found NPCs to add it would query their location then call another function to add them to tracking, which also queried their location!
    • MCM changes: when entering the debug screen, any NPC in your crosshairs is automatically tried to be added to tracking, if they aren't already tracked. If they cannot be tracked, such is indicated after their name. Children and the elderly should always show as "unable to be tracked" where adults should only show "unable" if they are blacklisted, blocked or disabled via MCM settings such as "males only" or "females only" or "unique only" if they're not unique
    • started work on gender detection overhaul. Utility script now only calls Compatibility script for gender detection if Sexlab is installed
    • various housekeeping, re-cycle usage of some variables instead of declaring additional ones within the same functions
    • fixed error introduced in 1.2 that could cause premature expiration of an unfertilized egg
      This should also fix the reported bug with a character's day of cycle not incrementing
    • added check to prevent errors or even a CTD when trying to find a potential male for a random insemination when there was only one tracked male
    • Consolidated *player* ovulation status update code into the WidgetCycle script, instead of being duplicated in Widgetcycle and Utility
      NPC ovulation code is unaffected
    • fixed bug that could increase the interval between the same male being re-picked for a random insemination
    • added checks in various areas to only call WidgetCycle.UpdateContent() if the player is actually female!
    • Enabled display of "xxx came inside yyy" for external mod request of M-M sex scenes and Male w/female creature scenes.
      We don't, and probably never will due to technical limitations, track these events, but the message is displayed now.
      I don't know if I stopped this message unintentionally in an earlier version, or if FM never allowed it, but either way the message will display now.
      This is related to automatic gender detection (tangentially) and part of the ongoing work to attempt to fix numerous bugs with automatic gender detection in FM.

      Note: if you're playing a male character, and set the MCM to force gender to Female, you *are* female as far as this mod is concerned, and *can* be tracked- but I'm not aware of male character models that support breast/belly body morphs, so that part probably won't happen.

      Disclaimer: the above is not to be construed as legal advice or an encouragement to perform such actions. I have no idea what the laws are governing you. I am neither encouraging you to perform, nor preventing you from performing, such actions.
    • Cosmetic: changed the "current day" display in the MCM. Instead of the former "Current Day: 1.34575" it is now "Current Day | Hour 1 | 8"
  • Version 1.41

    • 1.41 is out.
      This will be the last update for a while, as I move towards trying to tackle FM's long-standing problem with automatic gender detection.

      Lots of MCM debug changes, this time for the female characters. See uploaded image #5 for details, or better yet install it and see for yourself!
    • As a side effect of changes made in 1.4, any males - including the player- that have too-frequent sex will have reduced sperm counts. Previously the reduced sperm only applied to NPCs
      8 (game) hours without intercourse will restore sperm to former levels.
      making the interval (8 hours) configurable in MCM is still on my to-do list
    • To compensate for the above, Potions of Fertility and Potions of Contraception now affect males. Potions of Fertility will restore their spermcount, whereas a Potion of Contraception will reduce it by up to 89% for 8 hours.
      Note: if you are blocking yourself, the player character, from tracking no potions- regardless of your character's gender- will have any effect
    • Consolidated fertility calculations to a single function, instead of 5 locations across three scripts. In addition to making future changes easier and only needing to be done once, it also ensures that conception % will be consistent between different areas- the widget display, the MCM and the actual conception checks done during update cycles.
    • Removed unused properties from scripts, 16 in total. i.e. more general housekeeping
    • Added a check to prevent FindRandomFather() from causing an out-of-bounds array access error under certain circumstances
    • added check to value for spermcount sent to FM in the FertilityModeModSperm event to prevent external mods from sending us outrageously high values (unchecked, the max would be around 2.1 billion). Sanitize your inputs!
      Capped the value at 2048, which is still ~14x the normal amount, but also 1/1,000,000 of the former max!
    • Changed ovulation day for the 28-day cycle to day 14 (from 10), to more closely resemble real life. The shorter cycles are unchanged.
      If you're in an existing game and using the 28 day cycle, this will probably only take effect if you change FROM 28 to anything else, then BACK TO 28 days.
    • added check for valid fatherName when processing external (from another mod) impregnation requests
    • Fixed error in widget's fertility calculation that would result in many papyrus errors if playing as a female charcter with the widget enabled (bug was introduced in 1.4b)
    • Decreased the number of progress notifications during array compaction. The first time it's run on a game, it still displays 5 messages as it progresses, but on subsequent runs it will only display two- one at start, and one when it's done.
    • Several updates to phase progress indicators in the widget. Still probably not perfect, but closer now.
      Because some random variance was introduced into the exact time that ovulation occurs, we can't predict accurately when it will occur, so any calculations on progress are estimates.
      During menstruation, or after an unfertilized egg has died, instead of "Fertile: x%" the display will be "Infertile".
      While a viable egg is present, "Fertile: x%" will be displayed, but "x" will be zero as long as there is no sperm present.
      During ovulation phase but before ovulation has occurred, the display will be "Pre-Fertile"

      The widget is finally getting some long-overdue attention!
    • fixed bug that could erroneously prevent some males from being tracked
  • Version 1.4beta

    • Wanted: People willing to test this!
      Functionally, there should be little or no difference to the user between this beta and the regular v1.4
      HOWEVER- this is the first time I've included the Flower Girls compatibility script in a release. It works fine *for me, WITH Flower Girls* installed.
      What I want is some people who do NOT have FG installed, preferably with Papyrus logging enabled, to try this to see if it throws a lot of errors in the log, before I flag it for widespread usage.
      The FG compatibility script requires FG in order to operate properly. However, without FG installed, it should never run, thus never cause errors.
      That's the theory.
    • Consolidated all* insemination code into a single function, instead of spread out in a dozen areas across multiple scripts. Primarily housekeeping and headache reduction.

      *not counting the magic spell and the debug menu, since those two work differently than all other inseminations in that they can work without a "father"
    • As a side effect of the insemination code consolidiation, almost all events are now "equal." Whereas previously pregnant females could be inseminated by FM random insemination but not from external mod requests, now both types are treated equally and pregnant women can be inseminated either way.
      It's still mainly a moot point, as pregnant women aren't checked for further conception, but at least IMO it's more realistic.
    • Widget: added pregnancy day display next to baby health.
      Instead of "Fertile: 0%" the display will be "Infertile" when appropriate

      TODO: make this configurable via MCM (done!)
    • Initial upload had incorrect file paths in the .bsa, new upload has been corrected.
  • Version 1.4

    • Fixed an incorrect assumption (on my part) in the SLIF detection that may have resulted in SLIF not being detected
    • checking for, and correcting if found, negative or excessively large values on the recently-added RefractoryPeriod array for tracked males. All other int/float arrays were already being checked during the daily midnight actor maintenence, but I forgot to add this new array to the list.
    • BIG CHANGE: in code, not so much in user experience. "Array Housecleaning" has been added. Automatic re-sorting of tracked NPC records to "fill in" gaps left by deleted records, and automatic truncation of deleted entries. The only way I can figure to get this to run in a threadsafe manner is to only run on game load, which is the only time I can be sure no other parts of FM are trying to read/write values that are being rearranged.
      The first time it runs, you will get status update message regardless of verbosity setting. Subsequent runs will obey user preferences.
      This *may* increase overall performance, as we no longer need to search through deleted records intermixed with ones we're keeping. At any rate, it shouldn't hurt anything. I was hoping to see a decrease in save game size, but even after forcing deletion of 200 records my skse co-save only shrunk by 26kb or 1.3%, which is within margin of error for normal size fluctuations.
    • Related to array housekeeping, above: Previously, "deleted" actors only deleted their data from one array of the 16 related to that actor. Now we clear the data in *all* arrays for that actor. This should speed searches within arrays, as we will no longer get a "hit" on a LastLocation search only to later find out that actor was a deleted record..
    • If a female is ovulating when she's added to tracking and Verbose Mode is enabled, you get a notification
    • Solved the slow execution of function FindRandomFather I was lamenting about in 1.2 notes, finally! Moved it to _JSW_BB_Utility script, which is a more appropriate location for it
    • A Potion of Abortion or the "abort" debug option now sets the target's Cycle Day to 1, to prevent the possibility of immediately becoming pregnant again!
    • Changed the cell scan for finding new characters to track, now both males and females can be done concurrently in one scan, instead of 2 separate sequential scans, if the player's tracking settings warrant scanning for both genders
    • Changed order of operations when adding characters to tracking- now checking that they're not already tracked is done first, instead of last
    • Insemination notifications from SexLab events will now obey user preferences for verbosity, instead of always sending a message
    • Removed checks from SexLab events that prevented insemination of pregnant females. It's mostly irrelevant since they're already pregnant, but now it can happen.
  • Version 1.3

    • Stopped updating DayOfCycle for pregnant women. It will resume after their pregnancy and recovery period ends.
    • changed "can't determine location" for tracked NPCs. If we can't determine their location, it's set to Tamriel. If we can determine their location but not the name of that location, it's set to Skyrim. Note: Skyrim is a VERY infrequent occurance.
    • added check that the random father wasn't previously deleted from tracking when finding "random fathers" for random inseminations
    • *IMMEDIATELY* remove blacklisted NPCs from tracking. Don't click this option by accident!
    • Caught 2 possible "none" location checks that were missed in 1.2, however neither of them have thrown papyrus log errors... yet
    • Males having "random insemination" sex frequently will have decreased sperm. Default is more than once per 8 hour period.
      TODO: make this configurable in MCM.
      NOTE: this only affects random inseminations
    • Extended the "refractory period" for males to four hours from one, the same male won't be picked for random inseminations as often
    • Enabled check in labor routine the verifies that an actor has AI loaded before trying to play animations in order to reduce papyrus log errors
    • Moved nightly maintenence routine from main _JSW_BB_HandlerQuestAliasScript to _JSW_BB_Utility script. Not for any performance reasons, but it helps to balance the sizes of the scripts.
    • Fixed 2 bugs in tracking blocking, one from me when I implemented blacklisting and a second one that was pre-existing
    • -- Sorry for two releases in one day. I'll try to keep that to a minimum in the future! --
    • Minor change to the Detect Fertility spell that should cut down on "false positives." This spell still needs work, but a little progress is better than none!
      TODO: Change Detect Fertility from a concentration spell to a Fire-and-Forget with a duration
  • Version 1.2

    • Added tracked NPC display names to their records, decreasing the frequency of how often we have to query Skyrim for that value. Note: The initial run, where these records are populated, can be lengthy depending on how many NPCs you're tracking, however it should only run once: either when starting a new game, or when loading a save that didn't previously have this record.
    • Changed the order of operations in UpdateOvulationStatus. Old order had "aging" the egg first, now first is checking if character is menstruating, second is checking if character is in recovery from childbirth and finally aging the egg. Since the character should be infertile (no egg) during menstruation or recovery, it makes sense to do those checks which clear an egg BEFORE aging an egg that shouldn't exist.
    • Further reduce Papyrus log errors from "none" locations. I believe they're totally eliminated now.
      Edit: found two more places they might occur, but haven't seen entries in the log for them. Will be fixed in 1.3
    • Don't track NPCs that have the keyword "creature" unless the player has enabled the "allow creatures" option in the MCM. If the option is disabled (default value) and creatures are currently being tracked, they will be automatically removed at the next new-day maintenence run.
      Note: playable races such as Argonians and Khajiit ARE NOT classified as "creatures". Custom races will depend on what their creator set them as.
    • Moved function FindRandomFather from _JSW_BB_HandlerQuestAliasScript to _JSW_BB_Storage in an effort to speed it up. Average time is "down" to 550mSec from 780mSec. This function is still the single-biggest time consumer, even after I've re-written it multiple times. To put it in perspective, most other functions execute in under 50mSec.
      If anyone wants to help with this, or any other area, please let me know!
  • Version 1.1

    • detection of SexLab and SLIF are two distinct and separate checks, as it should have been from the beginning
    • Body morphing starts on day 1 of the second trimester and continues linearly until the end of pregnancy. Previous behavior where morphing hit its maximum at the end of the 2nd trimester was unintended. (note to self: need to add check for late deliveries to not set morphing above 100%)
      Edit: check added in 1.43
    • Added NPCs index number on the debug screen. See attached screen shot
  • Version 1.0

    • Beyond what's listed on the description page: Replaced all instances of "convenience functions" GetValueInt() and SetValueInt() with their faster root functions GetValue() and SetValue() then casting as needed.
    • Cached frequently-used global properties to local variables. This, and the above, are individually tiny impacts on performance, but when multiplied by hundreds of tracked NPCs tiny speed increases magnify greatly!
    • Calculate frequently-used values such as TrimesterDuration and OvulationDay then store them to variables, and re-calculate them only if/when the player changes values in the MCM. Previously they were calculated every time a script needed them, possibly hundreds of times in the span of only a few seconds.
    • Changed the baby health penalty for a pregnant PC not sleeping, if the option is enabled in the MCM. No change for the first 48 hours without sleep, however the health penalty gets progressively harsher from 48 hours onward. Sleep for at least 1 hour every two days if you're pregnant and want to carry the baby to term!
    • If the character is menstruating or recovering from a previous birth, any egg that may be found is removed during the hourly update. If the character is menstruating, any sperm are also removed.
    • Sperm die off faster based on their age. FM reduced sperm count by a random amount from 2-10 evey hour. I implemented a simple formula that kills them off at the rate of 1 per hour, for every six hours after the sixth hour of their age. "Simple formula??!!??" you say? Yes, hours 0-6, no sperm die. Hours 7-12, 1/hour dies... Hours 73-78, 11 per hour die.

 

Installation of Patch

Spoiler

First-Time Installation:


Using, a Mod Manager it should install like any other mod.  I've tested it with Vortex and MO2, as that's what I use.
This patch should auto-sort to load after Fertility Mode v3, since FM3 is a master.   Double-check anyway!
--If you are using Fertility Mode's Flower Girls, SexLab, SLSO, HMA or RSChildren patches, they are all redundant.  Support for all of the preceeding mods is included.  Those patches can be (and in some cases must be, to prevent conflicts) removed.

 

The easiest thing to do is to uninstall Fertility Mode, then re-install it as BSA version, not loose files and with no optional patches. Then overwrite with Fertility Mode v3 Fixes and Tweaks.  



Mid-Game:
As of version 2.0, installation mid-game is no longer supported!
If a game has had Fertility Mode or an version < 2.0 of this mod installed, you will have extreme difficulty to the point of practical impossibility adding this mod.  If you're determined to try, you're on your own.  I'm not wasting my time on what I believe to be an exercise in futility.

Upgrading from previous version
v2.0+ does not support upgrading from versions < 2.0
If you are currently using v2.0+, upgrading should be simple replacement.
Note: If upgrading from v2.09 or lower to > 2.10, the 'Fetiltiy Mode - RSChildren Patch' from Fertility Mode is no longer supported.  You may still use RS Children if you desire, however the patch is not supported and needs to be removed.o be removed.

 

 

 

Edited by safado
Link to comment
On 10/2/2023 at 7:49 PM, safado said:

 

What about "Fertility Mode v3 Fixes and Tweaks"? Did you update Fertility mode v3 with it? It has SLIF fixes that use direct SLIF Bodymorphs. It also makes old patches obsolete.

 

Loooong list of fixes.  Including updated SLIF detection and morph function execution.

  Reveal hidden contents
  • Version 2.61

    • change choice of words in MCM Info page for increased clarity
    • fixed my mistake in FG monitoring script that would greatly delay it starting
    • corrected oversight in routines that find an actor's partner, which caused excessive performance hit as total number of tracked actors grew
    • prevent tracking of any actors with a temporary FormID (beginning with FF), since tracking them prevents the game engine from cleaning them up and recycling their FormID for other temporary spawns
      Any currently-tracked temporary actors will be un-tracked upon game load. This may take up to 30 seconds, but should only run once, immediately after update to 2.61 from an earlier version.
    • changed condition on spawned child adoption dialogue from GetInFaction(BYOHRelationshipAdoptionFaction) to GetInFaction(HonorhallKidsIgnoreCrimeFaction) since ranks on BYOHRelationshipAdoptionFaction can be negative, and GetInFaction doesn't handle negative ranks reliably
    • Removed "Hearthfire Multiple Adoptions installed" display from MCM Info page, since the mod no longer needs explicit support for HMA.
      HMA is still supported, but in a generic manner.
  • Version 2.60

    • Fixed typo that could cause excessive memory consumption, leading to slowdown or CTD (thanks to multiple people who reported this, and particularly to gullu for narrowing down the circumstances under which it occurs)
    • flagged all spawnable children as persistent, as they might not always be reliably detected otherwise
    • flagged CellScan Magic Effect as "Hide in UI", as it was never intended to be visible and can be distracting
    • fixed potential out-of-bounds array access with spawnableChildren
    • forcing baby growth via MCM debug page no longer auto-prompts for naming them, to match behavior of "regular" growing-up process that was introduced several versions ago
    • added "hold position" AI package to women in labor, in hopes of getting them to stop using idle markers
    • fixed logic error that could prevent an adoptable child from being spawned when both "Spawn Enabled" and "Training Enabled" options were selected in the MCM
    • added five-second delay to start of FG monitoring script, as it often failed to connect on its first attempt without a delay
  • Version 2.59

    • Fixed case where Flower Girls monitoring quest might not start (thanks to various people for reporting it!)
    • fixed checking BOTH possible variables on the Hearthfire sripts where the player's home might be stored, instead of just one (thanks DizzyDedman and CHIMiny Cricket!)
    • Changes to the defined children spawning routines to reduce cases where the procedure might fail

      Note: Optional addon for Dinya Balu & Maramel to have a child also has been updated due to this. If you're using Fertility Adventures with its child addon, it also needs to be updated. CHIMiny Cricket (FA's author) is aware of this, and I expect he will have the update out very shortly.
  • Version 2.58

    • fixed mistake in ActorUpdates script that was causing other scripts to unregister for modevents (thanks dePog for several hours of testing!)
  • Version 2.57

    • fix spawning a child with the correct race, when a match was found
      ...I forgot to multiply, when multiplying...
  • Version 2.56

    • fixed actor morphs potentially causing a papyrus error when they expired
  • Version 2.55

    • fixed dialogue on adoptable children from this mod, so they will no longer offer adoption dialogue AFTER they've already been adopted!
    • fixed typo in _jsw_sub_actorUpdates that could have it do far, far more than the intended eight at a time
    • predefined children from addons will now spawn persistent
  • Version 2.54

    • added checks in incremental actor updates for zero-length arrays
    • fixed error that could prevent labor quest(s) from starting
    • remove long-unused properties from 'force birth' debug spell
    • general housekeeping: removed no longer used properties from scripts, consolidated liek values into arrrays
    • fixed bug that could prevent the MCM from properly detecting supported mods
  • Version 2.53

    • changed spell conditions on debug spells to account for custom-race followers (thanks Zangron)
    • expanded MCM sub-pages, intended for use by addon mods
  • Version 2.52

    • Hotfix for MCM issues experienced by some people in version 2.51 (thanks ctuck61 for emulating a guinea pig!)
  • Version 2.51

    • overhaul of adoptions: removal of large quantities of redundant code, that were performing the same checks that HF/HMA scripts already do
    • better handling and tracking of spawned adoptable children
    • check for, and prevent, condition where Honorhall would still try to allocate beds for children that had already been adopted
      This will not work with vanilla Honorhall. It will however with Honorhall Expanded.
    • adoptable children (from this mod) will initially be at 90% of their full height, and will "grow" over time
    • fixed possibility of mid-game installation of FME not being detected properly
    • child changes:
      - All PC adoptable children are now unique.
      - upon "growing" from a baby to a child, they will appear at their mother's location
      - if they haven't been taken in by you, they will attempt to be homed in an orphanage within 24 hours
      - after 5-6 days, if they still have not been taken in by you and have been unable to move into an orphanage, they will despawn
      - you will NOT get an immediate on-screen message asking you to adopt them when they spawn. You must track them down if you wish to acknowledge them as your child.
    • Child renaming, and child adoption are now two separate steps. This should (hopefully) allow VR users to adopt a child, without the game freezing during the renaming process.
  • Version 2.50

    • NOTE: this version, and future versions 2.50+, will only be tested under AE

      In the off-chance that a hotfix is needed for SE, they will be released as v 2.34-2.49
    • fixed potential bug when checking NPC keywords when manually adding to tracking via MCM debug menu (thanks WalkerJonas!)
    • changed ] to : in MCM tracking day display field
    • quest to force Rhiada persistent now runs constantly instead of on-demand in hopes of solving erratic behavior (thanks CHIMIny Cricket!)
    • spells used by FM+ Immersive Effects are now added silently, without on-screen display by request of w234aew
    • Removed essential flag from children. They're a "child" race, so vanilla will make them essential anyway. And for those who use "mortal/killable children" mods, they now conform.
    • behavior of UNadopted PC's children has been updated:
      If the Honorhall Orphanage is accepting transfers (not all beds are filled and Grelod is dead) they will move into the orphanage. If the Orphanage is full or otherwise not accepting transfers, they will sandbox around their current location for at least five days before despawning.
      This will work with vanilla Honorhall, however I strongly recommend https://www.nexusmods.com/skyrimspecialedition/mods/66955 because it fixes numerous bugs and shortcomings of the system.
  • Version 2.33

    • when being asked to name a PC's child, you should at minimum be informed of the child's gender, and if available who the other parent is
    • fixed actors from uninstalled mods not being properly removed from tracking during the daily update process (thanks Nether!)
    • clearing tracking lists will now also remove the (formerly) tracked actors from mod-added factions (thanks ronhirzel)
    • fixed logic error where NPCs would consume potions if they only had one in inventory, not if they had > 1
  • Version 2.32

    • added ability to unblock an actor from tracking, by getting them in your crosshairs and entering the MCM Debug menu
    • the arrays that previously stored actor's location names have been shrunken to zero length. They have been unnecessary for some time, and only contribute to save bloat.
    • EventLock array reduced to zero length, all code references to it have been removed. It has been unnecessary for months, as other methods of preventing race conditions are in place.
  • Version 2.31

    • fixed yet another logic error in determining which actors to automatically add to tracking (thanks Rodangold01!)
    • fixed possible array out of bounds access error in MCM tracking pages
      edit: make that two
    • clicking on the header of the male tracking MCM page no longer gives the option to block a random tracked male
    • changed MCM tooltip lookup, to hopefully compensate for VR's screwy mod load orders (thanks RobWed for VR diagnosis and feedback!)
    • added code to compensate for possible out-of-sequence DLC
  • Version 2.30

    • fixed minor error in 2.29 trying to clear a quest alias on game load that cannot be cleared
    • fixed major error in 2.29 that could cause scripts to hang and become non-responsive on a new game. DO NOT USE v2.29!
      (thanks Pedal92 for reporting it!)
    • removed _JSW_SUB_QF_StartStop from archive, as I no longer use it
  • Version 2.29

    • fixed error in 2.28 that could have the daily update run more than once daily (this is not harmful)
    • elapsed update time now displays down to the tenth of a second, instead of just full seconds
    • numerous checks added for empty ReferenceAliases on quests
    • daily actor updates are intentionally skipped if you're waiting for 24 hours at a time
  • Version 2.28

    • fixed fix from 2.26, where males were being slightly less faithful to their partners than intended
    • fixed math error that could cause the ahead ten pages/ back ten pages options to not work in the MCM tracking lists
    • fixed rounding-up error when calculating the last page of tracked characters
    • force immediate refresh of the filtered tracked actors list after blacklisting
    • If tracking is set to "Player Only" NPCs are no longer automatically removed from the tracking lists on each hourly update.
      This gives finer control over who is or is not tracked. Once you manually add an actor to tracking, they should remain tracked until/unless you manually remove them.
      Or if they die. Dead people are still removed daily.

      Note: that when initially setting tracking to "Player Only" in the MCM, the tracking lists are still cleared at that moment. It is recommended that you only change that setting at the beginning of a new game.
    • the spell that causes characters to run the "birth" animation moved from scripting, to an Alias Spell on the quest alias... where it should have always been
    • added the ability to flag (or unflag) tracked women as "promiscuous" in the MCM
      Such women will have 2x the normal chance of a random insemination (take that, Haelga!)

      Use with restraint. Finding partners for random inseminations for unattached women is by far the slowest part of the hourly update process. If you flag a large number of unattached women as promiscuous, there will likely be a performance impact.

      Finding partners for attached women has no such performance hit, assuming:
      a) their partner is also tracked
      b) there's a relationship record in the game showing them as "courting" or as being "spouses"
      c) you haven't moved the MCM "Spouse Fidelity" slider much lower than its default of 90%
    • Related to the preceeding: added tracking list filter option "Promiscuous Women Only" to the MCM Tracked Women page
    • Women in the second trimester of pregnancy are always considered to be promiscuous. Because a woman asked me (jokingly) in chat a few weeks back how I intended to simulate the second trimester "horny" effect.
      This is how. :)
    • current game day & time moved from Debug MCM page to Info page, so as to reduce confusion. It's the *game day* not the woman's *day of cycle*
    • mod updates can now be set to half-hour intervals, in the range of every 1.0 - 24.0 game hours
    • mod updates will now be scheduled to run at either 11 minutes past the hour, or 41 minutes past the hour

      Exception: Papyrus scripts do not execute during sleep, waiting or fast travel. If an update is due to run during sleep/wait/fast travel, then it will instead run immediately afterwards.
      Exception 2: an update will run 30 RL seconds after loading a game. Subsequent updates should run at their scheduled times
  • Version 2.27

    • NPCs will now take Potions of Fertility, Potions of Reduced Fertility, or Potions of Pregnancy Termination if you give them one or pickpocket one into their inventory, with some limitations.
      - They have to be friendly to the dragonborn, hostiles won't drink the potions.
      - They have to be tracked by the mod.
      - The game doesn't always like keeping magic effects active on characters in unloaded cells, if you give a potion of fertility/reduced fertility to a friendly NPC, leave them behind, then return the effect may have worn off prematurely. As long as you stay near them, it should last for its intended one RL hour duration (duration only matters for female characters - for males, both are instant effects with no duration)
      - In order to drink a potion of pregnancy termination (abortion) the character actually has to be pregnant, and less than halfway into the term. No late-term abortions!

      - Potion of Anti-Insemination (washout) not supported yet, still trying to find good conditions to use in determining when to drink it...
      There's still no animations for them drinking it, just the usual "drinking a potion" sound, but it's progress.
    • added craftable coin, that when in a follower/former follower's inventory, they will NOT drink potions that are given to them
      Requires 1 iron ingot, 1 leather strip, made at anvil, makes two "sobriety coins" to remind them not to drink

      If you use something like NFF that can let followers auto-loot corpses, I really recommend you give them one. Otherwise your pregnant wife may loot a Potion of Pregnancy Termination from a dead bandit, and drink it!
  • Version 2.26

    • fixed oversight that had males always being faithful to their partners, regardless of MCM "spouse fidelity" setting
    • fixed MCM tracking filter option "player related" not displaying women inseminated by the PC (thanks XenokMe)
    • fixed potential out-of-bounds array access during array compaction
    • fixed case where an actor's significant other info could be accidentally deleted during array compaction
    • women in labor are temporarily placed into factions that make most hostiles ignore them
  • Version 2.25

    • Further refinement of the random insemination routines from 2.24 - faster/more complete building of location data and NPC relationship data
    • random inseminations should no longer try to match up partners who are hostile to each other (example: Stormcloaks with Imperials)
    • skip checking relationship records on non-unique NPCs, since they never will have any
    • enforce correct startup sequence: any updates -> array compaction -> mod startup
  • Version 2.24

    • Expanded searches for "random" partners. Instead of only looking outside the current building if the person was in a City (major hold) or Town (minor hold) they'll now also search if they're in a smaller village (such as Riverwood or Dragon Bridge) as well.
    • to help reduce the performance impact of the previous, character AssociationTypes for close blood relatives are queried when the character is added to tracking, then stored
    • Wounded soldiers in camps will no longer be automatically tracked. If you wish to track them, you can still do so manually through the MCM.
    • fixed post-pregnancy belly morphing on the PC (thanks w234aew!)
    • Completely rewrote random insemination routines. Again.
  • Version 2.23

    • fixed error that could occur in tracking if an NPC was deleted
    • added check against possible errors while sorting actors in MCM tracking pages
    • revert the logic changes in tracking options code that was implemented in v2.21
    • Removed support for multithreaded updates. This feature no longer provided any performance increase.
    • added option to not map the Widget hotkey at all (thanks excidium93 and OCDCoder)
  • Version 2.22

    • added new filter option to the females tracking page: Non-Pregnant Only
    • *really* fixed post-pregnancy belly morphing (forgot to divide by 100 to convert it to a percent in 2.21 final release)

      2.22 is a small release. Spent the last few days on personal projects, but I wanted to get out this post-pregnancy morphing fix.
  • Version 2.21

    • minor compile size/speed optimization to various scripts
    • change sounds from arrays to fomlists, to facilitate easier modding/customization
    • BirthType will always be a baby for predefined pregnancies, regardless of MCM setting for other pregnancies
      ...which means one of the warning messages I added last version is now useless and needs to be removed <sigh>
    • post-pregnancy belly/breast scaling updated:
      - belly scaling reduces by 80% immediately after giving birth, the rest comes off gradually during the recovery period
      - breast scaling remains during the recovery period

      -- changing morphing method in the MCM should now be much faster
  • Version 2.20

    • added sending ModEvent for "predefined" pregnancies so they act like other pregnancies, for any other mods that may be listening (example: Fertility Adventures)
    • you can now specify more than 1 specific child to be born to the same pair of parents. One at a time, but a second pregnancy will spawn the second child, a third pregnancy the third child, etc (thanks TheSecretTodd!)
    • Added several possible warning messages to the MCM 'Information' page if current settings may cause undesireable results
      These are NOT forced settings changes, merely recommended ones
    • Displaying a message to the player when a pre-defined couple is made pregnant is now optional. Instructions in posted article updated.
    • added two new modevents for other mods: one to block an actor from ovulating, the other to release that block (API documentation coming soon)
  • Version 2.19

    • added script missing from 2.18, that prevented both of the new major features from working
  • Version 2.18

    • Re-wrote recently implemented pregnant couples-matching (Dinya Balue/Maramal, Seren/Rustleif and Rhiada/Eltrys) in a more generic way to allow easier expansion.
      If a mod adds pregnant couple(s), a compatibility patch can be easily made just by editing plugin records, with no need to edit/recompile any scripts
    • spawned children now periodically "refresh" their names in an attempt to keep them interactable (thanks dodika!)

      Note: this may not affect children already spawned due to their info being "baked in" to the save.
    • fixed obeying user settings for AutoInseminatePC/AutoInseminatePC after sleeping (thanks Katschaba!)
    • changed so that spawned children will appear at their mother's location, instead of the player's position
    • implemented ability for other mod authors (or anyone with decent xEdit knowledge) to specify a unique child to be born to specified parents.

      The optional download "Dinya Balu has a Kid" is a fully-functional proof-of-concept/example of this.
      If installed, Dinya Balu and Maramal will have a baby, that grows into a child that will live with them in the Temple of Mara in Riften. (thanks TheSecretTodd!)
  • Version 2.17

    • fixed visual bug where the last page of tracking in the MCM was displaying the page number as one less than the actual page number (thanks OCDCoder!)
      i.e. if the last page was #5, it had been mistakenly displayed as page #4
    • added MCM option to make number of characters per page in the tracking lists configurable (thanks OCDCoder for the reminder!)
    • added checking for Blacklisted NPCs to part of the nightly update process, instead of only when names are added- since the recently added importable Blacklist would otherwise skip already-tracked NPCs
    • added ability to block or blacklist NPCs by clicking on their entries in the MCM tracking screens (thanks asdasfa!)

      --edit: added ability to UNblock a blocked NPC by clicking on their name in the tracking list as well
    • If Fertility Adventures is installed, minimum Pregnancy Duration is 12 days. There is *no change made* if you do not have Fertility Adventures installed.

      Per Fertility Adventures' instructions, it needs a minimum 10 day pregnancy duration in order to work properly. In case people miss that, it is done automatically for you.
      It is still *recommended* to use a higher setting. (thanks, indirectly CHIMiny Cricket!)
  • Version 2.16

    • fixed error that could occur during name blacklisting if a null entry was encountered
    • fixed error that could occur on a new game from trying to access an uninitialized array
    • fixed possible stack dump during actor updates
    • added GetCurrentFathersName() function for FA, to replace CurrentFather array that was dropped in v2.13
  • Version 2.15

    • Added option for Rhiada to be pregnant with Eltrys' child, much like was added previously for Dinya Balu/Maramal and Seren/Restleif
      (thanks Swiftgold)
    • fixed invisible "ammo" from being, well, visible to the player (thanks DragonRockZX)

      Edit: if extras of this invisible ammo are found in player inventory, they will be removed
    • fixed instance where pregnant PC (not NPC) body morphing would begin later into the pregnancy than intended. AFAIK NPC morphing has been working properly for a while
    • proactively changed storing a potential father's race information as a Form record, instead of a FormID

      No bug reports with this exact problem, but if:
      a) the father was of a custom race
      b) the load order changed between time of insemination and time of conception,
      race record lookup based on FormID could fail.
      This is an edge case and would not be common. However, based on the infrequency of this sort of bug report even going back to Fertility Mode's pages, the likely culprit probably will be an edge case and not something common.
  • Version 2.14

    • fixed bug that could prevent player from being asked if they wished Seren to be pregnant by Rustleif
    • corrected oversight that could skip updating TrimesterDuration when the player changed PregnancyDuration in the MCM
    • changed the frequency which the ImageSpace Modifier (ISM) is applied to a PC suffering from Morning Sickness. Instead of being re-applied every few seconds, now it's approximately every 15 (game) minutes.
    • fixed SexLab and SLSO orgasm processing, that was broken due to a change made in v2.13 (thanks Duncan819)
    • implemented more setting female NPC faction ranks based on where they are int heir cyucle, for future use
  • Version 2.13

    • continued transition of childrens' father info from a string array to a more memory efficient form array
    • moved MCM message lookup function, utilized in localization efforts in 2.12, from script on the mod's main quest- which may not be running immediately upon start of a new game- to script on a quest that is set to start immediately
    • If a PC is tracking both Dinya Balu and Maramal, they will be asked if they want Dinya to be pregnant with Maramal's child- to match overheard in-game conversation

      Ditto for Seren and Rustleif in Dawnstar
      (thanks Corvinus18)
    • moved daily actor update routines out of main quest, into on-demand magic effect script
    • added checks against bad data processing in MCM toolitip lookups that was added in 2.12 (thanks Demistic!)

      fixed five erroneous function calls (AddTextOptionST when they should have been AddTextOption)
    • preliminary code addition to allow for an importable actor blacklist
  • Version 2.12

    • Upon loading a game, if known incompatible patches are detected, the user is informed via a message on-screen (namely, deprecated compatibility patches from a stock Fertility Mode installation)
    • Added racial spells/abilities to children spawned by this mod
    • Changed several variables from script variables to function variables in FG scripts. Removed several unused properties. (should reduce memory used)
      (thanks ddmagnan for getting me to look at these again, even if I haven't found your reported problem yet!)
    • moved several processes from a script that runs every time a game is loaded, to a script that only runs when the patch version is updated
    • If a baby is dropped from inventory into the world, it will soon begin crying. Incessantly.
    • changed child-followers-to-spawn to also be dynamically-sized and easy to edit, to match recent changes to supported races, baby armors and children-to-spawn records
    • Begin localization of MCM mousover tooltips, to facilitate translation to other languages

      -- posted article with translation instructions
  • Version 2.11

    • Child makeovers completed on human and mer races. Blue outfit added. Red outfit stopped working. Screw it, I'm tired and going to bed.
  • Version 2.10beta2

    • Changed the "children to spawn" info from a Magic Effect to a FormList record.
      This should make it even simpler for someone to customize which children to spawn. Just change the NPC's FormID to the one you want spawned in the formlist.
      (thanks Katschaba for indirectly giving me this idea!)
    • Changed baby models and list of supported races to FormID Lists as well, to match spawned children (change right above this one). Posted article with (hopefully) simple instructions on how to customize any or all of them.
  • Version 2.10

    • (optional beta version)
      "Spouse Fidelity" slider in MCM is now a base value for NPCs. It is modified by the Relationship Rank* shared by the couple. If positive, each point increases fidelity by 2.5%, if negative each point decreases fidelity by 10%. I recommend setting the default value in the MCM to around 90-93%. At that value, partners with a strong relationship will be completely faithful to their SO, but those with a poor relationship will be more likely to "mess around."
      I know it's not perfect, and IRL it would be possible for people to have a strong relationship and not be faithful, or to have a weak relationship yet remain completely faithful. But I also think it's not realistic for every couple in the world to have the same degree of faithfulness, and this uses already-existing game values to incorporate some variance.

      *Relationship Rank: https://www.creationkit.com/index.php?title=Actor.GetRelationshipRank_(Papyrus)#Return_Value (sorry, cannot imbed a URL in the changelog)
      (thanks AngelWD for indirectly giving me this idea)
    • Child makeovers have begun. Replacing/updating the potato-head Dovahkids from stock FM.
      uses .tri files from RS Children. .dds and .nif files based on stock or RS Children. Kudos to meirimi for having fairly open permissions on RS Children assets
    • This version is up as an optional beta because it's my first foray into including art assets and I it's very possible that I made a mistake or three along the way. Please read the stick post before installing/using it as the instructions have changed slightly.
  • Version 2.09

    • changed from GetCurrentGameTime() to using GlobalVariable GameDaysPassed where practical
    • Added check in FG orgasm processing so it will no longer announce to the world when a character masturbates.
      (for some unfathomable reason, the person who reported this didn't want their name attached to it...)
    • changed children to no longer have 17,664 health and 0 stamina. Again. (this was originally done in 2.01 but disappeared somehow)
    • further refinement of child spawning routines, aimed at simplifying the process- and more importantly, simplifying the process for anyone who wants to make patches to improve child appearance/outfits

      snow elf race added *as placeholder* for future addition. For now, babies/children from a snow elf parent will use the high elf variants
    • extended changes made in recent versions in determining a child's resultant race based on their parents, to be more "generically processed", to now also apply to babies
      these changes are aimed at making support for custom races less rigid, and in many cases custom races are already supported without needing compatibility patches

      If a match with the parents' races cannot be found, a default baby (breton/nord/imperial) will be given to the mother instead of failing altogether
    • removed BirthMotherRace[] and BirthChildRace[] arrays from storage script, as they are no longer rigid and pre-defined
    • changed BirthBabyRace[] and Children[] arrays to Form type, to allow them to be dynamically re-sized
      related minor updates to all scripts that reference those arrays, to recognize their changed type
  • Version 2.08

    • fixed several potions not working properly (thanks Yamada73)
    • stopped abortion and anti-insemintation potions/spells from improperly clearing the LastBirth value
    • on-screen notification of FG NPC sex scenes will now obey user verbosity setting (thanks murrayj)
    • changed MCM to allow user to set option "Allow Creatures" if PC is female and "PC Only" tracking option is set (thanks vedaxi52)
    • stop erroneous tracking of males when the player has selected the "PC Only" tracking option
      If any do get mistakenly added, they will be removed during each hourly update
    • change order of operations to ensure perk for DAR is applied before animation starts (thanks Vandrin22)
    • preliminary changes to MCM to allow tracking lists to be interactable (still incomplete)
    • changed instaces of wrapper AddToFaction() to SetFactionRank()
  • Version 2.07

    • added previously missing condition to have the mod scan for neither males nor females to add to tracking, which had been overlooked (thanks Katschaba)
    • Fixed bodymorphing also working on the PC, instead of only NPCs (thanks SkiesWounded)
    • updated MCM message to clarify that you need to exit MCM in order for a change to the "forced gender" setting to take effect
    • decreased distance from the player that NPCs are morphed at by 20% (from 160 feet, now down to 128), which works out to approx 1/2 the volume of space that skyrim has to search, ergo half the work

      radius decreased by 1/2 when indoors (64 feet), which is 1/16 the former volume
    • added sending modevent when: hourly actor updates have completed, MCM pregnancy duration slider is adjusted or body scaling method is changed
      that causes an (almost) immediate update of morphed actors
    • delayed the onset of First Trimester effects slightly, to better mimic RL
  • Version 2.06

    • pregnant women will start "showing" a little sooner, about 12% into the pregnancy instead of the former 16%
      TODO: add MCM slider
    • rewrote child race determining code, to work better with changes in 2.05
    • fixed at least a few of the issues with adopted children running off and/or becoming noninteractive
    • fixed "block" option appearing for male NPCs (thanks OCDCoder)
    • reverted having tracked NPC display names being part of their record stored by this mod, which was introduced in v1.2
      The negligible time reduction this gave wasn't worth the increased savegame file size IMO
      (at 1,000 tracked actors, the time savings was < 0.5 second for a full update, while the amount of data in the savegame was around 0.5 MiB)
    • Debug impregnate options will now only work on a target that is inseminated, in order to prevent errors from trying to determine child's race when the father doesn't exist
  • Version 2.05

    • combined the two functions for FA mentioned in 2.04 into a single function.
    • when determining the race of a child based on their parent's race, instead of using hardcoded values do keyname lookups based on parent's race name.
      This will have minimal impact with vanilla races (although now Afflicted will be recognized as Bretons.... if any of you were having kids with Afflicted, don't tell me. I probably don't want to know.) but it adds flexibility with support for races added by mods such as 'Charmers of the Reach' as well as other mods that contain the race base in the race name
      i.e. the CotR variant of the Nord race is named "Nord DZ" so a string search for "Nord" returns as a match, same as it does for vanilla "Nord" race and vanilla "NordRaceVampire"
      This will not work for completely custom races that do not contain "known" race names in their race name.
    • expanded framework for addon mod support
  • Version 2.04

    • added 2 "helper" functions to storage script for use by Fertility Adventures (not used yet by current versions of FA)
      added two GlobalVariables to GVHolder script for the same
    • changed PC from 3 different factions depending on trimester of pregnancy, to a single faction where the faction rank varies based on pregnancy progress. Similar change for pregnant NPCs
    • added option for no bodymorphing, instead of forcing user to select one of four supported methods
    • majority of morph-related functions moved out of scripts into Magic Effects
  • Version 2.03

    • increased time delays between when mother gets hit and fetus takes damage if miscarriage mechanics are enabled, per request (whacked)
    • fixed labor animation not playing for duration of labor
    • if FG NPC monitoring is enabled in the MCM, NPCs will now check for their presence in the dxAnimatingFaction before running script to see if they're involved in a scene
    • added check against condition that could cause two hourly updates to run back-to-back
    • fixed adoption quest to actually stop running after it was no longer needed to be running
    • several functions that only occur during hourly actor updates moved into their own quest that only runs on demand
      (updating ovulation status, updating pregnancy and checking baby growth)
    • "Detect Fertility" spell effects increase with the perks Apprentice and Adept Alteration
    • fixed out-of-bounds array access error that could occur with several debug options
  • Version 2.02

    • fixed women giving birth may disappear (thanks darkmegamorph!)

      It won't make any re-appear that already disappeared, which is why 2.01 was removed from available files. If you downloaded 2.01, I recommend restoring a save with 2.00 and skipping directly to this version.
  • Version 2.01

    • fixed actor body morphing being updated more frequently than intended in 2.0
    • "buffering" of actors added in cell scans to reduce, hopefully eliminate, race conditions
      ( https://en.wikipedia.org/wiki/Race_condition )
    • fixed faulty logic in child gender check that could prevent a PC's spawned child from being tracked
    • moved initial attempt at adding the PC to tracking to after the mod is enabled, instead of when the player exits RaceMenu. This should clear up issues with the widget not appearing right away
    • fixed spawning male or female children via MCM debug screen (thanks ValzRon)
    • BabyDuration cannot be less than RecoveryDuration as set in the MCM. MCM slider settings changed to enforce this. Default values for both changed.
    • if Miscarriage mechanics are enabled, the liklihood of the fetus getting damaged is dependant on trimester. Harder in 1st, easier in 3rd
    • changed child NPCs to no longer have 17,664 health and 0 stamina
    • fix an out-of-order operation when adding trained child, which could cause the operation to fail
    • added leading zero to MCM minor version display if < 10, i.e. 1 -> 01
    • removed conflicting variables in spawned child AI packages
    • removed numerous variables from several scripts, that were no longer being used due to recent changes
    • fixed labor/delivery not happening to NPCs that weren't loaded into memory (thanks darkmegamorph and w234aew!)
  • Version 2.0

    • A complete and total restructuring of just about every aspect of the mod. To the extent that I'm not even attempting to maintain backwards compatibility with existing games. Official support for this version will be for new games, if you use it on an existing game- which I do not recommend- you will be almost guaranteed to encounter problems.
      If a game has never had FM or an earlier version of this mod on it, you *might* be able to add it. But even that is questionable.
    • rewrote, then attached the MagicIModOnPlayerHit script to the Potion of Pregnancy Termination, as suggested by murrayj
    • MCM overhaul, it's at seven pages now with two new information pages (one not implemented yet), as well as tidying up the settings by splitting it into two pages
    • Clarified which MCM settings affect other settings- if one setting disables others, those others are not displayed (pic uploaded)
    • Fixed some quirks and slow response in the female tracking MCM page. Yes, I specified gender there because now we also have a Tracked Males page.
    • Further work segmenting the mod from being one big quest with a small number of large scripts, to several smaller quests and many smaller scripts. Mainly to reduce resource usage, this gives the Papyrus engine an opportunity to unload those parts that aren't being actively used at the time.
    • Where possible, moved parts of the mod out of scripting to be handled instead by the game engine rather than run by the Papyrus VM. Including but not limited to Cell Scans for NPCs and body morphing.
    • previously, MCM setting page was re-creating the specificBirthRace options every time you entered the page, even if it was unchanged from the previous time. Now it checks to see if an update is warranted, which makes accessing that menu faster on most occasions when an update is unnecessary
    • MCM tracking page results are flushed when leaving the page, preventing the quirk where it didn't update if you re-entered within 30 seconds of leaving the page
    • Changed display of tracking page to start at one instead of zero, because while computers like to start numbering things at zero, humans generally prefer to start with one
    • corrected instance where father's race wasn't being recorded at insemination, which could lead to future problems determing a resulting child's race
    • Adoption-related functions moved into their own quest that only runs as needed, since they're used rarely and having them be part of an always-running quest is a waste of resources
    • Moved checks for whether the mod is enabled out of magic effect scripts, into the magic effect itself
    • moved checks for target gender from the four debug spells out of their scripts, and into the magic effects themselves. Ditto for potions of pregnancy termination and anti-insemination
    • moved the array maintenence routines out of the main quest scripts, into a separate magic effect since this is only ever run immediately upon game load
    • added tracking how many children a male has fathered

      Note: this is tracked, but not used or displayed anywhere yet. But it lays the groundwork for future implementation
    • changed MCM page headers for the males and females to be equivalent (thanks OCDCoder)
    • Moved labor/birth routines out of main quest scripts into an on-demand magic effect
      third minor milestone achieved: there are no more Utility.Wait() calls remaining anywhere in the mod
    • Moved "script roll call" and related load game routines out of the main quest into a separate magic effect, as they're only needed at game load
  • Version 1.69

    • Widget now severed from main FM quest, as it belongs
    • Disabling the mod now actually disables hourly updates!
  • Version 1.68

    • continued evolution of the FG scripts to further reduce script load
    • added "Hide in UI" flag that was missed on several recently-added Magic Efects (thanks murrayj!)
    • fixed typo in SexLab orgasm event processing (thanks southernman86!)
  • Version 1.67

    • Fixed typo in the pop-up that displays when a deprecated FG compatibility plugin is detected
      (thanks OCDCoder)
    • expanded Flower Girls scripts to handle events that do not involve the PC
    • fixed mod version on-screen display updating to the correct version in existing game(thanks Wolfeyes140!)
    • replace higher-overhead GetStage() and SetStage() with their native GetCurrentStageID() and SetCurrentStageID()
      (thanks indirectly to Wolfeyes140, for getting me to look at that part of the code for another reason)
    • added MCM option to enable/disable monitoring NPCs for Flower Girls sex acts
      (only relevant if the user has Flower Girls installed)
  • Version 1.66

    • stopped unnecessary GetFormFromFile() lookup in SexLab orgasm event, since we already had that info passed in as part of the event trigger
    • stopped unnecessary GetCurrentLocation() check in cell scan, since it's triggered by an OnLocationChange() event that already provided that information
    • switched RSChildren, SexLab and other "extension" scripts away from using GetFormFromFile() to retrieve information
    • changed CellScan to save form[] result, instead of discarding and re-creating the array every time it runs
    • added "safety checks" in adoption script, if the HMA quest fails to respond for some reason (not running?) will now fall back to default behavior and query the vanilla Hearthfires quest
    • added checks to prevent possible out-of-bounds array access error when removing NPCs from tracking
    • The Flower Girls compatibility patch from Fertility Mode is no longer used.
      Current replacement only registers events if the PC is involved, but that will be expanded in future versions to include NPC-NPC sex.
      second minor milestone achieved: elimination of need for external compatibility patches
  • Version 1.65.2

    • fixed father name not being updated during insemination (thanks to various people for reporting this!)
    • fixed not trying to find the spouse/significant other for the last person in tracking list
    • added more updating the player's name record, because non-vanilla alternate starts could cause it to be recorded as "Prisoner"
    • changed point at where initial RegisterForSingleupdateGameTime() was called, because it could be missed and the script may never re-start if using a mod that doesn't pause time in menus
    • blocked impatient users using fast start mods from enabling this mod prematurely
    • moved the widget script from being attached to the main FM quest, to being attached to the SkyUI MCM config quest.
      If the game started the SkyUI quest before the FM quest, the widget script would not respond to SkyUI's queries and would not function. If the game started the FM quest before the SkyUI quest, everything would function. This was the root cause of the erratic widget behavior, and dates back to stock FM.
      Thanks to many people who reported problems with the widget
  • Version 1.65.1

    • hotfix to correct the reversed logic in 1.65- pregnant women weren't being morphed, and non-pregnant ones were!
      (thanks OCDCoder who's also now my friend, because Discord wouldn't let her send the pic to me otherwise. She's a decent person, to boot, so no real stretch anyway)
  • Version 1.65

    • fixed instance where change in widget hotkey might not take effect until after game save/exit/reload (thanks xxxMrSlenderman)
    • fixed error in random sex partner lookup that had it checking the wrong array. This resulted in it ignoring the player's MCM setting of whether or not to include the PC in random inseminations
    • Fixed widget not displaying on new games, which was broken in 1.63
    • If the "Miscarriage Enabled" option is set in the MCM, high damage to a pregnant mother may harm her unborn child.
    • ongoing code optimization/shrinkage in the MCM config script
    • minor optimizations to random partner matching
    • Fixed typo in MCM that could results in horrendous amounts of papyrus log errors from SkyUI
  • Version 1.64

    • rewrote RSChildren compatibility script to reduce memory footprint, increase execution speed and make the process reversible if someone removes RSChildren
      Because even though removing mods mid-play is not recommended, someone's gonna try it anyway.
      Edit: on further consideration, the script may be reversible but it's still not recommended. Any spawned children would still be missing their models/meshes/etc. The most likely outcome of the game trying to render them would be a CTD.
    • implement states in morphing script to reduce memory footprint and increase execution speed
    • Started attacking the Great Beast that is the MCM config script. Managed to reduce its size by a whole 1%!
    • incremental status updates now remove blocked actors from the active tracking arrays
    • fixed MCM tracking lists fintering out blank resuslts (thanks whacked!)
    • while in the above, re-wrote most of the code for the tracking filters. Scrolling through pages in the list should be much more responsive now
      The number of tracked characters will now reflect how many fit your selected filter option, instead of the total number of tracked characters

      Changing filters- namely to "Unique Only" will be slow. But scrolling through pages in the list after the initial sorting is completed will be much faster.
    • minor optimizations to delivery code
    • Added on-screen warning if a now-defunct 'FertilityMode-RSChildren Patch Patch' is detected as loaded
  • Version 1.63

    • Updated MCM message to properly reflect actual meaning of the "Autoinseminate NPC" option (thanks malablondi!)
    • better handling of AutoInseminatePC setting during random inseminations
    • added UnregisterforKey when updating the widget hotkey, because- lo and behold- that was never done before!
    • Added states to SexLab/SLSO, OStim and RSChildren scripts to reduce memory usage when the relevant mods are not loaded
      https://www.creationkit.com/index.php?title=States_(Papyrus)
    • Split adoption functions into their own script, and implemented states to only load HMA-related code if HMA is loaded
    • Added Child Race records from FM to the esp.
      Now all custom FM child races are flagged as being able to equip crossbows, previously only Argonian and Khajiit children could.
      Starting Magicka for all FM children is now set to 50 instead of 0, to match PC races.
      Health and Magicka regen rate are set to 7 and 3 respectively instead of 0, to match PC races

      Adding crossbow-equipping made Dawnguard.esm a master, which probably nobody cares about since SE includes Dawnguard anyway.
    • Updated FM's relationship records between the PC and any children to accurately reflect that the PC is the parent, and the child is the child (they had been reversed)
      Added the AssocianType ParentChild to those same records - now random inseminations will exclude the PC and his/her children as possible partners
    • Added relationship records for Serana-Harkon and Serana-Valerica, with the ParentChild associationtype

      I guess it's no big deal that Bethesda neglected to indicate that the main characters in a DLC have ever even met before...
    • Updated the relationship records between Keerava-Talen-Jai and Elda Early Dawn-Brunwulf Free Winter to indicate that the couples are courting.
      (I think I actually did this in 1.62 and forgot to document it)
    • changed all (3) occurrances of "GetActorRef()" to "GetRefence() as actor"
    • On-screen notification of births may not have been occurring previously
  • Version 1.62

    • changed MCM text display string from "(PC NAME) is untracked" to "(PC NAME) is male or untracked" for clarification (thanks aramil316)
    • Ongoing to changes to locating partners for random inseminations: the mod tries much harder to find a partner if the RNG determines someone is getting inseminated
      - first check: if they have a "courting" or "spouse" Association Type ( https://www.creationkit.com/index.php?title=Association_Type) it tries that person
      - if the first fails, it tries to find an available partner in the same location ( https://www.creationkit.com/index.php?title=Location )
      - if the second also fails, if the current location has the keyword "LocTypeDwelling" ( https://www.creationkit.com/index.php?title=Keyword ) then it tries to locate an available partner in the "Parent Location"

      Example: Camilla Valerius is usually found in the Location "Riverwood Trader." Most often, the only person there with her is her brother, Lucan, who is not a viable partner because they are siblings. However, the Riverwood Trader does contain the Keyword "LocTypeDwelling" so the mod now tries to find someone in its parent location, which is Riverwood.
      Note: Despite the "love triangle" between Camilla, Sven and Faendal, the records in Skyrim.esm do not have her relationship set with the AssociationType "courting" with either of them.
    • switched all instances of IsPluginInstalled() to use GetModByName() because- lo and behold- SKSE for Skyrim VR does not support IsPluginInstalled! (thanks YrralNivek)

      This may- and I stress *may*- also help with Skyrim LE. I don't test with or provide full support for either VR or LE.
    • Continued breaking down the format of the mod from several large scripts, to a larger number of smaller scripts.
    • re-enabled listening for OStim orgasm events.
    • A separate FM-RSChildren Patch Patch is no longer provided. Use of an older one *WILL* break the mod and render it unusable. If you're using RSChildren, make sure that "Fertility Mode 3 Fixes and Updates.esp" loads AFTER the "Fertility Mode - RSChildren.esp" from Fertility Mode.
      It bears repeating: incorrect load order or using an older FM-RSChildren Patch Patch *WILL* render this mod non-operational.
  • Version 1.61

    • incremental improvements to "random" insemination routines
      - faster and more accurate processing of spouse/courtship relationships
      - more selective blocking of other family relationships
    • fixed typo in sexlab orgasm event that could prevent it from processing
  • Version 1.60.1

    • Hotfix: new women added to tracking weren't ovulating
    • continued improvements to selecting spouses/love interests for "random" inseminations
  • Version 1.60

    • fixed instance where the "add sperm" MCM debug option would not work on the PC, but would still work on an NPC
    • several small changes to routines for finding a spouse/fiance in random inseminations, aimed at speeding it up
    • changed widget display from "Fertile: x%" to "Conception Chance: x%" to be clearer on what the value is (thanks Onlyspam93!)
    • implement more locks to prevent race conditions
    • started splitting up the large, slow, once-daily tracked character update into smaller, incremental updates that run more often but update less characters each time
      (Mainly an experiment. Will it be better? Will it be worse? Will it be the same? Only way to find out is to try.)
    • Clear event registration on game load, before registering for events. If not cleared, old registrations stored in the save could prevent the new one from taking effect.
      thanks takahirn for finding this!
    • Updated Potions of Abort, Anti-Insemination and Fertility as well as the spells Inseminate, Abort and Impregnate to call the correct scripts. This was missed in 1.58 -> 1.59
    • fixed calculation of male spermcount during their refractory period, which was miscalculated when adding the MCM Refractor Period setting (thanks OCDCoder!)
  • Version 1.59

    • fixed instance where NPC faction wasn't being updated after giving birth
    • changed SLIF detection from Game.GetModByName to Game.IsPluginInstalled
      There should be no functional change, but this is a more appropriate way to pose the query
    • Added check against rare possibility of a woman ovulating twice in the same cycle.
    • Started rewriting random insemination routines to check against siblings and/or parent-offspring inseminations
      That first part was easy. Now on to the time consuming part, getting it to prefer picking a character's love interest (if they have one)
  • Version 1.58

    • Fixed bug introduced in 1.57 that cause cause manual gender setting to not apply properly.
      Multiple reported problems were a symptom of this, including but possibly not limited to, difficulties enabling/disabling the widget or multiple female time-of-cycle buffs applying to a character at once.
    • Reverted Ostim support again. Assuring load order between two esp files flagged as ESL is problematic unless one is also a master, which I'm trying to avoid since doing so would require all users to install Ostim. For now, at least, if you want Ostim support use https://www.nexusmods.com/skyrimspecialedition/mods/46012
      I'm not opposed to anyone using OStim. I'm just trying to not make it a requirement.
    • changed display on widget from "infertile" to "not fertile" per request (OCDCoder)
    • Added missing updates to female cycle buffs/debuffs during full-term pregnancy and recovery from pregnancy periods that were overlooked previously
      - it was possible that in either of those cases a PC might end up with multiple buffs or no buffs
    • Reverted change to Potions of Fertility and Potions of Contraception applying to the NPC, as this could prevent them from applying to the PC. Support for these potions on NPCs will be added back in the future when it can be done without blocking functionality on the PC.
  • Version 1.57

    • Potion of Abortion now uses the same abort function as other abortions, instead of its own code block
    • added check to "Potion of Washout" to not clear father info if the potion's consumer is pregnant
      Potion and the MCM options to remove sperm now share code instead of each having their own.
      Todo: update API documentation, as all these new events are new API features
    • Potions of Fertility and Potions of Contraception now operate via events and are now readily accessible to other mods
    • Changed the four potions to now also affect NPCs, not only the player character
      The four potions are now also flagged as "Poisons" and, via the "Poisoned" Pickpocket perk, can now be given to NPCs
    • Removed former potion handling code, which was in OnObjectEquipped event, and needlessly ran whenever the PC equipped *any* item (i.e. excess script load)
    • Max BabyHealth is now 105 instead of 100, because of new mechanics that can harm babyhealth when the mother takes damage. This is only tracked for a pregnant female PC, not for NPCs, and only applies if the "Miscarriage Enabled" option is on in the MCM. If that option is off, BabyHealth is never checked.
    • fixed instance where updating female cycle buffs/debuffs might be skipped if widget was disabled
      - thanks MintTeaChip!
    • fixed instance where using the MCM debug "Add Sperm" option on the PC could print an out-of-bounds array access error to the log
      - thanks OCDCoder!
    • auto-hide the MCM option to "Add Sperm" if a female already has sperm in her, since it is intentionally blocked in those cases
    • remove debugging message from SexLab Separate Orgasm events
    • fixed typo in SexLab Separate Orgasm events that could prevent them from processing
    • disabled unborn fetus chance to take damage when the mother took high dmg. for now.
  • Version 1.56

    • Consolidation of all abortion/miscarriage functions into single event in a single location (general cleanup/housecleaning)
    • consolidate all labor-inducing code into single event in a single location (more general code cleanup)
    • The "Detect Fertility" optional spell is no longer a scripted effect, but handled directly by the game engine.
      -- Detect Fertility magicka cost per second is halved by the perk 'Apprentice Alteration'
      -- Functionally quite similar to "Detect Life" and "Detect Dead" spells, experience gain for Alteration skillup will be faster in heavily populated areas
    • change "Impregnate" debug spell to use already-existing event in main scripts instead of its own code block (more general code cleanup)
    • consolidated all impregnation/conception code into a single event in a single location (more general code cleanup)
    • enforced stricter checking and enforcement of FatherRaceID for *internal* impregnation events, in hopes of tracking down the source of the many complaints on the FM bug report pages of children not resembling parents or being of "weird" races

      I have no control over *external* (originating in another mod) impregnation and insemination events. External events only send us the father's (impregnator's) name, not full ActorID so it is impossible for FM to check if the father matches your chosen FM MCM settings (allow/disallow creatures, or non-uniques, or even gender for that matter!) If another mod is sending impregnation events that do not meet your criteria, you either need to change settings in that mod, or take it up with the other mod author.
    • The debuffs greatly outweigh the buffs in 1.55 based on a female PC's time of cycle, so PMS now adds a small buff to both Attack Damage and Destruction Skill.
    • pulled my head outta my ass- I made more perks, spells, effects than were needed in 1.55, re-write code to remove extras
    • if the miscarriage option is enabled, high physical damage can harm the unborn child
    • slightly increased chance of ovulation each update cycle, to compensate for people using iNeed or similar mods which require them to sleep and miss update cycles
    • added MCM slider option for Male Refractory Period (finally! one more item off the to-do list)
    • adjusted "egglife", how long an unfertilized egg remains viable from the old value of two days down to one day, to more closely resemble RL value of 12-24 hours
    • fixed widget display of ovulating status while the player also had either a fertility or contraceptive effect active, accidentally broken in 1.55
    • fixed instance where MCM manual override of player gender might not take immediate effect
    • Clarified text descriptions of "Unique Only" tracking options in MCM. Functions did not change, only the displayed text descriptions.
  • Version 1.55.1

    • Automatically add/remove female-related cycle buffs and debuffs if the player manually sets gender in the MCM options
      Added text description to Menstruation spell

      Otherwise identical to 1.55
  • Version 1.55

    • New mechanics for the "Potion of Fertility" and the "Potion of Contraception"
      click the "Articles" tab, it's been added to the end of the article on Fertility Calculations if you're interested
    • while doing the above ^^ and in the Widget code: added "sanity check" to only try to update the widget if the PC is female (including manually set as one) and tracked,
    • changed order of operations within widget updates, now checking player state (menstruating, ovulating, etc) is done BEFORE setting/clearing player factions that rely on that information, which I apparently reversed sometime prior
    • moved player-specific code from UpdateStatusSingle* functions, which run on every tracked character each update, to UpdateStatusAll(), which only runs once per update
    • as a result of the immediately preceeding, UpdateStatusSinglePartial() was down to 7 lines of code. No longer a separate function, it is now a part of UpdateStatusAll()
    • An almost total re-write of any and all code related to a woman's cycle-based buffs/debuffs. Magic Effects have been moved out of scripts where possible, to allow the game engine to handle the details and do what it's good at. Prior buffs/debuffs have been tweaked. PMS and First Trimester now include minor speed decreases, while Ovulation provides a minor speed increase. Third Trimester, which previously had no associated effects now suffers a larger speed penalty than either PMS or First Trimester, only because I couldn't find an option for "decreased bladder capacity".

      thanks OCDCoder for the suggestion to use factions to inform the game engine of where the PC is in the cycle
    • 1st Trimester speed debuff set to work from 5am-10am, a la "morning sickness"
    • former PMS debuffs set to occur during menstruation instead; new PMS debuff to speech skill
    • MCM Tracking page filter option changed from "All Non-Unique" to "All (unfiltered)" to more accurately reflect what the setting does.
      Only the name has changed, not the fuctionality.
  • Version 1.52

    • Bugfix release. The only reason it's not "1.51.1" is that the changelog sorted it to before 1.51hotfix when I tried that.

      fixed instance where a deleted-from-tracking actor (due to death, blacklisting, etc) record wasn't being properly cleared, and could cause an error message about negative records
    • REALLY removed the debugging message from SexLab events that should have been removed in 1.51, which was still in due to a compiler quirk. It's now deleted from the source instead of just commented out.
      thanks MeXeSGER!
    • properly shrink/destroy the unused LastGameHoursDelta array
  • Version 1.51hotfix

    • Fix to re-instate accidentally broken interoperability with Fertility Adventures. Otherwise the same as 1.51
      Only useful if you have Fertility Adventures installed.
      thanks for Demistic for supplying me with a papyrus error log so I could see this!
    • added more information on the cause of the "negative records found" message instead of being totally generic
    • changed description of the first trimester magic effect to "Headaches and Sluggishness" to match Fertility Adventures' change to this record
      *in theory* this will eliminate load order mattering between this patch and Fertility Adventures - still needs more confirmation.

      this effect may be changed further in the future, to only trigger between certain hours to simulate RL "morning sickness"
  • Version 1.51

    • Removed debugging message from SexLab events (sorry about the distracting technical message during your intimate moments!)
      thanks dxm04n for the bug report!
    • fixed out-of-order variable assignment that could clear belly/breast scaling (thanks again to murrayj!)
      this same out-of-order assignment could also cause a skip in updating a woman's day of cycle (thanks again Katschaba!)
    • added indicator in MCM tracking screen if a woman is menstruating (thanks whacked for the idea!)
      it's "^" for now, just because I have no better idea of what to use. If you have a suggestion, share it!
    • Enforced stricter "encounter order" in the MCM tracked character list
      The first person on the list should be the first one you encountered, the last person on the list should be the last one you encountered.
      Previously, as new characters were added to tracking they might be added to the beginning or the middle of the list, not the end

      This is contingent on having MCM settings that allow tracking at all. If you disable tracking, then nothing will change for you.
  • Version 1.50.1

    • Cosmetic changes from 1.50:
    • Incorrect formula was being used for calculating when a woman would ovulate, so it was happening 1-3 days later (depending on cycle duration) than the expected day displayed by the Widget and the MCM Debug screen. (thanks Katschaba for noticing it!)
    • while fixing the above, changed MCM debug display from "Expected Ovulation: 14" to "Expected Ovulation: Day 14"
    • Updated MCM tooltip for auto/forced gender to no longer say SexLab is queried if it's installed, because SexLab is no longer queried.

      This means if you've manually set your character's gender in SexLab, and you want FM to recognize this, you must also manually set your gender in the FM MCM
      Sorry if this is an inconvenience, but asking SexLab for gender info was causing many many more bugs than it fixed.
  • Version 1.50

    • Minor milestone. Eliminated the "compatibility" script from Fertility Mode entirely.
      This makes things simpler for everyone. For me, because it's one fewer script to maintain. Easier for users, because there's only one version to download and install, regardless of whether or not they have FG, HMA, SexLab or SLSO installed.
      The only exception is that the "Fertility Mode - RSChildren Patch Patch" is still needed. For now.
    • added check to prevent possible blank second name for "xxx came inside yyy" messages
    • added check that "father" race contains keyword NPC before updating the raceindex, to hopefully mitigate FM bug reports of children being of "weird" races
    • Fixed instance where changes to Verbose mode on/off might be slow to register
    • The MCM "Add Sperm" debug option and the "Inseminate" magic spell now function identically to all other (internal) insemination events.

      External (i.e. from another mod) insemination functionality is unchanged
    • Reverted (commented out) OStim event handler code since it was still WIP and allowed a CTD if Ostim wasn't installed correctly or, if uninstalled, if it was not completely uninstalled.
      Will be re-added at some future point after further work and safety checks.
  • Version 1.46.1

    • added missing parentheses that could cause improper belly/breast scaling
    • now also verifies presence of correct version of jsw_bb_widgetcycle script. Version number updated to 1.46 on startup message
  • Version 1.46

    • removed erroneous check in cell scan for NPCs to add to tracking that could cause the cell scan to stop prematurely.
      severity: minor. Cell scans are done every time a character changes locations, if one stops early, it's very likely that later scans would complete fully anyway
    • early implementation of handler to catch OStim orgasm events (WIP)
    • fixed instance where changes to the "Allow Creatures" MCM setting would not take effect until exiting and reloading the game
    • clear belly/breast scaling on a character immediately after they give birth, in an attempt to resolve the many bug reports on FM's page about morphing being "weird" after a character gives birth
    • Filled in data for DAR hook perk added in 1.43
    • Reverted changes to gender handling and detection from 1.42, since they seemed to be causing more problems than they fixed
    • Moved event that catches SexLab orgasms out of _jsw_bb_compatibility script into _jsw_bb_utility.
      Now, the only thing that _jsw_bb_compatibility handles is adoptions if HMA is installed, and eventually that will be moved elsewhere as well, allowing elimination of the compatibility script entirely
    • -- There is no new "Fertility Mode - RSChildren Patch Patch" needed, the v1.43 patch is still current
    • Stop querying skyrim if sexlab is installed. We no longer care. The only time we run sexlab-related code is if a sexlab event is triggered, which means sexlab is installed, so asking is redundant.
  • Version 1.44

    • Almost identical to v1.43, totally optional download.
      Added version display to startup message to assist in debugging a user's problems.
      You should see a message like this on startup: https://imgur.com/KIb2pse
    • don't pad the various "day" displays in the tracking menu with a leading zero for single-digit days if the player settings don't let the value hit double-digits (thanks KaeArby for the idea!)
    • reactivated some formerly "dead code" in the MCM script, also thanks to KaeArby
    • fix bug that could set time of LastInseminaton to zero instead of current game time, again thanks KaeArby
    • added gender checks to player child records since we now accept more gender values *in other areas*. There is no support for, and probably never will be, creature children support

      before someone asks (and I'm sure someone would!) this means you cannot get screwed by a horse and expect to birth a centaur child
  • Version 1.43

    • Previously, belly/breast scaling was set to not start until the second trimester. Now it starts halfway (rounded down to nearest day) into the first trimester. This would make it start at about the 6 1/2 week point for a RL human, which is closer to a "realistic" setting.
      The exact time to start scaling is still a WIP and may be revised, feedback is appreciated!
      -Added check to prevent setting scaling over 100% in case of labor starting after expected due date.
      -Added check to prevent scaling a negative amount (i.e. shrinking) due to rounding a trimester to 1/2
      --If you want more scaling or less scaling, there's a slider for that in the MCM
    • fixed improper check in FertilityModeModSperm event for external mods that could prevent event from processing

      in most cases, other mods would be using the FertilityModeAddSperm event instead of this one, so I don't know if this error ever even manifested
    • Added hook for Dynamic Animation Replacer (DAR) provided by murrayj (thanks!)
    • fixed check in Widget code that might prevent showing the player as "ovulating" for the first hour after ovulation occurred

      edit: made two other changes in widget code that may have delayed indication of state changes
    • fixed bad logic in the Flower Girls compatibility script that was introduced in 1.42 and could result in the "yyy came inside xxx" message names being reversed with certain participant gender combinations
    • removed check in "PC sleeping with spouse insemination" that would prevent the event if the spouse was blocked from tracking.

      Now, the message will appear but because they're blocked we still won't track the event.
      Why are you blocking your spouse anyway?? If you don't want the insemination to occur when sleeping with your spouse, there's an MCM option for that!
    • removed check in "PC randomly inseminated while sleeping" that would prevent the event if the PC was pregnant

      This now conforms with the NPC random inseminations, where the event can occur, the message can appear on-screen, but we don't track it any further as the character is already pregnant!
    • Fixed error (mine!) that would have a the later man's name replace the actual father's name as "current father" when having sex with already-pregnant women.
      With all the previous changes about allowing pregnant women to be involved in sex, I forgot to check this!
    • fixed bad logic in the magic spells gender checking that would prevent them from working
      fixed faulty logic in the character tracking that could prevent male creatures from being tracked even if the player had turned on the "enable creatures" MCM option
    • Fixed updating of the FatherRaceID record. This *may* explain and address some long-standing bugs with FM and children not resembling their parents and/or being of unrelated races

      FatherRaceID is stored at the time of insemination, so this will only affect insemination events that occur *after* this fix is applied. Currently pregnant women, or women with semen already in them, will not be affected. Insemination via magic spell or debug menu may cause an "unknown" father, so his race would also be unknown in those cases.
    • Removed more of the first-run message spam. Most of it should have been removed previously, as they were mainly intended as debugging info for me when I first wrote them.
    • Previously-bifurcated AddActor() (for females) and AddFather() (for males) functions combined into a single AddToTracking() function (code shrinkage/housekeeping)
  • Version 1.42

    • Big changes! This contains an almost total re-write of gender handling routines, aimed at addressing many long-standing bugs with FM.
      You should no longer have to manually set your gender in the MCM to "cover up" bugs, but that option still exists for those who want their character to be treated as a different gender.
    • Removed some duplicate work: if the cell scan found NPCs to add it would query their location then call another function to add them to tracking, which also queried their location!
    • MCM changes: when entering the debug screen, any NPC in your crosshairs is automatically tried to be added to tracking, if they aren't already tracked. If they cannot be tracked, such is indicated after their name. Children and the elderly should always show as "unable to be tracked" where adults should only show "unable" if they are blacklisted, blocked or disabled via MCM settings such as "males only" or "females only" or "unique only" if they're not unique
    • started work on gender detection overhaul. Utility script now only calls Compatibility script for gender detection if Sexlab is installed
    • various housekeeping, re-cycle usage of some variables instead of declaring additional ones within the same functions
    • fixed error introduced in 1.2 that could cause premature expiration of an unfertilized egg
      This should also fix the reported bug with a character's day of cycle not incrementing
    • added check to prevent errors or even a CTD when trying to find a potential male for a random insemination when there was only one tracked male
    • Consolidated *player* ovulation status update code into the WidgetCycle script, instead of being duplicated in Widgetcycle and Utility
      NPC ovulation code is unaffected
    • fixed bug that could increase the interval between the same male being re-picked for a random insemination
    • added checks in various areas to only call WidgetCycle.UpdateContent() if the player is actually female!
    • Enabled display of "xxx came inside yyy" for external mod request of M-M sex scenes and Male w/female creature scenes.
      We don't, and probably never will due to technical limitations, track these events, but the message is displayed now.
      I don't know if I stopped this message unintentionally in an earlier version, or if FM never allowed it, but either way the message will display now.
      This is related to automatic gender detection (tangentially) and part of the ongoing work to attempt to fix numerous bugs with automatic gender detection in FM.

      Note: if you're playing a male character, and set the MCM to force gender to Female, you *are* female as far as this mod is concerned, and *can* be tracked- but I'm not aware of male character models that support breast/belly body morphs, so that part probably won't happen.

      Disclaimer: the above is not to be construed as legal advice or an encouragement to perform such actions. I have no idea what the laws are governing you. I am neither encouraging you to perform, nor preventing you from performing, such actions.
    • Cosmetic: changed the "current day" display in the MCM. Instead of the former "Current Day: 1.34575" it is now "Current Day | Hour 1 | 8"
  • Version 1.41

    • 1.41 is out.
      This will be the last update for a while, as I move towards trying to tackle FM's long-standing problem with automatic gender detection.

      Lots of MCM debug changes, this time for the female characters. See uploaded image #5 for details, or better yet install it and see for yourself!
    • As a side effect of changes made in 1.4, any males - including the player- that have too-frequent sex will have reduced sperm counts. Previously the reduced sperm only applied to NPCs
      8 (game) hours without intercourse will restore sperm to former levels.
      making the interval (8 hours) configurable in MCM is still on my to-do list
    • To compensate for the above, Potions of Fertility and Potions of Contraception now affect males. Potions of Fertility will restore their spermcount, whereas a Potion of Contraception will reduce it by up to 89% for 8 hours.
      Note: if you are blocking yourself, the player character, from tracking no potions- regardless of your character's gender- will have any effect
    • Consolidated fertility calculations to a single function, instead of 5 locations across three scripts. In addition to making future changes easier and only needing to be done once, it also ensures that conception % will be consistent between different areas- the widget display, the MCM and the actual conception checks done during update cycles.
    • Removed unused properties from scripts, 16 in total. i.e. more general housekeeping
    • Added a check to prevent FindRandomFather() from causing an out-of-bounds array access error under certain circumstances
    • added check to value for spermcount sent to FM in the FertilityModeModSperm event to prevent external mods from sending us outrageously high values (unchecked, the max would be around 2.1 billion). Sanitize your inputs!
      Capped the value at 2048, which is still ~14x the normal amount, but also 1/1,000,000 of the former max!
    • Changed ovulation day for the 28-day cycle to day 14 (from 10), to more closely resemble real life. The shorter cycles are unchanged.
      If you're in an existing game and using the 28 day cycle, this will probably only take effect if you change FROM 28 to anything else, then BACK TO 28 days.
    • added check for valid fatherName when processing external (from another mod) impregnation requests
    • Fixed error in widget's fertility calculation that would result in many papyrus errors if playing as a female charcter with the widget enabled (bug was introduced in 1.4b)
    • Decreased the number of progress notifications during array compaction. The first time it's run on a game, it still displays 5 messages as it progresses, but on subsequent runs it will only display two- one at start, and one when it's done.
    • Several updates to phase progress indicators in the widget. Still probably not perfect, but closer now.
      Because some random variance was introduced into the exact time that ovulation occurs, we can't predict accurately when it will occur, so any calculations on progress are estimates.
      During menstruation, or after an unfertilized egg has died, instead of "Fertile: x%" the display will be "Infertile".
      While a viable egg is present, "Fertile: x%" will be displayed, but "x" will be zero as long as there is no sperm present.
      During ovulation phase but before ovulation has occurred, the display will be "Pre-Fertile"

      The widget is finally getting some long-overdue attention!
    • fixed bug that could erroneously prevent some males from being tracked
  • Version 1.4beta

    • Wanted: People willing to test this!
      Functionally, there should be little or no difference to the user between this beta and the regular v1.4
      HOWEVER- this is the first time I've included the Flower Girls compatibility script in a release. It works fine *for me, WITH Flower Girls* installed.
      What I want is some people who do NOT have FG installed, preferably with Papyrus logging enabled, to try this to see if it throws a lot of errors in the log, before I flag it for widespread usage.
      The FG compatibility script requires FG in order to operate properly. However, without FG installed, it should never run, thus never cause errors.
      That's the theory.
    • Consolidated all* insemination code into a single function, instead of spread out in a dozen areas across multiple scripts. Primarily housekeeping and headache reduction.

      *not counting the magic spell and the debug menu, since those two work differently than all other inseminations in that they can work without a "father"
    • As a side effect of the insemination code consolidiation, almost all events are now "equal." Whereas previously pregnant females could be inseminated by FM random insemination but not from external mod requests, now both types are treated equally and pregnant women can be inseminated either way.
      It's still mainly a moot point, as pregnant women aren't checked for further conception, but at least IMO it's more realistic.
    • Widget: added pregnancy day display next to baby health.
      Instead of "Fertile: 0%" the display will be "Infertile" when appropriate

      TODO: make this configurable via MCM (done!)
    • Initial upload had incorrect file paths in the .bsa, new upload has been corrected.
  • Version 1.4

    • Fixed an incorrect assumption (on my part) in the SLIF detection that may have resulted in SLIF not being detected
    • checking for, and correcting if found, negative or excessively large values on the recently-added RefractoryPeriod array for tracked males. All other int/float arrays were already being checked during the daily midnight actor maintenence, but I forgot to add this new array to the list.
    • BIG CHANGE: in code, not so much in user experience. "Array Housecleaning" has been added. Automatic re-sorting of tracked NPC records to "fill in" gaps left by deleted records, and automatic truncation of deleted entries. The only way I can figure to get this to run in a threadsafe manner is to only run on game load, which is the only time I can be sure no other parts of FM are trying to read/write values that are being rearranged.
      The first time it runs, you will get status update message regardless of verbosity setting. Subsequent runs will obey user preferences.
      This *may* increase overall performance, as we no longer need to search through deleted records intermixed with ones we're keeping. At any rate, it shouldn't hurt anything. I was hoping to see a decrease in save game size, but even after forcing deletion of 200 records my skse co-save only shrunk by 26kb or 1.3%, which is within margin of error for normal size fluctuations.
    • Related to array housekeeping, above: Previously, "deleted" actors only deleted their data from one array of the 16 related to that actor. Now we clear the data in *all* arrays for that actor. This should speed searches within arrays, as we will no longer get a "hit" on a LastLocation search only to later find out that actor was a deleted record..
    • If a female is ovulating when she's added to tracking and Verbose Mode is enabled, you get a notification
    • Solved the slow execution of function FindRandomFather I was lamenting about in 1.2 notes, finally! Moved it to _JSW_BB_Utility script, which is a more appropriate location for it
    • A Potion of Abortion or the "abort" debug option now sets the target's Cycle Day to 1, to prevent the possibility of immediately becoming pregnant again!
    • Changed the cell scan for finding new characters to track, now both males and females can be done concurrently in one scan, instead of 2 separate sequential scans, if the player's tracking settings warrant scanning for both genders
    • Changed order of operations when adding characters to tracking- now checking that they're not already tracked is done first, instead of last
    • Insemination notifications from SexLab events will now obey user preferences for verbosity, instead of always sending a message
    • Removed checks from SexLab events that prevented insemination of pregnant females. It's mostly irrelevant since they're already pregnant, but now it can happen.
  • Version 1.3

    • Stopped updating DayOfCycle for pregnant women. It will resume after their pregnancy and recovery period ends.
    • changed "can't determine location" for tracked NPCs. If we can't determine their location, it's set to Tamriel. If we can determine their location but not the name of that location, it's set to Skyrim. Note: Skyrim is a VERY infrequent occurance.
    • added check that the random father wasn't previously deleted from tracking when finding "random fathers" for random inseminations
    • *IMMEDIATELY* remove blacklisted NPCs from tracking. Don't click this option by accident!
    • Caught 2 possible "none" location checks that were missed in 1.2, however neither of them have thrown papyrus log errors... yet
    • Males having "random insemination" sex frequently will have decreased sperm. Default is more than once per 8 hour period.
      TODO: make this configurable in MCM.
      NOTE: this only affects random inseminations
    • Extended the "refractory period" for males to four hours from one, the same male won't be picked for random inseminations as often
    • Enabled check in labor routine the verifies that an actor has AI loaded before trying to play animations in order to reduce papyrus log errors
    • Moved nightly maintenence routine from main _JSW_BB_HandlerQuestAliasScript to _JSW_BB_Utility script. Not for any performance reasons, but it helps to balance the sizes of the scripts.
    • Fixed 2 bugs in tracking blocking, one from me when I implemented blacklisting and a second one that was pre-existing
    • -- Sorry for two releases in one day. I'll try to keep that to a minimum in the future! --
    • Minor change to the Detect Fertility spell that should cut down on "false positives." This spell still needs work, but a little progress is better than none!
      TODO: Change Detect Fertility from a concentration spell to a Fire-and-Forget with a duration
  • Version 1.2

    • Added tracked NPC display names to their records, decreasing the frequency of how often we have to query Skyrim for that value. Note: The initial run, where these records are populated, can be lengthy depending on how many NPCs you're tracking, however it should only run once: either when starting a new game, or when loading a save that didn't previously have this record.
    • Changed the order of operations in UpdateOvulationStatus. Old order had "aging" the egg first, now first is checking if character is menstruating, second is checking if character is in recovery from childbirth and finally aging the egg. Since the character should be infertile (no egg) during menstruation or recovery, it makes sense to do those checks which clear an egg BEFORE aging an egg that shouldn't exist.
    • Further reduce Papyrus log errors from "none" locations. I believe they're totally eliminated now.
      Edit: found two more places they might occur, but haven't seen entries in the log for them. Will be fixed in 1.3
    • Don't track NPCs that have the keyword "creature" unless the player has enabled the "allow creatures" option in the MCM. If the option is disabled (default value) and creatures are currently being tracked, they will be automatically removed at the next new-day maintenence run.
      Note: playable races such as Argonians and Khajiit ARE NOT classified as "creatures". Custom races will depend on what their creator set them as.
    • Moved function FindRandomFather from _JSW_BB_HandlerQuestAliasScript to _JSW_BB_Storage in an effort to speed it up. Average time is "down" to 550mSec from 780mSec. This function is still the single-biggest time consumer, even after I've re-written it multiple times. To put it in perspective, most other functions execute in under 50mSec.
      If anyone wants to help with this, or any other area, please let me know!
  • Version 1.1

    • detection of SexLab and SLIF are two distinct and separate checks, as it should have been from the beginning
    • Body morphing starts on day 1 of the second trimester and continues linearly until the end of pregnancy. Previous behavior where morphing hit its maximum at the end of the 2nd trimester was unintended. (note to self: need to add check for late deliveries to not set morphing above 100%)
      Edit: check added in 1.43
    • Added NPCs index number on the debug screen. See attached screen shot
  • Version 1.0

    • Beyond what's listed on the description page: Replaced all instances of "convenience functions" GetValueInt() and SetValueInt() with their faster root functions GetValue() and SetValue() then casting as needed.
    • Cached frequently-used global properties to local variables. This, and the above, are individually tiny impacts on performance, but when multiplied by hundreds of tracked NPCs tiny speed increases magnify greatly!
    • Calculate frequently-used values such as TrimesterDuration and OvulationDay then store them to variables, and re-calculate them only if/when the player changes values in the MCM. Previously they were calculated every time a script needed them, possibly hundreds of times in the span of only a few seconds.
    • Changed the baby health penalty for a pregnant PC not sleeping, if the option is enabled in the MCM. No change for the first 48 hours without sleep, however the health penalty gets progressively harsher from 48 hours onward. Sleep for at least 1 hour every two days if you're pregnant and want to carry the baby to term!
    • If the character is menstruating or recovering from a previous birth, any egg that may be found is removed during the hourly update. If the character is menstruating, any sperm are also removed.
    • Sperm die off faster based on their age. FM reduced sperm count by a random amount from 2-10 evey hour. I implemented a simple formula that kills them off at the rate of 1 per hour, for every six hours after the sixth hour of their age. "Simple formula??!!??" you say? Yes, hours 0-6, no sperm die. Hours 7-12, 1/hour dies... Hours 73-78, 11 per hour die.

 

Installation of Patch

  Reveal hidden contents

First-Time Installation:


Using, a Mod Manager it should install like any other mod.  I've tested it with Vortex and MO2, as that's what I use.
This patch should auto-sort to load after Fertility Mode v3, since FM3 is a master.   Double-check anyway!
--If you are using Fertility Mode's Flower Girls, SexLab, SLSO, HMA or RSChildren patches, they are all redundant.  Support for all of the preceeding mods is included.  Those patches can be (and in some cases must be, to prevent conflicts) removed.

 

The easiest thing to do is to uninstall Fertility Mode, then re-install it as BSA version, not loose files and with no optional patches. Then overwrite with Fertility Mode v3 Fixes and Tweaks.  



Mid-Game:
As of version 2.0, installation mid-game is no longer supported!
If a game has had Fertility Mode or an version < 2.0 of this mod installed, you will have extreme difficulty to the point of practical impossibility adding this mod.  If you're determined to try, you're on your own.  I'm not wasting my time on what I believe to be an exercise in futility.

Upgrading from previous version
v2.0+ does not support upgrading from versions < 2.0
If you are currently using v2.0+, upgrading should be simple replacement.
Note: If upgrading from v2.09 or lower to > 2.10, the 'Fetiltiy Mode - RSChildren Patch' from Fertility Mode is no longer supported.  You may still use RS Children if you desire, however the patch is not supported and needs to be removed.o be removed.

 

 

 

 

Just updated the mods now and they work great! Thank you for replying too!

Is there a way to increase the butt size during pregnancies or is the body morph limited to breast and belly modes. 

Link to comment
33 minutes ago, SeikoMontiss said:

 

Just updated the mods now and they work great! Thank you for replying too!

Is there a way to increase the butt size during pregnancies or is the body morph limited to breast and belly modes. 

 

I was looking to that too, and sadly currently the morphs are hard-coded to breast and belly. The scale feature was originally buggy, so I'm guessing it was not expanded to maintain it simpler to debug.

 

Snippet of the scaling code, there is more of the core functions, but here are the nodes and morphs names.

 

SLIF, it tracks, synchronize, and let mods know the current state of scales. All node Scales or morphs are sent in one request to NIO after integrating all scaling calculations. The integration resolve the old netimmerse scaling conflict while adding a scale state query for modders.

Spoiler

        ; SexLab Inflation Framework
        SLIFMorph(thisActor, "PregnancyBelly", percent)
        SLIFMorph(thisActor, "BreastsSH", breastScale)
        SLIFMorph(thisActor, "BreastsNewSH", breastScale)

 

NIO using bodymorph, NetImemerse Override, is part of RaceMenu, and it does Netimmerse scaling while tracking to maintain synchronization between different mods.

Spoiler

        ; BodyMorph
        NiOverride.SetBodyMorph(thisActor, "PregnancyBelly", "Fertility Mode", percent)
        NiOverride.SetBodyMorph(thisActor, "BreastsSH", "Fertility Mode", breastScale)
        NiOverride.SetBodyMorph(thisActor, "BreastsNewSH", "Fertility Mode", breastScale)
        NiOverride.UpdateModelWeight(thisActor)

 

Legacy NetImmeerse (Part of game engine 3D mesh renderer system, no synchronization of scales with other netimmerse scaling calls)

Spoiler

        ; NetImmerse
        NetImmerse.SetNodeScale(thisActor, "NPC Belly", percent + 1.0, false)
        NetImmerse.SetNodeScale(thisActor, "NPC Belly", percent + 1.0, true)
        NetImmerse.SetNodeScale(thisActor, "NPC L Breast", breastScaleNode + 1.0, false)
        NetImmerse.SetNodeScale(thisActor, "NPC L Breast", breastScaleNode + 1.0, true)
        NetImmerse.SetNodeScale(thisActor, "NPC R Breast", breastScaleNode + 1.0, false)
        NetImmerse.SetNodeScale(thisActor, "NPC R Breast", breastScaleNode + 1.0, true)

 

Core scaling utility support functions : _jsw_bb_utility.psc

 

Maybe for NPC. Calculate scale and request scaling to the selected scaling frameworks: _jsw_sub_morph03.psc

Likely for PC. Calculate scale and request scaling to the selected scaling frameworks: _jsw_sub_morphpc.psc

 

 

Edited by safado
Link to comment
On 10/4/2023 at 6:43 PM, safado said:

 

I was looking to that too, and sadly currently the morphs are hard-coded to breast and belly. The scale feature was originally buggy, so I'm guessing it was not expanded to maintain it simpler to debug.

 

Snippet of the scaling code, there is more of the core functions, but here are the nodes and morphs names.

 

SLIF, it tracks, synchronize, and let mods know the current state of scales. All node Scales or morphs are sent in one request to NIO after integrating all scaling calculations. The integration resolve the old netimmerse scaling conflict while adding a scale state query for modders.

  Reveal hidden contents

        ; SexLab Inflation Framework
        SLIFMorph(thisActor, "PregnancyBelly", percent)
        SLIFMorph(thisActor, "BreastsSH", breastScale)
        SLIFMorph(thisActor, "BreastsNewSH", breastScale)

 

NIO using bodymorph, NetImemerse Override, is part of RaceMenu, and it does Netimmerse scaling while tracking to maintain synchronization between different mods.

  Reveal hidden contents

        ; BodyMorph
        NiOverride.SetBodyMorph(thisActor, "PregnancyBelly", "Fertility Mode", percent)
        NiOverride.SetBodyMorph(thisActor, "BreastsSH", "Fertility Mode", breastScale)
        NiOverride.SetBodyMorph(thisActor, "BreastsNewSH", "Fertility Mode", breastScale)
        NiOverride.UpdateModelWeight(thisActor)

 

Legacy NetImmeerse (Part of game engine 3D mesh renderer system, no synchronization of scales with other netimmerse scaling calls)

  Reveal hidden contents

        ; NetImmerse
        NetImmerse.SetNodeScale(thisActor, "NPC Belly", percent + 1.0, false)
        NetImmerse.SetNodeScale(thisActor, "NPC Belly", percent + 1.0, true)
        NetImmerse.SetNodeScale(thisActor, "NPC L Breast", breastScaleNode + 1.0, false)
        NetImmerse.SetNodeScale(thisActor, "NPC L Breast", breastScaleNode + 1.0, true)
        NetImmerse.SetNodeScale(thisActor, "NPC R Breast", breastScaleNode + 1.0, false)
        NetImmerse.SetNodeScale(thisActor, "NPC R Breast", breastScaleNode + 1.0, true)

 

Core scaling utility support functions : _jsw_bb_utility.psc

 

Maybe for NPC. Calculate scale and request scaling to the selected scaling frameworks: _jsw_sub_morph03.psc

Likely for PC. Calculate scale and request scaling to the selected scaling frameworks: _jsw_sub_morphpc.psc

 

 

 

This is beyond me and my capabilities. Maybe someday there will be a way to easily adjust these settings. Thank you again for all your advice with this mod. Your insight is rare and appreciated!

Link to comment
  • 1 month later...
  • 3 weeks later...

I'm having an issue where mods are registering properly to the default modus and calculating correctly (NPC L Breast, NPC R Breast, etc.) but not actually showing up on my PC in game. I've tried rebuilding outfits in bodyslide with morphs again, I've tried resetting slif, resetting the different mods, and reinstalling the 03Tullius.json file (I'm on SE using 3ba). Changes via morph modus and manually in Racemenu work totally fine, but could there be an issue with Racemenu still? I'm just confused where the disconnect is since morph modus is working normally and the body is clearly able to change morphs, it just seems like default modus for whatever reason cannot apply the changes. Is it being overridden by something else?

Link to comment
  • 2 weeks later...

I quickly updated some patch for those mods:
-Devious device 5.2 LE
-Deviously Cursed Loot 9.0
-Gem Oven III v310
 

No autoinstallation, simply put the content of the desired mod folder into your "{GamePath}/Data/Script" folder
ex: if you want to install the "Devious device 5.2 LE" patch, open the "Devious device 5.2 LE" folder and copy the file inside into your "{GamePath}/Data/Scripts" folder.


ps: Couldn't find another Sexlab Parasite than the "SexLab Parasites - Kyne's Blessing SE (February 2023) 2023-02-26" and that version already support SLIF so no patch needed for that one.

some updated patch.7z

Link to comment
  • 3 weeks later...
  • 1 month later...

enb 2024_03_07 12_17_26_99.bmpHello,

 

I have one issue that has been plaguing me for a long time. The issue is whenever there is an inflation event either from Fill Her Up or Beeing Female or even If I change slides in racemenu. The Body gets distorted. Its like the whole body gets inflated. The only way I have been able to fix is by changing clothes (equip/ unequip).

I tried installing SexLab Inflation Framework hoping it would fix the issue. But still the issue remains.

 

Any hlp ?

 

 

enb 2024_03_06 21_01_25_55.bmp

enb 2024_03_07 12_17_26_99.bmp

Edited by Sam077
Uploaded 2nd Image - This happens just after game load, without any inflation..
Link to comment
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use