Menstrual Cycle WIP Mod #1
Hope you are all doing well. I'm just hear to drop a monthly report on the WIP Menstrual Cycle mod. No name has been decided just yet. So I will just refer to it as MonocoDoll's Menstrual Cycle Mod for now. As of this moment, the features that have been worked on include...
The Menstrual Cycle comes with 4 segments. PMS, Period, Fertile Window, and Luteal Phase.
During PMS, your sims may experience Hormonal Effects. These Hormonal Effects so far can range from Headaches, Nauseous, Dizziness, Aroused, Irritated, Moody, Big Appetite, Oversensitive, Cramping, and Restlessness.
Don't worry, your sim won't always have a hormonal effect while under their PMS Segment. Sometimes they may have a Relief Period.
During the Period Segment, your sim will not only go through Hormonal Effects, but will now begin to bleed.
The bleeding comes in blood flow strengths. Which are Light Flow, Moderate Flow, and Heavy Flow.
On their first day entering the Period Segment, they will obtain a Blood Flow Strength. More likely to get the heavy flow in their earlier days of the Period Segment and vice versa.
Once a Flow Strength is obtained, every hour the blood will stain your sim. Not having any protection will net your sim the Dripping Blood Moodlet.
However, to combat this you may utilize Pads/Tampons. They have a durability which can typically last you a bit before needing to replace them. Heavy Blood flow drains this durability much faster than Moderate and Light Blood flows.
Once their durability runs out, your sim will obtain a Wearing Worn out Pad or Wearing Worn Out Tampon.
If they don't replace them in time and still have them on. They will obtain the leaking moodlet instead of the dripping moodlet.
The Worn Out Pads/Tampons can be removed via the toilet. And new ones can also be worn via the toilet.
During the Fertile Window, your sim will be the most fertile. The further they are in into this segment, the more fertile they will be overall. The peak fertility would be on their ovulating day which is the final day of their Fertile Window Segment.
33% Into this segment, they will be in (Window 1) with fertility being 0%-10% by default.
66% Into this segment, they will be in (Window 2) with fertility being 20%-31% by default.
99% Into this segment, they will be in (Window 3) with fertility being 31%-33% by default.
100% Into this segment, they will be in (Ovulation) with fertility being 31%-33% by default.
During the Luteal Phase, your sims fertility will drop and pregnancy won't be likely. Additionally, this stage you do not have to deal with any Hormonal Effects or Bleeding
The Fertility system was designed to attempt to work alongside third party mods and the vanilla game. The way it works is once a sim gets pregnant via the vanilla game or a third party mod. The fertility system will take into account both fertility rates of the sim with the menstrual cycle and the sim without one. First the system will determine whether either of them has a fertility rate of 0. If one of them does, then the pregnancy will be terminated. Otherwise both fertility rates will be combined and then divided by two. Then the game will see if it reaches the fertility threshold. Which by default is 70, but can be adjusted. If it meets the fertility threshold. The pregnancy is kept. Otherwise the pregnancy will be terminated.
The Math...
For female Sims with Menstrual Cycles. Fertility is mainly based on their Cycle. They will be most fertile during the Fertile Window Segment. Their highest fertility being the final day of the Fertile Window. Which is ovulation. There are multipliers that can be added on top of this fertility. Which include the Fertility Treatment reward trait (50% multiplier boost) and being a young adult(20% multiplier boost).
For male sims, Fertility is mainly based on their age. Males will be the most fertile in the Young Adult stage. There are multipliers that can be added on top of this fertility. Which include the Fertility Treatment (50% multiplier boost) and meeting the Fitness Threshold (20% boost).
Example... We have a female sim named Saryn who is a young adult and is on her last day of the Fertility Window Segment. We also have a Male sim named Mateo who is a young adult and meets the fitness threshold.
Since she is ovulating, her highest fertility rate can be between 31%-33% by default. We'll say she rolled 33%.
Since she is a Young Adult she gets a 20% boost to her fertility rate.
Saryn's Final Fertility rate is 39.6%
Since he is a young adult. His highest fertility rate can be between 80%-100% by default. We'll say he rolled 85%.
Since he meets the fitness threshold he gets a 20% boost to his fertility rate.
Mateo's Final Fertility rate is 102%
Fertility System Calculation:
The system will now calculate whether the pregnancy should remain.
The system will determine whether either party has a fertility rate of 0%. If either one of them does. The pregnancy is terminated.
The system will then add both their fertility rates and divide by two and ensure it meets the threshold. Which by default is 70.
If the outcome meets or exceeds the fertility threshold, then the pregnancy is kept. In this case Mateo has knocked up Saryn. Otherwise if the outcome is below the fertility threshold, then the pregnancy is terminated.
Pads/Tampons: Used to protect from leaks and dripping blood while a sim is having their period
Pregnancy Test: Used to determine whether a sim is pregnant or not
Plan B Box: Used to prevent a pregnancy. By default it only works 12 hours after woohoo.
Birth Control: Used to lower fertility rate. Has a chance of failing. Only effective after taking it for three days. Need to continue to take each day to keep it effective. Will also prevent hormonal effects and bleeding.
Condom: Used by male sims to prevent pregnancies. Chance of breaking. If successful condom, the fertility rate will be set to 0 for male.
App on the phone. Will give you info about your sims current segment and how far along they are within that segment.
Vasectomy: For male sims to lower their fertility to prevent pregnancies. This procedure is reversible
Hysterectomy: For female sims to lower fertility to prevent pregnancies. Also completely removes Menstrual Cycle and is not reversible.
Tubal Ligation: For female sims to lower fertility to prevent pregnancies. This procedure is reversible.
Abortion: For female sims who are pregnant. By default only works if pregnancy is equal or lower than 66% completed. If it is higher, than abortion is not an option.
Ask For Spare Pad or Tampon: Any sim with a menstrual cycle can ask another sim with a menstrual cycle for a spare pad or tampon if they do not have one. It will be under (Girl Code...). Has a cooldown after use.
Ask if on birth control: Can be used on friends or romantic interests. Sim will tell you if they are on the pill. If they are too early on the pill, or if they are not on the pill at all. Sims can lie about being on birth control. This is tunable.
Ask If It Is A Safe Day: Can be used on friends or romantic interests. Sim will tell you whether it is a safe day or not. If they are currently in their fertile window, then they will notifiy you that it is not a safe day. If they aren't in the Fertile Window segment, then they will notify you that it is a safe day. As Fertility is very low at other segments. However, sims can lie about it being a safe day. This is tunable.
Ask About Bleeding: Child sims can ask family members about bleeding when they experience their first period. Depending on relationship or traits, the reaction can be different.
Apply Protection: Used to apply pads/tampons
Remove Protection: Used to remove pads, tampons, worn out pads, and worn out tampons
Use Pregnancy Test: Used to use the pregnancy test to determine whether you are pregnant or not
Fertility awareness Test: sims with menstrual cycles can use this interaction to determine their fertility
Set Whether Sim Can Get Menstrual Cycle: Setting used to choose which sims get menstrual cycles or not.
Set Cycle To Fertile Window
Set Cycle To Luteal Phase
Set Day of Segment: Setting used to adjust the day of the sims current segment.
Remove Menopause: Setting to manually remove Menopause for selected sims.
Something exciting, ingame tunables. You will no longer have to exit the game to make an edit to the tunables.
Currently these are all the tunables.
//Choose lengths of segments Per Day
kLengthOfFertileWindowSegment
kLengthLutealPhaseSegment
//Days that the child can go through in their lifespan without the percentage chance of experiencing their first period early.
kDaysThatCanPassForChildrenBeforeTheyHaveAChanceToExperienceTheirFirstPeriod
//Percentage chance that sim can experience period early
kChanceForChildrenToExperienceFirstPeriodEarly
//Days that can pass for children before they 100% experience their first period.
kDaysThatCanPassForChildrenBeforeTheyExperienceTheirFirstPeriod
//Days that an adult can go through in their lifepsan without the percentage chance of experienceing their menopause early.
kDaysThatCanPassForAdultsBeforeTheyHaveAChanceToExperienceMenopause
//Days that can pass for adults before they 100% experience menopaus
kDaysThatCanPassForAdultsBeforeTheyExperienceMenoPause
//During a sims PMS or Period they get Hormonal Moodlets. Each one that is applied increases the percentage chance that the sim will receive a relief period. Where they can relax from the hormonal effects. By default each hormonal moodlet added overtime increases the chance by 5%. Once the relief period moodlet is applied. The percentage chance is reset.
kPercentageBoostProvidedByTicksForReliefPeriods
//Durability for pads/tampons
//Damage to durability. They attack durability every hour.
kLightFlowHitToDurability
kModerateFlowHitToDurability
kHeavyFlowHitToDurability
//Fertility Rate Per Windows/Ovulation
kMinFertilityRateDuringWindow1
kMaxFertilityRateDuringWindow1
kMinFertilityRateDuringWindow2
kMaxFertilityRateDuringWindow2
kMinFertilityRateDuringWindow3
kMaxFertilityRateDuringWindow3
kMinFertilityRateDuringOvulation
kMaxFertilityRateDuringOvulation
//Fertility Rate For Each Segment
kMinFertilityRateDuringPMS
kMaxFertilityRateDuringPMS
kMinFertilityRateDuringPeriod
kMaxFertilityRateDuringPeriod
kMinFertilityRateDuringLutealPhase
kMaxFertilityRateDuringLutealPhase
kNumberOfTamponsInPackage
kNumberOfPregnancyTestInBox
kNumOfBirthControlPillsInBox
//Costs for hospital procedures
kPriceOfVasectomyReversal
kPriceOfTubalLigationReversal
//Duration for procedures
kDurationForVasectomyReversal
kDurationForTubalLigation
kDurationForTubalLigationReversal
//How Many Hours Can Pass During A Pregnancy before Plan B Is no Longer effective
kPlanBHoursBeforeNoLongerEffective
kFitnessSliderPercentageToProvideFertilityBoost
kFitnessBoostToFertilityForMales
kMinTeenAgeFertilityRateForMales
kMaxTeenAgeFertilityRateForMales
kMinYoungAgeFertilityRatesForMales
kMaxYoungAgeFertilityRatesForMales
kMinAdultAgeFertilityRatesForMales
kMaxAdultAgeFertilityRatesForMales
kMinElderAgeFertilityRatesForMales
kMaxElderAgeFertilityRatesForMales
//Fertility Threshold. Value that Fertility Rate For Both Male and Female combined must reach to not have pregnancy terminated.
//Will disable fertility system. So basically the system to decide to terminate a pregnancy or not will be abolished. You can get pregnant and this system will not run.
//Fertility System disabled within non actives. This is in place to prevent conflicts with Nrass story progression. As it may make inactives get pregnant. But then my system may terminate the pregnancy. The system will only run if at least one participant is part of the active household.
kFertilitySystemEnabledForInactives
//Decide whether the menstrual cycle is added by default. This is in place incase the system is to heavy on the game. That way the user may assign menstrual cycles to a selected few.
kMenstrualCycleAddedByDefault
//Enable or Disable menopause for adults
kChanceOfBirthControlFailing
//Relationship hit when caught poking holes on condoms
kRelationshipDropWhenCaughtPokingHolesOnCondom
//System to enable or disable sims with menstrual cycles lying about being on birth control
kEnableSimsLyingAboutBeingOnBirthControl
//Enable or disable whether children get menstrual cycles automatically.
kEnableChildrenToReceiveMenstrualCycles
So far we are almost done with everything in regards to the Menstrual Cycle mod. At the moment, it is in Beta testing just to ensure we catch and fix as many potential bugs as possible before release. A guide will also be included upon release. Just to explain each system. Hoping to release it sometime this month. No promises though. 🤭