Added a flag to check for 'can rape' for animals

This commit is contained in:
Vegapnk 2024-06-06 10:26:34 +02:00
parent a0ca9e1da4
commit fda2580c9f
3 changed files with 17 additions and 3 deletions

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<!-- Fertilin strings -->
<rjw_genes_settings_genitalia_resizing_age>Genitalia resizing age:</rjw_genes_settings_genitalia_resizing_age>
<rjw_genes_settings_genitalia_resizing_postfix>years</rjw_genes_settings_genitalia_resizing_postfix>
<rjw_genes_settings_genitalia_resizing_age_explanation>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'.</rjw_genes_settings_genitalia_resizing_age_explanation>
@ -22,6 +21,10 @@
<rjw_genes_settings_regret_stealing_love_key>Regret Stealing Love</rjw_genes_settings_regret_stealing_love_key>
<rjw_genes_settings_regret_stealing_love_explanation>If off, pawns will not get bad thoughts for seduction.</rjw_genes_settings_regret_stealing_love_explanation>
<rjw_genes_settings_animal_mating_needs_penis_key>Animal-Mating GenitalCheck</rjw_genes_settings_animal_mating_needs_penis_key>
<rjw_genes_settings_animal_mating_needs_penis_explanation>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.</rjw_genes_settings_animal_mating_needs_penis_explanation>
<rjw_genes_settings_generous_donor_cheatmode_key>generous-donor cheatmode</rjw_genes_settings_generous_donor_cheatmode_key>
<rjw_genes_settings_generous_donor_cheatmode_explanation>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.</rjw_genes_settings_generous_donor_cheatmode_explanation>

View File

@ -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}");
}

View File

@ -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<float>(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<bool>(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<bool>(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<bool>(ref RJW_Genes_Settings.rjw_genes_sexdemon_visit, "rjw_genes_sexdemon_visit", RJW_Genes_Settings.rjw_genes_sexdemon_visit, true);
Scribe_Values.Look<bool>(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;