Removed Evergrowth Tickspeed from Settings, made Settings Translatable

This commit is contained in:
Vegapnk 2024-06-06 09:46:36 +02:00
parent 93b9feb2a9
commit 3b74ad12bd
3 changed files with 45 additions and 21 deletions

View file

@ -0,0 +1,30 @@
<?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>
<rjw_genes_settings_fertilin_gain_from_animals>Fertilin-Gain from Animals:</rjw_genes_settings_fertilin_gain_from_animals>
<rjw_genes_settings_fertilin_gain_from_animals_explanation>% of fertilin gained (compared to human-baseline).</rjw_genes_settings_fertilin_gain_from_animals_explanation>
<rjw_genes_settings_sexdemon_spawn_key>Sexdemon Visits</rjw_genes_settings_sexdemon_spawn_key>
<rjw_genes_settings_sexdemon_spawn_explanation>If enabled, incubi and succubi can spawn in through an event.</rjw_genes_settings_sexdemon_spawn_explanation>
<rjw_genes_settings_sexdemon_size_matters_key>Size matters</rjw_genes_settings_sexdemon_size_matters_key>
<rjw_genes_settings_sexdemon_size_matters_explanation>Incubi and succubi will consider size/tightness of partners genital for deciding if they want to join</rjw_genes_settings_sexdemon_size_matters_explanation>
<rjw_genes_settings_sexdemon_group_spawn_key>Sexdemon groups</rjw_genes_settings_sexdemon_group_spawn_key>
<rjw_genes_settings_sexdemon_group_spawn_explanation>Multiple sexdemons can spawn during a event</rjw_genes_settings_sexdemon_group_spawn_explanation>
<rjw_genes_settings_sexdemon_succubi_spawn_key>Succubi</rjw_genes_settings_sexdemon_succubi_spawn_key>
<rjw_genes_settings_sexdemon_succubi_spawn_explanation>Allow Succubi to spawn through this event</rjw_genes_settings_sexdemon_succubi_spawn_explanation>
<rjw_genes_settings_sexdemon_incubi_spawn_key>Incubi</rjw_genes_settings_sexdemon_incubi_spawn_key>
<rjw_genes_settings_sexdemon_incubi_spawn_explanation>Allow Incubi to spawn through this event</rjw_genes_settings_sexdemon_incubi_spawn_explanation>
<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_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>
<rjw_genes_settings_detailed_debug_key>detailed-debug</rjw_genes_settings_detailed_debug_key>
<rjw_genes_settings_detailed_debug_explanation>Adds detailed information to the log about interactions and genes.</rjw_genes_settings_detailed_debug_explanation>
</LanguageData>

View file

@ -9,12 +9,13 @@ namespace RJW_Genes
public class Gene_EvergrowingGenitalia : RJW_Gene
{
const int BASE_TICKS = 60000;
public override void Tick()
{
base.Tick();
int interval = ModExtensionHelper.GetTickIntervalFromModExtension(GeneDefOf.rjw_genes_evergrowth, RJW_Genes_Settings.rjw_genes_evergrowth_ticks);
int interval = ModExtensionHelper.GetTickIntervalFromModExtension(GeneDefOf.rjw_genes_evergrowth, BASE_TICKS);
if (pawn.IsHashIntervalTick(interval)
&& this.pawn.Map != null
&& pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age)

View file

@ -17,54 +17,48 @@ namespace RJW_Genes
listing_Standard.maxOneColumn = true;
listing_Standard.ColumnWidth = rect.width / 2.05f;
listing_Standard.Begin(rect);
listing_Standard.Gap(24f);
listing_Standard.Gap(24f);
// Genitalia Resizing Age
listing_Standard.Label("Genitalia resizing age" + ": " +
Math.Round((double)(RJW_Genes_Settings.rjw_genes_resizing_age), 0).ToString() , -1f, "years.");
listing_Standard.Label("rjw_genes_settings_genitalia_resizing_age".Translate() + " " +
Math.Round((double)(RJW_Genes_Settings.rjw_genes_resizing_age), 0).ToString() + "rjw_genes_settings_genitalia_resizing_postfix".Translate(), -1f, "rjw_genes_settings_genitalia_resizing_age_explanation".Translate());
RJW_Genes_Settings.rjw_genes_resizing_age = listing_Standard.Slider(RJW_Genes_Settings.rjw_genes_resizing_age, 18f, 100f);
listing_Standard.Gap(4f);
// Evergrowth Speed
listing_Standard.Label("number of ticks between genitalia evergrowth updates (60000 ticks are 1 day)" + ": " +
Math.Round((double)(RJW_Genes_Settings.rjw_genes_evergrowth_ticks), 0).ToString() , -1f, "ticks.");
RJW_Genes_Settings.rjw_genes_evergrowth_ticks = (int) listing_Standard.Slider(RJW_Genes_Settings.rjw_genes_evergrowth_ticks, 600, 60000);
listing_Standard.Gap(4f);
// Fertilin Gain From Animals
listing_Standard.Label("Fertilin-Gain from Animals" + ": " +
Math.Round((double)(RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor * 100f), 0).ToString() + "", -1f, "of fertilin gained (compared to human-baseline).");
listing_Standard.Label("rjw_genes_settings_fertilin_gain_from_animals".Translate() + " " +
Math.Round((double)(RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor * 100f), 0).ToString() + "%", -1f, "rjw_genes_settings_fertilin_gain_from_animals_explanation".Translate());
RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor = listing_Standard.Slider(RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor, 0f, 3f);
listing_Standard.Gap(5f);
listing_Standard.CheckboxLabeled("Sexdemon Visits", ref rjw_genes_sexdemon_visit, "If enabled, incubi and succubi can spawn in through an event.", 0f, 1f);
listing_Standard.CheckboxLabeled("rjw_genes_settings_sexdemon_spawn_key".Translate(), ref rjw_genes_sexdemon_visit, "rjw_genes_settings_sexdemon_spawn_explanation".Translate(), 0f, 1f);
if (rjw_genes_sexdemon_visit)
{
listing_Standard.Gap(3f);
listing_Standard.CheckboxLabeled(" Size matters", ref rjw_genes_sexdemon_join_size_matters, "Incubi and succubi will consider size/tightness of partners genital for deciding if they want to join", 0f, 1f);
listing_Standard.CheckboxLabeled(" " + "rjw_genes_settings_sexdemon_size_matters_key".Translate(), ref rjw_genes_sexdemon_join_size_matters, "rjw_genes_settings_sexdemon_size_matters_explanation".Translate(), 0f, 1f);
listing_Standard.Gap(3f);
listing_Standard.CheckboxLabeled(" Sexdemon groups", ref rjw_genes_sexdemon_visit_groups, "Multiple sexdemons can spawn during a event", 0f, 1f);
listing_Standard.CheckboxLabeled(" " + "rjw_genes_settings_sexdemon_group_spawn_key".Translate(), ref rjw_genes_sexdemon_visit_groups, "rjw_genes_settings_sexdemon_group_spawn_explanation".Translate(), 0f, 1f);
listing_Standard.Gap(3f);
listing_Standard.CheckboxLabeled(" Succubi", ref rjw_genes_sexdemon_visit_succubi, "Allow incubi to spawn through this even", 0f, 1f);
listing_Standard.CheckboxLabeled(" " + "rjw_genes_settings_sexdemon_succubi_spawn_key".Translate(), ref rjw_genes_sexdemon_visit_succubi, "rjw_genes_settings_sexdemon_succubi_spawn_explanation".Translate(), 0f, 1f);
listing_Standard.Gap(3f);
listing_Standard.CheckboxLabeled(" Incubi", ref rjw_genes_sexdemon_visit_incubi, "Allow incubi to spawn through this even", 0f, 1f);
listing_Standard.CheckboxLabeled(" " + "rjw_genes_settings_sexdemon_incubi_spawn_key".Translate(), ref rjw_genes_sexdemon_visit_incubi, "rjw_genes_settings_sexdemon_incubi_spawn_explanation".Translate(), 0f, 1f);
}
listing_Standard.Gap(4f);
listing_Standard.Gap(4f);
listing_Standard.CheckboxLabeled("Regret Stealing Love", ref regretStealingLovinThoughtDisabled, "If off, pawns will not get bad thoughts for seduction.");
listing_Standard.CheckboxLabeled("rjw_genes_settings_regret_stealing_love_key".Translate(), ref regretStealingLovinThoughtDisabled, "rjw_genes_settings_regret_stealing_love_explanation".Translate());
listing_Standard.Gap(5f);
listing_Standard.CheckboxLabeled("generous-donor cheatmode", ref rjw_genes_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.", 0f, 1f);
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);
listing_Standard.Gap(5f);
listing_Standard.CheckboxLabeled("detailed-debug", ref rjw_genes_detailed_debug, "Adds detailed information to the log about interactions and genes.", 0f, 1f);
listing_Standard.CheckboxLabeled("rjw_genes_settings_detailed_debug_key".Translate(), ref rjw_genes_detailed_debug, "rjw_genes_settings_detailed_debug_explanation".Translate(), 0f, 1f);
listing_Standard.End();
}
public override void ExposeData()
{
base.ExposeData();
Scribe_Values.Look<int>(ref RJW_Genes_Settings.rjw_genes_evergrowth_ticks, "rjw_genes_evergrowth_ticks", RJW_Genes_Settings.rjw_genes_evergrowth_ticks, true);
Scribe_Values.Look<float>(ref RJW_Genes_Settings.rjw_genes_resizing_age, "rjw_genes_resizing_age", RJW_Genes_Settings.rjw_genes_resizing_age, true);
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);
@ -80,7 +74,6 @@ namespace RJW_Genes
public static bool rjw_genes_detailed_debug = false;
public static float rjw_genes_fertilin_from_animals_factor = 0.1f;
public static float rjw_genes_resizing_age = 20;
public static int rjw_genes_evergrowth_ticks = 60000;
public static bool regretStealingLovinThoughtDisabled = false;
public static bool rjw_genes_sexdemon_visit = true;