Base on souleman's Spellcast super default.xml
As I don't have many pieces for my blm, the script is quite basic. However, it is a very good framework.
<?xml version="1.0" ?>
<spellcast>
<config
RequireVersion = "2.11"
QuickCommands = "true"
ShowGearSwaps = "true"
ShowSpellInfo = "false"
Debug = "true"/>
<variables>
<var name = "ThunderStaff">Jupiter's Staff</var>
<var name = "IceStaff">Ice Staff</var>
<var name = "WaterStaff">Water Staff</var>
<var name = "EarthStaff">Earth Staff</var>
<var name = "FireStaff">Fire Staff</var>
<var name = "AeroStaff">Aero Staff</var>
<var name = "LightStaff">Light Staff</var>
<var name = "DarkStaff">Dark Staff</var>
</variables>
<sets>
<group default = "yes" name = "Norm">
<set name = "Standard">
<main>$EarthStaff</main>
<sub>Bugard Strap +1</sub>
<ammo>Phtm. Tathlum</ammo>
<head>Walahra Turban</head>
<neck>Elemental Torque</neck>
<rear>Insomnia Earring</rear>
<lear>Moldavite Earring</lear>
<body>Sorcerer's Coat</body>
<hands>Zenith Mitts</hands>
<lring>Ether Ring</lring>
<rring>Electrum Ring</rring>
<back>Prism cape</back>
<waist>Hierarch Belt</waist>
<legs>Errant Slops</legs>
<feet>Rostrum Pumps</feet>
</set>
<set name = "150" BaseSet = "Standard">
<sub>Bugard Strap +1</sub>
<body>Errant Hpl.</body>
<rring>Diamond Ring</rring>
<legs>Errant Slops</legs>
<waist>Penitent's Rope</waist>
<feet>Yigit Crackows</feet>
</set>
<set name = "Enfeeble" BaseSet = "Standard">
<head>Igqira Tiara</head>
</set>
<set name = "Buffs" BaseSet = "Standard">
<main>$WaterStaff</main>
<sub>Bugard Strap +1</sub>
<body>Errant Hpl.</body>
<feet>Yigit Crackows</feet>
</set>
<set name = "FastCast">
<feet>Rostrum Pumps</feet>
</set>
<set name = "Dark" BaseSet = "Standard">
<main>$DarkStaff</main>
<head>Walahra Turban</head>
<body>Errant Hpl.</body>
<lring>Diamond Ring</lring>
<rring>Diamond Ring</rring>
<waist>Penitent's Rope</waist>
<feet>Yigit Crackows</feet>
</set>
<set name = "Resting" BaseSet = "Standard">
<main>$DarkStaff</main>
<body>Errant Hpl.</body>
</set>
<set name = "Nuke" BaseSet = "Standard">
<hands>Zenith mitts</hands>
<rear>Moldavite earring</rear>
<body>Igqira Weskit</body>
<lring>Diamond Ring</lring>
<rring>Diamond Ring</rring>
<waist>Penitent's Rope</waist>
<feet>Yigit Crackows</feet>
</set>
<set name = "Cure" baseset = "Standard">
<main>$LightStaff</main>
<body>Errant Hpl.</body>
</set>
<set name = "Engaged" baseset = "Stantard"></set>
</group>
</sets>
<rules>
<!--This will be caught by autoset events-->
<if spell = "autoset">
<action type = "equip" when = "resting" set = "Resting"/>
<action type = "equip" when = "idle" set = "Standard"/>
<action type = "equip" when = "engaged" set = "Engaged"/>
</if>
<!--Precast setting -->
<if SubJob = "RDM">
<action type = "Equip" when = "Precast" set = "FastCast">
<back>Warlock's Mantle</back>
</action>
</if>
<else>
<action type = "equip" when = "Precast" set = "FastCast"/>
</else>
<!--Aftercast setting -->
<if status = "Engaged">
<action type = "equip" when = "aftecast" set = "Engaged"/>
</if>
<else>
<action type = "equip" when = "aftercast" set = "Standard"/>
</else>
<!--Locking the equip when melee -->
<if TPGT = "20" Status = "Engaged">
<action type = "equip" when = "Precast|Midcast|Aftercast">
<main lock = "t"/>
<sub lock = "t"/>
<ranged lock = "t"/>
</action>
</if>
<rule status = "Zoning"></rule>
<!--default target -->
<if ValidTarget = "Self">
<action type = "DefaultTarget" target = "<me>"/>
</if>
<elseif ValidTarget = "Enemy">
<action type = "DefaultTarget" target = "<stnpc>"/>
</elseif>
<elseif ValidTarget = "*Enemy*">
<action type = "DefaultTarget" target = "<st>"/>
</elseif>
<else>
<action type = "DefaultTarget" target = "<stpc>"/>
</else>
<!--Spelling Rules -->
<if Spell = "Stoneskin">
<action type = "command" when = "midcast">cancel 37</action>
<action type = "midcastdelay" delay = "5.0"/>
<action type = "Equip" when = "Midcast" set = "Buffs">
<main>$WaterStaff</main>
</action>
</if>
<elseif Spell = "Sneak" advanced = '"%target"="<me>"'>
<action type = "command" when = "midcast">cancel 71</action>
<action type = "midcastdelay" delay = "1.8"/>
</elseif>
<elseif Spell = "Blink">
<action type = "command" when = "midcast">cancel 36</action>
<action type = "midcastdelay" delay = "4.2"/>
</elseif>
<elseif spell = "Utsusemi: Ichi">
<action type = "midcastdelay" delay = "2.1"/>
<action type = "Command" when = "midcast">cancel 66</action>
</elseif>
<elseif spell = "Spectral Jig">
<action type = "Command" when = "precast">cancel 71</action>
</elseif>
<elseif Spell = "Cur*">
<action type = "Equip" when = "Midcast" set = "Cure"/>
</elseif>
<elseif Spell = "Paralyze|Slow">
<action type = "Equip" when = "Midcast" set = "Buffs">
<main>$%SpellElementStaff</main>
</action>
</elseif>
<elseif Spell = "Choke|Shock|Burn|Drown|Rasp|Frost">
<action type = "Equip" when = "Midcast" set = "150">
<main>$IceStaff</main>
</action>
</elseif>
<elseif skill = "EnfeeblingMagic">
<action type = "Equip" when = "Midcast" set = "Enfeeble">
<main>$%SpellElementStaff</main>
</action>
</elseif>
<elseif skill = "EnhancingMagic">
<action type = "Equip" when = "Midcast" set = "Buffs"/>
</elseif>
<elseif skill = "Darkmagic">
<action type = "Equip" when = "Midcast" set = "Dark">
<main>$%SpellElementStaff</main>
</action>
</elseif>
<elseif skill = "ElementalMagic">
<!--Activate Uggalepih Pendant -->
<if MPPAfterCastLT = "51">
<action type = "Equip" when = "Midcast">
<neck lock = "yes">Uggalepih Pendant</neck>
</action>
</if>
<action type = "Equip" when = "Midcast" set = "Nuke">
<main>$%SpellElementStaff</main>
</action>
</elseif>
</rules>
</spellcast>