Commit Graph

178 Commits

Author SHA1 Message Date
lutepickle 105c4df01f Rewrite nipple system to a simpler version 2022-07-28 21:06:51 -07:00
lutepickle dab0913032 Rename again to enzygoticSiblings for consistency with the configuration option 2022-07-27 18:37:01 -07:00
lutepickle aab02f07fb Copy RJW parts across enzygotic siblings at birth 2022-07-27 11:49:57 -07:00
lutepickle 073043bb05 Remove sex ability from womb gizmo, at least for now. 2022-07-26 16:04:52 -07:00
lutepickle e4b4badfad Merge 1.0.7.0 2022-07-26 05:53:32 -07:00
lutepickle 1f74ab9286 Have Miscarry remove the comp's pregnancy first, otherwise there's a possible infinite loop 2022-07-25 10:08:08 -07:00
lutepickle 0e04c7660b Put the "comp missing" message in doimpregnate behind the debug setting. 2022-07-25 06:28:19 -07:00
lutepickle d0210c23bf Add an explanation to the CompPostPostRemoved check, as well as refactor the checks a bit 2022-07-20 10:27:11 -07:00
lutepickle 54e41b7aa4 (Re-)work around a bug in RJW (and potentially any number of other mods) that causes CompPostPostRemoved to be called on the wrong pawn. 2022-07-20 09:56:04 -07:00
lutepickle 1125930869 Make AllVaginas less hardcoded 2022-07-20 08:37:36 -07:00
lutepickle ef115b03fd GetMenstruationComps is used in enough places it's worth a little caching 2022-07-16 14:16:39 -07:00
lutepickle 92fab44764 Simplify a bunch of for loops into functions 2022-07-14 19:12:28 -07:00
lutepickle 1a875dba1c Refactor the transition to ovulation, eliminate some code duplication in follicular and bleeding actions between standard and induced ovulation 2022-07-14 16:24:59 -07:00
lutepickle 5d98d23541 Add code for girlcum, but leave it disabled for now 2022-07-14 15:46:13 -07:00
lutepickle 08c6c28c81 In the context of menstruation, CanImpregnate is called to see if the cum being added is fertile. In RJW, already being pregnant is enough to block a new one, but in menstruation it's fine if fertile cum enters a pregnant womb, or if cum goes into a different womb than the pregnant one. So never have a pawn with a womb be considered pregnant for those checks.
The other times that CanImpregnate is called is for the fetish, but that's already checked against DangerDay.

Also add some more null checks for the transpilers.
2022-07-13 16:50:06 -07:00
lutepickle 05029858d5 Get the right menstruation comp when impregnating. Also remove CanFertilize, it's too much of a pain 2022-07-13 15:44:26 -07:00
lutepickle 28cc9755fd Revert "Bit of a refactor to AddWombGizmos, should be nicer to the Sexperience module"
This reverts commit 3d34ed1e53.
2022-07-13 07:44:47 -07:00
lutepickle 2b8d822542 For multiple vaginas, concealed estrus won't occur if in visible estrus, and visible estrus will cancel concealed estrus 2022-07-12 19:09:19 -07:00
lutepickle 6143fb41fb Implant at the right time for vaginas with odd luteal intervals 2022-07-12 14:43:19 -07:00
lutepickle 70346a0901 Remove availableWomb from CanFertilize. It's only used for fetishes, and it won't be DangerDay if they're all pregnant 2022-07-11 18:30:59 -07:00
lutepickle c0043d2936 Support for multiple concurrent pregnancies 2022-07-11 18:23:08 -07:00
lutepickle 768f000c5d Rebuild 2022-07-11 12:56:04 -07:00
lutepickle 699c91106f Support for multiple vaginas 2022-07-11 11:52:27 -07:00
lutepickle 1133255b0a Rearrange LutealAction to let the stage end with fertilized eggs 2022-07-10 08:05:08 -07:00
lutepickle 9f66a3ea52 Missing elses in Follicular actions 2022-07-08 18:43:13 -07:00
lutepickle 96c81c70bf Use Max for the avglittersize 2022-07-08 18:35:47 -07:00
lutepickle 096f941762 Account for bleeding when calculating induced ovulator ovary power, for all zero of them that bleed 2022-07-08 14:51:24 -07:00
lutepickle 58b2e4983c Apply cycle speed properly to ovary power by age 2022-07-08 12:10:52 -07:00
lutepickle f612e0df24 Properly apply cycleSpeed to PeriodRandomizer 2022-07-08 10:28:21 -07:00
lutepickle 862696eef1 Make the recursion limiter on RandomVariabilityPercent return the proper value 2022-07-07 19:09:06 -07:00
lutepickle 5abfa07638 Make the 'sperm lifespan' tip account for drainage, too. Also add a "10 ml" tip for fertilization chance 2022-07-07 18:28:34 -07:00
lutepickle ba11cf867c Build 2022-07-07 17:34:08 -07:00
lutepickle 4e3fa05af9 Make not-cum not fertilize 2022-07-07 11:27:44 -07:00
lutepickle 75fe253911 Give animal children the standard mother/father relations instead of the old RJW_Sire/RJW_Pup ones 2022-07-02 07:55:31 -07:00
lutepickle b7a911000e Rename PawnGCPass_Patch to AccumulatePawnGCData_Patch 2022-07-02 07:30:27 -07:00
lutepickle f503deb09e Have a pawn that becomes fertile go into anestrus if they're out of season. 2022-06-25 20:07:23 -07:00
lutepickle 14174396b0 Increase ovipostor semen to make up for the lowered fert chance 2022-06-25 11:15:54 -07:00
lutepickle 3ac49afade Make the initial fertilization graphic based on the configured acceleration 2022-06-21 23:11:59 -07:00
lutepickle f021316869 Don't show the implanted egg icon when it's a mechanoid pregnancy 2022-06-21 21:00:37 -07:00
lutepickle 6283baa778 Make the IsNull checks in the hybrid extensions return true if thingDefName really is null. Also add another null check when searching for a hybrid. 2022-06-19 17:09:04 -07:00
lutepickle 204fe0ecc7 Fix null fertilizer when an egg tries to implant 2022-06-16 17:57:52 -07:00
lutepickle 1ef735f328 Migrate Harmony dependency to NuGet 2022-06-16 16:59:34 -07:00
lutepickle 56691171b4 Implement random tick timing 2022-06-05 11:06:57 -07:00
lutepickle f1fcbf13c1 Handle a null pawn's cum in fertilization 2022-06-04 21:42:59 -07:00
lutepickle 4ebf45aeb8 Make fertilization add to the pawn's record again 2022-06-03 23:32:33 -07:00
lutepickle 961e7f7b73 Better anti-prune algo. Also won't prune pawns with sperm/egg in a player faction/prisoner womb 2022-06-03 14:45:31 -07:00
lutepickle b814412eb0 Don't prune pawns with sperm or a fertilized egg in a colonist's womb 2022-06-03 11:04:39 -07:00
lutepickle 5e818ab879 Make IsInEstrus into a Pawn extension 2022-06-03 09:06:18 -07:00
lutepickle 9d83860d55 Have the first fertilized graphic go off of just the CycleFactor 2022-06-03 07:57:48 -07:00
lutepickle e09c4aeb97 Move gather cum gizmo text to this project to account for sexperience removing it 2022-06-02 12:36:54 -07:00
lutepickle c082c70e68 Add a proper weighted random algo for selecting paternity 2022-06-02 12:31:31 -07:00
lutepickle 5b784c3c59 Display ovaries on the womb dialog when near ovulation 2022-05-31 18:14:11 -07:00
lutepickle bba7fd8dbb Use more of the fertilization graphics 2022-05-31 12:09:04 -07:00
lutepickle 3aa0450b87 Remove some milder "he came inside" memories when a harsher one is applied. Should reduce unwanted stacking. 2022-05-31 09:54:58 -07:00
lutepickle e29c7a732a Might as well refactor RecoveryAction out to match the rest 2022-05-31 08:36:27 -07:00
lutepickle 0a7e80b353 Add a short description when mousing over the phase in the womb dialog 2022-05-31 08:10:53 -07:00
lutepickle f909b8cfce Fix pawn generation for off-map pawns. 2022-05-30 20:22:47 -07:00
lutepickle c4f5e6b63c A whole mess of spelling, grammar, and description updates 2022-05-30 20:04:48 -07:00
lutepickle b292c3f931 Properly initialize ovaries for bad litterSizeCurves 2022-05-30 16:54:41 -07:00
lutepickle 7461965174 Add message feedback to the debug actions 2022-05-28 19:18:35 -07:00
lutepickle 41054f979e Update the hookup transpilers to apply the estrus overrides in the other direction. 2022-05-28 19:05:10 -07:00
lutepickle 72e1712394 Set a newly initialized pawn to anestrus when out of season. 2022-05-28 17:55:13 -07:00
lutepickle b6f220b30b Show the status button in the health tab for pawns with a vagina as a second hediff. 2022-05-28 17:53:20 -07:00
lutepickle 42cd7a98ae Show womb gizmo for any gender 2022-05-27 17:59:36 -07:00
lutepickle d5f87d0e45 Refactor IsDangerDay into a switch. 2022-05-14 16:50:27 -07:00
lutepickle 1a452cb120 Add a check for BabyHalfAge <= 0, just to be sure 2022-05-14 05:23:53 -07:00
lutepickle 2872d42f67 Fix BabyHalfAge for races with one lifestage 2022-05-13 22:01:07 -07:00
lutepickle e377f01a7d Make the transpiler noisier when it hits an error. Hopefully it'll make breakages more obvious. 2022-05-11 08:33:33 -07:00
lutepickle 52f9a10496 Fix the transpiler for FindBestPartner 2022-05-09 22:36:53 -07:00
lutepickle d9ab6cdcde On a littersizecurve exception, show the message in the log 2022-05-07 19:44:54 -07:00
lutepickle 0e34e3d4cc More parenthesis in ThoughtCumInside because I don't trust the compiler 2022-05-06 20:37:23 -07:00
lutepickle 3d5e1cae15 Locked absorbers can't get dirty or cause infections 2022-05-03 22:23:47 -07:00
lutepickle 47d249e716 Update birth faction assignments to match RJW's. 2022-04-29 07:00:41 -07:00
lutepickle 4c2233659a Slight refactor of Roll_To_Skip_Patch.Transpiler and FindBestPartner_Patch.Transpiler. 2022-04-28 15:50:16 -07:00
lutepickle 2e6565fcc6 Resize main settings window dynamically based on selected options. 2022-04-28 11:00:24 -07:00
lutepickle 7b5f0880ed Remove unnecessary parameters from Harmony patches. 2022-04-28 09:52:51 -07:00
lutepickle 00ad2e94d4 The GetBodyFactor patch doesn't need to test for __result <= 0, as that isn't possible. While I'm at it, a slight refactor in CountSatisfiedQuirks. 2022-04-28 09:18:50 -07:00
lutepickle 71f3ba9585 Animals will prefer partners in estrus 2022-04-27 22:13:50 -07:00
lutepickle fffd4f5f00 Fix null reference on missing hybrid def 2022-04-27 17:42:02 -07:00
lutepickle 1eaa459e04 Put a few nameof()s in the Harmony patches 2022-04-27 11:10:58 -07:00
lutepickle 1c24fab708 Concealed estrus gets a (very small) boost, too 2022-04-27 10:28:40 -07:00
lutepickle 3009a3c6ef Make the estrus hookup override only apply to pawns that can get them pregnant 2022-04-27 07:12:17 -07:00
lutepickle c5622a10f8 Shift the priorities of the came inside moods a bit 2022-04-27 06:33:31 -07:00
lutepickle 3f02fde439 Allow different hookup settings during estrus 2022-04-26 18:47:33 -07:00
lutepickle 191e4ab5d9 A pawn in estrus will prefer partners that can impregnate them, and prefer to use their vagina 2022-04-26 11:49:20 -07:00
lutepickle 3a044e8bd9 Build dlls 2022-04-26 05:26:02 -07:00
lutepickle b0984f6d61 Rebuild dlls after merge 2022-04-22 21:54:21 -07:00
lutepickle a7968b530d Proper rewrite of induced ovulator dangerday 2022-04-17 22:40:30 -07:00
lutepickle 92d732992a Fix null ref when bleeding 0, add debug action to clear out a womb. 2022-04-17 21:39:18 -07:00
lutepickle 0f9bfcd302 Fix CumIn of 0 volume (e.g. setting bleed rate to 0 ml/h) 2022-04-17 19:16:15 -07:00
lutepickle 1511c40001 Make the debug luteal action actually set to luteal 2022-04-06 08:46:57 -07:00
lutepickle 477468f8e4 Proply handle bad litter sizes 2022-04-03 22:12:45 -07:00
lutepickle 23b09b0fa9 Add debug action to recalculate ovary power 2022-03-19 16:32:17 -07:00
lutepickle 38b16c75c3 Set newly initialized (e.g. newborn) pawns' stage to Young if they have 0 fertility 2022-03-19 16:29:48 -07:00
lutepickle 3ae66bd4a6 A whole mess of suggested code refactorings 2022-03-18 09:34:17 -07:00
lutepickle 9e8441ca2e Fix the 'consealed' typo 2022-03-18 07:14:14 -07:00
lutepickle 052b7661e4 Alter updateTraits to properly handle zygotic twin inheritance for differing number of natural traits 2022-03-17 12:14:01 -07:00
lutepickle 26b49379b1 Add various debug actions 2022-03-17 09:19:19 -07:00
lutepickle 531313f5d2 Enzygotic twins get the same inherited traits 2022-03-17 08:17:53 -07:00
lutepickle 8013481634 Properly count quirks for impregnation fetish 2022-03-16 12:28:37 -07:00