diff --git a/1.4/Defs/PreceptDefs/Precepts_Incest.xml b/1.4/Defs/PreceptDefs/Precepts_Incest.xml
index 23f82de..3a36a95 100644
--- a/1.4/Defs/PreceptDefs/Precepts_Incest.xml
+++ b/1.4/Defs/PreceptDefs/Precepts_Incest.xml
@@ -111,15 +111,6 @@
60
1000
100
-
-
-
- CloseRelative
- FarRelative
- NotRelated
-
-
-
@@ -166,12 +157,6 @@
-
-
- FarRelative
- NotRelated
-
-
@@ -290,12 +275,6 @@
-
-
- CloseRelative
- FarRelative
-
-
diff --git a/1.4/Defs/PreceptDefs/Precepts_Submissive.xml b/1.4/Defs/PreceptDefs/Precepts_Submissive.xml
index aa7ae4d..e69c135 100644
--- a/1.4/Defs/PreceptDefs/Precepts_Submissive.xml
+++ b/1.4/Defs/PreceptDefs/Precepts_Submissive.xml
@@ -76,11 +76,11 @@
BeenRaped_NotSubmissive
Female
-
+
@@ -140,11 +140,11 @@
BeenRaped_NotSubmissive
Male
-
+
diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj
index 63f6689..d23b8ae 100644
--- a/Source/IdeologyAddon/IdeologyAddon.csproj
+++ b/Source/IdeologyAddon/IdeologyAddon.csproj
@@ -53,7 +53,6 @@
-
@@ -99,7 +98,7 @@
- 1.4.3555
+ 1.4.3542
2.2.2
diff --git a/Source/IdeologyAddon/Patches/Rimworld_Patch.cs b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs
index de49fe7..55f3ba6 100644
--- a/Source/IdeologyAddon/Patches/Rimworld_Patch.cs
+++ b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs
@@ -80,15 +80,29 @@ namespace RJWSexperience.Ideology.Patches
public static bool RsiIncestuous(Pawn one, Pawn two)
{
PreceptDef incestuousPrecept = one.Ideo?.PreceptsListForReading.Select(precept => precept.def).FirstOrFallback(def => def.issue == VariousDefOf.Incestuos);
- var allowManualRomanceOnlyFor = incestuousPrecept?.GetModExtension()?.allowManualRomanceOnlyFor;
BloodRelationDegree relationDegree = RelationHelpers.GetBloodRelationDegree(one, two);
- if (allowManualRomanceOnlyFor == null)
+ if (incestuousPrecept == null ||
+ incestuousPrecept == RsiPreceptDefOf.Incestuos_Disapproved ||
+ incestuousPrecept == RsiPreceptDefOf.Incestuos_Forbidden)
{
return relationDegree < BloodRelationDegree.NotRelated;
}
+ else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Free)
+ {
+ return false;
+ }
+ else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Disapproved_CloseOnly)
+ {
+ return relationDegree == BloodRelationDegree.CloseRelative;
+ }
+ else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_IncestOnly)
+ {
+ return relationDegree == BloodRelationDegree.NotRelated;
+ }
- return !allowManualRomanceOnlyFor.Contains(relationDegree);
+ // Modded incestuous precept?
+ return true;
}
}
}
diff --git a/Source/IdeologyAddon/Precepts/DefExtension_Incest.cs b/Source/IdeologyAddon/Precepts/DefExtension_Incest.cs
deleted file mode 100644
index f4e474d..0000000
--- a/Source/IdeologyAddon/Precepts/DefExtension_Incest.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using RJWSexperience.Ideology.Filters;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using Verse;
-
-namespace RJWSexperience.Ideology.Precepts
-{
- ///
- /// Special Def extension for the Incestuous issue precepts
- ///
- [SuppressMessage("Minor Code Smell", "S1104:Fields should not have public accessibility", Justification = "Def loader")]
- public class DefExtension_Incest : DefModExtension
- {
- public List allowManualRomanceOnlyFor;
- }
-}