diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ad8ad27..0e2154e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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) \ No newline at end of file +- 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) \ No newline at end of file diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index 5e1c60b..bd8049f 100644 Binary files a/Common/Assemblies/Rjw-Genes.dll and b/Common/Assemblies/Rjw-Genes.dll differ diff --git a/Common/Defs/Genes/GeneDefs_Breeding.xml b/Common/Defs/Genes/GeneDefs_Breeding.xml index 793492f..fa65c52 100644 --- a/Common/Defs/Genes/GeneDefs_Breeding.xml +++ b/Common/Defs/Genes/GeneDefs_Breeding.xml @@ -15,7 +15,7 @@ rjw_genes_insectincubator Pawns with this gene are able to hold more insect eggs. - World/WorldObjects/Expanding/Mechanoids + Genes/Icons/More_Egg_Space 52 rjw_genes_breeding @@ -24,7 +24,7 @@ rjw_genes_insectbreeder Pawns with this gene are able to fertilize eggs with any fertile penis. - World/WorldObjects/Expanding/Mechanoids + World/WorldObjects/Expanding/Insects 53 rjw_genes_breeding @@ -34,7 +34,7 @@ rjw_genes_breeding Xenotypes with this Gene are Zoophile. - Genes/Icons/Placeholder + Genes/Icons/Zoophile_2 54
  • diff --git a/Common/Defs/Genes/GeneDefs_Cum.xml b/Common/Defs/Genes/GeneDefs_Cum.xml index 89334fe..d410319 100644 --- a/Common/Defs/Genes/GeneDefs_Cum.xml +++ b/Common/Defs/Genes/GeneDefs_Cum.xml @@ -12,7 +12,7 @@ rjw_genes_no_cum Males of these species have no fluid. - Genes/Icons/Placeholder + Genes/Icons/No_Cum RJW_Genes.Gene_NoCum 533 0 @@ -23,7 +23,7 @@ rjw_genes_much_cum Males of this species produce a lot of fluid. - Genes/Icons/Placeholder + Genes/Icons/Bonus_Cum RJW_Genes.Gene_MuchCum 534 1 @@ -34,7 +34,7 @@ rjw_genes_very_much_cum Males of this species produce a whole lot of fluid. They are like fountains basically. - Genes/Icons/Placeholder + Genes/Icons/Much_Bonus_Cum RJW_Genes.Gene_VeryMuchCum 535 1 @@ -46,7 +46,7 @@ rjw_genes_cum This Xenotype loves being cumflated. - Genes/Icons/Placeholder + Genes/Icons/Cumflation 536
  • @@ -63,7 +63,7 @@ rjw_genes_cum This Xenotype cannot get cumflated. - Genes/Icons/Placeholder + Genes/Icons/Cumflation_Immunity 537
  • NotCumflatable
  • @@ -76,7 +76,7 @@ rjw_genes_cum When this Xenotype transfers nutrition via cumshot, the giver will not get hungry. (Licentia Configuration for Transfer Nutrition must be enabled). - Genes/Icons/Placeholder + Genes/Icons/Generous_Donor 538 diff --git a/Common/Defs/Genes/GeneDefs_Damage.xml b/Common/Defs/Genes/GeneDefs_Damage.xml index c44e937..5922066 100644 --- a/Common/Defs/Genes/GeneDefs_Damage.xml +++ b/Common/Defs/Genes/GeneDefs_Damage.xml @@ -6,7 +6,7 @@ rjw_damage This Xenotype cannot get stretched by huge penetrators. - Genes/Icons/Placeholder + Genes/Icons/Elasticity RJW_Genes.Gene_Elasticity 1 diff --git a/Common/Defs/Genes/GeneDefs_ExtraGenitalia.xml b/Common/Defs/Genes/GeneDefs_ExtraGenitalia.xml index 3459de5..c2acd4c 100644 --- a/Common/Defs/Genes/GeneDefs_ExtraGenitalia.xml +++ b/Common/Defs/Genes/GeneDefs_ExtraGenitalia.xml @@ -9,7 +9,7 @@ rjw_genes_extra_penis Males of this species grow an additional penis . - Genes/Icons/Placeholder + Genes/Icons/extra_male RJW_Genes.Gene_ExtraPenis 701 @@ -21,7 +21,7 @@ rjw_genes_no_penis Males of this do not have a penis. - Genes/Icons/Placeholder + Genes/Icons/No_Male_Genitalia RJW_Genes.Gene_NoPenis 702 @@ -34,7 +34,7 @@ rjw_genes_extra_vagina Females of this species grow an additional vagina . - Genes/Icons/Placeholder + Genes/Icons/extra_female RJW_Genes.Gene_ExtraVagina 703 @@ -46,7 +46,7 @@ rjw_genes_no_vagina Females of this do not have a vagina. - Genes/Icons/Placeholder + Genes/Icons/No_Female_Genitalia RJW_Genes.Gene_NoVagina 704 @@ -59,7 +59,7 @@ rjw_genes_extra_breasts Females of this species grow an additional pair of breasts . - Genes/Icons/Placeholder + Genes/Icons/Extra_Breasts RJW_Genes.Gene_ExtraBreasts 705 @@ -71,7 +71,7 @@ rjw_genes_no_breasts Females of this do not have a pair of breasts. - Genes/Icons/Placeholder + Genes/Icons/No_Breasts RJW_Genes.Gene_NoBreasts 706 @@ -83,7 +83,7 @@ rjw_genes_extra_anus This specias has an extra anus. - Genes/Icons/Placeholder + Genes/Icons/Extra_Anus RJW_Genes.Gene_ExtraAnus 707 @@ -95,7 +95,7 @@ rjw_genes_no_anus This specias has no anus. - Genes/Icons/Placeholder + Genes/Icons/No_Anus RJW_Genes.Gene_NoAnus 708 @@ -107,7 +107,7 @@ rjw_genes_futa Males of this xenotype grow additional female genitalia, Females grow additional male genitalia. - Genes/Icons/Placeholder + Genes/Icons/Futa RJW_Genes.Gene_Futa 709 diff --git a/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml b/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml index 72d2c53..89bc7f9 100644 --- a/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml +++ b/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml @@ -10,7 +10,7 @@ rjw_genes_big_male_genitalia Penises of this Xenotype are bigger. - Genes/Icons/Placeholder + Genes/Icons/Small_Male_Genitalia RJW_Genes.Gene_BigMaleGenitalia 751 @@ -18,23 +18,11 @@ - - rjw_genes_normal_male_genitalia - - Penises of this Xenotype can be any size. - Genes/Icons/Placeholder - RJW_Genes.Gene_NormalMaleGenitalia - 752 - -
  • PenisSize
  • -
    -
    - rjw_genes_small_male_genitalia Penises of this Xenotype are smaller. - Genes/Icons/Placeholder + Genes/Icons/Big_Male_Genitalia RJW_Genes.Gene_SmallMaleGenitalia 753 @@ -47,7 +35,7 @@ rjw_genes_loose_female_genitalia Vaginas of this Xenotype are quite spacy. - Genes/Icons/Placeholder + Genes/Icons/Loose_Female_Genitalia RJW_Genes.Gene_LooseFemaleGenitalia 754 @@ -55,23 +43,11 @@ - - rjw_genes_normal_female_genitalia - - Vaginas of this Xenotype can be any size. - Genes/Icons/Placeholder - RJW_Genes.Gene_NormalFemaleGenitalia - 755 - -
  • VaginaSize
  • -
    -
    - rjw_genes_tight_female_genitalia Vaginas of this Xenotype are pretty tight. - Genes/Icons/Placeholder + Genes/Icons/Tight_Female_Genitalia RJW_Genes.Gene_TightFemaleGenitalia 756 @@ -84,7 +60,7 @@ rjw_genes_big_breasts Females of this Xenotype have big honkers. - Genes/Icons/Placeholder + Genes/Icons/Big_Breasts RJW_Genes.Gene_BigBreasts 757 @@ -92,23 +68,11 @@ - - rjw_genes_normal_breasts - - Females of this Xenotype have breasts of any size. - Genes/Icons/Placeholder - RJW_Genes.Gene_NormalBreasts - 758 - -
  • BreastSize
  • -
    -
    - rjw_genes_small_breasts Females of this Xenotype have smaller breasts. - Genes/Icons/Placeholder + Genes/Icons/Small_Breasts RJW_Genes.Gene_SmallBreasts 759 @@ -121,7 +85,7 @@ rjw_genes_loose_anus The Anus of this Xenotype is roomy. - Genes/Icons/Placeholder + Genes/Icons/Loose_Anus RJW_Genes.Gene_LooseAnus 760 @@ -129,23 +93,11 @@ - - rjw_genes_normal_anus - - Anus of this Xenotype can be any size. - Genes/Icons/Placeholder - RJW_Genes.Gene_NormalAnus - 761 - -
  • AnusSize
  • -
    -
    - rjw_genes_tight_anus The anus of this Xenotype is small. - Genes/Icons/Placeholder + Genes/Icons/Tight_Anus RJW_Genes.Gene_TightAnus 762 diff --git a/Common/Defs/Genes/GeneDefs_GenitaliaTypes.xml b/Common/Defs/Genes/GeneDefs_GenitaliaTypes.xml index b646058..f7ab982 100644 --- a/Common/Defs/Genes/GeneDefs_GenitaliaTypes.xml +++ b/Common/Defs/Genes/GeneDefs_GenitaliaTypes.xml @@ -7,25 +7,13 @@
  • GenitalType
  • 0 - -
    - - - rjw_genes_human_genitalia - - Carriers of this carry genitalia similar to humans. - Genes/Icons/Placeholder - RJW_Genes.Gene_HumanGenitalia - 801 rjw_genes_equine_genitalia Carriers of this gene develop equine genitalia. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Equine RJW_Genes.Gene_EquineGenitalia 802 @@ -34,7 +22,7 @@ rjw_genes_canine_genitalia Carriers of this gene develop canine genitalia. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Canine_2 RJW_Genes.Gene_CanineGenitalia 803 @@ -43,7 +31,7 @@ rjw_genes_feline_genitalia Carriers of this gene develop feline genitalia. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Feline RJW_Genes.Gene_FelineGenitalia 804 @@ -52,7 +40,7 @@ rjw_genes_demonic_genitalia Carriers of this gene have demonic genitalia. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Demon RJW_Genes.Gene_DemonicGenitalia 805 @@ -61,7 +49,7 @@ rjw_genes_dragon_genitalia Carriers of this gene develop dragon genitalia. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Draconic RJW_Genes.Gene_DragonGenitalia 806 @@ -70,7 +58,7 @@ rjw_genes_slime_genitalia Carriers of this gene have slime genitalia. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Slime RJW_Genes.Gene_SlimeGenitalia 807 @@ -79,7 +67,7 @@ rjw_genes_ovipositor_genitalia Carriers of this gene have ovipositors similar to insects. - Genes/Icons/Placeholder + Genes/Icons/Genitalia_Insect RJW_Genes.Gene_OvipositorGenitalia 808 diff --git a/Common/Defs/Genes/GeneDefs_Reproduction.xml b/Common/Defs/Genes/GeneDefs_Reproduction.xml index 3599418..ef348fd 100644 --- a/Common/Defs/Genes/GeneDefs_Reproduction.xml +++ b/Common/Defs/Genes/GeneDefs_Reproduction.xml @@ -6,7 +6,7 @@ Reproduction Xenotypes with this Gene are Hypersexual (Nymphs). - Genes/Icons/Placeholder + Genes/Icons/Hypersexual 1
  • @@ -20,7 +20,7 @@ Reproduction Xenotypes with this Gene are Rapists. - Genes/Icons/Placeholder + Genes/Icons/Rape 2
  • diff --git a/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml b/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml index 521e878..e168411 100644 --- a/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml +++ b/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml @@ -6,7 +6,7 @@ rjw_genes_gender This Xenotype only has females. 0 - Genes/Icons/Placeholder + Genes/Icons/Female_Only RJW_Genes.Gene_FemaleOnly 1 @@ -17,7 +17,7 @@ This Xenotype only has males. 0 - Genes/Icons/Placeholder + Genes/Icons/Male_Only RJW_Genes.Gene_MaleOnly 2 diff --git a/Common/Patches/Xenotypes/GenitaliaUpdate.xml b/Common/Patches/Xenotypes/GenitaliaUpdate.xml index cda55ba..f0af1b5 100644 --- a/Common/Patches/Xenotypes/GenitaliaUpdate.xml +++ b/Common/Patches/Xenotypes/GenitaliaUpdate.xml @@ -16,7 +16,6 @@ - --> Defs/XenotypeDef[defName="Dirtmole"]/genes @@ -39,12 +38,10 @@ + --> Defs/XenotypeDef[defName="Neanderthal"]/genes -
  • rjw_genes_human_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • rjw_genes_big_male_genitalia
  • rjw_genes_loose_female_genitalia
  • @@ -53,31 +50,21 @@ Defs/XenotypeDef[defName="Pigskin"]/genes -
  • rjw_genes_human_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • -
  • rjw_genes_normal_male_genitalia
  • -
  • rjw_genes_normal_female_genitalia
  • +
  • rjw_genes_much_cum
  • +
  • rjw_genes_zoophile
  • Defs/XenotypeDef[defName="Waster"]/genes -
  • rjw_genes_human_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • -
  • rjw_genes_normal_male_genitalia
  • -
  • rjw_genes_normal_female_genitalia
  • +
  • rjw_genes_insectbreeder
  • Defs/XenotypeDef[defName="Yttakin"]/genes -
  • rjw_genes_human_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • rjw_genes_big_male_genitalia
  • rjw_genes_loose_female_genitalia
  • @@ -86,22 +73,15 @@ Defs/XenotypeDef[defName="Highmate"]/genes -
  • rjw_genes_human_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • -
  • rjw_genes_normal_male_genitalia
  • -
  • rjw_genes_normal_female_genitalia
  • +
  • rjw_genes_hypersexual
  • +
  • rjw_genes_likes_cumflation
  • Defs/XenotypeDef[defName="Genie"]/genes -
  • rjw_genes_human_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • -
  • rjw_genes_normal_male_genitalia
  • -
  • rjw_genes_normal_female_genitalia
  • +
  • rjw_genes_mechbreeder
  • @@ -109,10 +89,6 @@ Defs/XenotypeDef[defName="Sanguophage"]/genes
  • rjw_genes_demonic_genitalia
  • -
  • rjw_genes_normal_anus
  • -
  • rjw_genes_normal_breasts
  • -
  • rjw_genes_normal_male_genitalia
  • -
  • rjw_genes_normal_female_genitalia
  • @@ -120,10 +96,10 @@ Defs/XenotypeDef[defName="Impid"]/genes
  • rjw_genes_demonic_genitalia
  • -
  • rjw_genes_normal_anus
  • rjw_genes_small_breasts
  • rjw_genes_small_male_genitalia
  • rjw_genes_tight_female_genitalia
  • +
  • rjw_genes_tight_anus
  • diff --git a/Common/Textures/Genes/Icons/Big_Breasts.png b/Common/Textures/Genes/Icons/Big_Breasts.png new file mode 100644 index 0000000..904613e Binary files /dev/null and b/Common/Textures/Genes/Icons/Big_Breasts.png differ diff --git a/Common/Textures/Genes/Icons/Big_Male_Genitalia.png b/Common/Textures/Genes/Icons/Big_Male_Genitalia.png new file mode 100644 index 0000000..ed4810d Binary files /dev/null and b/Common/Textures/Genes/Icons/Big_Male_Genitalia.png differ diff --git a/Common/Textures/Genes/Icons/Bonus_Cum.png b/Common/Textures/Genes/Icons/Bonus_Cum.png new file mode 100644 index 0000000..e6c51a4 Binary files /dev/null and b/Common/Textures/Genes/Icons/Bonus_Cum.png differ diff --git a/Common/Textures/Genes/Icons/Cumflation.png b/Common/Textures/Genes/Icons/Cumflation.png new file mode 100644 index 0000000..4d8d470 Binary files /dev/null and b/Common/Textures/Genes/Icons/Cumflation.png differ diff --git a/Common/Textures/Genes/Icons/Cumflation_Immunity.png b/Common/Textures/Genes/Icons/Cumflation_Immunity.png new file mode 100644 index 0000000..643e0bf Binary files /dev/null and b/Common/Textures/Genes/Icons/Cumflation_Immunity.png differ diff --git a/Common/Textures/Genes/Icons/Elasticity.png b/Common/Textures/Genes/Icons/Elasticity.png new file mode 100644 index 0000000..91a8fd7 Binary files /dev/null and b/Common/Textures/Genes/Icons/Elasticity.png differ diff --git a/Common/Textures/Genes/Icons/Empty.png b/Common/Textures/Genes/Icons/Empty.png new file mode 100644 index 0000000..1f295f8 Binary files /dev/null and b/Common/Textures/Genes/Icons/Empty.png differ diff --git a/Common/Textures/Genes/Icons/Extra_Anus.png b/Common/Textures/Genes/Icons/Extra_Anus.png new file mode 100644 index 0000000..1075bbd Binary files /dev/null and b/Common/Textures/Genes/Icons/Extra_Anus.png differ diff --git a/Common/Textures/Genes/Icons/Extra_Breasts.png b/Common/Textures/Genes/Icons/Extra_Breasts.png new file mode 100644 index 0000000..f2c470e Binary files /dev/null and b/Common/Textures/Genes/Icons/Extra_Breasts.png differ diff --git a/Common/Textures/Genes/Icons/Futa.png b/Common/Textures/Genes/Icons/Futa.png new file mode 100644 index 0000000..dfadd1c Binary files /dev/null and b/Common/Textures/Genes/Icons/Futa.png differ diff --git a/Common/Textures/Genes/Icons/Generous_Donor.png b/Common/Textures/Genes/Icons/Generous_Donor.png new file mode 100644 index 0000000..e49daf1 Binary files /dev/null and b/Common/Textures/Genes/Icons/Generous_Donor.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Canine.png b/Common/Textures/Genes/Icons/Genitalia_Canine.png new file mode 100644 index 0000000..84df9d2 Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Canine.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Canine_2.png b/Common/Textures/Genes/Icons/Genitalia_Canine_2.png new file mode 100644 index 0000000..a9d6c1d Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Canine_2.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Demon.png b/Common/Textures/Genes/Icons/Genitalia_Demon.png new file mode 100644 index 0000000..7831b4d Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Demon.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Draconic.png b/Common/Textures/Genes/Icons/Genitalia_Draconic.png new file mode 100644 index 0000000..cb763d6 Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Draconic.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Equine.png b/Common/Textures/Genes/Icons/Genitalia_Equine.png new file mode 100644 index 0000000..51c7c1c Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Equine.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Feline.png b/Common/Textures/Genes/Icons/Genitalia_Feline.png new file mode 100644 index 0000000..c03cc27 Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Feline.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Insect.png b/Common/Textures/Genes/Icons/Genitalia_Insect.png new file mode 100644 index 0000000..e71cabe Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Insect.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Slime.png b/Common/Textures/Genes/Icons/Genitalia_Slime.png new file mode 100644 index 0000000..ee7ae69 Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Slime.png differ diff --git a/Common/Textures/Genes/Icons/Hypersexual.png b/Common/Textures/Genes/Icons/Hypersexual.png new file mode 100644 index 0000000..417196d Binary files /dev/null and b/Common/Textures/Genes/Icons/Hypersexual.png differ diff --git a/Common/Textures/Genes/Icons/Loose_Anus.png b/Common/Textures/Genes/Icons/Loose_Anus.png new file mode 100644 index 0000000..c96dec3 Binary files /dev/null and b/Common/Textures/Genes/Icons/Loose_Anus.png differ diff --git a/Common/Textures/Genes/Icons/Loose_Female_Genitalia.png b/Common/Textures/Genes/Icons/Loose_Female_Genitalia.png new file mode 100644 index 0000000..63b6a9c Binary files /dev/null and b/Common/Textures/Genes/Icons/Loose_Female_Genitalia.png differ diff --git a/Common/Textures/Genes/Icons/More_Egg_Space.png b/Common/Textures/Genes/Icons/More_Egg_Space.png new file mode 100644 index 0000000..35fbcb3 Binary files /dev/null and b/Common/Textures/Genes/Icons/More_Egg_Space.png differ diff --git a/Common/Textures/Genes/Icons/Much_Bonus_Cum.png b/Common/Textures/Genes/Icons/Much_Bonus_Cum.png new file mode 100644 index 0000000..d512725 Binary files /dev/null and b/Common/Textures/Genes/Icons/Much_Bonus_Cum.png differ diff --git a/Common/Textures/Genes/Icons/Necrophile.png b/Common/Textures/Genes/Icons/Necrophile.png new file mode 100644 index 0000000..5b2bf61 Binary files /dev/null and b/Common/Textures/Genes/Icons/Necrophile.png differ diff --git a/Common/Textures/Genes/Icons/No_Anus.png b/Common/Textures/Genes/Icons/No_Anus.png new file mode 100644 index 0000000..f5a9a03 Binary files /dev/null and b/Common/Textures/Genes/Icons/No_Anus.png differ diff --git a/Common/Textures/Genes/Icons/No_Breasts.png b/Common/Textures/Genes/Icons/No_Breasts.png new file mode 100644 index 0000000..28729b8 Binary files /dev/null and b/Common/Textures/Genes/Icons/No_Breasts.png differ diff --git a/Common/Textures/Genes/Icons/No_Cum.png b/Common/Textures/Genes/Icons/No_Cum.png new file mode 100644 index 0000000..2084b5e Binary files /dev/null and b/Common/Textures/Genes/Icons/No_Cum.png differ diff --git a/Common/Textures/Genes/Icons/No_Female_Genitalia.png b/Common/Textures/Genes/Icons/No_Female_Genitalia.png new file mode 100644 index 0000000..9405ce7 Binary files /dev/null and b/Common/Textures/Genes/Icons/No_Female_Genitalia.png differ diff --git a/Common/Textures/Genes/Icons/No_Male_Genitalia.png b/Common/Textures/Genes/Icons/No_Male_Genitalia.png new file mode 100644 index 0000000..ce1fa4e Binary files /dev/null and b/Common/Textures/Genes/Icons/No_Male_Genitalia.png differ diff --git a/Common/Textures/Genes/Icons/Rape.png b/Common/Textures/Genes/Icons/Rape.png new file mode 100644 index 0000000..8ad84ea Binary files /dev/null and b/Common/Textures/Genes/Icons/Rape.png differ diff --git a/Common/Textures/Genes/Icons/Small_Breasts.png b/Common/Textures/Genes/Icons/Small_Breasts.png new file mode 100644 index 0000000..bfae844 Binary files /dev/null and b/Common/Textures/Genes/Icons/Small_Breasts.png differ diff --git a/Common/Textures/Genes/Icons/Small_Male_Genitalia.png b/Common/Textures/Genes/Icons/Small_Male_Genitalia.png new file mode 100644 index 0000000..58aa367 Binary files /dev/null and b/Common/Textures/Genes/Icons/Small_Male_Genitalia.png differ diff --git a/Common/Textures/Genes/Icons/Tight_Anus.png b/Common/Textures/Genes/Icons/Tight_Anus.png new file mode 100644 index 0000000..dd355fb Binary files /dev/null and b/Common/Textures/Genes/Icons/Tight_Anus.png differ diff --git a/Common/Textures/Genes/Icons/Tight_Female_Genitalia.png b/Common/Textures/Genes/Icons/Tight_Female_Genitalia.png new file mode 100644 index 0000000..d0931fa Binary files /dev/null and b/Common/Textures/Genes/Icons/Tight_Female_Genitalia.png differ diff --git a/Common/Textures/Genes/Icons/Zoophile.png b/Common/Textures/Genes/Icons/Zoophile.png new file mode 100644 index 0000000..ed45040 Binary files /dev/null and b/Common/Textures/Genes/Icons/Zoophile.png differ diff --git a/Common/Textures/Genes/Icons/Zoophile_2.png b/Common/Textures/Genes/Icons/Zoophile_2.png new file mode 100644 index 0000000..d313bcb Binary files /dev/null and b/Common/Textures/Genes/Icons/Zoophile_2.png differ diff --git a/Common/Textures/Genes/Icons/extra_female.png b/Common/Textures/Genes/Icons/extra_female.png new file mode 100644 index 0000000..1a6ae6e Binary files /dev/null and b/Common/Textures/Genes/Icons/extra_female.png differ diff --git a/Common/Textures/Genes/Icons/extra_male.png b/Common/Textures/Genes/Icons/extra_male.png new file mode 100644 index 0000000..5390ecc Binary files /dev/null and b/Common/Textures/Genes/Icons/extra_male.png differ diff --git a/Common/Textures/Genes/Icons/female_only.png b/Common/Textures/Genes/Icons/female_only.png new file mode 100644 index 0000000..7b97f02 Binary files /dev/null and b/Common/Textures/Genes/Icons/female_only.png differ diff --git a/Common/Textures/Genes/Icons/male_only.png b/Common/Textures/Genes/Icons/male_only.png new file mode 100644 index 0000000..7e15cbc Binary files /dev/null and b/Common/Textures/Genes/Icons/male_only.png differ diff --git a/KNOWN_BUGS.md b/KNOWN_BUGS.md index d1153c0..3fe7439 100644 --- a/KNOWN_BUGS.md +++ b/KNOWN_BUGS.md @@ -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. \ No newline at end of file +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. \ No newline at end of file diff --git a/README.md b/README.md index c5dc677..5abb92e 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file +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. \ No newline at end of file diff --git a/Source/Animal_Inheritance/GeneChance.cs b/Source/Animal_Inheritance/BestialityGeneInheritanceDef.cs similarity index 82% rename from Source/Animal_Inheritance/GeneChance.cs rename to Source/Animal_Inheritance/BestialityGeneInheritanceDef.cs index 2c5453f..04a9735 100644 --- a/Source/Animal_Inheritance/GeneChance.cs +++ b/Source/Animal_Inheritance/BestialityGeneInheritanceDef.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace RJW_BGS { - public class GeneChance + public class BestialityGeneInheritanceDef { public string defName; public float chance = 1f; diff --git a/Source/Animal_Inheritance/First.cs b/Source/Animal_Inheritance/First.cs index 74eeb6c..8d353f7 100644 --- a/Source/Animal_Inheritance/First.cs +++ b/Source/Animal_Inheritance/First.cs @@ -15,17 +15,24 @@ namespace RJW_BGS static First() { RJWcopy.Racegroupdictbuilder(); - //foreach (RaceGroupDef raceGroupDef2 in DefDatabase.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.AllDefs) + { + Log.Message("defName = " + def.defName); + if (def.raceNames != null) + { + foreach (string race in def.raceNames) + { + Log.Message(race); + } + } + } } } } diff --git a/Source/Animal_Inheritance/InheritanceUtility.cs b/Source/Animal_Inheritance/InheritanceUtility.cs index 8d5e953..8456f45 100644 --- a/Source/Animal_Inheritance/InheritanceUtility.cs +++ b/Source/Animal_Inheritance/InheritanceUtility.cs @@ -12,40 +12,33 @@ namespace RJW_BGS { public static List AnimalInheritedGenes(Pawn father, Pawn mother) { - //One parent must be an animal and the other must be human, so only one needs to return List genelist = new List(); + //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.GetNamed(raceGeneDef.genes.RandomElement()); - // } - // } - // if (gene != null) - // { - // genelist.Add(gene); -// - // } - // - // } } + return genelist; } + /// + /// Looks up potential genes for an animal, + /// checks their chance and returns all 'triggered' genes. + /// + /// The animal for which to look up genes (Animals are Pawns in RW) + /// The genes that will be inherited from this animal. public static List SelectGenes(Pawn pawn) { List genelist = new List(); @@ -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)) { diff --git a/Source/Animal_Inheritance/RJWcopies.cs b/Source/Animal_Inheritance/RJWcopies.cs index cabfd63..2c11074 100644 --- a/Source/Animal_Inheritance/RJWcopies.cs +++ b/Source/Animal_Inheritance/RJWcopies.cs @@ -41,33 +41,37 @@ namespace RJW_BGS string raceName = kindDef.race.defName; string pawnKindName = kindDef.defName; IEnumerable allDefs = DefDatabase.AllDefs; - List list = allDefs.Where(delegate (RaceGroupDef group) + List pawnKindDefs = allDefs.Where(delegate (RaceGroupDef group) { List pawnKindNames = group.pawnKindNames; return pawnKindNames != null && pawnKindNames.Contains(pawnKindName); }).ToList(); - List list2 = allDefs.Where(delegate (RaceGroupDef group) + List raceNameDefs = allDefs.Where(delegate (RaceGroupDef group) { List raceNames = group.raceNames; return raceNames != null && raceNames.Contains(raceName); }).ToList(); - int num = list.Count() + list2.Count(); - if (num == 0) + + int availableDefs = pawnKindDefs.Count() + raceNameDefs.Count(); + if (availableDefs == 0) { + //Exit Early return null; } - if (num == 1) + if (availableDefs == 1) { - return list.Concat(list2).Single(); + return pawnKindDefs.Concat(raceNameDefs).Single(); } + 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() ?? list2.FirstOrDefault()); + result = (pawnKindDefs.FirstOrDefault() ?? raceNameDefs.FirstOrDefault()); } } + 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 allDefs = DefDatabase.AllDefs; Log.Message(allDefs.Count().ToString()); - List list = allDefs.Where(delegate (RaceGeneDef group) + List pawnKindDefs = allDefs.Where(delegate (RaceGeneDef group) { List pawnKindNames = group.pawnKindNames; return pawnKindNames != null && pawnKindNames.Contains(pawnKindName); }).ToList(); - List list2 = allDefs.Where(delegate (RaceGeneDef group) + List raceKindDefs = allDefs.Where(delegate (RaceGeneDef group) { List raceNames = group.raceNames; return raceNames != null && raceNames.Contains(raceName); }).ToList(); - List list3 = new List(); + List raceGroupDefs = new List(); 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 { diff --git a/Source/Animal_Inheritance/RaceGeneDef.cs b/Source/Animal_Inheritance/RaceGeneDef.cs index 1d7e42b..c4cbcea 100644 --- a/Source/Animal_Inheritance/RaceGeneDef.cs +++ b/Source/Animal_Inheritance/RaceGeneDef.cs @@ -14,7 +14,7 @@ namespace RJW_BGS public String raceGroup; public List raceNames; public List pawnKindNames; - public List genes; + public List genes; //public List genechances; public String hybridName; } diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index 88cf099..859f9e3 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -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 diff --git a/Source/Genes/Breeding/Patch_EggFertilization.cs b/Source/Genes/Breeding/Patch_EggFertilization.cs new file mode 100644 index 0000000..46ec598 --- /dev/null +++ b/Source/Genes/Breeding/Patch_EggFertilization.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using HarmonyLib; +using Verse; +using rjw; + +namespace RJW_Genes +{ + /// + /// 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 + /// + [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 getEggsforPawn(Pawn pawn) + { + List eggs = new List(); + pawn.health.hediffSet.GetHediffs(ref eggs); + foreach (var egg in eggs) + egg.Fertilize(pawn); + + return eggs; + } + } +} diff --git a/Source/Genes/Genitalia/Gene_HumanGenitalia.cs b/Source/Genes/Genitalia/Gene_HumanGenitalia.cs deleted file mode 100644 index 077e0c4..0000000 --- a/Source/Genes/Genitalia/Gene_HumanGenitalia.cs +++ /dev/null @@ -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); - } - - } - -} diff --git a/Source/Genes/Genitalia/GenitaliaUtility.cs b/Source/Genes/Genitalia/GenitaliaUtility.cs index e11f06f..4dc289a 100644 --- a/Source/Genes/Genitalia/GenitaliaUtility.cs +++ b/Source/Genes/Genitalia/GenitaliaUtility.cs @@ -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; diff --git a/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs b/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs deleted file mode 100644 index 8ee0a45..0000000 --- a/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Verse; -using rjw; - -namespace RJW_Genes -{ - /// - /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept. - /// - public class Gene_NormalAnus : RJW_Gene - { - - public override void PostMake() - { - base.PostMake(); - } - - } -} diff --git a/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs b/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs deleted file mode 100644 index 2b8f193..0000000 --- a/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs +++ /dev/null @@ -1,17 +0,0 @@ -using rjw; - -namespace RJW_Genes -{ - /// - /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept. - /// - public class Gene_NormalBreasts : RJW_Gene - { - - public override void PostMake() - { - base.PostMake(); - } - - } -} diff --git a/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs deleted file mode 100644 index fce0c87..0000000 --- a/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Verse; -using rjw; - -namespace RJW_Genes -{ - /// - /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept. - /// - public class Gene_NormalFemaleGenitalia : RJW_Gene - { - - public override void PostMake() - { - base.PostMake(); - } - - - } -} diff --git a/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs deleted file mode 100644 index 2fa6247..0000000 --- a/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace RJW_Genes -{ - /// - /// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept. - /// - public class Gene_NormalMaleGenitalia : RJW_Gene - { - - public override void PostMake() - { - base.PostMake(); - } - - } -} diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index b8edc5b..94d2403 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -27,7 +27,7 @@ False - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll + ..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll False @@ -35,7 +35,7 @@ False - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\RJW\1.4\Assemblies\RJW.dll + ..\..\rjw\1.4\Assemblies\RJW.dll False @@ -51,7 +51,12 @@ - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll + ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll + False + + + ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll + False @@ -65,11 +70,12 @@ - + + @@ -94,10 +100,6 @@ - - - - @@ -111,7 +113,6 @@ - diff --git a/TODOS.md b/TODOS.md index 5bf70df..a03b835 100644 --- a/TODOS.md +++ b/TODOS.md @@ -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 \ No newline at end of file