Commit graph

230 commits

Author SHA1 Message Date
lutepickle
df1455ece2 Refactor AddNewBaby a bit so enzygotic twins get registered for babies without a story. And a smidge more tolerant of null pawn generation 2022-07-27 21:09:46 -07:00
lutepickle
dab0913032 Rename again to enzygoticSiblings for consistency with the configuration option 2022-07-27 18:37:01 -07:00
lutepickle
b6169227e7 Null check the right thing in CopyBodyPartProperties 2022-07-27 14:42:53 -07:00
lutepickle
9b0363aec2 Slightly more efficient comp copier for menstruation and breast 2022-07-27 14:41:17 -07:00
lutepickle
3cca6db53e Copy comp.EffSize after all. Some submod might use it 2022-07-27 14:39:19 -07:00
lutepickle
dbebba0d45 Rename zygotes to monozygoticSiblings 2022-07-27 14:35:36 -07:00
lutepickle
5b6093fd86 Rename ProcessIdenticalZygote to ProcessIdenticalSibling 2022-07-27 14:32:50 -07:00
lutepickle
aab02f07fb Copy RJW parts across enzygotic siblings at birth 2022-07-27 11:49:57 -07:00
lutepickle
ff7a06af99 Ovulate based off of the pawn's def instead of their raceprops 2022-07-26 21:16:36 -07:00
lutepickle
fdc4dd4612 Add dependency on cum to sexperience module 2022-07-26 17:23:12 -07:00
lutepickle
073043bb05 Remove sex ability from womb gizmo, at least for now. 2022-07-26 16:04:52 -07:00
lutepickle
ff039e3065 Have get_Pregnancy test to see if the pawn has the hediff. Won't happen for MultiplePregnancy, but the base pregnancy and the nonstandard ones will.
Mostly useful for the window between a pregnancy ending and the last PregnantAction firing.
2022-07-25 11:45:18 -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
fdd1bb682a Adjust the spacing in the womb dialog to put the fert/implant chance back where it was 2022-07-23 20:50:57 -07:00
lutepickle
62f37dcac8 Revert "Originvagsize is unused and took up save file space, so get rid of it"
This reverts commit d8fcb15f39.
2022-07-23 19:59:23 -07:00
lutepickle
0de63e3bed Remove earned money by whore from pawn stat since RJW 5.0.0 removes whoring 2022-07-23 19:44:20 -07:00
lutepickle
b0578469d1 Switch to using RJW's vagina def instead of searching ourselves 2022-07-23 19:43:33 -07:00
lutepickle
20c18c2904 Rimworld already has TaleDefOf.GaveBirth, so just use that one 2022-07-23 15:49:33 -07:00
lutepickle
68793ff811 Have the postbirth patch use VariousDefOf.AllVaginas 2022-07-22 09:32:32 -07:00
lutepickle
2407b52e3b Only show the "tick scheduler removed" messages when debug is enabled 2022-07-22 08:50:45 -07:00
lutepickle
d8fcb15f39 Originvagsize is unused and took up save file space, so get rid of it 2022-07-21 23:12:32 -07:00
lutepickle
52b0c3ab95 Let the pregnancy detector in the initialization pick up multiple pregnancies, just in case 2022-07-21 19:18:48 -07:00
lutepickle
3f3977b3c7 Probably can't happen, but add a check in GiveBirth for null menstruation comp 2022-07-20 12:43:35 -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
947c61c8a2 Rimworld doesn't permit direct-adding a sibling relation, so remove all that code 2022-07-20 10:00:17 -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
57998a3895 Add tale for coming inside 2022-07-20 06:01:48 -07:00
lutepickle
2f5bf19ea6 Record the GaveBirth tale when a human is born 2022-07-18 08:41:32 -07:00
lutepickle
8b93398466 Replace usages of System.Random with RW's Rand 2022-07-18 07:05:39 -07:00
lutepickle
697b837a4d Move GetRacesPawnKind to Utility 2022-07-18 07:00:15 -07:00
lutepickle
76c2a67390 Properly generate babies with mismatched pawn def and pawnkind 2022-07-18 06:28:01 -07:00
lutepickle
f89bdaad46 Remove warning in PregnantAction. That scenario can occur after an egg or mechanoid pregnancy 2022-07-17 15:56:47 -07:00
lutepickle
660b26f35a Rename VariousDefOf.Vagina/VaginaCompProperties (used in the config screen) to HumanVagina for clarity 2022-07-16 14:52:51 -07:00
lutepickle
b0b7ffba50 Associate the post-birth vagina morph with the one that was pregnant 2022-07-16 14:50:01 -07:00
lutepickle
4f72320696 Add the new AllVaginas to a few more places 2022-07-16 14:45:09 -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
6383823e34 Null check in GetMenstruationComps, probably unnecessary. Also simplify HasMenstruationComp 2022-07-16 07:30:34 -07:00
lutepickle
5a64a081c2 Use explicit types instead of var everywhere 2022-07-16 07:11:58 -07:00
lutepickle
92fab44764 Simplify a bunch of for loops into functions 2022-07-14 19:12:28 -07:00
lutepickle
aa81fae8bd Let climacteric re-apply when anestrus goes back into season 2022-07-14 18:32:14 -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
6e841a3836 Slight simplification of SetEstrus 2022-07-12 19:31:24 -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
1907820265 Whole bunch of code cleanup, mostly using and whitespace 2022-07-12 15:49:55 -07:00