Commit graph

216 commits

Author SHA1 Message Date
lutepickle
a38d81424a Have CalculatedImplantChance use the cached ovulation chance 2023-05-02 08:35:39 -07:00
lutepickle
e43a50522b Add StageProgressNextUpdate 2023-05-01 15:11:58 -07:00
lutepickle
82a34f8ea8 Cache the ovulation and implantation chances to spare the UI 2023-05-01 14:23:02 -07:00
lutepickle
152a745af2 Make sure a fertilized egg loads properly when loading a pre-ticks save 2023-04-29 22:28:29 -07:00
lutepickle
270ac427c8 Pawn.RaceProps is equivalent to Pawn.def.race, so be consistent with it 2023-04-29 20:32:46 -07:00
lutepickle
6dc73a848e Give the ovulation stage the color of the sex drive 2023-04-29 17:49:02 -07:00
lutepickle
dd8ae8a09b Have sexperience-ideo pregnancy precepts count for mood effects 2023-04-23 20:16:26 -07:00
lutepickle
411fd16fe9 Change the text in the GC patch to be consistent with vanilla 2023-04-23 09:36:42 -07:00
lutepickle
2e2e2a120c For induced ovulators, use a variable instead of EggExist for estrus/dangerday in luteal. 2023-04-23 08:39:49 -07:00
lutepickle
3de006dbbf Don't show the tip string for dead pawns to avoid errors 2023-04-22 21:57:09 -07:00
lutepickle
0ff5fa96d0 Show the chance of implanation in the debug log on failure 2023-04-22 12:12:53 -07:00
lutepickle
bf0334d16e Add chance to debug implanation log 2023-04-21 07:59:01 -07:00
lutepickle
baeff0ea29 Little optimization in Fertilize calculation 2023-04-20 12:31:27 -07:00
lutepickle
db6e12fa8b Make the update interval setting exponential 2023-04-19 07:32:47 -07:00
lutepickle
0a5ab0bcfb Lower fluid leak to a filth every 2.5ml 2023-04-18 09:19:41 -07:00
lutepickle
e78a86599d Have cum fertility decay at the proper rate 2023-04-18 09:13:48 -07:00
lutepickle
02200b2bfa Little cleanups 2023-04-18 07:20:35 -07:00
lutepickle
5050e192ed Simulate when the pawn has a parent spawned, too 2023-04-17 21:52:41 -07:00
lutepickle
8718cca299 Fix Props not being initialized yet when calculating periodic ovulator race cycles 2023-04-16 19:41:57 -07:00
lutepickle
2dd9147afc Base periodic ovulator egg total off of the fastest interval of the vagina 2023-04-16 18:47:45 -07:00
lutepickle
08ebaa9db3 Unconditionally initialize cum and eggs (e.g. for infertile pawns) 2023-04-16 12:26:37 -07:00
lutepickle
4af5195de9 Give eggs the proper lifetime 2023-04-16 12:20:01 -07:00
lutepickle
eddccdc2ea Remove some force saves from Egg 2023-04-15 12:15:15 -07:00
lutepickle
80243c78f1 Keep a running total of fluid leaked and emit a filth every 5 ml 2023-04-15 08:30:39 -07:00
lutepickle
89a7d410df Cut down on the savefile size by not writing default values 2023-04-15 08:05:49 -07:00
lutepickle
f2fa99853f Don't save DoCleanWomb if it's false 2023-04-15 07:41:23 -07:00
lutepickle
a5bcf696ba Make the recalculation interval long instead of daily 2023-04-14 08:23:02 -07:00
lutepickle
30329c883b Reduce the leakage per ml 2023-04-13 21:30:06 -07:00
lutepickle
a023c884d3 Fix cum not diminishing 2023-04-13 21:06:32 -07:00
lutepickle
e37940abcf Initial implementation of variable update rate 2023-04-13 20:23:45 -07:00
lutepickle
1088a4c8e9 Fix the texture path in the normal follicular, too. 2023-04-10 15:36:56 -07:00
lutepickle
25556c464e Fix bad texture error for low fertility during induced ovulator sex 2023-04-10 15:34:08 -07:00
lutepickle
334ef9d52a Fix blocking menstruation genes during pawn generation (e.g. colony setup) 2023-04-09 08:48:51 -07:00
lutepickle
80a987b0bd Just remove the ovarypower/ovulated comparsion. It's fine if ovarypower goes negative 2023-03-20 16:27:41 -07:00
lutepickle
2ac4e1f8e5 Fix wrong comparison in OvulatoryAction 2023-03-20 16:17:16 -07:00
lutepickle
cb8a001cdf Change removecums to a HashSet 2023-03-19 22:52:39 -07:00
lutepickle
f7e3d6c1c4 Switch deadeggs to a HashSet 2023-03-19 22:48:04 -07:00
lutepickle
310c03a193 Remove the early exit from the implant loop for non-RJW multiple pregnancy. This lets Biotech fraternal twins implant in the same hour. 2023-03-19 22:39:55 -07:00
lutepickle
e5aa310528 Move quirk testing into a dedicated function in anticipation of the RJW quirk submod 2023-03-17 20:07:00 -07:00
lutepickle
5924c73b2f Track birth counts with the pregenerated babies 2023-03-17 09:34:45 -07:00
lutepickle
f7348ccee8 SafeSkinColor needs to catch InvalidOperationException, too, it seems 2023-03-17 07:01:55 -07:00
lutepickle
93855c5ee7 Rework infertile decision, let the last egg ovulated potentially implant. Guarantee full drug ovulation even if eggs aren't available. 2023-03-16 12:24:47 -07:00
lutepickle
9aab479fe6 Correct PostFix to Postfix 2023-03-12 17:27:04 -07:00
lutepickle
699b3aa6d2 Fix bug introduced in ovulation rework which made induced ovulators not ovulate after follicular 2023-03-12 15:54:14 -07:00
lutepickle
de2da85558 Fix Null father in womb dialog for Biotech pregnancies 2023-03-11 14:07:55 -08:00
lutepickle
c05d8bad79 Only decrement ovary power by eggs actually ovulated, debug log under-ovulations 2023-03-11 10:21:25 -08:00
lutepickle
65b69eaf76 Shift breeder from implant chance to ovulation chane. It would overflow back down anyways. 2023-03-11 09:17:17 -08:00
lutepickle
2798d923b1 Don't show the ovulation chance on non-humans 2023-03-10 09:04:00 -08:00
lutepickle
3646f1135b Climacteric is 20% chance to skip, not 20% chance to ovulate 2023-03-06 17:52:11 -08:00
lutepickle
1aaaf50b64 Display ovaries at a lower state when ovulation chance is lower 2023-03-06 17:35:11 -08:00
lutepickle
2bb0871919 Properly set the conditions to not go/stay in the infertile stage for InfertileAction and RecoverAction 2023-03-06 17:20:49 -08:00
lutepickle
4504d02245 Switch some comp stages to GoNextStage 2023-03-06 17:05:01 -08:00
lutepickle
98cfa23b88 Replace some usage of Rand.Range with Rand.Chance 2023-03-06 16:58:23 -08:00
lutepickle
c8d32f883f New ovulation chance system 2023-03-06 16:53:22 -08:00
lutepickle
7825418da9 Properly add space before climacteric label 2023-03-06 14:40:29 -08:00
lutepickle
325b60b51c Make EggHealth properly return a float 2023-03-06 13:51:11 -08:00
lutepickle
297e37a4ef Add comment on why fixedLastName doesn't work 2023-03-06 05:49:40 -08:00
lutepickle
1bc5b45669 Fix danger day and estrus considering eggs to last 24x times as long as they should 2023-03-05 21:20:16 -08:00
lutepickle
842f6ceec1 A little code cleanup 2023-03-05 19:24:23 -08:00
lutepickle
8752aa1437 Add state to hediff tooltip, and time to next state in debug tooltip 2023-03-04 15:51:57 -08:00
lutepickle
5abdf52dbe Use GoNextStage more to properly reset curStageHrs 2023-03-02 14:42:49 -08:00
lutepickle
69934d06f5 Add patch to darken nipples during Biotech lactation, but commented out 2023-03-01 17:00:58 -08:00
lutepickle
09f9438bcc Reset the baby name deadline at birth 2023-03-01 16:29:58 -08:00
lutepickle
91142d640f Copy hair color for identical twins 2023-03-01 10:21:59 -08:00
lutepickle
b28beb8eaa Add some debug logging around the pregnancy to labor transition 2023-03-01 09:55:54 -08:00
lutepickle
ca895ef296 Show the debug due date on the gizmo for Biotech pregnancies 2023-02-28 18:02:20 -08:00
lutepickle
5c27575446 Save the Biotech twins setting 2023-02-27 21:36:31 -08:00
lutepickle
92ace30022 Properly show multiple fetuses with pregenerated babies 2023-02-27 21:33:14 -08:00
lutepickle
2b0d5dd0e6 Some mods break SkinColor to the point that even trying to access it throws a null ref, so go work around that 2023-01-25 07:11:00 -08:00
lutepickle
aba80efe58 Don't allow adding genes to pawns without wombs 2023-01-22 09:44:28 -08:00
lutepickle
9f20f78aab Remove a HarmonyDebug 2023-01-11 07:34:58 -08:00
lutepickle
71575c671e Fix error when trying to terminate a menstruation pregnancy 2023-01-11 07:32:50 -08:00
lutepickle
da7284b909 Make the HAR disabler conditional only on the configuration. There's too many birtherThing/geneticMother edge cases to make puzzling it out practical 2023-01-11 06:24:14 -08:00
lutepickle
3132992aa3 A bunch of type-safety around HAR. 2023-01-10 16:09:37 -08:00
lutepickle
2cb26ea016 HAR transpiles ApplyBirthOutcome to produce multiple children per littersize, but the pregenerated babies already handle that. So patch HAR to only produce one if our system is running 2023-01-10 12:41:11 -08:00
lutepickle
b9bfad10bb Resolve graphics on all newly generated babies, not just the first of a set 2023-01-10 08:20:22 -08:00
lutepickle
7d8228e03a Ensure that Biotech babies are born at zero ticks of age 2023-01-10 07:05:13 -08:00
lutepickle
93566b5fa3 Call ResolveAllGraphics unconditionally for babies. Also copy skinColorOverride for twins 2023-01-10 05:46:16 -08:00
lutepickle
d34c96315a Have the babies track their fathers during pregnancy 2023-01-09 08:50:50 -08:00
lutepickle
638b9f4611 Make the mod options window a bit longer just to make all the buttons appear again 2023-01-08 12:53:26 -08:00
lutepickle
08a50e47c3 Add Biotech twin option to configuration settings, disabled by default 2023-01-08 12:33:06 -08:00
lutepickle
c3176fb0e5 Integration of pregenerated babies into the womb dialog 2023-01-08 12:19:47 -08:00
lutepickle
f5f8eba037 Save option for enabling biotech twins 2023-01-08 12:02:18 -08:00
lutepickle
fcfb7cdefb Add support for pregenerated babies into Implant 2023-01-08 12:01:45 -08:00
lutepickle
89f26b2601 Add the two transpilers to allow looping through babies 2023-01-08 11:29:21 -08:00
lutepickle
e42bbdb3d4 Add the ApplyBirthOutcome transpiler 2023-01-08 10:11:58 -08:00
lutepickle
7bf9f80742 Add a missing using directive to PregnancyCommon 2023-01-07 21:23:08 -08:00
lutepickle
8aff96e5a4 Prevent two humanlikes from creating an animal for Biotech pregnancies 2023-01-07 20:58:28 -08:00
lutepickle
12c760d16c Fix periodic ovulator cycle variability 2023-01-07 20:26:13 -08:00
lutepickle
045e9548f6 Framework for pregenerated babies 2023-01-07 20:18:17 -08:00
lutepickle
3f21b760b2 Make the MethodInfos in MultiplePregnancy static. 2023-01-07 12:00:48 -08:00
lutepickle
21e471ebf3 Use the builtin BestOutcome for the childbirth ritual instead of searching our own. 2023-01-07 11:50:37 -08:00
lutepickle
b4aa55c159 Re-add GetMenstruationComp(Hediff) marked as obsolete. There's code out there that calls it. 2023-01-07 06:08:42 -08:00
lutepickle
f3e14e67b0 Initial implementation of genes 2023-01-03 22:48:06 -08:00
lutepickle
8d507a5e69 Disable breast growth for ageless pawns to prevent them from getting stuck at max size post-birth. 2023-01-03 19:11:20 -08:00
lutepickle
190173d87d Have AddNewBaby use the vanilla xenotype inheritance functions 2022-12-28 09:03:39 -08:00
lutepickle
ba3f24cba3 Only remove cramps if no other womb is bleeding 2022-12-27 06:52:33 -08:00
lutepickle
398f1b7066 Fix the biosculptor file spelling in the project file 2022-12-26 09:22:40 -08:00
lutepickle
5c3c4eff92 Update bioscultper pod icon 2022-12-25 15:51:33 -08:00
lutepickle
f235c32af1 Add HediffComp_PeriodicOvulator 2022-12-25 15:41:36 -08:00