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

Binary file not shown.

Binary file not shown.

Binary file not shown.

28
About/About.xml Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<ModMetaData>
<name>RimNudeWorld</name>
<author>Y-Adaptor</author>
<url></url>
<supportedVersions>
<li>1.1</li>
<li>1.2</li>
<li>1.3</li>
</supportedVersions>
<packageId>shauaputa.rimnudeworld</packageId>
<modDependencies>
<li>
<packageId>erdelf.HumanoidAlienRaces</packageId>
<displayName>Humanoid Alien Races 2.0</displayName>
<steamWorkshopUrl>https://steamcommunity.com/sharedfiles/filedetails/?id=839005762</steamWorkshopUrl>
</li>
</modDependencies>
<loadAfter>
<li>erdelf.HumanoidAlienRaces</li>
</loadAfter>
<description>
Addon for RJW. Adds dynamic rendering for genitals and breasts and also includes it's own compatible body textures. Requires Humanoid Alien Races before it.
</description>
</ModMetaData>

4
About/Manifest.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
<version>2.2.12.1</version>
</Manifest>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationConditional"><!--looks for a race that is using a rimnude addon-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/FeaturelessCrotch"]</xpath>
<match Class="PatchOperationSequence"><!--found at least one race that is using rimnude addons-->
<operations>
<li Class="PatchOperationConditional"><!--checks if the races uses out of date offset node-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[layerOffset]</xpath>
<match Class="PatchOperationSequence"><!--at least one does-->
<operations>
<li Class="PatchOperationReplace"><!--Race patch was not made for 1.3. Fixes all x,y offsets and removes outdated layerOffset-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[
hediffGraphics/Penis or
hediffGraphics/Vagina or
hediffGraphics/CatVagina="Genitals/Pubes/Pubes4" or
hediffGraphics/Breasts or
hediffGraphics/RJW_pregnancy]/layerOffset</xpath>
<value>
<defaultOffset>Tail</defaultOffset>
</value>
</li>
<!--<li Class="PatchOperationRemove">removes outdated layeroffset node
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li/layerOffset</xpath>
</li>-->
<!--==================Z Layer offsets==================-->
<!--penises-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Penis][path="Genitals/FeaturelessCrotch"]/offsets/south</xpath>
<value>
<layerOffset>-0.2763</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Penis][path="Genitals/FeaturelessCrotch"]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Penis][path="Genitals/FeaturelessCrotch"]/offsets/east</xpath>
<value>
<layerOffset>-0.2763</layerOffset>
</value>
</li>
<!--vaginas-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Vagina]/offsets/south</xpath>
<value>
<layerOffset>-0.289</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Vagina]/offsets/north</xpath>
<value>
<layerOffset>-0.289</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Vagina]/offsets/east</xpath>
<value>
<layerOffset>-0.289</layerOffset>
</value>
</li>
<!--pubes-->
<li Class="PatchOperationConditional"><!--checks if the races uses pubes addon-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina="Genitals/Pubes/Pubes4"]</xpath>
<match Class="PatchOperationSequence"><!--at least one does-->
<operations>
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina="Genitals/Pubes/Pubes4"]/offsets/south</xpath>
<value>
<layerOffset>-0.288</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina="Genitals/Pubes/Pubes4"]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina="Genitals/Pubes/Pubes4"]/offsets/east</xpath>
<value>
<layerOffset>-0.288</layerOffset>
</value>
</li>
</operations>
</match>
</li>
<!--breasts-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Breasts]/offsets/south</xpath>
<value>
<layerOffset>-0.2765</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Breasts]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Breasts]/offsets/east</xpath>
<value>
<layerOffset>-0.2765</layerOffset>
</value>
</li>
<!--balls-->
<li Class="PatchOperationConditional"><!--checks if the races uses balls addon-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]</xpath>
<match Class="PatchOperationSequence"><!--at least one does-->
<operations>
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]/offsets/south</xpath>
<value>
<layerOffset>-0.2764</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]/offsets/east</xpath>
<value>
<layerOffset>-0.2764</layerOffset>
</value>
</li>
</operations>
</match>
</li>
<!--bellies-->
<li Class="PatchOperationConditional"><!--checks if the races uses bellies addon-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]</xpath>
<match Class="PatchOperationSequence"><!--at least one does-->
<operations>
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/south</xpath>
<value>
<layerOffset>-0.28</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/east</xpath>
<value>
<layerOffset>-0.28</layerOffset>
</value>
</li>
</operations>
</match>
</li>
</operations>
</match>
</li>
</operations>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationReplace"><!--fixes all x,y offsets and removes outdated layerOffset-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[
hediffGraphics/Penis or
hediffGraphics/Vagina or
hediffGraphics/CatVagina or
hediffGraphics/Breasts or
hediffGraphics/RJW_pregnancy]/layerOffset</xpath>
<value>
<defaultOffset>Tail</defaultOffset>
</value>
</li>
<!--<li Class="PatchOperationRemove">removes outdated layeroffset node
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li/layerOffset</xpath>
</li>-->
<!--==================Z Layer offsets==================-->
<!--penises-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Penis][path="Genitals/FeaturelessCrotch"]/offsets/south</xpath>
<value>
<layerOffset>-0.2763</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Penis][path="Genitals/FeaturelessCrotch"]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Penis][path="Genitals/FeaturelessCrotch"]/offsets/east</xpath>
<value>
<layerOffset>-0.2763</layerOffset>
</value>
</li>
<!--vaginas-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Vagina]/offsets/south</xpath>
<value>
<layerOffset>-0.289</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Vagina]/offsets/north</xpath>
<value>
<layerOffset>-0.289</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Vagina]/offsets/east</xpath>
<value>
<layerOffset>-0.289</layerOffset>
</value>
</li>
<!--pubes-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina]/offsets/south</xpath>
<value>
<layerOffset>-0.288</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/CatVagina]/offsets/east</xpath>
<value>
<layerOffset>-0.288</layerOffset>
</value>
</li>
<!--breasts-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Breasts]/offsets/south</xpath>
<value>
<layerOffset>-0.2765</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Breasts]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/Breasts]/offsets/east</xpath>
<value>
<layerOffset>-0.2765</layerOffset>
</value>
</li>
<!--balls-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]/offsets/south</xpath>
<value>
<layerOffset>-0.2764</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/Testicles/FeaturelessTesticles"]/offsets/east</xpath>
<value>
<layerOffset>-0.2764</layerOffset>
</value>
</li>
<!--bellies-->
<li Class="PatchOperationAdd"><!--south-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/south</xpath>
<value>
<layerOffset>-0.28</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--north-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/north</xpath>
<value>
<layerOffset>-0.291</layerOffset>
</value>
</li>
<li Class="PatchOperationAdd"><!--east-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/east</xpath>
<value>
<layerOffset>-0.28</layerOffset>
</value>
</li>
</operations>
</Operation>
</Patch>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationConditional"><!--looks for a race that is using a rimnude addon-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[path="Genitals/FeaturelessCrotch"]</xpath>
<match Class="PatchOperationSequence"><!--found at least one race that is using rimnude addons-->
<operations>
<li Class="PatchOperationInsert"><!--Addons no longer show in debug log-->
<xpath>Defs/AlienRace.ThingDef_AlienRace/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[
hediffGraphics/Penis or
hediffGraphics/Vagina or
hediffGraphics/CatVagina or
hediffGraphics/Breasts or
hediffGraphics/RJW_pregnancy]/layerOffset</xpath>
<value>
<debug>false</debug>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationInsert"><!--Addons no longer show in debug log-->
<xpath>Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[
hediffGraphics/Penis or
hediffGraphics/Vagina or
hediffGraphics/CatVagina or
hediffGraphics/Breasts or
hediffGraphics/RJW_pregnancy]/layerOffset</xpath>
<value>
<debug>false</debug>
</value>
</li>
</operations>
</Operation>
</Patch>

File diff suppressed because it is too large Load Diff

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

23
LoadFolders.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<loadFolders>
<v1.1>
<li>Extra Patches/Debug Patch</li><!--Silences Rimnude body addons from logs-->
<li>Extra Patches/1.1 Colored Nudes</li><!--Colored genitals and breasts meant for 1.1 HAR-->
<li>/</li><!--General rimnude patches and textures-->
<li>1.1 and 1.2 Assembly</li><!--C# compiled for 1.1-->
</v1.1>
<v1.2>
<li>Extra Patches/Debug Patch</li><!--Silences Rimnude body addons from logs-->
<li>Extra Patches/1.2 and 1.3 Colored Nudes</li><!--Colored genitals and breasts meant for 1.2+ HAR-->
<li>/</li><!--General rimnude patches and textures-->
<li>1.1 and 1.2 Assembly</li><!--C# compiled for 1.2-->
</v1.2>
<v1.3>
<li>Extra Patches/1.3 Offset Patch</li><!--Fixes all offsets to work same way in 1.3 as did in 1.1 and 1.2-->
<li>Extra Patches/Revealing Apparel</li>
<li>Extra Patches/Debug Patch</li><!--Silences Rimnude body addons from logs-->
<li>Extra Patches/1.2 and 1.3 Colored Nudes</li><!--Colored genitals and breasts meant for 1.2+ HAR-->
<li>/</li><!--General rimnude patches and textures-->
<li>1.3 Assembly</li><!--C# compiled for 1.3-->
</v1.3>
</loadFolders>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="Human" and @Class="AlienRace.ThingDef_AlienRace"]</xpath>
<success>Always</success>
<nomatch Class="PatchOperationAttributeSet">
<xpath>Defs/ThingDef[defName="Human"]</xpath>
<attribute>Class</attribute>
<value>AlienRace.ThingDef_AlienRace</value>
</nomatch>
</li>
<li Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings</xpath>
<success>Always</success>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="Human"]</xpath>
<value>
<alienRace>
<generalSettings />
</alienRace>
</value>
</nomatch>
</li>
<li Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings/alienPartGenerator</xpath>
<success>Always</success>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings</xpath>
<value>
<alienPartGenerator />
</value>
</nomatch>
</li>
<li Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings/alienPartGenerator/bodyAddons</xpath>
<success>Always</success>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings/alienPartGenerator</xpath>
<value>
<bodyAddons />
</value>
</nomatch>
</li>
<li Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings/alienPartGenerator/aliencrowntypes</xpath>
<success>Always</success>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="Human"]/alienRace/generalSettings/alienPartGenerator</xpath>
<value>
<aliencrowntypes>
<li>Average_Normal</li>
<li>Average_Pointy</li>
<li>Average_Wide</li>
<li>Narrow_Normal</li>
<li>Narrow_Pointy</li>
<li>Narrow_Wide</li>
</aliencrowntypes>
</value>
</nomatch>
</li>
</operations>
</Operation>
</Patch>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Facial Stuff 1.1</li>
</mods>
<match Class="PatchOperationFindMod">
<mods>
<li>AlienFaces</li>
</mods>
<match Class="PatchOperationReplace">
<xpath>/Defs/ThingDef[defName = "Human"]/comps</xpath>
<value>
<comps>
<li Class = "FacialStuff.CompProperties_BodyAnimator">
<!--needed for everything with hands-->
<bipedWithHands>true</bipedWithHands>
<!--which hand texture?-->
<handType>Human</handType>
<!--custom drawers can be used here-->
<bodyDrawers>
<li Class ="AlienFaces.AlienBipedDrawer"/>
</bodyDrawers>
</li>
<li Class = "FacialStuff.CompProperties_Face">
<!--if false, vanilla heads are used, otherwise the FS blank texture is used-->
<needsBlankHumanHead>true</needsBlankHumanHead>
<!-- off = no mouth-->
<hasMouth>true</hasMouth>
<!--race can have beards?-->
<hasBeard>true</hasBeard>
<!--race can have wrinkles?-->
<hasWrinkles>true</hasWrinkles>
<!--eyes?-->
<hasEyes>true</hasEyes>
<!--head rotation / tracking-->
<canRotateHead>true</canRotateHead>
<!--the drawer for the head. more than one can be defined-->
<headDrawers>
<li Class ="AlienFaces.AlienHeadDrawer"/>
<!-- <li Class ="FacialStuff.SecondHeadDrawer"/>-->
</headDrawers>
</li>
</comps>
</value>
</match>
</match>
</Operation>
</Patch>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Altmer.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1338
Patches/NudePatch-Apini.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Bosmer.xml Normal file

File diff suppressed because it is too large Load Diff

1340
Patches/NudePatch-Bun.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1338
Patches/NudePatch-Drow.xml Normal file

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Dunmer.xml Normal file

File diff suppressed because it is too large Load Diff

2560
Patches/NudePatch-Epona.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Falmer.xml Normal file

File diff suppressed because it is too large Load Diff

1336
Patches/NudePatch-Ferian.xml Normal file

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Ferrex.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1372
Patches/NudePatch-Gor.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Harpy.xml Normal file

File diff suppressed because it is too large Load Diff

1341
Patches/NudePatch-Kijin.xml Normal file

File diff suppressed because it is too large Load Diff

1337
Patches/NudePatch-Kilhns.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1271
Patches/NudePatch-Kurin.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More