Commit graph

308 commits

Author SHA1 Message Date
lutepickle
bd19a8c2ca Add animal pheromone slider to affect humanlikes 2023-06-18 08:48:05 -07:00
lutepickle
55b94d9d58 Fix feline fetus texture 2023-06-18 06:51:49 -07:00
lutepickle
933c3cf626 Account for simulations per hour when increasing sex need in AfterSimulator 2023-06-17 11:21:34 -07:00
lutepickle
bccf587cea Updated womb/cum/fetus graphics by Euldrop 2023-06-17 09:52:01 -07:00
lutepickle
aba8ea1693 Introduce TickIntervalMaximum constant 2023-05-19 20:07:10 -07:00
lutepickle
f40a5f2246 Little refactor in GetCumsInfo 2023-05-19 19:45:27 -07:00
lutepickle
ff22e534d1 Encapsulate calculatingOvulationChance 2023-05-18 22:37:31 -07:00
lutepickle
924dc73024 Apply cramps to the comp's parent part instead of going through RJW to find it 2023-05-14 19:25:12 -07:00
lutepickle
f8913d1ec5 Double pheromone increase 2023-05-10 09:33:20 -07:00
lutepickle
f40eed6317 Capitalize EmitRatio 2023-05-09 23:01:55 -07:00
lutepickle
1cce07d312 Remove SexSatisfaction from the first stage of pheromones 2023-05-09 23:01:16 -07:00
lutepickle
4c788906c7 Remove intensity from pheromone properties since it's just a modifier on daysToMaxSeverity 2023-05-09 15:50:36 -07:00
lutepickle
28d77ed1fb Allow pheromones to be disabled in the options 2023-05-09 10:57:49 -07:00
lutepickle
35adcf87ee Initial implementation of pheromone system 2023-05-09 10:53:08 -07:00
lutepickle
d67592e245 Replace Position with PositionHeld and Map with MapHeld 2023-05-09 09:00:33 -07:00
lutepickle
259201ec54 Have periodic ovulators properly go into anestrus if they don't bleed 2023-05-07 09:33:39 -07:00
lutepickle
d752bcfed4 Add egg restoration thought 2023-05-04 18:03:06 -07:00
lutepickle
b2e849eae1 Add new ideo-related thoughts 2023-05-04 17:52:42 -07:00
lutepickle
2601f88a2d Rename WantsToGetPregnant to IsProPregnancy and use it for cummers 2023-05-04 16:17:11 -07:00
lutepickle
45d7fc2c59 Fix spelling of overay to overlay 2023-05-04 15:18:19 -07:00
lutepickle
6f3f3d28cf Consolidate instances of TickInterval/TicksPerHour into a single function 2023-05-04 10:26:29 -07:00
lutepickle
42b465430e Account for tickinterval when considering fertility decay from antisperm 2023-05-04 10:10:15 -07:00
lutepickle
8f1c2eceb3 Add debug action to remove eggs, auto-remove eggs on setting follicular or bleeding 2023-05-04 07:54:58 -07:00
lutepickle
802fbbe3ca Simplify periodic ovulator's bleeding action 2023-05-03 22:52:30 -07:00
lutepickle
0999063728 Slight change to how ageOfLastBirth works, cut down on the save file size for breasts 2023-05-03 08:04:36 -07:00
lutepickle
6344a7c7ad Display the ovulation graphics going through the ovulation stage instead of at the end of follicular 2023-05-02 08:43:33 -07:00
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
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