From 8f4ebb749a0e60f7ae1a675c862169342cae8f33 Mon Sep 17 00:00:00 2001 From: Leonhard Applis Date: Wed, 10 Aug 2022 20:52:32 +0200 Subject: [PATCH 01/13] Drafted Pregnancy Precept --- 1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml | 205 ++++++++++++++++++ .../ThoughtWorker_Precept_NonPregnant.cs | 29 +++ ...houghtWorker_Precept_NonPregnant_Social.cs | 28 +++ .../ThoughtWorker_Precept_Pregnant.cs | 30 +++ .../ThoughtWorker_Precept_Pregnant_Social.cs | 29 +++ Source/IdeologyAddon/IdeologyAddon.csproj | 3 +- 6 files changed, 322 insertions(+), 2 deletions(-) create mode 100644 1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs diff --git a/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml b/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml new file mode 100644 index 0000000..4b1e67a --- /dev/null +++ b/1.3/Defs/PreceptDefs/Precepts_Pregnancy.xml @@ -0,0 +1,205 @@ + + + + + + + + + Pregnancy + + UI/Issues/Birth + + + + + Pregnancy_Holy + Pregnancy + + To be pregnant is a duty worthy of respect. Women carry our society into the next generation. + Medium + 10 + +
  • + Pregnancy_Respected_Pregnant +
  • +
  • + Pregnancy_Respected_Pregnant_Social +
  • +
    +
    + + + Pregnancy_Elevated + Pregnancy + + Being pregnant is considered noble. + Low + 20 + +
  • + Pregnancy_Elevated_Pregnant +
  • +
  • + Pregnancy_Elevated_Pregnant_Social +
  • +
    +
    + + + Pregnancy_NoRules + Pregnancy + + There are no thoughts about pregnancy. + Low + 30 + + + + + + Pregnancy_Required + Pregnancy + High + 40 + + Women should be pregnant - those who are not, are seen unworthy. + +
  • + Pregnancy_Respected_Pregnant +
  • +
  • + Pregnancy_Respected_Pregnant_Social +
  • +
  • + Pregnancy_Horrible_NonPregnant +
  • +
  • + Pregnancy_Horrible_NonPregnant_Social +
  • +
    +
    + + + Pregnancy_Horrible + Pregnancy + Low + 50 + + Being Pregnant is unclean. Take care and stay pure. + +
  • + Pregnancy_Horrible_Pregnant +
  • +
  • + Pregnancy_Horrible_Pregnant_Social +
  • + + +
    + + + + + Pregnancy_Respected_Pregnant + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant + Thought_Situational + +
  • + + I am pregnant. This makes me a pillar of society. + 5 +
  • +
    +
    + + + Pregnancy_Elevated_Pregnant + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant + Thought_Situational + +
  • + + I am soon making our colony stronger. + 10 +
  • +
    +
    + + + Pregnancy_Respected_Pregnant_Social + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant_Social + Thought_SituationalSocial + +
  • + + 10 +
  • +
    +
    + + + Pregnancy_Elevated_Pregnant_Social + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant_Social + Thought_SituationalSocial + +
  • + + 20 +
  • +
    +
    + + + Pregnancy_Horrible_Pregnant_Social + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant_Social + Thought_SituationalSocial + +
  • + + -20 +
  • +
    +
    + + + Pregnancy_Horrible_Pregnant + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_Pregnant + Thought_Situational + +
  • + + How did I end up like this? I never wanted to be pregnant! + -10 +
  • +
    +
    + + + + Pregnancy_Horrible_NonPregnant + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_NonPregnant_Social + Thought_Situational + true + +
  • + + I wish to be pregnant. + -6 +
  • +
    +
    + + + Pregnancy_Horrible_NonPregnant_Social + RJWSexperience.Ideology.Ideology.Precept_Workers.ThoughtWorker_Precept_NonPregnant_Social + Thought_SituationalSocial + +
  • + + -5 +
  • +
    +
    + +
    diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs new file mode 100644 index 0000000..118d2bd --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant.cs @@ -0,0 +1,29 @@ +using RimWorld; +using Verse; +using rjw; + +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_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); + } + } +} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs new file mode 100644 index 0000000..68ed70b --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_NonPregnant_Social.cs @@ -0,0 +1,28 @@ +using RimWorld; +using Verse; +using rjw; + +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_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); + } + } +} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs new file mode 100644 index 0000000..fab5f90 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant.cs @@ -0,0 +1,30 @@ + +using RimWorld; +using Verse; +using rjw; + +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 : 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); + } + } +} diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs new file mode 100644 index 0000000..b1cdaa0 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_Pregnant_Social.cs @@ -0,0 +1,29 @@ +using RimWorld; +using Verse; +using rjw; + +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); + } + } +} diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 1ea925e..90a125c 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -32,8 +32,7 @@ - ..\..\..\rjw\1.3\Assemblies\RJW.dll - False + ..\..\..\rjw-vegapnk\1.3\Assemblies\RJW.dll From 4af1890a0e51bdb65d217ecb5377f21586de14f5 Mon Sep 17 00:00:00 2001 From: Leonhard Applis Date: Wed, 10 Aug 2022 20:58:25 +0200 Subject: [PATCH 02/13] Added a Precept on Genital Size --- 1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml | 172 ++++++++++++++++++ Source/IdeologyAddon/Ideology/IdeoUtility.cs | 25 +++ ...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 +++ Source/IdeologyAddon/IdeologyAddon.csproj | 8 + 7 files changed, 325 insertions(+) create mode 100644 1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved_Social.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved.cs create mode 100644 Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved_Social.cs diff --git a/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml b/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml new file mode 100644 index 0000000..b9bc867 --- /dev/null +++ b/1.3/Defs/PreceptDefs/Precepts_SizeMatters.xml @@ -0,0 +1,172 @@ + + + + + + GenitalSize + + UI/Memes/SexualDissolutely + + + + + + GenitalSize_Big_Better + GenitalSize + The size matters. + + High + 20 + 200 + +
  • + GenitalSize_Approved +
  • +
  • + GenitalSize_Approved_Social +
  • +
    +
    + + + GenitalSize_NoRules + GenitalSize + The size is unimportant. + + High + 10 + 100 + + + + + + GenitalSize_Smaller_Better + GenitalSize + The greeks actually believed, that a big genital is an animalistic feature. Important members are known for their small genitals. + + High + 30 + 200 + +
  • + GenitalSize_Disapproved +
  • +
  • + GenitalSize_Disapproved_Social +
  • +
    +
    + + + + + GenitalSize_Approved + Thought_Situational + RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Approved + +
  • + + I ... I am okay the way I am! + -10 +
  • +
  • + + I think I am below average. + -5 +
  • +
  • + + I guess I am the average. + 0 +
  • +
  • + + I think I am above average. + +5 +
  • +
  • + + Don't want to be the elephant in the room, but parts of me are. + +10 +
  • +
    +
    + + + GenitalSize_Disapproved + RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Disapproved + Thought_Situational + +
  • + + I do not need great genitals, as I am a being of supreme intellect and grace. + +10 +
  • +
  • + + I think I am below average. + +5 +
  • +
  • + + I guess I am the average. + 0 +
  • +
  • + + I think I am above average. + -5 +
  • +
  • + + I am closer to an animal, than to a human. Why did I have to be born this way? + -10 +
  • +
    +
    + + + + + GenitalSize_Approved_Social + RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Approved_Social + Thought_SituationalSocial + +
  • + + -5 +
  • +
  • + + 0 +
  • +
  • + + +5 +
  • +
    +
    + + + + GenitalSize_Disapproved_Social + RJWSexperience.Ideology.ThoughtWorker_Precept_GenitalSize_Disapproved_Social + Thought_SituationalSocial + +
  • + + -5 +
  • +
  • + + 0 +
  • +
  • + + +5 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/Source/IdeologyAddon/Ideology/IdeoUtility.cs b/Source/IdeologyAddon/Ideology/IdeoUtility.cs index 2334aec..9414558 100644 --- a/Source/IdeologyAddon/Ideology/IdeoUtility.cs +++ b/Source/IdeologyAddon/Ideology/IdeoUtility.cs @@ -1,4 +1,5 @@ using RimWorld; +using rjw; using Verse; namespace RJWSexperience.Ideology @@ -33,5 +34,29 @@ namespace RJWSexperience.Ideology } return finalMultiplier; } + + public static float getGenitalSize(Pawn p) + { + if (p == null) + return 0f; + + // Iff the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina) + float best_seen_size = 0f; + foreach (Hediff part in rjw.Genital_Helper.get_AllPartsHediffList(p)) + { + // Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts + if (Genital_Helper.is_penis(part) || Genital_Helper.is_vagina(part)) + { + best_seen_size = part.Severity > best_seen_size ? part.Severity : best_seen_size; + } + } + + + // For Women, the scale is inverted. + if (p.gender == Gender.Female) + return 1 - best_seen_size; + + return best_seen_size; + } } } diff --git a/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs new file mode 100644 index 0000000..6c5f491 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved.cs @@ -0,0 +1,31 @@ +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 new file mode 100644 index 0000000..22dadbe --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Approved_Social.cs @@ -0,0 +1,29 @@ +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 new file mode 100644 index 0000000..7f7eae2 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved.cs @@ -0,0 +1,32 @@ +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 new file mode 100644 index 0000000..7df72e4 --- /dev/null +++ b/Source/IdeologyAddon/Ideology/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Disapproved_Social.cs @@ -0,0 +1,28 @@ +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/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 90a125c..819c938 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -51,6 +51,14 @@ + + + + + + + + From 05e9c5d2731a7f846e969778333fd9f9c36cdc6f Mon Sep 17 00:00:00 2001 From: Leonhard Applis Date: Wed, 10 Aug 2022 21:08:21 +0200 Subject: [PATCH 03/13] Added a draft for proselyzing by sex --- .../PreceptDefs/Precepts_SexProselytizing.xml | 32 ++++++++++++++++ Source/IdeologyAddon/Ideology/IdeoUtility.cs | 20 ++++++++++ .../Ideology/Patches/RJW_Patch_Ideo.cs | 37 +++++++++++++++++++ Source/IdeologyAddon/Ideology/VariousDefOf.cs | 5 +++ 4 files changed, 94 insertions(+) create mode 100644 1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml diff --git a/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml b/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml new file mode 100644 index 0000000..8afe4c1 --- /dev/null +++ b/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml @@ -0,0 +1,32 @@ + + + + + + Sex_Proselytizing + + UI/Issues/Submissive + + + + Proselyzing_By_Orgasm + Sex_Proselytizing + + Orgasms converts both partners towards this ideology. + Low + 50 + 400 + + + \ No newline at end of file diff --git a/Source/IdeologyAddon/Ideology/IdeoUtility.cs b/Source/IdeologyAddon/Ideology/IdeoUtility.cs index 9414558..2f558de 100644 --- a/Source/IdeologyAddon/Ideology/IdeoUtility.cs +++ b/Source/IdeologyAddon/Ideology/IdeoUtility.cs @@ -34,6 +34,26 @@ namespace RJWSexperience.Ideology } return finalMultiplier; } + internal static void ConvertPawnBySex(Pawn pawn, Pawn partner, float severity = 0.01f) + { + // Important Note: This is called on "orgasm" - hence when a pawn has the orgasm he is the "pawn" here. + // If Bob fucks Alice, Alice has the orgasm and Alice is the Pawn while Bob is the Partner. + // Hence, the Conversion happens from Partner -> Pawn and not the other way round! + + // Short Circuit: Either pawn is null, exit early and do nothing + if (pawn == null || partner == null) return; + bool sameIdeo = pawn.Ideo == partner.Ideo; + // Option A: Partner has same Ideo as Pawn, increase certainty + if (sameIdeo) + { + pawn.ideo.OffsetCertainty(severity); + } + // Option B: Partner as different Ideo, try to convert + else + { + pawn.ideo.IdeoConversionAttempt(severity, partner.Ideo); + } + } public static float getGenitalSize(Pawn p) { diff --git a/Source/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs b/Source/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs index b7c48d6..ddb13db 100644 --- a/Source/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs +++ b/Source/IdeologyAddon/Ideology/Patches/RJW_Patch_Ideo.cs @@ -210,5 +210,42 @@ namespace RJWSexperience.Ideology.Patches ideo = mother?.Ideo; return mother?.Faction ?? baby.Faction; } + + [HarmonyPatch(typeof(JobDriver_Sex), "Roll_Orgasm_Duration_Reset")] + public static class RJW_Patch_Orgasm_IdeoConversion + { + public static void Postfix(JobDriver_Sex __instance) + { + // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation) + // TODO: From my Tests, this does still invoke on masturbation + if (__instance.pawn == null || __instance.Partner == null) + return; + // Orgasm is called "all the time" - it exits early when the sex is still going. + // Hence, we hijack the "Roll_Orgasm_Duration_Reset" which is fired after the real orgasm happened + // But we have to check for one edge case, namely the function is also done when sex is initialized (which we catch by checking for orgasm > 0 + if (__instance.orgasms <= 0) return; + + if (__instance.Partner.Ideo.HasPrecept(VariousDefOf.Proselyzing_By_Orgasm)) + { + // Pawn is the one having the orgasm + // Partner is "giving" the orgasm, hence the pawn will be converted towards the partners ideology + IdeoUtility.ConvertPawnBySex(__instance.pawn, __instance.Partner, 0.03f); + } + } + } + + // TODO: This does not work as intended! + // Something is wrong with this, it's not called correctly.I expect this to be the wrong Harmony Patch Point + [HarmonyPatch(typeof(SexUtility), "Aftersex", new Type[] { typeof(SexProps) })] + public static class RJW_Patch_Aftersex_IdeoConversion + { + // This is not exactly where I should put it (Maybe after The JobDriver_Sex Finishes??) + public static void Postfix(SexProps props) + { + IdeoUtility.ConvertPawnBySex(props.pawn, props.partner, props.orgasms * 0.03f); + } + + } + } } diff --git a/Source/IdeologyAddon/Ideology/VariousDefOf.cs b/Source/IdeologyAddon/Ideology/VariousDefOf.cs index 8d1f5a4..4cce63e 100644 --- a/Source/IdeologyAddon/Ideology/VariousDefOf.cs +++ b/Source/IdeologyAddon/Ideology/VariousDefOf.cs @@ -21,5 +21,10 @@ namespace RJWSexperience.Ideology [MayRequireIdeology] public static readonly PreceptDef BabyFaction_AlwaysColony; [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; } } From 4949c3694b430bd0f6072f825ee6600abb12cff2 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Mon, 10 Oct 2022 20:15:44 +0500 Subject: [PATCH 04/13] 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 05/13] 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 06/13] 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 07/13] 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 08/13] 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 09/13] 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 10/13] 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 From 92e9569e6367b7037d1b568ba2b8be2e0e3a719e Mon Sep 17 00:00:00 2001 From: amevarashi Date: Fri, 14 Oct 2022 22:37:55 +0500 Subject: [PATCH 11/13] Fix namings --- Source/IdeologyAddon/IdeoUtility.cs | 18 ++++++++++-------- .../ThoughtWorker_Precept_GenitalSize.cs | 2 +- ...ThoughtWorker_Precept_GenitalSize_Social.cs | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs index 2f558de..fcbb48b 100644 --- a/Source/IdeologyAddon/IdeoUtility.cs +++ b/Source/IdeologyAddon/IdeoUtility.cs @@ -34,6 +34,7 @@ namespace RJWSexperience.Ideology } return finalMultiplier; } + internal static void ConvertPawnBySex(Pawn pawn, Pawn partner, float severity = 0.01f) { // Important Note: This is called on "orgasm" - hence when a pawn has the orgasm he is the "pawn" here. @@ -41,7 +42,9 @@ namespace RJWSexperience.Ideology // Hence, the Conversion happens from Partner -> Pawn and not the other way round! // Short Circuit: Either pawn is null, exit early and do nothing - if (pawn == null || partner == null) return; + if (pawn == null || partner == null) + return; + bool sameIdeo = pawn.Ideo == partner.Ideo; // Option A: Partner has same Ideo as Pawn, increase certainty if (sameIdeo) @@ -55,28 +58,27 @@ namespace RJWSexperience.Ideology } } - public static float getGenitalSize(Pawn p) + public static float GetGenitalSize(Pawn p) { if (p == null) return 0f; // Iff the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina) - float best_seen_size = 0f; - foreach (Hediff part in rjw.Genital_Helper.get_AllPartsHediffList(p)) + float bestSeenSize = 0f; + foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p)) { // Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts if (Genital_Helper.is_penis(part) || Genital_Helper.is_vagina(part)) { - best_seen_size = part.Severity > best_seen_size ? part.Severity : best_seen_size; + bestSeenSize = part.Severity > bestSeenSize ? part.Severity : bestSeenSize; } } - // For Women, the scale is inverted. if (p.gender == Gender.Female) - return 1 - best_seen_size; + return 1 - bestSeenSize; - return best_seen_size; + return bestSeenSize; } } } diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs index 0f9b135..b99f610 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize.cs @@ -24,7 +24,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers { if (p != null && Genital_Helper.get_AllPartsHediffList(p).Count > 0) { - float bestSize = IdeoUtility.getGenitalSize(p); + float bestSize = IdeoUtility.GetGenitalSize(p); return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); } // This might can happen if the pawn has no genitalia ... maybe? diff --git a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs index 42c6fc5..1780e2d 100644 --- a/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs +++ b/Source/IdeologyAddon/PreceptWorkers/ThoughtWorker_Precept_GenitalSize_Social.cs @@ -25,7 +25,7 @@ namespace RJWSexperience.Ideology.PreceptWorkers { if (otherPawn != null && Genital_Helper.get_AllPartsHediffList(otherPawn).Count > 0) { - float bestSize = IdeoUtility.getGenitalSize(otherPawn); + float bestSize = IdeoUtility.GetGenitalSize(otherPawn); return ThoughtState.ActiveAtStage(StageFromValue.GetStageIndex(bestSize)); } // This might can happen if the pawn has no genitalia ... maybe? From a8218a852d0bd9b9a01bce2984f5aabeba683388 Mon Sep 17 00:00:00 2001 From: amevarashi Date: Sat, 22 Oct 2022 10:12:18 +0500 Subject: [PATCH 12/13] Last 1.3 changes --- 1.3/Assemblies/RJWSexperience.Ideology.dll | Bin 49152 -> 51712 bytes .../PreceptDefs/Precepts_SexProselytizing.xml | 23 +++------ Source/IdeologyAddon/IdeoUtility.cs | 2 +- .../IdeologyAddon/Patches/RJW_Patch_Ideo.cs | 45 +++++------------- Source/IdeologyAddon/VariousDefOf.cs | 3 +- 5 files changed, 21 insertions(+), 52 deletions(-) diff --git a/1.3/Assemblies/RJWSexperience.Ideology.dll b/1.3/Assemblies/RJWSexperience.Ideology.dll index 3ada764bbe8503e058277782e733a99e28fbe536..70baec9f04c16c70ef93b5fa8fc770420566f11a 100644 GIT binary patch literal 51712 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 literal 49152 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 aoG(>ZA*AUT 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 VRomU=e-R45wX2c&zx2`6z~4X@GAaN7 diff --git a/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml b/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml index 8afe4c1..81e0f58 100644 --- a/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml +++ b/1.3/Defs/PreceptDefs/Precepts_SexProselytizing.xml @@ -3,28 +3,17 @@ - Sex_Proselytizing + SexProselytizing UI/Issues/Submissive - - Proselyzing_By_Orgasm - Sex_Proselytizing - - Orgasms converts both partners towards this ideology. - Low + ProselyzingByOrgasm + SexProselytizing + + Giving orgasm converts partner towards this ideology. + Medium 50 400 diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs index fcbb48b..d02dda3 100644 --- a/Source/IdeologyAddon/IdeoUtility.cs +++ b/Source/IdeologyAddon/IdeoUtility.cs @@ -49,7 +49,7 @@ namespace RJWSexperience.Ideology // Option A: Partner has same Ideo as Pawn, increase certainty if (sameIdeo) { - pawn.ideo.OffsetCertainty(severity); + partner.ideo.OffsetCertainty(severity); } // Option B: Partner as different Ideo, try to convert else diff --git a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs index ddb13db..a375f0c 100644 --- a/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs +++ b/Source/IdeologyAddon/Patches/RJW_Patch_Ideo.cs @@ -210,42 +210,23 @@ namespace RJWSexperience.Ideology.Patches ideo = mother?.Ideo; return mother?.Faction ?? baby.Faction; } + } - [HarmonyPatch(typeof(JobDriver_Sex), "Roll_Orgasm_Duration_Reset")] - public static class RJW_Patch_Orgasm_IdeoConversion + [HarmonyPatch(typeof(SexUtility), nameof(SexUtility.SatisfyPersonal))] + public static class RJW_Patch_Orgasm_IdeoConversion + { + public static void Postfix(SexProps props) { - public static void Postfix(JobDriver_Sex __instance) - { - // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation) - // TODO: From my Tests, this does still invoke on masturbation - if (__instance.pawn == null || __instance.Partner == null) - return; - // Orgasm is called "all the time" - it exits early when the sex is still going. - // Hence, we hijack the "Roll_Orgasm_Duration_Reset" which is fired after the real orgasm happened - // But we have to check for one edge case, namely the function is also done when sex is initialized (which we catch by checking for orgasm > 0 - if (__instance.orgasms <= 0) return; + // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation) + if (props.pawn != null && props.hasPartner()) + return; - if (__instance.Partner.Ideo.HasPrecept(VariousDefOf.Proselyzing_By_Orgasm)) - { - // Pawn is the one having the orgasm - // Partner is "giving" the orgasm, hence the pawn will be converted towards the partners ideology - IdeoUtility.ConvertPawnBySex(__instance.pawn, __instance.Partner, 0.03f); - } + if (props.partner.Ideo?.HasPrecept(VariousDefOf.ProselyzingByOrgasm) == true) + { + // Pawn is the one having the orgasm + // Partner is "giving" the orgasm, hence the pawn will be converted towards the partners ideology + IdeoUtility.ConvertPawnBySex(props.pawn, props.partner, 0.03f); } } - - // TODO: This does not work as intended! - // Something is wrong with this, it's not called correctly.I expect this to be the wrong Harmony Patch Point - [HarmonyPatch(typeof(SexUtility), "Aftersex", new Type[] { typeof(SexProps) })] - public static class RJW_Patch_Aftersex_IdeoConversion - { - // This is not exactly where I should put it (Maybe after The JobDriver_Sex Finishes??) - public static void Postfix(SexProps props) - { - IdeoUtility.ConvertPawnBySex(props.pawn, props.partner, props.orgasms * 0.03f); - } - - } - } } diff --git a/Source/IdeologyAddon/VariousDefOf.cs b/Source/IdeologyAddon/VariousDefOf.cs index 8e8456a..52d2180 100644 --- a/Source/IdeologyAddon/VariousDefOf.cs +++ b/Source/IdeologyAddon/VariousDefOf.cs @@ -21,7 +21,6 @@ namespace RJWSexperience.Ideology [MayRequireIdeology] public static readonly PreceptDef BabyFaction_AlwaysColony; [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 ProselyzingByOrgasm; } } From 38f5b6f0ccfd4b6ffda34c2984956b72d119047f Mon Sep 17 00:00:00 2001 From: amevarashi Date: Mon, 24 Oct 2022 19:07:16 +0500 Subject: [PATCH 13/13] 1.0.1.0 --- 1.4/Assemblies/RJWSexperience.Ideology.dll | Bin 0 -> 51712 bytes 1.4/Defs/DutyDefs/Duties_Rituals_sex.xml | 89 +++ 1.4/Defs/Goodwill/MemeCompatibility_Sex.xml | 50 ++ .../Interactions_Speech_sex.xml | 103 +++ 1.4/Defs/JobDefs/Jobs_Ritual_Sex.xml | 47 ++ 1.4/Defs/MemeDefs/Memes_Sexual.xml | 246 ++++++ 1.4/Defs/PreceptDefs/Precepts_BabyFaction.xml | 42 + 1.4/Defs/PreceptDefs/Precepts_Bestiality.xml | 744 ++++++++++++++++++ 1.4/Defs/PreceptDefs/Precepts_Incest.xml | 542 +++++++++++++ .../PreceptDefs/Precepts_Masturbation.xml | 47 ++ 1.4/Defs/PreceptDefs/Precepts_Necrophilia.xml | 309 ++++++++ 1.4/Defs/PreceptDefs/Precepts_Pregnancy.xml | 206 +++++ 1.4/Defs/PreceptDefs/Precepts_Rape.xml | 438 +++++++++++ 1.4/Defs/PreceptDefs/Precepts_Ritual_sex.xml | 118 +++ 1.4/Defs/PreceptDefs/Precepts_Sex.xml | 384 +++++++++ .../PreceptDefs/Precepts_SexProselytizing.xml | 21 + 1.4/Defs/PreceptDefs/Precepts_SizeMatters.xml | 219 ++++++ .../PreceptDefs/Precepts_SocialAffection.xml | 62 ++ 1.4/Defs/PreceptDefs/Precepts_Submissive.xml | 204 +++++ 1.4/Defs/PreceptDefs/Precepts_Virginity.xml | 360 +++++++++ .../RitualPatternDefs/RitualPatterns_sex.xml | 67 ++ .../PreconfiguredIdeos/IdeoPresetDefs_sex.xml | 36 + 1.4/Defs/Rituals/Ritual_Behaviors_sex.xml | 466 +++++++++++ 1.4/Defs/Rituals/Ritual_Outcomes_sex.xml | 400 ++++++++++ 1.4/Defs/Rituals/Ritual_Targets_sex.xml | 15 + 1.4/Defs/ThingDefs/Buildings_Ideo_sex.xml | 134 ++++ .../Thoughts_Ritual_sex_Quality.xml | 115 +++ 1.4/Patches/InteractionDef/Masturbation.xml | 14 + 1.4/Patches/InteractionDef/Necro.xml | 25 + 1.4/Patches/InteractionDef/Rape.xml | 83 ++ 1.4/Patches/InteractionDef/Rape_Reverse.xml | 83 ++ 1.4/Patches/InteractionDef/Sex.xml | 73 ++ 1.4/Patches/InteractionDef/Sex_Reverse.xml | 73 ++ 1.4/Patches/RJW_Drugs.xml | 47 ++ 1.4/Patches/RJW_Precepts.xml | 29 + 1.4/Patches/RJW_StatDefs_Ideo.xml | 14 + 1.4/Patches/RJW_ThoughtDefs.xml | 108 +++ 1.4/Patches/RJW_ThoughtDefsDeath.xml | 68 ++ 1.4/Patches/RJW_ThoughtDefsLost.xml | 68 ++ About/About.xml | 6 +- About/Manifest.xml | 4 +- CHANGELOG.md | 4 + LoadFolders.xml | 11 + Source/IdeologyAddon/IdeologyAddon.csproj | 7 +- Source/IdeologyAddon/Rituals/RitualRoles.cs | 11 +- 45 files changed, 6177 insertions(+), 15 deletions(-) create mode 100644 1.4/Assemblies/RJWSexperience.Ideology.dll create mode 100644 1.4/Defs/DutyDefs/Duties_Rituals_sex.xml create mode 100644 1.4/Defs/Goodwill/MemeCompatibility_Sex.xml create mode 100644 1.4/Defs/InteractionDefs/Interactions_Speech_sex.xml create mode 100644 1.4/Defs/JobDefs/Jobs_Ritual_Sex.xml create mode 100644 1.4/Defs/MemeDefs/Memes_Sexual.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_BabyFaction.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Bestiality.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Incest.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Masturbation.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Necrophilia.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Pregnancy.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Rape.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Ritual_sex.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Sex.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_SexProselytizing.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_SizeMatters.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_SocialAffection.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Submissive.xml create mode 100644 1.4/Defs/PreceptDefs/Precepts_Virginity.xml create mode 100644 1.4/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml create mode 100644 1.4/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml create mode 100644 1.4/Defs/Rituals/Ritual_Behaviors_sex.xml create mode 100644 1.4/Defs/Rituals/Ritual_Outcomes_sex.xml create mode 100644 1.4/Defs/Rituals/Ritual_Targets_sex.xml create mode 100644 1.4/Defs/ThingDefs/Buildings_Ideo_sex.xml create mode 100644 1.4/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml create mode 100644 1.4/Patches/InteractionDef/Masturbation.xml create mode 100644 1.4/Patches/InteractionDef/Necro.xml create mode 100644 1.4/Patches/InteractionDef/Rape.xml create mode 100644 1.4/Patches/InteractionDef/Rape_Reverse.xml create mode 100644 1.4/Patches/InteractionDef/Sex.xml create mode 100644 1.4/Patches/InteractionDef/Sex_Reverse.xml create mode 100644 1.4/Patches/RJW_Drugs.xml create mode 100644 1.4/Patches/RJW_Precepts.xml create mode 100644 1.4/Patches/RJW_StatDefs_Ideo.xml create mode 100644 1.4/Patches/RJW_ThoughtDefs.xml create mode 100644 1.4/Patches/RJW_ThoughtDefsDeath.xml create mode 100644 1.4/Patches/RJW_ThoughtDefsLost.xml create mode 100644 LoadFolders.xml diff --git a/1.4/Assemblies/RJWSexperience.Ideology.dll b/1.4/Assemblies/RJWSexperience.Ideology.dll new file mode 100644 index 0000000000000000000000000000000000000000..f170f559d3dbed5366d47eab3554a1e76dce01b5 GIT binary patch literal 51712 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 Z4oa8kQ%A>#bdEycT`BhG+y9*e{tKw&@U#E` literal 0 HcmV?d00001 diff --git a/1.4/Defs/DutyDefs/Duties_Rituals_sex.xml b/1.4/Defs/DutyDefs/Duties_Rituals_sex.xml new file mode 100644 index 0000000..87b4ade --- /dev/null +++ b/1.4/Defs/DutyDefs/Duties_Rituals_sex.xml @@ -0,0 +1,89 @@ + + + + + Gangbang_Rape + HighPriority + Off + + +
  • + +
  • + 0.25 + +
  • + +
  • +
    + + +
  • + Jog + 50~250 +
  • + +
    +
    + + + Gangbang_Consensual + HighPriority + Off + + +
  • + +
  • + 0.25 + +
  • + +
  • +
    + + +
  • + Jog + 50~250 +
  • + +
    +
    + + + FuckVictim + HighPriority + Off + + +
  • + + + + + + DrugOrgy + HighPriority + Off + + +
  • + +
  • + 0.15 + +
  • + +
  • +
    + + +
  • + Jog + 50~250 +
  • + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/Goodwill/MemeCompatibility_Sex.xml b/1.4/Defs/Goodwill/MemeCompatibility_Sex.xml new file mode 100644 index 0000000..2f21ff1 --- /dev/null +++ b/1.4/Defs/Goodwill/MemeCompatibility_Sex.xml @@ -0,0 +1,50 @@ + + + + + + Zoophile_Zoophile + + GoodwillSituationWorker_MemeCompatibility + Zoophile + Zoophile + 30 + + + + Necrophile_Necrophile + + GoodwillSituationWorker_MemeCompatibility + Necrophile + Necrophile + 30 + + + + + Zoophile_All + + RJWSexperience.Ideology.GoodwillSituationWorker_OneWayReceive + Zoophile + true + -50 + + + + Rapist_All + + RJWSexperience.Ideology.GoodwillSituationWorker_OneWayReceive + Rapist + true + -20 + + + + Necrophile_All + + RJWSexperience.Ideology.GoodwillSituationWorker_OneWayReceive + Necrophile + true + -50 + + diff --git a/1.4/Defs/InteractionDefs/Interactions_Speech_sex.xml b/1.4/Defs/InteractionDefs/Interactions_Speech_sex.xml new file mode 100644 index 0000000..8e90d69 --- /dev/null +++ b/1.4/Defs/InteractionDefs/Interactions_Speech_sex.xml @@ -0,0 +1,103 @@ + + + + + Speech_Gangbang + + InteractionWorker + True + Things/Mote/SpeechSymbols/Speech + +
  • SpeechUtility
  • + +
  • r_logentry->[INITIATOR_nameDef] [spokeof] [speechtopic].
  • +
  • r_logentry(p=0.2)->[INITIATOR_nameDef] [crazy].
  • + +
  • speechtopic->the meaning and true value of rape
  • +
  • speechtopic->expressions of rape
  • +
  • speechtopic->controlled lustful
  • +
  • speechtopic->the warmth of pussy
  • +
  • speechtopic->the meaning of cum
  • +
  • speechtopic->love and rape
  • +
  • speechtopic->symbolizing rape
  • +
  • speechtopic->dick and pussy
  • +
  • speechtopic->the art of rape
  • +
  • speechtopic->the seduction of victim
  • +
  • speechtopic->the music of screams
  • +
  • speechtopic->cums on the floor
  • + +
  • crazy->screamed maniacally
  • +
  • crazy->broke into a chant
  • +
  • crazy->chanted towards the heavens
  • +
  • crazy->spat in the sacrifice's genital
  • +
  • crazy->cackled
  • +
  • crazy->brandished a condom
  • +
  • crazy->muttered repetitively while masturbating
  • +
    +
    +
    + + + Speech_Zoophile + + InteractionWorker + True + Things/Mote/SpeechSymbols/Speech + +
  • SpeechUtility
  • + +
  • r_logentry->[INITIATOR_nameDef] [spokeof] [speechtopic].
  • + +
  • speechtopic->the meaning and true value of bestiality
  • +
  • speechtopic->expressions of bestiality
  • +
  • speechtopic->controlled lustful
  • +
  • speechtopic->the warmth of cum
  • +
  • speechtopic->the meaning of interspecies breeding
  • +
  • speechtopic->animal and love
  • +
  • speechtopic->symbolizing bestiality
  • +
  • speechtopic->breed and birth
  • +
  • speechtopic->the art of breeding
  • +
  • speechtopic->the seduction of animals
  • +
  • speechtopic->cums on the floor
  • +
    +
    +
    + + + + Speech_Lewd + + InteractionWorker + True + Things/Mote/SpeechSymbols/Speech + +
  • SpeechUtility
  • + +
  • r_logentry->[INITIATOR_nameDef] [spokeof] [speechtopic].
  • +
  • r_logentry(p=0.2)->[INITIATOR_nameDef] [crazy].
  • + +
  • speechtopic->the meaning and true value of sex
  • +
  • speechtopic->expressions of sex
  • +
  • speechtopic->uncontrolled lustful
  • +
  • speechtopic->the warmth of pussy
  • +
  • speechtopic->the meaning of cum
  • +
  • speechtopic->love and incest
  • +
  • speechtopic->symbolizing rape
  • +
  • speechtopic->dick and pussy
  • +
  • speechtopic->the art of sex
  • +
  • speechtopic->the seduction of [spokeof]
  • +
  • speechtopic->the music of moan
  • +
  • speechtopic->cums on the floor
  • + +
  • crazy->moaned maniacally
  • +
  • crazy->threw a dildo
  • +
  • crazy->threw an onahole
  • +
  • crazy->chanted towards the heavens
  • +
  • crazy->moaned
  • +
  • crazy->brandished a dildo
  • +
  • crazy->muttered repetitively while masturbating
  • +
    +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/JobDefs/Jobs_Ritual_Sex.xml b/1.4/Defs/JobDefs/Jobs_Ritual_Sex.xml new file mode 100644 index 0000000..3f3151b --- /dev/null +++ b/1.4/Defs/JobDefs/Jobs_Ritual_Sex.xml @@ -0,0 +1,47 @@ + + + + + RapeVictim + RJWSexperience.Ideology.JobDriver_RapeVictim + rapin' victim + false + + + + DrugSex + RJWSexperience.Ideology.JobDriver_SexDrugOrgy + lovin'. + false + + + + GettinDrugSex + RJWSexperience.Ideology.JobDriver_DrugSexReceiver + lovin'. + false + + + + DrugMasturbate + RJWSexperience.Ideology.JobDriver_DrugMasturabate + masturbatin'. + false + + + + Gangbang + RJWSexperience.Ideology.JobDriver_Gangbang + lovin'. + false + + + + GettinGangbang + RJWSexperience.Ideology.JobDriver_GangbangReceiver + gettin' gangbanged. + Never + false + + + \ No newline at end of file diff --git a/1.4/Defs/MemeDefs/Memes_Sexual.xml b/1.4/Defs/MemeDefs/Memes_Sexual.xml new file mode 100644 index 0000000..44f828c --- /dev/null +++ b/1.4/Defs/MemeDefs/Memes_Sexual.xml @@ -0,0 +1,246 @@ + + + + SexualDissolutely + (0.65, 0.23) + 1 + 3000 + + + + SexualDissolutely + + 1.0 + + + + + + + Zoophile + + Animal fuckers. + UI/Commands/Breeding_Pawn_off + 3 + +
  • +
  • Bestiality_Acceptable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • + +
    + + +
  • memeAdjective->bestial
  • +
  • memeAdjective->zoophile
  • +
  • memeHyphenPrefix->bestial
  • +
  • memeConcept->breeding
  • +
  • memeConcept->bestiality
  • +
  • memeConcept->zoophile
  • +
  • memeLeaderNoun->livestock
  • +
    +
    + + + + +
  • creation(tag=meme_Zoophile) ->[deity0_name] loves breeding with beasts.
  • +
  • episode(uses=1,tag=meme_Zoophile) ->[deity0_name] said to all, "Sigmar forbids this!"
  • + +
  • setup(tag=meme_Zoophile) ->Someday, [founderName] was so horny that accidentally fucked with an animal and loved it.
  • +
  • story(uses=1,tag=meme_Zoophile) ->For spreading animals, [founderName] started to breed with animals.
  • + +
  • lessonIntro(tag=meme_Zoophile) ->Someday, i had sex with animal. It was much better than humans!
  • +
  • lesson(tag=meme_Zoophile) ->Only the animals can satisfy me.
  • +
  • lessonReinforcement(tag=meme_Zoophile) ->Breed with animals. It is the eternal hapiness.
  • + +
  • archistBasis(tag=meme_Zoophile) ->Archists are always seeking ultimate pleasure.
  • +
  • archistFact(tag=meme_Zoophile) ->That was breeding with animals.
  • +
  • archistProphecy(tag=meme_Zoophile) ->[inTheEnd], the archotechs will finally unlock the interspecies breeding, so that they may lead ultimate pleasure.
  • + +
  • animistFact(tag=meme_Zoophile) ->The most powerful spirits are those of beasts, and spirits of beasts will be restless unless beasts rule.
  • +
  • animistProphecy(tag=meme_Zoophile) ->[itIsSaid] that a powerful spirit of destruction will seek to end the universe, but that a human-born beast will wield the spirit of the [relic0_name] and destroy the destroyer.
  • +
    +
    +
    + +
  • + Breeders + breed + bestiality + breeder +
  • +
  • + Zoophilia + zoophile + zoophile + zoophiliac +
  • +
    + +
  • Zoophile
  • +
    +
    + + + + Rapist + + Rape is best. + UI/Memes/Rape + 2 + +
  • +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • + +
    + + +
  • memeAdjective->violent
  • +
  • memeAdjective->raping
  • +
  • memeHyphenPrefix->rapist
  • +
  • memeHyphenPrefix->molester
  • +
  • memeHyphenPrefix->pervert
  • +
  • memeConcept->rapist
  • +
  • memeConcept->pervert
  • +
  • r_deityName->slaanesh
  • +
  • memeLeaderNoun->stallion
  • +
  • memeLeaderNoun->grand rapist
  • +
    +
    + + + + +
  • creation(tag=meme_Rapist) ->[deity0_name] loves rape.
  • +
  • episode(uses=1,tag=meme_Rapist) ->[deity0_name] raped everyone until death during rape.
  • + +
  • setup(tag=meme_Rapist) ->[founderName] is always horny.
  • +
  • story(uses=1,tag=meme_Rapist) ->[founderName] raped everyone. No one can stop [founderName]. [founderName] died trying to rape planet.
  • + +
  • lessonIntro(tag=meme_Rapist) ->Rape is best! Rape is best! Rape is best!
  • +
  • lesson(tag=meme_Rapist) ->Rape is best! Rape is best! Rape is best! Rape is best!
  • +
  • lessonReinforcement(tag=meme_Rapist) ->Rape is best! Rape is best! Rape is best! Rape is best! Rape is best!
  • + +
  • archistBasis(tag=meme_Rapist) ->Human history is history of rape.
  • +
  • archistFact(tag=meme_Rapist) ->Even archotechs cannot stop rapists.
  • +
  • archistProphecy(tag=meme_Rapist) ->[inTheEnd], the rapists never stop raping.
  • + +
  • animistFact(tag=meme_Rapist) ->The most powerful spirits are those of rapists, and spirits of rapists will rape all.
  • +
  • animistProphecy(tag=meme_Rapist) ->[itIsSaid] that a powerful spirit of destruction will seek to end the universe, but that a million-raped rapist will wield the spirit of the [relic0_name] and rape the destroyer.
  • +
    +
    +
    + +
  • + Rapists + rapist + raping + rapist +
  • +
  • + Cult of Slaanesh + pleasure + decadent + heretic +
  • +
    + +
  • Rapist
  • +
    +
    + + + Lewd + + Perverts. + UI/Memes/SexualDissolutely + 3 + +
  • Burnbong_Aphrodisiac
  • +
    + +
  • +
  • Lovin_FreeApproved
  • + +
  • +
  • Incestuos_Free
  • + +
  • +
  • Sex_Free
  • +
  • Sex_Promiscuous
  • + +
    + +
  • + DateRitualConsumable + DrugOrgy + Burnbong_Aphrodisiac +
  • +
    + + +
  • memeAdjective->horny
  • +
  • memeAdjective->lewd
  • +
  • memeAdjective->arousing
  • +
  • memeAdjective->sexy
  • +
  • memeAdjective->estrous
  • +
  • memeAdjective->decadent
  • +
  • memeHyphenPrefix->estro
  • +
  • memeHyphenPrefix->lust
  • +
  • memeConcept->lust
  • +
  • memeConcept->libido
  • +
  • memeConcept->estrus
  • +
  • memeConcept->arousal
  • +
  • memeConcept->desire
  • +
  • memeConcept->sex
  • +
  • memeConcept->perversion
  • +
  • r_deityName->slaanesh
  • +
    +
    + +
  • + Cult of Slaanesh + pleasure + decadent + heretic +
  • +
    + +
  • Autobong_Aphrodisiac
  • +
    + +
  • Nymphomaniac
  • +
    +
    + + + Necrophile + + Corpse fuckers. + UI/Memes/Necrophile + 2 + +
  • +
  • Necrophilia_Acceptable
  • +
  • Necrophilia_Approved
  • + +
  • +
  • Corpses_DontCare
  • + +
    + + +
  • r_deityName->sonic
  • +
  • r_deityName->mega man
  • +
  • memeConcept->corpse
  • +
  • memeConcept->dead
  • +
    +
    + +
  • Necrophiliac
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_BabyFaction.xml b/1.4/Defs/PreceptDefs/Precepts_BabyFaction.xml new file mode 100644 index 0000000..e26356c --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_BabyFaction.xml @@ -0,0 +1,42 @@ + + + + + + BabyFaction + + UI/Issues/Birth + + + + + + BabyFaction_AlwaysMother + BabyFaction + + New born babies always follow mother's faction and ideology. + Low + 50 + 1000 + + + + BabyFaction_AlwaysFather + BabyFaction + + New born babies always follow father's faction and ideology(if exists). + Low + 40 + 1000 + + + + BabyFaction_AlwaysColony + BabyFaction + + New born babies are always player's faction and ideology. + Low + 30 + 1000 + + \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Bestiality.xml b/1.4/Defs/PreceptDefs/Precepts_Bestiality.xml new file mode 100644 index 0000000..a6eebe4 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Bestiality.xml @@ -0,0 +1,744 @@ + + + + + + Bestiality + + UI/Commands/Breeding_Pawn_off + + + + RSI_SexWithAnimal + + +
  • + +
  • + + + true + + + RSI_SexWithVeneratedAnimal +
  • +
  • + + + true + + + false + + + RSI_SexWithNonVeneratedAnimal +
  • +
  • + + + true + + + +
  • Bond
  • + + + + RSI_SexWithBondedAnimal + +
  • + + + true + + + +
  • Bond
  • + + + + RSI_SexWithNonBondAnimal + + + +
    +
    + + + RSI_SexWithVeneratedAnimal + + + + + RSI_SexWithNonVeneratedAnimal + + + + + RSI_SexWithBondedAnimal + + + + + RSI_SexWithNonBondAnimal + + + + + + + Bestiality_Abhorrent + Bestiality + + Bestiality beings is deeply evil. + Low + 40 + 100 + 30 + +
  • Zoophile
  • +
    + +
  • HumanPrimacy
  • +
    + +
  • + RSI_SexWithAnimal +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Abhorrent +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Know_Abhorrent +
  • +
  • + RSI_SexWithAnimal + Bestiality_Abhorrent +
  • +
  • + RSI_SexWithAnimal + Bestiality_Know_Abhorrent +
  • +
    + +
  • + +
  • + + + true + + + 0.05 +
  • + + +
    +
    + + + Bestiality_Horrible + Bestiality + + Bestiality is a horrible thing. + Low + 30 + 200 + 30 + +
  • Zoophile
  • +
    + +
  • HumanPrimacy
  • +
    + +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Horrible +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Know_Horrible +
  • +
  • + RSI_SexWithAnimal + Bestiality_Horrible +
  • +
  • + RSI_SexWithAnimal + Bestiality_Know_Horrible +
  • +
    + +
  • + +
  • + + + true + + + 0.1 +
  • + + +
  • + 5.0 +
  • +
    +
    + + + Bestiality_Disapproved + Bestiality + + Bestiality is extremely distasteful. + Low + 20 + 300 + 20 + +
  • Zoophile
  • +
    + +
  • HumanPrimacy
  • +
    + +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Disapproved +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Know_Disapproved +
  • +
  • + RSI_SexWithAnimal + Bestiality_Disapproved +
  • +
  • + RSI_SexWithAnimal + Bestiality_Know_Disapproved +
  • +
    + +
  • + +
  • + + + true + + + 0.5 +
  • + + +
    +
    + + + Bestiality_Acceptable + Bestiality + + Bestiality is a normal, unremarkable part of life. + Medium + 10 + 10 + true + +
  • + 0.75 +
  • +
    +
    + + + + Bestiality_OnlyVenerated + Bestiality + + One who sex with venerated animals should be honored and respected. But having sex with other animals will be denounced + High + 0 + 1000 + +
  • HumanPrimacy
  • +
    + +
  • Zoophile
  • +
    + +
  • + RSI_SexWithNonVeneratedAnimal + Bestiality_Nonvenerated_Disapproved + true +
  • +
  • + RSI_SexWithNonVeneratedAnimal + Bestiality_Nonvenerated_Know_Disapproved + Someone sex with any animal + true +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Honorable + true +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Know_Honorable + Someone sex with animal + true +
  • +
    + +
  • + +
  • + + + true + + + 2.0 +
  • +
  • + + + true + + + false + + + 0.05 +
  • + + +
  • + 0.65 +
  • +
    +
    + + + + Bestiality_BondOnly + Bestiality + + Sex with Bonded animals should be honored and respected. But having sex with other animals will be denounced. + High + 0 + 1000 + +
  • HumanPrimacy
  • +
    + +
  • Zoophile
  • +
    + +
  • + RSI_SexWithNonBondAnimal + Bestiality_NonBonded_Disapproved + true +
  • +
  • + RSI_SexWithNonBondAnimal + Bestiality_NonBonded_Know_Disapproved + Someone sex with any animal + true +
  • +
  • + RSI_SexWithBondedAnimal + Bestiality_Bond_Approved + true +
  • +
  • + RSI_SexWithBondedAnimal + Bestiality_Bond_Approved_Know + Someone sex with non bonded animal + true +
  • +
    + +
  • + +
  • + + + true + + + +
  • Bond
  • + + + + 2.0 + +
  • + + + true + + + +
  • Bond
  • + + + + 0.1 + + + +
  • + 0.5 +
  • +
    +
    + + + Bestiality_Honorable + Bestiality + + One who sex with animals should be encouraged. + High + 0 + 1000 + +
  • HumanPrimacy
  • +
    + +
  • Zoophile
  • +
    + +
  • + RSI_SexWithAnimal + Bestiality_Honorable + true +
  • +
  • + RSI_SexWithAnimal + Bestiality_Know_Honorable + Someone sex with animal + true +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Honorable + true +
  • +
  • + RSI_SexWithVeneratedAnimal + Bestiality_Know_Honorable + Someone sex with animal + true +
  • +
    + +
  • + +
  • + + + true + + + 2.0 +
  • + + +
  • + 0.5 +
  • +
    +
    + + + + + + Bestiality_Abhorrent + 6 + 1 + +
  • Zoophile
  • +
    + +
  • Bestiality_Honorable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + I had sex with animal. I want to die. + -15 +
  • +
    +
    + + + Bestiality_Know_Abhorrent + Thought_MemorySocial + 15 + 100 + 3 + +
  • Zoophile
  • +
    + +
  • Bestiality_Honorable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + -30 +
  • +
    +
    + + + Bestiality_Horrible + 6 + 1 + +
  • Zoophile
  • +
    + +
  • Bestiality_Honorable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + I had sex with animal. I'm not sure I can forgive myself. + -10 +
  • +
    +
    + + + Bestiality_Know_Horrible + Thought_MemorySocial + 15 + 100 + 3 + +
  • Zoophile
  • +
    + +
  • Bestiality_Honorable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + -20 +
  • +
    +
    + + + Bestiality_Disapproved + 6 + 1 + +
  • Zoophile
  • +
    + +
  • Bestiality_Honorable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + I had sex with animal. I hope nothing terrible happens to them. + -5 +
  • +
    +
    + + + Bestiality_Know_Disapproved + Thought_MemorySocial + 15 + 100 + 3 + +
  • Zoophile
  • +
    + +
  • Bestiality_Honorable
  • +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + -10 +
  • +
    +
    + + + Bestiality_Nonvenerated_Disapproved + 6 + 1 + +
  • Bestiality_Honorable
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + I had sex with any animal. I hope nothing terrible happens to them. + -5 +
  • +
    +
    + + + Bestiality_Nonvenerated_Know_Disapproved + Thought_MemorySocial + 15 + 100 + 3 + +
  • Bestiality_Honorable
  • +
  • Bestiality_Acceptable
  • +
    + +
  • + + -10 +
  • +
    +
    + + + Bestiality_NonBonded_Disapproved + 6 + 1 + +
  • Bestiality_Honorable
  • +
  • Bestiality_Acceptable
  • +
  • Bestiality_OnlyVenerated
  • +
    + +
  • + + I had sex with a non bonded animal. How could I? + -5 +
  • +
    +
    + + + Bestiality_Bond_Approved + 6 + 1 + +
  • Bestiality_Abhorrent
  • +
  • Bestiality_Horrible
  • +
  • Bestiality_Disapproved
  • +
    + +
  • + + I went wild with my bonded animal! + 8 +
  • +
    +
    + + + Bestiality_Bond_Approved_Know + Thought_MemorySocial + 15 + 2 + +
  • Bestiality_Abhorrent
  • +
  • Bestiality_Horrible
  • +
  • Bestiality_Disapproved
  • +
    + +
  • + + Shares a special bond. + 5 +
  • +
    +
    + + + Bestiality_NonBonded_Know_Disapproved + Thought_MemorySocial + 15 + 100 + 3 + +
  • Bestiality_Honorable
  • +
  • Bestiality_Acceptable
  • +
  • Bestiality_OnlyVenerated
  • +
    + +
  • + + -10 +
  • +
    +
    + + + Bestiality_Honorable + 6 + 1 + +
  • Bestiality_Abhorrent
  • +
  • Bestiality_Horrible
  • +
  • Bestiality_Disapproved
  • +
    + +
  • + + I had sex with animal. + 4 +
  • +
    +
    + + + Bestiality_Know_Honorable + Thought_MemorySocial + 25 + 100 + 3 + +
  • Bestiality_Abhorrent
  • +
  • Bestiality_Horrible
  • +
  • Bestiality_Disapproved
  • +
    + +
  • + + 5 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Incest.xml b/1.4/Defs/PreceptDefs/Precepts_Incest.xml new file mode 100644 index 0000000..df0e490 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Incest.xml @@ -0,0 +1,542 @@ + + + + + + Incestuos + + UI/Issues/Incest + + + + RSI_CloseRelativeMarriage + + + + + RSI_IncestuosMarriage + + + + + RSI_NonIncestuosMarriage + + +
  • + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • + + + + RSI_CloseRelativeMarriage + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • +
  • GreatGrandparent
  • +
  • GreatGrandchild
  • +
  • GranduncleOrGrandaunt
  • +
  • GrandnephewOrGrandniece
  • +
  • CousinOnceRemoved
  • +
  • SecondCousin
  • +
  • Cousin
  • +
  • Kin
  • + + + + RSI_IncestuosMarriage + + + +
    +
    + + + RSI_CloseRelativeSex + + + + + RSI_IncestuosSex + + + + + RSI_NonIncestuosSex + + +
  • + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • + + + + RSI_CloseRelativeSex + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • +
  • GreatGrandparent
  • +
  • GreatGrandchild
  • +
  • GranduncleOrGrandaunt
  • +
  • GrandnephewOrGrandniece
  • +
  • CousinOnceRemoved
  • +
  • SecondCousin
  • +
  • Cousin
  • +
  • Kin
  • + + + + RSI_IncestuosSex + + + +
    +
    + + + + + Incestuos_Free + Incestuos + + Open minded. + Medium + 60 + 1000 + 100 + + + + Incestuos_Disapproved_CloseOnly + Incestuos + + Incest is disapproved socially. Relations farther than cousin are recognized as not incest. + Low + 50 + 1000 + 100 + +
  • + RSI_CloseRelativeMarriage + IncestuosMarriage_Disapproved +
  • +
  • + RSI_CloseRelativeSex + Sex_Know_Incest_Disapproved +
  • +
    + +
  • + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • + + +
  • Spouse
  • +
    + + + 0.5 + + + +
    +
    + + + Incestuos_Disapproved + Incestuos + + Incest is disapproved socially. + Low + 40 + 1000 + 100 + +
  • + RSI_IncestuosMarriage + IncestuosMarriage_Disapproved +
  • +
  • + RSI_IncestuosMarriage + Sex_Know_IncestMarriage_Disapproved +
  • +
  • + RSI_IncestuosSex + Sex_Know_Incest_Disapproved +
  • +
    + +
  • + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • +
  • GreatGrandparent
  • +
  • GreatGrandchild
  • +
  • GranduncleOrGrandaunt
  • +
  • GrandnephewOrGrandniece
  • +
  • CousinOnceRemoved
  • +
  • SecondCousin
  • +
  • Cousin
  • +
  • Kin
  • + + +
  • Spouse
  • +
    + + + 0.5 + + + +
    +
    + + + Incestuos_Forbidden + Incestuos + + Incest is forbidden. + Low + 30 + 1000 + 100 + +
  • + RSI_IncestuosMarriage + IncestuosMarriage_Forbidden +
  • +
  • + RSI_IncestuosMarriage + Sex_Know_IncestMarriage_Forbidden +
  • +
  • + RSI_IncestuosSex + Sex_Know_Incest_Forbidden +
  • +
    + +
  • + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • +
  • GreatGrandparent
  • +
  • GreatGrandchild
  • +
  • GranduncleOrGrandaunt
  • +
  • GrandnephewOrGrandniece
  • +
  • CousinOnceRemoved
  • +
  • SecondCousin
  • +
  • Cousin
  • +
  • Kin
  • + + +
  • Spouse
  • +
    + + + 0.1 + + + +
    +
    + + + Incestuos_IncestOnly + Incestuos + + For preserving pure blood, only incest allowed. + High + 0 + 1000 + +
  • Zoophile
  • +
    + +
  • + RSI_NonIncestuosMarriage + Sex_Know_IncestMarriage_Violated +
  • +
  • + RSI_NonIncestuosSex + Sex_Know_Incest_Violated +
  • +
    + +
  • + +
  • + + + +
  • Parent
  • +
  • Child
  • +
  • Sibling
  • +
  • HalfSibling
  • +
  • Grandparent
  • +
  • Grandchild
  • +
  • NephewOrNiece
  • +
  • UncleOrAunt
  • +
  • GreatGrandparent
  • +
  • GreatGrandchild
  • +
  • GranduncleOrGrandaunt
  • +
  • GrandnephewOrGrandniece
  • +
  • CousinOnceRemoved
  • +
  • SecondCousin
  • +
  • Cousin
  • +
  • Kin
  • + + + + 2.0 + + + +
    +
    + + + + + IncestuosMarriage_Forbidden + 30 + 1 + +
  • Psychopath
  • +
  • Nymphomaniac
  • +
    + +
  • Incestuos_IncestOnly
  • +
  • Incestuos_Free
  • +
    + +
  • + + No one bless our marriage. + -10 +
  • +
    +
    + + + IncestuosMarriage_Disapproved + 30 + 1 + +
  • Psychopath
  • +
  • Nymphomaniac
  • +
    + +
  • Incestuos_IncestOnly
  • +
  • Incestuos_Free
  • +
    + +
  • + + They are speaking behind our back. + -5 +
  • +
    +
    + + + Sex_Know_Incest_Disapproved + Thought_MemorySocial + 15 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • Incestuos_IncestOnly
  • +
  • Incestuos_Free
  • +
    + +
  • + + -15 +
  • +
    +
    + + + Sex_Know_Incest_Forbidden + Thought_MemorySocial + 15 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • Incestuos_IncestOnly
  • +
  • Incestuos_Free
  • +
    + +
  • + + -30 +
  • +
    +
    + + + Sex_Know_IncestMarriage_Disapproved + Thought_MemorySocial + 60 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • Incestuos_IncestOnly
  • +
  • Incestuos_Free
  • +
    + +
  • + + -15 +
  • +
    +
    + + + Sex_Know_IncestMarriage_Forbidden + Thought_MemorySocial + 60 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • Incestuos_IncestOnly
  • +
  • Incestuos_Free
  • +
    + +
  • + + -30 +
  • +
    +
    + + + Sex_Know_Incest_Violated + Thought_MemorySocial + 15 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • Incestuos_Disapproved_CloseOnly
  • +
  • Incestuos_Disapproved
  • +
  • Incestuos_Forbidden
  • +
  • Incestuos_Free
  • +
    + +
  • + + -15 +
  • +
    +
    + + + Sex_Know_IncestMarriage_Violated + Thought_MemorySocial + 300 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • Incestuos_Disapproved_CloseOnly
  • +
  • Incestuos_Disapproved
  • +
  • Incestuos_Forbidden
  • +
  • Incestuos_Free
  • +
    + +
  • + + -50 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Masturbation.xml b/1.4/Defs/PreceptDefs/Precepts_Masturbation.xml new file mode 100644 index 0000000..5951b94 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Masturbation.xml @@ -0,0 +1,47 @@ + + + + + + Masturbation + + UI/Issues/Bestiality + + + + RSI_Masturbated + + + + + + Masturbation_Abhorrent + Masturbation + + Masturbation is unacceptable. + Medium + 40 + 100 + +
  • + RSI_Masturbated +
  • +
    +
    + + + Masturbation_Disapproved + Masturbation + + Masturbation is somewhat shameful. + Low + 20 + 100 + +
  • + 2.0 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Necrophilia.xml b/1.4/Defs/PreceptDefs/Precepts_Necrophilia.xml new file mode 100644 index 0000000..1a65c24 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Necrophilia.xml @@ -0,0 +1,309 @@ + + + + + + Necrophilia + + UI/Issues/Necrophilia + + + + RSI_SexWithCorpse + + + + + + + Necrophilia_Abhorrent + Necrophilia + + Necrophilia beings is deeply evil. + Low + 40 + 100 + 30 + +
  • Necrophile
  • +
    + +
  • + RSI_SexWithCorpse +
  • +
  • + RSI_SexWithCorpse + Necrophilia_Abhorrent +
  • +
  • + RSI_SexWithCorpse + Necrophilia_Know_Abhorrent +
  • +
    +
    + + + Necrophilia_Horrible + Necrophilia + + Necrophilia is a horrible thing. + Low + 30 + 200 + 30 + +
  • Necrophile
  • +
    + +
  • + RSI_SexWithCorpse + Necrophilia_Horrible +
  • +
  • + RSI_SexWithCorpse + Necrophilia_Know_Horrible +
  • +
    + +
  • + 8.0 +
  • +
    +
    + + + Necrophilia_Disapproved + Necrophilia + + Necrophilia is extremely distasteful. + Low + 20 + 300 + 20 + +
  • Necrophile
  • +
    + +
  • + RSI_SexWithCorpse + Necrophilia_Disapproved +
  • +
  • + RSI_SexWithCorpse + Necrophilia_Know_Disapproved +
  • +
    +
    + + + Necrophilia_Acceptable + Necrophilia + + Necrophilia is a normal, unremarkable part of life. + Medium + 10 + 10 + true + +
  • Necrophile
  • +
    + +
  • + 0.75 +
  • +
    +
    + + + Necrophilia_Approved + Necrophilia + + Fucking corpse is approval. + High + 0 + 1000 + +
  • Necrophile
  • +
  • Lewd
  • +
    + +
  • + RSI_SexWithCorpse + Necrophilia_Approved +
  • +
  • + RSI_SexWithCorpse + Necrophilia_Know_Approved +
  • +
    + +
  • + 0.5 +
  • +
    +
    + + + + + + Necrophilia_Abhorrent + 6 + 1 + +
  • Necrophiliac
  • +
    + +
  • Necrophilia_Approved
  • +
  • Necrophilia_Acceptable
  • +
    + +
  • + + I had fucked corpse. + -15 +
  • +
    +
    + + + Necrophilia_Know_Abhorrent + Thought_MemorySocial + 15 + 100 + 3 + +
  • Necrophiliac
  • +
    + +
  • Necrophilia_Approved
  • +
  • Necrophilia_Acceptable
  • +
    + +
  • + + -30 +
  • +
    +
    + + + Necrophilia_Horrible + 6 + 1 + +
  • Necrophiliac
  • +
    + +
  • Necrophilia_Approved
  • +
  • Necrophilia_Acceptable
  • +
    + +
  • + + I had fucked corpse. + -10 +
  • +
    +
    + + + Necrophilia_Know_Horrible + Thought_MemorySocial + 15 + 100 + 3 + +
  • Necrophiliac
  • +
    + +
  • Necrophilia_Approved
  • +
  • Necrophilia_Acceptable
  • +
    + +
  • + + -20 +
  • +
    +
    + + + Necrophilia_Disapproved + 6 + 1 + +
  • Necrophiliac
  • +
    + +
  • Necrophilia_Approved
  • +
  • Necrophilia_Acceptable
  • +
    + +
  • + + I had fucked corpse. + -5 +
  • +
    +
    + + + Necrophilia_Know_Disapproved + Thought_MemorySocial + 15 + 100 + 3 + +
  • Necrophiliac
  • +
    + +
  • Necrophilia_Approved
  • +
  • Necrophilia_Acceptable
  • +
    + +
  • + + -10 +
  • +
    +
    + + + Necrophilia_Approved + 6 + 1 + +
  • Necrophilia_Abhorrent
  • +
  • Necrophilia_Horrible
  • +
  • Necrophilia_Disapproved
  • +
    + +
  • + + I had fucked corpse. + 4 +
  • +
    +
    + + + Necrophilia_Know_Approved + Thought_MemorySocial + 25 + 100 + 3 + +
  • Necrophilia_Abhorrent
  • +
  • Necrophilia_Horrible
  • +
  • Necrophilia_Disapproved
  • +
    + +
  • + + 5 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Pregnancy.xml b/1.4/Defs/PreceptDefs/Precepts_Pregnancy.xml new file mode 100644 index 0000000..7e5b69f --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Pregnancy.xml @@ -0,0 +1,206 @@ + + + + + + + + + Pregnancy + + UI/Issues/Birth + + + + + Pregnancy_Holy + Pregnancy + + To be pregnant is a duty worthy of respect. Women carry our society into the next generation. + Medium + 10 + +
  • + Pregnancy_Respected_Pregnant +
  • +
  • + Pregnancy_Respected_Pregnant_Social +
  • +
    +
    + + + Pregnancy_Elevated + Pregnancy + + Being pregnant is considered noble. + Low + 20 + +
  • + Pregnancy_Elevated_Pregnant +
  • +
  • + Pregnancy_Elevated_Pregnant_Social +
  • +
    +
    + + + Pregnancy_NoRules + Pregnancy + + There are no thoughts about pregnancy. + Low + 30 + + + + + + Pregnancy_Required + Pregnancy + High + 40 + + Women should be pregnant - those who are not, are seen unworthy. + +
  • + Pregnancy_Respected_Pregnant +
  • +
  • + Pregnancy_Respected_Pregnant_Social +
  • +
  • + Pregnancy_Horrible_NonPregnant +
  • +
  • + Pregnancy_Horrible_NonPregnant_Social +
  • +
    +
    + + + Pregnancy_Horrible + Pregnancy + Low + 50 + + Being Pregnant is unclean. Take care and stay pure. + +
  • + Pregnancy_Horrible_Pregnant +
  • +
  • + Pregnancy_Horrible_Pregnant_Social +
  • +
    +
    + + + + + Pregnancy_Respected_Pregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant + Thought_Situational + +
  • + + I am pregnant. This makes me a pillar of society. + 5 +
  • +
    +
    + + + Pregnancy_Elevated_Pregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant + Thought_Situational + +
  • + + I am soon making our colony stronger. + 10 +
  • +
    +
    + + + Pregnancy_Respected_Pregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social + Thought_SituationalSocial + +
  • + + 10 +
  • +
    +
    + + + Pregnancy_Elevated_Pregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social + Thought_SituationalSocial + +
  • + + 20 +
  • +
    +
    + + + Pregnancy_Horrible_Pregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social + Thought_SituationalSocial + +
  • + + -20 +
  • +
    +
    + + + Pregnancy_Horrible_Pregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant + Thought_Situational + +
  • + + How did I end up like this? I never wanted to be pregnant! + -10 +
  • +
    +
    + + + + Pregnancy_Horrible_NonPregnant + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_NonPregnant + Thought_Situational + true + Female + +
  • + + I wish to be pregnant. + -6 +
  • +
    +
    + + + Pregnancy_Horrible_NonPregnant_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_NonPregnant_Social + Thought_SituationalSocial + Female + +
  • + + -5 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Rape.xml b/1.4/Defs/PreceptDefs/Precepts_Rape.xml new file mode 100644 index 0000000..da2cfd4 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Rape.xml @@ -0,0 +1,438 @@ + + + + + + Rape + + UI/Issues/Rape + + + + RSI_Raped + + +
  • + +
  • + + + true + + + RSI_RapedSlave +
  • +
  • + + + true + + + RSI_RapedPrisoner +
  • + + +
    +
    + + + RSI_RapedSlave + + + + + RSI_RapedPrisoner + + + + + RSI_WasRaped + + +
  • + +
  • + + + true + + + RSI_WasRapedSlave +
  • +
  • + + + true + + + RSI_WasRapedPrisoner +
  • + + +
    +
    + + + RSI_WasRapedSlave + + + + + RSI_WasRapedPrisoner + + + + + + + Rape_Abhorrent + Rape + + Rape beings is deeply evil. + Low + 40 + 1000 + 30 + +
  • RapeBad
  • +
    + +
  • Rapist
  • +
    + +
  • HumanPrimacy
  • +
  • Collectivist
  • +
    + +
  • + RSI_Raped +
  • +
  • + RSI_Raped + Rape_Abhorrent +
  • +
  • + RSI_Raped + Rape_Know_Abhorrent + Someone raped other +
  • +
  • + RSI_RapedPrisoner + Rape_Horrible + Raped prisoner +
  • +
  • + RSI_RapedPrisoner + Rape_Know_Horrible + Someone raped prisoner +
  • +
  • + RSI_RapedSlave + Rape_Disapproved + Raped slave +
  • +
  • + RSI_RapedSlave + Rape_Know_Disapproved + Someone raped slave +
  • +
    +
    + + + Rape_Horrible + Rape + + Raping other is a horrible thing. + Low + 30 + 1000 + 30 + +
  • RapeBad
  • +
    + +
  • Rapist
  • +
    + +
  • HumanPrimacy
  • +
    + +
  • + RSI_Raped + Rape_Horrible +
  • +
  • + RSI_Raped + Rape_Know_Horrible + Someone raped other +
  • +
  • + RSI_RapedPrisoner + Rape_Disapproved + Raped prisoner +
  • +
  • + RSI_RapedPrisoner + Rape_Know_Disapproved + Someone raped prisoner +
  • +
    + +
  • + 3.0 +
  • +
    +
    + + + Rape_Disapproved + Rape + + Rape is part of life, though it is extremely distasteful. + Medium + 20 + 1000 + 20 + +
  • RapeBad
  • +
    + +
  • Rapist
  • +
    + +
  • HumanPrimacy
  • +
    + +
  • + RSI_Raped + Rape_Disapproved +
  • +
  • + RSI_Raped + Rape_Know_Disapproved + Someone raped other +
  • +
    +
    + + + Rape_Acceptable + Rape + + Rape is a normal, unremarkable part of life. + High + 10 + 10 + true + +
  • + 0.75 +
  • +
    +
    + + + Rape_Honorable + Rape + + Raping is one of proud behavior. + High + 0 + 1000 + +
  • HumanPrimacy
  • +
    + +
  • Rapist
  • +
    + + 0.75 + + +
  • + RSI_Raped + BloodlustStoleSomeLovin + true +
  • +
  • + RSI_Raped + Rape_Know_Honorable + Someone raped other + true +
  • +
  • + RSI_RapedPrisoner + BloodlustStoleSomeLovin + true +
  • +
  • + RSI_RapedPrisoner + Rape_Know_Honorable + Someone raped other + true +
  • +
  • + RSI_RapedSlave + BloodlustStoleSomeLovin + true +
  • +
  • + RSI_RapedSlave + Rape_Know_Honorable + Someone raped other + true +
  • +
    + +
  • + 0.5 +
  • +
    +
    + + + + + + Rape_Abhorrent + 6 + 1 + +
  • Rapist
  • +
    + +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • +
    + +
  • + + I raped someone. I shouldn't do that. + -5 +
  • +
    +
    + + + Rape_Know_Abhorrent + Thought_MemorySocial + 15 + 100 + 3 + +
  • Rapist
  • +
    + +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • +
    + +
  • + + -30 +
  • +
    +
    + + + Rape_Horrible + 6 + 1 + +
  • Rapist
  • +
    + +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • +
    + +
  • + + I raped someone. I shouldn't do that. + -3 +
  • +
    +
    + + + Rape_Know_Horrible + Thought_MemorySocial + 15 + 100 + 3 + +
  • Rapist
  • +
    + +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • +
    + +
  • + + -15 +
  • +
    +
    + + + Rape_Disapproved + 6 + 1 + +
  • Rapist
  • +
    + +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • +
    + +
  • + + I raped someone. I shouldn't do that. + -1 +
  • +
    +
    + + + Rape_Know_Disapproved + Thought_MemorySocial + 15 + 100 + 3 + +
  • Rapist
  • +
    + +
  • Rape_Honorable
  • +
  • Rape_Acceptable
  • +
    + +
  • + + -5 +
  • +
    +
    + + + Rape_Know_Honorable + Thought_MemorySocial + 25 + 100 + 3 + +
  • Rape_Abhorrent
  • +
  • Rape_Disapproved
  • +
    + +
  • + + 1 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Ritual_sex.xml b/1.4/Defs/PreceptDefs/Precepts_Ritual_sex.xml new file mode 100644 index 0000000..636b5d1 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Ritual_sex.xml @@ -0,0 +1,118 @@ + + + + + GangbangCeremony + + A ritualistic gangbang where a initiator rape a victim. The audience will rape as the initiator. + Ritual + Medium + UI/Issues/Gangbang + Precept_Ritual + Gangbang + true + false + 1.0 + 100 + false + true + false + +
  • RapeBad
  • +
    + +
  • Rapist
  • +
    +
    + + + GangbangCeremony_Consensual + + A ritualistic gangbang where a organizer being fucked. The audience will fuck the organizer. + Ritual + Medium + UI/Issues/Gangbang_Consensual + Precept_Ritual + Gangbang_Consensual + true + false + 1.0 + 100 + false + true + false + +
  • Lewd
  • +
    +
    + + + AnimalGangbangCeremony + + A ritualistic gangbang where animals rape a victim. + Ritual + Medium + UI/Commands/Breeding_Pawn_off + Precept_Ritual + GangbangByAnimal + true + false + 1.0 + 100 + false + true + false + +
  • + +
  • Rapist
  • +
  • Zoophile
  • + + +
    +
    + + + AnimalGangbangCeremony_Consensual + + A ritualistic gangbang where animals fuck the organizer. + Ritual + Medium + UI/Commands/Breeding_Pawn_on + Precept_Ritual + GangbangByAnimal_Consensual + true + false + 1.0 + 100 + false + true + false + +
  • Zoophile
  • +
    +
    + + + + + DrugOrgyCeremony + + An orgy using massive aphrodisiac. + Ritual + Medium + UI/Issues/Gangbang + Precept_Ritual + DrugOrgy + true + false + 1.0 + 100 + false + true + false + +
  • Lewd
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Sex.xml b/1.4/Defs/PreceptDefs/Precepts_Sex.xml new file mode 100644 index 0000000..8cf05e4 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Sex.xml @@ -0,0 +1,384 @@ + + + + + + Sextype + + UI/Issues/Bestiality + + + + RSI_VaginalSex + + + + + RSI_AnalSex + + + + + RSI_OralSex + + + + + RSI_PromiscuousSex + + + + + RSI_MiscSex + + + + + + Sex_Free + Sextype + + Open minded. + Low + 50 + 1000 + 100 + + + + Sex_VaginalOnly + Sextype + + Only vaginal sex is approval and others are crude. + Low + 40 + 1000 + 100 + +
  • + RSI_AnalSex +
  • +
  • + RSI_AnalSex + Sex_Promiscuous +
  • +
  • + RSI_AnalSex + Sex_Know_Promiscuous +
  • +
  • + RSI_OralSex +
  • +
  • + RSI_OralSex + Sex_Promiscuous +
  • +
  • + RSI_OralSex + Sex_Know_Promiscuous +
  • +
  • + RSI_MiscSex +
  • +
  • + RSI_MiscSex + Sex_Promiscuous +
  • +
  • + RSI_MiscSex + Sex_Know_Promiscuous +
  • +
  • + RSI_PromiscuousSex +
  • +
  • + RSI_PromiscuousSex + Sex_Promiscuous +
  • +
  • + RSI_PromiscuousSex + Sex_Know_Promiscuous +
  • +
    +
    + + + Sex_AnalOnly + Sextype + + Only anal sex is approval and others are crude. + Medium + 30 + 1000 + 10 + +
  • + RSI_VaginalSex +
  • +
  • + RSI_VaginalSex + Sex_Promiscuous +
  • +
  • + RSI_VaginalSex + Sex_Know_Promiscuous +
  • +
  • + RSI_OralSex +
  • +
  • + RSI_OralSex + Sex_Promiscuous +
  • +
  • + RSI_OralSex + Sex_Know_Promiscuous +
  • +
  • + RSI_MiscSex +
  • +
  • + RSI_MiscSex + Sex_Promiscuous +
  • +
  • + RSI_MiscSex + Sex_Know_Promiscuous +
  • +
  • + RSI_PromiscuousSex +
  • +
  • + RSI_PromiscuousSex + Sex_Promiscuous +
  • +
  • + RSI_PromiscuousSex + Sex_Know_Promiscuous +
  • +
    +
    + + + Sex_OralOnly + Sextype + + Only oral sex is approval and others are crude. + Medium + 20 + 1000 + 5 + +
  • + RSI_VaginalSex +
  • +
  • + RSI_VaginalSex + Sex_Promiscuous +
  • +
  • + RSI_VaginalSex + Sex_Know_Promiscuous +
  • +
  • + RSI_AnalSex +
  • +
  • + RSI_AnalSex + Sex_Promiscuous +
  • +
  • + RSI_AnalSex + Sex_Know_Promiscuous +
  • +
  • + RSI_MiscSex +
  • +
  • + RSI_MiscSex + Sex_Promiscuous +
  • +
  • + RSI_MiscSex + Sex_Know_Promiscuous +
  • +
  • + RSI_PromiscuousSex +
  • +
  • + RSI_PromiscuousSex + Sex_Promiscuous +
  • +
  • + RSI_PromiscuousSex + Sex_Know_Promiscuous +
  • +
    +
    + + + Sex_Promiscuous + Sextype + + Messy sex life is approved. + High + 0 + 1000 + + 1.5 + 1.25 + + +
  • + RSI_VaginalSex +
  • +
  • + RSI_VaginalSex + Sex_NonPromiscuous +
  • +
  • + RSI_VaginalSex + Sex_Know_NonPromiscuous +
  • +
  • + RSI_AnalSex +
  • +
  • + RSI_AnalSex + Sex_NonPromiscuous +
  • +
  • + RSI_AnalSex + Sex_Know_NonPromiscuous +
  • +
  • + RSI_OralSex +
  • +
  • + RSI_OralSex + Sex_NonPromiscuous +
  • +
  • + RSI_OralSex + Sex_Know_NonPromiscuous +
  • +
  • + RSI_MiscSex +
  • +
  • + RSI_MiscSex + Sex_NonPromiscuous +
  • +
  • + RSI_MiscSex + Sex_Know_NonPromiscuous +
  • +
  • + RSI_PromiscuousSex + Sex_Know_Promiscuous_Approval +
  • +
    +
    + + + + + + + Sex_Promiscuous + 1 + 1 + RJWSexperience.Ideology.Thought_IncreaseRecord + +
  • + + I was immoral. It makes me aroused. + 5 +
  • +
    + +
  • + Lust + 3.0 +
  • +
    +
    + + + Sex_NonPromiscuous + 1 + 1 + +
  • + + It cannot satisfy me. + -1 +
  • +
    +
    + + + Sex_Know_Promiscuous + Thought_MemorySocial + 15 + 100 + 3 + +
  • Nymphomaniac
  • +
  • Zoophile
  • +
  • Rapist
  • +
  • Necrophiliac
  • +
  • Gay
  • +
  • Bisexual
  • +
    + +
  • Sex_Free
  • +
  • Sex_Promiscuous
  • +
    + +
  • + + -10 +
  • +
    +
    + + + Sex_Know_Promiscuous_Approval + Thought_MemorySocial + 15 + 100 + 3 + +
  • Sex_VaginalOnly
  • +
  • Sex_AnalOnly
  • +
  • Sex_OralOnly
  • +
    + +
  • + + 3 +
  • +
    +
    + + + Sex_Know_NonPromiscuous + Thought_MemorySocial + 15 + 100 + 3 + +
  • Sex_VaginalOnly
  • +
  • Sex_AnalOnly
  • +
  • Sex_OralOnly
  • +
  • Sex_Free
  • +
    + +
  • + + -3 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_SexProselytizing.xml b/1.4/Defs/PreceptDefs/Precepts_SexProselytizing.xml new file mode 100644 index 0000000..81e0f58 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_SexProselytizing.xml @@ -0,0 +1,21 @@ + + + + + + SexProselytizing + + UI/Issues/Submissive + + + + ProselyzingByOrgasm + SexProselytizing + + Giving orgasm converts partner towards this ideology. + Medium + 50 + 400 + + + \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_SizeMatters.xml b/1.4/Defs/PreceptDefs/Precepts_SizeMatters.xml new file mode 100644 index 0000000..c060ec4 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_SizeMatters.xml @@ -0,0 +1,219 @@ + + + + + + GenitalSize + + UI/Memes/SexualDissolutely + + + + + + GenitalSize_Big_Better + GenitalSize + The size matters. + + High + 20 + 200 + +
  • + GenitalSize_Approved +
  • +
  • + GenitalSize_Approved_Social +
  • +
    +
    + + + GenitalSize_NoRules + GenitalSize + The size is unimportant. + + High + 10 + 100 + + + + + + GenitalSize_Smaller_Better + GenitalSize + The greeks actually believed, that a big genital is an animalistic feature. Important members are known for their small genitals. + + High + 30 + 200 + +
  • + GenitalSize_Disapproved +
  • +
  • + GenitalSize_Disapproved_Social +
  • +
    +
    + + + + + GenitalSize_Approved + Thought_Situational + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize + +
  • + + I ... I am okay the way I am! + -10 +
  • +
  • + + I think I am below average. + -5 +
  • +
  • + + I guess I am the average. + 0 +
  • +
  • + + I think I am above average. + +5 +
  • +
  • + + Don't want to be the elephant in the room, but parts of me are. + +10 +
  • +
    + +
  • + + +
  • 0
  • +
  • 0.2
  • +
  • 0.4
  • +
  • 0.6
  • +
  • 0.8
  • + + +
    +
    + + + GenitalSize_Disapproved + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize + Thought_Situational + +
  • + + I do not need great genitals, as I am a being of supreme intellect and grace. + +10 +
  • +
  • + + I think I am below average. + +5 +
  • +
  • + + I guess I am the average. + 0 +
  • +
  • + + I think I am above average. + -5 +
  • +
  • + + I am closer to an animal, than to a human. Why did I have to be born this way? + -10 +
  • +
    + +
  • + + +
  • 0
  • +
  • 0.2
  • +
  • 0.4
  • +
  • 0.6
  • +
  • 0.8
  • + + +
    +
    + + + + + GenitalSize_Approved_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social + Thought_SituationalSocial + +
  • + + -5 +
  • +
  • + + 0 +
  • +
  • + + +5 +
  • +
    + +
  • + + +
  • 0
  • +
  • 0.4
  • +
  • 0.6
  • + + +
    +
    + + + GenitalSize_Disapproved_Social + RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social + Thought_SituationalSocial + +
  • + + +5 +
  • +
  • + + 0 +
  • +
  • + + -5 +
  • +
    + +
  • + + +
  • 0
  • +
  • 0.4
  • +
  • 0.6
  • + + +
    +
    + +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_SocialAffection.xml b/1.4/Defs/PreceptDefs/Precepts_SocialAffection.xml new file mode 100644 index 0000000..b4ee222 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_SocialAffection.xml @@ -0,0 +1,62 @@ + + + + + + SocialAffection + + UI/Issues/SocialAffection + + + + + + SocialAffection_Normal + SocialAffection + + Just normal. + Low + 50 + 1000 + + + + SocialAffection_Small + SocialAffection + + Care about only immediate family. + Medium + 40 + 1000 + + + + SocialAffection_OnlyFamily + SocialAffection + + Don't care about non-family memeber's tragedy. + Medium + 30 + 1000 + + + + SocialAffection_Dry + SocialAffection + + Don't care about family memeber's tragedy. + High + 20 + 1000 + + + + SocialAffection_Psychopath + SocialAffection + + Don't care about others. + High + 10 + 1000 + + \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Submissive.xml b/1.4/Defs/PreceptDefs/Precepts_Submissive.xml new file mode 100644 index 0000000..e69c135 --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Submissive.xml @@ -0,0 +1,204 @@ + + + + + + Submissive + + UI/Issues/Submissive + + + + + + Submissive_None + Submissive + + Just normal. + Low + 50 + 1000 + + + + Submissive_Male + Submissive + + Males are submissive. They will obey and accept even being raped. + High + 40 + 1000 + +
  • FemaleSupremacy
  • +
    + +
  • + RSI_Raped + Male +
  • +
  • + RSI_WasRaped + BeenRaped_Submissive + Male +
  • +
  • + RSI_WasRaped + BeenRaped_NotSubmissive + Female +
  • +
  • + RSI_Raped + Raped_Know_NotBeingSubmissive + Male +
  • +
  • + RSI_WasRapedPrisoner + BeenRaped_Submissive + Male +
  • +
  • + RSI_WasRapedPrisoner + BeenRaped_NotSubmissive + Female +
  • +
  • + RSI_RapedPrisoner + Raped_Know_NotBeingSubmissive + Male +
  • +
  • + RSI_WasRapedSlave + BeenRaped_Submissive + Male +
  • +
  • + RSI_WasRapedSlave + BeenRaped_NotSubmissive + Female +
  • +
  • + RSI_RapedSlave + Raped_Know_NotBeingSubmissive + Male +
  • +
    +
    + + + Submissive_Female + Submissive + + Females are submissive. They will obey and accept even being raped. + High + 30 + 1000 + +
  • MaleSupremacy
  • +
    + +
  • + RSI_Raped + Female +
  • +
  • + RSI_WasRaped + BeenRaped_Submissive + Female +
  • +
  • + RSI_WasRaped + BeenRaped_NotSubmissive + Male +
  • +
  • + RSI_Raped + Raped_Know_NotBeingSubmissive + Female +
  • +
  • + RSI_WasRapedPrisoner + BeenRaped_Submissive + Female +
  • +
  • + RSI_WasRapedPrisoner + BeenRaped_NotSubmissive + Male +
  • +
  • + RSI_RapedPrisoner + Raped_Know_NotBeingSubmissive + Female +
  • +
  • + RSI_WasRapedSlave + BeenRaped_Submissive + Female +
  • +
  • + RSI_WasRapedSlave + BeenRaped_NotSubmissive + Male +
  • +
  • + RSI_RapedSlave + Raped_Know_NotBeingSubmissive + Female +
  • +
    +
    + + + + + + BeenRaped_Submissive + 10 + 100 + Thought_Memory + 0.4 + +
  • Masochist
  • +
    + +
  • + + I had to accept. But i don't feel so good. + -3 +
  • +
    +
    + + + BeenRaped_NotSubmissive + 15 + 100 + Thought_MemorySocial + 0.4 + +
  • Masochist
  • +
    + +
  • + + How dare... + -30 + -200 +
  • +
    +
    + + + Raped_Know_NotBeingSubmissive + Thought_MemorySocial + 15 + 100 + 3 + +
  • + + -30 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/Precepts_Virginity.xml b/1.4/Defs/PreceptDefs/Precepts_Virginity.xml new file mode 100644 index 0000000..a7a231a --- /dev/null +++ b/1.4/Defs/PreceptDefs/Precepts_Virginity.xml @@ -0,0 +1,360 @@ + + + + + Virginity_Female + + UI/Issues/Female + + + + Virginity_Male + + UI/Issues/Male + + + + RSI_VirginTaken + + +
  • + +
  • + + + +
  • Spouse
  • + + + + RSI_VirginTakenNotSpouse + + + +
    +
    + + + RSI_TookVirgin + + + + + RSI_VirginStolen + + + + + RSI_VirginTakenNotSpouse + + + + + + + Virgin_UselessF + Virginity_Female + + Female's virginity is useless. + Medium + 50 + 1000 + 10 + + + + Virgin_UselessM + Virginity_Male + + Male's virginity is useless. + Low + 50 + 1000 + 80 + + + + Virgin_PreciousF + Virginity_Female + + Female's virginity is precious. + Medium + 40 + 1000 + 80 + +
  • + RSI_VirginStolen + Virgin_Precious_Taken_Forcefully + Female +
  • +
  • + RSI_VirginTaken + Virgin_Precious_Taken + Female +
  • +
  • + RSI_TookVirgin + TookVirginity +
  • +
    +
    + + + Virgin_PreciousM + Virginity_Male + + Male's virginity is precious. + Medium + 40 + 1000 + 1 + +
  • + RSI_VirginStolen + Virgin_Precious_Taken_Forcefully + Male +
  • +
  • + RSI_VirginTaken + Virgin_Precious_Taken + Male +
  • +
  • + RSI_TookVirgin + TookVirginity +
  • +
    +
    + + + Virgin_OnlyForSpouseF + Virginity_Female + + Losing virginity before marriage is evil. + Medium + 40 + 1000 + 80 + +
  • MaleSupremacy
  • +
    + +
  • FemaleSupremacy
  • +
    + +
  • MaleSupremacy
  • +
    + +
  • + RSI_VirginStolen + Virgin_Precious_Taken_Forcefully + Female +
  • +
  • + RSI_VirginTaken + Virgin_Precious_Taken + Female +
  • +
  • + RSI_VirginTakenNotSpouse + Virgin_OnlyForSpouse_Know_Taken + Female +
  • +
  • + RSI_TookVirgin + TookVirginity +
  • +
    +
    + + + Virgin_OnlyForSpouseM + Virginity_Male + + Losing virginity before marriage is evil. + Medium + 40 + 1000 + 20 + +
  • FemaleSupremacy
  • +
    + +
  • MaleSupremacy
  • +
    + +
  • FemaleSupremacy
  • +
    + +
  • + RSI_VirginStolen + Virgin_Precious_Taken_Forcefully + Male +
  • +
  • + RSI_VirginTaken + Virgin_Precious_Taken + Male +
  • +
  • + RSI_VirginTakenNotSpouse + Virgin_OnlyForSpouse_Know_Taken + Male +
  • +
  • + RSI_TookVirgin + TookVirginity +
  • +
    +
    + + + Virgin_ShamefulF + Virginity_Female + + Remaining as virgin is shameful thing and being laughed at. + Medium + 30 + 1000 + 1 + +
  • FemaleSupremacy
  • +
    + +
  • + RSI_VirginTaken + Virgin_Shameful_Taken + Female +
  • +
    +
    + + + Virgin_ShamefulM + Virginity_Male + + Remaining as virgin is shameful thing and being laughed at. + Medium + 30 + 1000 + 40 + +
  • MaleSupremacy
  • +
    + +
  • + RSI_VirginTaken + Virgin_Shameful_Taken + Male +
  • +
    +
    + + + + + Virgin_Precious_Taken_Forcefully + Thought_MemorySocial + 30 + 1 + +
  • + + My virginity was taken forcefully. + -10 + -200 +
  • +
    +
    + + + Virgin_Precious_Taken + RJWSexperience.Ideology.Thought_Opinionbased + 7 + 1 + +
  • + + I am no longer virgin. + -5 +
  • +
  • + + I am no longer virgin. + -3 +
  • +
  • + + I am no longer virgin. + -1 +
  • +
  • + + I gave my virginity to my love. + 5 +
  • +
    + +
  • + +
  • -100
  • +
  • -50
  • +
  • 0
  • +
  • 75
  • + + +
    +
    + + + Virgin_Shameful_Taken + RJWSexperience.Ideology.Thought_Opinionbased + 7 + 1 + +
  • + + Finally! + 5 +
  • +
  • + + Finally! + 10 +
  • +
  • + + Finally! + 20 +
  • +
    + +
  • + +
  • -100
  • +
  • 0
  • +
  • 75
  • + + +
    +
    + + + + Virgin_OnlyForSpouse_Know_Taken + Thought_MemorySocial + 30 + 100 + 3 + +
  • Nymphomaniac
  • +
    + +
  • + + -30 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml b/1.4/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml new file mode 100644 index 0000000..211c6f1 --- /dev/null +++ b/1.4/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml @@ -0,0 +1,67 @@ + + + + NamerRitualFestival + true + RitualSpotOrAltar + +
  • Rape
  • +
    +
    + + + Gangbang + Gangbang + gangbang + A ritualistic gangbang. The organizer will give a speech to excite the crowd, then fuck the victim. If the organizer cannot fuck victim, the ritual will be canceled. + UI/Issues/Gangbang + false + Gangbang + + + + + Gangbang_Consensual + Gangbang_Consensual + gangbang + A ritualistic gangbang. The organizer will give a speech to excite the crowd, then fucked by the crowd. + UI/Issues/Gangbang_Consensual + false + Gangbang_Consensual + + + + + GangbangByAnimal + GangbangByAnimal + gangbang by animal + A ritualistic animal gangbang. The organizer will give a speech to excite the crowd, then animals begin fuck victim. + UI/Commands/Breeding_Pawn_off + false + BestialGangbang + + + + + GangbangByAnimal_Consensual + GangbangByAnimal_Consensual + gangbang by animal + A ritualistic animal gangbang. The organizer will give a speech to excite the crowd, then animals begin fuck the organizer. + UI/Commands/Breeding_Pawn_on + false + BestialGangbang_Consensual + + + + + DrugOrgy + drug orgy + An orgy with large amounts of aphrodisiac. Participants will gather around a lustbong, light it on fire, and fuck each other while inhaling the fumes. + UI/Icons/Rituals/SmokeCircle + false + DrugOrgy + DrugOrgy + DrugOrgy + + +
    \ No newline at end of file diff --git a/1.4/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml b/1.4/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml new file mode 100644 index 0000000..13c8abc --- /dev/null +++ b/1.4/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml @@ -0,0 +1,36 @@ + + + + Animal_Breeders + + Animals are our better half. + Intense + +
  • AnimalPersonhood
  • +
  • Zoophile
  • +
    +
    + + + Savage_Rapist_Brigands + + All of them are ours. + Intense + +
  • Rapist
  • +
  • Nudism
  • +
  • Raider
  • +
    +
    + + + Hentai_Tribe + + Intense + Impregnate. + +
  • MaleSupremacy
  • +
  • Rapist
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/Rituals/Ritual_Behaviors_sex.xml b/1.4/Defs/Rituals/Ritual_Behaviors_sex.xml new file mode 100644 index 0000000..aff19a9 --- /dev/null +++ b/1.4/Defs/Rituals/Ritual_Behaviors_sex.xml @@ -0,0 +1,466 @@ + + + + + +
  • + + 7500 + +
  • + + initiator + Initiator + IdeoRole_Moralist + True + true + 1 + False +
  • + +
    + + + Gangbang + RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang + +
  • + + a victim + victim + 1 + true + False + true + true + true +
  • +
    + +
  • + Spectate + +
  • + + +
  • + initiator + victim + Victim is not reachable. +
  • + + +
  • + initiator + DeliverPawnToAltar +
  • +
  • + victim + Idle +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Gangbang + +
  • + 5 +
  • +
  • + +
  • +
  • + victim + LayDownAwake +
  • +
    + +
  • + Gangbang_Rape + True + +
  • + 0.9 +
  • + + +
  • + initiator + FuckVictim + +
  • + +
  • +
    + +
  • + Gangbang_Rape + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Gangbang + +
  • + +
  • +
    + +
    +
    + + + Gangbang_Consensual + RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang_Consensual + +
  • + Spectate + +
  • + +
  • initiator
  • + + + + +
  • + initiator + ArriveToCell +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Gangbang + +
  • + 5 +
  • +
  • + +
  • +
    + +
  • + Gangbang_Consensual + True + +
  • + 1.0 +
  • + + +
  • + initiator + LayDownAwake + +
  • + +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Gangbang + +
  • + +
  • +
    + +
    +
    + + + + GangbangByAnimal + RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang + +
  • + + a breedee who will be fucked by animal + victim + 1 + True + False + true +
  • +
  • + + animal + 30 + false + a breedable animal + false +
  • +
    + +
  • + +
  • + initiator + victim +
  • + + Spectate + 5~7 + +
  • + initiator + victim + Victim is not reachable. +
  • +
    + +
  • + +
  • initiator
  • + + true + +
    + +
  • + initiator + DeliverPawnToCellIfAliveThenIdle + +
  • + 2 + 0 +
  • + + +
  • + victim + Idle +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Zoophile + +
  • + 5 +
  • +
  • + +
  • +
  • + animal + Spectate +
  • +
  • + victim + LayDownAwake +
  • +
    + +
  • + Spectate + True + +
  • + 0.9 +
  • + + +
  • + animal + Gangbang_Rape + +
  • + +
  • +
  • + victim + LayDownAwake +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Zoophile + +
  • + +
  • +
  • + victim + LayDownAwake +
  • +
    + +
    +
    + + + + GangbangByAnimal_Consensual + RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang_Consensual + +
  • + + animal + 30 + false + a breedable animal + false +
  • +
    + +
  • + Spectate + +
  • + +
  • initiator
  • + + + + +
  • + initiator + ArriveToCell +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Zoophile + +
  • + 5 +
  • +
  • + +
  • +
  • + animal + Spectate +
  • +
    + +
  • + Spectate + True + +
  • + 0.9 +
  • + + +
  • + animal + Gangbang_Consensual + +
  • + +
  • +
  • + initiator + LayDownAwake +
  • +
    + +
  • + Spectate + +
  • + 0.1 +
  • + + +
  • + initiator + SpeakOnCellFacingSpectators + Speech_Zoophile + +
  • + +
  • +
    + +
    +
    + + + DrugOrgy + 7500 + + Participants + participate + +
  • + DrugOrgy + +
  • + 1.0 +
  • + + +
    +
    + + +
    \ No newline at end of file diff --git a/1.4/Defs/Rituals/Ritual_Outcomes_sex.xml b/1.4/Defs/Rituals/Ritual_Outcomes_sex.xml new file mode 100644 index 0000000..a6c9646 --- /dev/null +++ b/1.4/Defs/Rituals/Ritual_Outcomes_sex.xml @@ -0,0 +1,400 @@ + + + + Gangbang + Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days. + RitualOutcomeEffectWorker_Consumable + +
  • If the {0} is satisfying, one of the participants might gain an inspiration.
  • +
    + +
  • + initiator + + 0.10 +
  • +
  • + + + +
  • (1, -0.20)
  • +
  • (3, -0.05)
  • +
  • (5, 0.05)
  • +
  • (10, 0.10)
  • + + + +
  • + true + + 0.2 + an altar +
  • +
  • + + 0.15 + FeelingBroken + 0.3 + victim +
  • +
  • + + 0.15 + FeelingBroken + 0.5 + victim +
  • +
  • + + 0.3 + FeelingBroken + 0.9 + victim +
  • +
  • + + 0.4 + Sex + 0.7 +
  • +
  • + + 0.4 + Sex + 0.9 +
  • +
    + +
  • + + 0.05 + TerribleGangbang + The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end. + -2 +
  • +
  • + + 0.10 + BoringGangbang + The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified. + -1 +
  • +
  • + + 0.6 + FunGangbang + The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified. + There's a 5% chance that a random participant gets an inspiration. + 1 +
  • +
  • + + 0.25 + UnforgettableGangbang + The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus. + There's a 10% chance that a random participant gets an inspiration. + 2 +
  • +
    +
    + + + Gangbang_Consensual + Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days. + RitualOutcomeEffectWorker_Consumable + +
  • If the {0} is satisfying, one of the participants might gain an inspiration.
  • +
    + +
  • + initiator + + 0.10 +
  • +
  • + + + +
  • (1, -0.20)
  • +
  • (3, -0.05)
  • +
  • (5, 0.05)
  • +
  • (10, 0.10)
  • + + + +
  • + true + + 0.2 + an altar +
  • +
  • + + 0.4 + Sex + 0.7 +
  • +
  • + + 1.0 + Sex + 0.8 +
  • +
    + +
  • + + 0.05 + TerribleGangbang + The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end. + -2 +
  • +
  • + + 0.10 + BoringGangbang + The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified. + -1 +
  • +
  • + + 0.6 + FunGangbang + The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified. + There's a 5% chance that a random participant gets an inspiration. + 1 +
  • +
  • + + 0.25 + UnforgettableGangbang + The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus. + There's a 10% chance that a random participant gets an inspiration. + 2 +
  • +
    +
    + + + BestialGangbang + Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days. + RitualOutcomeEffectWorker_Consumable + +
  • If the {0} is satisfying, one of the participants might gain an inspiration.
  • +
    + +
  • + initiator + + 0.10 +
  • +
  • + + + +
  • (1, -0.50)
  • +
  • (3, -0.30)
  • +
  • (5, -0.15)
  • +
  • (10, -0.10)
  • + + + +
  • + true + + 0.2 + an altar +
  • +
  • + + 0.45 + FeelingBroken + 0.3 + victim +
  • +
  • + + 0.45 + FeelingBroken + 0.5 + victim +
  • +
  • + + 0.8 + FeelingBroken + 0.9 + victim +
  • +
    + +
  • + + 0.05 + TerribleGangbang + The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end. + -2 +
  • +
  • + + 0.10 + BoringGangbang + The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified. + -1 +
  • +
  • + + 0.65 + FunGangbang + The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified. + There's a 5% chance that a random participant gets an inspiration. + 1 +
  • +
  • + + 0.2 + UnforgettableGangbang + The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus. + There's a 10% chance that a random participant gets an inspiration. + 2 +
  • +
    +
    + + + BestialGangbang_Consensual + Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days. + RitualOutcomeEffectWorker_Consumable + +
  • If the {0} is satisfying, one of the participants might gain an inspiration.
  • +
    + +
  • + initiator + + 0.10 +
  • +
  • + + + +
  • (1, 0.20)
  • +
  • (3, 0.40)
  • +
  • (5, 0.65)
  • +
  • (10, 1.20)
  • + + + +
  • + true + + 0.2 + an altar +
  • +
    + +
  • + + 0.05 + TerribleGangbang + The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end. + -2 +
  • +
  • + + 0.10 + BoringGangbang + The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified. + -1 +
  • +
  • + + 0.65 + FunGangbang + The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified. + There's a 5% chance that a random participant gets an inspiration. + 1 +
  • +
  • + + 0.2 + UnforgettableGangbang + The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus. + There's a 10% chance that a random participant gets an inspiration. + 2 +
  • +
    +
    + + + DrugOrgy + Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days. + RitualOutcomeEffectWorker_RemoveConsumableBuilding + +
  • If the {0} is satisfying, one of the participants might gain an inspiration.
  • +
    + +
  • +
  • + + + +
  • (1, -0.50)
  • +
  • (3, 0.0)
  • +
  • (5, 0.10)
  • +
  • (10, 0.30)
  • + + + +
  • + + Impressiveness + + +
  • 0, 0
  • +
  • 50, 0.1
  • +
  • 120, 0.2
  • + + + +
  • + + 0.7 + Sex + 0.7 +
  • +
    + +
  • + + 0.05 + TerribleOrgy + The {0} was terrible! + -2 +
  • +
  • + + 0.10 + BoringOrgy + The {0} was boring. + -1 +
  • +
  • + + 0.6 + FunOrgy + The {0} was satisfying. + There's a 5% chance that a random participant gets an inspiration. + 1 +
  • +
  • + + 0.25 + UnforgettableOrgy + The {0} was spectacular! + There's a 10% chance that a random participant gets an inspiration. + 2 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/Rituals/Ritual_Targets_sex.xml b/1.4/Defs/Rituals/Ritual_Targets_sex.xml new file mode 100644 index 0000000..5805f34 --- /dev/null +++ b/1.4/Defs/Rituals/Ritual_Targets_sex.xml @@ -0,0 +1,15 @@ + + + + RitualSpotOrAltar_Gangbang + RitualObligationTargetWorker_AnyRitualSpotOrAltar_Scarification + + + + DrugOrgy + RitualObligationTargetWorker_ConsumableBuilding + +
  • Burnbong_Aphrodisiac
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Defs/ThingDefs/Buildings_Ideo_sex.xml b/1.4/Defs/ThingDefs/Buildings_Ideo_sex.xml new file mode 100644 index 0000000..eaaba10 --- /dev/null +++ b/1.4/Defs/ThingDefs/Buildings_Ideo_sex.xml @@ -0,0 +1,134 @@ + + + + Burnbong_Aphrodisiac + + A wood structure packed with humpshroom. It can be ignited during a ritual and produce a huge amount of humpshroom smoke for a few hours, after which it is destroyed. + RealtimeOnly + + Graphic_Single + Things/Building/Misc/Burnbong/Burnbong + (1.2,1.2) + + (0.92, 1 ,0.92) + + + (1,1) + + 30 + 30 + + + 30 + + false + + 50 + 10000 + 25 + + +
  • + BurnbongSmoke +
  • +
  • + 0.5 + (0, 0, 0.42) +
  • +
  • + HumpShroomEffect + true + 10 + 0.01 +
  • +
    +
    + + + + Autobong_Aphrodisiac + + An automatic humpshroom-burning device which generates an estro-smoke cloud around itself. Anyone in the cloud will become horny over time. + Building + + Things/Building/Misc/Autobong/Autobong + Graphic_Single + (2,2) + CutoutComplex + + Things/Building/Misc/Autobong/Autobong + Building + PassThroughOnly + 42 + Normal + RealtimeOnly + 0.20 + false + (2,2) + + 80 + 800 + + true + + 10 + 3 + + +
  • Metallic
  • +
  • Woody
  • +
    + 100 + true + +
  • MicroelectronicsBasics
  • +
    + +
  • + 0.35 + 10.0 + + +
  • HumpShroom
  • + + + 1 + true + true + +
  • + 10 + (252,187,113,0) +
  • +
  • + CompGatherSpot +
  • +
  • + CompPowerTrader + 150 + true +
  • +
  • +
  • + HumpShroomEffect + 4.9 + 0.005 + true +
  • +
  • + BurnbongSmoke + 4.9 + 4 + AutobongSmoke + 25 +
  • +
    + Misc + true + +
  • PlaceWorker_SmokeCloudMaker
  • +
    +
    + + +
    \ No newline at end of file diff --git a/1.4/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml b/1.4/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml new file mode 100644 index 0000000..9488047 --- /dev/null +++ b/1.4/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml @@ -0,0 +1,115 @@ + + + + + TerribleGangbang + Thought_AttendedRitual + 6 + 3 + +
  • + + That gangbang was terrible. ugh. + -3 +
  • +
    +
    + + + BoringGangbang + Thought_AttendedRitual + 6 + 3 + +
  • + + That gangbang was not good. Wish I never went. + -1 +
  • +
    +
    + + + FunGangbang + Thought_AttendedRitual + 6 + 3 + +
  • + + That was a fun gangbang. It really satisfied me. + 8 +
  • +
    +
    + + + UnforgettableGangbang + Thought_AttendedRitual + 6 + 3 + +
  • + + That gangbang was awesome! Everything was perfect. + 16 +
  • +
    +
    + + + TerribleOrgy + Thought_AttendedRitual + 6 + 3 + +
  • + + That orgy was terrible. ugh. + -3 +
  • +
    +
    + + + BoringOrgy + Thought_AttendedRitual + 6 + 3 + +
  • + + That orgy was not good. Wish I never went. + -1 +
  • +
    +
    + + + FunOrgy + Thought_AttendedRitual + 6 + 3 + +
  • + + That was a fun orgy. It really satisfied me. + 8 +
  • +
    +
    + + + UnforgettableOrgy + Thought_AttendedRitual + 6 + 3 + +
  • + + That orgy was awesome! Everything was perfect. + 16 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/InteractionDef/Masturbation.xml b/1.4/Patches/InteractionDef/Masturbation.xml new file mode 100644 index 0000000..53a35ac --- /dev/null +++ b/1.4/Patches/InteractionDef/Masturbation.xml @@ -0,0 +1,14 @@ + + + + + /Defs/InteractionDef[defName="Masturbation_AutoBreastjob" or defName="Masturbation_AutoFellatio" or defName="Masturbation_Breastjob" or defName="Masturbation_HandjobA" or defName="Masturbation_HandjobP" or defName="Masturbation_HandjobV"] + +
  • + +
  • RSI_Masturbated
  • + + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/InteractionDef/Necro.xml b/1.4/Patches/InteractionDef/Necro.xml new file mode 100644 index 0000000..0a02d95 --- /dev/null +++ b/1.4/Patches/InteractionDef/Necro.xml @@ -0,0 +1,25 @@ + + + + + /Defs/InteractionDef[defName="Necro_Anal" or defName="Necro_DoublePenetration" or defName="Necro_DoublePenetrationM" or defName="Necro_Vaginal"] + +
  • + +
  • RSI_SexWithCorpse
  • + + +
    +
    + + + /Defs/InteractionDef[defName="Necro_Reverse_Anal" or defName="Necro_Reverse_DoublePenetration" or defName="Necro_Reverse_DoublePenetrationM" or defName="Necro_Reverse_Vaginal"] + +
  • + +
  • RSI_SexWithCorpse
  • + + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/InteractionDef/Rape.xml b/1.4/Patches/InteractionDef/Rape.xml new file mode 100644 index 0000000..34bc418 --- /dev/null +++ b/1.4/Patches/InteractionDef/Rape.xml @@ -0,0 +1,83 @@ + + + + + /Defs/InteractionDef[defName="Rape_Vaginal"] + +
  • + +
  • RSI_VaginalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Anal" or defName="Rape_Rimming"] + +
  • + +
  • RSI_AnalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Beakjob" or defName="Rape_Cunnilingus" or defName="Rape_Fellatio" or defName="Rape_Oral"] + +
  • + +
  • RSI_OralSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Breastjob" or defName="Rape_Fingering" or defName="Rape_Footjob" or defName="Rape_Handjob"] + +
  • + +
  • RSI_MiscSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_DoublePenetration" or defName="Rape_DoublePenetrationM" or defName="Rape_Fisting" or defName="Rape_Scissoring"] + +
  • + +
  • RSI_PromiscuousSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/InteractionDef/Rape_Reverse.xml b/1.4/Patches/InteractionDef/Rape_Reverse.xml new file mode 100644 index 0000000..2f3a047 --- /dev/null +++ b/1.4/Patches/InteractionDef/Rape_Reverse.xml @@ -0,0 +1,83 @@ + + + + + /Defs/InteractionDef[defName="Rape_Reverse_Vaginal"] + +
  • + +
  • RSI_VaginalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_Anal" or defName="Rape_Reverse_Rimming"] + +
  • + +
  • RSI_AnalSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_Beakjob" or defName="Rape_Reverse_Cunnilingus" or defName="Rape_Reverse_Fellatio"] + +
  • + +
  • RSI_OralSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_Breastjob" or defName="Rape_Reverse_Fingering" or defName="Rape_Reverse_Footjob" or defName="Rape_Reverse_Handjob"] + +
  • + +
  • RSI_MiscSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Rape_Reverse_DoublePenetration" or defName="Rape_Reverse_DoublePenetrationM" or defName="Rape_Reverse_Fisting" or defName="Rape_Reverse_Scissoring"] + +
  • + +
  • RSI_PromiscuousSex
  • +
  • RSI_Raped
  • + + + +
  • RSI_WasRaped
  • +
    + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/InteractionDef/Sex.xml b/1.4/Patches/InteractionDef/Sex.xml new file mode 100644 index 0000000..0be25d3 --- /dev/null +++ b/1.4/Patches/InteractionDef/Sex.xml @@ -0,0 +1,73 @@ + + + + + /Defs/InteractionDef[defName="Sex_Vaginal"] + +
  • + +
  • RSI_VaginalSex
  • + + +
  • RSI_VaginalSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Anal" or defName="Sex_Rimming"] + +
  • + +
  • RSI_AnalSex
  • + + +
  • RSI_AnalSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Beakjob" or defName="Sex_Cunnilingus" or defName="Sex_Fellatio" or defName="Sex_Makeout" or defName="Sex_Sixtynine"] + +
  • + +
  • RSI_OralSex
  • + + +
  • RSI_OralSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Breastjob" or defName="Sex_Fingering" or defName="Sex_Footjob" or defName="Sex_Handjob" or defName="Sex_MutualHandholding" or defName="Sex_MutualMasturbation" or defName="Sex_MutualTailholding"] + +
  • + +
  • RSI_MiscSex
  • + + +
  • RSI_MiscSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_DoublePenetration" or defName="Sex_DoublePenetrationM" or defName="Sex_Fisting" or defName="Sex_Scissoring"] + +
  • + +
  • RSI_PromiscuousSex
  • + + +
  • RSI_PromiscuousSex
  • +
    + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/InteractionDef/Sex_Reverse.xml b/1.4/Patches/InteractionDef/Sex_Reverse.xml new file mode 100644 index 0000000..2e41ab5 --- /dev/null +++ b/1.4/Patches/InteractionDef/Sex_Reverse.xml @@ -0,0 +1,73 @@ + + + + + /Defs/InteractionDef[defName="Sex_Reverse_Vaginal"] + +
  • + +
  • RSI_VaginalSex
  • + + +
  • RSI_VaginalSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Reverse_Anal" or defName="Sex_Reverse_Rimming"] + +
  • + +
  • RSI_AnalSex
  • + + +
  • RSI_AnalSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Reverse_Beakjob" or defName="Sex_Reverse_Cunnilingus" or defName="Sex_Reverse_Fellatio"] + +
  • + +
  • RSI_OralSex
  • + + +
  • RSI_OralSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Reverse_Breastjob" or defName="Sex_Reverse_Fingering" or defName="Sex_Reverse_Footjob" or defName="Sex_Reverse_Handjob"] + +
  • + +
  • RSI_MiscSex
  • + + +
  • RSI_MiscSex
  • +
    + +
    +
    + + + /Defs/InteractionDef[defName="Sex_Reverse_DoublePenetration" or defName="Sex_Reverse_DoublePenetrationM" or defName="Sex_Reverse_Fisting"] + +
  • + +
  • RSI_PromiscuousSex
  • + + +
  • RSI_PromiscuousSex
  • +
    + +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/RJW_Drugs.xml b/1.4/Patches/RJW_Drugs.xml new file mode 100644 index 0000000..e0a93bb --- /dev/null +++ b/1.4/Patches/RJW_Drugs.xml @@ -0,0 +1,47 @@ + + + + + Defs/HediffDef[defName="HumpShroomEffect"]/stages + + +
  • + + + 1.25 + 0.25 + +
  • +
  • + 0.3 + + 1.1 + + 2 + 0.5 + +
  • +
  • + 0.6 + + 1.33 + + 3 + 0.75 + +
  • +
  • + 0.9 + + 1.33 + + 5 + 1.5 + +
  • +
    +
    +
    + + +
    \ No newline at end of file diff --git a/1.4/Patches/RJW_Precepts.xml b/1.4/Patches/RJW_Precepts.xml new file mode 100644 index 0000000..94c6160 --- /dev/null +++ b/1.4/Patches/RJW_Precepts.xml @@ -0,0 +1,29 @@ + + + + + Defs/PreceptDef[defName="Corpses_DontCare"]/requiredMemes + +
  • Necrophile
  • +
    +
    + + + Defs/PreceptDef[defName="Corpses_DontCare"]/associatedMemes + +
  • Necrophile
  • +
    +
    + + + Defs/PreceptDef[defName="Lovin_FreeApproved"] + + + 0.5 + 0.25 + + + + + +
    \ No newline at end of file diff --git a/1.4/Patches/RJW_StatDefs_Ideo.xml b/1.4/Patches/RJW_StatDefs_Ideo.xml new file mode 100644 index 0000000..a044970 --- /dev/null +++ b/1.4/Patches/RJW_StatDefs_Ideo.xml @@ -0,0 +1,14 @@ + + + + + Defs/StatDef[defName="Vulnerability"]/parts + +
  • + 0.5 +
  • +
    +
    + + +
    \ No newline at end of file diff --git a/1.4/Patches/RJW_ThoughtDefs.xml b/1.4/Patches/RJW_ThoughtDefs.xml new file mode 100644 index 0000000..e2e3f6e --- /dev/null +++ b/1.4/Patches/RJW_ThoughtDefs.xml @@ -0,0 +1,108 @@ + + + + + Defs/ThoughtDef[defName="GotBredByAnimal"] + + +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="GotAnalBredByAnimal"] + + +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="AllowedAnimalToBreed"] + + +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="GotLickedByAnimal"] + + +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="GotGropedByAnimal"] + + +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="AllowedAnimalToGrope"] + + +
  • Bestiality_OnlyVenerated
  • +
  • Bestiality_BondOnly
  • +
  • Bestiality_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="StoleSomeLovin"] + + +
  • Rape_Honorable
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="Incestuous"] + + +
  • Incestuos_Free
  • +
  • Incestuos_IncestOnly
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]/nullifyingPrecepts + + Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"] + + +
  • Submissive_Male
  • +
  • Submissive_Female
  • +
    +
    +
    + + Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]/nullifyingPrecepts + +
  • Submissive_Male
  • +
  • Submissive_Female
  • +
    +
    +
    +
    \ No newline at end of file diff --git a/1.4/Patches/RJW_ThoughtDefsDeath.xml b/1.4/Patches/RJW_ThoughtDefsDeath.xml new file mode 100644 index 0000000..99ea439 --- /dev/null +++ b/1.4/Patches/RJW_ThoughtDefsDeath.xml @@ -0,0 +1,68 @@ + + + + + Defs/ThoughtDef[defName="MyKinDied" or defName="MyCousinDied" or defName="MyGrandparentDied" or defName="MyUncleDied" or defName="MyAuntDied" or defName="MyHalfSiblingDied" or defName="MyNephewDied" or defName="MyNieceDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied"]/nullifyingPrecepts + + Defs/ThoughtDef[defName="MyKinDied" or defName="MyCousinDied" or defName="MyGrandparentDied" or defName="MyUncleDied" or defName="MyAuntDied" or defName="MyHalfSiblingDied" or defName="MyNephewDied" or defName="MyNieceDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied"] + + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
  • SocialAffection_Small
  • +
    +
    +
    + + Defs/ThoughtDef[defName="MyKinDied" or defName="MyCousinDied" or defName="MyGrandparentDied" or defName="MyUncleDied" or defName="MyAuntDied" or defName="MyHalfSiblingDied" or defName="MyNephewDied" or defName="MyNieceDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied"]/nullifyingPrecepts + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
  • SocialAffection_Small
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="MyMotherDied" or defName="MyFatherDied" or defName="MyGrandchildDied" or defName="MySisterDied" or defName="MyBrotherDied" or defName="MyDaughterDied" or defName="MySonDied" or defName="WitnessedDeathFamily" or defName="MyPupDied" or defName="MyPupDiedFemale" or defName="KilledMyPup" or defName="KilledMyPupFemale" or defName="SoldMyPup" ]/nullifyingPrecepts + + Defs/ThoughtDef[defName="MyMotherDied" or defName="MyFatherDied" or defName="MyGrandchildDied" or defName="MySisterDied" or defName="MyBrotherDied" or defName="MyDaughterDied" or defName="MySonDied" or defName="WitnessedDeathFamily" or defName="MyPupDied" or defName="MyPupDiedFemale" or defName="KilledMyPup" or defName="KilledMyPupFemale" or defName="SoldMyPup"] + + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
    +
    +
    + + Defs/ThoughtDef[defName="MyMotherDied" or defName="MyFatherDied" or defName="MyGrandchildDied" or defName="MySisterDied" or defName="MyBrotherDied" or defName="MyDaughterDied" or defName="MySonDied" or defName="WitnessedDeathFamily" or defName="MyPupDied" or defName="MyPupDiedFemale" or defName="KilledMyPup" or defName="KilledMyPupFemale" or defName="SoldMyPup"]/nullifyingPrecepts + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="KnowGuestExecuted" or defName="KnowColonistExecuted" or defName="KnowPrisonerDiedInnocent" or defName="KnowColonistDied" or defName="PawnWithGoodOpinionDied" or defName="PawnWithBadOpinionDied" or defName="WitnessedDeathAlly" or defName="WitnessedDeathNonAlly" or defName="ColonistBanishedToDie" or defName="PrisonerBanishedToDie" or defName="ColonistBanishedToDie" or defName="ColonistLeftUnburied"]/nullifyingPrecepts + + Defs/ThoughtDef[defName="KnowGuestExecuted" or defName="KnowColonistExecuted" or defName="KnowPrisonerDiedInnocent" or defName="KnowColonistDied" or defName="PawnWithGoodOpinionDied" or defName="PawnWithBadOpinionDied" or defName="WitnessedDeathAlly" or defName="WitnessedDeathNonAlly" or defName="ColonistBanishedToDie" or defName="PrisonerBanishedToDie" or defName="ColonistBanishedToDie" or defName="ColonistLeftUnburied"] + + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_OnlyFamily
  • +
    +
    +
    + + Defs/ThoughtDef[defName="KnowGuestExecuted" or defName="KnowColonistExecuted" or defName="KnowPrisonerDiedInnocent" or defName="KnowColonistDied" or defName="PawnWithGoodOpinionDied" or defName="PawnWithBadOpinionDied" or defName="WitnessedDeathAlly" or defName="WitnessedDeathNonAlly" or defName="ColonistBanishedToDie" or defName="PrisonerBanishedToDie" or defName="ColonistBanishedToDie" or defName="ColonistLeftUnburied"]/nullifyingPrecepts + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_OnlyFamily
  • +
    +
    +
    + + + +
    \ No newline at end of file diff --git a/1.4/Patches/RJW_ThoughtDefsLost.xml b/1.4/Patches/RJW_ThoughtDefsLost.xml new file mode 100644 index 0000000..43dd8fb --- /dev/null +++ b/1.4/Patches/RJW_ThoughtDefsLost.xml @@ -0,0 +1,68 @@ + + + + + Defs/ThoughtDef[defName="MyKinLost" or defName="MyCousinLost" or defName="MyGrandparentLost" or defName="MyUncleLost" or defName="MyAuntLost" or defName="MyHalfSiblingLost" or defName="MyNephewLost" or defName="MyNieceLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost"]/nullifyingPrecepts + + Defs/ThoughtDef[defName="MyKinLost" or defName="MyCousinLost" or defName="MyGrandparentLost" or defName="MyUncleLost" or defName="MyAuntLost" or defName="MyHalfSiblingLost" or defName="MyNephewLost" or defName="MyNieceLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost"] + + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
  • SocialAffection_Small
  • +
    +
    +
    + + Defs/ThoughtDef[defName="MyKinLost" or defName="MyCousinLost" or defName="MyGrandparentLost" or defName="MyUncleLost" or defName="MyAuntLost" or defName="MyHalfSiblingLost" or defName="MyNephewLost" or defName="MyNieceLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost"]/nullifyingPrecepts + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
  • SocialAffection_Small
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]/nullifyingPrecepts + + Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"] + + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
    +
    +
    + + Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]/nullifyingPrecepts + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_Dry
  • +
    +
    +
    + + + Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]/nullifyingPrecepts + + Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"] + + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_OnlyFamily
  • +
    +
    +
    + + Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]/nullifyingPrecepts + +
  • SocialAffection_Psychopath
  • +
  • SocialAffection_OnlyFamily
  • +
    +
    +
    + + + +
    \ No newline at end of file diff --git a/About/About.xml b/About/About.xml index 4622482..f9aa52b 100644 --- a/About/About.xml +++ b/About/About.xml @@ -4,6 +4,7 @@ aamevarashi
  • 1.3
  • +
  • 1.4
  • @@ -33,12 +34,13 @@ This is a submod for RJW that adds: Ideology content: - Memes: lewd, rapist, zoophile and necrophile memes - Rituals: consensual gangbang, rape gangbang, consensual animal gangbang, rape animal gangbang and drug orgy -- Precepts: baby faction, bestiality, incest, necrophilia, rape, allowed sex type, social affection, submissive gender, virginity +- Precepts: baby faction, bestiality, incest, necrophilia, rape, allowed sex type, social affection, submissive gender, virginity, pregnancy, sex proselyzing and size matters - HumpShroom bong and HumpShroom Autobong Credits: moreorganstodump Original Author c0ffee RJW 4.9.0 update -Hawkeye32 Bound Only bestiality precept]]> +Hawkeye32 Bound Only bestiality precept +Twonki Pregnancy, Sex Proselyzing and Size Matters precepts]]> \ No newline at end of file diff --git a/About/Manifest.xml b/About/Manifest.xml index 4d44de2..7ad9026 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,9 +1,9 @@ RJWSexperienceIdeology - 1.0.0.3 + 1.0.1.0 -
  • RimJobWorld >= 4.9.5.3
  • +
  • RimJobWorld >= 5.3.0
  • diff --git a/CHANGELOG.md b/CHANGELOG.md index 6313d1f..ded613d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## Version 1.0.1.0 +* Rimworld 1.4 +### by Twonki + * Added Pregnancy, Sex Proselyzing and Size Matters precepts ## Version 1.0.0.3 * Fixed error in *_Gendered precept comps ## Version 1.0.0.2 diff --git a/LoadFolders.xml b/LoadFolders.xml new file mode 100644 index 0000000..48ed2ca --- /dev/null +++ b/LoadFolders.xml @@ -0,0 +1,11 @@ + + + +
  • /
  • +
  • 1.3
  • +
    + +
  • /
  • +
  • 1.4
  • +
    +
    \ No newline at end of file diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 131a6c5..5f5e896 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -25,7 +25,7 @@ pdbonly true - ..\..\1.3\Assemblies\ + ..\..\1.4\Assemblies\ TRACE prompt 4 @@ -94,11 +94,12 @@ - 1.3.3389 + 1.4.3524 - 2.2.1 + 2.2.2 runtime + compile; build; native; contentfiles; analyzers; buildtransitive diff --git a/Source/IdeologyAddon/Rituals/RitualRoles.cs b/Source/IdeologyAddon/Rituals/RitualRoles.cs index eb9576a..0d26048 100644 --- a/Source/IdeologyAddon/Rituals/RitualRoles.cs +++ b/Source/IdeologyAddon/Rituals/RitualRoles.cs @@ -1,8 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using RimWorld; using Verse; using rjw; @@ -17,7 +12,7 @@ namespace RJWSexperience.Ideology return false; } - public override bool AppliesToPawn(Pawn p, out string reason, LordJob_Ritual ritual = null, RitualRoleAssignments assignments = null, Precept_Ritual precept = null, bool skipReason = false) + public override bool AppliesToPawn(Pawn p, out string reason, TargetInfo selectedTarget, LordJob_Ritual ritual = null, RitualRoleAssignments assignments = null, Precept_Ritual precept = null, bool skipReason = false) { reason = null; if (CanBeVictim(p)) return true; @@ -45,7 +40,7 @@ namespace RJWSexperience.Ideology return false; } - public override bool AppliesToPawn(Pawn p, out string reason, LordJob_Ritual ritual = null, RitualRoleAssignments assignments = null, Precept_Ritual precept = null, bool skipReason = false) + public override bool AppliesToPawn(Pawn p, out string reason, TargetInfo selectedTarget, LordJob_Ritual ritual = null, RitualRoleAssignments assignments = null, Precept_Ritual precept = null, bool skipReason = false) { reason = null; @@ -79,7 +74,7 @@ namespace RJWSexperience.Ideology return false; } - public override bool AppliesToPawn(Pawn p, out string reason, LordJob_Ritual ritual = null, RitualRoleAssignments assignments = null, Precept_Ritual precept = null, bool skipReason = false) + public override bool AppliesToPawn(Pawn p, out string reason, TargetInfo selectedTarget, LordJob_Ritual ritual = null, RitualRoleAssignments assignments = null, Precept_Ritual precept = null, bool skipReason = false) { reason = null; if (!p.IsAnimal())