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
lutepickle
f5170ca700
Merge the two pregnancy-preventing conditions into one if
2022-07-12 15:32:49 -07:00
lutepickle
8babac6378
Change argument name of GetMenstruationComp(vagina) for clarity
2022-07-12 14:47:42 -07:00
lutepickle
35b875980a
Little refactor of GetMenstruationComp(pregnancy) again
2022-07-12 14:46:39 -07:00
lutepickle
6143fb41fb
Implant at the right time for vaginas with odd luteal intervals
2022-07-12 14:43:19 -07:00
lutepickle
ea7b8e03ee
Slight refactor of GetFertileMenstruationComp
2022-07-11 19:39:41 -07:00
lutepickle
931b974bf9
Have GetMenstruationComp(pregnancy) null test
2022-07-11 19:05:21 -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
68f8124d6b
Update changelog
2022-07-11 12:55:55 -07:00
lutepickle
3d34ed1e53
Bit of a refactor to AddWombGizmos, should be nicer to the Sexperience module
2022-07-11 12:55:39 -07:00
lutepickle
699c91106f
Support for multiple vaginas
2022-07-11 11:52:27 -07:00
lutepickle
20692aaf13
Undo the CompPostPostRemoved checks, if nothing else to see what bug made them be added in the first place
2022-07-11 09:03:20 -07:00
lutepickle
902cd65375
Tiny refactor to adding stacked eggs to ovulation
2022-07-11 08:40:40 -07:00
lutepickle
6ec27b6aba
Cut down on some indentation, remove whitespace here and there
2022-07-11 08:21:42 -07:00
lutepickle
f585499871
Move RandomVariabilityPercent to MenstruationUtility
2022-07-11 07:33:42 -07:00
lutepickle
afc04d2fa5
Replace a bunch of "is null" with "== null"
2022-07-11 07:27:23 -07:00