From 765e6c0778545537d44d59a4b56c4116a3a08b61 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Sun, 20 Nov 2022 18:55:13 +0500 Subject: [PATCH] Moved PreceptDefs into a separate class --- Source/IdeologyAddon/IdeoUtility.cs | 4 ++-- Source/IdeologyAddon/IdeologyAddon.csproj | 1 + .../IdeologyAddon/Patches/RJW_Patch_Ideo.cs | 6 +++--- .../IdeologyAddon/Patches/Rimworld_Patch.cs | 10 +++++----- Source/IdeologyAddon/Rituals/RitualRoles.cs | 2 +- .../RomanceChanceFactorHelpers.cs | 12 +++++------ Source/IdeologyAddon/RsiHistoryEventDefOf.cs | 18 ++++++++--------- Source/IdeologyAddon/RsiPreceptDefOf.cs | 20 +++++++++++++++++++ Source/IdeologyAddon/VariousDefOf.cs | 11 ---------- 9 files changed, 47 insertions(+), 37 deletions(-) create mode 100644 Source/IdeologyAddon/RsiPreceptDefOf.cs diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs index 4b44cce..206b8eb 100644 --- a/Source/IdeologyAddon/IdeoUtility.cs +++ b/Source/IdeologyAddon/IdeoUtility.cs @@ -12,9 +12,9 @@ namespace RJWSexperience.Ideology if (ideo == null) return false; - if (ideo.HasPrecept(VariousDefOf.Submissive_Female) && pawn.gender == Gender.Female) + if (ideo.HasPrecept(RsiPreceptDefOf.Submissive_Female) && pawn.gender == Gender.Female) return true; - else if (ideo.HasPrecept(VariousDefOf.Submissive_Male) && pawn.gender == Gender.Male) + else if (ideo.HasPrecept(RsiPreceptDefOf.Submissive_Male) && pawn.gender == Gender.Male) return true; return false; diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index e2571af..0636e40 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -63,6 +63,7 @@ + diff --git a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs index f387f14..e52b361 100644 --- a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs +++ b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs @@ -213,14 +213,14 @@ namespace RJWSexperience.Ideology.Patches Ideo mainideo = playerfaction.ideos.PrimaryIdeo; if (mainideo != null) { - if (mainideo.HasPrecept(VariousDefOf.BabyFaction_AlwaysFather)) + if (mainideo.HasPrecept(RsiPreceptDefOf.BabyFaction_AlwaysFather)) { Pawn parent = baby.GetFather() ?? baby.GetMother(); ideo = parent.Ideo; return parent.Faction; } - else if (mainideo.HasPrecept(VariousDefOf.BabyFaction_AlwaysColony)) + else if (mainideo.HasPrecept(RsiPreceptDefOf.BabyFaction_AlwaysColony)) { ideo = mainideo; return playerfaction; @@ -241,7 +241,7 @@ namespace RJWSexperience.Ideology.Patches if (props.pawn?.Ideo == null || !props.hasPartner()) return; - if (props.partner.Ideo?.HasPrecept(VariousDefOf.ProselyzingByOrgasm) == true) + if (props.partner.Ideo?.HasPrecept(RsiPreceptDefOf.ProselyzingByOrgasm) == true) { // Pawn is the one having the orgasm // Partner is "giving" the orgasm, hence the pawn will be converted towards the partners ideology diff --git a/Source/IdeologyAddon/Patches/Rimworld_Patch.cs b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs index 9243d70..55f3ba6 100644 --- a/Source/IdeologyAddon/Patches/Rimworld_Patch.cs +++ b/Source/IdeologyAddon/Patches/Rimworld_Patch.cs @@ -83,20 +83,20 @@ namespace RJWSexperience.Ideology.Patches BloodRelationDegree relationDegree = RelationHelpers.GetBloodRelationDegree(one, two); if (incestuousPrecept == null || - incestuousPrecept == VariousDefOf.Incestuos_Disapproved || - incestuousPrecept == VariousDefOf.Incestuos_Forbidden) + incestuousPrecept == RsiPreceptDefOf.Incestuos_Disapproved || + incestuousPrecept == RsiPreceptDefOf.Incestuos_Forbidden) { return relationDegree < BloodRelationDegree.NotRelated; } - else if (incestuousPrecept == VariousDefOf.Incestuos_Free) + else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Free) { return false; } - else if (incestuousPrecept == VariousDefOf.Incestuos_Disapproved_CloseOnly) + else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Disapproved_CloseOnly) { return relationDegree == BloodRelationDegree.CloseRelative; } - else if (incestuousPrecept == VariousDefOf.Incestuos_IncestOnly) + else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_IncestOnly) { return relationDegree == BloodRelationDegree.NotRelated; } diff --git a/Source/IdeologyAddon/Rituals/RitualRoles.cs b/Source/IdeologyAddon/Rituals/RitualRoles.cs index 0d26048..691bb28 100644 --- a/Source/IdeologyAddon/Rituals/RitualRoles.cs +++ b/Source/IdeologyAddon/Rituals/RitualRoles.cs @@ -92,7 +92,7 @@ namespace RJWSexperience.Ideology public static bool CanBeBreeder(Pawn animal, Precept_Ritual precept) { - if (precept != null && precept.ideo.HasPrecept(VariousDefOf.Bestiality_OnlyVenerated) && !precept.ideo.IsVeneratedAnimal(animal)) + if (precept != null && precept.ideo.HasPrecept(RsiPreceptDefOf.Bestiality_OnlyVenerated) && !precept.ideo.IsVeneratedAnimal(animal)) { return false; } diff --git a/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs b/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs index f2831ee..298916c 100644 --- a/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs +++ b/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs @@ -23,7 +23,7 @@ namespace RJWSexperience.Ideology if (!relations.Any()) { - if (incestuousPrecept == VariousDefOf.Incestuos_IncestOnly) + if (incestuousPrecept == RsiPreceptDefOf.Incestuos_IncestOnly) { return parentRomanceChanceFactor; } @@ -46,16 +46,16 @@ namespace RJWSexperience.Ideology /// public static float GetRomanceChanceFactor(PawnRelationDef relationDef, PreceptDef incestuousPrecept) { - if (incestuousPrecept == null || incestuousPrecept == VariousDefOf.Incestuos_Disapproved) // Default game setup + if (incestuousPrecept == null || incestuousPrecept == RsiPreceptDefOf.Incestuos_Disapproved) // Default game setup { return relationDef.romanceChanceFactor; } - if (incestuousPrecept == VariousDefOf.Incestuos_Free) + if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Free) { return 1f; } - else if (incestuousPrecept == VariousDefOf.Incestuos_Disapproved_CloseOnly) + else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Disapproved_CloseOnly) { if (relationDef.familyByBloodRelation && relationDef.importance > PawnRelationDefOf.Cousin.importance) { @@ -66,14 +66,14 @@ namespace RJWSexperience.Ideology return 1f; } } - else if (incestuousPrecept == VariousDefOf.Incestuos_Forbidden) + else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_Forbidden) { if (relationDef.familyByBloodRelation) { return parentRomanceChanceFactor; } } - else if (incestuousPrecept == VariousDefOf.Incestuos_IncestOnly) + else if (incestuousPrecept == RsiPreceptDefOf.Incestuos_IncestOnly) { if (!relationDef.familyByBloodRelation) { diff --git a/Source/IdeologyAddon/RsiHistoryEventDefOf.cs b/Source/IdeologyAddon/RsiHistoryEventDefOf.cs index 0155d66..4cb9bc7 100644 --- a/Source/IdeologyAddon/RsiHistoryEventDefOf.cs +++ b/Source/IdeologyAddon/RsiHistoryEventDefOf.cs @@ -5,14 +5,14 @@ namespace RJWSexperience.Ideology [DefOf] public static class RsiHistoryEventDefOf { - [MayRequireIdeology] public static readonly HistoryEventDef RSI_SexWithAnimal; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_Raped; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_NonIncestuosMarriage; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_NonIncestuosSex; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_SexWithCorpse; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_VirginTaken; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_VirginStolen; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_TookVirgin; - [MayRequireIdeology] public static readonly HistoryEventDef RSI_Masturbated; + public static readonly HistoryEventDef RSI_SexWithAnimal; + public static readonly HistoryEventDef RSI_Raped; + public static readonly HistoryEventDef RSI_NonIncestuosMarriage; + public static readonly HistoryEventDef RSI_NonIncestuosSex; + public static readonly HistoryEventDef RSI_SexWithCorpse; + public static readonly HistoryEventDef RSI_VirginTaken; + public static readonly HistoryEventDef RSI_VirginStolen; + public static readonly HistoryEventDef RSI_TookVirgin; + public static readonly HistoryEventDef RSI_Masturbated; } } diff --git a/Source/IdeologyAddon/RsiPreceptDefOf.cs b/Source/IdeologyAddon/RsiPreceptDefOf.cs new file mode 100644 index 0000000..977954a --- /dev/null +++ b/Source/IdeologyAddon/RsiPreceptDefOf.cs @@ -0,0 +1,20 @@ +using RimWorld; + +namespace RJWSexperience.Ideology +{ + [DefOf] + public static class RsiPreceptDefOf + { + public static readonly PreceptDef Incestuos_Free; + public static readonly PreceptDef Incestuos_Disapproved_CloseOnly; + public static readonly PreceptDef Incestuos_Disapproved; + public static readonly PreceptDef Incestuos_Forbidden; + public static readonly PreceptDef Incestuos_IncestOnly; + public static readonly PreceptDef Bestiality_OnlyVenerated; + public static readonly PreceptDef BabyFaction_AlwaysFather; + public static readonly PreceptDef BabyFaction_AlwaysColony; + public static readonly PreceptDef Submissive_Male; + public static readonly PreceptDef Submissive_Female; + public static readonly PreceptDef ProselyzingByOrgasm; + } +} \ No newline at end of file diff --git a/Source/IdeologyAddon/VariousDefOf.cs b/Source/IdeologyAddon/VariousDefOf.cs index 996a479..19a104d 100644 --- a/Source/IdeologyAddon/VariousDefOf.cs +++ b/Source/IdeologyAddon/VariousDefOf.cs @@ -17,17 +17,6 @@ namespace RJWSexperience.Ideology public static readonly MemeDef Rapist; public static readonly MemeDef Necrophile; public static readonly IssueDef Incestuos; - public static readonly PreceptDef Incestuos_Free; - public static readonly PreceptDef Incestuos_Disapproved_CloseOnly; - public static readonly PreceptDef Incestuos_Disapproved; - public static readonly PreceptDef Incestuos_Forbidden; - public static readonly PreceptDef Incestuos_IncestOnly; - public static readonly PreceptDef Bestiality_OnlyVenerated; - public static readonly PreceptDef BabyFaction_AlwaysFather; - public static readonly PreceptDef BabyFaction_AlwaysColony; - public static readonly PreceptDef Submissive_Male; - public static readonly PreceptDef Submissive_Female; - public static readonly PreceptDef ProselyzingByOrgasm; [MayRequireBiotech] public static readonly HediffDef PregnantHuman; } }