public static void Postfix(Pawn_ApparelTracker __instance, Apparel newApparel, bool dropReplacedApparel = true, bool locked = false)
 {
     VerbUtility.TryModifyThingsVerbs(newApparel);
     if (newApparel is Apparel_Shield newShield)
     {
         newShield.CompShield.equippedOffHand = true;
         var comp = newShield.GetComp <CompEquippable>();
         if (comp != null)
         {
             foreach (var verb in comp.AllVerbs)
             {
                 verb.caster = newShield.Wearer;
                 verb.Reset();
             }
         }
     }
     if (!doNotRunTraitsPatch)
     {
         var extension = newApparel?.def.GetModExtension <ApparelExtension>();
         if (extension != null)
         {
             if (__instance.pawn.story?.traits != null)
             {
                 if (extension.traitsOnEquip != null)
                 {
                     foreach (var traitDef in extension.traitsOnEquip)
                     {
                         if (!__instance.pawn.story.traits.HasTrait(traitDef))
                         {
                             __instance.pawn.story.traits.GainTrait(new Trait(traitDef));
                         }
                     }
                 }
             }
         }
     }
 }
 public static void Postfix(ThingWithComps __instance)
 {
     if (Scribe.mode == LoadSaveMode.PostLoadInit) VerbUtility.TryModifyThingsVerbs(__instance);
 }
 private static void Postfix(HediffSet __instance)
 {
     VerbUtility.TryModifyThingsVerbs(__instance.pawn);
 }
 public static void Postfix(Pawn_ApparelTracker __instance, Apparel ap)
 {
     VerbUtility.TryModifyThingsVerbs(ap);
 }
 public static void Postfix(Pawn_EquipmentTracker __instance, ThingWithComps eq, ThingWithComps resultingEq, IntVec3 pos, bool forbid = true)
 {
     VerbUtility.TryModifyThingsVerbs(resultingEq);
 }
 public static void Postfix(Pawn_EquipmentTracker __instance, ref ThingWithComps newEq)
 {
     VerbUtility.TryModifyThingsVerbs(newEq);
 }
 public static void Postfix(ThingWithComps __instance)
 {
     VerbUtility.TryModifyThingsVerbs(__instance);
 }