This is the spellcast file I made for my sch. it uses a little Autoexec and it has some setup used from other user submitted files.
—Autoexec—
<register id="12001" Silent="True" event="gainbuff_*Activated">sc var set Sublimination TRUE;sc set SubliminationIdle</register>
<register id="12002" Silent="True" event="gainbuff_*Complete">sc var set Sublimination FALSE;sc set Idle</register>
<register id="12003" silent="true" event="gainbuff_Sandstorm">sc set Desert</register>
<register id="12004" silent="true" event="losebuff_Sandstorm">sc set Standard</register>
—Spellcast—
<?xml version="1.0" ?>
<spellcast>
<config
HideErrors="false"
Debug="false"
DisableJA="True"
/>
<sets>
<group default="yes" name="Scholar">
<set name="Standard">
<main>Pluto's Staff</main>
<feet>Scholar's Loafers</feet>
</set>
<set name="resting">
<main>Pluto's Staff</main>
<body>Vermillion Cloak</body>
<waist>Qiqirn Sash +1</waist>
</set>
<set name="Nuking">
<head>Scholar's Mortarboard</head>
<body>Scholar's Gown</body>
<waist>Penitent's Rope</waist>
</set>
<set name="Mind">
<waist>Penitent's Rope</waist>
</set>
<set name="Idle">
<body>Vermillion Cloak</body>
</set>
<set name="SubliminationHeal">
<main>Pluto's Staff</main>
<head>Scholar's Mortarboard</head>
<body>Scholar's Gown</body>
<waist>Qiqirn Sash +1</waist>
</set>
<set name="SubliminationIdle">
<head>Scholar's Mortarboard</head>
<body>Scholar's Gown</body>
</set>
<set name="Desert">
<feet>Desert Boots</feet>
</set>
</group>
</sets>
<variables>
<!--Var: Elemental Staves Edit to match the staves you own -->
<var name="IceStaff">Aquilo's Staff</var>
<var name="WindStaff">Auster's Staff</var>
<var name="EarthStaff">Terra's Staff</var>
<var name="ThunderStaff">Jupiter's Staff</var>
<var name="WaterStaff">Neptune's Staff</var>
<var name="FireStaff">Vulcan's Staff</var>
<var name="DarkStaff">Pluto's Staff</var>
<var name="LightStaff">Apollo's Staff</var>
<var name="CureStaff">Apollo's Staff</var>
<!--Var: Elemental Obis DO NOT EDIT -->
<var name="IceObi">Hyorin Obi</var>
<!--<var name="WindObi">Furin Obi</var>
<var name="EarthObi">Dorin Obi</var>-->
<var name="ThunderObi">Rairin Obi</var>
<!--<var name="WaterObi">Suirin Obi</var>
<var name="FireObi">Karin Obi</var>-->
<var name="DarkObi">Anrin Obi</var>
<var name="LightObi">Korin Obi</var>
<!-- Sublimination variables -->
<var name="Sublimination">FALSE</var>
</variables>
<rules>
<if spell="autoset">
<if status="resting">
<if advanced='("$Sublimination"="TRUE")'>
<action type="equip" when="resting" set="SubliminationHeal" />
</if>
<elseif advanced='("$Sublimination"="FALSE")'>
<action type="equip" when="resting" set="Resting" />
</elseif>
</if>
</if>
<if skill="ElementalMagic">
<action type="DefaultTarget" target="<t>" />
<action type="equip" when="midcast" set="Nuking">
<main>$%SpellElementStaff</main>
</action>
</if>
<elseif skill="EnfeeblingMagic">
<action type="DefaultTarget" target="<t>" />
<action type="equip" when="midcast" set="Nuking" >
<main>$%SpellElementStaff</main>
</action>
</elseif>
<elseif skill="DarkMagic">
<action type="DefaultTarget" target="<t>" />
<action type="equip" when="midcast" set="Nuking">
<main>$%SpellElementStaff</main>
</action>
</elseif>
<elseif spell="Cur*">
<action type="DefaultTarget" target="<t>" />
<action type="equip" when="precast" set="Mind">
<main>Apollo's Staff</main>
</action>
</elseif>
<elseif spell="Stoneskin">
<action type="DefaultTarget" target="<t>" />
<action type="equip" when="precast">
<main>Neptune's Staff</main>
</action>
</elseif>
<if advanced='("$Sublimination"="TRUE")'>
<action type="equip" when="postcast" set="SubliminationIdle" />
</if>
<elseif advanced='("$Sublimination"="FALSE")'>
<action type="equip" when="postcast" set="Idle" />
</elseif>
</rules>
</spellcast>