Compare commits

...

9 Commits

Author SHA1 Message Date
Vegapnk 6604f1206b Updated Documentation Files 2022-12-18 22:28:05 +01:00
Vegapnk 6304ccf475 Changed Image for Insect Breeder Gene, new Approach for Insect Egg Fertilization 2022-12-18 22:05:52 +01:00
Vegapnk 12c3b20971 Re-Centered some Images 2022-12-18 12:16:03 +01:00
Vegapnk 76d6a11bc3 Added Images to Genes, leftover removal from GeneDefOf 2022-12-18 11:58:19 +01:00
Vegapnk f379299bc7 Removed normal Genitalia Classes 2022-12-18 10:29:59 +01:00
Vegapnk 2280f559cd Removed
'normal' genitalia genes, they are redundant I think
2022-12-18 10:29:11 +01:00
Vegapnk 18f13876b6 Some Renaming in Animal Inheritance 2022-12-18 10:25:57 +01:00
Vegapnk a6b82080ec Merge branch 'main' of https://github.com/vegapnk/RJW-Genes 2022-12-18 09:56:13 +01:00
Vegapnk 758a2d5e2e Added a big batch of Images 2022-12-18 09:54:46 +01:00
69 changed files with 276 additions and 305 deletions

View File

@ -9,10 +9,18 @@ As your help is highly appreciated, there are only three *hard constraints*:
But please consider also the following:
* Please try to make an issue with your idea first or ping me (Vegapunk)
* Please try to make an issue with your idea first or ping me (Vegapnk)
* Keep commit messages on the topic and meaningful
* Give me some time to review things. I can either mod, play or have a life.
## Contributors
- Shabalox (MechBreeding, InsectBreeding)
- Shabalox (MechBreeding, InsectBreeding, Animal Gene Inheritance)
## Other Credits
**Image Credits**
- Many of the Icons I made (e.g. Genitalia Types) include things from [OpenMoji](https://openmoji.org/) which is awesome
- Placeholder, Rapist, Necrophile come from [RJW-Sexperience Ideology](https://gitgud.io/amevarashi/rjw-sexperience-ideology/)
- Hypersexual & Zoophile comes from [RJW](https://gitgud.io/Ed86/rjw)

Binary file not shown.

View File

@ -15,7 +15,7 @@
<defName>rjw_genes_insectincubator</defName>
<label>InsectIncubator</label>
<description>Pawns with this gene are able to hold more insect eggs.</description>
<iconPath>World/WorldObjects/Expanding/Mechanoids</iconPath>
<iconPath>Genes/Icons/More_Egg_Space</iconPath>
<displayOrderInCategory>52</displayOrderInCategory>
<displayCategory>rjw_genes_breeding</displayCategory>
</GeneDef>
@ -24,7 +24,7 @@
<defName>rjw_genes_insectbreeder</defName>
<label>InsectBreeder</label>
<description>Pawns with this gene are able to fertilize eggs with any fertile penis.</description>
<iconPath>World/WorldObjects/Expanding/Mechanoids</iconPath>
<iconPath>World/WorldObjects/Expanding/Insects</iconPath>
<displayOrderInCategory>53</displayOrderInCategory>
<displayCategory>rjw_genes_breeding</displayCategory>
</GeneDef>
@ -34,7 +34,7 @@
<label>Zoophile</label>
<displayCategory>rjw_genes_breeding</displayCategory>
<description>Xenotypes with this Gene are Zoophile.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Zoophile_2</iconPath>
<displayOrderInCategory>54</displayOrderInCategory>
<forcedTraits>
<li>

View File

@ -12,7 +12,7 @@
<defName>rjw_genes_no_cum</defName>
<label>No Cum</label>
<description>Males of these species have no fluid.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/No_Cum</iconPath>
<geneClass>RJW_Genes.Gene_NoCum</geneClass>
<displayOrderInCategory>533</displayOrderInCategory>
<biostatCpx>0</biostatCpx>
@ -23,7 +23,7 @@
<defName>rjw_genes_much_cum</defName>
<label>Much Cum</label>
<description>Males of this species produce a lot of fluid.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Bonus_Cum</iconPath>
<geneClass>RJW_Genes.Gene_MuchCum</geneClass>
<displayOrderInCategory>534</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
@ -34,7 +34,7 @@
<defName>rjw_genes_very_much_cum</defName>
<label>Very Much Cum</label>
<description>Males of this species produce a whole lot of fluid. They are like fountains basically.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Much_Bonus_Cum</iconPath>
<geneClass>RJW_Genes.Gene_VeryMuchCum</geneClass>
<displayOrderInCategory>535</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
@ -46,7 +46,7 @@
<label>Likes Cumflation</label>
<displayCategory>rjw_genes_cum</displayCategory>
<description>This Xenotype loves being cumflated.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Cumflation</iconPath>
<displayOrderInCategory>536</displayOrderInCategory>
<forcedTraits>
<li>
@ -63,7 +63,7 @@
<label>Cumflation Immunity</label>
<displayCategory>rjw_genes_cum</displayCategory>
<description>This Xenotype cannot get cumflated.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Cumflation_Immunity</iconPath>
<displayOrderInCategory>537</displayOrderInCategory>
<exclusionTags>
<li>NotCumflatable</li>
@ -76,7 +76,7 @@
<label>Generous Donor</label>
<displayCategory>rjw_genes_cum</displayCategory>
<description>When this Xenotype transfers nutrition via cumshot, the giver will not get hungry. (Licentia Configuration for Transfer Nutrition must be enabled).</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Generous_Donor</iconPath>
<displayOrderInCategory>538</displayOrderInCategory>
</GeneDef>

View File

@ -6,7 +6,7 @@
<label>Elasticity</label>
<displayCategory>rjw_damage</displayCategory>
<description>This Xenotype cannot get stretched by huge penetrators.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Elasticity</iconPath>
<geneClass>RJW_Genes.Gene_Elasticity</geneClass>
<displayOrderInCategory>1</displayOrderInCategory>
</GeneDef>

View File

@ -9,7 +9,7 @@
<defName>rjw_genes_extra_penis</defName>
<label>extra penis</label>
<description>Males of this species grow an additional penis .</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/extra_male</iconPath>
<geneClass>RJW_Genes.Gene_ExtraPenis</geneClass>
<displayOrderInCategory>701</displayOrderInCategory>
<exclusionTags>
@ -21,7 +21,7 @@
<defName>rjw_genes_no_penis</defName>
<label>no penis</label>
<description>Males of this do not have a penis.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/No_Male_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_NoPenis</geneClass>
<displayOrderInCategory>702</displayOrderInCategory>
<exclusionTags>
@ -34,7 +34,7 @@
<defName>rjw_genes_extra_vagina</defName>
<label>extra vagina</label>
<description>Females of this species grow an additional vagina .</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/extra_female</iconPath>
<geneClass>RJW_Genes.Gene_ExtraVagina</geneClass>
<displayOrderInCategory>703</displayOrderInCategory>
<exclusionTags>
@ -46,7 +46,7 @@
<defName>rjw_genes_no_vagina</defName>
<label>no vagina</label>
<description>Females of this do not have a vagina.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/No_Female_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_NoVagina</geneClass>
<displayOrderInCategory>704</displayOrderInCategory>
<exclusionTags>
@ -59,7 +59,7 @@
<defName>rjw_genes_extra_breasts</defName>
<label>extra breasts</label>
<description>Females of this species grow an additional pair of breasts .</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Extra_Breasts</iconPath>
<geneClass>RJW_Genes.Gene_ExtraBreasts</geneClass>
<displayOrderInCategory>705</displayOrderInCategory>
<exclusionTags>
@ -71,7 +71,7 @@
<defName>rjw_genes_no_breasts</defName>
<label>no breasts</label>
<description>Females of this do not have a pair of breasts.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/No_Breasts</iconPath>
<geneClass>RJW_Genes.Gene_NoBreasts</geneClass>
<displayOrderInCategory>706</displayOrderInCategory>
<exclusionTags>
@ -83,7 +83,7 @@
<defName>rjw_genes_extra_anus</defName>
<label>extra anus</label>
<description>This specias has an extra anus.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Extra_Anus</iconPath>
<geneClass>RJW_Genes.Gene_ExtraAnus</geneClass>
<displayOrderInCategory>707</displayOrderInCategory>
<exclusionTags>
@ -95,7 +95,7 @@
<defName>rjw_genes_no_anus</defName>
<label>no anus</label>
<description>This specias has no anus.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/No_Anus</iconPath>
<geneClass>RJW_Genes.Gene_NoAnus</geneClass>
<displayOrderInCategory>708</displayOrderInCategory>
<exclusionTags>
@ -107,7 +107,7 @@
<defName>rjw_genes_futa</defName>
<label>futanari</label>
<description>Males of this xenotype grow additional female genitalia, Females grow additional male genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Futa</iconPath>
<geneClass>RJW_Genes.Gene_Futa</geneClass>
<displayOrderInCategory>709</displayOrderInCategory>
<exclusionTags>

View File

@ -10,7 +10,7 @@
<defName>rjw_genes_big_male_genitalia</defName>
<label>Big Male Genitaliasize</label>
<description>Penises of this Xenotype are bigger.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Small_Male_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_BigMaleGenitalia</geneClass>
<displayOrderInCategory>751</displayOrderInCategory>
<exclusionTags>
@ -18,23 +18,11 @@
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_normal_male_genitalia</defName>
<label>Normal Male Genitaliasize</label>
<description>Penises of this Xenotype can be any size.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<geneClass>RJW_Genes.Gene_NormalMaleGenitalia</geneClass>
<displayOrderInCategory>752</displayOrderInCategory>
<exclusionTags>
<li>PenisSize</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_small_male_genitalia</defName>
<label>Small Male Genitaliasize</label>
<description>Penises of this Xenotype are smaller.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Big_Male_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_SmallMaleGenitalia</geneClass>
<displayOrderInCategory>753</displayOrderInCategory>
<exclusionTags>
@ -47,7 +35,7 @@
<defName>rjw_genes_loose_female_genitalia</defName>
<label>Loose Female Genitalia</label>
<description>Vaginas of this Xenotype are quite spacy.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Loose_Female_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_LooseFemaleGenitalia</geneClass>
<displayOrderInCategory>754</displayOrderInCategory>
<exclusionTags>
@ -55,23 +43,11 @@
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_normal_female_genitalia</defName>
<label>Normal Female Genitaliasize</label>
<description>Vaginas of this Xenotype can be any size.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<geneClass>RJW_Genes.Gene_NormalFemaleGenitalia</geneClass>
<displayOrderInCategory>755</displayOrderInCategory>
<exclusionTags>
<li>VaginaSize</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_tight_female_genitalia</defName>
<label>Tight Female Genitalia</label>
<description>Vaginas of this Xenotype are pretty tight.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Tight_Female_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_TightFemaleGenitalia</geneClass>
<displayOrderInCategory>756</displayOrderInCategory>
<exclusionTags>
@ -84,7 +60,7 @@
<defName>rjw_genes_big_breasts</defName>
<label>Big Breasts</label>
<description>Females of this Xenotype have big honkers.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Big_Breasts</iconPath>
<geneClass>RJW_Genes.Gene_BigBreasts</geneClass>
<displayOrderInCategory>757</displayOrderInCategory>
<exclusionTags>
@ -92,23 +68,11 @@
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_normal_breasts</defName>
<label>Normal Breastssize</label>
<description>Females of this Xenotype have breasts of any size.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<geneClass>RJW_Genes.Gene_NormalBreasts</geneClass>
<displayOrderInCategory>758</displayOrderInCategory>
<exclusionTags>
<li>BreastSize</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_small_breasts</defName>
<label>Small Breasts</label>
<description>Females of this Xenotype have smaller breasts.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Small_Breasts</iconPath>
<geneClass>RJW_Genes.Gene_SmallBreasts</geneClass>
<displayOrderInCategory>759</displayOrderInCategory>
<exclusionTags>
@ -121,7 +85,7 @@
<defName>rjw_genes_loose_anus</defName>
<label>Loose Anus</label>
<description>The Anus of this Xenotype is roomy.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Loose_Anus</iconPath>
<geneClass>RJW_Genes.Gene_LooseAnus</geneClass>
<displayOrderInCategory>760</displayOrderInCategory>
<exclusionTags>
@ -129,23 +93,11 @@
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_normal_anus</defName>
<label>Normal Anussize</label>
<description>Anus of this Xenotype can be any size.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<geneClass>RJW_Genes.Gene_NormalAnus</geneClass>
<displayOrderInCategory>761</displayOrderInCategory>
<exclusionTags>
<li>AnusSize</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_tight_anus</defName>
<label>Tight Anus</label>
<description>The anus of this Xenotype is small.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Tight_Anus</iconPath>
<geneClass>RJW_Genes.Gene_TightAnus</geneClass>
<displayOrderInCategory>762</displayOrderInCategory>
<exclusionTags>

View File

@ -7,25 +7,13 @@
<li>GenitalType</li>
</exclusionTags>
<biostatCpx>0</biostatCpx>
<!--
<biostatMet>0</biostatMet>
-->
</GeneDef>
<GeneDef ParentName="GeneGenitalTypeBase">
<defName>rjw_genes_human_genitalia</defName>
<label>human genitalia</label>
<description>Carriers of this carry genitalia similar to humans.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<geneClass>RJW_Genes.Gene_HumanGenitalia</geneClass>
<displayOrderInCategory>801</displayOrderInCategory>
</GeneDef>
<GeneDef ParentName="GeneGenitalTypeBase">
<defName>rjw_genes_equine_genitalia</defName>
<label>equine genitalia</label>
<description>Carriers of this gene develop equine genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Equine</iconPath>
<geneClass>RJW_Genes.Gene_EquineGenitalia</geneClass>
<displayOrderInCategory>802</displayOrderInCategory>
</GeneDef>
@ -34,7 +22,7 @@
<defName>rjw_genes_canine_genitalia</defName>
<label>canine genitalia</label>
<description>Carriers of this gene develop canine genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Canine_2</iconPath>
<geneClass>RJW_Genes.Gene_CanineGenitalia</geneClass>
<displayOrderInCategory>803</displayOrderInCategory>
</GeneDef>
@ -43,7 +31,7 @@
<defName>rjw_genes_feline_genitalia</defName>
<label>feline genitalia</label>
<description>Carriers of this gene develop feline genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Feline</iconPath>
<geneClass>RJW_Genes.Gene_FelineGenitalia</geneClass>
<displayOrderInCategory>804</displayOrderInCategory>
</GeneDef>
@ -52,7 +40,7 @@
<defName>rjw_genes_demonic_genitalia</defName>
<label>demonic genitalia</label>
<description>Carriers of this gene have demonic genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Demon</iconPath>
<geneClass>RJW_Genes.Gene_DemonicGenitalia</geneClass>
<displayOrderInCategory>805</displayOrderInCategory>
</GeneDef>
@ -61,7 +49,7 @@
<defName>rjw_genes_dragon_genitalia</defName>
<label>dragon genitalia</label>
<description>Carriers of this gene develop dragon genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Draconic</iconPath>
<geneClass>RJW_Genes.Gene_DragonGenitalia</geneClass>
<displayOrderInCategory>806</displayOrderInCategory>
</GeneDef>
@ -70,7 +58,7 @@
<defName>rjw_genes_slime_genitalia</defName>
<label>slime genitalia</label>
<description>Carriers of this gene have slime genitalia.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Slime</iconPath>
<geneClass>RJW_Genes.Gene_SlimeGenitalia</geneClass>
<displayOrderInCategory>807</displayOrderInCategory>
</GeneDef>
@ -79,7 +67,7 @@
<defName>rjw_genes_ovipositor_genitalia</defName>
<label>insect genitalia</label>
<description>Carriers of this gene have ovipositors similar to insects.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Genitalia_Insect</iconPath>
<geneClass>RJW_Genes.Gene_OvipositorGenitalia</geneClass>
<displayOrderInCategory>808</displayOrderInCategory>
</GeneDef>

View File

@ -6,7 +6,7 @@
<label>Hypersexuality</label>
<displayCategory>Reproduction</displayCategory>
<description>Xenotypes with this Gene are Hypersexual (Nymphs).</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Hypersexual</iconPath>
<displayOrderInCategory>1</displayOrderInCategory>
<forcedTraits>
<li>
@ -20,7 +20,7 @@
<label>Rapist</label>
<displayCategory>Reproduction</displayCategory>
<description>Xenotypes with this Gene are Rapists.</description>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Rape</iconPath>
<displayOrderInCategory>2</displayOrderInCategory>
<forcedTraits>
<li>

View File

@ -6,7 +6,7 @@
<displayCategory>rjw_genes_gender</displayCategory>
<description>This Xenotype only has females.</description>
<biostatCpx>0</biostatCpx>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Female_Only</iconPath>
<geneClass>RJW_Genes.Gene_FemaleOnly</geneClass>
<displayOrderInCategory>1</displayOrderInCategory>
</GeneDef>
@ -17,7 +17,7 @@
<label>Male</label>
<description>This Xenotype only has males.</description>
<biostatCpx>0</biostatCpx>
<iconPath>Genes/Icons/Placeholder</iconPath>
<iconPath>Genes/Icons/Male_Only</iconPath>
<geneClass>RJW_Genes.Gene_MaleOnly</geneClass>
<displayOrderInCategory>2</displayOrderInCategory>
</GeneDef>

View File

@ -16,7 +16,6 @@
</genes>
</value>
</Operation>
-->
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Dirtmole"]/genes</xpath>
<value>
@ -39,12 +38,10 @@
</value>
</Operation>
-->
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Neanderthal"]/genes</xpath>
<value>
<li>rjw_genes_human_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_big_male_genitalia</li>
<li>rjw_genes_loose_female_genitalia</li>
</value>
@ -53,31 +50,21 @@
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Pigskin"]/genes</xpath>
<value>
<li>rjw_genes_human_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_normal_male_genitalia</li>
<li>rjw_genes_normal_female_genitalia</li>
<li>rjw_genes_much_cum</li>
<li>rjw_genes_zoophile</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Waster"]/genes</xpath>
<value>
<li>rjw_genes_human_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_normal_male_genitalia</li>
<li>rjw_genes_normal_female_genitalia</li>
<li>rjw_genes_insectbreeder</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Yttakin"]/genes</xpath>
<value>
<li>rjw_genes_human_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_big_male_genitalia</li>
<li>rjw_genes_loose_female_genitalia</li>
</value>
@ -86,22 +73,15 @@
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Highmate"]/genes</xpath>
<value>
<li>rjw_genes_human_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_normal_male_genitalia</li>
<li>rjw_genes_normal_female_genitalia</li>
<li>rjw_genes_hypersexual</li>
<li>rjw_genes_likes_cumflation</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Genie"]/genes</xpath>
<value>
<li>rjw_genes_human_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_normal_male_genitalia</li>
<li>rjw_genes_normal_female_genitalia</li>
<li>rjw_genes_mechbreeder</li>
</value>
</Operation>
@ -109,10 +89,6 @@
<xpath>Defs/XenotypeDef[defName="Sanguophage"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_normal_breasts</li>
<li>rjw_genes_normal_male_genitalia</li>
<li>rjw_genes_normal_female_genitalia</li>
</value>
</Operation>
@ -120,10 +96,10 @@
<xpath>Defs/XenotypeDef[defName="Impid"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
<li>rjw_genes_normal_anus</li>
<li>rjw_genes_small_breasts</li>
<li>rjw_genes_small_male_genitalia</li>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
</value>
</Operation>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 978 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -56,4 +56,19 @@ Ignore this. The pawns seem to have the right sex and genitalia, I cannot "catch
Aimed Solution:
Patch ChangeSex to skip for pawns with the two genes producing this.
Patch ChangeSex to skip for pawns with the two genes producing this.
## Insect Breeder does not fertilize
Error:
A pawn with insect breeder fucks a pawn with unfertilized insect eggs, but the eggs stay unfertilized.
Notes:
So testing this is super hard.
One thing - you need to have anal or vaginal sex for this to work. Any other sex type is currently not supported.
For anything else, please help me gather information on this what you did and how things look. I reworked it once but I think it should work now.

View File

@ -12,8 +12,11 @@ This is my first Mod I started from scratch so any feedback is very welcome.
- Some Traits, Cumflation Immunity, Elasticity
- Cum-Amount Changes, Transfer Nutrition
- Mech Breeding / Insect Breeding Support
- Human-Animal Gene Inheritance merged from [Shabakur](https://github.com/Shabakur/RJW_Animal_Gene_Inheritance)
See [planned things](TODOS.md) and feel free to contribute.
With the Human-Animal-Gene Inheritance we have a lot of XML that you can contribute!
We have a [template](./Common/Defs/RaceGeneDefs/RaceGeneDefs_template.xml) and you can add animals and/or genes from mods there.
## Bugs?
@ -24,4 +27,12 @@ Please consider looking at [the known bugs](./KNOWN_BUGS.md)
## Genes vs. Races
I currently don't use Races after Biotech was introduced.
One of the main motivations was to have genes being added to the xenotypes that other mods and the base game add, e.g. adding demonic penis for impids.
One of the main motivations was to have genes being added to the xenotypes that other mods and the base game add, e.g. adding demonic penis for impids.
## Load Order / Deps
Please load this after any mod adding genes, and after the used RJW-Mods (Licentia, Sexperience).
Should not be used with the original RJW_Animal_Gene_Inheritance anymore.
There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now.

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace RJW_BGS
{
public class GeneChance
public class BestialityGeneInheritanceDef
{
public string defName;
public float chance = 1f;

View File

@ -15,17 +15,24 @@ namespace RJW_BGS
static First()
{
RJWcopy.Racegroupdictbuilder();
//foreach (RaceGroupDef raceGroupDef2 in DefDatabase<RaceGroupDef>.AllDefs)
//{
//Log.Message("defName = " + raceGroupDef2.defName);
// if (raceGroupDef2.raceNames != null)
// {
// foreach (string race in raceGroupDef2.raceNames)
// {
//Log.Message(race);
// }
// }
//}
//Prints all found race dicts (debugging only)
//logAllFoundRaceGroupGenes
}
private static void logAllFoundRaceGroupGenes()
{
foreach (RaceGroupDef def in DefDatabase<RaceGroupDef>.AllDefs)
{
Log.Message("defName = " + def.defName);
if (def.raceNames != null)
{
foreach (string race in def.raceNames)
{
Log.Message(race);
}
}
}
}
}
}

View File

@ -12,40 +12,33 @@ namespace RJW_BGS
{
public static List<GeneDef> AnimalInheritedGenes(Pawn father, Pawn mother)
{
//One parent must be an animal and the other must be human, so only one needs to return
List<GeneDef> genelist = new List<GeneDef>();
//If Both are Humans, or Both are animals, do nothing & return empty GeneList
if (!mother.RaceProps.Humanlike && !father.RaceProps.Humanlike)
return genelist;
if (mother.RaceProps.Humanlike && father.RaceProps.Humanlike)
return genelist;
//One parent must be an animal and the other must be human, so only one needs to return
if (father != null && !father.RaceProps.Humanlike)
{
return SelectGenes(father);
}
if (mother != null && !mother.RaceProps.Humanlike)
{
return SelectGenes(mother);
//PawnKindDef pawnKindDef = mother.kindDef;
//RaceGeneDef raceGeneDef = RJWcopy.GetRaceGenDefInternal(pawnKindDef);
//if (raceGeneDef != null)
//{
// GeneDef gene = null;
//In case you hit a modded gene not currently active try again.
// for (int i = 0; i < 50 || gene == null; i++)
// {
// if (raceGeneDef.genes.Any())
// {
// gene = DefDatabase<GeneDef>.GetNamed(raceGeneDef.genes.RandomElement());
// }
// }
// if (gene != null)
// {
// genelist.Add(gene);
//
// }
//
// }
}
return genelist;
}
/// <summary>
/// Looks up potential genes for an animal,
/// checks their chance and returns all 'triggered' genes.
/// </summary>
/// <param name="pawn">The animal for which to look up genes (Animals are Pawns in RW)</param>
/// <returns>The genes that will be inherited from this animal.</returns>
public static List<GeneDef> SelectGenes(Pawn pawn)
{
List<GeneDef> genelist = new List<GeneDef>();
@ -53,7 +46,7 @@ namespace RJW_BGS
RaceGeneDef raceGeneDef = RJWcopy.GetRaceGenDefInternal(pawnKindDef);
if (raceGeneDef != null)
{
foreach (GeneChance gene in raceGeneDef.genes)
foreach (BestialityGeneInheritanceDef gene in raceGeneDef.genes)
{
if (gene.chance >= Rand.Range(0.01f,1f))
{

View File

@ -41,33 +41,37 @@ namespace RJW_BGS
string raceName = kindDef.race.defName;
string pawnKindName = kindDef.defName;
IEnumerable<RaceGroupDef> allDefs = DefDatabase<RaceGroupDef>.AllDefs;
List<RaceGroupDef> list = allDefs.Where(delegate (RaceGroupDef group)
List<RaceGroupDef> pawnKindDefs = allDefs.Where(delegate (RaceGroupDef group)
{
List<string> pawnKindNames = group.pawnKindNames;
return pawnKindNames != null && pawnKindNames.Contains(pawnKindName);
}).ToList<RaceGroupDef>();
List<RaceGroupDef> list2 = allDefs.Where(delegate (RaceGroupDef group)
List<RaceGroupDef> raceNameDefs = allDefs.Where(delegate (RaceGroupDef group)
{
List<string> raceNames = group.raceNames;
return raceNames != null && raceNames.Contains(raceName);
}).ToList<RaceGroupDef>();
int num = list.Count<RaceGroupDef>() + list2.Count<RaceGroupDef>();
if (num == 0)
int availableDefs = pawnKindDefs.Count<RaceGroupDef>() + raceNameDefs.Count<RaceGroupDef>();
if (availableDefs == 0)
{
//Exit Early
return null;
}
if (num == 1)
if (availableDefs == 1)
{
return list.Concat(list2).Single<RaceGroupDef>();
return pawnKindDefs.Concat(raceNameDefs).Single<RaceGroupDef>();
}
RaceGroupDef result;
if ((result = list.FirstOrDefault((RaceGroupDef match) => !IsThisMod(match))) == null)
if ((result = pawnKindDefs.FirstOrDefault((RaceGroupDef match) => !IsThisMod(match))) == null)
{
if ((result = list2.FirstOrDefault((RaceGroupDef match) => !IsThisMod(match))) == null)
if ((result = raceNameDefs.FirstOrDefault((RaceGroupDef match) => !IsThisMod(match))) == null)
{
result = (list.FirstOrDefault<RaceGroupDef>() ?? list2.FirstOrDefault<RaceGroupDef>());
result = (pawnKindDefs.FirstOrDefault<RaceGroupDef>() ?? raceNameDefs.FirstOrDefault<RaceGroupDef>());
}
}
return result;
}
@ -81,29 +85,31 @@ namespace RJW_BGS
string raceName = kindDef.race.defName;
string pawnKindName = kindDef.defName;
RaceGroupDef raceGroupDef = GetRaceGroupDef(kindDef);
//string raceGroupName = GetRaceGroupDef(kindDef).defName;
IEnumerable<RaceGeneDef> allDefs = DefDatabase<RaceGeneDef>.AllDefs;
Log.Message(allDefs.Count<RaceGeneDef>().ToString());
List<RaceGeneDef> list = allDefs.Where(delegate (RaceGeneDef group)
List<RaceGeneDef> pawnKindDefs = allDefs.Where(delegate (RaceGeneDef group)
{
List<string> pawnKindNames = group.pawnKindNames;
return pawnKindNames != null && pawnKindNames.Contains(pawnKindName);
}).ToList<RaceGeneDef>();
List<RaceGeneDef> list2 = allDefs.Where(delegate (RaceGeneDef group)
List<RaceGeneDef> raceKindDefs = allDefs.Where(delegate (RaceGeneDef group)
{
List<string> raceNames = group.raceNames;
return raceNames != null && raceNames.Contains(raceName);
}).ToList<RaceGeneDef>();
List<RaceGeneDef> list3 = new List<RaceGeneDef>();
List<RaceGeneDef> raceGroupDefs = new List<RaceGeneDef>();
if (raceGroupDef != null)
{
/*
// Log Messages for Debugging Only, prints the Genes found for this individual
Log.Message("found a raceGroupDef");
Log.Message(raceGroupDef.defName);
foreach (RaceGeneDef rgd in allDefs)
{
Log.Message(rgd.defName);
}
list3 = allDefs.Where(delegate (RaceGeneDef group)
*/
raceGroupDefs = allDefs.Where(delegate (RaceGeneDef group)
{
String raceGroupDefName = group.raceGroup;
return raceGroupDefName != null && raceGroupDefName == raceGroupDef.defName;
@ -111,17 +117,17 @@ namespace RJW_BGS
}
RaceGeneDef result = null;
//First check if there is a matching pawnkinddef then race, then racegroup
if (list.Any())
if (pawnKindDefs.Any())
{
result = list.RandomElement();
result = pawnKindDefs.RandomElement();
}
else if (list2.Any() && result == null)
else if (raceKindDefs.Any() && result == null)
{
result = list2.RandomElement();
result = raceKindDefs.RandomElement();
}
else if (list3.Any() && result == null)
else if (raceGroupDefs.Any() && result == null)
{
result = list3.RandomElement();
result = raceGroupDefs.RandomElement();
}
else
{

View File

@ -14,7 +14,7 @@ namespace RJW_BGS
public String raceGroup;
public List<string> raceNames;
public List<string> pawnKindNames;
public List<GeneChance> genes;
public List<BestialityGeneInheritanceDef> genes;
//public List<float> genechances;
public String hybridName;
}

View File

@ -12,7 +12,6 @@ namespace RJW_Genes
public static readonly GeneCategoryDef rjw_genes_breeding;
// Base Genitalia Types
public static readonly GeneDef rjw_genes_human_genitalia;
public static readonly GeneDef rjw_genes_equine_genitalia;
public static readonly GeneDef rjw_genes_demonic_genitalia;
public static readonly GeneDef rjw_genes_dragon_genitalia;
@ -34,16 +33,12 @@ namespace RJW_Genes
// Genitalia Sizes
public static readonly GeneDef rjw_genes_big_male_genitalia;
public static readonly GeneDef rjw_genes_normal_male_genitalia;
public static readonly GeneDef rjw_genes_small_male_genitalia;
public static readonly GeneDef rjw_genes_loose_female_genitalia;
public static readonly GeneDef rjw_genes_normal_female_genitalia;
public static readonly GeneDef rjw_genes_tight_female_genitalia;
public static readonly GeneDef rjw_genes_big_breasts;
public static readonly GeneDef rjw_genes_normal_breasts;
public static readonly GeneDef rjw_genes_small_breasts;
public static readonly GeneDef rjw_genes_loose_anus;
public static readonly GeneDef rjw_genes_normal_anus;
public static readonly GeneDef rjw_genes_tight_anus;
// Gender

View File

@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.Linq;
using HarmonyLib;
using Verse;
using rjw;
namespace RJW_Genes
{
/// <summary>
/// This Class patches the AfterSexUtility to also fertilize eggs if Pawn A has "InsectBreeder" and Pawn B has Insect Eggs.
/// Patched Class is https://gitgud.io/Ed86/rjw/-/blob/master/1.4/Source/Common/Helpers/SexUtility.cs
///
/// Normal Egg-Pregnancy logic is in https://gitgud.io/Ed86/rjw/-/blob/master/1.4/Source/Modules/Pregnancy/Pregnancy_Helper.cs
/// </summary>
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
static class PatchEggFertilizationHelper
{
[HarmonyTranspiler]
public static void Postfix(SexProps props)
{
// Only Fertilize on vaginal / anal sex
if (!(props.sexType == xxx.rjwSextype.Vaginal || props.sexType == xxx.rjwSextype.Anal))
{
return;
}
if (canDoEggFertilization(props.pawn, props.partner))
{
// Pawn has gene and Partner has eggs
if (props.pawn.genes.GenesListForReading.Any(x => x.def == GeneDefOf.rjw_genes_insectbreeder) && !getEggsforPawn(props.partner).NullOrEmpty())
{
Pawn eggHolder = props.partner;
Pawn impregnator = props.pawn;
foreach (Hediff_InsectEgg egg in getEggsforPawn(eggHolder))
{
if (!egg.fertilized)
egg.Fertilize(impregnator);
}
}
// Partner has gene and Pawn has eggs
if (props.partner.genes.GenesListForReading.Any(x => x.def == GeneDefOf.rjw_genes_insectbreeder) && !getEggsforPawn(props.pawn).NullOrEmpty())
{
Pawn eggHolder = props.pawn;
Pawn impregnator = props.partner;
foreach (Hediff_InsectEgg egg in getEggsforPawn(eggHolder))
{
if (!egg.fertilized)
egg.Fertilize(impregnator);
}
}
}
}
private static Boolean canDoEggFertilization(Pawn a, Pawn b)
{
// No Partner / Other Errors
if (a != null || b != null)
return false;
// None of the pawns has the relevant gene
if (!a.genes.GenesListForReading.Any(x => x.def == GeneDefOf.rjw_genes_insectbreeder) && !b.genes.GenesListForReading.Any(x => x.def == GeneDefOf.rjw_genes_insectbreeder))
return false;
// None of the pawns has eggs
if (getEggsforPawn(a).NullOrEmpty() && getEggsforPawn(b).NullOrEmpty())
return false;
// A has gene and B has eggs
if (a.genes.GenesListForReading.Any(x => x.def == GeneDefOf.rjw_genes_insectbreeder) && !getEggsforPawn(b).NullOrEmpty())
{
return true;
}
// B has gene and A has eggs
if (b.genes.GenesListForReading.Any(x => x.def == GeneDefOf.rjw_genes_insectbreeder) && !getEggsforPawn(a).NullOrEmpty())
{
return true;
}
// Any other case: Do nothing
return false;
}
private static List<Hediff_InsectEgg> getEggsforPawn(Pawn pawn)
{
List<Hediff_InsectEgg> eggs = new List<Hediff_InsectEgg>();
pawn.health.hediffSet.GetHediffs(ref eggs);
foreach (var egg in eggs)
egg.Fertilize(pawn);
return eggs;
}
}
}

View File

@ -1,23 +0,0 @@
using Verse;
using rjw;
namespace RJW_Genes
{
public class Gene_HumanGenitalia : RJW_Gene
{
public override void PostMake()
{
base.PostMake();
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.average_penis,Genital_Helper.average_vagina,Genital_Helper.average_anus);
}
public override void PostAdd()
{
base.PostAdd();
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.average_penis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
}
}
}

View File

@ -23,16 +23,17 @@ namespace RJW_Genes
if (!gene.Overridden)
return gene.def;
}
return GeneDefOf.rjw_genes_human_genitalia;
return null;
}
public static HediffDef GetPenisForGene(GeneDef gene)
{
if (gene == null)
return Genital_Helper.average_penis;
switch (gene.defName)
{
case "rjw_genes_human_genitalia": return Genital_Helper.average_penis;
case "rjw_genes_equine_genitalia": return Genital_Helper.equine_penis;
case "rjw_genes_canine_genitalia": return Genital_Helper.canine_penis;
case "rjw_genes_feline_genitalia": return Genital_Helper.feline_penis;
@ -48,9 +49,11 @@ namespace RJW_Genes
public static HediffDef GetVaginaForGene(GeneDef gene)
{
if (gene == null)
return Genital_Helper.average_vagina;
switch (gene.defName)
{
case "rjw_genes_human_genitalia": return Genital_Helper.average_vagina;
case "rjw_genes_equine_genitalia": return Genital_Helper.equine_vagina;
case "rjw_genes_canine_genitalia": return Genital_Helper.canine_vagina;
case "rjw_genes_feline_genitalia": return Genital_Helper.feline_vagina;
@ -65,10 +68,11 @@ namespace RJW_Genes
public static HediffDef GetAnusForGene(GeneDef gene)
{
if (gene == null)
return Genital_Helper.average_anus;
switch (gene.defName)
{
//TODO: Do I want the default to be generic or average for feline,equine and canine?
case "rjw_genes_human_genitalia": return Genital_Helper.average_anus;
case "rjw_genes_equine_genitalia": return Genital_Helper.average_anus;
case "rjw_genes_canine_genitalia": return Genital_Helper.average_anus;
case "rjw_genes_feline_genitalia": return Genital_Helper.average_anus;
@ -83,10 +87,12 @@ namespace RJW_Genes
public static HediffDef GetBreastsForGene(GeneDef gene)
{
if (gene == null)
return Genital_Helper.average_breasts;
switch (gene.defName)
{
//TODO: Do I want the default to be generic or average?
case "rjw_genes_human_genitalia": return Genital_Helper.average_breasts;
case "rjw_genes_equine_genitalia": return Genital_Helper.average_breasts;
case "rjw_genes_canine_genitalia": return Genital_Helper.average_breasts;
case "rjw_genes_feline_genitalia": return Genital_Helper.average_breasts;

View File

@ -1,18 +0,0 @@
using Verse;
using rjw;
namespace RJW_Genes
{
/// <summary>
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
/// </summary>
public class Gene_NormalAnus : RJW_Gene
{
public override void PostMake()
{
base.PostMake();
}
}
}

View File

@ -1,17 +0,0 @@
using rjw;
namespace RJW_Genes
{
/// <summary>
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
/// </summary>
public class Gene_NormalBreasts : RJW_Gene
{
public override void PostMake()
{
base.PostMake();
}
}
}

View File

@ -1,19 +0,0 @@
using Verse;
using rjw;
namespace RJW_Genes
{
/// <summary>
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
/// </summary>
public class Gene_NormalFemaleGenitalia : RJW_Gene
{
public override void PostMake()
{
base.PostMake();
}
}
}

View File

@ -1,15 +0,0 @@
namespace RJW_Genes
{
/// <summary>
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
/// </summary>
public class Gene_NormalMaleGenitalia : RJW_Gene
{
public override void PostMake()
{
base.PostMake();
}
}
}

View File

@ -27,7 +27,7 @@
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<HintPath>..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="LicentiaLabs">
@ -35,7 +35,7 @@
<Private>False</Private>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\RJW\1.4\Assemblies\RJW.dll</HintPath>
<HintPath>..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
@ -51,7 +51,12 @@
<None Include="..\Common\Languages\**" />
<None Include="..\Common\Patches\**" />
<Reference Include="UnityEngine.CoreModule">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<HintPath>..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.IMGUIModule">
<HintPath>..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
@ -65,11 +70,12 @@
<Compile Include="Animal_Inheritance\RJWcopies.cs" />
<Compile Include="Animal_Inheritance\RJW_BGSSettings.cs" />
<Compile Include="Animal_Inheritance\RJW_BGSSettingsController.cs" />
<Compile Include="Animal_Inheritance\GeneChance.cs" />
<Compile Include="Animal_Inheritance\BestialityGeneInheritanceDef.cs" />
<Compile Include="GeneDefOf.cs" />
<Compile Include="Genes\Breeding\Gene_MechBreeder.cs" />
<Compile Include="Genes\Breeding\PatchMechBirth.cs" />
<Compile Include="Genes\Breeding\PatchPawnExtensions.cs" />
<Compile Include="Genes\Breeding\Patch_EggFertilization.cs" />
<Compile Include="Genes\Breeding\PatchPregnancyHelper.cs" />
<Compile Include="Genes\Cum\CumUtility.cs" />
<Compile Include="Genes\Cum\Gene_VeryMuchCum.cs" />
@ -94,10 +100,6 @@
<Compile Include="Genes\GenitaliaSize\Gene_BigBreasts.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_LooseAnus.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_LooseFemaleGenitalia.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_NormalFemaleGenitalia.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_NormalAnus.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_NormalBreasts.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_NormalMaleGenitalia.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_TightAnus.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_SmallBreasts.cs" />
<Compile Include="Genes\GenitaliaSize\Gene_TightFemaleGenitalia.cs" />
@ -111,7 +113,6 @@
<Compile Include="Genes\Genitalia\Gene_OvipositorGenitalia.cs" />
<Compile Include="Genes\Genitalia\Gene_DemonicGenitalia.cs" />
<Compile Include="Genes\Genitalia\Gene_EquineGenitalia.cs" />
<Compile Include="Genes\Genitalia\Gene_HumanGenitalia.cs" />
<Compile Include="Genes\Genitalia\GenitaliaChanger.cs" />
<Compile Include="Genes\RJW_Gene.cs" />
<Compile Include="Genes\Genitalia\GenitaliaUtility.cs" />

View File

@ -6,10 +6,16 @@ So any help is very appreciated, even if it is just pointing me to existing simi
## Planned Genes
**Sanguophage like Cumwhores** adding Hemogen and refilling it by getting semen.
Showstopper here is the amount of code required, and that I need to understand a bit better of harmony to run the AfterSexUtility and modulate SexChances.
Showstopper here is the amount of code required, and that I need to understand a bit better of harmony to run the AfterSexUtility and modulate SexChances. My first attempt exploded on adding UI Elements.
**Adjustable Cock-Size** like e.g. artificial genitalia have
**Infectious Hypersexuality Gene** (Maybe?) add Hypersexuality Gene through sex with a certain chance.
**Stat Boost on Orgasm** restore stamina
**Cum Addiction** add Cum-Addiction from Sexpererience, slowly loose conciousness while addiction is not attended.
## Animal Gene Inheritance
It should be doable to have a per-category list of genes that a child can inherit on bestiality.
@ -25,7 +31,7 @@ Issues:
There were some suggestions on the Discord I saved them somewhere else. I am far away from making that work, but to have them here:
- Genitalia deal damage as per size
- Genitalia can cause Terror
- Genitalia deal damage as per size (on normal sex-use)
- Genitalia can cause Terror (as ability)
- Cumshot Sniper Abilities
- Healing Pussy