Jump to content

Recommended Posts

Sorry, I mean I'm already naked (like a p2 body) and then when sex starts it unequips the body. I think it might not be getting added to the safe lists anymore?

Ah ok, I'll check that. Didn't notice anything obviously wrong in the code, I'll do some testing before releasing a beta update tommorrow, nothing scary, I've just added some more outfits to the bodyswapping and tweaked the multiple Bellysizes larger a notch.

Link to comment

I have the same problem Deadbreadstick describes with companions redressing during sex in this thread with both Cass and Veronica, where after sex started (with me or with a random npc) they would become nude but then after the sex animation started their clothes returned so then for the rest of the animation, they were fully clothed. I thought at first it might have been a bug with the allowed clothing during sex feature so I changed the option to "always undress" and it still occured.

 

I tried disabling a few of the sexout mods and still had it (I hadn't used companions until recently with the sexout mods so I couldn't tell when it started.) So I started experimenting to narrow the problem down.

 

I disabled everything except SexoutNG, Common Resources, and SexoutCompanions. Cass stayed nude while we had sex. So I figured it had to be something in one of the mods so I started adding them back one at a time and testing to see if she remained nude. 

First one I added back was Pregnancy: Cass redressed a second after the sex started. I could retest with Companions disabled and another method to initiate sex with Cass... sexkey maybe, if such an added test is necessary.

 

Though as an added test I reenabled everything EXCEPT for pregnancy and tested it. Cass remained nude while we had sex.

The versions and load order below were used, all installed with FOMM:

SexoutNG core and data: 2.6.77

Common Resources 20130328.1 and CR data 20130315.1

Sexout Pregnancy 20130325.1 and SP data 20130315.1

SexoutCompanions: The esp reuploaded by Zippy57 on 23 Mar 2013

 

Everything else had been disabled for testing purposes. (As was pregnancy in Test #1)

 

If there's anything else I should try, let me know and I shall.

Link to comment

I have the same problem Deadbreadstick describes with companions redressing during sex in this thread with both Cass and Veronica, where after sex started (with me or with a random npc) they would become nude but then after the sex animation started their clothes returned so then for the rest of the animation, they were fully clothed. I thought at first it might have been a bug with the allowed clothing during sex feature so I changed the option to "always undress" and it still occured.

 

I tried disabling a few of the sexout mods and still had it (I hadn't used companions until recently with the sexout mods so I couldn't tell when it started.) So I started experimenting to narrow the problem down.

 

I disabled everything except SexoutNG, Common Resources, and SexoutCompanions. Cass stayed nude while we had sex. So I figured it had to be something in one of the mods so I started adding them back one at a time and testing to see if she remained nude. 

First one I added back was Pregnancy: Cass redressed a second after the sex started. I could retest with Companions disabled and another method to initiate sex with Cass... sexkey maybe, if such an added test is necessary.

 

Though as an added test I reenabled everything EXCEPT for pregnancy and tested it. Cass remained nude while we had sex.

The versions and load order below were used, all installed with FOMM:

SexoutNG core and data: 2.6.77

Common Resources 20130328.1 and CR data 20130315.1

Sexout Pregnancy 20130325.1 and SP data 20130315.1

SexoutCompanions: The esp reuploaded by Zippy57 on 23 Mar 2013

 

Everything else had been disabled for testing purposes. (As was pregnancy in Test #1)

 

If there's anything else I should try, let me know and I shall.

Can you try giving them Sexout Store outfits of some sort instead of their vanilla outfits, this is weird as it only seems to affect a few people or in certain situations, I thought I had fixed it for some people a while back.

Link to comment

Ok, I bought a Brief Wilder outfit and a Raider Painspike outfit from the Sexout store and tried both with Cass and Veronica, same problem. So it's not tied to default outfits. Oh, and I should mention that I'm only seeing one Undress token in their inventories if check them with the inv command in console so it's not multiple copies of the undress token either.

Link to comment

Perhaps it's the "put on the item with the highest DT" script that companions have that is interfering with it? I haven't tested yet to see if Boone and Arcade are affected. I'll get to that in the next day or two, I had to start a new game because it got unstable, so I removed a number of vanilla mods that I wasn't confident in or just plain didn't care for. Doesn't take long to get to Novac so I should be able to try banging Boone at least to see if he's shy and only unzips his fly.

Link to comment

Perhaps it's the "put on the item with the highest DT" script that companions have that is interfering with it? I haven't tested yet to see if Boone and Arcade are affected. I'll get to that in the next day or two, I had to start a new game because it got unstable, so I removed a number of vanilla mods that I wasn't confident in or just plain didn't care for. Doesn't take long to get to Novac so I should be able to try banging Boone at least to see if he's shy and only unzips his fly.

 

Yeah, it's something to do with that NPC's would equip their best armor if they thought they had no protection and had any outfit in their inventory, so I had to give Pregnant bodies a .01 AR/DT to get them to stay on when naked, I don't think I've changed that that I know of. From what I've gathered they don't mind wearing the lesser value armor as long as it has some armor value.

If as user29 noticed earlier the Pregnancy nude bodies were not going into the SexoutNG "DoNotRemove for Sex" list then they probably would add their vanilla armor during sex. I tried to fix that in the latest beta 20130406.1, as it appeared I was only running the Add To Formlists script once and using the temporary add to formlist command.

in the latest beta 20130406.1 they should add the nude bodies to that formlist on every game restart/reload now using the permanent command, with SCR debugging on there should be a scroll of all the nude bodies being added in debug, I haven't tried it yet to confirm that. I've left the Collars & Shackles etc, added every restart/reload too but using the Temporary command to see if that works ok.

Link to comment

I downloaded the mod yester day and I've ran into a small problem, the pregnat body won't load, my character is just a head and arms. How do I fix this?

 

Make sure you have all the maternity clothes properly installed, toggle archive invalidation off and then back on and see if it works. If not, try another outfit or take off all clothes to see if the nude body shows up. Also make sure you have the latest stable version of SexoutCommonResources.

Link to comment

What factors affect miscarriage? None of my character's pregnancies have even progressed to the P1 body stage since this update. I keep getting the "something is wrong with your offspring" "Your unborn offspring is dead" or whatever the miscarriage messages are. I didn't change the default settings for Miscarriage and Mutation so they're both at 10. But I was normally at anywhere from 40-100 rads also so I don't know if that dramatically increases the miscarriage risk or what. Or if it's something else entirely.

Link to comment

What factors affect miscarriage? None of my character's pregnancies have even progressed to the P1 body stage since this update. I keep getting the "something is wrong with your offspring" "Your unborn offspring is dead" or whatever the miscarriage messages are. I didn't change the default settings for Miscarriage and Mutation so they're both at 10. But I was normally at anywhere from 40-100 rads also so I don't know if that dramatically increases the miscarriage risk or what. Or if it's something else entirely.

 

Miscarriage chances are related to Radiation, Current Health, Medical skill, and to a smaller degree Drug use, running, jumping, poisons, knocked down, being set on fire, alcohol, it may still need some tweaking, I'll post the formula here later when I have Pregnancy open next.

Link to comment

Ok, it just seemed odd I had like 5 miscarriages in a row so I figured it was prudent to ask. I know one of those miscarriages happened while I was just running around the NCRCF getting banged by dozens of Powder Gangers so it made me wonder if all that sex made her miscarry or what.

Link to comment

Ok, it just seemed odd I had like 5 miscarriages in a row so I figured it was prudent to ask. I know one of those miscarriages happened while I was just running around the NCRCF getting banged by dozens of Powder Gangers so it made me wonder if all that sex made her miscarry or what.

 I didn't make having sex a factor oddly enough, it hadn't occured to me, but maybe it should add a percent or 2 to the chances :)

 

The slider is a percentage modifier of the percent, I think from memory at 10%, 500 Rads or 50% hitpoints give you a .5% chance of miscarriage every 10 game minutes

Link to comment

This is the script that calculates miscarriage & Mutation chances if anyone is interested :)

 

 

scn SexoutP3S0ObjMutationMiscarry

ref rZActor
ref rZPlayer
ref rZCass
ref rZVeronica
ref rZSunny
ref rZWendy
ref rZMelissa
ref rZLily
ref rZJentai
ref rZKirina
int iKirinaInstalled
ref rZWillow
int iWillowInstalled

ref rZBoone
ref rZRaul
ref rZArcade
ref rZRex

float fCurrHour
float fLastUpdateHour
float fHoursPassed
float fCurrDay
float fLastUpdateDay
int iDaysPassed
float fHourStep
float fDistanceToPlayer
int iCount
int iDoOnceC
int iDoOnceD
int iRemoving
int iOkToRun
int iDeadTimer
int iDebug
int iRandom

float fDrugLustX
float fDrugFertEz
float fDrugBunX
float fDrugLevelFert
float fDrugBunAway
float fDrugSleepEz
float fDrugNoDoze
float fDrugLevelDozey
float fDrugDope
float fDrugAlcohol

float fMiscarryChance
float fMutationChance

float fFertCycleDays
float fFertPercFertile
int iPercentInfertile
float fFertPeakPerc
float fFertCycleHours
float fFertCyclePerc
float fFertLevelPerc
float fAdjFertCycleDays
float fAdjFertPercFertile
float fAdjFertPeakPerc
float fFertExtra
float fFertDrugFactor
int iSemenTotal
int iSetNumOva
int iCurrNumOva
float fPregStagePerc
float fPregSize
float fPregStartSize
float fPregStartDay
int iPregMaxSize
float fPregChance
int iPregCount
int iNumTimesPreg
float fPregLengthDays
float fPregHours
float fPreglengthHours
float fPregSpeed
float fNumPregAdj

float fBreastMilkLevel
int iBreastMilkMax
float fBreastSizeAdj
int iCurrBellySize
int iCurrBreastSize
float fCurrBellySize
float fCurrBreastSize
float fNewBellySize
float fNewBreastSize
int iPrevBellySize
int iPrevBreastSize
ref rCurrUpperBody
ref rPrevUpperBody
int iTightness
int iDebug

int iScriptOn
int iSemenSporeCarrier
float fSporeMutationChance

int iPregCountChildAfAmM
int iPregCountChildAfAMF
int iPregCountChildCaucM
int iPregCountChildCaucF
int iPregCountChildAsianM
int iPregCountChildAsianF
int iPregCountChildHispM
int iPregCountChildHispF
int iPregCountChildFoxStarM
int iPregCountChildFoxStarF
int iPregCountChildGhoulM
int iPregCountChildGhoulF
int iPregCountChildFeralGhoulM
int iPregCountChildFeralGhoulF
int iPregCountChildSuperMutantM
int iPregCountChildSuperMutantF
int iPregCountChildAlien
int iPregCountChildSporeCarrier
int iPregCountPupCentaur
int iPregCountPupDog
int iPregCountPupRat
int iPregCountPupMoleRat
int iPregCountPupCoyote
int iPregCountPupBigHorner
int iPregCountPupBrahmin
int iPregCountPupNightStalker
int iPregCountLarveBloatFly
int iPregCountLarveCazador
int iPregCountLarveSymbiote
int iPregCountEggDeathClaw
int iPregCountEggDeathClawDark
int iPregCountEggDeathClawBlack
int iPregCountEggSporePod
int iPregCountEggLakeLurk
int iPregCountEggMireLurk
int iPregCountEggAnt
int iPregCountEggAntWorker
int iPregCountEggAntSoldier
int iPregCountEggAntQueen
int iPregCountEggRadRoach
int iPregCountEggGecko
int iPregCountEggScorpion
int iPregCountEggMantis
int iPregCountEggEyeBotMini
int iPregCountEggEyeBotSmall
int iPregCountHumanoid
int iPregCountHuman

Begin GameMode

Set rZActor to GetContainer
Set fCurrHour to GetCurrentTime
Set fCurrDay to GameDaysPassed
Set rZPlayer to SexoutSQVAR.rZPlayerREF
Set rZCass to SexoutSQVAR.rZCassREF
Set rZVeronica to SexoutSQVAR.rZVeronicaREF
Set rZLily to SexoutSQVAR.rZLilyREF
Set rZSunny to SexoutSQVAR.rZSunnyREF
Set rZWillow to SexoutSQVAR.rZWillowREF
Set rZKirina to SexoutSQVAR.rZKirinaREF
Set rZJentai to SexoutSQVAR.rZJentaiREF
Set iScriptOn to 0
if SexoutP0QVAR.iMiscarryAdj || SexoutP0QVAR.iMutationAdj
Set iScriptOn to 1
endif

Set iCount to iCount + 1
if rZActor && iCount > 299 && SexoutP0QVAR.iPregMainRunning > 9 && iRemoving < 1
Set iCount to 0

Set fDistanceToPlayer to rZActor.GetDistance PlayerREF
if rZActor == PlayerREF
Set fDistanceToPlayer to 1
endif
Set iDebug to 0
if fDistanceToPlayer > 0 && fDistanceToPlayer < 900
if SexoutP0QVAR.iDebug == 3
Set iDebug to 3
elseif SexoutP0QVAR.iDebug == 6 && rZActor == PlayerREF
Set iDebug to 3
elseif SexoutP0QVAR.iDebug == 7
Set iDebug to 3
endif
endif

; *** Check OK to run
Set iOkToRun to SexoutP0QVAR.iFertEnableFemale
if rZActor.GetDead || rZActor.GetIsSex Female == 0 || iScriptOn < 1
Set iOkToRun to 0
Set iDeadTimer to iDeadTimer + 1
if iDeadTimer > 9
Set iOkToRun to -1
endif
else
Set iDeadTimer to 0
if rZActor.GetItemCount 00SexoutActor > 0
Set iOkToRun to 0
endif
endif

if iOkToRun > 0

; *** Get Info From SCR & Setup Fertility Parameters for Actor
if rZActor == rZPlayer
Set iSemenTotal to SexoutSQVARZPlayer.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZPlayer.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZPlayer.fDrugLustX
Set fDrugFertEz to SexoutSQVARZPlayer.fDrugFertX
Set fDrugBunX to SexoutSQVARZPlayer.fDrugBunX
Set fDrugBunAway to SexoutSQVARZPlayer.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZPlayer.fDrugLevelFert
elseif rZActor == rZCass
Set iSemenTotal to SexoutSQVARZCass.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZCass.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZCass.fDrugLustX
Set fDrugFertEz to SexoutSQVARZCass.fDrugFertX
Set fDrugBunX to SexoutSQVARZCass.fDrugBunX
Set fDrugBunAway to SexoutSQVARZCass.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZCass.fDrugLevelFert
elseif rZActor == rZVeronica
Set iSemenTotal to SexoutSQVARZVeronica.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZVeronica.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZVeronica.fDrugLustX
Set fDrugFertEz to SexoutSQVARZVeronica.fDrugFertX
Set fDrugBunX to SexoutSQVARZVeronica.fDrugBunX
Set fDrugBunAway to SexoutSQVARZVeronica.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZVeronica.fDrugLevelFert
elseif rZActor == rZLily
Set iSemenTotal to SexoutSQVARZLily.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZLily.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZLily.fDrugLustX
Set fDrugFertEz to SexoutSQVARZLily.fDrugFertX
Set fDrugBunX to SexoutSQVARZLily.fDrugBunX
Set fDrugBunAway to SexoutSQVARZLily.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZLily.fDrugLevelFert
elseif rZActor == rZSunny
Set iSemenTotal to SexoutSQVARZSunny.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZSunny.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZSunny.fDrugLustX
Set fDrugFertEz to SexoutSQVARZSunny.fDrugFertX
Set fDrugBunX to SexoutSQVARZSunny.fDrugBunX
Set fDrugBunAway to SexoutSQVARZSunny.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZSunny.fDrugLevelFert
elseif rZActor == rZMelissa
Set iSemenTotal to SexoutSQVARZMelissa.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZMelissa.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZMelissa.fDrugLustX
Set fDrugFertEz to SexoutSQVARZMelissa.fDrugFertX
Set fDrugBunX to SexoutSQVARZMelissa.fDrugBunX
Set fDrugBunAway to SexoutSQVARZMelissa.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZMelissa.fDrugLevelFert
elseif rZActor == rZWillow
Set iSemenTotal to SexoutSQVARZWillow.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZWillow.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZWillow.fDrugLustX
Set fDrugFertEz to SexoutSQVARZWillow.fDrugFertX
Set fDrugBunX to SexoutSQVARZWillow.fDrugBunX
Set fDrugBunAway to SexoutSQVARZWillow.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZWillow.fDrugLevelFert
elseif rZActor == rZKirina
Set iSemenTotal to SexoutSQVARZKirina.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZKirina.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZKirina.fDrugLustX
Set fDrugFertEz to SexoutSQVARZKirina.fDrugFertX
Set fDrugBunX to SexoutSQVARZKirina.fDrugBunX
Set fDrugBunAway to SexoutSQVARZKirina.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZKirina.fDrugLevelFert
elseif rZActor == rZJentai
Set iSemenTotal to SexoutSQVARZJentai.iSemenTotal
Set fBreastMilkLevel to SexoutSQVARZJentai.fBreastMilkLevel
Set fDrugLustX to SexoutSQVARZJentai.fDrugLustX
Set fDrugFertEz to SexoutSQVARZJentai.fDrugFertX
Set fDrugBunX to SexoutSQVARZJentai.fDrugBunX
Set fDrugBunAway to SexoutSQVARZJentai.fDrugBunAway
Set fDrugLevelFert to SexoutSQVARZJentai.fDrugLevelFert
endif

; *** Alter Script run Hours to catch up after Fast Travel / Wait / Sleep
if fLastUpdateHour <= 0 || fLastUpdateHour > 24
Set fLastUpdateHour to fCurrHour
Set fLastUpdateDay to fCurrDay
DebugPrint "Preg3Miscarry/Mutation %n: Initialise LastD %2.3f, LastH %2.3f" rZActor fLastUpdateDay fLastUpdateHour
endif
Set iDaysPassed to fCurrDay - fLastUpdateDay
if iDaysPassed > 0
DebugPrint "Preg3Miscarry/Mutation %n: iDaysPassed %4.5f, fHoursPassed %4.5f" rZActor iDaysPassed fHoursPassed
endif
if fCurrHour > fLastUpdateHour
Set fHoursPassed to fCurrHour - fLastUpdateHour
elseif fCurrHour < fLastUpdateHour
Set fHoursPassed to (fCurrHour + 23.999999) - fLastUpdateHour
DebugPrint "Preg3Miscarry/Mutation %n: Midnight Passed, Days%2.0f, Curr%2.5f, Last %2.4f" rZActor iDaysPassed fCurrHour fLastUpdateHour
endif
Set fHoursPassed to fHoursPassed + (iDaysPassed * 24)
Label 1
Set fHourStep to .1
If fHoursPassed > fHourStep
If fHoursPassed > .5
Set fHourStep to fHoursPassed / 5
endif
if fHourStep > 5
Set fHourStep to 5
endif
if fHourStep < .05
Set fHourStep to .05
endif

; *** Count Pregnancy's
Set iPregCountChildAfAmM to rZActor.GetItemCount SexoutP3GestatingChildAfAmM
Set iPregCountChildAfAmF to rZActor.GetItemCount SexoutP3GestatingChildAfAmF
Set iPregCountChildCaucM to rZActor.GetItemCount SexoutP3GestatingChildCaucM
Set iPregCountChildCaucF to rZActor.GetItemCount SexoutP3GestatingChildCaucF
Set iPregCountChildAsianM to rZActor.GetItemCount SexoutP3GestatingChildAsianM
Set iPregCountChildAsianF to rZActor.GetItemCount SexoutP3GestatingChildAsianF
Set iPregCountChildHispM to rZActor.GetItemCount SexoutP3GestatingChildHispM
Set iPregCountChildHispF to rZActor.GetItemCount SexoutP3GestatingChildHispF
Set iPregCountChildFoxStarM to rZActor.GetItemCount SexoutP3GestatingChildFoxStarM
Set iPregCountChildFoxStarF to rZActor.GetItemCount SexoutP3GestatingChildFoxStarF
Set iPregCountChildGhoulM to rZActor.GetItemCount SexoutP3GestatingChildGhoulM
Set iPregCountChildGhoulF to rZActor.GetItemCount SexoutP3GestatingChildGhoulF
Set iPregCountChildFeralGhoulM to rZActor.GetItemCount SexoutP3GestatingChildFeralGhoulM
Set iPregCountChildFeralGhoulF to rZActor.GetItemCount SexoutP3GestatingChildFeralGhoulF
Set iPregCountChildSuperMutantM to rZActor.GetItemCount SexoutP3GestatingChildSuperMutantM
Set iPregCountChildSuperMutantF to rZActor.GetItemCount SexoutP3GestatingChildSuperMutantF
Set iPregCountChildAlien to rZActor.GetItemCount SexoutP3GestatingChildAlien
Set iPregCountChildSporeCarrier to rZActor.GetItemCount SexoutP3GestatingChildSporeCarrier
Set iPregCountPupCentaur to rZActor.GetItemCount SexoutP3GestatingPupCentaur
Set iPregCountPupDog to rZActor.GetItemCount SexoutP3GestatingPupDog
Set iPregCountPupRat to rZActor.GetItemCount SexoutP3GestatingPupRat
Set iPregCountPupMoleRat to rZActor.GetItemCount SexoutP3GestatingPupMoleRat
Set iPregCountPupCoyote to rZActor.GetItemCount SexoutP3GestatingPupCoyote
Set iPregCountPupBigHorner to rZActor.GetItemCount SexoutP3GestatingPupBigHorner
Set iPregCountPupNightStalker to rZActor.GetItemCount SexoutP3GestatingPupNightStalker
Set iPregCountPupBrahmin to rZActor.GetItemCount SexoutP3GestatingPupBrahmin
Set iPregCountLarveBloatFly to rZActor.GetItemCount SexoutP3GestatingLarveBloatFly
Set iPregCountLarveCazador to rZActor.GetItemCount SexoutP3GestatingLarveCazador
Set iPregCountLarveSymbiote to rZActor.GetItemCount SexoutP3GestatingLarveSymbiote
Set iPregCountEggDeathClaw to rZActor.GetItemCount SexoutP3GestatingEggDeathClaw
Set iPregCountEggDeathClawDark to rZActor.GetItemCount SexoutP3GestatingEggDeathClawDark
Set iPregCountEggDeathClawBlack to rZActor.GetItemCount SexoutP3GestatingEggDeathClawBlack
Set iPregCountEggSporePod to rZActor.GetItemCount SexoutP3GestatingEggSporePod
Set iPregCountEggLakeLurk to rZActor.GetItemCount SexoutP3GestatingEggLakeLurk
Set iPregCountEggMireLurk to rZActor.GetItemCount SexoutP3GestatingEggMireLurk
Set iPregCountEggAnt to rZActor.GetItemCount SexoutP3GestatingEggAnt
Set iPregCountEggAntWorker to rZActor.GetItemCount SexoutP3GestatingEggAntWorker
Set iPregCountEggAntSoldier to rZActor.GetItemCount SexoutP3GestatingEggAntSoldier
Set iPregCountEggAntQueen to rZActor.GetItemCount SexoutP3GestatingEggAntQueen
Set iPregCountEggRadRoach to rZActor.GetItemCount SexoutP3GestatingEggRadRoach
Set iPregCountEggGecko to rZActor.GetItemCount SexoutP3GestatingEggGecko
Set iPregCountEggScorpion to rZActor.GetItemCount SexoutP3GestatingEggScorpion
Set iPregCountEggMantis to rZActor.GetItemCount SexoutP3GestatingEggMantis
Set iPregCountEggEyebotMini to rZActor.GetItemCount SexoutP3GestatingEggEyeBotMini
Set iPregCountEggEyebotSmall to rZActor.GetItemCount SexoutP3GestatingEggEyeBotSmall

Set iPregCount to iPregCountChildAfAmM + iPregCountChildAfAmF
Set iPregCount to iPregCount + iPregCountChildCaucM
Set iPregCount to iPregCount + iPregCountChildCaucF
Set iPregCount to iPregCount + iPregCountChildAsianM
Set iPregCount to iPregCount + iPregCountChildAsianF
Set iPregCount to iPregCount + iPregCountChildHispM
Set iPregCount to iPregCount + iPregCountChildHispF
Set iPregCount to iPregCount + iPregCountChildFoxStarM
Set iPregCount to iPregCount + iPregCountChildFoxStarF
Set iPregCount to iPregCount + iPregCountChildGhoulM
Set iPregCount to iPregCount + iPregCountChildGhoulF
Set iPregCount to iPregCount + iPregCountChildFeralGhoulM
Set iPregCount to iPregCount + iPregCountChildFeralGhoulF
Set iPregCount to iPregCount + iPregCountChildSuperMutantM
Set iPregCount to iPregCount + iPregCountChildSuperMutantF
Set iPregCount to iPregCount + iPregCountChildAlien
Set iPregCount to iPregCount + iPregCountChildSporeCarrier
Set iPregCount to iPregCount + iPregCountPupCentaur
Set iPregCount to iPregCount + iPregCountPupDog
Set iPregCount to iPregCount + iPregCountPupRat
Set iPregCount to iPregCount + iPregCountPupMoleRat
Set iPregCount to iPregCount + iPregCountPupCoyote
Set iPregCount to iPregCount + iPregCountPupBigHorner
Set iPregCount to iPregCount + iPregCountPupNightStalker
Set iPregCount to iPregCount + iPregCountPupBrahmin
Set iPregCount to iPregCount + iPregCountLarveBloatFly
Set iPregCount to iPregCount + iPregCountLarveCazador
Set iPregCount to iPregCount + iPregCountEggDeathClaw
Set iPregCount to iPregCount + iPregCountEggDeathClawDark
Set iPregCount to iPregCount + iPregCountEggDeathClawBlack
Set iPregCount to iPregCount + iPregCountEggSporePod
Set iPregCount to iPregCount + iPregCountEggLakeLurk
Set iPregCount to iPregCount + iPregCountEggMireLurk
Set iPregCount to iPregCount + iPregCountEggAnt
Set iPregCount to iPregCount + iPregCountEggAntWorker
Set iPregCount to iPregCount + iPregCountEggAntSoldier
Set iPregCount to iPregCount + iPregCountEggAntQueen
Set iPregCount to iPregCount + iPregCountEggRadRoach
Set iPregCount to iPregCount + iPregCountEggGecko
Set iPregCount to iPregCount + iPregCountEggScorpion
Set iPregCount to iPregCount + iPregCountEggMantis
Set iPregCount to iPregCount + iPregCountEggEyeBotMini
Set iPregCount to iPregCount + iPregCountEggEyeBotSmall

Set iPregCountHuman to iPregCountChildAfAmM + iPregCountChildAfAmF
Set iPregCountHuman to iPregCountHuman + iPregCountChildCaucM + iPregCountChildCaucF
Set iPregCountHuman to iPregCountHuman + iPregCountChildAsianM + iPregCountChildAsianF
Set iPregCountHuman to iPregCountHuman + iPregCountChildHispM + iPregCountChildHispF
Set iPregCountHumanoid to iPregCountChildFoxStarM + iPregCountChildFoxStarF
Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildGhoulM + iPregCountChildGhoulF
Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildSuperMutantM + iPregCountChildSuperMutantF
Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildAlien + iPregCountChildFeralGhoulM
Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildAlien + iPregCountChildFeralGhoulF
Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildSporeCarrier

; *** Mutation Misscarry Chance Calculations
Set fMutationChance to 0
Set fMiscarryChance to 100 - (rZActor.GetHealthPercentage * 100) ; *** - (rZActor.GetItemCount SexoutP4TokenBirthCount)
Set fMiscarryChance to fMiscarryChance + (rZActor.GetActorValue RadiationRads / 100) - (rZActor.GetActorValue Medicine / 10)
Set fMiscarryChance to fMiscarryChance + (rZActor.GetActorValue Dehydration / 10) + (rZActor.GetActorValue Hunger / 10)
Set fMiscarryChance to fMiscarryChance + (rZActor.GetActorValue SleepDeprevation / 10) ; *** + (SexoutSQVAR.fTemperature / 100)

Set fMutationChance to (rZActor.GetActorValue RadiationRads / 10) - (rZActor.GetActorValue Science / 10)
if iDebug == 3
DebugPrint "Preg3Miscarry/Mutation %n: BaseMiscarry %3.2f, BaseMutation %3.2f" rZActor fMiscarryChance fMutationChance
endif

; *** Mutation & Miscarry more likely earlier in pregnancy
if rZActor.IsSpellTarget SexoutP3ETrimester0
Set fMiscarryChance to fMiscarryChance - 10
Set fMutationChance to fMutationChance + 10
elseif rZActor.IsSpellTarget SexoutP3ETrimester1
Set fMiscarryChance to fMiscarryChance 0
Set fMutationChance to fMutationChance + 5
elseif rZActor.IsSpellTarget SexoutP3ETrimester2
Set fMiscarryChance to fMiscarryChance - 5
Set fMutationChance to fMutationChance 0
elseif rZActor.IsSpellTarget SexoutP3ETrimester3
Set fMiscarryChance to fMiscarryChance - 10
Set fMutationChance to fMutationChance - 5
elseif rZActor.IsSpellTarget SexoutP3ETrimester4
Set fMiscarryChance to fMiscarryChance - 20
Set fMutationChance to fMutationChance - 10
elseif rZActor.IsSpellTarget SexoutP3ETrimester5
Set fMiscarryChance to fMiscarryChance - 30
Set fMutationChance to fMutationChance - 20
elseif rZActor.IsSpellTarget SexoutP3ETrimester6
Set fMiscarryChance to fMiscarryChance - 40
Set fMutationChance to fMutationChance - 30
elseif rZActor.IsSpellTarget SexoutP3ETrimester7
Set fMiscarryChance to fMiscarryChance - 50
Set fMutationChance to fMutationChance - 40
endif

if rZActor.GetSitting
Set fMiscarryChance to fMiscarryChance - 10
Set fMutationChance to fMutationChance - 10
endif
if rZActor.IsSpellTarget WellRestedSpell
Set fMiscarryChance to fMiscarryChance - 10
Set fMutationChance to fMutationChance - 10
endif
if rZActor.GetIsRace Ghoul
Set fMutationChance to fMutationChance + 10
Set fMiscarryChance to fMiscarryChance + 10
endif
if rZActor.IsSpellTarget SexoutP3ETightClothes
Set fMiscarryChance to fMiscarryChance + 10
endif
if rZActor.IsSpellTarget SexoutP3ETooTightClothes
Set fMiscarryChance to fMiscarryChance + 20
endif
if rZActor.IsSpellTarget SexoutP3EBannedClothes
Set fMiscarryChance to fMiscarryChance + 30
endif

if rZActor.IsRunning && rZActor.IsMoving
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.GetLastPlayerAction == 1 || rZActor.GetLastPlayerAction == 6 ; *** Melee or Jumping
Set fMiscarryChance to fMiscarryChance + 10
endif

if rZActor.IsInCombat
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.GetKnockedState > 0
Set fMiscarryChance to fMiscarryChance + 5
endif
; if rZActor.GetLastHitCritical == 1
; Set fMiscarryChance to fMiscarryChance + 10
; endif
if rZActor.IsSpellTarget FlamerBurnEffectSpell || rZActor.IsSpellTarget SpellFlamerEffect
Set fMiscarryChance to fMiscarryChance + 10
endif
if rZActor.IsSpellTarget GlowingOneAttack
Set fMutationChance to fMutationChance + 20
endif

if rZActor.IsSpellTarget SexoutSDiseaseAids1 || rZActor.IsSpellTarget SexoutSDiseaseAids2 || rZActor.IsSpellTarget SexoutSDiseaseAids3
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget SexoutSDiseaseGonorrhea1 || rZActor.IsSpellTarget SexoutSDiseaseGonorrhea2 || rZActor.IsSpellTarget SexoutSDiseaseGonorrhea3
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget SexoutSDiseaseHerpes1 || rZActor.IsSpellTarget SexoutSDiseaseHerpes2 || rZActor.IsSpellTarget SexoutSDiseaseHerpes3
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget SexoutSDiseaseSyphilis1 || rZActor.IsSpellTarget SexoutSDiseaseSyphilis2 || rZActor.IsSpellTarget SexoutSDiseaseSyphilis3
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget Whiskey || rZActor.IsSpellTarget Vodka || rZActor.IsSpellTarget Vodka || rZActor.IsSpellTarget Scotch || rZActor.IsSpellTarget Moonshine
Set fMiscarryChance to fMiscarryChance + 5
endif

if rZActor.IsSpellTarget RadScorpion1Poison || rZActor.IsSpellTarget RadScorpion2Poison || rZActor.IsSpellTarget NightstalkerPoison || rZActor.IsSpellTarget CazadorPoison || rZActor.IsSpellTarget DeathClawPoison
Set fMutationChance to fMutationChance + 10
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget WaterHeal4Bad || rZActor.IsSpellTarget WaterHeal5Terrible
Set fMutationChance to fMutationChance + 10
Set fMiscarryChance to fMiscarryChance + 10
endif
if rZActor.IsSpellTarget WaterUnpurified
Set fMiscarryChance to fMiscarryChance + 5
Set fMutationChance to fMutationChance + 5
endif
if rZActor.IsSpellTarget Stimpak || rZActor.IsSpellTarget NVTurbo || rZActor.IsSpellTarget Rocket
Set fMutationChance to fMutationChance + 10
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget Psycho || rZActor.IsSpellTarget Slasher || rZActor.IsSpellTarget Morphine
Set fMutationChance to fMutationChance + 10
Set fMiscarryChance to fMiscarryChance + 5
endif
if rZActor.IsSpellTarget WhiskeyDixon || rZActor.IsSpellTarget JetDixon
Set fMutationChance to fMutationChance + 10
Set fMiscarryChance to fMiscarryChance + 5
endif

Set fMutationChance to fMutationChance + (fDrugLustX / 50) + (fDrugFertEz / 100)
Set fMutationChance to fMutationChance + (fDrugBunX / 100) + (fDrugBunAway / 100)
Set fMutationChance to fMutationChance + (fDrugNoDoze / 50) + (fDrugSleepEz / 50)
Set fMutationChance to fMutationChance + (fDrugAlcohol / 100) + (fDrugDope / 50)

Set fMiscarryChance to fMiscarryChance + (fDrugLustX / 50) + (fDrugFertEz / 100)
Set fMiscarryChance to fMiscarryChance + (fDrugBunX / 50) + (fDrugBunAway / 5)
Set fMiscarryChance to fMiscarryChance + (fDrugNoDoze / 100) + (fDrugSleepEz / 100)
Set fMiscarryChance to fMiscarryChance + (fDrugAlcohol / 100) + (fDrugDope / 50)

Set iSemenSporeCarrier to rZActor.GetItemCount SexoutSP2VSemenSporeCarrier
Set fMutationChance to fMutationChance + iSemenSporeCarrier

; *** Adjust Chances by Difficulty Setting
Set fMiscarryChance to fMiscarryChance * (SexoutP0QVAR.iMiscarryAdj / 100)
Set fMutationChance to fMutationChance * (SexoutP0QVAR.iMutationAdj / 100)

; *** Mutation Check
if fMutationChance > GetRandomPercent && iPregCountHuman && SexoutP0QVAR.iNonHumanPregActivated > 0
if iPregCountHuman > 0
if iPregCountChildAfAmM
rZActor.RemoveItem SexoutP3GestatingChildAfAmM 1 1
elseif iPregCountChildAfAmF
rZActor.RemoveItem SexoutP3GestatingChildAfAmF 1 1
elseif iPregCountChildCaucM
rZActor.RemoveItem SexoutP3GestatingChildCaucM 1 1
elseif iPregCountChildCaucF
rZActor.RemoveItem SexoutP3GestatingChildCaucF 1 1
elseif iPregCountChildAsianM
rZActor.RemoveItem SexoutP3GestatingChildAsianM 1 1
elseif iPregCountChildAsianF
rZActor.RemoveItem SexoutP3GestatingChildAsianF 1 1
elseif iPregCountChildHispM
rZActor.RemoveItem SexoutP3GestatingChildHispM 1 1
elseif iPregCountChildHispF
rZActor.RemoveItem SexoutP3GestatingChildHispF 1 1
endif
if iSemenSporeCarrier && iPregCountChildSporeCarrier < 3
rZActor.AddItem SexoutP3GestatingChildSporeCarrier 1 1
else
Set iRandom to GetRandomPercent / 10
if iRandom == 1
rZActor.AddItem SexoutP3GestatingChildAlien 1 1
elseif iRandom == 2
rZActor.AddItem SexoutP3GestatingChildGhoulM 1 1
elseif iRandom == 3
rZActor.AddItem SexoutP3GestatingChildGhoulM 1 1
elseif iRandom == 4
rZActor.AddItem SexoutP3GestatingChildGhoulF 1 1
elseif iRandom == 5
rZActor.AddItem SexoutP3GestatingChildGhoulM 1 1
elseif iRandom == 6
rZActor.AddItem SexoutP3GestatingChildGhoulF 1 1
elseif iRandom == 7
rZActor.AddItem SexoutP3GestatingChildSuperMutantMN 1 1
elseif iRandom == 8
rZActor.AddItem SexoutP3GestatingChildSuperMutantFN 1 1
elseif iRandom == 9
rZActor.AddItem SexoutP3GestatingChildFeralGhoulM 1 1
else
rZActor.AddItem SexoutP3GestatingChildFeralGhoulF 1 1
endif
endif
elseif iPregCountHuman < 1 && iPregCountHumanoid > 0
endif
if rZActor == rZPlayer
MessageEx "You feel something is wrong with your Offspring."
else
MessageEx "%n feels a twinge in her tummy something is wrong!" rZActor
endif
if iDebug == 3
DebugPrint "Preg3Miscarry/Mutation %n: Mutation %3.2f" rZActor fMutationChance
endif
endif

; *** Miscarry Check
if fMiscarryChance > GetRandomPercent
if rZactor == rZPlayer
MessageEx "You feel a sharp agonising pain ravage through your lower body, your unborn is now dead."
else
MessageEx "%n Clutches her tummy in pain, her unborn OffSpring is dead" rZActor
endif
DebugPrint "Preg3Miscarry/Mutation %n: Miscarry %3.2f" rZActor fMiscarryChance
rZActor.AddItem SexoutP9TokenRemovePregnancy 1 1
endif
if iDebug == 3
DebugPrint "Preg3Miscarry/Mutation %n: Miscarry %3.2f, Mutation %3.2f" rZActor fMiscarryChance fMutationChance
endif

; *** Update SCR/Scanner variables for Player & Major NPC's
if rZActor == rZPlayer
Set SexoutSQVARZPlayer.fMutationChance to fMutationChance
Set SexoutSQVARZPlayer.fMiscarryChance to fMiscarryChance
elseif rZActor == rZCass
Set SexoutSQVARZCass.fMutationChance to fMutationChance
Set SexoutSQVARZCass.fMiscarryChance to fMiscarryChance
elseif rZActor == rZVeronica
Set SexoutSQVARZVeronica.fMutationChance to fMutationChance
Set SexoutSQVARZVeronica.fMiscarryChance to fMiscarryChance
elseif rZActor == rZLily
Set SexoutSQVARZLily.fMutationChance to fMutationChance
Set SexoutSQVARZLily.fMiscarryChance to fMiscarryChance
elseif rZActor == rZSunny
Set SexoutSQVARZSunny.fMutationChance to fMutationChance
Set SexoutSQVARZSunny.fMiscarryChance to fMiscarryChance
elseif rZActor == rZMelissa
Set SexoutSQVARZMelissa.fMutationChance to fMutationChance
Set SexoutSQVARZMelissa.fMiscarryChance to fMiscarryChance
elseif rZActor == rZWillow
Set SexoutSQVARZWillow.fMutationChance to fMutationChance
Set SexoutSQVARZWillow.fMiscarryChance to fMiscarryChance
elseif rZActor == rZKirina
Set SexoutSQVARZKirina.fMutationChance to fMutationChance
Set SexoutSQVARZKirina.fMiscarryChance to fMiscarryChance
elseif rZActor == rZJentai
Set SexoutSQVARZJentai.fMutationChance to fMutationChance
Set SexoutSQVARZJentai.fMiscarryChance to fMiscarryChance
endif

Set fLastUpdateHour to fCurrHour
Set fLastUpdateDay to fCurrDay
Set fHoursPassed to fHoursPassed - fHourStep
Goto 1
endif ; *** Catchup Time stuff


; *** Not OK, Remove Effect
elseif iOkToRun < 0
DebugPrint "Preg3MutMisF %n: Invalid Actor" rZActor
rZActor.AddItem SexoutP9TokenRemovePregnancy 1 1
Set iRemoving to 1
RemoveMe
endif ; *** End Actor Dead / Pregnant / Difficulty
endif

End

 

Link to comment

This is the script that calculates miscarriage & Mutation chances if anyone is interested :)

 

 

scn SexoutP3S0ObjMutationMiscarry

 

ref rZActor

ref rZPlayer

ref rZCass

ref rZVeronica

ref rZSunny

ref rZWendy

ref rZMelissa

ref rZLily

ref rZJentai

ref rZKirina

int iKirinaInstalled

ref rZWillow

int iWillowInstalled

 

ref rZBoone

ref rZRaul

ref rZArcade

ref rZRex

 

float fCurrHour

float fLastUpdateHour

float fHoursPassed

float fCurrDay

float fLastUpdateDay

int iDaysPassed

float fHourStep

float fDistanceToPlayer

int iCount

int iDoOnceC

int iDoOnceD

int iRemoving

int iOkToRun

int iDeadTimer

int iDebug

int iRandom

 

float fDrugLustX

float fDrugFertEz

float fDrugBunX

float fDrugLevelFert

float fDrugBunAway

float fDrugSleepEz

float fDrugNoDoze

float fDrugLevelDozey

float fDrugDope

float fDrugAlcohol

 

float fMiscarryChance

float fMutationChance

 

float fFertCycleDays

float fFertPercFertile

int iPercentInfertile

float fFertPeakPerc

float fFertCycleHours

float fFertCyclePerc

float fFertLevelPerc

float fAdjFertCycleDays

float fAdjFertPercFertile

float fAdjFertPeakPerc

float fFertExtra

float fFertDrugFactor

int iSemenTotal

int iSetNumOva

int iCurrNumOva

float fPregStagePerc

float fPregSize

float fPregStartSize

float fPregStartDay

int iPregMaxSize

float fPregChance

int iPregCount

int iNumTimesPreg

float fPregLengthDays

float fPregHours

float fPreglengthHours

float fPregSpeed

float fNumPregAdj

 

float fBreastMilkLevel

int iBreastMilkMax

float fBreastSizeAdj

int iCurrBellySize

int iCurrBreastSize

float fCurrBellySize

float fCurrBreastSize

float fNewBellySize

float fNewBreastSize

int iPrevBellySize

int iPrevBreastSize

ref rCurrUpperBody

ref rPrevUpperBody

int iTightness

int iDebug

 

int iScriptOn

int iSemenSporeCarrier

float fSporeMutationChance

 

int iPregCountChildAfAmM

int iPregCountChildAfAMF

int iPregCountChildCaucM

int iPregCountChildCaucF

int iPregCountChildAsianM

int iPregCountChildAsianF

int iPregCountChildHispM

int iPregCountChildHispF

int iPregCountChildFoxStarM

int iPregCountChildFoxStarF

int iPregCountChildGhoulM

int iPregCountChildGhoulF

int iPregCountChildFeralGhoulM

int iPregCountChildFeralGhoulF

int iPregCountChildSuperMutantM

int iPregCountChildSuperMutantF

int iPregCountChildAlien

int iPregCountChildSporeCarrier

int iPregCountPupCentaur

int iPregCountPupDog

int iPregCountPupRat

int iPregCountPupMoleRat

int iPregCountPupCoyote

int iPregCountPupBigHorner

int iPregCountPupBrahmin

int iPregCountPupNightStalker

int iPregCountLarveBloatFly

int iPregCountLarveCazador

int iPregCountLarveSymbiote

int iPregCountEggDeathClaw

int iPregCountEggDeathClawDark

int iPregCountEggDeathClawBlack

int iPregCountEggSporePod

int iPregCountEggLakeLurk

int iPregCountEggMireLurk

int iPregCountEggAnt

int iPregCountEggAntWorker

int iPregCountEggAntSoldier

int iPregCountEggAntQueen

int iPregCountEggRadRoach

int iPregCountEggGecko

int iPregCountEggScorpion

int iPregCountEggMantis

int iPregCountEggEyeBotMini

int iPregCountEggEyeBotSmall

int iPregCountHumanoid

int iPregCountHuman

 

Begin GameMode

 

Set rZActor to GetContainer

Set fCurrHour to GetCurrentTime

Set fCurrDay to GameDaysPassed

Set rZPlayer to SexoutSQVAR.rZPlayerREF

Set rZCass to SexoutSQVAR.rZCassREF

Set rZVeronica to SexoutSQVAR.rZVeronicaREF

Set rZLily to SexoutSQVAR.rZLilyREF

Set rZSunny to SexoutSQVAR.rZSunnyREF

Set rZWillow to SexoutSQVAR.rZWillowREF

Set rZKirina to SexoutSQVAR.rZKirinaREF

Set rZJentai to SexoutSQVAR.rZJentaiREF

Set iScriptOn to 0

if SexoutP0QVAR.iMiscarryAdj || SexoutP0QVAR.iMutationAdj

Set iScriptOn to 1

endif

 

Set iCount to iCount + 1

if rZActor && iCount > 299 && SexoutP0QVAR.iPregMainRunning > 9 && iRemoving < 1

Set iCount to 0

 

Set fDistanceToPlayer to rZActor.GetDistance PlayerREF

if rZActor == PlayerREF

Set fDistanceToPlayer to 1

endif

Set iDebug to 0

if fDistanceToPlayer > 0 && fDistanceToPlayer < 900

if SexoutP0QVAR.iDebug == 3

Set iDebug to 3

elseif SexoutP0QVAR.iDebug == 6 && rZActor == PlayerREF

Set iDebug to 3

elseif SexoutP0QVAR.iDebug == 7

Set iDebug to 3

endif

endif

 

; *** Check OK to run

Set iOkToRun to SexoutP0QVAR.iFertEnableFemale

if rZActor.GetDead || rZActor.GetIsSex Female == 0 || iScriptOn < 1

Set iOkToRun to 0

Set iDeadTimer to iDeadTimer + 1

if iDeadTimer > 9

Set iOkToRun to -1

endif

else

Set iDeadTimer to 0

if rZActor.GetItemCount 00SexoutActor > 0

Set iOkToRun to 0

endif

endif

 

if iOkToRun > 0

 

; *** Get Info From SCR & Setup Fertility Parameters for Actor

if rZActor == rZPlayer

Set iSemenTotal to SexoutSQVARZPlayer.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZPlayer.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZPlayer.fDrugLustX

Set fDrugFertEz to SexoutSQVARZPlayer.fDrugFertX

Set fDrugBunX to SexoutSQVARZPlayer.fDrugBunX

Set fDrugBunAway to SexoutSQVARZPlayer.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZPlayer.fDrugLevelFert

elseif rZActor == rZCass

Set iSemenTotal to SexoutSQVARZCass.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZCass.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZCass.fDrugLustX

Set fDrugFertEz to SexoutSQVARZCass.fDrugFertX

Set fDrugBunX to SexoutSQVARZCass.fDrugBunX

Set fDrugBunAway to SexoutSQVARZCass.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZCass.fDrugLevelFert

elseif rZActor == rZVeronica

Set iSemenTotal to SexoutSQVARZVeronica.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZVeronica.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZVeronica.fDrugLustX

Set fDrugFertEz to SexoutSQVARZVeronica.fDrugFertX

Set fDrugBunX to SexoutSQVARZVeronica.fDrugBunX

Set fDrugBunAway to SexoutSQVARZVeronica.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZVeronica.fDrugLevelFert

elseif rZActor == rZLily

Set iSemenTotal to SexoutSQVARZLily.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZLily.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZLily.fDrugLustX

Set fDrugFertEz to SexoutSQVARZLily.fDrugFertX

Set fDrugBunX to SexoutSQVARZLily.fDrugBunX

Set fDrugBunAway to SexoutSQVARZLily.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZLily.fDrugLevelFert

elseif rZActor == rZSunny

Set iSemenTotal to SexoutSQVARZSunny.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZSunny.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZSunny.fDrugLustX

Set fDrugFertEz to SexoutSQVARZSunny.fDrugFertX

Set fDrugBunX to SexoutSQVARZSunny.fDrugBunX

Set fDrugBunAway to SexoutSQVARZSunny.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZSunny.fDrugLevelFert

elseif rZActor == rZMelissa

Set iSemenTotal to SexoutSQVARZMelissa.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZMelissa.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZMelissa.fDrugLustX

Set fDrugFertEz to SexoutSQVARZMelissa.fDrugFertX

Set fDrugBunX to SexoutSQVARZMelissa.fDrugBunX

Set fDrugBunAway to SexoutSQVARZMelissa.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZMelissa.fDrugLevelFert

elseif rZActor == rZWillow

Set iSemenTotal to SexoutSQVARZWillow.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZWillow.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZWillow.fDrugLustX

Set fDrugFertEz to SexoutSQVARZWillow.fDrugFertX

Set fDrugBunX to SexoutSQVARZWillow.fDrugBunX

Set fDrugBunAway to SexoutSQVARZWillow.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZWillow.fDrugLevelFert

elseif rZActor == rZKirina

Set iSemenTotal to SexoutSQVARZKirina.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZKirina.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZKirina.fDrugLustX

Set fDrugFertEz to SexoutSQVARZKirina.fDrugFertX

Set fDrugBunX to SexoutSQVARZKirina.fDrugBunX

Set fDrugBunAway to SexoutSQVARZKirina.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZKirina.fDrugLevelFert

elseif rZActor == rZJentai

Set iSemenTotal to SexoutSQVARZJentai.iSemenTotal

Set fBreastMilkLevel to SexoutSQVARZJentai.fBreastMilkLevel

Set fDrugLustX to SexoutSQVARZJentai.fDrugLustX

Set fDrugFertEz to SexoutSQVARZJentai.fDrugFertX

Set fDrugBunX to SexoutSQVARZJentai.fDrugBunX

Set fDrugBunAway to SexoutSQVARZJentai.fDrugBunAway

Set fDrugLevelFert to SexoutSQVARZJentai.fDrugLevelFert

endif

 

; *** Alter Script run Hours to catch up after Fast Travel / Wait / Sleep

if fLastUpdateHour <= 0 || fLastUpdateHour > 24

Set fLastUpdateHour to fCurrHour

Set fLastUpdateDay to fCurrDay

DebugPrint "Preg3Miscarry/Mutation %n: Initialise LastD %2.3f, LastH %2.3f" rZActor fLastUpdateDay fLastUpdateHour

endif

Set iDaysPassed to fCurrDay - fLastUpdateDay

if iDaysPassed > 0

DebugPrint "Preg3Miscarry/Mutation %n: iDaysPassed %4.5f, fHoursPassed %4.5f" rZActor iDaysPassed fHoursPassed

endif

if fCurrHour > fLastUpdateHour

Set fHoursPassed to fCurrHour - fLastUpdateHour

elseif fCurrHour < fLastUpdateHour

Set fHoursPassed to (fCurrHour + 23.999999) - fLastUpdateHour

DebugPrint "Preg3Miscarry/Mutation %n: Midnight Passed, Days%2.0f, Curr%2.5f, Last %2.4f" rZActor iDaysPassed fCurrHour fLastUpdateHour

endif

Set fHoursPassed to fHoursPassed + (iDaysPassed * 24)

Label 1

Set fHourStep to .1

If fHoursPassed > fHourStep

If fHoursPassed > .5

Set fHourStep to fHoursPassed / 5

endif

if fHourStep > 5

Set fHourStep to 5

endif

if fHourStep < .05

Set fHourStep to .05

endif

 

; *** Count Pregnancy's

Set iPregCountChildAfAmM to rZActor.GetItemCount SexoutP3GestatingChildAfAmM

Set iPregCountChildAfAmF to rZActor.GetItemCount SexoutP3GestatingChildAfAmF

Set iPregCountChildCaucM to rZActor.GetItemCount SexoutP3GestatingChildCaucM

Set iPregCountChildCaucF to rZActor.GetItemCount SexoutP3GestatingChildCaucF

Set iPregCountChildAsianM to rZActor.GetItemCount SexoutP3GestatingChildAsianM

Set iPregCountChildAsianF to rZActor.GetItemCount SexoutP3GestatingChildAsianF

Set iPregCountChildHispM to rZActor.GetItemCount SexoutP3GestatingChildHispM

Set iPregCountChildHispF to rZActor.GetItemCount SexoutP3GestatingChildHispF

Set iPregCountChildFoxStarM to rZActor.GetItemCount SexoutP3GestatingChildFoxStarM

Set iPregCountChildFoxStarF to rZActor.GetItemCount SexoutP3GestatingChildFoxStarF

Set iPregCountChildGhoulM to rZActor.GetItemCount SexoutP3GestatingChildGhoulM

Set iPregCountChildGhoulF to rZActor.GetItemCount SexoutP3GestatingChildGhoulF

Set iPregCountChildFeralGhoulM to rZActor.GetItemCount SexoutP3GestatingChildFeralGhoulM

Set iPregCountChildFeralGhoulF to rZActor.GetItemCount SexoutP3GestatingChildFeralGhoulF

Set iPregCountChildSuperMutantM to rZActor.GetItemCount SexoutP3GestatingChildSuperMutantM

Set iPregCountChildSuperMutantF to rZActor.GetItemCount SexoutP3GestatingChildSuperMutantF

Set iPregCountChildAlien to rZActor.GetItemCount SexoutP3GestatingChildAlien

Set iPregCountChildSporeCarrier to rZActor.GetItemCount SexoutP3GestatingChildSporeCarrier

Set iPregCountPupCentaur to rZActor.GetItemCount SexoutP3GestatingPupCentaur

Set iPregCountPupDog to rZActor.GetItemCount SexoutP3GestatingPupDog

Set iPregCountPupRat to rZActor.GetItemCount SexoutP3GestatingPupRat

Set iPregCountPupMoleRat to rZActor.GetItemCount SexoutP3GestatingPupMoleRat

Set iPregCountPupCoyote to rZActor.GetItemCount SexoutP3GestatingPupCoyote

Set iPregCountPupBigHorner to rZActor.GetItemCount SexoutP3GestatingPupBigHorner

Set iPregCountPupNightStalker to rZActor.GetItemCount SexoutP3GestatingPupNightStalker

Set iPregCountPupBrahmin to rZActor.GetItemCount SexoutP3GestatingPupBrahmin

Set iPregCountLarveBloatFly to rZActor.GetItemCount SexoutP3GestatingLarveBloatFly

Set iPregCountLarveCazador to rZActor.GetItemCount SexoutP3GestatingLarveCazador

Set iPregCountLarveSymbiote to rZActor.GetItemCount SexoutP3GestatingLarveSymbiote

Set iPregCountEggDeathClaw to rZActor.GetItemCount SexoutP3GestatingEggDeathClaw

Set iPregCountEggDeathClawDark to rZActor.GetItemCount SexoutP3GestatingEggDeathClawDark

Set iPregCountEggDeathClawBlack to rZActor.GetItemCount SexoutP3GestatingEggDeathClawBlack

Set iPregCountEggSporePod to rZActor.GetItemCount SexoutP3GestatingEggSporePod

Set iPregCountEggLakeLurk to rZActor.GetItemCount SexoutP3GestatingEggLakeLurk

Set iPregCountEggMireLurk to rZActor.GetItemCount SexoutP3GestatingEggMireLurk

Set iPregCountEggAnt to rZActor.GetItemCount SexoutP3GestatingEggAnt

Set iPregCountEggAntWorker to rZActor.GetItemCount SexoutP3GestatingEggAntWorker

Set iPregCountEggAntSoldier to rZActor.GetItemCount SexoutP3GestatingEggAntSoldier

Set iPregCountEggAntQueen to rZActor.GetItemCount SexoutP3GestatingEggAntQueen

Set iPregCountEggRadRoach to rZActor.GetItemCount SexoutP3GestatingEggRadRoach

Set iPregCountEggGecko to rZActor.GetItemCount SexoutP3GestatingEggGecko

Set iPregCountEggScorpion to rZActor.GetItemCount SexoutP3GestatingEggScorpion

Set iPregCountEggMantis to rZActor.GetItemCount SexoutP3GestatingEggMantis

Set iPregCountEggEyebotMini to rZActor.GetItemCount SexoutP3GestatingEggEyeBotMini

Set iPregCountEggEyebotSmall to rZActor.GetItemCount SexoutP3GestatingEggEyeBotSmall

 

Set iPregCount to iPregCountChildAfAmM + iPregCountChildAfAmF

Set iPregCount to iPregCount + iPregCountChildCaucM

Set iPregCount to iPregCount + iPregCountChildCaucF

Set iPregCount to iPregCount + iPregCountChildAsianM

Set iPregCount to iPregCount + iPregCountChildAsianF

Set iPregCount to iPregCount + iPregCountChildHispM

Set iPregCount to iPregCount + iPregCountChildHispF

Set iPregCount to iPregCount + iPregCountChildFoxStarM

Set iPregCount to iPregCount + iPregCountChildFoxStarF

Set iPregCount to iPregCount + iPregCountChildGhoulM

Set iPregCount to iPregCount + iPregCountChildGhoulF

Set iPregCount to iPregCount + iPregCountChildFeralGhoulM

Set iPregCount to iPregCount + iPregCountChildFeralGhoulF

Set iPregCount to iPregCount + iPregCountChildSuperMutantM

Set iPregCount to iPregCount + iPregCountChildSuperMutantF

Set iPregCount to iPregCount + iPregCountChildAlien

Set iPregCount to iPregCount + iPregCountChildSporeCarrier

Set iPregCount to iPregCount + iPregCountPupCentaur

Set iPregCount to iPregCount + iPregCountPupDog

Set iPregCount to iPregCount + iPregCountPupRat

Set iPregCount to iPregCount + iPregCountPupMoleRat

Set iPregCount to iPregCount + iPregCountPupCoyote

Set iPregCount to iPregCount + iPregCountPupBigHorner

Set iPregCount to iPregCount + iPregCountPupNightStalker

Set iPregCount to iPregCount + iPregCountPupBrahmin

Set iPregCount to iPregCount + iPregCountLarveBloatFly

Set iPregCount to iPregCount + iPregCountLarveCazador

Set iPregCount to iPregCount + iPregCountEggDeathClaw

Set iPregCount to iPregCount + iPregCountEggDeathClawDark

Set iPregCount to iPregCount + iPregCountEggDeathClawBlack

Set iPregCount to iPregCount + iPregCountEggSporePod

Set iPregCount to iPregCount + iPregCountEggLakeLurk

Set iPregCount to iPregCount + iPregCountEggMireLurk

Set iPregCount to iPregCount + iPregCountEggAnt

Set iPregCount to iPregCount + iPregCountEggAntWorker

Set iPregCount to iPregCount + iPregCountEggAntSoldier

Set iPregCount to iPregCount + iPregCountEggAntQueen

Set iPregCount to iPregCount + iPregCountEggRadRoach

Set iPregCount to iPregCount + iPregCountEggGecko

Set iPregCount to iPregCount + iPregCountEggScorpion

Set iPregCount to iPregCount + iPregCountEggMantis

Set iPregCount to iPregCount + iPregCountEggEyeBotMini

Set iPregCount to iPregCount + iPregCountEggEyeBotSmall

 

Set iPregCountHuman to iPregCountChildAfAmM + iPregCountChildAfAmF

Set iPregCountHuman to iPregCountHuman + iPregCountChildCaucM + iPregCountChildCaucF

Set iPregCountHuman to iPregCountHuman + iPregCountChildAsianM + iPregCountChildAsianF

Set iPregCountHuman to iPregCountHuman + iPregCountChildHispM + iPregCountChildHispF

Set iPregCountHumanoid to iPregCountChildFoxStarM + iPregCountChildFoxStarF

Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildGhoulM + iPregCountChildGhoulF

Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildSuperMutantM + iPregCountChildSuperMutantF

Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildAlien + iPregCountChildFeralGhoulM

Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildAlien + iPregCountChildFeralGhoulF

Set iPregCountHumanoid to iPregCountHumanoid + iPregCountChildSporeCarrier

 

; *** Mutation Misscarry Chance Calculations

Set fMutationChance to 0

Set fMiscarryChance to 100 - (rZActor.GetHealthPercentage * 100) ; *** - (rZActor.GetItemCount SexoutP4TokenBirthCount)

Set fMiscarryChance to fMiscarryChance + (rZActor.GetActorValue RadiationRads / 100) - (rZActor.GetActorValue Medicine / 10)

Set fMiscarryChance to fMiscarryChance + (rZActor.GetActorValue Dehydration / 10) + (rZActor.GetActorValue Hunger / 10)

Set fMiscarryChance to fMiscarryChance + (rZActor.GetActorValue SleepDeprevation / 10) ; *** + (SexoutSQVAR.fTemperature / 100)

 

Set fMutationChance to (rZActor.GetActorValue RadiationRads / 10) - (rZActor.GetActorValue Science / 10)

if iDebug == 3

DebugPrint "Preg3Miscarry/Mutation %n: BaseMiscarry %3.2f, BaseMutation %3.2f" rZActor fMiscarryChance fMutationChance

endif

 

; *** Mutation & Miscarry more likely earlier in pregnancy

if rZActor.IsSpellTarget SexoutP3ETrimester0

Set fMiscarryChance to fMiscarryChance - 10

Set fMutationChance to fMutationChance + 10

elseif rZActor.IsSpellTarget SexoutP3ETrimester1

Set fMiscarryChance to fMiscarryChance 0

Set fMutationChance to fMutationChance + 5

elseif rZActor.IsSpellTarget SexoutP3ETrimester2

Set fMiscarryChance to fMiscarryChance - 5

Set fMutationChance to fMutationChance 0

elseif rZActor.IsSpellTarget SexoutP3ETrimester3

Set fMiscarryChance to fMiscarryChance - 10

Set fMutationChance to fMutationChance - 5

elseif rZActor.IsSpellTarget SexoutP3ETrimester4

Set fMiscarryChance to fMiscarryChance - 20

Set fMutationChance to fMutationChance - 10

elseif rZActor.IsSpellTarget SexoutP3ETrimester5

Set fMiscarryChance to fMiscarryChance - 30

Set fMutationChance to fMutationChance - 20

elseif rZActor.IsSpellTarget SexoutP3ETrimester6

Set fMiscarryChance to fMiscarryChance - 40

Set fMutationChance to fMutationChance - 30

elseif rZActor.IsSpellTarget SexoutP3ETrimester7

Set fMiscarryChance to fMiscarryChance - 50

Set fMutationChance to fMutationChance - 40

endif

 

if rZActor.GetSitting

Set fMiscarryChance to fMiscarryChance - 10

Set fMutationChance to fMutationChance - 10

endif

if rZActor.IsSpellTarget WellRestedSpell

Set fMiscarryChance to fMiscarryChance - 10

Set fMutationChance to fMutationChance - 10

endif

if rZActor.GetIsRace Ghoul

Set fMutationChance to fMutationChance + 10

Set fMiscarryChance to fMiscarryChance + 10

endif

if rZActor.IsSpellTarget SexoutP3ETightClothes

Set fMiscarryChance to fMiscarryChance + 10

endif

if rZActor.IsSpellTarget SexoutP3ETooTightClothes

Set fMiscarryChance to fMiscarryChance + 20

endif

if rZActor.IsSpellTarget SexoutP3EBannedClothes

Set fMiscarryChance to fMiscarryChance + 30

endif

 

if rZActor.IsRunning && rZActor.IsMoving

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.GetLastPlayerAction == 1 || rZActor.GetLastPlayerAction == 6 ; *** Melee or Jumping

Set fMiscarryChance to fMiscarryChance + 10

endif

 

if rZActor.IsInCombat

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.GetKnockedState > 0

Set fMiscarryChance to fMiscarryChance + 5

endif

; if rZActor.GetLastHitCritical == 1

; Set fMiscarryChance to fMiscarryChance + 10

; endif

if rZActor.IsSpellTarget FlamerBurnEffectSpell || rZActor.IsSpellTarget SpellFlamerEffect

Set fMiscarryChance to fMiscarryChance + 10

endif

if rZActor.IsSpellTarget GlowingOneAttack

Set fMutationChance to fMutationChance + 20

endif

 

if rZActor.IsSpellTarget SexoutSDiseaseAids1 || rZActor.IsSpellTarget SexoutSDiseaseAids2 || rZActor.IsSpellTarget SexoutSDiseaseAids3

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget SexoutSDiseaseGonorrhea1 || rZActor.IsSpellTarget SexoutSDiseaseGonorrhea2 || rZActor.IsSpellTarget SexoutSDiseaseGonorrhea3

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget SexoutSDiseaseHerpes1 || rZActor.IsSpellTarget SexoutSDiseaseHerpes2 || rZActor.IsSpellTarget SexoutSDiseaseHerpes3

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget SexoutSDiseaseSyphilis1 || rZActor.IsSpellTarget SexoutSDiseaseSyphilis2 || rZActor.IsSpellTarget SexoutSDiseaseSyphilis3

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget Whiskey || rZActor.IsSpellTarget Vodka || rZActor.IsSpellTarget Vodka || rZActor.IsSpellTarget Scotch || rZActor.IsSpellTarget Moonshine

Set fMiscarryChance to fMiscarryChance + 5

endif

 

if rZActor.IsSpellTarget RadScorpion1Poison || rZActor.IsSpellTarget RadScorpion2Poison || rZActor.IsSpellTarget NightstalkerPoison || rZActor.IsSpellTarget CazadorPoison || rZActor.IsSpellTarget DeathClawPoison

Set fMutationChance to fMutationChance + 10

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget WaterHeal4Bad || rZActor.IsSpellTarget WaterHeal5Terrible

Set fMutationChance to fMutationChance + 10

Set fMiscarryChance to fMiscarryChance + 10

endif

if rZActor.IsSpellTarget WaterUnpurified

Set fMiscarryChance to fMiscarryChance + 5

Set fMutationChance to fMutationChance + 5

endif

if rZActor.IsSpellTarget Stimpak || rZActor.IsSpellTarget NVTurbo || rZActor.IsSpellTarget Rocket

Set fMutationChance to fMutationChance + 10

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget Psycho || rZActor.IsSpellTarget Slasher || rZActor.IsSpellTarget Morphine

Set fMutationChance to fMutationChance + 10

Set fMiscarryChance to fMiscarryChance + 5

endif

if rZActor.IsSpellTarget WhiskeyDixon || rZActor.IsSpellTarget JetDixon

Set fMutationChance to fMutationChance + 10

Set fMiscarryChance to fMiscarryChance + 5

endif

 

Set fMutationChance to fMutationChance + (fDrugLustX / 50) + (fDrugFertEz / 100)

Set fMutationChance to fMutationChance + (fDrugBunX / 100) + (fDrugBunAway / 100)

Set fMutationChance to fMutationChance + (fDrugNoDoze / 50) + (fDrugSleepEz / 50)

Set fMutationChance to fMutationChance + (fDrugAlcohol / 100) + (fDrugDope / 50)

 

Set fMiscarryChance to fMiscarryChance + (fDrugLustX / 50) + (fDrugFertEz / 100)

Set fMiscarryChance to fMiscarryChance + (fDrugBunX / 50) + (fDrugBunAway / 5)

Set fMiscarryChance to fMiscarryChance + (fDrugNoDoze / 100) + (fDrugSleepEz / 100)

Set fMiscarryChance to fMiscarryChance + (fDrugAlcohol / 100) + (fDrugDope / 50)

 

Set iSemenSporeCarrier to rZActor.GetItemCount SexoutSP2VSemenSporeCarrier

Set fMutationChance to fMutationChance + iSemenSporeCarrier

 

; *** Adjust Chances by Difficulty Setting

Set fMiscarryChance to fMiscarryChance * (SexoutP0QVAR.iMiscarryAdj / 100)

Set fMutationChance to fMutationChance * (SexoutP0QVAR.iMutationAdj / 100)

 

; *** Mutation Check

if fMutationChance > GetRandomPercent && iPregCountHuman && SexoutP0QVAR.iNonHumanPregActivated > 0

if iPregCountHuman > 0

if iPregCountChildAfAmM

rZActor.RemoveItem SexoutP3GestatingChildAfAmM 1 1

elseif iPregCountChildAfAmF

rZActor.RemoveItem SexoutP3GestatingChildAfAmF 1 1

elseif iPregCountChildCaucM

rZActor.RemoveItem SexoutP3GestatingChildCaucM 1 1

elseif iPregCountChildCaucF

rZActor.RemoveItem SexoutP3GestatingChildCaucF 1 1

elseif iPregCountChildAsianM

rZActor.RemoveItem SexoutP3GestatingChildAsianM 1 1

elseif iPregCountChildAsianF

rZActor.RemoveItem SexoutP3GestatingChildAsianF 1 1

elseif iPregCountChildHispM

rZActor.RemoveItem SexoutP3GestatingChildHispM 1 1

elseif iPregCountChildHispF

rZActor.RemoveItem SexoutP3GestatingChildHispF 1 1

endif

if iSemenSporeCarrier && iPregCountChildSporeCarrier < 3

rZActor.AddItem SexoutP3GestatingChildSporeCarrier 1 1

else

Set iRandom to GetRandomPercent / 10

if iRandom == 1

rZActor.AddItem SexoutP3GestatingChildAlien 1 1

elseif iRandom == 2

rZActor.AddItem SexoutP3GestatingChildGhoulM 1 1

elseif iRandom == 3

rZActor.AddItem SexoutP3GestatingChildGhoulM 1 1

elseif iRandom == 4

rZActor.AddItem SexoutP3GestatingChildGhoulF 1 1

elseif iRandom == 5

rZActor.AddItem SexoutP3GestatingChildGhoulM 1 1

elseif iRandom == 6

rZActor.AddItem SexoutP3GestatingChildGhoulF 1 1

elseif iRandom == 7

rZActor.AddItem SexoutP3GestatingChildSuperMutantMN 1 1

elseif iRandom == 8

rZActor.AddItem SexoutP3GestatingChildSuperMutantFN 1 1

elseif iRandom == 9

rZActor.AddItem SexoutP3GestatingChildFeralGhoulM 1 1

else

rZActor.AddItem SexoutP3GestatingChildFeralGhoulF 1 1

endif

endif

elseif iPregCountHuman < 1 && iPregCountHumanoid > 0

endif

if rZActor == rZPlayer

MessageEx "You feel something is wrong with your Offspring."

else

MessageEx "%n feels a twinge in her tummy something is wrong!" rZActor

endif

if iDebug == 3

DebugPrint "Preg3Miscarry/Mutation %n: Mutation %3.2f" rZActor fMutationChance

endif

endif

 

; *** Miscarry Check

if fMiscarryChance > GetRandomPercent

if rZactor == rZPlayer

MessageEx "You feel a sharp agonising pain ravage through your lower body, your unborn is now dead."

else

MessageEx "%n Clutches her tummy in pain, her unborn OffSpring is dead" rZActor

endif

DebugPrint "Preg3Miscarry/Mutation %n: Miscarry %3.2f" rZActor fMiscarryChance

rZActor.AddItem SexoutP9TokenRemovePregnancy 1 1

endif

if iDebug == 3

DebugPrint "Preg3Miscarry/Mutation %n: Miscarry %3.2f, Mutation %3.2f" rZActor fMiscarryChance fMutationChance

endif

 

; *** Update SCR/Scanner variables for Player & Major NPC's

if rZActor == rZPlayer

Set SexoutSQVARZPlayer.fMutationChance to fMutationChance

Set SexoutSQVARZPlayer.fMiscarryChance to fMiscarryChance

elseif rZActor == rZCass

Set SexoutSQVARZCass.fMutationChance to fMutationChance

Set SexoutSQVARZCass.fMiscarryChance to fMiscarryChance

elseif rZActor == rZVeronica

Set SexoutSQVARZVeronica.fMutationChance to fMutationChance

Set SexoutSQVARZVeronica.fMiscarryChance to fMiscarryChance

elseif rZActor == rZLily

Set SexoutSQVARZLily.fMutationChance to fMutationChance

Set SexoutSQVARZLily.fMiscarryChance to fMiscarryChance

elseif rZActor == rZSunny

Set SexoutSQVARZSunny.fMutationChance to fMutationChance

Set SexoutSQVARZSunny.fMiscarryChance to fMiscarryChance

elseif rZActor == rZMelissa

Set SexoutSQVARZMelissa.fMutationChance to fMutationChance

Set SexoutSQVARZMelissa.fMiscarryChance to fMiscarryChance

elseif rZActor == rZWillow

Set SexoutSQVARZWillow.fMutationChance to fMutationChance

Set SexoutSQVARZWillow.fMiscarryChance to fMiscarryChance

elseif rZActor == rZKirina

Set SexoutSQVARZKirina.fMutationChance to fMutationChance

Set SexoutSQVARZKirina.fMiscarryChance to fMiscarryChance

elseif rZActor == rZJentai

Set SexoutSQVARZJentai.fMutationChance to fMutationChance

Set SexoutSQVARZJentai.fMiscarryChance to fMiscarryChance

endif

 

Set fLastUpdateHour to fCurrHour

Set fLastUpdateDay to fCurrDay

Set fHoursPassed to fHoursPassed - fHourStep

Goto 1

endif ; *** Catchup Time stuff

 

 

; *** Not OK, Remove Effect

elseif iOkToRun < 0

DebugPrint "Preg3MutMisF %n: Invalid Actor" rZActor

rZActor.AddItem SexoutP9TokenRemovePregnancy 1 1

Set iRemoving to 1

RemoveMe

endif ; *** End Actor Dead / Pregnant / Difficulty

endif

 

End

 

 

 

You have earned so much more respect from me for posting that. Not because you are willing to share, but because of the work that had to have went into all those lines of scripting.

Link to comment

Looking at the odds, having the miscarriage and mutation script checking every 10 game minutes is pretty much guaranteeing the possibility of miscarriage and mutation. Even at the base 10% chance before factors like radiation and dehydration and such are included. Let's say the pregnancy length was set on the lowest possible setting, 0.5%. For a human pregnancy, that's 1.4 days, which is 2016 minutes. So checking every 10 game minutes, that 1.4 day pregnancy has 201 miscarriage checks. 

 

To calculate the chance of an event occuring you subtract the chance of it NOT occuring to the power of the number of checks made from 1 (then multiply by 100 to get %). So 1-(90/100)^201=99.99%.  So that 10% miscarriage rate is actually so close to 100% it's barely worth mentioning the probably of not occuring. And that's not even counting the also 99.99% of mutation. So odds are if the fetus actually wins the lottery and survives, it's going to be mutated. The chance just goes up if you set the pregnancy to a higher duration, like say 10% (28 days=4032 intervals of 10 minutes)

 

If the miscarriage rate is set to 1%, that's still 1-(99/100)^201 on a 0.5% duration pregnancy, or a 86.74% probability.

 

My recommendation would be to have the check interval set in tandem with the pregnancy duration tokens. Maybe one check every 24%? So at 10% miscarriage rate that's 1-(90/100)^4=34.39% and a 1% miscarriage rate is 1-(99/100)^4=3.94%

 

Or even better, have the miscarriage and mutation rolls occur once and then the script modifies the roll based on the events above. So if it initially rolls a 14 and then events such as radiation, combat, dehydration, etc modify it down to 10% or lower on a 10% miscarriage chance, then miscarriage occurs.  And... I'll feel pretty stupid if that's already how the script actually works already and I'm just too script language ignorant to understand that. <.< haha

Link to comment

Looking at the odds, having the miscarriage and mutation script checking every 10 game minutes is pretty much guaranteeing the possibility of miscarriage and mutation. Even at the base 10% chance before factors like radiation and dehydration and such are included. Let's say the pregnancy length was set on the lowest possible setting, 0.5%. For a human pregnancy, that's 1.4 days, which is 2016 minutes. So checking every 10 game minutes, that 1.4 day pregnancy has 201 miscarriage checks. 

 

To calculate the chance of an event occuring you subtract the chance of it NOT occuring to the power of the number of checks made from 1 (then multiply by 100 to get %). So 1-(90/100)^201=99.99%.  So that 10% miscarriage rate is actually so close to 100% it's barely worth mentioning the probably of not occuring. And that's not even counting the also 99.99% of mutation. So odds are if the fetus actually wins the lottery and survives, it's going to be mutated. The chance just goes up if you set the pregnancy to a higher duration, like say 10% (28 days=4032 intervals of 10 minutes)

 

If the miscarriage rate is set to 1%, that's still 1-(99/100)^201 on a 0.5% duration pregnancy, or a 86.74% probability.

 

My recommendation would be to have the check interval set in tandem with the pregnancy duration tokens. Maybe one check every 24%? So at 10% miscarriage rate that's 1-(90/100)^4=34.39% and a 1% miscarriage rate is 1-(99/100)^4=3.94%

 

Or even better, have the miscarriage and mutation rolls occur once and then the script modifies the roll based on the events above. So if it initially rolls a 14 and then events such as radiation, combat, dehydration, etc modify it down to 10% or lower on a 10% miscarriage chance, then miscarriage occurs.  And... I'll feel pretty stupid if that's already how the script actually works already and I'm just too script language ignorant to understand that. <.< haha

It's too late at night for me to comprehend mathematically what you just said, I'll have a look again in the morning. I got a feeling you are right and I need to reduce the chances and frequency, I just noticed it's set for .1 of an hour which is 6 minutes not 10, I think I'll make it longer, though less frequent checks negates the use of checking running/jumping etc So perhaps the one random roll per pregnancy idea is the go and it just checks it doesn't ever hit that number.

Link to comment

That's one of the shorter scripts of his lol.

 

That's.... just wow. Same goes for you, user. Modders who's mods are script based have my utmost respect. Back in the day I used to play around with a Gameshark for the old Playstation, and I would have to manually input all the lines of Hex. One of the codes I made had over 250 lines of hexidecimal, and it was the most nerve-racking experience to put it all in, double check it, test, check every digit on all 200 lines again, fix, test, repeat.

Link to comment

That's one of the shorter scripts of his lol.

Yeah most of the pregnancy stuff had to be split into multiple tokens because the code is 4 times bigger than a NV script can handle so I have to break it into 4 and have counter tokens for reliable transfer of info between them when they are attached to random NPC's. The plus side of that is I don't add the tokens like Pregnancy, Mutation/Miscarry check tokens unless they are in use. Only Fertility & Bodyswapping are constant.

Link to comment

Yeah the easiest thing to do I think would be to have miscarry and mutation tokens generated, say a random number to start. If the random number of tokens generated is 1-10, miscarriage happens. If it's 11-100 then the pregnancy carries on. If the pregnancy is still present and mutation tokens number 1-10 then mutation occurs, if 11-100, the pregnancy is normal.  The script could add tokens if factors favor pregnancy (good health, medicine skill, etc) or subtract tokens if factors favor miscarriage/mutation. Or simplify it further and have one set of tokens for miscarriage/mutation so if they number 1-10 then miscarriage, if 11-20 then mutation, 21-100 normal pregnancy.

 

As it stands now, if my understanding of how your script works, if at any time during the pregnancy the modified 10% (or whatever the miscarriage % is set at) then miscarriage happens. If it rolls a hundred times during a pregnancy, odds are extremely high that one of those rolls will be 1 to 10 and result in a miscarriage.  My character has been pregnant probably a dozen times since the miscarriage and mutation system was put in and every one of those was a miscarriage before she even showed (hit P1 stage).

Link to comment

I'm a little confused about BNB and Pregnancy. Should characters have bouncing breasts and a pregnant belly at the same time? I installed the compatability skeleton and the bouncing breasts work fine for non-pregnant bodies but the breasts shrink as soon as the belly appears. Thanks!

Link to comment

How long should it take for a Deathclaw egg to hatch? my pc got raped by a Deathclaw (not Breeder), it's been over a week and nothing has happened, thought I read that it's about 48 hrs for it to happen, apologies if that is incorrect, any help greatly appreciated. :)

 

btw everything is up to date and load order is fine.

Link to comment

How long should it take for a Deathclaw egg to hatch? my pc got raped by a Deathclaw (not Breeder), it's been over a week and nothing has happened, thought I read that it's about 48 hrs for it to happen, apologies if that is incorrect, any help greatly appreciated. :)

 

btw everything is up to date and load order is fine.

 

 

Can't say I've ever had one hatch. But I haven't really tried in a while. 

 

At 100 % they should take around 60 Days the Hatch time is the same as the Growth time of each stage.

Link to comment

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