Commit graph

279 commits

Author SHA1 Message Date
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
2696c2b1f0 Update Traditional Chinese translation by Hydrogen 2023-04-11 06:09: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
f99d833e71 Set canine vaginas to periodic ovulation 2023-03-04 15:49:53 -08:00
lutepickle
51bc32248a Remove milk patch that was breaking MC's textures 2023-03-03 15:11:35 -08:00
lutepickle
e4583fe9d7 Add placeholder graphic for genes 2023-03-02 18:55:29 -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
672e6f6ecc Remove unneeded milk bottle graphics 2023-02-13 10:22:23 -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
da9903aaf9 Updated Traditional Chinese by Hydrogen 2023-01-07 06:46:15 -08:00
lutepickle
22b2aca312 Change the terminology of the gene descriptions a bit 2023-01-07 06:28:16 -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
68f05dc272 The genes aren't inheritable, so don't bother saying "born with" in the egg multiplier descriptions. Leave support in the code, though. 2023-01-07 05:32:19 -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
1a1bc2e385 Small update to option text 2023-01-02 17:45:30 -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
lutepickle
b3ffe9afed Have luteal advance at curStageHrs == currentIntervalHours for consistency with the other stages 2022-12-25 14:32:52 -08:00
lutepickle
def93aa218 Let about a third of penises precum during sex 2022-12-25 11:51:20 -08:00
lutepickle
70d65d379c Impregnation fetishists are less likely to pull out 2022-12-25 10:36:21 -08:00
lutepickle
ecc849e85f Make ovipostor cum fertility go off of the right pawn 2022-12-25 09:18:51 -08:00
lutepickle
22a52093cb Reduce cumin chance for avoid pregnancy approach 2022-12-25 08:51:42 -08:00
lutepickle
8c0a8f05d1 A little cleanup 2022-12-25 06:38:58 -08:00
lutepickle
cf2eff9556 Move the biosculpter patch since it's not Biotech 2022-12-25 06:36:56 -08:00
lutepickle
8d919739bf Produce baby naming letter in multiple pregnancy 2022-12-24 20:24:49 -08:00
lutepickle
f6552b3a68 Add a biosculptor recipe to restore eggs 2022-12-24 19:44:07 -08:00
lutepickle
2bc1133861 Capitalize DoImpregnate_Patch to match RJW's capitalization 2022-12-15 14:47:20 -08:00
lutepickle
bbd8030cc6 Update ingestion hediff giver for Biotech 2022-12-11 10:25:12 -08:00
lutepickle
221883c2fc Add option to hide womb status for drafted pawns 2022-12-11 10:21:01 -08:00
lutepickle
9c2c0dc5aa Properly capitalize Configurations.SetToDefault 2022-12-11 06:34:06 -08:00
lutepickle
2b38631d07 Change folder name to fix Traditional Chinese translation 2022-12-08 20:25:23 -08:00
lutepickle
a917a940ee Add a function to damage pants based on fluid leakage. Not yet called by anything 2022-11-29 10:11:28 -08:00
lutepickle
60343e8b3f Have the breasts grow and shrink for Biotech pregnancies, too 2022-11-27 09:33:19 -08:00
lutepickle
06039238d2 Additional safety checks for the transpilers 2022-11-26 15:20:52 -08:00
lutepickle
c955221f64 Shift the HAR generation to only the first baby of a set. 2022-11-26 15:20:16 -08:00
lutepickle
82440db26b Set up the xenotype inheritance for all babies, not just enzygotic ones 2022-11-25 07:52:16 -08:00
lutepickle
9891f72fc6 Poke HAR to generate parts early for enzygotic duplication 2022-11-25 07:40:45 -08:00
lutepickle
08d84801a6 HAR added headVariant and bodyVariant, so duplicate those for enzygotic siblings, too. 2022-11-24 17:24:21 -08:00
lutepickle
86aef06981 Do the post-pregnancy breast growth for Biotech births. 2022-11-24 07:12:30 -08:00
lutepickle
fe20e9d78b Have terminate pregnancy operation work on multiple pregnancies. Only remove the one that is the least far along. 2022-11-22 17:48:20 -08:00
lutepickle
1b5e204795 Set new babies to baseliner if there's no xenotype to inherit 2022-11-20 21:26:03 -08:00
lutepickle
8d0d980048 Null check in the xenotype decider 2022-11-20 12:42:40 -08:00
lutepickle
5a17c0e72f Update for the RJW function changes. Again. 2022-11-18 06:48:43 -08:00
lutepickle
7eee57709d Re-enable Animal Genetics support 2022-11-17 09:19:46 -08:00
lutepickle
889e8f90f2 Remove obsolete melanin references 2022-11-16 19:19:18 -08:00
lutepickle
21144b0005 Rename gizmo patch file to match the others 2022-11-16 08:19:04 -08:00
lutepickle
80686dc008 Update for RJW 5.3.0.7 2022-11-16 07:46:02 -08:00
lutepickle
8b7902bc8a Pick up pregnancies on embryo implantation 2022-11-10 22:31:14 -08:00
lutepickle
a8793765c5 Deduct an egg from a pawn's ovaries upon extraction 2022-11-10 21:46:42 -08:00
lutepickle
0154f89438 Don't allow ovum extraction for menopausal pawns 2022-11-10 21:25:07 -08:00
lutepickle
4f2830084c Have pawns with sterile genes start infertile 2022-11-10 08:19:56 -08:00
lutepickle
b615b85597 Update race support patches for new and removed vaginas 2022-11-09 08:26:21 -08:00
lutepickle
3811b6cf0f Remove 'you need to restart' messages from the configs as that doesn't apply anymore 2022-11-08 18:08:51 -08:00
lutepickle
225e1fe143 Add a sterile genes check in the infertile and recovery actions 2022-11-05 07:59:44 -07:00
lutepickle
b9494a9acc Min is not max. Again 2022-11-05 07:57:44 -07:00
lutepickle
2a7feede8b Null check Biotech fathers in womb window 2022-11-04 17:25:03 -07:00
lutepickle
06fbc0e188 Remove redundant assignments 2022-11-04 12:07:44 -07:00
lutepickle
6fe38eb46e Respect Biotech IUDs 2022-11-04 12:06:03 -07:00
lutepickle
742381dd54 Don't run the cycle for pawns that are genetically sterile 2022-11-04 10:52:25 -07:00
lutepickle
ba6f1886d1 Males with sterile genes cum 0 fertility sperm 2022-11-04 10:44:33 -07:00
lutepickle
0647d25fa2 Don't need the null check in enzygoticSiblings anymore in 1.4 2022-11-04 09:18:27 -07:00