Mutie's Apparel Traits Framework
A simple framework using Harmony that lets you define traits in .xml which will automatically select to which degree they apply, based on how many pieces of apparel matching a list of defNames and/or tags the pawn is wearing.
Note that this mod requires you to manually create new traits to work with the system. I might release my own pack of apparel traits later!
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Class is necessary to use the apparel trait type -->
<TraitDef Class="MutiesApparelTraitFramework.ApparelTraitDef">
<defName>MutiesTShirtDesire</defName>
<!-- List of tags and apparel defNames to consider for this trait-->
<tagsAndApparelDefNames>
<li>Apparel_BasicShirt</li>
</tagsAndApparelDefNames>
<!-- The lowest degree used, even if the pawn
wears fewer listed pieces. -->
<minDegree>0</minDegree>
<!-- The maximum degree used, even if the pawn
wears additional listed pieces. -->
<maxDegree>1</maxDegree>
<!-- Must have 1 degree per possible value between
minDegree and maxDegree -->
<degreeDatas>
<li>
<label>t-shirt desire</label>
<description>[PAWN_nameDef] would be super fast if they were wearing a t-shirt.</description>
<!-- Degree used when 0 apparel is worn from the list. -->
<degree>0</degree>
</li>
<li>
<label>t-shirt desire</label>
<description>[PAWN_nameDef] is super fast when wearing a t-shirt</description>
<!-- Degree used when 1 apparel is worn from the list -->
<degree>1</degree>
<statOffsets>
<MoveSpeed>40.0</MoveSpeed>
</statOffsets>
</li>
</degreeDatas>
</TraitDef>
</Defs>