rimnude-unofficial/Extra Patches/Revealing Apparel/Patches/ApparelPatch - Miho.xml
2022-06-06 15:33:44 -07:00

375 lines
No EOL
12 KiB
XML

<?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>Miho, the celestial fox</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAddModExtension">
<!-- Eltex Coat -->
<xpath>Defs/ThingDef[defName="Miho_Apparel_Shell_OrnatedOne"]</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>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<!-- Exoskeleton -->
<xpath>Defs/ThingDef[defName="Miho_Apparel_Middle_PoweredWorker"]</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>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<!-- Exoskeleton Heavy Armor -->
<xpath>Defs/ThingDef[defName="Miho_Apparel_Middle_Powered"]</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>
<li Class="PatchOperationAddModExtension">
<!-- Infantry Parka -->
<xpath>Defs/ThingDef[defName="Miho_Apparel_Shell_PMC"]</xpath>
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<!-- Padded Parka -->
<xpath>Defs/ThingDef[defName="Miho_Apparel_Shell_Padding"]</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>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Miho_Apparel_Middle_MilitiaVest"]</xpath>
<!-- Tactical Vest -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Miho_Apparel_Shell_Winter"]</xpath>
<!-- Winter Poncho -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Miho_Apparel_Under_IndustrialBlack"]</xpath>
<!-- Black Underwear -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Miho_Apparel_OnSkin_OrnatedFighter"]</xpath>
<!-- Eltex Fighting Suit -->
<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="Miho_Apparel_Under_EltexOne"]</xpath>
<!-- Eltex Underwear -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Miho_Apparel_Under_Tribal"]</xpath>
<!-- Tribal Underwear -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
<li Class="PatchOperationAddModExtension">
<xpath>Defs/ThingDef[defName="Miho_Apparel_Under_Industrial"]</xpath>
<!-- Underwear -->
<value>
<li Class="RevealingApparel.ApparelRevealingExtension">
<revealingBodyPartEntries>
<li>
<revealingPath>Breasts/FeaturelessLeft</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
<li>
<revealingPath>Breasts/FeaturelessRight</revealingPath>
<revealingBodyTypes>
<li>Female</li>
<li>Thin</li>
</revealingBodyTypes>
</li>
</revealingBodyPartEntries>
</li>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>