diff --git a/CHANGELOG.md b/CHANGELOG.md
index df15b6f..6baf611 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,33 +1,3 @@
-# 2.1.0
-
-**Additions**:
-
-- New Ability Gene *Mating-Call*: Get bred by all nearby animals.
-- New Ability Gene *Pheromone Spit*: Mark a target to be bred by nearby animals
-- New Passive Gene *Sexual Tamer*: Chance to tame or train animals on bestiality.
-- Human + Animal Pregnancy can (if enabled in settings) produce Vanilla Expanded Genetics Hybrids. Thanks to @Jaaldabaoth (#88)
-- Xenogenes for "Big and Small" Xenotypes thanks to @Flock-of-birds (#83)
-- Xenogenes for "Biotech Expansion Mammalia" and "Biotech Expansion - Mythic" thanks to @Ohreallyow (#86)
-- Xenogenes update for (many?) "Vanilla Races Expanded (VRE)" Mods - Thanks to @Jaaldabaoth (#84 / #88 )
-- Genes can now fulfill RJW Quirks, configurable in XML. Thanks to @Jaaldabaoth (#84 / #88)
-- "Genes" to support VRE Androids having Mechanical Genitalia. Thanks to @Jaaldabaoth (#88)
-- "Curiosity Genes" alongside other Curiosities from VRE. Thanks to @Jaaldabaoth (#88)
-- Support for many VE-Genetics Animals into the Animal-Framework. Thanks to @Jaaldabaoth (#88)
-
-**Fixes**:
-
-- Licentia Genes are back in and should work again. I used the [updated for by Jaaldabaoth](https://gitgud.io/Jaaldabaoth/licentia-labs) for my testing.
-- Lower-casing most labels to fit rimworld standards, thanks to @Flock-of-birds (#83)
-- X-Gender-Only Genes leave / re-add artificial genitalia. Thanks to @Jaaldabaoth (#84 / #88)
-- Issues with Elasticity References (#87)
-
-
-**Changes**:
-
-- Minified some Race-Patches, thanks to @Flock-of-birds (#83)
-- XML-Genitalia-Genes can now also provide Breasts. Thanks to @Jaaldabaoth (#84 / #88)
-- Many patches and files went into a `Mods`Folder and use an `LoadFolders.xml`. Thanks to @Jaaldabaoth (#84 / #88)
-
# 2.0.0
**Summary**:
diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll
index 2f5d259..fac437a 100644
Binary files a/Common/Assemblies/Rjw-Genes.dll and b/Common/Assemblies/Rjw-Genes.dll differ
diff --git a/Common/Defs/AbilityDefs/Ability_MatingCall.xml b/Common/Defs/AbilityDefs/Ability_MatingCall.xml
deleted file mode 100644
index 98cb5c7..0000000
--- a/Common/Defs/AbilityDefs/Ability_MatingCall.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
- rjw_genes_ability_mating_call
- Mating Call
- Calls nearby animals to breed me.
- UI/Abilities/AnimalBerserkPulse
-
- true
- false
-
- false
-
- 50
- 0
-
-
- 410
-
- 30000
-
- 5
- Verb_CastAbility
-
- False
- False
- True
- True
-
-
-
-
-
- PsycastPsychicEffect
-
-
- 40
-
-
- CompAbilityEffect_GiveHediff
- Hediff_Submitting
- True
-
-
- Being Bred is not an easy business.\nThis might lead to a broken pawn, torn genitalia and hybrid-pregnancies.\nMaybe this is what you want.\nThe pawn will `submit` and e.g. Insects might cocoon him.\n\nAre you sure to proceed?
-
-
-
-
\ No newline at end of file
diff --git a/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml b/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml
deleted file mode 100644
index 584e0a8..0000000
--- a/Common/Defs/AbilityDefs/Ability_PheromoneSpit.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- rjw_genes_ability_pheromone_spit
- pheromone spit
- Spit a condensed ball of animal pheromones to mark a target. Nearby Animals will try to breed the target. This means all animals - hostile, friendly and wild.
- UI/Abilities/PiercingSpine
- 3000
- 201
- true
-
- Verb_CastAbility
- 11
- 1.2
- PiercingSpine_Launch
-
- True
- False
- False
- False
-
-
-
-
- 25
-
-
-
-
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
index 76d4369..c54ece4 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
@@ -77,38 +77,4 @@
-1
-
-
- rjw_genes_mating_call
- Mating Call
- This gene allows to call nearby animals and invite them for mating.
- UI/Abilities/AnimalBerserkPulse
- 65
-
- rjw_genes_ability_mating_call
-
-
- rjw_genes_ability_mating_call
-
- 2
- -1
-
-
-
-
- rjw_genes_pheromone_spit
- Pheromone Spit
- This gene allows to mark targets for breeding, enticing nearby animals for a ride.
- UI/Abilities/AnimalBerserkPulse
- 66
-
- rjw_genes_ability_pheromone_spit
-
-
- rjw_genes_ability_pheromone_spit
-
- 2
- -1
-
-
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml b/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml
index cfeab86..cfe7024 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml
@@ -48,9 +48,6 @@
Genes/Icons/RJW_Genes_Endogene_Background
Genes/Icons/RJW_Genes_Xenogene_Background
-
- DemonLoverQuirk
-
@@ -106,9 +103,6 @@
Genes/Icons/RJW_Genes_Endogene_Background
Genes/Icons/RJW_Genes_Xenogene_Background
-
- DemonLoverQuirk
-
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_Cum.xml b/Common/Defs/GeneDefs/GeneDefs_Cum.xml
index 56615ae..a3f9208 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Cum.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Cum.xml
@@ -48,4 +48,64 @@
-2
+
+ rjw_genes_likes_cumflation
+ likes cumflation
+ rjw_genes_cum
+ This Xenotype loves being cumflated.
+ Genes/Icons/Cumflation
+ 536
+
+
+ LikesCumflation
+
+
+
+ NotCumflatable
+
+
+
+
+ Genes/Icons/RJW_Genes_Endogene_Background
+ Genes/Icons/RJW_Genes_Xenogene_Background
+
+
+
+
+
+ rjw_genes_cumflation_immunity
+ cumflation immunity
+ rjw_genes_cum
+ This Xenotype cannot get cumflated.
+ Genes/Icons/Cumflation_Immunity
+ 537
+
+ NotCumflatable
+
+
+
+
+ Genes/Icons/RJW_Genes_Endogene_Background
+ Genes/Icons/RJW_Genes_Xenogene_Background
+
+
+
+
+
+
+ rjw_genes_generous_donor
+ generous donor
+ 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/Generous_Donor
+ 538
+
+
+
+ Genes/Icons/RJW_Genes_Endogene_Background
+ Genes/Icons/RJW_Genes_Xenogene_Background
+
+
+
+
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_Damage.xml b/Common/Defs/GeneDefs/GeneDefs_Damage.xml
index 409fe35..0e3f586 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Damage.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Damage.xml
@@ -1,6 +1,25 @@
+
+ rjw_genes_elasticity
+ elasticity
+ rjw_genes_damage
+ This Xenotype cannot get stretched by huge penetrators.
+ Genes/Icons/Elasticity
+ RJW_Genes.Gene_Elasticity
+ -1
+ 1
+ 1
+
+
+
+ Genes/Icons/RJW_Genes_Endogene_Background
+ Genes/Icons/RJW_Genes_Xenogene_Background
+
+
+
+
rjw_genes_unbreakable
unbreakable
diff --git a/Common/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml b/Common/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml
index a9e9a46..eaf8728 100644
--- a/Common/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml
@@ -1,6 +1,7 @@
+ rjw_genes_genitalia_extras
false
@@ -14,8 +15,6 @@
rjw_genes_extra_penis
extra penis
- rjw_genes_genitalia_extras
-
Males of this species grow an additional penis .
Genes/Icons/extra_male
RJW_Genes.Gene_ExtraPenis
@@ -28,7 +27,6 @@
rjw_genes_no_penis
no penis
- rjw_genes_genitalia_extras
Males of this do not have a penis.
Genes/Icons/No_Male_Genitalia
RJW_Genes.Gene_NoPenis
@@ -42,7 +40,6 @@
rjw_genes_extra_vagina
extra vagina
- rjw_genes_genitalia_extras
Females of this species grow an additional vagina .
Genes/Icons/Extra_Vagina
RJW_Genes.Gene_ExtraVagina
@@ -55,7 +52,6 @@
rjw_genes_no_vagina
no vagina
- rjw_genes_genitalia_extras
Females of this do not have a vagina.
Genes/Icons/No_Vagina
RJW_Genes.Gene_NoVagina
@@ -69,7 +65,6 @@
rjw_genes_extra_breasts
extra breasts
- rjw_genes_genitalia_extras
Females of this species grow an additional pair of breasts .
Genes/Icons/Extra_Breasts
RJW_Genes.Gene_ExtraBreasts
@@ -82,7 +77,6 @@
rjw_genes_no_breasts
no breasts
- rjw_genes_genitalia_extras
Females of this do not have a pair of breasts, but only nipples.
Genes/Icons/No_Breasts
RJW_Genes.Gene_NoBreasts
@@ -95,7 +89,6 @@
rjw_genes_extra_anus
extra anus
- rjw_genes_genitalia_extras
This specias has an extra anus.
Genes/Icons/Extra_Anus
RJW_Genes.Gene_ExtraAnus
@@ -108,7 +101,6 @@
rjw_genes_no_anus
no anus
- rjw_genes_genitalia_extras
This specias has no anus.
Genes/Icons/No_Anus
RJW_Genes.Gene_NoAnus
@@ -121,7 +113,6 @@
rjw_genes_futa
futanari
- rjw_genes_gender
Males with this gene grow additional female genitalia, females grow additional male genitalia.
Genes/Icons/Futa
RJW_Genes.Gene_Futa
@@ -135,7 +126,6 @@
rjw_genes_femboy
femboy
- rjw_genes_gender
Males with this gene are considered female despite having a penis
Genes/Icons/Futa
RJW_Genes.Gene_Femboy
@@ -148,7 +138,6 @@
rjw_genes_featureless_chest
- rjw_genes_genitalia_extras
featureless chest
Carriers of this gene do not have breasts or nipples.
Genes/Icons/No_Breasts
@@ -162,7 +151,6 @@
rjw_genes_udder
udder
- rjw_genes_genitalia_extras
Carriers of this gene have udders and breasts.
Things/Mote/Heart
RJW_Genes.Gene_UdderBreasts
diff --git a/Common/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml b/Common/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml
index 5cc2e9d..6d173b9 100644
--- a/Common/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml
@@ -7,7 +7,7 @@
GenitalType
- true
+ false
0
@@ -43,7 +43,6 @@
Penis
Vagina
Anus
- Breasts
802
@@ -90,10 +89,6 @@
DemonVagina
DemonAnus
-
- DemonLoverQuirk
-
-
805
@@ -109,9 +104,6 @@
DragonVagina
GenericAnus
-
- ScaleLoverQuirk
-
806
@@ -126,11 +118,7 @@
SlimeTentacles
SlimeVagina
SlimeAnus
- SlimeBreasts
-
- SlimeLoverQuirk
-
807
@@ -146,9 +134,6 @@
DemonVagina
DemonAnus
-
- DemonLoverQuirk
-
807
@@ -162,9 +147,6 @@
CrocodilianPenis
-
- ScaleLoverQuirk
-
807
@@ -178,7 +160,6 @@
RaccoonPenis
-
807
@@ -192,9 +173,6 @@
HemiPenis
-
- ScaleLoverQuirk
-
807
@@ -213,9 +191,6 @@
GhostPenis
GhostVagina
-
- TeratophileQuirk
-
807
@@ -229,9 +204,6 @@
GolemPenis
-
- TeratophileQuirk
-
807
@@ -258,9 +230,6 @@
NecroPenis
-
- TeratophileQuirk
-
807
@@ -313,14 +282,15 @@
TentaclePenis
-
- TeratophileQuirk
-
807
+
+
+
+
rjw_genes_ovipositor_genitalia
insect genitalia
@@ -332,9 +302,6 @@
OvipositorF
InsectAnus
-
- ChitinLoverQuirk
-
808
diff --git a/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml b/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml
index 6a0878a..4e5160a 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Reproduction.xml
@@ -181,13 +181,6 @@
1.10
-2
1
-
-
-
- ImpregnationFetishQuirk
-
-
-
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml b/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml
index a4ecb4d..0165d8f 100644
--- a/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_SexSpecial.xml
@@ -82,12 +82,11 @@
rjw_genes_sexual_mytosis
orgasmic mytosis
- Carriers have malfunctioning regenerative archites that grow more unstable with ongoing multiple orgasms - climaxing in a process of mytosis. This will result in an (biologically) identical pawn and both twins are set in a regenerative state. Also, the pawn can have multiple orgasms: In a state of higher unstableness, they come quicker.
+ Carriers of this gene grow more unstable with ongoing multiple orgasms - climaxing in a process of mytosis. This will result in an (biologically) identical pawn and both twins are set in a regenerative state. Also, the pawn can have multiple orgasms: In a state of higher unstableness, they come quicker.
UI/Icons/Genes/Gene_PsychicBonding
5
5
-5
- 1
@@ -125,22 +124,6 @@
1
-1
-
-
- BreederQuirk
-
-
-
- rjw_genes_sex_tamer
- Sexual Tamer
- sextamer
- Bestiality has a chance to tame animals or advance their training.
- UI/Abilities/AnimalBerserkPulse
- 14
- 2
- -1
-
-
\ No newline at end of file
diff --git a/Common/Patches/Genes/Vanilla_Quirk_Patch.xml b/Common/Patches/Genes/Vanilla_Quirk_Patch.xml
deleted file mode 100644
index 40458da..0000000
--- a/Common/Patches/Genes/Vanilla_Quirk_Patch.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="Furskin"]
-
-
-
- FurLoverQuirk
-
-
-
-
-
- /Defs/GeneDef[defName="Head_Gaunt"]
-
-
-
- TeratophileQuirk
-
-
-
-
-
-
diff --git a/Common/Patches/Xenotypes/GenitaliaUpdate.xml b/Common/Patches/Xenotypes/GenitaliaUpdate.xml
index 1451a13..e6a9681 100644
--- a/Common/Patches/Xenotypes/GenitaliaUpdate.xml
+++ b/Common/Patches/Xenotypes/GenitaliaUpdate.xml
@@ -14,8 +14,6 @@
rjw_genes_much_cum
rjw_genes_zoophile
- rjw_genes_Pig_genitalia
- rjw_genes_human_genitalia
diff --git a/Common/Patches/Xenotypes/PatchPigskins.xml b/Common/Patches/Xenotypes/PatchPigskins.xml
deleted file mode 100644
index c49c4ac..0000000
--- a/Common/Patches/Xenotypes/PatchPigskins.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- Vanilla Races Expanded - Pigskin
-
-
- Defs/XenotypeDef[defName="VRE_Boarskin"]/genes
-
- rjw_genes_Pig_genitalia
- rjw_genes_human_genitalia
- rjw_genes_much_cum
- rjw_genes_zoophile
-
-
-
-
\ No newline at end of file
diff --git a/Common/Patches/Xenotypes/PatchVRELycanthrope.xml b/Common/Patches/Xenotypes/PatchVRELycanthrope.xml
deleted file mode 100644
index 6896e98..0000000
--- a/Common/Patches/Xenotypes/PatchVRELycanthrope.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
- Vanilla Races Expanded - Lycanthrope
-
-
- Defs/XenotypeDef[defName="VRE_Wolfman"]/genes
-
- rjw_genes_human_genitalia
- rjw_genes_zoophile
-
-
-
-
-
- Vanilla Races Expanded - Lycanthrope
-
-
- Defs/XenotypeDef[defName="VRE_Lycan"]/genes
-
- rjw_genes_canine_genitalia
- rjw_genes_zoophile
- rjw_genes_rapist
-
-
-
-
\ No newline at end of file
diff --git a/Common/Textures/Genes/Icons/sex_curiosity.png b/Common/Textures/Genes/Icons/sex_curiosity.png
deleted file mode 100644
index b5dcd7f..0000000
Binary files a/Common/Textures/Genes/Icons/sex_curiosity.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/sex_disabled.png b/Common/Textures/Genes/Icons/sex_disabled.png
deleted file mode 100644
index 9ce4983..0000000
Binary files a/Common/Textures/Genes/Icons/sex_disabled.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/sex_enabled.png b/Common/Textures/Genes/Icons/sex_enabled.png
deleted file mode 100644
index 86e0a6b..0000000
Binary files a/Common/Textures/Genes/Icons/sex_enabled.png and /dev/null differ
diff --git a/LoadFolders.xml b/LoadFolders.xml
index 8f11ba4..d708230 100644
--- a/LoadFolders.xml
+++ b/LoadFolders.xml
@@ -5,16 +5,5 @@
Common
Mods/NotRaceSupport
- Mods/Sanguophage
- Mods/Saurid
- Mods/Phytokin
- Mods/Lycanthrope
- Mods/Highmate
- Mods/Genie
- Mods/Fungoid
- Mods/Archon
- Mods/Android
- Mods/VE_Genetics
- Mods/LicentiaLabs
\ No newline at end of file
diff --git a/Mods/Android/Defs/AndroidConvertableGenesDefs/AndroidConvertableGenesDefs.xml b/Mods/Android/Defs/AndroidConvertableGenesDefs/AndroidConvertableGenesDefs.xml
deleted file mode 100644
index 2977367..0000000
--- a/Mods/Android/Defs/AndroidConvertableGenesDefs/AndroidConvertableGenesDefs.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- rjw_genes_AndroidConvertableGenesDefs
-
- rjw_genes_gender
-
-
-
-
-
\ No newline at end of file
diff --git a/Mods/Android/Defs/GeneDefs/GeneDefs_Androids.xml b/Mods/Android/Defs/GeneDefs/GeneDefs_Androids.xml
deleted file mode 100644
index 058d719..0000000
--- a/Mods/Android/Defs/GeneDefs/GeneDefs_Androids.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
- rjw_genes_bionic_genitalia
- bionic genitalia
- RJW_Genes.Gene_GenitaliaType
- This piece of hardware is a set of bionic genitals of high quality
- Genes/Icons/Genitalia_human
-
-
- BionicPenis
- BionicVagina
- BionicAnus
- BionicBreasts
-
-
- 802
- -2
-
-
-
- rjw_genes_hydrolic_genitalia
- hydrolic genitalia
- RJW_Genes.Gene_GenitaliaType
- This piece of hardware is a set of crude hydrolic genitals, at least it come with a suspension system
- Genes/Icons/Genitalia_human
-
-
- HydraulicPenis
- HydraulicVagina
- HydraulicAnus
- HydraulicBreasts
-
-
- 802
-
- 1.12
-
-
-
-
- rjw_genes_SexDisabled
- sex disabled
- Androids do not feel satisfaction from sex, and have no need to feel it.
- Genes/Icons/sex_disabled
- 3
- 1
-
- Sex
-
- true
-
-
-
\ No newline at end of file
diff --git a/Mods/Android/Patches/Android_Quirk_Patch.xml b/Mods/Android/Patches/Android_Quirk_Patch.xml
deleted file mode 100644
index 52f9333..0000000
--- a/Mods/Android/Patches/Android_Quirk_Patch.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- /Defs/VREAndroids.AndroidGeneDef[defName="VREA_SyntheticBody"]
-
-
- RobotLoverQuirk
-
-
-
-
- /Defs/VREAndroids.AndroidGeneDef[defName="VREA_SyntheticSkin"]
-
-
- RobotLoverQuirk
-
-
-
-
- /Defs/GeneCategoryDef[defName="VREA_Subroutine"]/displayPriorityInXenotype
-
- 10
-
-
-
-
diff --git a/Mods/Archon/Patches/Archon_Quirk_Patch.xml b/Mods/Archon/Patches/Archon_Quirk_Patch.xml
deleted file mode 100644
index 0f7e119..0000000
--- a/Mods/Archon/Patches/Archon_Quirk_Patch.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRE_Leatherskin"]
-
-
- SkinLoverQuirk
-
-
-
-
-
diff --git a/Mods/Fungoid/Patches/Fungoid_Quirk_Patch.xml b/Mods/Fungoid/Patches/Fungoid_Quirk_Patch.xml
deleted file mode 100644
index bcb1e72..0000000
--- a/Mods/Fungoid/Patches/Fungoid_Quirk_Patch.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRE_FungalCrest"]
-
-
- PlantLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_HairMushroom"]
-
-
- PlantLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_FungalFlesh"]
-
-
- PlantLoverQuirk
-
-
-
-
-
diff --git a/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml b/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml
deleted file mode 100644
index 98cd404..0000000
--- a/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- VRE_Curiosity
-
- VRE_Curiosity
- Curiosity
-
- -2
- 2
-
-
-
- VRE_Curiosity_Sex
- sex curiosity
- 0
- The carrier has a natural curiosity for sex which makes them gain recreation whenever they learn it. Furthermore, curiosity prevents skill loss in sex completely.
-
- Genes/Icons/sex_curiosity
-
-
- Sex
- Sex
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Mods/Highmate/Patches/Highmate_Quirk_Patch.xml b/Mods/Highmate/Patches/Highmate_Quirk_Patch.xml
deleted file mode 100644
index 0f69977..0000000
--- a/Mods/Highmate/Patches/Highmate_Quirk_Patch.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRE_FelineEars"]
-
-
- FurLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_FelineTail"]
-
-
- FurLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_PerfectBody"]
-
-
- SkinLoverQuirk
-
-
-
-
-
diff --git a/Mods/LicentiaLabs/Defs/GeneDefs/LicentiaLabs_GeneDefs.xml b/Mods/LicentiaLabs/Defs/GeneDefs/LicentiaLabs_GeneDefs.xml
deleted file mode 100644
index 22fb911..0000000
--- a/Mods/LicentiaLabs/Defs/GeneDefs/LicentiaLabs_GeneDefs.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
- rjw_genes_elasticity
- elasticity
- rjw_genes_damage
- This Xenotype cannot get stretched by huge penetrators.
- Genes/Icons/Elasticity
- RJW_Genes.Gene_Elasticity
- -1
- 1
- 1
-
-
-
- Genes/Icons/RJW_Genes_Endogene_Background
- Genes/Icons/RJW_Genes_Xenogene_Background
-
-
-
-
-
- rjw_genes_likes_cumflation
- likes cumflation
- rjw_genes_cum
- This Xenotype loves being cumflated.
- Genes/Icons/Cumflation
- 536
-
-
- LikesCumflation
-
-
-
- NotCumflatable
-
-
-
-
- Genes/Icons/RJW_Genes_Endogene_Background
- Genes/Icons/RJW_Genes_Xenogene_Background
-
-
-
-
-
- rjw_genes_cumflation_immunity
- cumflation immunity
- rjw_genes_cum
- This Xenotype cannot get cumflated.
- Genes/Icons/Cumflation_Immunity
- 537
-
- NotCumflatable
-
-
-
-
- Genes/Icons/RJW_Genes_Endogene_Background
- Genes/Icons/RJW_Genes_Xenogene_Background
-
-
-
-
-
- rjw_genes_generous_donor
- generous donor
- 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/Generous_Donor
- 538
-
-
-
- Genes/Icons/RJW_Genes_Endogene_Background
- Genes/Icons/RJW_Genes_Xenogene_Background
-
-
-
-
-
\ No newline at end of file
diff --git a/Mods/Lycanthrope/Patches/Lycanthrope_Quirk_Patch.xml b/Mods/Lycanthrope/Patches/Lycanthrope_Quirk_Patch.xml
deleted file mode 100644
index 475950c..0000000
--- a/Mods/Lycanthrope/Patches/Lycanthrope_Quirk_Patch.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRE_ChestFur"]
-
-
- FurLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_CanineTail"]
-
-
- FurLoverQuirk
-
-
-
-
-
diff --git a/Mods/Phytokin/Patches/Phytokin_Quirk_Patch.xml b/Mods/Phytokin/Patches/Phytokin_Quirk_Patch.xml
deleted file mode 100644
index 78089d4..0000000
--- a/Mods/Phytokin/Patches/Phytokin_Quirk_Patch.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRE_BarkSkin"]
-
-
- PlantLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_FoliageHair"]
-
-
- PlantLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_SapBlood"]
-
-
- PlantLoverQuirk
-
-
-
-
-
diff --git a/Mods/Sanguophage/Patches/Sanguophage_Quirk_Patch.xml b/Mods/Sanguophage/Patches/Sanguophage_Quirk_Patch.xml
deleted file mode 100644
index cf01f46..0000000
--- a/Mods/Sanguophage/Patches/Sanguophage_Quirk_Patch.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRE_SanguineHair"]
-
-
- DemonLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_BatEars"]
-
-
- TeratophileQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_UpperBatEars"]
-
-
- TeratophileQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_Talons"]
-
-
- DemonLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRE_BatNose"]
-
-
- TeratophileQuirk
-
-
-
-
-
diff --git a/Mods/Saurid/Patches/Saurid_Quirk_Patch.xml b/Mods/Saurid/Patches/Saurid_Quirk_Patch.xml
deleted file mode 100644
index 37188ff..0000000
--- a/Mods/Saurid/Patches/Saurid_Quirk_Patch.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- /Defs/GeneDef[defName="VRESaurids_FrilledEars"]
-
-
- ScaleLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRESaurids_CenterFrill"]
-
-
- ScaleLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRESaurids_GeckoTail"]
-
-
- ScaleLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRESaurids_SauridClaws"]
-
-
- ScaleLoverQuirk
-
-
-
-
- /Defs/GeneDef[defName="VRESaurids_ScaleSkin"]
-
-
- ScaleLoverQuirk
-
-
-
-
-
diff --git a/Mods/VE_Genetics/Defs/HedifDef/Hediffs_Animals.xml b/Mods/VE_Genetics/Defs/HedifDef/Hediffs_Animals.xml
deleted file mode 100644
index 93aa987..0000000
--- a/Mods/VE_Genetics/Defs/HedifDef/Hediffs_Animals.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- rjw_genes_animal_control_hediff
- part human
- This creature is more controlable with a natural human part.
- HediffWithComps
- (0.9, 1.0, 0.35)
- 1
-
-
- true
-
-
- false
-
-
-
\ No newline at end of file
diff --git a/Mods/VE_Genetics/Defs/RaceGeneDef/RaceGeneDefs_VEgenetic.xml b/Mods/VE_Genetics/Defs/RaceGeneDef/RaceGeneDefs_VEgenetic.xml
deleted file mode 100644
index a4d43ef..0000000
--- a/Mods/VE_Genetics/Defs/RaceGeneDef/RaceGeneDefs_VEgenetic.xml
+++ /dev/null
@@ -1,654 +0,0 @@
-
-
-
-
- GR_Manbear_GenGroup
-
-
- GR_Manbear
- GR_Bearman
-
-
-
-
-
- Immunity_Strong
- 0.8
-
-
- MinTemp_LargeDecrease
- 0.8
-
-
- Aggression_Aggressive
- 0.8
-
-
- Sleepy
- 0.8
-
-
- Beard_Always
- 0.8
-
-
- VoiceRoar
- 0.8
-
-
- Body_Fat
- 0.8
-
-
- Body_Hulk
- 0.8
-
-
- Hair_ReddishBrown
- 0.8
-
-
- Hair_DarkBrown
- 0.8
-
-
- Hair_DarkSaturatedReddish
- 0.8
-
-
- Hair_DarkReddish
- 0.8
-
-
- RobustDigestion
- 0.8
-
-
- Furskin
- 0.8
-
-
- Unstoppable
- 0.8
-
-
- AptitudeTerrible_Artistic
- 0.8
-
-
- AptitudeTerrible_Social
- 0.8
-
-
- AptitudePoor_Intellectual
- 0.8
-
-
-
-
-
-
-
- GR_Manalope_GenGroup
-
-
- GR_Manalope
- GR_Booman
-
-
-
-
-
- FireSpew
- 0.8
-
-
- Beauty_Ugly
- 0.8
-
-
- Hair_Blonde
- 0.8
-
-
- Hair_SandyBlonde
- 0.8
-
-
- Hair_LightOrange
- 0.8
-
-
- rjw_genes_udder
- 0.8
-
-
-
-
-
-
-
- GR_Manchicken_GenGroup
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
-
- Mood_Optimist
- 0.8
-
-
- Delicate
- 0.8
-
-
- Beauty_Pretty
- 0.8
-
-
- Body_Thin
- 0.8
-
-
- AptitudeTerrible_Melee
- 0.8
-
-
- AptitudeTerrible_Mining
- 0.8
-
-
- AptitudeRemarkable_Social
- 0.8
-
-
- AptitudeStrong_Intellectual
- 0.8
-
-
-
-
-
-
-
- GR_Manffalo_GenGroup
-
-
- GR_Manffalo
- GR_Muffaloman
-
-
-
-
-
- Headbone_Human
- 0.9
-
-
- Headbone_MiniHorns
- 0.9
-
-
- Furskin
- 0.9
-
-
- MinTemp_SmallIncrease
- 0.9
-
-
- rjw_genes_big_male_genitalia
- 0.7
-
-
- rjw_genes_loose_female_genitalia
- 0.7
-
-
- rjw_genes_big_breasts
- 0.7
-
-
- rjw_genes_udder
- 0.7
-
-
- rjw_genes_Needle_genitalia
- 0.7
-
-
- rjw_mc_genes_perm_lactating
- 0.05
-
-
- rjw_genes_zoophile
- 0.5
-
-
- AptitudeTerrible_Intellectual
- 0.05
-
-
- AptitudePoor_Intellectual
- 0.7
-
-
-
-
-
-
- GR_Manwolf_GenGroup
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
-
- AptitudeTerrible_Mining
- 0.05
-
-
- PsychicBonding
- 0.05
-
-
- Mood_Sanguine
- 0.05
-
-
- Ears_Floppy
- 0.9
-
-
- rjw_genes_canine_genitalia
- 0.9
-
-
- Furskin
- 0.9
-
-
- MinTemp_SmallIncrease
- 0.9
-
-
- Libido_High
- 0.9
-
-
- AptitudePoor_Mining
- 0.5
-
-
- rjw_genes_zoophile
- 0.5
-
-
- Mood_Optimist
- 0.5
-
-
-
-
-
-
- GR_Mancat_GenGroup
-
-
- GR_Mancat
- GR_Catman
-
-
-
-
-
- PsychicBonding
- 0.05
-
-
- AptitudeTerrible_Animals
- 0.05
-
-
- Ears_Cat
- 0.9
-
-
- Body_Thin
- 0.9
-
-
- rjw_genes_feline_genitalia
- 0.9
-
-
- Furskin
- 0.9
-
-
- MinTemp_SmallIncrease
- 0.9
-
-
- rjw_genes_small_male_genitalia
- 0.7
-
-
- rjw_genes_tight_female_genitalia
- 0.7
-
-
- rjw_genes_small_breasts
- 0.7
-
-
- rjw_genes_tight_anus
- 0.7
-
-
- DarkVision
- 0.8
-
-
- AptitudePoor_Animals
- 0.5
-
-
- Beauty_Pretty
- 0.7
-
-
- rjw_genes_zoophile
- 0.5
-
-
-
-
-
-
- GR_Mansquirrel_GenGroup
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
-
- MoveSpeed_VeryQuick
- 0.8
-
-
- KindInstinct
- 0.8
-
-
- Delicate
- 0.8
-
-
- Ears_Cat
- 0.8
-
-
- Body_Thin
- 0.8
-
-
- Tail_Furry
- 0.8
-
-
- AptitudeTerrible_Shooting
- 0.8
-
-
- AptitudeTerrible_Melee
- 0.8
-
-
- AptitudeTerrible_Mining
- 0.8
-
-
- AptitudeTerrible_Animals
- 0.8
-
-
- AptitudeStrong_Intellectual
- 0.8
-
-
- rjw_genes_Needle_genitalia
- 0.8
-
-
- rjw_genes_zoophile
- 0.8
-
-
-
-
-
-
-
- GR_Thrumboman_GenGroup
-
-
- GR_Thrumboman
-
-
-
-
-
- Unstoppable
- 0.25
-
-
- Headbone_CenterHorn
- 0.9
-
-
- VoiceRoar
- 0.6
-
-
- MaxTemp_SmallIncrease
- 0.7
-
-
- MaxTemp_LargeIncrease
- 0.1
-
-
- rjw_genes_dragon_genitalia
- 0.6
-
-
- FireResistant
- 0.15
-
-
- rjw_genes_much_cum
- 0.3
-
-
- rjw_genes_very_much_cum
- 0.05
-
-
- Body_Hulk
- 0.7
-
-
-
-
-
-
-
-
-
- GR_Hurseman_GenGroup
-
-
- GR_Hurseman
-
-
-
-
-
- Body_Standard
- 0.9
-
-
- Body_Hulk
- 0.7
-
-
- rjw_genes_equine_genitalia
- 0.9
-
-
- rjw_genes_zoophile
- 0.5
-
-
- rjw_genes_much_cum
- 0.5
-
-
- MoveSpeed_Quick
- 0.5
-
-
- AptitudeTerrible_Mining
- 0.5
-
-
- AptitudeTerrible_Intellectual
- 0.5
-
-
- Furskin
- 0.9
-
-
- MinTemp_SmallIncrease
- 0.9
-
-
-
-
-
-
-
-
-
- GR_Manscarab_GenGroup
-
-
- GR_Manscarab
-
-
-
-
-
- Beauty_Ugly
- 0.5
-
-
- Immunity_Strong
- 0.6
-
-
- ToxicEnvironmentResistance_Partial
- 0.4
-
-
- rjw_genes_ovipositor_genitalia
- 0.15
-
-
- rjw_genes_insectincubator
- 0.1
-
-
- rjw_genes_insectbreeder
- 0.1
-
-
- Body_Thin
- 0.3
-
-
-
-
-
-
-
- GR_Lizardman_GenGroup
-
-
- GR_Lizardman
-
-
-
-
-
- AcidSpray
- 0.7
-
-
- MinTemp_SmallIncrease
- 0.7
-
-
- MaxTemp_SmallIncrease
- 0.7
-
-
- Robust
- 0.7
-
-
- Hair_BaldOnly
- 0.7
-
-
- Beard_NoBeardOnly
- 0.7
-
-
- Body_Standard
- 0.7
-
-
- Headbone_CenterHorn
- 0.7
-
-
- AptitudeTerrible_Artistic
- 0.7
-
-
- AptitudeTerrible_Social
- 0.7
-
-
- rjw_genes_reptilian_genitalia
- 0.7
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Mods/VE_Genetics/Defs/RaceGroupDef/Hybrid_Group.xml b/Mods/VE_Genetics/Defs/RaceGroupDef/Hybrid_Group.xml
deleted file mode 100644
index ab3ba01..0000000
--- a/Mods/VE_Genetics/Defs/RaceGroupDef/Hybrid_Group.xml
+++ /dev/null
@@ -1,795 +0,0 @@
-
-
-
-
- Bear_Grizzly_Group
-
- Human
- Bear_Grizzly
-
-
- GR_Manbear
- GR_Bearman
-
-
-
-
- Bear_Polar_Group
-
- Human
- Bear_Polar
-
-
-
- GR_Manbear
- GR_Bearman
-
-
-
-
- GR_Manbear_Group
-
- Human
- GR_Manbear
-
-
-
- Human
-
-
-
-
- GR_Bearman_Group
-
- Human
- GR_Bearman
-
-
-
- Human
-
-
-
-
- Boomalope_Group
-
- Human
- Boomalope
-
-
-
- GR_Manalope
- GR_Booman
-
-
-
-
- GR_Manalope_Group
-
- Human
- GR_Manalope
-
-
-
- Human
-
-
-
-
- GR_Booman_Group
-
- Human
- GR_Booman
-
-
-
- Human
-
-
-
-
- Chicken_Group
-
- Human
- Chicken
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- Duck_Group
-
- Human
- Duck
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- Turkey_Group
-
- Human
- Turkey
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- Goose_Group
-
- Human
- Goose
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- Ostrich_Group
-
- Human
- Ostrich
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- Emu_Group
-
- Human
- Emu
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- Cassowary_Group
-
- Human
- Cassowary
-
-
-
- GR_Manchicken
- GR_Turkeyman
-
-
-
-
- GR_Manchicken_Group
-
- Human
- GR_Manchicken
-
-
-
- Human
-
-
-
-
- GR_Turkeyman_Group
-
- Human
- GR_Turkeyman
-
-
-
- Human
-
-
-
-
- Cow_Group
-
- Human
- Cow
-
-
-
- GR_Manffalo
- GR_Muffaloman
-
-
-
-
- Muffalo_Group
-
- Human
- Muffalo
-
-
-
- GR_Manffalo
- GR_Muffaloman
-
-
-
-
- Bison_Group
-
- Human
- Bison
-
-
-
- GR_Manffalo
- GR_Muffaloman
-
-
-
-
- Yak_Group
-
- Human
- Yak
-
-
-
- GR_Manffalo
- GR_Muffaloman
-
-
-
-
- GR_Manffalo_Group
-
- Human
- GR_Manffalo
-
-
-
- Human
-
-
-
-
- GR_Muffaloman_Group
-
- Human
- GR_Muffaloman
-
-
-
- Human
-
-
-
-
- Warg_Group
-
- Human
- Warg
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- Wolf_Timber_Group
-
- Human
- Wolf_Timber
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- Wolf_Arctic_Group
-
- Human
- Wolf_Arctic
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- Fox_Fennec_Group
-
- Human
- Fox_Fennec
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- Fox_Red_Group
-
- Human
- Fox_Red
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- Fox_Arctic_Group
-
- Human
- Fox_Arctic
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- Husky_Group
-
- Human
- Husky
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- LabradorRetriever_Group
-
- Human
- LabradorRetriever
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- YorkshireTerrier_Group
-
- Human
- YorkshireTerrier
-
-
-
- GR_Manwolf
- GR_Dogman
-
-
-
-
- GR_Manwolf_Group
-
- Human
- GR_Manwolf
-
-
-
- Human
-
-
-
-
- GR_Dogman_Group
-
- Human
- GR_Dogman
-
-
-
- Human
-
-
-
-
- Cougar_Group
-
- Human
- Cougar
-
-
-
- GR_Mancat
- GR_Catman
-
-
-
-
- Panther_Group
-
- Human
- Panther
-
-
-
- GR_Mancat
- GR_Catman
-
-
-
-
- Lynx_Group
-
- Human
- Lynx
-
-
-
- GR_Mancat
- GR_Catman
-
-
-
-
- Cat_Group
-
- Human
- Cat
-
-
-
- GR_Mancat
- GR_Catman
-
-
-
-
- GR_Mancat_Group
-
- Human
- GR_Mancat
-
-
-
- Human
-
-
-
-
- GR_Catman_Group
-
- Human
- GR_Catman
-
-
-
- Human
-
-
-
-
- GuineaPig_Group
-
- Human
- GuineaPig
-
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
- Hare_Group
-
- Human
- Hare
-
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
- Snowhare_Group
-
- Human
- Snowhare
-
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
- Squirrel_Group
-
- Human
- Squirrel
-
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
- Rat_Group
-
- Human
- Rat
-
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
- Raccoon_Group
-
- Human
- Raccoon
-
-
-
- GR_Mansquirrel
- GR_Moleman
-
-
-
-
- GR_Mansquirrel_Group
-
- Human
- GR_Mansquirrel
-
-
-
- Human
-
-
-
-
- GR_Moleman_Group
-
- Human
- GR_Moleman
-
-
-
- Human
-
-
-
-
- Thrumbo_Group
-
- Human
- Thrumbo
-
-
-
- GR_Thrumboman
-
-
-
-
- GR_Thrumboman_Group
-
- Human
- GR_Thrumboman
-
-
-
- Human
-
-
-
-
-
-
-
- Dromedary_Group
-
- Human
- Dromedary
-
-
-
- GR_Hurseman
-
-
-
-
- Elk_Group
-
- Human
- Elk
-
-
-
- GR_Hurseman
-
-
-
-
- Horse_Group
-
- Human
- Horse
-
-
-
- GR_Hurseman
-
-
-
-
- Caribou_Group
-
- Human
- Caribou
-
-
-
- GR_Hurseman
-
-
-
-
- Donkey_Group
-
- Human
- Donkey
-
-
-
- GR_Hurseman
-
-
-
-
- GR_Hurseman_Group
-
- Human
- GR_Hurseman
-
-
-
- Human
-
-
-
-
- Megascarab_Group
-
- Human
- Megascarab
-
-
-
- GR_Manscarab
-
-
-
-
- Spelopede_Group
-
- Human
- Spelopede
-
-
-
- GR_Manscarab
-
-
-
-
- Megaspider_Group
-
- Human
- Megaspider
-
-
-
- GR_Manscarab
-
-
-
-
- GR_Manscarab_Group
-
- Human
- GR_Manscarab
-
-
-
- Human
-
-
-
-
- Iguana_Group
-
- Human
- Iguana
-
-
-
- GR_Lizardman
-
-
-
-
- Cobra_Group
-
- Human
- Cobra
-
-
-
- GR_Lizardman
-
-
-
-
- Tortoise_Group
-
- Human
- Tortoise
-
-
-
- GR_Lizardman
-
-
-
-
- GR_Lizardman_Group
-
- Human
- GR_Lizardman
-
-
-
- Human
-
-
-
-
diff --git a/Source/Animal_Inheritance/Patches/BasePregnancyPatcher.cs b/Source/Animal_Inheritance/Patches/BasePregnancyPatcher.cs
deleted file mode 100644
index 1395575..0000000
--- a/Source/Animal_Inheritance/Patches/BasePregnancyPatcher.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using UnityEngine;
-using HarmonyLib;
-using rjw;
-
-namespace RJW_BGS
-{
- [HarmonyPatch(typeof(Hediff_BasePregnancy))]
- public class BasePregnancyPatcher
- {
- public static List supportedHybridRaces = new List()
- {
- "GR_Manbear",
- "GR_Bearman",
- "GR_Manalope",
- "GR_Booman",
- "GR_Manchicken",
- "GR_Turkeyman",
- "GR_Manffalo",
- "GR_Muffaloman",
- "GR_Manwolf",
- "GR_Dogman",
- "GR_Mancat",
- "GR_Catman",
- "GR_Mansquirrel",
- "GR_Moleman",
- "GR_Thrumboman",
- "GR_Hurseman",
- "GR_Manscarab",
- "GR_Lizardman"
- };
-
- public static List supportedInitialAnimalRaces = new List()
- {
- "Bear_Grizzly",
- "Bear_Polar",
- "Boomalope",
- "Chicken",
- "Duck",
- "Turkey",
- "Goose",
- "Ostrich",
- "Emu",
- "Cassowary",
- "Cow",
- "Muffalo",
- "Bison",
- "Yak",
- "Warg",
- "Wolf_Timber",
- "Wolf_Arctic",
- "Fox_Fennec",
- "Fox_Red",
- "Fox_Arctic",
- "Husky",
- "LabradorRetriever",
- "YorkshireTerrier",
- "Cougar",
- "Panther",
- "Lynx",
- "Cat",
- "GuineaPig",
- "Hare",
- "Snowhare",
- "Squirrel",
- "Rat",
- "Raccoon",
- "Thrumbo",
- "Dromedary",
- "Elk",
- "Horse",
- "Caribou",
- "Donkey",
- "Megascarab",
- "Spelopede",
- "Megaspider",
- "Iguana",
- "Cobra",
- "Tortoise"
- };
-
- public static HediffDef controler = DefDatabase.GetNamed("rjw_genes_animal_control_hediff", false);
-
- [HarmonyPostfix]
- [HarmonyPatch("GenerateBabies")]
- public static void addHedif (Hediff_BasePregnancy __instance)
- {
- if (controler == null) return;
-
- foreach (Pawn baby in __instance.babies)
- {
- if(baby != null && supportedHybridRaces.Contains(baby.kindDef.race.defName))
- baby.health.AddHediff(controler);
- }
- }
-
- }
-}
diff --git a/Source/Animal_Inheritance/Patches/PregnancyHelperPatcher.cs b/Source/Animal_Inheritance/Patches/PregnancyHelperPatcher.cs
deleted file mode 100644
index 0d7aafd..0000000
--- a/Source/Animal_Inheritance/Patches/PregnancyHelperPatcher.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using RJW_BGS;
-using HarmonyLib;
-using rjw;
-using static rjw.Hediff_BasePregnancy;
-using RJW_Genes;
-
-namespace RJW_BGS
-{
- [HarmonyPatch(typeof(PregnancyHelper))]
- public class PregnancyHelperPatcher
- {
-
- [HarmonyPrefix]
- [HarmonyPatch("AddPregnancyHediff")]
- public static bool AddPregnancyHediffPrefix(Pawn mother, Pawn father)
- {
- if (!RJW_BGSSettings.rjw_bgs_VE_genetics) return true;
- if (mother == null || father == null) return true;
- bool humanMotherAndSupportedAnimal = mother.IsHuman() && BasePregnancyPatcher.supportedInitialAnimalRaces.Contains(father.kindDef.race.defName);
- bool humanMotherAndSupportedHybrid = mother.IsHuman() && BasePregnancyPatcher.supportedHybridRaces.Contains(father.kindDef.race.defName);
- bool humanFatherAndSupportedAnimal = father.IsHuman() && BasePregnancyPatcher.supportedInitialAnimalRaces.Contains(mother.kindDef.race.defName);
- bool humanFatherAndSupportedHybrid = father.IsHuman() && BasePregnancyPatcher.supportedHybridRaces.Contains(mother.kindDef.race.defName);
-
- if (!(humanMotherAndSupportedAnimal || humanMotherAndSupportedHybrid||humanFatherAndSupportedAnimal|| humanFatherAndSupportedHybrid)) return true;
- if (humanMotherAndSupportedAnimal)
- {
- Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Father);
- return false;
- }
- else if (humanMotherAndSupportedHybrid)
- {
- if (RJW_Genes_Settings.rjw_genes_detailed_debug)
- RJW_Genes.ModLog.Message("preg hediffdefof PregnantHuman " + RimWorld.HediffDefOf.PregnantHuman);
-
- PregnancyHelper.StartVanillaPregnancy(mother, father);
- return false;
- }
- else if (humanFatherAndSupportedAnimal)
- {
- Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Mother);
- return false;
- }
- else if (humanFatherAndSupportedHybrid)
- {
- Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Father);
- return false;
- }
- return true;
- }
-
- }
-}
diff --git a/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs b/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs
index d853424..d619354 100644
--- a/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs
+++ b/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs
@@ -30,8 +30,6 @@ namespace RJW_BGS
listing_Standard.Gap(5f);
listing_Standard.CheckboxLabeled("genes as xenogenes", ref rjw_bgs_animal_genes_as_xenogenes, "If toggled, animal genes will be added as xenogenes.", 0f, 1f);
listing_Standard.Gap(5f);
- listing_Standard.CheckboxLabeled("enable VE genetics hybridation", ref rjw_bgs_VE_genetics, "If enabled and if you have VE genetics it will enable the hybridation system.", 0f, 1f);
- listing_Standard.Gap(5f);
listing_Standard.CheckboxLabeled("detailed-debug", ref rjw_bgs_detailed_debug, "Adds detailed information to the log about pregnancies and genes.", 0f, 1f);
listing_Standard.End();
}
@@ -43,13 +41,11 @@ namespace RJW_BGS
Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_global_gene_chance, "rjw_bgs_global_gene_chance", RJW_BGSSettings.rjw_bgs_global_gene_chance, true);
Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_animal_genes_as_xenogenes, "rjw_bgs_animal_genes_as_xenogenes", RJW_BGSSettings.rjw_bgs_animal_genes_as_xenogenes, true);
Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_detailed_debug, "rjw_bgs_detailed_debug", RJW_BGSSettings.rjw_bgs_detailed_debug, true);
- Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_VE_genetics, "rjw_bgs_VE_genetics", RJW_BGSSettings.rjw_bgs_VE_genetics, true);
}
public static float rjw_bgs_global_gene_chance = 1f;
public static bool rjw_bgs_enabled = true;
public static bool rjw_bgs_animal_genes_as_xenogenes = false;
public static bool rjw_bgs_detailed_debug = false;
- public static bool rjw_bgs_VE_genetics = true;
}
}
diff --git a/Source/Common/patches/PatchGetParents.cs b/Source/Common/patches/PatchGetParents.cs
index 98f3aff..9038d17 100644
--- a/Source/Common/patches/PatchGetParents.cs
+++ b/Source/Common/patches/PatchGetParents.cs
@@ -125,43 +125,5 @@ namespace RJW_Genes
}
}
}
-
- [HarmonyPrefix]
- [HarmonyPatch("SetFather")]
- private static bool SetFatherPrefix(Pawn pawn, Pawn newFather)
- {
- Pawn father = pawn.GetFather();
- if (father != newFather)
- {
- if (father != null)
- {
- pawn.relations.RemoveDirectRelation(PawnRelationDefOf.Parent, father);
- }
- if (newFather != null)
- {
- pawn.relations.AddDirectRelation(PawnRelationDefOf.Parent, newFather);
- }
- }
- return false;
- }
-
- [HarmonyPrefix]
- [HarmonyPatch("SetMother")]
- private static bool SetMotherPrefix(Pawn pawn, Pawn newMother)
- {
- Pawn mother = pawn.GetMother();
- if (mother != newMother)
- {
- if (mother != null)
- {
- pawn.relations.RemoveDirectRelation(PawnRelationDefOf.Parent, mother);
- }
- if (newMother != null)
- {
- pawn.relations.AddDirectRelation(PawnRelationDefOf.Parent, newMother);
- }
- }
- return false;
- }
}
}
diff --git a/Source/Common/patches/PatchPregnancyHelper.cs b/Source/Common/patches/PatchPregnancyHelper.cs
index d646323..30aa788 100644
--- a/Source/Common/patches/PatchPregnancyHelper.cs
+++ b/Source/Common/patches/PatchPregnancyHelper.cs
@@ -32,11 +32,6 @@ namespace RJW_Genes
Pawn giver = props.pawn; // orgasmer
Pawn receiver = props.partner;
-
- if (receiver.genes == null)
- {
- return;
- }
Hediff vasectomy;
receiver.health.hediffSet.TryGetHediff(vasectomydef, out vasectomy);
@@ -45,7 +40,10 @@ namespace RJW_Genes
List pawnparts = giver.GetGenitalsList();
List partnerparts = receiver.GetGenitalsList();
var interaction = rjw.Modules.Interactions.Helpers.InteractionHelper.GetWithExtension(props.dictionaryKey);
-
+ if (receiver.genes == null)
+ {
+ return;
+ }
if (!(props.sexType == xxx.rjwSextype.Anal && receiver.genes.HasActiveGene(GeneDefOf.rjw_genes_fertile_anus)))
return;
diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs
index 6049b8b..ef269cf 100644
--- a/Source/GeneDefOf.cs
+++ b/Source/GeneDefOf.cs
@@ -69,12 +69,7 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_mechbreeder;
public static readonly GeneDef rjw_genes_zoophile;
public static readonly GeneDef rjw_genes_fertile_anus;
- public static readonly GeneDef rjw_genes_mating_call;
- public static readonly GeneDef rjw_genes_fervent_ovipositor;
- public static readonly GeneDef rjw_genes_insectbreeder;
- public static readonly GeneDef rjw_genes_insectincubator;
-
- // Cum
+ // Cum
public static readonly GeneDef rjw_genes_no_cum;
public static readonly GeneDef rjw_genes_much_cum;
public static readonly GeneDef rjw_genes_very_much_cum;
@@ -102,8 +97,6 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_aphrodisiac_pheromones;
public static readonly GeneDef rjw_genes_sexual_mytosis;
public static readonly GeneDef rjw_genes_hormonal_saliva;
- public static readonly GeneDef rjw_genes_cocoonweaver;
- public static readonly GeneDef rjw_genes_sex_tamer;
// Cosmetic
public static readonly GeneDef rjw_genes_succubus_tail;
diff --git a/Source/Genes/Breeding/Abilities/CompAbilityEffect_MatingCall.cs b/Source/Genes/Breeding/Abilities/CompAbilityEffect_MatingCall.cs
deleted file mode 100644
index e50291b..0000000
--- a/Source/Genes/Breeding/Abilities/CompAbilityEffect_MatingCall.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse.Sound;
-using Verse;
-using RimWorld.Planet;
-using rjw;
-using HarmonyLib;
-using Verse.AI;
-
-namespace RJW_Genes
-{
- public class CompAbilityEffect_MatingCall : CompAbilityEffect
- {
-
- bool fired = false;
- private new CompProperties_AbilityMatingCall Props
- {
- get
- {
- return (CompProperties_AbilityMatingCall)this.props;
- }
- }
-
- public override void Apply(LocalTargetInfo target, LocalTargetInfo dest)
- {
- base.Apply(target, dest);
- ModLog.Message($"{this.parent.pawn} is casting MatingCall");
- AnimalBreedingHelper.DoAnimalBreedingPulse(this.parent.pawn, Props.calldistance);
- }
-
- }
-}
diff --git a/Source/Genes/Breeding/Abilities/CompAbilityEffect_PheromoneSpit.cs b/Source/Genes/Breeding/Abilities/CompAbilityEffect_PheromoneSpit.cs
deleted file mode 100644
index 5064003..0000000
--- a/Source/Genes/Breeding/Abilities/CompAbilityEffect_PheromoneSpit.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using Verse.AI;
-
-namespace RJW_Genes
-{
- public class CompAbilityEffect_PheromoneSpit : CompAbilityEffect
- {
- bool fired = false;
- private new CompProperties_AbilityPheromoneSpit Props
- {
- get
- {
- return (CompProperties_AbilityPheromoneSpit)this.props;
- }
- }
-
- public override void Apply(LocalTargetInfo target, LocalTargetInfo dest)
- {
- base.Apply(target, dest);
- AnimalBreedingHelper.DoAnimalBreedingPulse(target.Pawn, Props.calldistance);
- }
-
- }
-}
diff --git a/Source/Genes/Breeding/Abilities/CompProperties_AbilityMatingCall.cs b/Source/Genes/Breeding/Abilities/CompProperties_AbilityMatingCall.cs
deleted file mode 100644
index e30485c..0000000
--- a/Source/Genes/Breeding/Abilities/CompProperties_AbilityMatingCall.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace RJW_Genes
-{
- public class CompProperties_AbilityMatingCall : CompProperties_AbilityEffect
- {
-
- public int calldistance;
-
- public CompProperties_AbilityMatingCall()
- {
- this.compClass = typeof(CompAbilityEffect_MatingCall);
- }
- }
-}
diff --git a/Source/Genes/Breeding/Abilities/CompProperties_AbilityPheromoneSpit.cs b/Source/Genes/Breeding/Abilities/CompProperties_AbilityPheromoneSpit.cs
deleted file mode 100644
index 381843f..0000000
--- a/Source/Genes/Breeding/Abilities/CompProperties_AbilityPheromoneSpit.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace RJW_Genes {
- public class CompProperties_AbilityPheromoneSpit : CompProperties_AbilityEffect
- {
- public int calldistance;
-
- public CompProperties_AbilityPheromoneSpit()
- {
- this.compClass = typeof(CompAbilityEffect_PheromoneSpit);
- }
- }
-}
diff --git a/Source/Genes/Breeding/AnimalBreedingHelper.cs b/Source/Genes/Breeding/AnimalBreedingHelper.cs
deleted file mode 100644
index f2386e9..0000000
--- a/Source/Genes/Breeding/AnimalBreedingHelper.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse.AI;
-using Verse;
-
-namespace RJW_Genes
-{
- public class AnimalBreedingHelper
- {
-
- ///
- /// Finds animals in a distance around a pawn, and schedules a breeding job.
- /// This is done regardless of the animals genitalia at the moment.
- /// This function has no checks if the Pawn is hostile, downed, etc., such checks must be done upstream!
- ///
- /// The pawn that will be target of breeding animals
- /// The range around the pawn for which animals will be triggered.
- public static void DoAnimalBreedingPulse(Pawn toBeBred, int pulse_distance, bool ends_manhunter = true)
- {
- IEnumerable animals = GetAnimalsInRange(toBeBred.Map, toBeBred.Position, pulse_distance);
- int breeder_counter = 0;
-
- foreach (Pawn animal in animals)
- {
- if (ends_manhunter)
- EndManHunter(animal);
- ForceBreedingJob(toBeBred, animal);
- breeder_counter++;
- }
- ModLog.Message($"{breeder_counter} of {animals.Count()} Animals in range are trying to breed {toBeBred}");
- }
-
- private static IEnumerable GetAnimalsInRange(Map map, IntVec3 position, int distance)
- {
- IEnumerable animals =
- map.mapPawns
- .AllPawnsSpawned
- .Where((Func)(p =>
- p.IsNonMutantAnimal
- && p.Position.InHorDistOf(position, distance)
- && xxx.is_healthy_enough(p))
- );
-
- return animals;
- }
-
- private static void ForceBreedingJob(Pawn toBeBred, Pawn animal)
- {
- // Stopping all Jobs in this way is a bit heavy - but as it's only about Animals this should be fine.
- animal.jobs.CaptureAndClearJobQueue();
- animal.jobs.StopAll();
- Job job = JobMaker.MakeJob(xxx.animalBreed, toBeBred);
- animal.jobs.TryTakeOrderedJob(job);
- }
-
- private static void EndManHunter(Pawn animal)
- {
- if (animal.MentalState != null && (animal.MentalState.def == MentalStateDefOf.Manhunter || animal.MentalState.def == MentalStateDefOf.ManhunterPermanent))
- {
- animal?.MentalState?.RecoverFromState();
- }
-
- }
- }
-}
diff --git a/Source/Genes/Breeding/Genes/Gene_FerventOvipositor.cs b/Source/Genes/Breeding/Gene_FerventOvipositor.cs
similarity index 100%
rename from Source/Genes/Breeding/Genes/Gene_FerventOvipositor.cs
rename to Source/Genes/Breeding/Gene_FerventOvipositor.cs
diff --git a/Source/Genes/Breeding/Genes/Gene_InsectIncubator.cs b/Source/Genes/Breeding/Gene_InsectIncubator.cs
similarity index 100%
rename from Source/Genes/Breeding/Genes/Gene_InsectIncubator.cs
rename to Source/Genes/Breeding/Gene_InsectIncubator.cs
diff --git a/Source/Genes/Breeding/Genes/Gene_MechBreeder.cs b/Source/Genes/Breeding/Gene_MechBreeder.cs
similarity index 100%
rename from Source/Genes/Breeding/Genes/Gene_MechBreeder.cs
rename to Source/Genes/Breeding/Gene_MechBreeder.cs
diff --git a/Source/Genes/Breeding/Patches/PatchMechBirth.cs b/Source/Genes/Breeding/PatchMechBirth.cs
similarity index 100%
rename from Source/Genes/Breeding/Patches/PatchMechBirth.cs
rename to Source/Genes/Breeding/PatchMechBirth.cs
diff --git a/Source/Genes/Cum/Patch_TransferNutrition.cs b/Source/Genes/Cum/Patch_TransferNutrition.cs
index 3e81a5f..1f3f0bb 100644
--- a/Source/Genes/Cum/Patch_TransferNutrition.cs
+++ b/Source/Genes/Cum/Patch_TransferNutrition.cs
@@ -9,7 +9,6 @@ using HarmonyLib;
using rjw;
using RimWorld;
using Verse;
-using LicentiaLabs;
namespace RJW_Genes
@@ -29,16 +28,18 @@ namespace RJW_Genes
// Design decision:
// I could have done some transpiler stuff, but that is scary and might need to be adjusted quite a lot
// Hence, I simply re-book the nutrition back to the giver in the Postfix. That should be robust and easy.
+
+ /*
+ TODO: Move this back in, once Licentia is 1.5 compatible. It should not drastically change.
if (GeneUtility.IsGenerousDonor(giver))
{
float donatedNutrition = CumflationHelper.CalculateNutritionAmount(giver, cumAmount);
// TODO: In theory, there could be something weird happening if the donor has food less than X and the "IgnoreThermodynamics" is set on.
// Then it can happen that the donor ends up with more food than he had before cumshot, but I think that is somewhat funny given that you have ignore Thermodynamics on.
Need_Food inflatorFood = giver.needs.TryGetNeed();
- if (inflatorFood != null)
- inflatorFood.CurLevel += donatedNutrition;
+ inflatorFood.CurLevel += donatedNutrition;
}
-
+ */
}
}
}
\ No newline at end of file
diff --git a/Source/Genes/Damage/Gene_Elasticity.cs b/Source/Genes/Damage/Gene_Elasticity.cs
index 3da6ecf..5d26c07 100644
--- a/Source/Genes/Damage/Gene_Elasticity.cs
+++ b/Source/Genes/Damage/Gene_Elasticity.cs
@@ -1,4 +1,4 @@
-using LicentiaLabs;
+//using LicentiaLabs;
using Verse;
@@ -15,7 +15,7 @@ namespace RJW_Genes
{
private const int RESET_INTERVAL = 60000; // 60k should be 1 day
-
+ /*
public override void PostAdd()
{
base.PostAdd();
@@ -51,6 +51,6 @@ namespace RJW_Genes
candidate.Severity = severity;
}
}
-
+ */
}
}
\ No newline at end of file
diff --git a/Source/Genes/ExtraGenitalia/Gene_Femboy.cs b/Source/Genes/ExtraGenitalia/Gene_Femboy.cs
index e86beed..6641025 100644
--- a/Source/Genes/ExtraGenitalia/Gene_Femboy.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_Femboy.cs
@@ -55,18 +55,6 @@ namespace RJW_Genes
compHediffBodyPart.updatesize(0f);
}
this.pawn.health.AddHediff(this.additional_genital, part, null, null);
- foreach (Gene g in pawn.genes.GenesListForReading)
- {
- if (g.def.defName == "rjw_genes_hydrolic_genitalia")
- {
- g.PostAdd();
- }
- if (g.def.defName == "rjw_genes_bionic_genitalia")
- {
- g.PostAdd();
- return;
- }
- }
}
// Token: 0x040001B0 RID: 432
diff --git a/Source/Genes/Gender/Gene_FemaleOnly.cs b/Source/Genes/Gender/Gene_FemaleOnly.cs
index df48328..97c4365 100644
--- a/Source/Genes/Gender/Gene_FemaleOnly.cs
+++ b/Source/Genes/Gender/Gene_FemaleOnly.cs
@@ -36,18 +36,6 @@ namespace RJW_Genes
});
GenderUtility.AdjustBodyToTargetGender(pawn, Gender.Female);
}
- foreach(Gene g in pawn.genes.GenesListForReading)
- {
- if(g.def.defName== "rjw_genes_hydrolic_genitalia")
- {
- g.PostAdd();
- }
- if (g.def.defName == "rjw_genes_bionic_genitalia")
- {
- g.PostAdd();
- return;
- }
- }
}
public override void Notify_OnPawnGeneration()
diff --git a/Source/Genes/Gender/Gene_MaleOnly.cs b/Source/Genes/Gender/Gene_MaleOnly.cs
index d99652a..e081700 100644
--- a/Source/Genes/Gender/Gene_MaleOnly.cs
+++ b/Source/Genes/Gender/Gene_MaleOnly.cs
@@ -36,18 +36,6 @@ namespace RJW_Genes
});
GenderUtility.AdjustBodyToTargetGender(pawn, Gender.Male);
}
- foreach (Gene g in pawn.genes.GenesListForReading)
- {
- if (g.def.defName == "rjw_genes_hydrolic_genitalia")
- {
- g.PostAdd();
- }
- if (g.def.defName == "rjw_genes_bionic_genitalia")
- {
- g.PostAdd();
- return;
- }
- }
}
public override void Notify_OnPawnGeneration()
diff --git a/Source/Genes/Genitalia/Defs/GenitaliaTypeExtension.cs b/Source/Genes/Genitalia/Defs/GenitaliaTypeExtension.cs
index 61430a2..fce2ded 100644
--- a/Source/Genes/Genitalia/Defs/GenitaliaTypeExtension.cs
+++ b/Source/Genes/Genitalia/Defs/GenitaliaTypeExtension.cs
@@ -11,8 +11,5 @@ namespace RJW_Genes
public HediffDef_PartBase vagina;
public HediffDef_PartBase anus;
-
- public HediffDef_PartBase breasts;
-
}
}
diff --git a/Source/Genes/Genitalia/Gene_GenitaliaType.cs b/Source/Genes/Genitalia/Gene_GenitaliaType.cs
index 21fada8..7ffda55 100644
--- a/Source/Genes/Genitalia/Gene_GenitaliaType.cs
+++ b/Source/Genes/Genitalia/Gene_GenitaliaType.cs
@@ -17,7 +17,7 @@ namespace RJW_Genes
Apply();
}
- public virtual void Apply()
+ protected virtual void Apply()
{
if (this.Active)
{
@@ -27,7 +27,7 @@ namespace RJW_Genes
ModLog.Error($"Gene {def} failed to change genitals - Need a modExtension with Class=\"{typeof(GenitaliaTypeExtension).FullName}\".");
return;
}
- GenitaliaChanger.ChangeGenitalia(pawn, genitals.penis, genitals.vagina, genitals.anus, genitals.breasts);
+ GenitaliaChanger.ChangeGenitalia(pawn, genitals.penis, genitals.vagina, genitals.anus);
}
}
}
diff --git a/Source/Genes/Genitalia/GenitaliaChanger.cs b/Source/Genes/Genitalia/GenitaliaChanger.cs
index 71f0f05..86d112b 100644
--- a/Source/Genes/Genitalia/GenitaliaChanger.cs
+++ b/Source/Genes/Genitalia/GenitaliaChanger.cs
@@ -2,7 +2,6 @@
using RimWorld;
using Verse;
using System.Collections.Generic;
-using rjw.Modules.Interactions.DefModExtensions;
namespace RJW_Genes
{
@@ -17,7 +16,7 @@ namespace RJW_Genes
/// the new type of penis
/// the new type of vagina
/// the new type of anus
- public static void ChangeGenitalia(Pawn pawn, HediffDef penisReplacement = null, HediffDef vaginaReplacement = null, HediffDef anusReplacement = null , HediffDef breastsReplacement = null)
+ public static void ChangeGenitalia(Pawn pawn, HediffDef penisReplacement = null, HediffDef vaginaReplacement = null, HediffDef anusReplacement = null)
{
var oldParts = Genital_Helper.get_AllPartsHediffList(pawn);
BodyPartRecord correctBPR;
@@ -41,12 +40,6 @@ namespace RJW_Genes
if (Genital_Helper.is_vagina(existingGenital) && vaginaReplacement != null && existingGenital.def != vaginaReplacement)
replacementGenital = HediffMaker.MakeHediff(vaginaReplacement, pawn, correctBPR);
- if (is_breast(existingGenital) && breastsReplacement != null && existingGenital.def != breastsReplacement)
- {
- correctBPR = Genital_Helper.get_breastsBPR(pawn);
- replacementGenital = HediffMaker.MakeHediff(breastsReplacement, pawn, correctBPR);
- }
-
if (IsAnus(existingGenital) && anusReplacement != null && existingGenital.def != anusReplacement)
{
correctBPR = Genital_Helper.get_anusBPR(pawn);
@@ -81,18 +74,7 @@ namespace RJW_Genes
{
return candidate.def.defName.ToLower().Contains("anus"); }
-
- public static bool is_breast(Hediff hed)
- {
- if (!GenitalPartExtension.TryGet(hed, out var ext))
- {
- return false;
- }
-
- return ext.family == rjw.Modules.Interactions.Enums.GenitalFamily.Breasts;
- }
-
- public static bool IsArtificial(Hediff candidate)
+ public static bool IsArtificial(Hediff candidate)
{
return candidate.def.defName.ToLower().Contains("bionic") || candidate.def.defName.ToLower().Contains("archo");
}
@@ -106,7 +88,5 @@ namespace RJW_Genes
}
}
-
-
}
}
diff --git a/Source/Genes/Genitalia/GenitaliaUtility.cs b/Source/Genes/Genitalia/GenitaliaUtility.cs
index 6a6ba79..a56d9ae 100644
--- a/Source/Genes/Genitalia/GenitaliaUtility.cs
+++ b/Source/Genes/Genitalia/GenitaliaUtility.cs
@@ -16,11 +16,12 @@ namespace RJW_Genes
/// The first GeneDef of the pawn related to GenitaliaTypes
public static GeneDef GetGenitaliaTypeGeneForPawn(Pawn pawn)
{
- foreach (var gene in pawn.genes.GenesListForReading)
- {
+
+ foreach (var gene in pawn.genes.GenesListForReading)
+ {
if (gene is Gene_GenitaliaType)
if (!gene.Overridden)
- return gene.def;
+ return gene.def;
}
return null;
}
@@ -45,7 +46,23 @@ namespace RJW_Genes
public static HediffDef GetBreastsForGene(GeneDef gene)
{
- return gene?.GetModExtension()?.breasts ?? Genital_Helper.average_breasts;
+ 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_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;
+ case "rjw_genes_demonic_genitalia": return Genital_Helper.average_breasts;
+ case "rjw_genes_dragon_genitalia": return Genital_Helper.average_breasts;
+ case "rjw_genes_slime_genitalia": return Genital_Helper.slime_breasts;
+ case "rjw_genes_udder_breasts": return Genital_Helper.udder_breasts;
+ case "rjw_genes_ovipositor_genitalia": return Genital_Helper.average_breasts;
+
+ default: return Genital_Helper.average_breasts;
+ }
}
public static bool PawnStillNeedsGenitalia(Pawn pawn)
diff --git a/Source/Genes/Quirks/Defs/QirkExtension.cs b/Source/Genes/Quirks/Defs/QirkExtension.cs
deleted file mode 100644
index 8e90319..0000000
--- a/Source/Genes/Quirks/Defs/QirkExtension.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Verse;
-using RimWorld;
-using rjw;
-using System;
-
-namespace RJW_Genes
-{
- public class QirkExtension : DefModExtension
- {
- public string Satisfiedquirk;
- }
-}
diff --git a/Source/Genes/Quirks/QuirkPatcher.cs b/Source/Genes/Quirks/QuirkPatcher.cs
deleted file mode 100644
index ac2b477..0000000
--- a/Source/Genes/Quirks/QuirkPatcher.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using Verse;
-using RimWorld;
-using rjw;
-using System.Collections.Generic;
-using rjw.Modules.Quirks;
-using System;
-
-namespace RJW_Genes
-{
- public class QuirkPatcher
- {
- ///
- /// This Patch is applied after the quirk-satisfaction and checks
- /// a) which quirks can the sex-partner satisfy?
- /// b) which of the quirks has the pawn?
- ///
- /// The result of the Satisfied is an integer, based on the original framework.
- /// The framework "just checks" the number of satisfied quirks - we increase this number with this postfix.
- ///
- public static void CountSatisfiedPostfix(ref int __result, SexProps props)
- {
- if (props == null) return;
- Pawn pawn = props.pawn;
- Pawn partner = props.partner;
- if (partner == null || pawn == null) return;
- if(!pawn.IsHuman()||!partner.IsHuman()) return;
-
- List potentiallySatisfiedQuirks = new List();
- foreach (Gene gene in partner.genes.GenesListForReading)
- {
- if (partner.genes.HasActiveGene(gene.def))
- {
- string satisfiable_quirk = gene.def?.GetModExtension()?.Satisfiedquirk;
- if (!string.IsNullOrEmpty(satisfiable_quirk))
- {
- potentiallySatisfiedQuirks.Add(satisfiable_quirk);
- }
- }
- }
-
- int QuirksSatisfiedByGenes = -1;
-
- foreach (Quirk quirk in Quirk.All)
- {
- if (pawn.Has(quirk))
- {
- foreach (string satisfiableQuirk in potentiallySatisfiedQuirks)
- {
- if (!string.IsNullOrEmpty(satisfiableQuirk) && quirk.LocaliztionKey == satisfiableQuirk)
- {
- QuirksSatisfiedByGenes++;
- Quirk.AddThought(pawn);
- }
- }
- }
- }
-
- if(QuirksSatisfiedByGenes > 0)
- __result = __result + QuirksSatisfiedByGenes;
- return;
- }
-
- }
-}
diff --git a/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs b/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs
index ff5ab07..709d05b 100644
--- a/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs
+++ b/Source/Genes/Special/Patches/Patch_OrgasmMytosis.cs
@@ -1,6 +1,5 @@
using HarmonyLib;
using RimWorld;
-using RimWorld.BaseGen;
using RimWorld.QuestGen;
using rjw;
using rjw.Modules.Shared.Extensions;
@@ -11,7 +10,6 @@ using System.Text;
using System.Threading.Tasks;
using Verse;
-
namespace RJW_Genes
{
@@ -26,19 +24,13 @@ namespace RJW_Genes
private const float SEVERITY_INCREASE_PER_ORGASM = 0.075f;
- public static void Postfix(JobDriver_Sex __instance)
+ public static void Postfix(JobDriver_Sex __instance)
{
Pawn orgasmingPawn = __instance.pawn;
- bool hasPollutedMytosis = false;
-
- if (orgasmingPawn != null && (GeneUtility.HasGeneNullCheck(orgasmingPawn, GeneDefOf.rjw_genes_sexual_mytosis) || hasPollutedMytosis) && ! orgasmingPawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_mytosis_shock_hediff))
+ if (orgasmingPawn != null && GeneUtility.HasGeneNullCheck(orgasmingPawn, GeneDefOf.rjw_genes_sexual_mytosis) && ! orgasmingPawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_mytosis_shock_hediff))
{
var mytosisHediff = GetOrgasmMytosisHediff(orgasmingPawn);
mytosisHediff.Severity += SEVERITY_INCREASE_PER_ORGASM;
- if(hasPollutedMytosis && orgasmingPawn.Spawned && GridsUtility.IsPolluted(orgasmingPawn.Position, orgasmingPawn.Map))
- {
- mytosisHediff.Severity -= SEVERITY_INCREASE_PER_ORGASM;
- }
if (mytosisHediff.Severity >= 1.0)
{
@@ -171,6 +163,7 @@ namespace RJW_Genes
private static Pawn_GeneTracker CopyGeneTracker(Pawn toCopyTo, Pawn_GeneTracker toCopyFrom)
{
var tracker = new Pawn_GeneTracker(toCopyTo);
+
// Due to Overwrite logics, we first add Endogenes and then a second pass on xenogenes
// Pass 1: Endogenes
@@ -189,6 +182,12 @@ namespace RJW_Genes
}
tracker.Reset();
+ var skin = tracker.GetMelaninGene();
+ var hair = tracker.GetHairColorGene();
+
+ //ModLog.Message($"{toCopyTo} had Skin {skin.defName} and {hair.defName} as colour-genes");
+
+
return tracker;
}
@@ -295,6 +294,7 @@ namespace RJW_Genes
}
}
+
}
/*
@@ -318,4 +318,5 @@ Verse.TickList:Tick ()
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()
+
*/
\ No newline at end of file
diff --git a/Source/Genes/Special/Patches/Patch_SexualTamer.cs b/Source/Genes/Special/Patches/Patch_SexualTamer.cs
deleted file mode 100644
index 15215af..0000000
--- a/Source/Genes/Special/Patches/Patch_SexualTamer.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using HarmonyLib;
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using static RJWSexperience.RsDefOf;
-
-namespace RJW_Genes
-{
-
- [HarmonyPatch(typeof(SexUtility), nameof(SexUtility.SatisfyPersonal))]
- public static class Patch_SexualTamer
- {
-
- public static void Postfix(SexProps props)
- {
- // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Masturbation or other nieche-cases)
- if (props == null || props.pawn == null || !props.hasPartner() || props.partner == null)
- return;
- // Exit for non Animals or Animal on Animal
- if (!(props.pawn.IsAnimal() || props.partner.IsAnimal() ) )
- return;
- Pawn animal = props.pawn.IsAnimal() ? props.pawn : props.partner;
- Pawn human = props.pawn.IsAnimal() ? props.partner : props.pawn;
-
- // Another Short Sanity Check
- if (animal == null || human == null ) return;
- if (human.genes == null) return;
-
- if (human.genes.HasActiveGene(GeneDefOf.rjw_genes_sex_tamer))
- {
- // Case 1: Wild Animal - Try to Tame
- if (animal.AnimalOrWildMan() && animal.Faction == null)
- {
- if(RJW_Genes_Settings.rjw_genes_detailed_debug)
- ModLog.Message($"{human} is a sextamer with bestiality on wild animal {animal} - trying to recruit");
- human.interactions.TryInteractWith(animal, InteractionDefOf.TameAttempt);
- }
- // Case 2: Colony Animal - Try to Train
- else if (human.Faction != null && animal.Faction == human.Faction && animal.training != null)
- {
- if (RJW_Genes_Settings.rjw_genes_detailed_debug)
- ModLog.Message($"{human} is a sextamer with bestiality on colony animal {animal} - trying to train");
- var trainable = animal.training.NextTrainableToTrain();
- animal.training.Train(trainable, human);
- }
- }
- }
-
- }
-
-
-}
diff --git a/Source/HarmonyInit.cs b/Source/HarmonyInit.cs
index f4396b9..c2cba10 100644
--- a/Source/HarmonyInit.cs
+++ b/Source/HarmonyInit.cs
@@ -4,73 +4,50 @@ using System;
using rjw;
using RJWLoveFeeding;
using RimWorld;
-using System.Linq;
namespace RJW_Genes
{
[StaticConstructorOnStartup]
internal static class HarmonyInit
{
-
static HarmonyInit()
{
Harmony harmony = new Harmony("rjw_genes");
- var RJW_Pregnancy_Tick_Prefixes = typeof(Hediff_Pregnant).GetMethod("Tick");
- harmony.Unpatch(RJW_Pregnancy_Tick_Prefixes, HarmonyPatchType.Prefix, "rjw");
+ var original = typeof(Hediff_Pregnant).GetMethod("Tick");
+ harmony.Unpatch(original, HarmonyPatchType.Prefix, "rjw");
harmony.PatchAll();
if (ModsConfig.BiotechActive)
{
harmony.Patch(typeof(SexUtility).GetMethod("ProcessSex"), new HarmonyMethod(typeof(LustFeeding), "Postfix", null));
}
+ // Non-rapist would_rape bypass for limbic stimulator
harmony.Patch(AccessTools.Method(typeof(SexAppraiser), nameof(SexAppraiser.would_rape)),
postfix: new HarmonyMethod(typeof(PatchImplants), nameof(PatchImplants.would_rape_PostFix)));
+ // Non-rapist is_rapist bypass for limbic stimulator
harmony.Patch(AccessTools.Method(typeof(xxx), nameof(xxx.is_rapist)),
postfix: new HarmonyMethod(typeof(PatchImplants), nameof(PatchImplants.is_rapist_PostFix)));
+ // Non-Rapist trait rape thoughts
harmony.Patch(AccessTools.Method(typeof(AfterSexUtility), nameof(AfterSexUtility.think_about_sex_Rapist)),
postfix: new HarmonyMethod(typeof(PatchImplants), nameof(PatchImplants.think_about_sex_Rapist_PostFix)));
+ // Bioscaffold double gestation speed tick
harmony.Patch(AccessTools.Method(typeof(PawnUtility), nameof(PawnUtility.BodyResourceGrowthSpeed)),
postfix: new HarmonyMethod(typeof(PatchImplants), nameof(PatchImplants.MultiplyPregnancy)));
+ // Hediff_Labor state capture
harmony.Patch(AccessTools.Method(typeof(Hediff_Labor), nameof(Hediff_Labor.PostRemoved)),
postfix: new HarmonyMethod(typeof(PatchLitteredBirth), nameof(PatchLitteredBirth.Hediff_Labor_PostRemovedPostFix)));
// OvaryAgitator/Gene_LitteredBirths multibirth logic
harmony.Patch(AccessTools.Method(typeof(Hediff_LaborPushing), nameof(Hediff_LaborPushing.PostRemoved)),
postfix: new HarmonyMethod(typeof(PatchLitteredBirth), nameof(PatchLitteredBirth.Hediff_LaborPushing_PostRemovedPostFix)));
-
- harmony.Patch(AccessTools.Method(typeof(Quirk), nameof(Quirk.CountSatisfiedQuirks)),
- postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix)));
-
// Patch Licentia, if Licentia exists
// Logic & Explanation taken from https://rimworldwiki.com/wiki/Modding_Tutorials/Compatibility_with_DLLs
// Adjusted to use ModsConfig (which makes it work, the example above does not run out of the box)
- try
- {
- ((Action)(() =>
- {
- if (ModsConfig.IsActive("LustLicentia.RJWLabs"))
- {
- // Gene: Cumflation Immunity [Prefix Patch]
- harmony.Patch(AccessTools.Method(typeof(LicentiaLabs.CumflationHelper), nameof(LicentiaLabs.CumflationHelper.Cumflation)),
- prefix: new HarmonyMethod(typeof(Patch_Cumflation), nameof(Patch_Cumflation.Prefix)));
- // Gene: Generous Donor [Postfix Patch]
- harmony.Patch(AccessTools.Method(typeof(LicentiaLabs.CumflationHelper), nameof(LicentiaLabs.CumflationHelper.TransferNutrition)),
- postfix: new HarmonyMethod(typeof(Patch_TransferNutrition), nameof(Patch_TransferNutrition.Postfix)));
- // Gene: CumEater [Postfix Patch] -- This is not exactly licentia, but the Generous-Donor Gene is only active with Licentia
- harmony.Patch(AccessTools.Method(typeof(rjw.JobDriver_Sex), nameof(rjw.JobDriver_Sex.ChangePsyfocus)),
- postfix: new HarmonyMethod(typeof(Patch_SexTicks_ChangePsyfocus), nameof(Patch_SexTicks_ChangePsyfocus.Postfix)));
- }
- }))();
- }
- catch (TypeLoadException ex)
- {
- // To be expected for people without Licentia Labs
- }
}
}
diff --git a/Source/HediffDefOf.cs b/Source/HediffDefOf.cs
index 443c32e..2ff339c 100644
--- a/Source/HediffDefOf.cs
+++ b/Source/HediffDefOf.cs
@@ -22,5 +22,18 @@ namespace RJW_Genes
public static readonly HediffDef OvaryAgitator;
public static readonly HediffDef Bioscaffold;
+
+ public static HediffDef NeedlePenis = HediffDef.Named("NeedlePenis");
+ public static HediffDef PigPenis = HediffDef.Named("PigPenis");
+ public static HediffDef MarinePenis = HediffDef.Named("MarinePenis");
+ public static HediffDef TentaclePenis = HediffDef.Named("TentaclePenis");
+ public static HediffDef GolemPenis = HediffDef.Named("GolemPenis");
+ public static HediffDef OrcPenis = HediffDef.Named("OrcPenis");
+ public static HediffDef GhostPenis = HediffDef.Named("GhostPenis");
+ public static HediffDef NecroPenis = HediffDef.Named("NecroPenis");
+ public static HediffDef GhostVagina = HediffDef.Named("GhostVagina");
+ public static HediffDef Vagina = HediffDef.Named("Vagina");
+ public static HediffDef Penis = HediffDef.Named("Penis");
+ public static HediffDef Anus = HediffDef.Named("Anus");
}
}
diff --git a/Source/RJW.dll b/Source/RJW.dll
new file mode 100644
index 0000000..c07fda1
Binary files /dev/null and b/Source/RJW.dll differ
diff --git a/Source/RJWSexperience.dll b/Source/RJWSexperience.dll
new file mode 100644
index 0000000..533e46c
Binary files /dev/null and b/Source/RJWSexperience.dll differ
diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj
index 7b8559b..757086f 100644
--- a/Source/Rjw-Genes.csproj
+++ b/Source/Rjw-Genes.csproj
@@ -48,13 +48,11 @@
-
-
@@ -66,13 +64,8 @@
-
-
-
-
-
-
-
+
+
@@ -83,8 +76,8 @@
-
-
+
+
@@ -168,8 +161,6 @@
-
-
@@ -177,7 +168,6 @@
-
@@ -199,6 +189,8 @@
+
+
@@ -211,10 +203,8 @@
..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll
False
-
- ..\..\licentia-labs-master\Assemblies\LicentiaLabs.dll
-
-
+
+ False
..\..\rjw\1.5\Assemblies\RJW.dll
False
@@ -241,8 +231,5 @@
-
-
-
\ No newline at end of file