diff --git a/Common/Languages/English/Keyed/Mod_Settings.xml b/Common/Languages/English/Keyed/Mod_Settings.xml index 7b85ed3..d425cd5 100644 --- a/Common/Languages/English/Keyed/Mod_Settings.xml +++ b/Common/Languages/English/Keyed/Mod_Settings.xml @@ -1,6 +1,5 @@ - Genitalia resizing age: years At this age (in biological years) any resizing gene will be applied. This is done to prevent changes and issues related to genitalia changing in the pawns growth, but also for 'ethics'. @@ -22,6 +21,10 @@ Regret Stealing Love If off, pawns will not get bad thoughts for seduction. + + Animal-Mating GenitalCheck + If on, only animals that 'can rape' will be engaging in bestiality after being hit by a animal mating pulse. This usually means that only male animals will start breeding. + generous-donor cheatmode When enabled, pawns with the 'generous donor' are not drained and not fertilin exhausted. Hence they can fuel succubi and incubi non-stop. This makes them drastically easier to keep, and you should not do it. diff --git a/Source/Genes/Breeding/AnimalBreedingHelper.cs b/Source/Genes/Breeding/AnimalBreedingHelper.cs index f2386e9..c44a4c3 100644 --- a/Source/Genes/Breeding/AnimalBreedingHelper.cs +++ b/Source/Genes/Breeding/AnimalBreedingHelper.cs @@ -29,8 +29,13 @@ namespace RJW_Genes { if (ends_manhunter) EndManHunter(animal); - ForceBreedingJob(toBeBred, animal); - breeder_counter++; + + if (!RJW_Genes_Settings.animalMatingPulseCheckForGenitals || rjw.xxx.can_rape(animal)) + { + ForceBreedingJob(toBeBred, animal); + breeder_counter++; + } + } ModLog.Message($"{breeder_counter} of {animals.Count()} Animals in range are trying to breed {toBeBred}"); } diff --git a/Source/Settings/RJW_Genes_Settings.cs b/Source/Settings/RJW_Genes_Settings.cs index 545f390..49257a8 100644 --- a/Source/Settings/RJW_Genes_Settings.cs +++ b/Source/Settings/RJW_Genes_Settings.cs @@ -48,6 +48,9 @@ namespace RJW_Genes listing_Standard.Gap(4f); listing_Standard.CheckboxLabeled("rjw_genes_settings_regret_stealing_love_key".Translate(), ref regretStealingLovinThoughtDisabled, "rjw_genes_settings_regret_stealing_love_explanation".Translate()); + listing_Standard.Gap(4f); + listing_Standard.CheckboxLabeled("rjw_genes_settings_animal_mating_needs_penis_key".Translate(), ref animalMatingPulseCheckForGenitals, "rjw_genes_settings_animal_mating_needs_penis_explanation".Translate()); + listing_Standard.Gap(5f); listing_Standard.CheckboxLabeled("rjw_genes_settings_generous_donor_cheatmode_key".Translate(), ref rjw_genes_generous_donor_cheatmode, "rjw_genes_settings_generous_donor_cheatmode_explanation".Translate(), 0f, 1f); @@ -63,6 +66,8 @@ namespace RJW_Genes Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor, "rjw_genes_fertilin_from_animals_factor", RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor, true); Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_detailed_debug, "rjw_genes_detailed_debug", RJW_Genes_Settings.rjw_genes_detailed_debug, true); Scribe_Values.Look(ref regretStealingLovinThoughtDisabled, "regretStealingLovinThoughtDisabled", regretStealingLovinThoughtDisabled, true); + + Scribe_Values.Look(ref animalMatingPulseCheckForGenitals, "animalMatingPulseCheckForGenitals", animalMatingPulseCheckForGenitals, true); Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_generous_donor_cheatmode, "rjw_genes_generous_donor_cheatmode", RJW_Genes_Settings.rjw_genes_generous_donor_cheatmode, true); Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_visit, "rjw_genes_sexdemon_visit", RJW_Genes_Settings.rjw_genes_sexdemon_visit, true); Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_join_size_matters, "rjw_genes_sexdemon_join_size_matters", RJW_Genes_Settings.rjw_genes_sexdemon_join_size_matters, true); @@ -75,6 +80,7 @@ namespace RJW_Genes public static float rjw_genes_fertilin_from_animals_factor = 0.1f; public static float rjw_genes_resizing_age = 20; public static bool regretStealingLovinThoughtDisabled = false; + public static bool animalMatingPulseCheckForGenitals = true; public static bool rjw_genes_sexdemon_visit = true; public static bool rjw_genes_sexdemon_join_size_matters = true;