Created: 08/24/2025
Last Updated: 14 days ago
Description from the author: Combined with other Dress Suite scripts, attempts to provide a single-button method to restock/resupply, cleanup loot/items, adjust shelf loadouts (using inserted OutlandsButler shelf scripts) and prepare to go out again. To make the dress script calls work, name them in Razor using the same name of the script here, e.g., "Dress Suite - Aspect" and "Dress Suite - Equip".
The full clean and update loadout options are intended to clear your entire setup after an echo swap. This is a bit involved so you may want to be familiar with scripting at a basic level if you intend to use this. You'll need a few things in place for it to work:
First, you'll need to use the standard aspect gump where you cycle through aspects for weapon/spellbook/armor. Ensure it's on the aspect you want to use.
Second, you'll need to create a shelf loadout script through OutlandsButler (or on your own, if you like pain). From there, you'll need to load it into "Dress Suite - Shelf Loadout". You copy that script into the space provided in "Dress Suite - Loadout", and set the skill checks to match the echo you want it to apply to.
Finally, swap your echo, set fullClean and updateLoadout to 1, and run the script. If everything is correct, the script will clear all gear off, re-configure your current shelf loadout, re-equip you from your shelf, and activate your aspect. Afterwards, set fullClean and updateLoadout back to 0.
// Dress Suite - Main
// Set script wait
@setvar! globalWait 500
// Set whether to call equip script
@setvar! callEquipScript 1
// Set whether to sort unidentified loot into a bag/box
@setvar! sortLoot 1
// Set whether to call organizer agents and define organizer agent numbers to call in the list below
@setvar! callOrganizers 1
removelist organizerList; createlist organizerList
pushlist organizerList 2; pushlist organizerList 4; pushlist organizerList 5; pushlist organizerList 6
// Set whether to restock to resource stockpile
@setvar! resourceRestock 1
// Set whether to restock/resupply to storage shelf
@setvar! storageRestock 1
@setvar! storageResupply 1
// Set whether to restock to magic item vault
@setvar! magicRestock 1
// Set whether to repair gear and wait time for repair to complete
@setvar! repairGear 1
@setvar! repairWait 3000
// Set whether to full clear gear and equipment to refresh all items during cleanup
// Disable storage shelf setting 'Keep Aspect Items' to allow aspected item pickup
@setvar! fullClean 0
// Set whether to call script to update Storage Shelf Loadout
@setvar! updateLoadout 0
// Sort Loot into box (You can use a secure container on the floor nearby)
if not varexist lootBox and sortLoot = 1
setvar lootBox
elseif varexist lootBox and sortLoot = 1
removelist loot_items; createlist loot_items
pushlist loot_items 31169|31172|31017|31019|31021|31023|31025|31027|31029|31031|31033|31035|31037|31038|31041|31043|31045|31047|31049|31051|31053|31055|3920|5042|5117|30990|30993|30994|30995|31184|31186|7026|7027|7029|7031|7033|7034|7035|7107|7109|31002|31130|3570|3571|3572|3573|3834|22187|31141|31142|5056|5059|5060|5061|5063|5070|5074|5075|5076|5078|5085|5089|5090|5101|5103|5105|5106|5129|5131|5132|5135|5138|5139|5142|5143|5144|5146|5201|5203|5204|5205|5207|7169|7170|7173|7175|7177|7179|7181|7610|7947|31003|31004|31005|31006|31007|31008|31009|31010|31011|31012|31015|31191|3740|3742|3762|3763|10245|20006|20008|20010|20012|20014|20016|3719|3922|3938|5121|5123|5125|30989|30992|30996|30997|30998|31176|31188|3568|3713|3721|3932|5040|5044|5112|5127|5177|5179|5181|30991|30999|31000|31001|31014|31178|31180|31182|3909|3911|3913|3915|3917|3934|3937|5046|5049|5115|5119|5182|5185|5187|30988|31128|31190
foreach loot in loot_items
sysmsg loot
while findtype loot backpack as item
overhead item; getlabel item description; overhead description 88
if unidentified in description
lift item; wait globalWait; drop lootBox -1 -1 -1
else
ignore item
wait globalWait
endif
endwhile
endfor
endif
// Run Organizer Agents
if callOrganizers = 1
foreach number in organizerList
organizer number; wait globalWait
endfor
endif
// Repair gear
if findtype "repair bench" ground -1 -1 2 as repair
clearsysmsg; dclick repair; getlabel backpack
if insysmsg "You do not have any items equipped or in your backpack in need of repairs."
else
wait repairWait
endif
endif
// Restock to resource stockpile
if findtype "resource container" ground -1 -1 2 as resource and resourceRestock = 1
menu resource 0; wft globalWait; target self; wait globalWait; gumpclose
endif
// Remove all equipment if fullClean is set
if fullClean = 1
if findlayer self gloves as item; lift item; drop self; endif
if findlayer self innertorso as item; lift item; drop self; endif
if findlayer self head as item; lift item; drop self; endif
if findlayer self neck as item; lift item; drop self; endif
if findlayer self pants as item; lift item; drop self; endif
if findlayer self neck as item; lift item; drop self; endif
if findlayer self arms as item; lift item; drop self; endif
if findlayer self rightHand as item; lift item; drop self; endif
if findlayer self offHand as item; lift item; drop self; endif
if findlayer self outerBody as item; lift item; drop self; endif
endif
// Call script to update storage shelf loadout
if updateLoadout = 1 and not varexist loadoutUpdated
script "Dress Suite - Shelf Loadout"
endif
// Restock to storage shelf - Twice to clear pouches/bags
if findtype "storage shelf" ground -1 -1 2 as shelf and storageRestock = 1
menu shelf 0; wft globalWait; target self; wait globalWait
menu shelf 0; wft globalWait; target self; wait globalWait
endif
// Resupply to storage shelf
if findtype "storage shelf" ground -1 -1 2 as shelf and storageResupply = 1
menu shelf 1; wait globalWait; gumpclose
endif
// Restock to magic item vault
if findtype "magic item chest" ground -1 -1 2 as vault and magicRestock = 1
menu vault 0; wft globalWait; target self; wait globalWait
elseif findtype "57514" ground -1 -1 2 as vault and magicRestock = 1
menu vault 0; wft globalWait; target self; wait globalWait
endif
// Announce completed
overhead "Dress Suite - Main completed" 88
// Call Equip Script
if callEquipScript = 1
script "Dress Suite - Equip"
endif