About This File
NOTE: This mod will spawn a randomly selected strap-on every time a new AAF animation is initiated, which happens multiple times during a staged animation. If you have a lot of staged animations and can't tolerate the jank of a different strap-on spawning mid-scene, that's totally reasonable and you can skip this mod. Animations that were more likely to involve staging included those from gray user, zazout, and farelle. Other ones were less problematic but could still do it if you picked certain animations.
If there's a file that does this, I couldn't find it, so I made an edit to the plugin from Vioxsis Strap-Ons (ZeX Bones fixed), adding a couple more strap-on entries and a level list that can randomly select one of them. To set this up, you need to install the requirements, activate desired plugins, and then make some changes to a few XML files in Data\AAF.
Requirements:
Strap-on,viodoe,dick for female/servitron 4.2 (At least I think so. The futa texture and stuff is from there)
Vioxsis Strap-Ons (ZeX Bones fixed) - ENGINE XML Patch [01/26/24]
Plugins:
Vioxsis_Strap-Ons.esp - main file, will replace the one currently in your load order
Vioxsis_Strap_Servitron.esp - a patch to allow servitrons to wear these strap-ons. You can edit this to add other races.
XML Files:
In Data\AFF you want to back up any of the following files if they are there:
-Vioxsis_Strap-ons_equipmentSetData.xml
-Vioxsis_Strap-ons_actionData.xml
-_EXP_EquipmentSetData.xml
-_EXP_ActionData.xml
-SABA_EquipmentSetData.xml
Then you want the contents of Vioxsis_Strap-ons_equipmentSetData.xml and _EXP_EquipmentSetData.xml to look something like this:
<equipmentSetData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="common.xsd">
<defaults source="Vioxsis_Strap-Ons.esp"/>
<equipmentSet id="EQStrapon">
<condition isFemale="true">
<addEquipment form="81a"/>
</condition>
</equipmentSet>
<equipmentSet id="UNEQStrapon">
<condition isFemale="true">
<removeEquipment form="800"/>
<removeEquipment form="803"/>
<removeEquipment form="80f"/>
<removeEquipment form="810"/>
<removeEquipment form="811"/>
<removeEquipment form="812"/>
<removeEquipment form="817"/>
<removeEquipment form="f9f"/>
<removeEquipment form="fa0"/>
</condition>
</equipmentSet>
</equipmentSetData>
You want Vioxsis_Strap-ons_actionData.xml and _EXP_ActionData.xml to look like this:
<actionData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="common.xsd">
<defaults/>
<action id="FF_activity">
<self startEquipmentSet="EQStrapon" stopEquipmentSet="UNEQStrapon">
</self>
</action>
</actionData>
And if you want random strap-ons with SABA animations, you would change SABA_EquipmentSetData.xml to this:
<equipmentSetData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="common.xsd">
<defaults source="Vioxsis_Strap-Ons.esp"/>
<equipmentSet id="SABA_AddStrapon">
<condition isFemale="true">
<addEquipment form="81a"/>
</condition>
</equipmentSet>
<equipmentSet id="SABA_RemoveStrapon">
<condition isFemale="true">
<removeEquipment form="800"/>
<removeEquipment form="803"/>
<removeEquipment form="80f"/>
<removeEquipment form="810"/>
<removeEquipment form="811"/>
<removeEquipment form="812"/>
<removeEquipment form="817"/>
<removeEquipment form="f9f"/>
<removeEquipment form="fa0"/>
</condition>
</equipmentSet>
</equipmentSetData>
I didn't include replacement XML files here so you have the opportunity to do it manually and observe if there are any tweaks you want to make, such as prohibiting certain races or named NPCs, etc.