This commit is contained in:
AbstractConcept 2022-11-04 08:52:17 -05:00
parent 55402b9891
commit 03e634e56c
36 changed files with 866 additions and 491 deletions

View file

@ -6,6 +6,7 @@
<defName>Disquiet</defName>
<label>disquiet</label>
<description>This person saw something that upset them and it's weighting on their thoughts.</description>
<isBad>false</isBad>
<stages>
<li>
<label>present</label>
@ -18,6 +19,7 @@
<defName>Panicked</defName>
<label>panicked</label>
<description>This person saw something that has shaked them to their core. Will they run or fight?</description>
<isBad>false</isBad>
<stages>
<li>
<label>present</label>
@ -30,6 +32,7 @@
<defName>Nauseated</defName>
<label>nauseated</label>
<description>This poor soul saw something something so utterly foul that they just might be sick from the thought.</description>
<isBad>false</isBad>
<stages>
<li>
<label>present</label>
@ -42,6 +45,7 @@
<defName>Indignant</defName>
<label>indignant</label>
<description>This person witnessed something quite distasteful and is going to give the offender a piece of their mind.</description>
<isBad>false</isBad>
<stages>
<li>
<label>present</label>

View file

@ -8,24 +8,13 @@
</IssueDef>
<!-- Precepts -->
<PreceptDef>
<defName>Exhibitionism_Forbidden</defName>
<issue>Exhibitionism</issue>
<label>forbidden</label>
<description>Physical intimacy in the presence of others is a wicked thing.</description>
<impact>High</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>
<PreceptDef>
<defName>Exhibitionism_Disapproved</defName>
<issue>Exhibitionism</issue>
<label>disapproved</label>
<description>Performing sexual acts in front of others is shameful.</description>
<description>Being seen having sex is shameful.</description>
<impact>Low</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>
@ -34,9 +23,9 @@
<defName>Exhibitionism_Acceptable</defName>
<issue>Exhibitionism</issue>
<label>acceptable</label>
<description>Sex a normal and natural event and should attract no special attention from others.</description>
<description>Sex infront of others is normal and deserves no special attention.</description>
<impact>Low</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>
@ -45,9 +34,9 @@
<defName>Exhibitionism_Approved</defName>
<issue>Exhibitionism</issue>
<label>approved</label>
<description>Sex is to be celebrated and people should be encouraged to witness it.</description>
<description>Physical intimacy is to be celebrated.</description>
<impact>Medium</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInIssue>10</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Infidelity</defName>
<label>infidelity</label>
<iconPath>UI/Issues/Exhibitionism</iconPath>
</IssueDef>
<!-- Precepts -->
<PreceptDef>
<defName>Infidelity_Heartbreaking</defName>
<issue>Infidelity</issue>
<label>heartbreaking</label>
<description>test</description>
<impact>Low</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>
<PreceptDef>
<defName>Infidelity_Disapproved</defName>
<issue>Infidelity</issue>
<label>disapproved</label>
<description>test</description>
<impact>Low</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>
<PreceptDef>
<defName>Infidelity_Acceptable</defName>
<issue>Infidelity</issue>
<label>acceptable</label>
<description>test</description>
<impact>Low</impact>
<displayOrderInIssue>10</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>100</defaultSelectionWeight>
</PreceptDef>
</Defs>

166
Defs/SexActReactionDefs.xml Normal file
View file

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Privacy_Please.SexActReactionDef>
<defName>reactionToExhibitionism</defName>
<issueDefName>Exhibitionism</issueDefName>
<sexActCheck>SexActIsExhibitionism</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawExhibitionism_Disapproved</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawExhibitionism_Disapproved</li>
<li>SawExhibitionism_Acceptable</li>
<li>SawExhibitionism_Approved</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredQuirk>Voyeur</requiredQuirk>
<replacementThoughtDef>SawExhibitionism_Approved</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
<Privacy_Please.SexActReactionDef>
<defName>reactionToMasturbation</defName>
<issueDefName>Masturbation</issueDefName>
<sexActCheck>SexActIsMasturbation</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawMasturbation_Disapproved</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawMasturbation_Abhorrent</li>
<li>SawMasturbation_Disapproved</li>
<li>SawMasturbation_Acceptable</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredQuirk>Voyeur</requiredQuirk>
<replacementThoughtDef>SawMasturbation_Approved</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
<Privacy_Please.SexActReactionDef>
<defName>reactionToInfidelity</defName>
<issueDefName>Infidelity</issueDefName>
<sexActCheck>SexActIsInfidelity</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawInfidelity_Heartbreaking</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawInfidelity_Heartbreaking</li>
<li>SawInfidelity_Disapproved</li>
<li>SawInfidelity_Acceptable</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredQuirk>Cuckold</requiredQuirk>
<replacementThoughtDef>SawInfidelity_Approved</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
<Privacy_Please.SexActReactionDef>
<defName>reactionToXenophilia</defName>
<issueDefName>HAR_AlienDating</issueDefName>
<sexActCheck>SexActIsRape</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawHAR_AlienDating_Acceptable</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawHAR_AlienDating_Prohibited</li>
<li>SawHAR_AlienDating_Horrible</li>
<li>SawHAR_AlienDating_Acceptable</li>
<li>SawHAR_AlienDating_Preferred</li>
<li>SawHAR_AlienDating_Know_Honorable</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredTraits>
<Xenophobia>1</Xenophobia>
</requiredTraits>
<replacementThoughtDef>SawHAR_AlienDating_Prohibited</replacementThoughtDef>
</li>
<li>
<requiredTraits>
<Xenophobia>-1</Xenophobia>
</requiredTraits>
<replacementThoughtDef>SawHAR_AlienDating_Know_Honorable</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
<Privacy_Please.SexActReactionDef>
<defName>reactionToBestiality</defName>
<issueDefName>Bestiality</issueDefName>
<sexActCheck>SexActIsBestiality</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawBestiality_Abhorrent</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawBestiality_Abhorrent</li>
<li>SawBestiality_Horrible</li>
<li>SawBestiality_Disapproved</li>
<li>SawBestiality_Acceptable</li>
<li>SawBestiality_Honorable</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredTraits>
<li>Zoophile</li>
</requiredTraits>
<replacementThoughtDef>SawBestiality_Honorable</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
<Privacy_Please.SexActReactionDef>
<defName>reactionToNecrophilia</defName>
<issueDefName>Necrophilia</issueDefName>
<sexActCheck>SexActIsNecrophilia</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawNecrophilia_Abhorrent</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawNecrophilia_Abhorrent</li>
<li>SawNecrophilia_Horrible</li>
<li>SawNecrophilia_Disapproved</li>
<li>SawNecrophilia_Acceptable</li>
<li>SawNecrophilia_Honorable</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredTraits>
<li>Necrophiliac</li>
</requiredTraits>
<replacementThoughtDef>SawNecrophilia_Honorable</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
<Privacy_Please.SexActReactionDef>
<defName>reactionToRape</defName>
<issueDefName>Rape</issueDefName>
<sexActCheck>SexActIsRape</sexActCheck>
<witnessReaction>
<defaultThoughtDef>SawRape_Abhorrent</defaultThoughtDef>
<associatedThoughtDefs>
<li>SawRape_Abhorrent</li>
<li>SawRape_Horrible</li>
<li>SawRape_Disapproved</li>
<li>SawRape_Acceptable</li>
<li>SawRape_Honorable</li>
</associatedThoughtDefs>
<replacementThoughts>
<li>
<requiredTraits>
<li>Rapist</li>
</requiredTraits>
<replacementThoughtDef>SawRape_Honorable</replacementThoughtDef>
</li>
</replacementThoughts>
</witnessReaction>
</Privacy_Please.SexActReactionDef>
</Defs>

View file

@ -2,14 +2,10 @@
<Defs>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawBestiality_Abhorrent</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Zoophile</li>
</nullifyingTraits>
<hediff>Panicked</hediff>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -18,16 +14,16 @@
<baseMoodEffect>-20</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawBestiality_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Zoophile</li>
</nullifyingTraits>
<hediff>Disquiet</hediff>
<reactionToSexAct>Outrage</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawBestiality_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -36,16 +32,16 @@
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawBestiality_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Zoophile</li>
</nullifyingTraits>
<hediff>Disquiet</hediff>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawBestiality_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -54,15 +50,16 @@
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawBestiality_Acceptable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Zoophile</li>
</nullifyingTraits>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawBestiality_Acceptable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -71,13 +68,13 @@
<baseMoodEffect>-4</baseMoodEffect>
</li>
</stages>
<nullifyingPrecepts>
<li>Exhibitionism_Acceptable</li>
<li>Exhibitionism_Approved</li>
</nullifyingPrecepts>
</ThoughtDef>
<nullifyingTraits>
<li>Zoophile</li>
</nullifyingTraits>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawBestiality_Honorable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -89,6 +86,7 @@
<baseMoodEffect>+2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<Privacy_Please.SexActThoughtDef>
<defName>SawExhibitionism_Disapproved</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>1</stackLimit>
<stackedEffectMultiplier>0.5</stackedEffectMultiplier>
<stages>
<li>
<label>walked in on some lovin'</label>
<description>test</description>
<baseMoodEffect>-4</baseMoodEffect>
</li>
</stages>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawExhibitionism_Acceptable</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>1</stackLimit>
<stackedEffectMultiplier>0.5</stackedEffectMultiplier>
<stages>
<li>
<label>passed by some lovin'</label>
<description>test</description>
<baseMoodEffect>0</baseMoodEffect>
</li>
</stages>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawExhibitionism_Approved</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>1</stackLimit>
<stackedEffectMultiplier>0.5</stackedEffectMultiplier>
<stages>
<li>
<label>observed some lovin'</label>
<description>test</description>
<baseMoodEffect>2</baseMoodEffect>
</li>
</stages>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

View file

@ -2,8 +2,8 @@
<Defs>
<!--<ThoughtDef>
<defName>SawHAR_AlienDating_Prohibited</defName>
<Privacy_Please.SexActThoughtDef>
<defName>SawInfidelity_Heartbreaking</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<hediff>Indignant</hediff>
@ -15,10 +15,14 @@
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>-1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Outrage</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<defName>SawHAR_AlienDating_Horrible</defName>
<Privacy_Please.SexActThoughtDef>
<defName>SawInfidelity_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<hediff>Disquiet</hediff>
@ -30,10 +34,14 @@
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>-1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<defName>SawHAR_AlienDating_Acceptable</defName>
<Privacy_Please.SexActThoughtDef>
<defName>SawInfidelity_Acceptable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
@ -44,14 +52,14 @@
<baseMoodEffect>-4</baseMoodEffect>
</li>
</stages>
<nullifyingPrecepts>
<li>Exhibitionism_Acceptable</li>
<li>Exhibitionism_Approved</li>
<nullifyingPrecepts>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<defName>SawHAR_AlienDating_Preferred</defName>
<Privacy_Please.SexActThoughtDef>
<defName>SawInfidelity_Approved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
@ -62,20 +70,10 @@
<baseMoodEffect>+1</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawHAR_AlienDating_Know_Honorable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>observed xenophilia</label>
<description>A blending of species will make us stronger.</description>
<baseMoodEffect>+2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>-->
<nullifyingTraitDegrees>
<Xenophobia>1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

View file

@ -2,7 +2,7 @@
<Defs>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawMasturbation_Abhorrent</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -14,10 +14,11 @@
<description>You'll go blind you know!</description>
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</stages>
<reactionToSexAct>Outrage</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawMasturbation_Disapproved</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1.0</durationDays>
@ -30,10 +31,39 @@
<baseMoodEffect>-5</baseMoodEffect>
</li>
</stages>
<nullifyingPrecepts>
<li>Exhibitionism_Acceptable</li>
<li>Exhibitionism_Approved</li>
</nullifyingPrecepts>
</ThoughtDef>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawMasturbation_Acceptable</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>1</stackLimit>
<stackedEffectMultiplier>0.5</stackedEffectMultiplier>
<stages>
<li>
<label>saw someone masturbatin'</label>
<description>Argh! I'm so sorry!</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
</stages>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawMasturbation_Approved</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>1</stackLimit>
<stackedEffectMultiplier>0.5</stackedEffectMultiplier>
<stages>
<li>
<label>saw someone masturbatin'</label>
<description>Argh! I'm so sorry!</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
</stages>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

View file

@ -2,14 +2,10 @@
<Defs>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawNecrophilia_Abhorrent</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<hediff>Nauseated</hediff>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -18,16 +14,16 @@
<baseMoodEffect>-20</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawNecrophilia_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<hediff>Disquiet</hediff>
<reactionToSexAct>Outrage</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawNecrophilia_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -36,16 +32,16 @@
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawNecrophilia_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<hediff>Disquiet</hediff>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawNecrophilia_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -54,9 +50,13 @@
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawNecrophilia_Acceptable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -66,15 +66,15 @@
<label>saw necrophilia</label>
<description>I just hope they bury it when they're done.</description>
<baseMoodEffect>-4</baseMoodEffect>
</li>
</li>
</stages>
<nullifyingPrecepts>
<li>Exhibitionism_Acceptable</li>
<li>Exhibitionism_Approved</li>
</nullifyingPrecepts>
</ThoughtDef>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawNecrophilia_Honorable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -86,6 +86,7 @@
<baseMoodEffect>+2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

View file

@ -2,14 +2,10 @@
<Defs>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawRape_Abhorrent</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Rapist</li>
</nullifyingTraits>
<hediff>Panicked</hediff>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -18,16 +14,16 @@
<baseMoodEffect>-20</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawRape_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Rapist</li>
</nullifyingTraits>
<hediff>Disquiet</hediff>
<reactionToSexAct>Outrage</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawRape_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
@ -36,27 +32,31 @@
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>SawRape_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<nullifyingTraits>
<li>Rapist</li>
</nullifyingTraits>
<hediff>Disquiet</hediff>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawRape_Disapproved</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>witnessed rape</label>
<description>Is this what life is going to be here?</description>
<description>Is this what life is going to be like here?</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraits>
<li>Rapist</li>
</nullifyingTraits>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawRape_Acceptable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -68,13 +68,13 @@
<baseMoodEffect>-4</baseMoodEffect>
</li>
</stages>
<nullifyingPrecepts>
<li>Exhibitionism_Acceptable</li>
<li>Exhibitionism_Approved</li>
</nullifyingPrecepts>
</ThoughtDef>
<nullifyingTraits>
<li>Rapist</li>
</nullifyingTraits>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawRape_Honorable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -86,6 +86,7 @@
<baseMoodEffect>+2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

View file

@ -2,7 +2,7 @@
<Defs>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawHAR_AlienDating_Prohibited</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -15,9 +15,13 @@
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>-1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Outrage</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawHAR_AlienDating_Horrible</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -30,9 +34,13 @@
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>-1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Discomfort</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawHAR_AlienDating_Acceptable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -44,13 +52,13 @@
<baseMoodEffect>-4</baseMoodEffect>
</li>
</stages>
<nullifyingPrecepts>
<li>Exhibitionism_Acceptable</li>
<li>Exhibitionism_Approved</li>
</nullifyingPrecepts>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Acceptance</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawHAR_AlienDating_Preferred</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -62,9 +70,13 @@
<baseMoodEffect>+1</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
<ThoughtDef>
<Privacy_Please.SexActThoughtDef>
<defName>SawHAR_AlienDating_Know_Honorable</defName>
<durationDays>3</durationDays>
<stackLimit>3</stackLimit>
@ -76,6 +88,10 @@
<baseMoodEffect>+2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<nullifyingTraitDegrees>
<Xenophobia>1</Xenophobia>
</nullifyingTraitDegrees>
<reactionToSexAct>Approval</reactionToSexAct>
</Privacy_Please.SexActThoughtDef>
</Defs>

59
Defs/junk.txt Normal file
View file

@ -0,0 +1,59 @@
bool isXenophobe = pawn.HasTrait("Xenophobia") && pawn.story.traits.DegreeOfTrait(DefDatabase<TraitDef>.GetNamedSilentFail("Xenophobia")) > 0;
bool isXenophile = pawn.HasTrait("Xenophobia") && pawn.story.traits.DegreeOfTrait(DefDatabase<TraitDef>.GetNamedSilentFail("Xenophobia")) < 0;
public static ThoughtDef GetThoughtsAboutSexAct(Pawn pawn, JobDriver_Sex jobDriver, out Precept precept)
{
ThoughtDef thoughtDef = null;
precept = null;
if (pawn == null || jobDriver == null) return null;
if (BasicSettings.slavesIgnoreSex && (pawn.IsPrisoner || pawn.IsSlave)) return null;
if (BasicSettings.otherFactionsIgnoreSex && pawn.Faction.IsPlayer == false) return null;
if (BasicSettings.worryAboutNecro && sexIsNecro && xxx.is_necrophiliac(pawn) == false)
{
thoughtDef = xxx.is_necrophiliac(pawn) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("SawNecrophilia_Honorable") :
pawn.HasPreceptForIssue("Necrophilia", out precept) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("Saw" + precept.def.defName) :
DefDatabase<ThoughtDef>.GetNamedSilentFail("SawNecrophilia_Abhorrent");
}
else if (BasicSettings.worryAboutBeastiality && sexIsBeastial)
{
thoughtDef = xxx.is_zoophile(pawn) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("SawBeastility_Honorable") :
pawn.HasPreceptForIssue("Beastility", out precept) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("Saw" + precept.def.defName) :
DefDatabase<ThoughtDef>.GetNamedSilentFail("SawBeastility_Abhorrent");
}
else if (BasicSettings.worryAboutRape && BasicSettings.ignoreSlaveRape == false && sexIsSlaveRape)
{
thoughtDef = xxx.is_rapist(pawn) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("SawRape_Honorable") :
pawn.HasPreceptForIssue("Rape", out precept) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("Saw" + precept.def.defName) :
DefDatabase<ThoughtDef>.GetNamedSilentFail("SawRape_Abhorrent");
}
else if (BasicSettings.worryAboutRape && sexIsRape)
{
thoughtDef = xxx.is_rapist(pawn) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("SawRape_Honorable") :
pawn.HasPreceptForIssue("Rape", out precept) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("Saw" + precept.def.defName) :
DefDatabase<ThoughtDef>.GetNamedSilentFail("SawRape_Abhorrent");
}
else if (BasicSettings.worryAboutXeno && sexIsXeno)
{
thoughtDef = isXenophobe ? DefDatabase<ThoughtDef>.GetNamedSilentFail("SawHAR_AlienDating_Prohibited") :
isXenophile ? DefDatabase<ThoughtDef>.GetNamedSilentFail("SawHAR_AlienDating_Honorable") :
pawn.HasPreceptForIssue("HAR_AlienDating", out precept) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("Saw" + precept.def.defName) :
DefDatabase<ThoughtDef>.GetNamedSilentFail("SawHAR_AlienDating_Acceptable");
}
else if (BasicSettings.worryAboutMasturbation && sexIsSolo)
{
thoughtDef = pawn.HasPreceptForIssue("Masturbation", out precept) ? DefDatabase<ThoughtDef>.GetNamedSilentFail("Saw" + precept.def.defName) :
DefDatabase<ThoughtDef>.GetNamedSilentFail("SawMasturbation_Disapproved");
}
DebugMode.Message("Sex job is: " + jobDriver + " Issue is: " + (precept?.def?.issue?.defName).ToStringSafe() + " Opinion is: " + (precept?.def?.defName).ToStringSafe() + " Thought is: " + (thoughtDef?.defName).ToStringSafe());
return thoughtDef;
}