Commit graph

165 commits

Author SHA1 Message Date
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
98f0580577 Remove old PeriodRandomizer 2022-07-08 10:17:02 -07:00
lutepickle
4dbfe6c1d5 Correct comment on CumIn, remove stray semicolon 2022-07-08 09:34:43 -07:00
lutepickle
02194fe941 Remove Stage_Fertilized translations 2022-07-08 09:28:37 -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
b2e26f2f1b New ovary power calculation for all vaginas. While at it, remove old deviation factor since it's obsolete, too. 2022-07-07 16:17:12 -07:00
lutepickle
eade57bd9e Update default values 2022-07-07 12:37:12 -07:00
lutepickle
a90d6bf343 Implement exponential fertilization chance 2022-07-07 12:23:45 -07:00
lutepickle
8a048ea7e5 Cum fertility overhaul. Now track volume and fertility percentage instead of fertvolume. 2022-07-07 12:14:47 -07:00
lutepickle
24e7f93bcc Cumming inside someone with an IUD adds the full volume. 2022-07-07 12:00:46 -07:00
lutepickle
c7a2f0c55d Make not-cum not fertilize 2022-07-07 11:28:09 -07:00
lutepickle
16bb69372c Revert "Remove unused Egg() constructor"
Rimworld might be using it after all

This reverts commit 9c9e120b92.
2022-07-07 11:15:37 -07:00
lutepickle
258f68a88d Some checks for initializing the currentIntervalHours. Also fix the capitalization 2022-07-07 11:14:04 -07:00
lutepickle
07221e01a8 Fix stage hours in GetEggIcon 2022-07-07 11:09:42 -07:00
lutepickle
5c1fb93613 Proper check for the new speed/variability on init 2022-07-07 10:57:44 -07:00
lutepickle
4737641673 Refactor the climacteric stage functions into the normal stage functions 2022-07-07 10:50:49 -07:00
lutepickle
9cc8897103 Initial implementation of new variance code 2022-07-07 10:28:53 -07:00
lutepickle
9c9e120b92 Remove unused Egg() constructor 2022-07-07 07:58:32 -07:00
lutepickle
805b7afa81 FertilizationCheck doesn't need to return anything 2022-07-07 07:55:33 -07:00
lutepickle
60a842fd2b Eggs implant at half luteal or 30 days, whichever comes first. 2022-07-07 07:52:43 -07:00
lutepickle
a1250f4141 Fix 'folicularIntervalDays' typo 2022-07-07 07:30:16 -07:00
lutepickle
93218a8aa1 Use a weighted random when determining the stage of a new pawn 2022-07-07 07:26:53 -07:00
lutepickle
983e112edd Fertilized eggs never decay 2022-07-07 07:01:20 -07:00
lutepickle
5e164b74df Remove obsolete RJW_Sire/RJW_Pup relations 2022-07-07 06:55:44 -07:00
lutepickle
b6bef2206e Remove obsolete Stage.Fertilized 2022-07-07 06:51:39 -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
31d6fce892 Remove unused parameter in DrawHediffRow_Patch 2022-06-08 06:37:04 -07:00
lutepickle
56691171b4 Implement random tick timing 2022-06-05 11:06:57 -07:00
lutepickle
617ed4bfe0 Make menstruation tickinterval a const 2022-06-05 06:22:54 -07:00
lutepickle
f1fcbf13c1 Handle a null pawn's cum in fertilization 2022-06-04 21:42:59 -07:00
lutepickle
156dfc5f3e One less magic number 2022-06-04 18:09:34 -07:00
lutepickle
4ebf45aeb8 Make fertilization add to the pawn's record again 2022-06-03 23:32:33 -07:00
lutepickle
b5b9002930 Make the pregnant breast growth start/end a const instead of a magic number 2022-06-03 20:22:32 -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