This commit is contained in:
Tory 2022-01-14 23:19:54 -08:00
parent 9dd46c99d2
commit ed97aed6d8
4148 changed files with 187454 additions and 1 deletions

View file

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Sized Apparel for RJW Chaeren Test</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_BasicShirt"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_TribalA"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_Parka"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_CollarShirt"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="ChStringBikini"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="ChSwimsuit"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Dragonian V1.3(unofficial)</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="DR_BasicWear"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="DR_BasicDress"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="DR_GreekHanZo"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="DR_GreekString"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Ideology</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_BodyStrap"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Kurin HAR Edition</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Kurin_OnSkin_Open_Back_Knit"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Kurin_Shell_Cardigan"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Kurin_Shell_Duster"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>[1.3]Littluna Race</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="HAR_LL_S_a"]</xpath> <!-- リトルコート -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="HAR_LL_S_c"]</xpath> <!-- リトルマント -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="HAR_LL_O_a"]</xpath> <!-- 下着A(リトルーナ) -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Moyo-From the depth</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Moyo_Duster"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Paniel the Automata</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="PN_ApparelCape"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,256 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Rabbie The Moonrabbit race</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_HighCloak"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_Energygown"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_Inteligown"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_Earjacket"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_Starjacket"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_Summerouter"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RB_Winterouter"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>NewRatkinPlus</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RK_Cardigan"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RK_WinterRobe"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RK_WhiteCoat"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RK_SantaRobe"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="RK_RoyalRobe"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Royalty</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_Cape"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_Corset"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,377 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Apparel Expanded — Accessories</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAEA_Apparel_BattleBanner"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/belly_huge</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/VAE_Accessories.CaravanCapacityApparelDef[defName="VAEA_Apparel_Backpack"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/belly_huge</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAEA_Apparel_Quiver"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/belly_huge</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAEA_Apparel_MiniTurretPack"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/belly_huge</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Belly/FeaturelessBelly</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Apparel Expanded</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAE_Apparel_Overalls"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAE_Apparel_Apron"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAE_Apparel_LabCoat"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,248 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Armour Expanded</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAE_Apparel_BulletproofVest"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<!-- <li> -->
<!-- <revealingPath>Belly/belly_huge</revealingPath> -->
<!-- <revealingBodyTypes> -->
<!-- <li>Female</li> -->
<!-- <li>Thin</li> -->
<!-- <li>Male</li> -->
<!-- <li>Fat</li> -->
<!-- <li>Hulk</li> -->
<!-- </revealingBodyTypes> -->
<!-- </li> -->
<!-- <li> -->
<!-- <revealingPath>Belly/FeaturelessBelly</revealingPath> -->
<!-- <revealingBodyTypes> -->
<!-- <li>Female</li> -->
<!-- <li>Thin</li> -->
<!-- <li>Male</li> -->
<!-- <li>Fat</li> -->
<!-- <li>Hulk</li> -->
<!-- </revealingBodyTypes> -->
<!-- </li> -->
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAE_Apparel_WoodenArmor"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VAE_Apparel_AdvancedVest"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Weapons Expanded - Heavy Weapons</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VWE_Apparel_Exoframe"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Factions Expanded - Medieval</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VFEM_Apparel_KingsRobes"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Factions Expanded - Vikings</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VFEV_Apparel_JarlCape"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="VFEV_Apparel_RoyalFurCoat"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- It is not necessary to list every bodypart, only those you want to reveal because they are covered (E.g., crotchless pants that cover "Legs" would only need an entry for "Genitals/FeaturelessCrotch") More won't break anything, but you can save yourself some work. -->
<!-- The code works this way: -->
<!-- - The CanDraw() method of AlienRaces returns a false, my code then checks if CanDrawRevealing() might be true -->
<!-- - It makes a list of all clothes the character is wearing that would cover the bodyAddon, using the bodypartgroup (Eg. Torso, Legs) as defined in the bodyAddon Def entry <hiddenUnderApparelFor> -->
<!-- - If every clothing item on that list has a revealingPath entry matching both the <path> defined for the bodyAddon and our pawn's bodytpe, the bodyAddon gets drawn -->
<!-- - This should work for any type of bodyaddon, e.g. tails too. -->
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_FlakVest"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<!-- <li> -->
<!-- <revealingPath>Belly/belly_huge</revealingPath> -->
<!-- <revealingBodyTypes> -->
<!-- <li>Female</li> -->
<!-- <li>Thin</li> -->
<!-- <li>Male</li> -->
<!-- <li>Fat</li> -->
<!-- <li>Hulk</li> -->
<!-- </revealingBodyTypes> -->
<!-- </li> -->
<!-- <li> -->
<!-- <revealingPath>Belly/FeaturelessBelly</revealingPath> -->
<!-- <revealingBodyTypes> -->
<!-- <li>Female</li> -->
<!-- <li>Thin</li> -->
<!-- <li>Male</li> -->
<!-- <li>Fat</li> -->
<!-- <li>Hulk</li> -->
<!-- </revealingBodyTypes> -->
<!-- </li> -->
<li>
<revealingPath>Anus/FeaturelessAnus</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Apparel_Duster"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Genitals/FeaturelessCrotch</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Testicles/FeaturelessTesticles</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Genitals/Pubes/Pubes</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
<li>Male</li>
<li>Fat</li>
<li>Hulk</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,59 @@
Vanilla
Flak vest - all but belly Apparel_FlakVest
duster - g Apparel_Duster
Royalty
Ludeon.RimWorld.Royalty
Cape - r Apparel_Cape
corset - rl Apparel_Corset
Ideology
Ludeon.RimWorld.Ideology
slave geart thing - all
<name>Vanilla Factions Expanded - Vikings</name>
<packageId>OskarPotocki.VFE.Vikings</packageId>
jarl coat - g VFEV_Apparel_JarlCape
noble coat - g VFEV_Apparel_RoyalFurCoat
<ModMetaData>
<name>Vanilla Factions Expanded - Medieval</name>
<packageId>OskarPotocki.VanillaFactionsExpanded.MedievalModule</packageId>
Mediveal
kings rope - g VFEM_Apparel_KingsRobes
<name>Vanilla Apparel Expanded — Accessories</name>
<packageId>VanillaExpanded.VAEAccessories</packageId>
VAEA_Apparel_Backpack
VAEA_Apparel_BattleBanner
VAEA_Apparel_Quiver
VAEA_Apparel_MiniTurretPack
<ModMetaData>
<name>Vanilla Apparel Expanded</name>
<packageId>VanillaExpanded.VAPPE</packageId>
overall - r l VAE_Apparel_Overalls
apron - r l VAE_Apparel_Apron
lab coat - g VAE_Apparel_LabCoat
<name>Vanilla Armour Expanded</name>
<author>Oskar Potocki, Trunken, Sarg Bjornson</author>
<packageId>VanillaExpanded.VARME</packageId>
bp vest - all but belly VAE_Apparel_BulletproofVest
advanced vest - all but belly VAE_Apparel_AdvancedVest
wooden armor - all but belly VAE_Apparel_WoodenArmor