mirror of
				https://github.com/amevarashi/RJW-Sexperience.git
				synced 2024-08-14 23:54:08 +00:00 
			
		
		
		
	Include Hawkeye32's Bond Only precept. For now as-is
This commit is contained in:
		
							parent
							
								
									8cbf5cd0e8
								
							
						
					
					
						commit
						59ef82b764
					
				
					 5 changed files with 181 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -90,8 +90,10 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
 | 
			
		||||
			if (partner != null)
 | 
			
		||||
			{
 | 
			
		||||
				if (xxx.is_human(pawn)) AfterSexHuman(pawn, partner, props.isRape, props.sexType);
 | 
			
		||||
				else if (xxx.is_human(partner)) AfterSexHuman(partner, pawn, false, props.sexType, true);
 | 
			
		||||
				if (xxx.is_human(pawn))
 | 
			
		||||
					AfterSexHuman(pawn, partner, props.isRape, props.sexType);
 | 
			
		||||
				else if (xxx.is_human(partner))
 | 
			
		||||
					AfterSexHuman(partner, pawn, false, props.sexType, true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -114,11 +116,21 @@ namespace RJWSexperience.Ideology.Patches
 | 
			
		|||
					if (human.IsSlave) RapeEffectSlave(human);
 | 
			
		||||
					if (human.Ideo?.IsVeneratedAnimal(partner) ?? false) Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithVeneratedAnimal.TaggedEvent(human, tag + HETag.BeenRaped + HETag.Gender(human), partner));
 | 
			
		||||
					else Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithAnimal.TaggedEvent(human, tag + HETag.BeenRaped + HETag.Gender(human), partner));
 | 
			
		||||
 | 
			
		||||
					if (human.Ideo != null && human.relations?.DirectRelationExists(PawnRelationDefOf.Bond, partner) == true)
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithBondedAnimal.TaggedEvent(human, tag + HETag.BeenRaped + HETag.Gender(human), partner));
 | 
			
		||||
					else
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithNonBondAnimal.TaggedEvent(human, tag + HETag.BeenRaped + HETag.Gender(human), partner));
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
				{
 | 
			
		||||
					if (human.Ideo?.IsVeneratedAnimal(partner) ?? false) Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithVeneratedAnimal.TaggedEvent(human, tag + HETag.Gender(human), partner));
 | 
			
		||||
					else Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithAnimal.TaggedEvent(human, tag + HETag.Gender(human), partner));
 | 
			
		||||
 | 
			
		||||
					if (human.Ideo != null && human.relations?.DirectRelationExists(PawnRelationDefOf.Bond, partner) == true)
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithBondedAnimal.TaggedEvent(human, tag + HETag.Gender(human), partner));
 | 
			
		||||
					else
 | 
			
		||||
						Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithNonBondAnimal.TaggedEvent(human, tag + HETag.Gender(human), partner));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else if (xxx.is_human(partner))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,6 +17,8 @@ namespace RJWSexperience.Ideology
 | 
			
		|||
		[MayRequireIdeology] public static readonly MemeDef Necrophile = DefDatabase<MemeDef>.GetNamed("Necrophile");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef SexWithAnimal = DefDatabase<HistoryEventDef>.GetNamed("SexWithAnimal");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef SexWithVeneratedAnimal = DefDatabase<HistoryEventDef>.GetNamed("SexWithVeneratedAnimal");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef SexWithBondedAnimal = DefDatabase<HistoryEventDef>.GetNamed("SexWithBondedAnimal");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef SexWithNonBondAnimal = DefDatabase<HistoryEventDef>.GetNamed("SexWithNonBondAnimal");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef Raped = DefDatabase<HistoryEventDef>.GetNamed("Raped");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RapedSlave = DefDatabase<HistoryEventDef>.GetNamed("RapedSlave");
 | 
			
		||||
		[MayRequireIdeology] public static readonly HistoryEventDef RapedPrisoner = DefDatabase<HistoryEventDef>.GetNamed("RapedPrisoner");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
      <li>
 | 
			
		||||
        <li>Bestiality_Acceptable</li>
 | 
			
		||||
        <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
        <li>Bestiality_BondOnly</li>
 | 
			
		||||
        <li>Bestiality_Honorable</li>
 | 
			
		||||
      </li>
 | 
			
		||||
    </requireOne>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,16 @@
 | 
			
		|||
    <label>sex with venerated animal</label>
 | 
			
		||||
  </HistoryEventDef>
 | 
			
		||||
 | 
			
		||||
  <HistoryEventDef>
 | 
			
		||||
    <defName>SexWithBondedAnimal</defName>
 | 
			
		||||
    <label>Sex with bonded</label>
 | 
			
		||||
  </HistoryEventDef>
 | 
			
		||||
 | 
			
		||||
  <HistoryEventDef>
 | 
			
		||||
    <defName>SexWithNonBondAnimal</defName>
 | 
			
		||||
    <label>Sex with Non Bonded</label>
 | 
			
		||||
  </HistoryEventDef>
 | 
			
		||||
 | 
			
		||||
  <!-- Precepts -->
 | 
			
		||||
 | 
			
		||||
  <PreceptDef>
 | 
			
		||||
| 
						 | 
				
			
			@ -258,6 +268,74 @@
 | 
			
		|||
    </modExtensions>
 | 
			
		||||
  </PreceptDef>
 | 
			
		||||
 | 
			
		||||
  <!-- Bond Only precept by Hawkeye32 -->
 | 
			
		||||
  <PreceptDef>
 | 
			
		||||
    <defName>Bestiality_BondOnly</defName>
 | 
			
		||||
    <issue>Bestiality</issue>
 | 
			
		||||
    <label>only bonded</label>
 | 
			
		||||
    <description>Sex with Bonded animals should be honored and respected. But having sex with other animals will be denounced.</description>
 | 
			
		||||
    <impact>High</impact>
 | 
			
		||||
    <displayOrderInIssue>0</displayOrderInIssue>
 | 
			
		||||
    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
			
		||||
    <conflictingMemes>
 | 
			
		||||
      <li>HumanPrimacy</li>
 | 
			
		||||
    </conflictingMemes>
 | 
			
		||||
    <requiredMemes>
 | 
			
		||||
      <li>Zoophile</li>
 | 
			
		||||
    </requiredMemes>
 | 
			
		||||
    <comps>
 | 
			
		||||
      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
			
		||||
        <eventDef>SexWithNonBondAnimal</eventDef>
 | 
			
		||||
        <thought>Bestiality_NonBonded_Disapproved</thought>
 | 
			
		||||
        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li Class="PreceptComp_KnowsMemoryThought">
 | 
			
		||||
        <eventDef>SexWithNonBondAnimal</eventDef>
 | 
			
		||||
        <thought>Bestiality_NonBonded_Know_Disapproved</thought>
 | 
			
		||||
        <description>Someone sex with any animal</description>
 | 
			
		||||
        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
			
		||||
        <eventDef>SexWithBondedAnimal</eventDef>
 | 
			
		||||
        <thought>Bestiality_Bond_Approved</thought>
 | 
			
		||||
        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li Class="PreceptComp_KnowsMemoryThought">
 | 
			
		||||
        <eventDef>SexWithBondedAnimal</eventDef>
 | 
			
		||||
        <thought>Bestiality_Bond_Approved_Know</thought>
 | 
			
		||||
        <description>Someone sex with non bonded animal</description>
 | 
			
		||||
        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
			
		||||
      </li>
 | 
			
		||||
    </comps>
 | 
			
		||||
    <modExtensions>
 | 
			
		||||
      <li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
 | 
			
		||||
        <rules>
 | 
			
		||||
          <li>
 | 
			
		||||
            <filter>
 | 
			
		||||
              <isAnimal>true</isAnimal>
 | 
			
		||||
              <hasOneOfRelations>
 | 
			
		||||
                <li>Bond</li>
 | 
			
		||||
              </hasOneOfRelations>
 | 
			
		||||
            </filter>
 | 
			
		||||
            <multiplier>2.0</multiplier>
 | 
			
		||||
          </li>
 | 
			
		||||
          <li>
 | 
			
		||||
            <filter>
 | 
			
		||||
              <isAnimal>true</isAnimal>
 | 
			
		||||
              <hasNoneOfRelations>
 | 
			
		||||
                <li>Bond</li>
 | 
			
		||||
              </hasNoneOfRelations>
 | 
			
		||||
            </filter>
 | 
			
		||||
            <multiplier>0.1</multiplier>
 | 
			
		||||
          </li>
 | 
			
		||||
        </rules>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyBestialityMtb">
 | 
			
		||||
        <multiplier>0.5</multiplier>
 | 
			
		||||
      </li>
 | 
			
		||||
    </modExtensions>
 | 
			
		||||
  </PreceptDef>
 | 
			
		||||
 | 
			
		||||
  <PreceptDef>
 | 
			
		||||
    <defName>Bestiality_Honorable</defName>
 | 
			
		||||
    <issue>Bestiality</issue>
 | 
			
		||||
| 
						 | 
				
			
			@ -326,6 +404,7 @@
 | 
			
		|||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
      <li>Bestiality_BondOnly</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
| 
						 | 
				
			
			@ -349,6 +428,7 @@
 | 
			
		|||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
      <li>Bestiality_BondOnly</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
| 
						 | 
				
			
			@ -369,6 +449,7 @@
 | 
			
		|||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
      <li>Bestiality_BondOnly</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
| 
						 | 
				
			
			@ -392,6 +473,7 @@
 | 
			
		|||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
      <li>Bestiality_BondOnly</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
| 
						 | 
				
			
			@ -412,6 +494,7 @@
 | 
			
		|||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
      <li>Bestiality_BondOnly</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
| 
						 | 
				
			
			@ -435,6 +518,7 @@
 | 
			
		|||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
      <li>Bestiality_BondOnly</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
| 
						 | 
				
			
			@ -480,6 +564,80 @@
 | 
			
		|||
    </stages>
 | 
			
		||||
  </ThoughtDef>
 | 
			
		||||
 | 
			
		||||
  <ThoughtDef>
 | 
			
		||||
    <defName>Bestiality_NonBonded_Disapproved</defName>
 | 
			
		||||
    <durationDays>6</durationDays>
 | 
			
		||||
    <stackLimit>1</stackLimit>
 | 
			
		||||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
      <li>
 | 
			
		||||
        <label>sex with non-bonded animal</label>
 | 
			
		||||
        <description>I had sex with a non bonded animal. How could I?</description>
 | 
			
		||||
        <baseMoodEffect>-5</baseMoodEffect>
 | 
			
		||||
      </li>
 | 
			
		||||
    </stages>
 | 
			
		||||
  </ThoughtDef>
 | 
			
		||||
	
 | 
			
		||||
  <ThoughtDef>
 | 
			
		||||
    <defName>Bestiality_Bond_Approved</defName>
 | 
			
		||||
    <durationDays>6</durationDays>
 | 
			
		||||
    <stackLimit>1</stackLimit>
 | 
			
		||||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Abhorrent</li>
 | 
			
		||||
      <li>Bestiality_Horrible</li>
 | 
			
		||||
      <li>Bestiality_Disapproved</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
      <li>
 | 
			
		||||
        <label>sex with bonded animal</label>
 | 
			
		||||
        <description>I went wild with my bonded animal!</description>
 | 
			
		||||
        <baseMoodEffect>8</baseMoodEffect>
 | 
			
		||||
      </li>
 | 
			
		||||
    </stages>
 | 
			
		||||
  </ThoughtDef>
 | 
			
		||||
 | 
			
		||||
  <ThoughtDef>
 | 
			
		||||
    <defName>Bestiality_Bond_Approved_Know</defName>
 | 
			
		||||
    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
			
		||||
    <durationDays>15</durationDays>
 | 
			
		||||
    <stackLimit>2</stackLimit>
 | 
			
		||||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Abhorrent</li>
 | 
			
		||||
      <li>Bestiality_Horrible</li>
 | 
			
		||||
      <li>Bestiality_Disapproved</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
      <li>
 | 
			
		||||
        <label>sex with bonded animal</label>
 | 
			
		||||
        <description>Shares a special bond.</description>
 | 
			
		||||
        <baseOpinionOffset>5</baseOpinionOffset>
 | 
			
		||||
      </li>
 | 
			
		||||
    </stages>
 | 
			
		||||
  </ThoughtDef>
 | 
			
		||||
 | 
			
		||||
  <ThoughtDef>
 | 
			
		||||
    <defName>Bestiality_NonBonded_Know_Disapproved</defName>
 | 
			
		||||
    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
			
		||||
    <durationDays>15</durationDays>
 | 
			
		||||
    <stackLimit>100</stackLimit>
 | 
			
		||||
    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
			
		||||
    <nullifyingPrecepts>
 | 
			
		||||
      <li>Bestiality_Honorable</li>
 | 
			
		||||
      <li>Bestiality_Acceptable</li>
 | 
			
		||||
      <li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
    </nullifyingPrecepts>
 | 
			
		||||
    <stages>
 | 
			
		||||
      <li>
 | 
			
		||||
        <label>Had sex with a non bonded animal.</label>
 | 
			
		||||
        <baseOpinionOffset>-10</baseOpinionOffset>
 | 
			
		||||
      </li>
 | 
			
		||||
    </stages>
 | 
			
		||||
  </ThoughtDef>
 | 
			
		||||
 | 
			
		||||
  <ThoughtDef>
 | 
			
		||||
    <defName>Bestiality_Honorable</defName>
 | 
			
		||||
    <durationDays>6</durationDays>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
		<value>
 | 
			
		||||
			<nullifyingPrecepts>
 | 
			
		||||
				<li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
				<li>Bestiality_BondOnly</li>
 | 
			
		||||
				<li>Bestiality_Honorable</li>
 | 
			
		||||
			</nullifyingPrecepts>
 | 
			
		||||
		</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +17,7 @@
 | 
			
		|||
		<value>
 | 
			
		||||
			<nullifyingPrecepts>
 | 
			
		||||
				<li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
				<li>Bestiality_BondOnly</li>
 | 
			
		||||
				<li>Bestiality_Honorable</li>
 | 
			
		||||
			</nullifyingPrecepts>
 | 
			
		||||
		</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +28,7 @@
 | 
			
		|||
		<value>
 | 
			
		||||
			<nullifyingPrecepts>
 | 
			
		||||
				<li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
				<li>Bestiality_BondOnly</li>
 | 
			
		||||
				<li>Bestiality_Honorable</li>
 | 
			
		||||
			</nullifyingPrecepts>
 | 
			
		||||
		</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -36,6 +39,7 @@
 | 
			
		|||
		<value>
 | 
			
		||||
			<nullifyingPrecepts>
 | 
			
		||||
				<li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
				<li>Bestiality_BondOnly</li>
 | 
			
		||||
				<li>Bestiality_Honorable</li>
 | 
			
		||||
			</nullifyingPrecepts>
 | 
			
		||||
		</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +50,7 @@
 | 
			
		|||
		<value>
 | 
			
		||||
			<nullifyingPrecepts>
 | 
			
		||||
				<li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
				<li>Bestiality_BondOnly</li>
 | 
			
		||||
				<li>Bestiality_Honorable</li>
 | 
			
		||||
			</nullifyingPrecepts>
 | 
			
		||||
		</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -56,6 +61,7 @@
 | 
			
		|||
		<value>
 | 
			
		||||
			<nullifyingPrecepts>
 | 
			
		||||
				<li>Bestiality_OnlyVenerated</li>
 | 
			
		||||
				<li>Bestiality_BondOnly</li>
 | 
			
		||||
				<li>Bestiality_Honorable</li>
 | 
			
		||||
			</nullifyingPrecepts>
 | 
			
		||||
		</value>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue