From 4949c3694b430bd0f6072f825ee6600abb12cff2 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Mon, 10 Oct 2022 20:15:44 +0500 Subject: [PATCH 1/7] Make masochists not immune to "not obedient" penalty --- 1.3/Defs/PreceptDefs/Precepts_Submissive.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/1.3/Defs/PreceptDefs/Precepts_Submissive.xml b/1.3/Defs/PreceptDefs/Precepts_Submissive.xml index a7c8bbf..e69c135 100644 --- a/1.3/Defs/PreceptDefs/Precepts_Submissive.xml +++ b/1.3/Defs/PreceptDefs/Precepts_Submissive.xml @@ -194,9 +194,6 @@ 15 100 3 - -
  • Masochist
  • -
  • From c00a872b81a31c4e963c4ebe108527288a648159 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Tue, 11 Oct 2022 21:00:48 +0500 Subject: [PATCH 2/7] Fix load errors --- 1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml | 3 +-- Source/IdeologyAddon/Ideology/VariousDefOf.cs | 5 +---- Source/IdeologyAddon/IdeologyAddon.csproj | 3 ++- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml b/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml index 4b1e67a..334f3f7 100644 --- a/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml +++ b/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml @@ -86,7 +86,7 @@ Low 50 - Being Pregnant is unclean. Take care and stay pure. + Being Pregnant is unclean. Take care and stay pure.
  • Pregnancy_Horrible_Pregnant @@ -94,7 +94,6 @@
  • Pregnancy_Horrible_Pregnant_Social
  • - diff --git a/Source/IdeologyAddon/Ideology/VariousDefOf.cs b/Source/IdeologyAddon/Ideology/VariousDefOf.cs index 4cce63e..8e8456a 100644 --- a/Source/IdeologyAddon/Ideology/VariousDefOf.cs +++ b/Source/IdeologyAddon/Ideology/VariousDefOf.cs @@ -22,9 +22,6 @@ namespace RJWSexperience.Ideology [MayRequireIdeology] public static readonly PreceptDef Submissive_Male; [MayRequireIdeology] public static readonly PreceptDef Submissive_Female; [MayRequireIdeology] public static readonly PreceptDef Proselyzing_By_Orgasm; - [MayRequireIdeology] public static readonly PreceptDef Proselyzing_By_Sex; - [MayRequireIdeology] public static readonly PreceptDef GenitalSize_Approved; - [MayRequireIdeology] public static readonly PreceptDef GenitalSize_Disapproved; - [MayRequireIdeology] public static readonly PreceptDef GenitalSize_NoRules; + //[MayRequireIdeology] public static readonly PreceptDef Proselyzing_By_Sex; } } diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 819c938..51feffa 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -32,7 +32,8 @@ - ..\..\..\rjw-vegapnk\1.3\Assemblies\RJW.dll + ..\..\..\rjw\1.3\Assemblies\RJW.dll + False From eda7261968c95c73efc48a51fb194c137954b41c Mon Sep 17 00:00:00 2001 From: amevarashi Date: Fri, 14 Oct 2022 19:29:11 +0500 Subject: [PATCH 3/7] Sort out the pregnancy precepts --- 1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml | 20 +++++---- .../ThoughtWorker_Precept_NonPregnant.cs | 40 +++++++---------- ...houghtWorker_Precept_NonPregnant_Social.cs | 40 ++++++++--------- .../ThoughtWorker_Precept_Pregnant.cs | 43 ++++++++----------- .../ThoughtWorker_Precept_Pregnant_Social.cs | 43 ++++++++----------- 5 files changed, 79 insertions(+), 107 deletions(-) diff --git a/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml b/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml index 334f3f7..7e5b69f 100644 --- a/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml +++ b/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml @@ -101,7 +101,7 @@ Pregnancy_Respected_Pregnant - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant Thought_Situational
  • @@ -114,7 +114,7 @@ Pregnancy_Elevated_Pregnant - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant Thought_Situational
  • @@ -127,7 +127,7 @@ Pregnancy_Respected_Pregnant_Social - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social Thought_SituationalSocial
  • @@ -139,7 +139,7 @@ Pregnancy_Elevated_Pregnant_Social - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social Thought_SituationalSocial
  • @@ -151,7 +151,7 @@ Pregnancy_Horrible_Pregnant_Social - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social Thought_SituationalSocial
  • @@ -163,7 +163,7 @@ Pregnancy_Horrible_Pregnant - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant Thought_Situational
  • @@ -177,9 +177,10 @@ Pregnancy_Horrible_NonPregnant - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_NonPregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_NonPregnant Thought_Situational true + Female
  • @@ -191,8 +192,9 @@ Pregnancy_Horrible_NonPregnant_Social - RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_NonPregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_NonPregnant_Social Thought_SituationalSocial + Female
  • @@ -201,4 +203,4 @@ - + \ No newline at end of file diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs index 118d2bd..3631cdf 100644 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs @@ -1,29 +1,21 @@ using RimWorld; -using Verse; using rjw; +using Verse; -namespace RJWSexperience.Ideology.Ideology.Precept_Workers +namespace RJWSexperience.Ideology.PreceptWorkers { - /// - /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn - /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs - /// - public class ThoughtWorker_Precept_NonPregnant : ThoughtWorker_Precept - { - /// Gets the current thought state of the given pawn. - /// The pawn for whom the thoughts are generated. - /// - protected override ThoughtState ShouldHaveThought(Pawn p) - { - - var pregnancy = rjw.PregnancyHelper.GetPregnancy(p); - - if (pregnancy == null) - { - return ThoughtState.Inactive; - } - - return ThoughtState.ActiveAtStage(0); - } - } + /// + /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn + /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs + /// + public class ThoughtWorker_Precept_NonPregnant : ThoughtWorker_Precept + { + /// Gets the current thought state of the given pawn. + /// The pawn for whom the thoughts are generated. + /// + protected override ThoughtState ShouldHaveThought(Pawn p) + { + return PregnancyHelper.GetPregnancy(p)?.Visible != true; + } + } } diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs index 68ed70b..d12f74a 100644 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs @@ -1,28 +1,22 @@ using RimWorld; -using Verse; using rjw; +using Verse; -namespace RJWSexperience.Ideology.Ideology.Precept_Workers +namespace RJWSexperience.Ideology.PreceptWorkers { - /// - /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn - /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs - /// - public class ThoughtWorker_Precept_NonPregnant_Social : ThoughtWorker_Precept - { - /// Gets the current thought state of the given pawn. - /// The pawn for whom the thoughts are generated. - /// - protected override ThoughtState ShouldHaveThought(Pawn p) - { - - var pregnancy = rjw.PregnancyHelper.GetPregnancy(p); - - if (pregnancy != null) - { - return ThoughtState.Inactive; - } else - return ThoughtState.ActiveAtStage(0); - } - } + /// + /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn + /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs + /// + public class ThoughtWorker_Precept_NonPregnant_Social : ThoughtWorker_Precept_Social + { + /// Gets the current thought state of the given pawn. + /// The pawn for whom the thoughts are generated. + /// The pawn about whom the thoughts are generated. + /// + protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) + { + return PregnancyHelper.GetPregnancy(otherPawn)?.Visible != true; + } + } } diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs index fab5f90..ae3d917 100644 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs @@ -1,30 +1,21 @@ - -using RimWorld; -using Verse; +using RimWorld; using rjw; +using Verse; -namespace RJWSexperience.Ideology.Ideology.Precept_Workers +namespace RJWSexperience.Ideology.PreceptWorkers { - /// - /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn - /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs - /// - public class ThoughtWorker_Precept_Pregnant : ThoughtWorker_Precept - { - /// Gets the current thought state of the given pawn. - /// The pawn for whom the thoughts are generated. - /// - protected override ThoughtState ShouldHaveThought(Pawn p) - { - - var pregnancy = rjw.PregnancyHelper.GetPregnancy(p); - - if (pregnancy == null) - { - return ThoughtState.Inactive; - } - - return ThoughtState.ActiveAtStage(0); - } - } + /// + /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn + /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs + /// + public class ThoughtWorker_Precept_Pregnant : ThoughtWorker_Precept + { + /// Gets the current thought state of the given pawn. + /// The pawn for whom the thoughts are generated. + /// + protected override ThoughtState ShouldHaveThought(Pawn p) + { + return PregnancyHelper.GetPregnancy(p)?.Visible == true; + } + } } diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs index b1cdaa0..c54b814 100644 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs @@ -1,29 +1,22 @@ using RimWorld; -using Verse; using rjw; +using Verse; -namespace RJWSexperience.Ideology.Ideology.Precept_Workers -{ - /// - /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn - /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs - /// - public class ThoughtWorker_Precept_Pregnant_Social : ThoughtWorker_Precept - { - /// Gets the current thought state of the given pawn. - /// The pawn for whom the thoughts are generated. - /// - protected override ThoughtState ShouldHaveThought(Pawn p) - { - - var pregnancy = rjw.PregnancyHelper.GetPregnancy(p); - - if (pregnancy == null) - { - return ThoughtState.Inactive; - } - - return ThoughtState.ActiveAtStage(0); - } - } +namespace RJWSexperience.Ideology.PreceptWorkers +{ + /// + /// thought worker for a thought that is active when a certain hediff is present, and who's stage depends on the ether state of the pawn + /// Shamelessly taken from: https://github.com/Tachyonite/Pawnmorpher/blob/master/Source/Pawnmorphs/Esoteria/Thoughts/ThoughtWorker_EtherHediff.cs + /// + public class ThoughtWorker_Precept_Pregnant_Social : ThoughtWorker_Precept_Social + { + /// Gets the current thought state of the given pawn. + /// The pawn for whom the thoughts are generated. + /// The pawn about whom the thoughts are generated. + /// + protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) + { + return PregnancyHelper.GetPregnancy(otherPawn)?.Visible == true; + } + } } From 5db34c0c1f05568bad79a5af0d98dde3981ef753 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Fri, 14 Oct 2022 20:57:17 +0500 Subject: [PATCH 4/7] Refactor ThoughtDefExtension_StageFromOpinion --- 1.3/Defs/PreceptDefs/Precepts_Virginity.xml | 8 +++---- ... => ThoughtDefExtension_StageFromValue.cs} | 17 +++++++++++-- .../Thoughts/Thought_Opinionbased.cs | 24 ++++++------------- 3 files changed, 26 insertions(+), 23 deletions(-) rename Source/IdeologyAddon/Thoughts/{ThoughtDefExtension_StageFromOpinion.cs => ThoughtDefExtension_StageFromValue.cs} (73%) diff --git a/1.3/Defs/PreceptDefs/Precepts_Virginity.xml b/1.3/Defs/PreceptDefs/Precepts_Virginity.xml index 50baa70..a7a231a 100644 --- a/1.3/Defs/PreceptDefs/Precepts_Virginity.xml +++ b/1.3/Defs/PreceptDefs/Precepts_Virginity.xml @@ -270,7 +270,7 @@ Virgin_Precious_Taken - RJWSexperience.Thought_Opinionbased + RJWSexperience.Ideology.Thought_Opinionbased 7 1 @@ -296,7 +296,7 @@
  • -
  • +
  • -100
  • -50
  • @@ -309,7 +309,7 @@ Virgin_Shameful_Taken - RJWSexperience.Thought_Opinionbased + RJWSexperience.Ideology.Thought_Opinionbased 7 1 @@ -330,7 +330,7 @@ -
  • +
  • -100
  • 0
  • diff --git a/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_StageFromOpinion.cs b/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_StageFromValue.cs similarity index 73% rename from Source/IdeologyAddon/Thoughts/ThoughtDefExtension_StageFromOpinion.cs rename to Source/IdeologyAddon/Thoughts/ThoughtDefExtension_StageFromValue.cs index 3b6bfc4..8e556de 100644 --- a/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_StageFromOpinion.cs +++ b/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_StageFromValue.cs @@ -2,13 +2,26 @@ using System.Diagnostics.CodeAnalysis; using Verse; -namespace RJWSexperience +namespace RJWSexperience.Ideology { - public class ThoughtDefExtension_StageFromOpinion : DefModExtension + public class ThoughtDefExtension_StageFromValue : DefModExtension { [SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")] public List minimumValueforStage = new List(); + public int GetStageIndex(float value) + { + for (int i = minimumValueforStage.Count - 1; i > 0; i--) + { + if (minimumValueforStage[i] < value) + { + return i; + } + } + + return 0; + } + public override IEnumerable ConfigErrors() { foreach (string error in base.ConfigErrors()) diff --git a/Source/IdeologyAddon/Thoughts/Thought_Opinionbased.cs b/Source/IdeologyAddon/Thoughts/Thought_Opinionbased.cs index fded6ad..dbe0115 100644 --- a/Source/IdeologyAddon/Thoughts/Thought_Opinionbased.cs +++ b/Source/IdeologyAddon/Thoughts/Thought_Opinionbased.cs @@ -1,22 +1,21 @@ using RimWorld; -using System.Collections.Generic; using Verse; -namespace RJWSexperience +namespace RJWSexperience.Ideology { public class Thought_Opinionbased : Thought_Memory { - private List minimumValueforStage; + private ThoughtDefExtension_StageFromValue stageFromValue; - protected List MinimumValueforStage + protected ThoughtDefExtension_StageFromValue StageFromValue { get { - if (minimumValueforStage == null) + if (stageFromValue == null) { - minimumValueforStage = def.GetModExtension().minimumValueforStage; + stageFromValue = def.GetModExtension(); } - return minimumValueforStage; + return stageFromValue; } } @@ -47,16 +46,7 @@ namespace RJWSexperience } float value = pawn.relations?.OpinionOf(otherPawn) ?? 0f; - - for (int i = MinimumValueforStage.Count - 1; i > 0; i--) - { - if (MinimumValueforStage[i] < value) - { - SetForcedStage(i); - return; - } - } - SetForcedStage(0); + SetForcedStage(StageFromValue.GetStageIndex(value)); } } } From 8da97c48338ca6b3aa218939cdb424c57558c682 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Fri, 14 Oct 2022 21:09:19 +0500 Subject: [PATCH 5/7] Refactor genital size ThoughtWorkers to use ThoughtDefExtension_StageFromValue --- 1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml | 56 +++++++++++++++++-- .../ThoughtWorker_Precept_GenitalSize.cs | 34 +++++++++++ ...ughtWorker_Precept_GenitalSize_Approved.cs | 31 ---------- ...ker_Precept_GenitalSize_Approved_Social.cs | 29 ---------- ...tWorker_Precept_GenitalSize_Disapproved.cs | 32 ----------- ..._Precept_GenitalSize_Disapproved_Social.cs | 28 ---------- ...houghtWorker_Precept_GenitalSize_Social.cs | 35 ++++++++++++ Source/IdeologyAddon/IdeologyAddon.csproj | 8 +-- 8 files changed, 124 insertions(+), 129 deletions(-) create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs delete mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs delete mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved_Social.cs delete mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved.cs delete mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved_Social.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs diff --git a/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml b/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml index b9bc867..7589a2a 100644 --- a/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml +++ b/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml @@ -63,7 +63,7 @@ GenitalSize_Approved Thought_Situational - RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Approved + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize
  • @@ -91,11 +91,24 @@ +10
  • + +
  • + + +
  • 0
  • +
  • 0.2
  • +
  • 0.4
  • +
  • 0.6
  • +
  • 0.8
  • + + +
    GenitalSize_Disapproved - RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Disapproved + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize Thought_Situational
  • @@ -124,13 +137,26 @@ -10
  • + +
  • + + +
  • 0
  • +
  • 0.2
  • +
  • 0.4
  • +
  • 0.6
  • +
  • 0.8
  • + + +
    GenitalSize_Approved_Social - RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Approved_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social Thought_SituationalSocial
  • @@ -146,12 +172,23 @@ +5
  • + +
  • + + +
  • 0
  • +
  • 0.4
  • +
  • 0.6
  • + + +
    GenitalSize_Disapproved_Social - RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Disapproved_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social Thought_SituationalSocial
  • @@ -167,6 +204,17 @@ +5
  • + +
  • + + +
  • 0
  • +
  • 0.4
  • +
  • 0.6
  • + + +
    \ No newline at end of file diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs new file mode 100644 index 0000000..0f9b135 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs @@ -0,0 +1,34 @@ +using RimWorld; +using rjw; +using Verse; + +namespace RJWSexperience.Ideology.PreceptWorkers +{ + public class ThoughtWorker_Precept_GenitalSize : ThoughtWorker_Precept + { + private ThoughtDefExtension_StageFromValue stageFromValue; + + protected ThoughtDefExtension_StageFromValue StageFromValue + { + get + { + if (stageFromValue == null) + { + stageFromValue = def.GetModExtension(); + } + return stageFromValue; + } + } + + protected override ThoughtState ShouldHaveThought(Pawn p) + { + if (p != null && Genital_Helper.get_AllPartsHediffList(p).Count > 0) + { + float bestSize = IdeoUtility.getGenitalSize(p); + return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); + } + // This might can happen if the pawn has no genitalia ... maybe? + return ThoughtState.Inactive; + } + } +} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs deleted file mode 100644 index 6c5f491..0000000 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs +++ /dev/null @@ -1,31 +0,0 @@ -using RimWorld; -using rjw; -using Verse; - -namespace RJWSexperience.Ideology -{ - public class ThoughtWorker_Precept_GenitalSize_Approved : ThoughtWorker_Precept - { - protected override ThoughtState ShouldHaveThought(Pawn p) - { - // We have 5 stages, which map directly to genitalia severity: - // Micro(<0.2), Small(>0.2&&<0.4), Normal(>0.4&&<0.6), Big(>0.6&&<0.8), Huge(>0.8) - if (p != null && Genital_Helper.get_AllPartsHediffList(p).Count > 0) - { - float best_size = IdeoUtility.getGenitalSize(p); - if (best_size < 0.2f) - return ThoughtState.ActiveAtStage(0); - else if (best_size < 0.4f) - return ThoughtState.ActiveAtStage(1); - else if (best_size < 0.6f) - return ThoughtState.ActiveAtStage(2); - else if (best_size < 0.8f) - return ThoughtState.ActiveAtStage(3); - else if (best_size > 0.8f) - return ThoughtState.ActiveAtStage(4); - } - // This might can happen if the pawn has no genitalia ... maybe? - return ThoughtState.Inactive; - } - } -} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved_Social.cs deleted file mode 100644 index 22dadbe..0000000 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved_Social.cs +++ /dev/null @@ -1,29 +0,0 @@ -using RimWorld; -using rjw; -using Verse; - -namespace RJWSexperience.Ideology -{ - public class ThoughtWorker_Precept_GenitalSize_Approved_Social : ThoughtWorker_Precept_Social - { - - // Important Note: For the Social Worker, we measure otherPawns genitalia - protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) - { - // We have 3 stages, which map directly to genitalia severity: - // Unfavorable(<0.4), Normal(>0.4&&<0.6), Favorable(>0.6) - if (otherPawn != null && Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0) - { - float best_size = IdeoUtility.getGenitalSize(otherPawn); - if (best_size < 0.4f) - return ThoughtState.ActiveAtStage(0); - else if (best_size < 0.6f) - return ThoughtState.ActiveAtStage(1); - else if (best_size > 0.6f) - return ThoughtState.ActiveAtStage(2); - } - // This might can happen if the pawn has no genitalia ... maybe? - return ThoughtState.Inactive; - } - } -} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved.cs deleted file mode 100644 index 7f7eae2..0000000 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved.cs +++ /dev/null @@ -1,32 +0,0 @@ -using RimWorld; -using rjw; -using Verse; - -namespace RJWSexperience.Ideology -{ - public class ThoughtWorker_Precept_GenitalSize_Disapproved : ThoughtWorker_Precept - { - protected override ThoughtState ShouldHaveThought(Pawn p) - { - // We have 5 stages, which map directly to genitalia severity: - // Micro(<0.2), Small(>0.2&&<0.4), Normal(>0.4&&<0.6), Big(>0.6&&<0.8), Huge(>0.8) - if (p != null && Genital_Helper.get_AllPartsHediffList(p).Count > 0) - { - float best_size = IdeoUtility.getGenitalSize(p); - if (best_size < 0.2f) - return ThoughtState.ActiveAtStage(0); - else if (best_size < 0.4f) - return ThoughtState.ActiveAtStage(1); - else if (best_size < 0.6f) - return ThoughtState.ActiveAtStage(2); - else if (best_size < 0.8f) - return ThoughtState.ActiveAtStage(3); - else if (best_size > 0.8f) - return ThoughtState.ActiveAtStage(4); - } - // This might can happen if the pawn has no genitalia ... maybe? - return ThoughtState.Inactive; - } - - } -} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved_Social.cs deleted file mode 100644 index 7df72e4..0000000 --- a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved_Social.cs +++ /dev/null @@ -1,28 +0,0 @@ -using RimWorld; -using rjw; -using Verse; - -namespace RJWSexperience.Ideology -{ - public class ThoughtWorker_Precept_GenitalSize_Disapproved_Social : ThoughtWorker_Precept_Social - { - // Important Note: For the Social Worker, we measure otherPawns genitalia - protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) - { - // We have 3 stages, which map directly to genitalia severity: - // Unfavorable(<0.4), Normal(>0.4&&<0.6), Favorable(>0.6) - if (otherPawn != null && Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0) - { - float best_size = IdeoUtility.getGenitalSize(otherPawn); - if (best_size < 0.4f) - return ThoughtState.ActiveAtStage(0); - else if (best_size < 0.6f) - return ThoughtState.ActiveAtStage(1); - else if (best_size > 0.6f) - return ThoughtState.ActiveAtStage(2); - } - // This might can happen if the pawn has no genitalia ... maybe? - return ThoughtState.Inactive; - } - } - } diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs new file mode 100644 index 0000000..42c6fc5 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs @@ -0,0 +1,35 @@ +using RimWorld; +using rjw; +using Verse; + +namespace RJWSexperience.Ideology.PreceptWorkers +{ + public class ThoughtWorker_Precept_GenitalSize_Social : ThoughtWorker_Precept_Social + { + private ThoughtDefExtension_StageFromValue stageFromValue; + + protected ThoughtDefExtension_StageFromValue StageFromValue + { + get + { + if (stageFromValue == null) + { + stageFromValue = def.GetModExtension(); + } + return stageFromValue; + } + } + + // Important Note: For the Social Worker, we measure otherPawns genitalia + protected override ThoughtState ShouldHaveThought(Pawn p, Pawn otherPawn) + { + if (otherPawn != null && Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0) + { + float bestSize = IdeoUtility.getGenitalSize(otherPawn); + return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); + } + // This might can happen if the pawn has no genitalia ... maybe? + return ThoughtState.Inactive; + } + } +} diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 51feffa..96f92ee 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -52,10 +52,8 @@ - - - - + + @@ -89,7 +87,7 @@ - + From 17a8264b4900f1558d1d5c59800b476fe6323ecc Mon Sep 17 00:00:00 2001 From: amevarashi Date: Fri, 14 Oct 2022 21:18:24 +0500 Subject: [PATCH 6/7] Flip GenitalSize_Disapproved_Social stages --- 1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml b/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml index 7589a2a..c060ec4 100644 --- a/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml +++ b/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml @@ -185,29 +185,28 @@
    - GenitalSize_Disapproved_Social RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social Thought_SituationalSocial
  • - - -5 + + +5
  • 0
  • - - +5 + + -5
  • + Favorable(<0.4), Normal(>0.4&&<0.6), Unfavorable(>0.6) -->
  • 0
  • 0.4
  • From 075260f091630fa62ef145ae3bf8b5c21b562373 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Fri, 14 Oct 2022 21:35:31 +0500 Subject: [PATCH 7/7] Fix folders and namespaces (except for the Rituals) --- 1.3/Defs/PreceptDefs/Precepts_Sex.xml | 4 +- ...odwillSituationWorker_MemeCompatibility.cs | 0 .../HistoryEvents/ArgsNamesCustom.cs | 0 .../DefExtension_EventOverrides.cs | 0 .../DefExtension_SecondaryEvents.cs | 0 .../HistoryEventDefExtensionMethods.cs | 0 .../HistoryEvents/TwoPawnEventRule.cs | 0 .../{Ideology => }/IdeoUtility.cs | 0 .../Ideology/Thought_IncreaseRecord.cs | 54 ------------ .../Ideology/Thought_Opinionbased.cs | 38 --------- Source/IdeologyAddon/IdeologyAddon.csproj | 82 +++++++++---------- .../InteractionDefExtension_HistoryEvents.cs | 0 Source/IdeologyAddon/{Ideology => }/Keyed.cs | 2 +- .../Patches/RJW_Patch_ChancePerHour.cs | 0 .../{Ideology => }/Patches/RJW_Patch_Ideo.cs | 0 .../{Ideology => }/Patches/Rimworld_Patch.cs | 0 .../Patches/Sexperience_Patch.cs | 0 .../ThoughtWorker_Precept_GenitalSize.cs | 0 ...houghtWorker_Precept_GenitalSize_Social.cs | 0 .../ThoughtWorker_Precept_NonPregnant.cs | 0 ...houghtWorker_Precept_NonPregnant_Social.cs | 0 .../ThoughtWorker_Precept_Pregnant.cs | 0 .../ThoughtWorker_Precept_Pregnant_Social.cs | 0 .../Comp_KnowsMemoryThought_Gendered.cs | 0 .../Comp_SelfTookMemoryThought_Gendered.cs | 0 .../DefExtension_ModifyBestialityMtb.cs | 0 .../Precepts/DefExtension_ModifyFappinMtb.cs | 0 .../Precepts/DefExtension_ModifyMtb.cs | 0 .../Precepts/DefExtension_ModifyNecroMtb.cs | 0 .../Precepts/DefExtension_ModifyPreference.cs | 0 .../Precepts/DefExtension_ModifyRapeCPMtb.cs | 0 .../DefExtension_MultipleMemesRequired.cs | 0 .../{Ideology => }/RelationFilter.cs | 0 .../Rituals/JobGiver_DrugOrgy.cs | 0 .../Rituals/JobGiver_GangbangConsensual.cs | 0 .../Rituals/JobGiver_GangbangVictim.cs | 0 .../{Ideology => }/Rituals/LordJob_Rituals.cs | 0 .../Rituals/RitualBehaviorWorkers.cs | 0 .../Rituals/RitualOutcomeComps.cs | 0 .../{Ideology => }/Rituals/RitualRoles.cs | 0 .../{Ideology => }/RsiHistoryEventDefOf.cs | 0 .../{Ideology => }/SinglePawnFilter.cs | 0 .../IdeologyAddon/{Ideology => }/StatParts.cs | 0 .../ThoughtDefExtension_IncreaseRecord.cs | 2 +- .../Thoughts/Thought_IncreaseRecord.cs | 2 +- .../{Ideology => }/TwoPawnFilter.cs | 0 .../{Ideology => }/VariousDefOf.cs | 0 47 files changed, 46 insertions(+), 138 deletions(-) rename Source/IdeologyAddon/{Ideology => }/GoodwillSituationWorker_MemeCompatibility.cs (100%) rename Source/IdeologyAddon/{Ideology => }/HistoryEvents/ArgsNamesCustom.cs (100%) rename Source/IdeologyAddon/{Ideology => }/HistoryEvents/DefExtension_EventOverrides.cs (100%) rename Source/IdeologyAddon/{Ideology => }/HistoryEvents/DefExtension_SecondaryEvents.cs (100%) rename Source/IdeologyAddon/{Ideology => }/HistoryEvents/HistoryEventDefExtensionMethods.cs (100%) rename Source/IdeologyAddon/{Ideology => }/HistoryEvents/TwoPawnEventRule.cs (100%) rename Source/IdeologyAddon/{Ideology => }/IdeoUtility.cs (100%) delete mode 100644 Source/IdeologyAddon/Ideology/Thought_IncreaseRecord.cs delete mode 100644 Source/IdeologyAddon/Ideology/Thought_Opinionbased.cs rename Source/IdeologyAddon/{Ideology => }/InteractionDefExtension_HistoryEvents.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Keyed.cs (93%) rename Source/IdeologyAddon/{Ideology => }/Patches/RJW_Patch_ChancePerHour.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Patches/RJW_Patch_Ideo.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Patches/Rimworld_Patch.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Patches/Sexperience_Patch.cs (100%) rename Source/IdeologyAddon/{Ideology => }/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs (100%) rename Source/IdeologyAddon/{Ideology => }/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs (100%) rename Source/IdeologyAddon/{Ideology => }/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs (100%) rename Source/IdeologyAddon/{Ideology => }/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs (100%) rename Source/IdeologyAddon/{Ideology => }/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs (100%) rename Source/IdeologyAddon/{Ideology => }/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/Comp_KnowsMemoryThought_Gendered.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/Comp_SelfTookMemoryThought_Gendered.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_ModifyBestialityMtb.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_ModifyFappinMtb.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_ModifyMtb.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_ModifyNecroMtb.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_ModifyPreference.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_ModifyRapeCPMtb.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Precepts/DefExtension_MultipleMemesRequired.cs (100%) rename Source/IdeologyAddon/{Ideology => }/RelationFilter.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/JobGiver_DrugOrgy.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/JobGiver_GangbangConsensual.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/JobGiver_GangbangVictim.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/LordJob_Rituals.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/RitualBehaviorWorkers.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/RitualOutcomeComps.cs (100%) rename Source/IdeologyAddon/{Ideology => }/Rituals/RitualRoles.cs (100%) rename Source/IdeologyAddon/{Ideology => }/RsiHistoryEventDefOf.cs (100%) rename Source/IdeologyAddon/{Ideology => }/SinglePawnFilter.cs (100%) rename Source/IdeologyAddon/{Ideology => }/StatParts.cs (100%) rename Source/IdeologyAddon/{Ideology => }/TwoPawnFilter.cs (100%) rename Source/IdeologyAddon/{Ideology => }/VariousDefOf.cs (100%) diff --git a/1.3/Defs/PreceptDefs/Precepts_Sex.xml b/1.3/Defs/PreceptDefs/Precepts_Sex.xml index ea37742..8cf05e4 100644 --- a/1.3/Defs/PreceptDefs/Precepts_Sex.xml +++ b/1.3/Defs/PreceptDefs/Precepts_Sex.xml @@ -288,7 +288,7 @@ Sex_Promiscuous 1 1 - RJWSexperience.Thought_IncreaseRecord + RJWSexperience.Ideology.Thought_IncreaseRecord
  • @@ -297,7 +297,7 @@
  • -
  • +
  • Lust 3.0
  • diff --git a/Source/IdeologyAddon/Ideology/GoodwillSituationWorker_MemeCompatibility.cs b/Source/IdeologyAddon/GoodwillSituationWorker_MemeCompatibility.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/GoodwillSituationWorker_MemeCompatibility.cs rename to Source/IdeologyAddon/GoodwillSituationWorker_MemeCompatibility.cs diff --git a/Source/IdeologyAddon/Ideology/HistoryEvents/ArgsNamesCustom.cs b/Source/IdeologyAddon/HistoryEvents/ArgsNamesCustom.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/HistoryEvents/ArgsNamesCustom.cs rename to Source/IdeologyAddon/HistoryEvents/ArgsNamesCustom.cs diff --git a/Source/IdeologyAddon/Ideology/HistoryEvents/DefExtension_EventOverrides.cs b/Source/IdeologyAddon/HistoryEvents/DefExtension_EventOverrides.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/HistoryEvents/DefExtension_EventOverrides.cs rename to Source/IdeologyAddon/HistoryEvents/DefExtension_EventOverrides.cs diff --git a/Source/IdeologyAddon/Ideology/HistoryEvents/DefExtension_SecondaryEvents.cs b/Source/IdeologyAddon/HistoryEvents/DefExtension_SecondaryEvents.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/HistoryEvents/DefExtension_SecondaryEvents.cs rename to Source/IdeologyAddon/HistoryEvents/DefExtension_SecondaryEvents.cs diff --git a/Source/IdeologyAddon/Ideology/HistoryEvents/HistoryEventDefExtensionMethods.cs b/Source/IdeologyAddon/HistoryEvents/HistoryEventDefExtensionMethods.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/HistoryEvents/HistoryEventDefExtensionMethods.cs rename to Source/IdeologyAddon/HistoryEvents/HistoryEventDefExtensionMethods.cs diff --git a/Source/IdeologyAddon/Ideology/HistoryEvents/TwoPawnEventRule.cs b/Source/IdeologyAddon/HistoryEvents/TwoPawnEventRule.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/HistoryEvents/TwoPawnEventRule.cs rename to Source/IdeologyAddon/HistoryEvents/TwoPawnEventRule.cs diff --git a/Source/IdeologyAddon/Ideology/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/IdeoUtility.cs rename to Source/IdeologyAddon/IdeoUtility.cs diff --git a/Source/IdeologyAddon/Ideology/Thought_IncreaseRecord.cs b/Source/IdeologyAddon/Ideology/Thought_IncreaseRecord.cs deleted file mode 100644 index d50eb50..0000000 --- a/Source/IdeologyAddon/Ideology/Thought_IncreaseRecord.cs +++ /dev/null @@ -1,54 +0,0 @@ -using RimWorld; -using Verse; - -namespace RJWSexperience.Ideology -{ - public class Thought_IncreaseRecord : Thought_Recordbased - { - protected float recordIncrement; - - public override void ExposeData() - { - base.ExposeData(); - Scribe_Values.Look(ref recordIncrement, "recordIncrement", recordIncrement, true); - } - - public override void ThoughtInterval() - { - base.ThoughtInterval(); - if (recordIncrement != 0) - { - pawn.records.AddTo(RecordDef, recordIncrement); - recordIncrement = 0; - } - } - - public override bool TryMergeWithExistingMemory(out bool showBubble) - { - ThoughtHandler thoughts = pawn.needs.mood.thoughts; - if (thoughts.memories.NumMemoriesInGroup(this) >= def.stackLimit) - { - Thought_IncreaseRecord thought_Memory = (Thought_IncreaseRecord)thoughts.memories.OldestMemoryInGroup(this); - if (thought_Memory != null) - { - showBubble = (thought_Memory.age > thought_Memory.def.DurationTicks / 2); - thought_Memory.Merged(); - return true; - } - } - showBubble = true; - return false; - } - - public override void Init() - { - base.Init(); - recordIncrement = Def.increment; - } - protected virtual void Merged() - { - age = 0; - recordIncrement += Def.increment; - } - } -} diff --git a/Source/IdeologyAddon/Ideology/Thought_Opinionbased.cs b/Source/IdeologyAddon/Ideology/Thought_Opinionbased.cs deleted file mode 100644 index 16a83b4..0000000 --- a/Source/IdeologyAddon/Ideology/Thought_Opinionbased.cs +++ /dev/null @@ -1,38 +0,0 @@ -using RimWorld; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; - -namespace RJWSexperience.Ideology -{ - /// - /// ThoughtDef using opinion - /// - public class ThoughtDef_Opinionbased : ThoughtDef - { - [SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Field value loaded from XML")] - public List minimumValueforStage = new List(); - } - - /// - /// Thought class using record. - /// - public class Thought_Opinionbased : Thought_Memory - { - protected ThoughtDef_Opinionbased Def => (ThoughtDef_Opinionbased)def; - protected List MinimumValueforStage => Def.minimumValueforStage; - - public override int CurStageIndex - { - get - { - float value = 0f; - if (otherPawn != null) value = pawn.relations?.OpinionOf(otherPawn) ?? 0f; - for (int i = MinimumValueforStage.Count - 1; i > 0; i--) - { - if (MinimumValueforStage[i] < value) return i; - } - return 0; - } - } - } -} diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 96f92ee..131a6c5 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -44,53 +44,53 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + diff --git a/Source/IdeologyAddon/Ideology/InteractionDefExtension_HistoryEvents.cs b/Source/IdeologyAddon/InteractionDefExtension_HistoryEvents.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/InteractionDefExtension_HistoryEvents.cs rename to Source/IdeologyAddon/InteractionDefExtension_HistoryEvents.cs diff --git a/Source/IdeologyAddon/Ideology/Keyed.cs b/Source/IdeologyAddon/Keyed.cs similarity index 93% rename from Source/IdeologyAddon/Ideology/Keyed.cs rename to Source/IdeologyAddon/Keyed.cs index 58c89cf..8a98c01 100644 --- a/Source/IdeologyAddon/Ideology/Keyed.cs +++ b/Source/IdeologyAddon/Keyed.cs @@ -1,6 +1,6 @@ using Verse; -namespace RJWSexperience +namespace RJWSexperience.Ideology { public static class Keyed { diff --git a/Source/IdeologyAddon/Ideology/Patches/RJW_Patch_ChancePerHour.cs b/Source/IdeologyAddon/Patches/RJW_Patch_ChancePerHour.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Patches/RJW_Patch_ChancePerHour.cs rename to Source/IdeologyAddon/Patches/RJW_Patch_ChancePerHour.cs diff --git a/Source/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs rename to Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs diff --git a/Source/IdeologyAddon/Ideology/Patches/Rimworld_Patch.cs b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Patches/Rimworld_Patch.cs rename to Source/IdeologyAddon/Patches/Rimworld_Patch.cs diff --git a/Source/IdeologyAddon/Ideology/Patches/Sexperience_Patch.cs b/Source/IdeologyAddon/Patches/Sexperience_Patch.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Patches/Sexperience_Patch.cs rename to Source/IdeologyAddon/Patches/Sexperience_Patch.cs diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs rename to Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs rename to Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs rename to Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs rename to Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs rename to Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs rename to Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/Comp_KnowsMemoryThought_Gendered.cs b/Source/IdeologyAddon/Precepts/Comp_KnowsMemoryThought_Gendered.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/Comp_KnowsMemoryThought_Gendered.cs rename to Source/IdeologyAddon/Precepts/Comp_KnowsMemoryThought_Gendered.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/Comp_SelfTookMemoryThought_Gendered.cs b/Source/IdeologyAddon/Precepts/Comp_SelfTookMemoryThought_Gendered.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/Comp_SelfTookMemoryThought_Gendered.cs rename to Source/IdeologyAddon/Precepts/Comp_SelfTookMemoryThought_Gendered.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyBestialityMtb.cs b/Source/IdeologyAddon/Precepts/DefExtension_ModifyBestialityMtb.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyBestialityMtb.cs rename to Source/IdeologyAddon/Precepts/DefExtension_ModifyBestialityMtb.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyFappinMtb.cs b/Source/IdeologyAddon/Precepts/DefExtension_ModifyFappinMtb.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyFappinMtb.cs rename to Source/IdeologyAddon/Precepts/DefExtension_ModifyFappinMtb.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyMtb.cs b/Source/IdeologyAddon/Precepts/DefExtension_ModifyMtb.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyMtb.cs rename to Source/IdeologyAddon/Precepts/DefExtension_ModifyMtb.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyNecroMtb.cs b/Source/IdeologyAddon/Precepts/DefExtension_ModifyNecroMtb.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyNecroMtb.cs rename to Source/IdeologyAddon/Precepts/DefExtension_ModifyNecroMtb.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyPreference.cs b/Source/IdeologyAddon/Precepts/DefExtension_ModifyPreference.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyPreference.cs rename to Source/IdeologyAddon/Precepts/DefExtension_ModifyPreference.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyRapeCPMtb.cs b/Source/IdeologyAddon/Precepts/DefExtension_ModifyRapeCPMtb.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_ModifyRapeCPMtb.cs rename to Source/IdeologyAddon/Precepts/DefExtension_ModifyRapeCPMtb.cs diff --git a/Source/IdeologyAddon/Ideology/Precepts/DefExtension_MultipleMemesRequired.cs b/Source/IdeologyAddon/Precepts/DefExtension_MultipleMemesRequired.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Precepts/DefExtension_MultipleMemesRequired.cs rename to Source/IdeologyAddon/Precepts/DefExtension_MultipleMemesRequired.cs diff --git a/Source/IdeologyAddon/Ideology/RelationFilter.cs b/Source/IdeologyAddon/RelationFilter.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/RelationFilter.cs rename to Source/IdeologyAddon/RelationFilter.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/JobGiver_DrugOrgy.cs b/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/JobGiver_DrugOrgy.cs rename to Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/JobGiver_GangbangConsensual.cs b/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/JobGiver_GangbangConsensual.cs rename to Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/JobGiver_GangbangVictim.cs b/Source/IdeologyAddon/Rituals/JobGiver_GangbangVictim.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/JobGiver_GangbangVictim.cs rename to Source/IdeologyAddon/Rituals/JobGiver_GangbangVictim.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/LordJob_Rituals.cs b/Source/IdeologyAddon/Rituals/LordJob_Rituals.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/LordJob_Rituals.cs rename to Source/IdeologyAddon/Rituals/LordJob_Rituals.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/RitualBehaviorWorkers.cs b/Source/IdeologyAddon/Rituals/RitualBehaviorWorkers.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/RitualBehaviorWorkers.cs rename to Source/IdeologyAddon/Rituals/RitualBehaviorWorkers.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/RitualOutcomeComps.cs b/Source/IdeologyAddon/Rituals/RitualOutcomeComps.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/RitualOutcomeComps.cs rename to Source/IdeologyAddon/Rituals/RitualOutcomeComps.cs diff --git a/Source/IdeologyAddon/Ideology/Rituals/RitualRoles.cs b/Source/IdeologyAddon/Rituals/RitualRoles.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/Rituals/RitualRoles.cs rename to Source/IdeologyAddon/Rituals/RitualRoles.cs diff --git a/Source/IdeologyAddon/Ideology/RsiHistoryEventDefOf.cs b/Source/IdeologyAddon/RsiHistoryEventDefOf.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/RsiHistoryEventDefOf.cs rename to Source/IdeologyAddon/RsiHistoryEventDefOf.cs diff --git a/Source/IdeologyAddon/Ideology/SinglePawnFilter.cs b/Source/IdeologyAddon/SinglePawnFilter.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/SinglePawnFilter.cs rename to Source/IdeologyAddon/SinglePawnFilter.cs diff --git a/Source/IdeologyAddon/Ideology/StatParts.cs b/Source/IdeologyAddon/StatParts.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/StatParts.cs rename to Source/IdeologyAddon/StatParts.cs diff --git a/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_IncreaseRecord.cs b/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_IncreaseRecord.cs index 63ce3d7..cf53e45 100644 --- a/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_IncreaseRecord.cs +++ b/Source/IdeologyAddon/Thoughts/ThoughtDefExtension_IncreaseRecord.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using Verse; -namespace RJWSexperience +namespace RJWSexperience.Ideology { public class ThoughtDefExtension_IncreaseRecord : DefModExtension { diff --git a/Source/IdeologyAddon/Thoughts/Thought_IncreaseRecord.cs b/Source/IdeologyAddon/Thoughts/Thought_IncreaseRecord.cs index f229813..1299dd3 100644 --- a/Source/IdeologyAddon/Thoughts/Thought_IncreaseRecord.cs +++ b/Source/IdeologyAddon/Thoughts/Thought_IncreaseRecord.cs @@ -1,6 +1,6 @@ using RimWorld; -namespace RJWSexperience +namespace RJWSexperience.Ideology { /// /// Increments record every time the thought is added diff --git a/Source/IdeologyAddon/Ideology/TwoPawnFilter.cs b/Source/IdeologyAddon/TwoPawnFilter.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/TwoPawnFilter.cs rename to Source/IdeologyAddon/TwoPawnFilter.cs diff --git a/Source/IdeologyAddon/Ideology/VariousDefOf.cs b/Source/IdeologyAddon/VariousDefOf.cs similarity index 100% rename from Source/IdeologyAddon/Ideology/VariousDefOf.cs rename to Source/IdeologyAddon/VariousDefOf.cs