Merge branch 'dev' of https://github.com/vegapnk/RJW-Genes into bs-support

This commit is contained in:
a flock of birds 2024-05-31 17:20:12 +01:00
commit 620f2daab2
39 changed files with 1176 additions and 196 deletions

Binary file not shown.

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<AbilityDef ParentName="AbilityTouchBase">
<defName>rjw_genes_ability_cocoonweaver</defName>
<label>Cocoon</label>
<description>Weaves the victim into a (self-sustaining) cocoon. The victim cannot move, but can be bred.</description>
<iconPath>Genes/Icons/Cocoon</iconPath>
<stunTargetWhileCasting>true</stunTargetWhileCasting>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<warmupMote>Mote_CocoonStencil</warmupMote>
<warmupEffecter>CocoonWeave</warmupEffecter>
<jobDef>CastAbilityOnThingMelee</jobDef>
<displayOrder>404</displayOrder>
<!-- 30k Ticks = 12h -->
<cooldownTicksRange>30000</cooldownTicksRange>
<verbProperties>
<verbClass>Verb_CastAbilityTouch</verbClass>
<drawAimPie>false</drawAimPie>
<range>-1</range>
<warmupTime>15</warmupTime>
<targetParams>
<canTargetAnimals>true</canTargetAnimals>
<canTargetSelf>false</canTargetSelf>
<canTargetBuildings>false</canTargetBuildings>
<canTargetMechs>false</canTargetMechs>
<canTargetBloodfeeders>true</canTargetBloodfeeders>
</targetParams>
</verbProperties>
<comps>
<li Class="RJW_Genes.CompProperties_AbilityCocoonWeaver"/>
</comps>
</AbilityDef>
</Defs>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<EffecterDef>
<defName>CocoonWeave</defName>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerChance</subEffecterClass>
<fleckDef>BloodSplash</fleckDef>
<chancePerTick>0.15</chancePerTick>
<burstCount>2~3</burstCount>
<scale>0.75~1.5</scale>
<color>(244, 244, 244)</color>
<spawnLocType>RandomDrawPosOnTarget</spawnLocType>
<attachToSpawnThing>true</attachToSpawnThing>
</li>
</children>
</EffecterDef>
<ThingDef ParentName="MoteBase">
<defName>Mote_CocoonStencil</defName>
<thingClass>MoteAttached</thingClass>
<altitudeLayer>Terrain</altitudeLayer>
<mote>
<fadeInTime>0.1</fadeInTime>
<fadeOutTime>0.4</fadeOutTime>
<solidTime>999999</solidTime>
<needsMaintenance>True</needsMaintenance>
</mote>
<graphicData>
<graphicClass>Graphic_PawnBodySilhouette</graphicClass>
<shaderType>PawnSilhouetteStencil</shaderType>
<texPath>Things/Mote/Transparent</texPath>
</graphicData>
</ThingDef>
</Defs>

View file

@ -2,28 +2,31 @@
<Defs>
<!-- rjw_genes_mechbreeder,rjw_genes_insectincubator and rjw_genes_insectbreeder were kindly supplied by `Shabalox` https://github.com/Shabalox/RJW_Genes_Addons/ -->
<GeneDef>
<GeneDef Name="BreedingBase" Abstract="True">
<displayCategory>rjw_genes_breeding</displayCategory>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_mechbreeder</defName>
<label>Mechbreeder</label>
<description>Pawns with this gene are able to birth mechanoids unharmed.</description>
<iconPath>World/WorldObjects/Expanding/Mechanoids</iconPath>
<displayOrderInCategory>51</displayOrderInCategory>
<displayCategory>rjw_genes_breeding</displayCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_zoophile</defName>
<label>Zoophile</label>
<displayCategory>rjw_genes_breeding</displayCategory>
<description>Xenotypes with this Gene are Zoophile.</description>
<iconPath>Genes/Icons/Zoophile</iconPath>
<displayOrderInCategory>54</displayOrderInCategory>
@ -32,22 +35,46 @@
<def>Zoophile</def>
</li>
</forcedTraits>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_fertile_anus</defName>
<label>Fertile Anus</label>
<displayCategory>rjw_genes_breeding</displayCategory>
<description>Xenotypes with this gene have a functional uterus connected to the anal cavity even for males</description>
<iconPath>Genes/Icons/Fertile_anus</iconPath>
<displayOrderInCategory>54</displayOrderInCategory>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_insectincubator</defName>
<label>Insect Incubator</label>
<geneClass>RJW_Genes.Gene_InsectIncubator</geneClass>
<description>Pawns with this gene fertilize insect eggs that are placed inside them.</description>
<iconPath>Genes/Icons/Egg</iconPath>
<displayOrderInCategory>52</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_insectbreeder</defName>
<label>Insect Breeder</label>
<description>Pawns with this gene are able to fertilize eggs with any fertile penis.</description>
<iconPath>Genes/Icons/Insect_Breeder</iconPath>
<displayOrderInCategory>53</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_fervent_ovipositor</defName>
<label>Fervent Ovipositor</label>
<geneClass>RJW_Genes.Gene_FerventOvipositor</geneClass>
<description>Pawns that have a female (egg producing) ovipositor produce eggs at drastically increased speed.</description>
<iconPath>Genes/Icons/Fervent_Ovipositor</iconPath>
<displayOrderInCategory>55</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
</GeneDef>
</Defs>

View file

@ -5,7 +5,7 @@
<exclusionTags>
<li>CumAmount</li>
</exclusionTags>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>

View file

@ -3,6 +3,7 @@
<GeneDef Name="GeneExtraGenitaliaBase" Abstract="True">
<displayCategory>rjw_genes_genitalia_extras</displayCategory>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>

View file

@ -7,7 +7,7 @@
<exclusionTags>
<li>GenitalType</li>
</exclusionTags>
<randomChosen>true</randomChosen>
<randomChosen>false</randomChosen>
<biostatCpx>0</biostatCpx>
<modExtensions>

View file

@ -14,6 +14,7 @@
</li>
</forcedTraits>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
@ -36,6 +37,7 @@
</li>
</forcedTraits>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
@ -44,6 +46,7 @@
</modExtensions>
</GeneDef>
<!--
<GeneDef>
<defName>rjw_genes_sadist_gene</defName>
<label>Sadist</label>
@ -65,7 +68,8 @@
</li>
</modExtensions>
</GeneDef>
-->
<GeneDef>
<defName>rjw_genes_masochist</defName>
<label>Masochist</label>
@ -80,6 +84,7 @@
</li>
</forcedTraits>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
@ -105,6 +110,7 @@
<li>rjw_genes_sexual_orientation</li>
</exclusionTags>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
@ -130,6 +136,7 @@
<li>rjw_genes_sexual_orientation</li>
</exclusionTags>
<randomChosen>false</randomChosen>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
@ -151,6 +158,7 @@
<biostatMet>-1</biostatMet>
<biostatCpx>2</biostatCpx>
<randomChosen>false</randomChosen>
<exclusionTags>
<li>rjw_genes_sexual_orientation</li>
</exclusionTags>

View file

@ -109,4 +109,21 @@
</modExtensions>
</GeneDef>
<GeneDef ParentName="SpecialBase">
<defName>rjw_genes_cocoonweaver</defName>
<label>Cocoon Weaver</label>
<labelShortAdj>cocooner</labelShortAdj>
<description>Carriers of this gene can produce a cocoon to prepare helpless (or willing) victims for breeding.</description>
<iconPath>Genes/Icons/Cocoon</iconPath>
<displayOrderInCategory>11</displayOrderInCategory>
<abilities>
<li>rjw_genes_ability_cocoonweaver</li>
</abilities>
<descriptionHyperlinks>
<AbilityDef>rjw_genes_ability_cocoonweaver</AbilityDef>
</descriptionHyperlinks>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
</GeneDef>
</Defs>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<IncidentDef>
<defName>SuccubusDreamVisit</defName>
<label>dirty dreams</label>
<category>Misc</category>
<targetTags>
<li>Map_PlayerHome</li>
</targetTags>
<workerClass>RJW_Genes.IncidentWorker_SuccubusDreamVisit</workerClass>
<baseChance>1.0</baseChance>
<minRefireDays>10</minRefireDays>
<pointsScaleable>false</pointsScaleable>
</IncidentDef>
</Defs>

View file

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnKindDef>
<defName>rjw_genes_succubus</defName>
<label>succubus</label>
<combatPower>50</combatPower>
<race>Human</race>
<xenotypeSet>
<xenotypeChances>
<rjw_genes_succubus>999</rjw_genes_succubus>
</xenotypeChances>
</xenotypeSet>
<acceptArrestChanceFactor>0.5</acceptArrestChanceFactor>
<useFactionXenotypes>false</useFactionXenotypes>
<minGenerationAge>18</minGenerationAge>
<maxGenerationAge>27</maxGenerationAge>
<itemQuality>Poor</itemQuality>
<backstoryCryptosleepCommonality>0.0</backstoryCryptosleepCommonality>
<isFighter>false</isFighter>
<gearHealthRange>
<min>0.3</min>
<max>0.9</max>
</gearHealthRange>
<apparelIgnoreSeasons>true</apparelIgnoreSeasons>
<apparelTags>
<li>Tribal</li>
</apparelTags>
<apparelMoney>
<min>0</min>
<max>0</max>
</apparelMoney>
<apparelAllowHeadgearChance>0</apparelAllowHeadgearChance>
<techHediffsMoney>
<min>0</min>
<max>0</max>
</techHediffsMoney>
<techHediffsTags>
<li>Poor</li>
</techHediffsTags>
<techHediffsChance>0.0</techHediffsChance>
<initialWillRange>2~4</initialWillRange>
<initialResistanceRange>28~44</initialResistanceRange>
</PawnKindDef>
<PawnKindDef>
<defName>rjw_genes_incubus</defName>
<label>succubus</label>
<combatPower>50</combatPower>
<race>Human</race>
<xenotypeSet>
<xenotypeChances>
<rjw_genes_incubus>999</rjw_genes_incubus>
</xenotypeChances>
</xenotypeSet>
<acceptArrestChanceFactor>0.5</acceptArrestChanceFactor>
<useFactionXenotypes>false</useFactionXenotypes>
<minGenerationAge>18</minGenerationAge>
<maxGenerationAge>27</maxGenerationAge>
<itemQuality>Poor</itemQuality>
<backstoryCryptosleepCommonality>0.0</backstoryCryptosleepCommonality>
<isFighter>false</isFighter>
<gearHealthRange>
<min>0.3</min>
<max>0.9</max>
</gearHealthRange>
<apparelIgnoreSeasons>true</apparelIgnoreSeasons>
<apparelTags>
<li>Tribal</li>
</apparelTags>
<apparelMoney>
<min>0</min>
<max>0</max>
</apparelMoney>
<apparelAllowHeadgearChance>0</apparelAllowHeadgearChance>
<techHediffsMoney>
<min>0</min>
<max>0</max>
</techHediffsMoney>
<techHediffsTags>
<li>Poor</li>
</techHediffsTags>
<techHediffsChance>0.0</techHediffsChance>
<initialWillRange>2~4</initialWillRange>
<initialResistanceRange>28~44</initialResistanceRange>
</PawnKindDef>
</Defs>

View file

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TraitDef>
<defName>rjw_genes_sadist</defName>
<commonality>0.5</commonality>
<degreeDatas>
<li>
<label>Sadist</label>
<description>{PAWN_nameDef} is a sadist, enjoying blood and hurting others, may also be a little rapy.</description>
<socialFightChanceFactor>2</socialFightChanceFactor>
<allowedMeditationFocusTypes><li>Morbid</li></allowedMeditationFocusTypes>
<statOffsets>
<SexFrequency>0.1</SexFrequency>
</statOffsets>
<randomMentalState>RandomRape</randomMentalState>
<randomMentalStateMtbDaysMoodCurve>
<points>
<li>(0, 15)</li>
<li>(50, 50)</li>
<li>(100, 100)</li>
</points>
</randomMentalStateMtbDaysMoodCurve>
</li>
</degreeDatas>
<requiredWorkTags>
<li>Violent</li>
</requiredWorkTags>
</TraitDef>
</Defs>

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<LanguageData>
<StatsReport_QueenCloseBy>queen in proximity</StatsReport_QueenCloseBy>
<StatsReport_QueenAbsent>queen absent</StatsReport_QueenAbsent>
<StatsReport_MultipleQueens>multiple queens present</StatsReport_MultipleQueens>
</LanguageData>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<rjw_genes_queenbirth_letter_label>New Queen</rjw_genes_queenbirth_letter_label>
<rjw_genes_queenbirth_letter_description>A new Queen was born! Make sure to adress inheritance before the new queen reaches adolesence.</rjw_genes_queenbirth_letter_description>
</LanguageData>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<!--
DevNote:
There used to be an issue with a Gene-Mod Called "Cum-Addiction Gene". That mod just overwrote the complete UsedCondom.xml and Sexperience Cum.xml
This would lead to two types of failures:
A) If this mod was before the other mod, changes were just overwritten
B) If this mod was after, there was an issue in targetting the XML throwing a patch error
Please if you write mods, do not just purge out XMLs. Thanks.
This patch was kindly provided by Infi over Discord.
-->
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="UsedCondom"]/ingestible/outcomeDoers</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="UsedCondom"]/ingestible</xpath>
<value>
<outcomeDoers>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</outcomeDoers>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="UsedCondom"]/ingestible/outcomeDoers</xpath>
<value>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</value>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<!--
DevNote:
There used to be an issue with a Gene-Mod Called "Cum-Addiction Gene". That mod just overwrote the
complete UsedCondom.xml and Sexperience Cum.xml
This would lead to two types of failures:
A) If this mod was before the other mod, changes were just overwritten
B) If this mod was after, there was an issue in targetting the XML throwing a patch error
Please if you write mods, do not just purge out XMLs. Thanks.
This patch was kindly mirrored after Infis Patch of UsedCondoms.
-->
<Operation Class="PatchOperationFindMod">
<mods>
<li>RJW Sexperience</li>
</mods>
<match Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="GatheredCum"]/ingestible/outcomeDoers</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="GatheredCum"]/ingestible</xpath>
<value>
<outcomeDoers>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</outcomeDoers>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="GatheredCum"]/ingestible/outcomeDoers</xpath>
<value>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</value>
</match>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<!-- Copied from Vanilla BingingDrug. live selfish till rape someone. In the future add others ways to obtain lifeforce. -->
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThinkTreeDef[defName="MentalStateCritical"]/thinkRoot[@Class="ThinkNode_Tagger"]/subNodes</xpath>
<value>
<li Class="ThinkNode_ConditionalMentalState">
<state>rjw_genes_lifeforce_randomrape</state>
<subNodes>
<li Class="ThinkNode_ConditionalNeedPercentageAbove">
<need>Rest</need>
<threshold>0.05</threshold>
<invert>true</invert>
<subNodes>
<li Class="JobGiver_GetRest"/>
</subNodes>
</li>
<li Class="ThinkNode_PrioritySorter">
<minPriority>0.5</minPriority>
<subNodes>
<li Class="JobGiver_GetFood"/>
<li Class="ThinkNode_Priority_GetJoy">
<subNodes>
<li Class="JobGiver_GetJoy"/>
</subNodes>
</li>
</subNodes>
</li>
<li Class="rjw.JobGiver_RandomRape"/>
<li Class="JobGiver_WanderColony" />
</subNodes>
</li>
</value>
</Operation>
</Patch>

View file

@ -1,105 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowGuestExecuted"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowPrisonerDiedInnocent"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowColonistDied"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="HarvestedOrgan_Bloodlust"]/requiredTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowGuestOrganHarvested"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowColonistOrganHarvested"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="ButcheredHumanlikeCorpse"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowButcheredHumanlikeCorpse"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="ButcheredHumanlikeCorpseOpinion"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="ObservedLayingCorpse"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="ObservedLayingRottingCorpse"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="WitnessedDeathNonAlly"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KilledHumanlikeBloodlust"]/requiredTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="DeadMansApparel"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="HumanLeatherApparelSad"]/nullifyingTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="HumanLeatherApparelHappy"]/requiredTraits</xpath>
<value>
<li>rjw_genes_sadist</li>
</value>
</Operation>
</Patch>