From b5e1dcc38b888aafa4bd0e8b6e3d705400c940e4 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Thu, 23 Jun 2022 09:40:33 +0500 Subject: [PATCH] Add disable flag for abhorrent precepts --- RJWSexperience/IdeologyAddon/Ideology/IdeoUtility.cs | 12 +++++++++--- .../Ideology/Precepts/DefExtension_ModifyMtb.cs | 2 ++ .../Defs/PreceptDefs/Precepts_Bestiality.xml | 2 +- .../Defs/PreceptDefs/Precepts_Necrophilia.xml | 2 +- .../Defs/PreceptDefs/Precepts_Rape.xml | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/RJWSexperience/IdeologyAddon/Ideology/IdeoUtility.cs b/RJWSexperience/IdeologyAddon/Ideology/IdeoUtility.cs index 4901bd1..333ecd1 100644 --- a/RJWSexperience/IdeologyAddon/Ideology/IdeoUtility.cs +++ b/RJWSexperience/IdeologyAddon/Ideology/IdeoUtility.cs @@ -61,9 +61,15 @@ namespace RJWSexperience.Ideology float finalMultiplier = 1f; for (int i = 0; i < ideo.PreceptsListForReading.Count; i++) { - float? multiplier = ideo.PreceptsListForReading[i].def.GetModExtension()?.multiplier; - if (multiplier != null) - finalMultiplier *= (float)multiplier; + T defExtension = ideo.PreceptsListForReading[i].def.GetModExtension(); + + if (defExtension == null) + continue; + + if (defExtension.disable) + return -1f; + + finalMultiplier *= defExtension.multiplier; } return finalMultiplier; } diff --git a/RJWSexperience/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyMtb.cs b/RJWSexperience/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyMtb.cs index e1553f3..fb315b4 100644 --- a/RJWSexperience/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyMtb.cs +++ b/RJWSexperience/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyMtb.cs @@ -7,5 +7,7 @@ namespace RJWSexperience.Ideology.Precepts { [SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")] public float multiplier = 1f; + [SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")] + public bool disable = false; } } diff --git a/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Bestiality.xml b/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Bestiality.xml index 5cda634..792d844 100644 --- a/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Bestiality.xml +++ b/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Bestiality.xml @@ -79,7 +79,7 @@
  • - 5.0 + true
  • diff --git a/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Necrophilia.xml b/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Necrophilia.xml index 0c2213a..daadb5f 100644 --- a/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Necrophilia.xml +++ b/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Necrophilia.xml @@ -39,7 +39,7 @@
  • - 8.0 + true
  • diff --git a/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Rape.xml b/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Rape.xml index a2f9ba0..0a835b5 100644 --- a/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Rape.xml +++ b/RJWSexperience_Ideology/Defs/PreceptDefs/Precepts_Rape.xml @@ -91,7 +91,7 @@
  • - 3.0 + true