-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFPFP_BasePregData.psc
1612 lines (1300 loc) · 62.6 KB
/
FPFP_BasePregData.psc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Scriptname FPFP_BasePregData Extends ObjectReference
;Technical properties
Group TechnicalProperties
FPFP_Player_Script Property FPE Auto Const Mandatory
FPFP_BabyHandlerScript property FPFP_BabyHandler Auto Const Mandatory
Faction Property FPFP_Preggo Auto Const Mandatory
Keyword Property FPFP_Keyword Auto Const Mandatory
GlobalVariable property FPFP_Global_Day Auto Const Mandatory
GlobalVariable property FPFP_Global_Chance Auto Const Mandatory
GlobalVariable property FPFP_Global_Contra Auto Const Mandatory
GlobalVariable property FPFP_Global_NPCContra Auto Const Mandatory
GlobalVariable property FPFP_Global_Fertile Auto Const Mandatory
GlobalVariable property FPFP_Global_FertileEffects Auto Const Mandatory
GlobalVariable property FPFP_Global_POCNotif Auto Const Mandatory
GlobalVariable property FPFP_Global_CCNotif Auto Const Mandatory
GlobalVariable property FPFP_Global_CNotif Auto Const Mandatory
GlobalVariable property FPFP_Global_FNotif Auto Const Mandatory
GlobalVariable property FPFP_Global_Power Auto Const Mandatory
GlobalVariable property FPFP_Global_PlayerImpregsOnly Auto Const Mandatory
GlobalVariable property FPFP_Global_FPregPlayerOnly Auto Const Mandatory
GlobalVariable property FPFP_Global_MPreg Auto Const Mandatory
GlobalVariable property FPFP_Global_MPregPlayerOnly Auto Const Mandatory
GlobalVariable property FPFP_Global_AllowNonNPC Auto Const Mandatory
GlobalVariable property FPFP_Global_FemaleToFemaleCum Auto Const Mandatory
GlobalVariable Property FPFP_Global_MultiChance Auto Const Mandatory
GlobalVariable Property FPFP_Global_MultiMax Auto Const Mandatory
GlobalVariable Property FPFP_Global_EquipNewCondom Auto Const Mandatory
GlobalVariable Property FPFP_Global_LastingMorphs Auto Const Mandatory
GlobalVariable Property FPFP_Global_NPCPlayerSexUseContraOption Auto Const Mandatory
GlobalVariable Property FPFP_Global_SynthImpreg Auto Const Mandatory
GlobalVariable property FPFP_Global_AllowFertileNPC Auto Const Mandatory
GlobalVariable property FPFP_Global_FertileNPC Auto Const Mandatory
GlobalVariable property FPFP_Global_Verbose Auto Const Mandatory
GlobalVariable property FPFP_Global_MaleBodyType Auto Const Mandatory
GlobalVariable property FPFP_Global_Impregnation_Notif Auto Const Mandatory
GlobalVariable property FPFP_Global_Impregnation_Notif_boolean Auto Const Mandatory
GlobalVariable property FPFP_Global_Perks_Monthly Auto Const Mandatory
GlobalVariable property FPFP_Global_Perks_Father Auto Const Mandatory
GlobalVariable property FPFP_Global_Perks_Harem Auto Const Mandatory
GlobalVariable property INVB_Global_RequireTags Auto Const Mandatory
Actor Property PlayerREF Auto Const Mandatory
Potion property FPFP_Fertile Auto Const Mandatory
Potion property FPFP_Pill Auto Const Mandatory
MagicEffect property FPFP_ME_Pill auto const Mandatory
MagicEffect property FPFP_ME_Fertile auto const Mandatory
Armor property FPFP_Condom auto const Mandatory
Keyword property ActorTypeNPC Auto Const Mandatory
Keyword property FPFP_HasData Auto Const Mandatory
String[] property TagsToWatch auto
FormList Property FPFP_ProhibitedKeywords Auto Const Mandatory
EndGroup
;Variable properties
Group VariableProperties
;four_play:Main Property four_play_event Auto
AAF:AAF_API Property AAF_Events Auto
Actor Property Ourself Auto
{This property holds our NPC}
Float Property IncepDate = -1.0 Auto
Bool Property IsPregnant Auto
int Property NumChildren Auto
Race Property FatherRace Auto
Float Property OriginalThin Auto
Float Property OriginalThicc Auto
Float Property OriginalMuscular Auto
Bool Property CanGetPreg auto
Bool Property FirstCheck Auto ; Bool used to track that the next check will be our first check
Bool Property AffectedByMorphs Auto ; Bool used to track that this character was affected by body morphs. prevents unnecessary morph reset calls
String[] Property OrigMorphNames Auto
Float[] Property OrigMorphValues Auto
EndGroup
Group WastelandDairyFramework
GlobalVariable Property INVB_Global_Preggo_Count_Player Auto Mandatory
GlobalVariable Property INVB_Global_Preggo_Count_Cuck Auto Mandatory
GlobalVariable Property INVB_Global_Preggo_Count_Current Auto Mandatory
GlobalVariable Property INVB_Global_Preggo_Count_Player_Babies Auto Mandatory
GlobalVariable Property FPFP_Global_MultiBirth Auto Mandatory
GlobalVariable property FPFP_Global_Cumflation_Notif_boolean Auto Const Mandatory
GlobalVariable property FPFP_Global_Cumflation_Toggle Auto Const Mandatory
Perk Property WLD_Perk_Impregnated_Player Auto
Perk Property WLD_Perk_Impregnated Auto
Perk Property WLD_Perk_Impregnated_5 Auto
Perk Property WLD_Perk_Impregnated_10 Auto
Perk Property WLD_Perk_Impregnated_15 Auto
Perk Property WLD_Perk_Impregnated_30 Auto
Perk Property WLD_Perk_Cuckold Auto
Perk Property WLD_Perk_Pregnancies_5 Auto
Perk[] Property WLD_Perk_Month Auto
Perk Property WLD_Perk_Pregnancy_Freezing Auto
EndGroup
;Startup handling
Float Creature_Morph
Float Creature_Cycle
bool Creature_Cycle_Multi
Float Creature_Start
String Creature_String
bool Creature_Start_1st
Potion Creature_Cum
Perk Creature_Perk
SPELL SP_Cumshot_Extra
Actor TheFather
FPE_Messages Property FPFP_Messages Auto Const Mandatory
FPE_Cumflation Property FPFP_Cumflation Auto Const Mandatory
FPE_STD Property FPFP_STD Auto Const Mandatory
GlobalVariable property INVB_Global_MessagePlayer_sex Auto Const Mandatory
GlobalVariable property INVB_Global_MessagePlayer_Impreg Auto Const Mandatory
GlobalVariable property INVB_Global_Female_Player_Dominant Auto Const Mandatory
GlobalVariable property INVB_Global_Male_Player_Dominant Auto Const Mandatory
GlobalVariable property FPFP_Global_MaleToMaleCum Auto Const Mandatory
GlobalVariable property INVB_Global_Infect Auto Const Mandatory
GlobalVariable property INVB_Global_Birth_Death_Chance Auto Const Mandatory
GlobalVariable property INVB_Global_Racial_Baby_Chance Auto Const Mandatory
Keyword Property fpfp_noDaddy Auto
Keyword Property fpfp_Father Auto
GlobalVariable property FPFP_Global_Chance_Player_M Auto Const Mandatory
GlobalVariable property FPFP_Global_Chance_Player_F Auto Const Mandatory
String[] Tags
Potion FullCondom
FPFP_BabyTypeAddon[] AddonBabyTypes
GlobalVariable Property FPFP_Global_MultiBirth_Modifier Auto Mandatory
GlobalVariable Property FPFP_Global_Cumshot Auto Mandatory
SPELL Property SP_Cumshot Auto
GlobalVariable property FPFP_Global_BloodyBirth Auto Const Mandatory
SPELL Property SP_BloodyBirth Auto
GlobalVariable property FPFP_Global_CondomOutcome Auto Const Mandatory
GlobalVariable property FPFP_Global_Total_Births Auto Const Mandatory
GlobalVariable property FPFP_Global_Total_Births_Player Auto Const Mandatory
GlobalVariable property FPFP_Global_Current_Births Auto Const Mandatory
GlobalVariable property FPFP_Global_Current_Births_Player Auto Const Mandatory
GlobalVariable property FPFP_Global_Total_Freeze Auto Const Mandatory
GlobalVariable property FPFP_Global_BirthLimit Auto Const Mandatory
FPE_Surrogate Property FPFP_Surrogate Auto Const Mandatory
Race Property HumanRace Auto
Race Property GhoulRace Auto
GlobalVariable property FPFP_Global_BodyType_CBBE Auto Const Mandatory
GlobalVariable property FPFP_Global_BodyType_FG Auto Const Mandatory
GlobalVariable property FPFP_Global_Creature_Faction Auto Const Mandatory
Faction Creature_Faction
Perk Property WLD_Perk_Pheromones Auto
GlobalVariable Property FPFP_Global_Synth_hidden Auto Const Mandatory
GlobalVariable Property FPFP_Global_CreatureDNAOnce Auto Const Mandatory
Keyword Property fpfp_DNATransfer Auto
Perk Property WLD_Perk_Breeder Auto
GlobalVariable property FPFP_Global_Breeder_modifier Auto Const Mandatory
GlobalVariable property FPFP_Global_Monthly_MessageType Auto Const Mandatory
int Breeder_mod
GlobalVariable property FPFP_Global_Toggle_Creature_Chances Auto Const Mandatory
GlobalVariable property FPFP_Global_Length_Human Auto Const Mandatory
GlobalVariable property FPFP_Global_Morph_Human Auto Const Mandatory
GlobalVariable property FPFP_Global_Chance_Ghoul Auto Const Mandatory
GlobalVariable property FPFP_Global_Length_Ghoul Auto Const Mandatory
GlobalVariable property FPFP_Global_Morph_Ghoul Auto Const Mandatory
GlobalVariable property FPFP_Global_Cumflation_FemaletoFemale Auto Const Mandatory
Function Initialize(Actor akTarget) ; Make sure player's version of this is DIFFERENT
akTarget.AddKeyword(FPFP_HasData)
Ourself = akTarget
FPE.AddToDataList(self)
RegisterForCustomEvent(FPE, "DoUpdate")
RegisterForCustomEvent(FPE, "DoCleaning")
RegisterForCustomEvent(FPE, "DoReset")
RegisterForCustomEvent(FPE, "SendBasePreg")
RegisterForCustomEvent(FPE, "DebugDataDump")
RegisterForRemoteEvent(Ourself, "OnUnload")
RegisterForRemoteEvent(Ourself, "OnDying")
LoadFP()
TryForFertility()
AddonBabyTypes = new FPFP_BabyTypeAddon[0]
StartTimer(180)
Trace("We have initialized!")
EndFunction
Function LoadFP()
Trace("LoadFP")
Quest Main = Game.GetFormFromFile(0x01000F99, "AAF.esm") as quest
If Main
AAF_Events = Main as AAF:AAF_API
RegisterForCustomEvent(AAF_Events, "OnAnimationStart")
RegisterForCustomEvent(AAF_Events, "OnAnimationStop")
RegisterForCustomEvent(AAF_Events, "OnAnimationChange")
Else
utility.wait(0.1)
Endif
EndFunction
Event OnTimer(int aiTID)
Self.Trace("Checking to see if our NPC is still existant", False)
If (!Ourself || Ourself.IsDeleted())
EndIf
EndEvent
;Gameplay handling
Function TryForFertility()
If FPFP_Global_AllowFertileNPC.GetValue() == 1.0
If !Ourself.HasMagicEffect(FPFP_ME_Fertile) && Utility.RandomFloat(0,100) <= (FPFP_Global_Fertile.getValue() * FPFP_Global_FertileNPC.GetValue())
MakeFertile()
Endif
EndIf
EndFunction
Function MakeFertile()
Trace(ourself.GetActorBase().GetName() + " is fertile!", true)
Ourself.EquipItem(FPFP_Fertile, abSilent = True)
EndFunction
Bool Function IsActorInVarArray(Actor akActor, Var[] akArgs)
int i = 0
While i < akArgs.Length
If akArgs[i] as Actor == akActor
Return true
EndIf
i += 1
EndWhile
return false
EndFunction
Function CheckWatchedTags(String[] Tag)
; if we already had a potential fertilization we're done
If (CanGetPreg == true)
Return
EndIf
Int i = 0
While (i < Tag.length)
If TagsToWatch.Find(Tag[i]) >= 0
Trace("Watched tag " + Tag[i] + " found")
Return
Endif
i += 1
EndWhile
Trace("Animation OK for pregnancy")
CanGetPreg = true
EndFunction
Event AAF:AAF_API.OnAnimationStart(AAF:AAF_API akSender, Var[] akArgs)
if (akArgs[0] as int) != 0
Trace(akArgs[1] as string)
return
endif
Var[] acs = Utility.VarToVarArray(akArgs[1])
If !IsActorInVarArray(Ourself, acs)
;Trace("OnAnimationStart was not for us")
return
EndIf
Trace("OnAnimationStart")
CanGetPreg = False
Tags = Utility.VarToVarArray(akArgs[3]) as String[]
CheckWatchedTags(Tags)
;If IsActorInVarArray(Ourself ,akArgs) && IsActorInVarArray(PlayerREF ,akArgs)
; Only run this code if we are handling an NPC and the Player was involved in the animation
If Ourself != PlayerREF && IsActorInVarArray(PlayerREF ,acs)
If FPFP_Global_NPCPlayerSexUseContraOption.GetValue() == 1.0 || (Utility.RandomInt(0,99) < FPFP_Global_NPCContra.getValueint()) ; If we're always supposed to use contraception OR if we pass our "NPC uses contraception" chance check
If IsValidWoman(Ourself) && Ourself.GetItemCount(FPFP_Pill) > 0 && !Ourself.HasMagicEffect(FPFP_ME_Pill); handle pill
Ourself.EquipItem(FPFP_Pill)
EndIf
If Ourself.GetItemCount(FPFP_Condom) > 0 && !(Ourself.IsEquipped(FPFP_Condom)); handle condom
Ourself.EquipItem(FPFP_Condom)
EndIf
EndIf
EndIf
EndEvent
Event AAF:AAF_API.OnAnimationChange(AAF:AAF_API akSender, Var[] akArgs)
If (akArgs[0] as int) != 0
Trace(akArgs[1] as string)
return
EndIf
Var[] acs = Utility.VarToVarArray(akArgs[1])
If !IsActorInVarArray(Ourself, acs)
;Trace("OnAnimationChange was not for us")
return
EndIf
Trace("OnAnimationChange")
Tags = Utility.VarToVarArray(akArgs[3]) as String[]
CheckWatchedTags(Tags)
if (INVB_Global_MessagePlayer_sex.GetValue() == 1 || INVB_Global_MessagePlayer_sex.GetValue() == 2) && (Ourself == PlayerREF || acs[1] as actor == PlayerREF)
FPFP_Messages.Sex_Movement(Ourself, acs[1] as actor)
elseif INVB_Global_MessagePlayer_sex.GetValue() == 2
FPFP_Messages.Sex_Movement(Ourself, acs[1] as actor)
elseif INVB_Global_MessagePlayer_sex.GetValue() == 0
endif
EndEvent
Event AAF:AAF_API.OnAnimationStop(AAF:AAF_API akSender, Var[] akArgs)
if (akArgs[0] as int) != 0
Trace(akArgs[1] as string)
return
endif
Var[] acs = Utility.VarToVarArray(akArgs[1])
; First checks for a fail early state of not being valid for pregnancy
If acs == NONE || acs.length < 2 || !IsActorInVarArray(Ourself ,acs) || !IsValidWoman(Ourself)
;Trace("OnAnimationStop - too few actors OR not for us OR not valid woman, quitting")
return
EndIf
Trace("OnAnimationStop")
; Check animation tags - note we do not need to run CheckWatchedTags() again here
If CanGetPreg == False && INVB_Global_RequireTags.GetValue() == 1
Trace("Animation tags not appropriate, quitting")
Return
Endif
; Check prohibited keywords
If Ourself.HasKeywordInFormList(FPFP_ProhibitedKeywords) && INVB_Global_RequireTags.GetValue() == 1
Trace("Actor is prohibited by keyword, quitting")
Return
Endif
; Now checks animation arguments to see if we were a part of sex, and if we were the one's who were came into.
Actor Potential0 ; This is to store one of the two potential daddies in a threesome
Actor Potential1
Actor ActorCummedIn ; This stores the person cummed in, but not necessarily us in the pregnancy.
; Determine who got cum inside of them
;If akArgs[2] is Actor ; Threesome
If acs.Length > 2 && acs[2] is Actor ; Threesome
;Trace("Threesome")
;ActorCummedIn = akArgs[0] as Actor
ActorCummedIn = acs[0] as Actor
;Potential0 = akArgs[1] as Actor
Potential0 = acs[1] as Actor
;Potential1 = akArgs[2] as Actor
Potential1 = acs[2] as Actor
Else ; Typical sex
;Trace("2some")
;ActorCummedIn = akArgs[1] as Actor
ActorCummedIn = acs[0] as Actor
;Potential0 = akArgs[0] as Actor
Potential0 = acs[1] as Actor
;Trace("2some with " +ActorCummedIn+ " and " +Potential0)
;Trace("Ourself - " + Ourself)
EndIf
If ActorCummedIn != Ourself
;Trace("Our sex actor cummed into wasn't us, end this thread early")
return
EndIf
;Check our potential men
;Trace("Checking potentials")
Potential0 = DeterminePotentialMan(Potential0)
Potential1 = DeterminePotentialMan(Potential1)
;Trace("Potentials checked, here's the results: " + Potential0 + " and " + Potential1 )
int Sex0 = -2 ; For clarity: -2 will be the number to check if Potential doesn't exist.
int Sex1 = -2
int Sex2 = -2
If ActorCummedIn ; If we have a first actor, set Sex1 equal to their sex
Sex0 = ActorCummedIn.GetLeveledActorBase().GetSex()
EndIf
If Potential0 ; If we have a first actor, set Sex1 equal to their sex
Sex1 = Potential0.GetLeveledActorBase().GetSex()
EndIf
If Potential1 ; If we have a second actor, set Sex2 equal to their sex
Sex2 = Potential1.GetLeveledActorBase().GetSex()
EndIf
if (INVB_Global_MessagePlayer_sex.GetValue() == 1 || INVB_Global_MessagePlayer_sex.GetValue() == 2) && (ActorCummedIn == PlayerREF || Potential0 == PlayerREF)
FPFP_Messages.Sex_Message(ActorCummedIn, Potential0)
elseif INVB_Global_MessagePlayer_sex.GetValue() == 2
FPFP_Messages.Sex_Message(ActorCummedIn, Potential0)
elseif INVB_Global_MessagePlayer_sex.GetValue() == 0
endif
If ActorCummedIn == PlayerREF && (Sex0 == 0 && Sex1 == 0) && FPFP_Global_MaleToMaleCum.GetValue() == 1 && INVB_Global_Male_Player_Dominant.GetValue() == 1
Ourself = Potential0
TrySpermFrom(PlayerREF)
elseIf ActorCummedIn == PlayerREF && (Sex0 == 1 && Sex1 == 1) && FPFP_Global_FemaleToFemaleCum.GetValue() == 1 && INVB_Global_Female_Player_Dominant.GetValue() == 1
Ourself = Potential0
TrySpermFrom(PlayerREF)
elseIf ActorCummedIn == PlayerREF && (Sex0 == 0 && Sex1 == 0 && Sex2 == 0) && FPFP_Global_MaleToMaleCum.GetValue() == 1 && INVB_Global_Male_Player_Dominant.GetValue() == 1
If Utility.RandomInt(0,1) == 0 ; Play heads or tails to find out which person came inside of you
Ourself = Potential0
Else
Ourself = Potential1
EndIf
TrySpermFrom(PlayerREF)
elseIf ActorCummedIn == PlayerREF && (Sex0 == 1 && Sex1 == 1 && Sex2 == 1) && FPFP_Global_FemaleToFemaleCum.GetValue() == 1 && INVB_Global_Female_Player_Dominant.GetValue() == 1
If Utility.RandomInt(0,1) == 0 ; Play heads or tails to find out which person came inside of you
Ourself = Potential0
Else
Ourself = Potential1
EndIf
TrySpermFrom(PlayerREF)
elseif Sex1 == 0 && Sex2 == 0 && FPFP_Global_MaleToMaleCum.GetValue() == 1
If Utility.RandomInt(0,1) == 0 ; Play heads or tails to find out which person came inside of you
TrySpermFrom(Potential0)
Else
TrySpermFrom(Potential1)
EndIf
elseif Sex1 == 1 && Sex2 == 1 && FPFP_Global_FemaleToFemaleCum.GetValue() == 1
If Utility.RandomInt(0,1) == 0 ; Play heads or tails to find out which person came inside of you
TrySpermFrom(Potential0)
Else
TrySpermFrom(Potential1)
EndIf
elseif Sex1 == 0 && Sex2 == 1
TrySpermFrom(Potential0)
elseif Sex1 == 1 && Sex2 == 0
TrySpermFrom(Potential1)
elseif Sex1 == 0 || (Sex1 == 1 && FPFP_Global_FemaleToFemaleCum.GetValue() == 1)
TrySpermFrom(Potential0)
elseif Sex2 == 0 || (Sex2 == 1 && FPFP_Global_FemaleToFemaleCum.GetValue() == 1)
TrySpermFrom(Potential1)
EndIf
EndEvent
Bool Function IsValidWoman(Actor akActor)
Bool akReturn = False
If akActor
If akActor.GetLeveledActorBase().GetSex() == 1 && FPFP_Global_FPregPlayerOnly.GetValue() == 0.0 ; If the actor is female and player only FPreg is disabled...
akReturn = True
ElseIf FPFP_Global_MPreg.GetValue() == 1.0 && FPFP_Global_MPregPlayerOnly.GetValue() == 0.0 ; or if MPreg is allowed and player only MPreg is disabled...
akReturn = True
EndIf
EndIf
Return akReturn
EndFunction
Bool Function IsNPC(actor akActor) ; works for both scripts
Return akActor.HasKeyword(ActorTypeNPC)
EndFunction
Actor Function DeterminePotentialMan(Actor akActor) ; works for both scripts
Actor akReturn
If akActor
If FPFP_Global_PlayerImpregsOnly.GetValue() == 0.0 || (FPFP_Global_PlayerImpregsOnly.GetValue() == 1.0 && akActor == PlayerREF) ; If anyone can impregnate OR if only the player impregnates, and the actor is the player...
If FPFP_Global_AllowNonNPC.GetValue() >= 1.0 || IsNPC(akActor) && FPFP_Global_AllowNonNPC.GetValue() <= 1.0 ; If non-npcs can impregnate, OR if the actor is an NPC and only NPCs can impregnate...
akReturn = akActor ; Return our actor
EndIf
EndIf
EndIf
Return akReturn
EndFunction
Bool Function TrySpermFrom(Actor akMan) ; This should only be called when the actor with this active magic effect get's cummed in
float chance
if akMan.GetLeveledActorBase().GetRace() == GhoulRace
chance = FPFP_Global_Chance_Ghoul.getValue()
elseif FPFP_Global_Toggle_Creature_Chances.GetValue() == 1 && !akMan.GetLeveledActorBase().GetRace() == HumanRace
chance = FPFP_BabyHandler.WhatsmyChances(akMan.GetLeveledActorBase().GetRace())
elseIf akMan == PlayerREF
chance = FPFP_Global_Chance_Player_M.getValue() ;Sender
elseIf Ourself == PlayerREF
chance = FPFP_Global_Chance_Player_F.getValue() ;Receiver
else
chance = FPFP_Global_Chance.getValue()
endif
If akMan.HasPerk(WLD_Perk_Breeder) || Ourself.HasPerk(WLD_Perk_Breeder)
chance *= FPFP_Global_Breeder_modifier.GetValue()
endIf
bool impregnated = false
if !akMan.GetLeveledActorBase().GetRace() == HumanRace
Creature_Cum = FPFP_BabyHandler.WhatsmyDNA(akMan.GetLeveledActorBase().GetRace())
endif
if FPFP_BabyHandler.WhatBallsdoIHave(akMan) && akMan.HasKeyword(fpfp_DNATransfer)
Actor SemenDonor = akMan.PlaceAtMe(FPFP_BabyHandler.NewFather(akMan), abInitiallyDisabled = true) as Actor
Creature_Cum = FPFP_BabyHandler.WhatsmyDNA(SemenDonor.GetLeveledActorBase().GetRace())
SemenDonor.delete()
endIf
If akMan == PlayerREF || Ourself == PlayerREF; involves player, more extreme checks can happen
If Ourself.HasMagicEffect(FPFP_ME_Fertile) ; Is the woman fertile?
chance *= FPFP_Global_FertileEffects.getValue()
Endif
If akMan.HasMagicEffect(FPFP_ME_Fertile) ; Is the man virile?
chance *= FPFP_Global_FertileEffects.getValue()
Endif
If Ourself.HasMagicEffect(FPFP_ME_Pill) ; Is the woman on the pill?
chance *= ((100 - FPFP_Global_Contra.getValue()) * 0.01)
Endif
If Ourself.IsEquipped(FPFP_Condom) ; Does the woman have a condom in her cooch?
Ourself.UnequipItem(FPFP_Condom, false, true)
Ourself.RemoveItem(FPFP_Condom, 1)
if (Game.IsPluginInstalled("INVB_WastelandDairy.esp") == TRUE)
if akMan.GetLeveledActorBase().GetRace() == HumanRace
FullCondom = Game.GetFormFromFile(0x0010D3, "INVB_WastelandDairy.esp") as Potion
if FPFP_Global_CondomOutcome.GetValue() == 3 || FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC
Ourself.addItem(FullCondom, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 1 || FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
Ourself.placeatme(FullCondom, 1)
endif
elseif akMan.GetLeveledActorBase().GetRace() == HumanRace && Creature_Cum != None
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
Ourself.addItem(Creature_Cum, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
Ourself.placeatme(Creature_Cum, 1)
endif
if FPFP_Global_CreatureDNAOnce.GetValue() == 1
akMan.RemovePerk(FPFP_BabyHandler.WhatBallsdoIHave(akMan))
akMan.RemoveKeyword(fpfp_DNATransfer)
endIf
elseif !akMan.GetLeveledActorBase().GetRace() == HumanRace && Creature_Cum != None
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
Ourself.addItem(Creature_Cum, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
Ourself.placeatme(Creature_Cum, 1)
endif
endif
endif
chance *= ((100 - FPFP_Global_Contra.getValue()) * 0.01)
If FPFP_Global_EquipNewCondom.GetValue() == 1 && Ourself.GetItemCount(FPFP_Condom) > 0 ; If we have equip a new condom setting on AND we have more condoms.
Ourself.EquipItem(FPFP_Condom)
EndIf
elseIf akMan.IsEquipped(FPFP_Condom) ; Does the man wear a condom on his jimmy?
akMan.UnequipItem(FPFP_Condom, false, true)
akMan.RemoveItem(FPFP_Condom, 1)
if (Game.IsPluginInstalled("Zaz INVB_WastelandDairy.esp") == TRUE)
if akMan.GetLeveledActorBase().GetRace() == HumanRace
FullCondom = Game.GetFormFromFile(0x0010D3, "INVB_WastelandDairy.esp") as Potion
if FPFP_Global_CondomOutcome.GetValue() == 3 || FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC
akMan.addItem(FullCondom, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 1 || FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
akMan.placeatme(FullCondom, 1)
endif
elseif akMan.GetLeveledActorBase().GetRace() == HumanRace && Creature_Cum != None
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
akMan.addItem(Creature_Cum, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
akMan.placeatme(Creature_Cum, 1)
endif
if FPFP_Global_CreatureDNAOnce.GetValue() == 1
akMan.RemovePerk(FPFP_BabyHandler.WhatBallsdoIHave(akMan))
akMan.RemoveKeyword(fpfp_DNATransfer)
endIf
elseif !akMan.GetLeveledActorBase().GetRace() == HumanRace && Creature_Cum != None
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
akMan.addItem(Creature_Cum, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
akMan.placeatme(Creature_Cum, 1)
endif
endif
endif
chance *= ((100 - FPFP_Global_Contra.getValue()) * 0.01)
If FPFP_Global_EquipNewCondom.GetValue() == 1 && akMan.GetItemCount(FPFP_Condom) > 0
akMan.EquipItem(FPFP_Condom)
EndIf
else
if FPFP_Global_Cumshot.GetValue() == 1
if !akMan.GetLeveledActorBase().GetRace() == HumanRace
SP_Cumshot_Extra = FPFP_BabyHandler.WhatColourisMyCum(akMan.GetLeveledActorBase().GetRace())
if SP_Cumshot_Extra != None
SP_Cumshot_Extra.Cast(Ourself, Ourself)
else
SP_Cumshot.Cast(Ourself, Ourself)
endif
else
SP_Cumshot.Cast(akMan, akMan)
SP_Cumshot.Cast(Ourself, Ourself)
endif
endif
if FPFP_Global_Cumflation_FemaletoFemale.GetValue() == 1 || (FPFP_Global_Cumflation_FemaletoFemale.GetValue() == 0 && akMan.GetLeveledActorBase().GetSex() == 0)
if FPFP_Global_Cumflation_Toggle.GetValue() == 1 && FPFP_Global_Cumflation_Notif_boolean.GetValue() == 0
FPFP_Global_Cumflation_Notif_boolean.SetValue(1)
FPFP_Cumflation.Cumflation_Up(Ourself, akMan)
FPFP_Global_Cumflation_Notif_boolean.SetValue(0)
endif
endIf
if INVB_Global_Infect.GetValue() == 1
FPFP_STD.Infect(Ourself, akMan)
endif
Endif
Else; involves NPC-NPC ; means that we shouldn't be doing extreme checks, just in case orgies are happening
If Utility.RandomInt(0,99) < 10; fertile
chance *= 5 ; lower chance for NPC fertile to save resources
Endif
if akMan.IsEquipped(FPFP_Condom)
chance *= ((100 - FPFP_Global_Contra.getValue()) * 0.01)
akMan.UnequipItem(FPFP_Condom, false, true)
akMan.RemoveItem(FPFP_Condom, 1)
if (Game.IsPluginInstalled("Zaz INVB_WastelandDairy.esp") == TRUE)
if akMan.GetLeveledActorBase().GetRace() == HumanRace
FullCondom = Game.GetFormFromFile(0x0010D3, "INVB_WastelandDairy.esp") as Potion
if FPFP_Global_CondomOutcome.GetValue() == 3 || FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC
akMan.addItem(FullCondom, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 1 || FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
akMan.placeatme(FullCondom, 1)
endif
else
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
akMan.addItem(Creature_Cum, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
akMan.placeatme(Creature_Cum, 1)
endif
endif
endif
elseif Ourself.IsEquipped(FPFP_Condom)
chance *= ((100 - FPFP_Global_Contra.getValue()) * 0.01)
Ourself.UnequipItem(FPFP_Condom, false, true)
Ourself.RemoveItem(FPFP_Condom, 1)
if (Game.IsPluginInstalled("Zaz INVB_WastelandDairy.esp") == TRUE)
if Ourself.GetLeveledActorBase().GetRace() == HumanRace
FullCondom = Game.GetFormFromFile(0x0010D3, "INVB_WastelandDairy.esp") as Potion
if FPFP_Global_CondomOutcome.GetValue() == 3 || FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC
Ourself.addItem(FullCondom, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 1 || FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
Ourself.placeatme(FullCondom, 1)
endif
else
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
Ourself.addItem(Creature_Cum, 1)
elseif FPFP_Global_CondomOutcome.GetValue() == 2 ;drops
Ourself.placeatme(Creature_Cum, 1)
endif
endif
endif
elseIf Utility.RandomInt(0,99) < FPFP_Global_NPCContra.getValueint(); NPCs used contraception
chance *= ((100 - FPFP_Global_Contra.getValue()) * 0.01)
akMan.UnequipItem(FPFP_Condom, false, true)
akMan.RemoveItem(FPFP_Condom, 1)
if (Game.IsPluginInstalled("Zaz INVB_WastelandDairy.esp") == TRUE)
if akMan.GetLeveledActorBase().GetRace() == HumanRace
FullCondom = Game.GetFormFromFile(0x0010D3, "INVB_WastelandDairy.esp") as Potion
if FPFP_Global_CondomOutcome.GetValue() == 3 || FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC
akMan.addItem(FullCondom, 1)
else
akMan.placeatme(FullCondom, 1)
endif
else
if FPFP_Global_CondomOutcome.GetValue() == 4 ;Adds to NPC if Creature
akMan.addItem(Creature_Cum, 1)
else
akMan.placeatme(Creature_Cum, 1)
endif
endif
endif
else
if FPFP_Global_Cumshot.GetValue() == 1
if !akMan.GetLeveledActorBase().GetRace() == HumanRace
SP_Cumshot_Extra = FPFP_BabyHandler.WhatColourisMyCum(akMan.GetLeveledActorBase().GetRace())
if SP_Cumshot_Extra != None
SP_Cumshot_Extra.Cast(Ourself, Ourself)
else
SP_Cumshot.Cast(Ourself, Ourself)
endif
else
SP_Cumshot.Cast(akMan, akMan)
SP_Cumshot.Cast(Ourself, Ourself)
endif
endif
if FPFP_Global_Cumflation_FemaletoFemale.GetValue() == 1 || (FPFP_Global_Cumflation_FemaletoFemale.GetValue() == 0 && akMan.GetLeveledActorBase().GetSex() == 0)
if FPFP_Global_Cumflation_Toggle.GetValue() == 1 && FPFP_Global_Cumflation_Notif_boolean.GetValue() == 0
FPFP_Global_Cumflation_Notif_boolean.SetValue(1)
FPFP_Cumflation.Cumflation_Up(Ourself, akMan)
FPFP_Global_Cumflation_Notif_boolean.SetValue(0)
endif
endIf
if INVB_Global_Infect.GetValue() == 1
FPFP_STD.Infect(Ourself, akMan)
endif
Endif
Endif
If !Ourself.IsInFaction(FPFP_Preggo) && Utility.RandomFloat(0,100) <= chance
if FPFP_Global_Current_Births.GetValue() <= FPFP_Global_Total_Births.GetValue() && FPFP_Global_BirthLimit.GetValue() == 1
impregnated = true
elseIf (FPFP_Global_Current_Births.GetValue() >= FPFP_Global_Total_Births.GetValue()) && FPFP_Global_BirthLimit.GetValue() == 1 && (FPFP_Global_Total_Freeze.GetValue() == 1 || FPFP_Global_Total_Freeze.GetValue() == 2)
impregnated = false
Debug.notification("Birth Limit has been reached, Will not Impregnate")
elseif FPFP_Global_BirthLimit.GetValue() == 0
impregnated = true
else
impregnated = false
endif
Endif
workshopnpcscript Ourself_Synth = Ourself as workshopnpcscript
workshopnpcscript akMan_Synth = akMan as workshopnpcscript
If Impregnated && FPFP_Global_Synth_hidden.GetValue() == 0 && (Ourself_Synth.bIsSynth || akMan_Synth.bIsSynth)
impregnated = false
endIf
if Impregnated && FPFP_Global_SynthImpreg.GetValue() == 0 && akMan.GetLeveledActorBase().GetRace() == GhoulRace
impregnated = false
elseif Impregnated && FPFP_Global_AllowNonNPC.GetValue() <= 1 && !akMan.GetLeveledActorBase().GetRace() == HumanRace
impregnated = false
endif
If Ourself.IsInFaction(FPFP_Preggo)
impregnated = false
endif
if FPFP_Global_Impregnation_Notif_boolean.GetValue() == 0 && impregnated && !Ourself.IsInFaction(FPFP_Preggo)
FPFP_Global_Impregnation_Notif_boolean.SetValue(1)
if FPFP_Global_Impregnation_Notif.GetValue() == 0
FPE.ConceptionNotifications(Ourself, akMan, chance, impregnated, NumChildren)
elseif FPFP_Global_Impregnation_Notif.GetValue() == 1
if (INVB_Global_MessagePlayer_Impreg.GetValue() == 1 || INVB_Global_MessagePlayer_Impreg.GetValue() == 2) && (Ourself == PlayerREF || akMan == PlayerREF)
FPFP_Messages.Impregnation_Message(Ourself, akMan)
elseif INVB_Global_MessagePlayer_Impreg.GetValue() == 2
FPFP_Messages.Impregnation_Message(Ourself, akMan)
elseif INVB_Global_MessagePlayer_Impreg.GetValue() == 0
endif
elseif FPFP_Global_Impregnation_Notif.GetValue() == 2
int random_Notif = Utility.RandomInt(1, 2)
if (random_Notif == 1)
if (INVB_Global_MessagePlayer_Impreg.GetValue() == 1 || INVB_Global_MessagePlayer_Impreg.GetValue() == 2) && (Ourself == PlayerREF || akMan == PlayerREF)
FPFP_Messages.Impregnation_Message(Ourself, akMan)
elseif INVB_Global_MessagePlayer_Impreg.GetValue() == 2
FPFP_Messages.Impregnation_Message(Ourself, akMan)
elseif INVB_Global_MessagePlayer_Impreg.GetValue() == 0
endif
elseif (random_Notif == 2)
FPE.ConceptionNotifications(Ourself, akMan, chance, impregnated, NumChildren)
endif
endif
FPFP_Global_Impregnation_Notif_boolean.SetValue(0)
endif
if impregnated == false
FPE.ConceptionNotifications(Ourself, akMan, chance, impregnated, NumChildren)
endif
if FPFP_Global_Cumflation_FemaletoFemale.GetValue() == 1 || (FPFP_Global_Cumflation_FemaletoFemale.GetValue() == 0 && akMan.GetLeveledActorBase().GetSex() == 0)
if FPFP_Global_Cumflation_Toggle.GetValue() == 1 && FPFP_Global_Cumflation_Notif_boolean.GetValue() == 0
FPFP_Global_Cumflation_Notif_boolean.SetValue(1)
FPFP_Cumflation.Cumflation_Down(Ourself, akMan)
FPFP_Global_Cumflation_Notif_boolean.SetValue(0)
endif
endIf
If impregnated && !Ourself.IsInFaction(FPFP_Preggo)
int random_seed = Utility.RandomInt(1, 100)
if (random_seed <= INVB_Global_Racial_Baby_Chance.GetValue()) && akMan.HasKeyword(fpfp_DNATransfer)
if FPFP_BabyHandler.WhatBallsdoIHave(akMan)
Actor tempActor = akMan.PlaceAtMe(FPFP_BabyHandler.NewFather(akMan), abInitiallyDisabled = true) as Actor
if akMan == PlayerREF
tempActor.AddKeyword(fpfp_Father)
tempActor.AddKeyword(fpfp_noDaddy)
else
tempActor.AddKeyword(fpfp_noDaddy)
endif
Impregnate(tempActor)
tempActor.delete()
if FPFP_Global_CreatureDNAOnce.GetValue() == 1
akMan.RemovePerk(FPFP_BabyHandler.WhatBallsdoIHave(akMan))
akMan.RemoveKeyword(fpfp_DNATransfer)
endIf
else
Impregnate(akMan)
Endif
else
Impregnate(akMan)
Endif
Endif
Return impregnated
EndFunction
Function Impregnate(Actor akMan) ; akMan is the father of the baby
if Ourself.HasPerk(WLD_Perk_Pregnancy_Freezing)
Ourself.RemovePerk(WLD_Perk_Pregnancy_Freezing)
endIf
BecomePreggo(akMan) ; Does faction registration too.
IncepDate = Utility.GetCurrentGameTime()
If akMan
FatherRace = akMan.GetLeveledActorBase().GetRace()
Else
FatherRace = Ourself.GetLeveledActorBase().GetRace()
EndIf
NumChildren = 1
float theDiceResult = Utility.RandomFloat(0.0,100.0) ; Don't want to take any chances that the script system only will have 1 run of the random function in the while condition
float multiChance = FPFP_Global_MultiChance.GetValue() ; Called multiple times in the while loop, so to save us some performance, store it
int multiMax = FPFP_Global_MultiMax.GetValueInt() ; stored for ditto reason as above
While NumChildren < multiMax && (theDiceResult <= multiChance / NumChildren)
NumChildren += 1
theDiceResult = Utility.RandomFloat(0.0,100.0)
EndWhile
FirstCheck = True
if Ourself.HasPerk(WLD_Perk_Breeder)
StartTimerGameTime(FPE.GetUpdateTime_Breeder())
else
StartTimerGameTime(FPE.GetUpdateTime())
endif
FPE.SendPregEvent(Ourself, akMan, NumChildren)
if Creature_Start_1st == true
UpdateBody(Creature_Start)
if Creature_Start <= 1
Ourself.AddPerk(WLD_Perk_Month[Creature_Start as int])
endif
Creature_Start_1st = false
endif
EndFunction
Function BecomePreggo(Actor akMan)
IsPregnant = True
If Ourself != PlayerREF
If akMan == PlayerREF || akMan.HasKeyword(fpfp_Father)
INVB_Global_Preggo_Count_Player.SetValue(INVB_Global_Preggo_Count_Player.getValue() + 1)
INVB_Global_Preggo_Count_Current.SetValue(INVB_Global_Preggo_Count_Current.getValue() + 1)
if FPFP_Global_Perks_Father.GetValue() == 1
Ourself.AddPerk(WLD_Perk_Impregnated_Player)
endif
Creature_Cycle = FPFP_Global_Length_Human.GetValue()
Creature_Morph = FPFP_Global_Morph_Ghoul.GetValue()
elseif akMan.GetLeveledActorBase().GetRace() == HumanRace
INVB_Global_Preggo_Count_Cuck.SetValue(INVB_Global_Preggo_Count_Cuck.getValue() + 1)
if FPFP_Global_Perks_Father.GetValue() == 1
Ourself.AddPerk(WLD_Perk_Impregnated)
endif
Creature_Cycle = FPFP_Global_Length_Human.GetValue()
Creature_Morph = FPFP_Global_Morph_Human.GetValue()
elseif akMan.GetLeveledActorBase().GetRace() == GhoulRace
INVB_Global_Preggo_Count_Cuck.SetValue(INVB_Global_Preggo_Count_Cuck.getValue() + 1)
if FPFP_Global_Perks_Father.GetValue() == 1
Ourself.AddPerk(WLD_Perk_Impregnated)
endif
Creature_Cycle = FPFP_Global_Length_Ghoul.GetValue()
Creature_Morph = FPFP_Global_Morph_Ghoul.GetValue()
else
bool FoundFather = false
FoundFather = FPFP_BabyHandler.FoundtheFather(akMan.GetLeveledActorBase().GetRace())
if FoundFather
Creature_Perk = FPFP_BabyHandler.WhatsmyPerk(akMan.GetLeveledActorBase().GetRace())
Creature_Cycle = FPFP_BabyHandler.Howlongismypregnancy(akMan.GetLeveledActorBase().GetRace())
Creature_Cycle_Multi = FPFP_BabyHandler.WhatTwins(akMan.GetLeveledActorBase().GetRace())
Creature_Morph = FPFP_BabyHandler.HowBig(akMan.GetLeveledActorBase().GetRace())
if FPFP_Global_Creature_Faction.GetValue() == 1 || FPFP_Global_Creature_Faction.GetValue() == 3
Creature_Faction = FPFP_BabyHandler.WhatFaction(akMan.GetLeveledActorBase().GetRace())
elseif FPFP_Global_Creature_Faction.GetValue() == 2 || FPFP_Global_Creature_Faction.GetValue() == 4
Creature_Faction = FPFP_BabyHandler.WhatFaction_Friendly(akMan.GetLeveledActorBase().GetRace())
endIf
if Creature_Start == 0
Creature_Start_1st = FPFP_BabyHandler.WhendoIStart(akMan.GetLeveledActorBase().GetRace())
if Creature_Start_1st == true
GlobalVariable Power_Creature = Game.GetFormFromFile(0x004F39, "INVB_WastelandDairy.esp") as GlobalVariable
Creature_Start = Utility.RandomFloat(5 - Power_Creature.GetValue(), 5 + Power_Creature.GetValue())
endif
endif
elseIf FoundFather == false
Creature_Perk = WLD_Perk_Impregnated
Creature_Cycle = FPFP_Global_Length_Human.GetValue()
Creature_Morph = FPFP_Global_Morph_Human.GetValue()
EndIf
if FPFP_Global_Perks_Father.GetValue() == 1 && Creature_Perk != None
Ourself.AddPerk(Creature_Perk)
endif
if FPFP_Global_Creature_Faction.GetValue() >= 1
if Creature_Faction != None
Ourself.setFactionRank(Creature_Faction, 0)
if Ourself.IsInFaction(Creature_Faction)
Ourself.AddPerk(WLD_Perk_Pheromones)
endIf
endIf
endif
endif