First, I have to say that I took elements for my XML from many other XML sources already posted here. I'm sorry for not referencing by name, but chances are if you had a BLM XML file up before I posted this I at least took a look at it. Most of this XML was my own work though. Thanks to everyone who posted before me and helped me write this XML.
The primary focus of this XML is to swap in the appropriate gear when nuking/buffing/debuffing/etc. and then swap out to and Idle set whenever not doing anything. This gives maximum dmg output and minimum dmg taken. This should be ideal for soloing BLMs. Just substitute your gear where appropriate.
I am constantly tweaking things. Eventually I will upgrade my equipment, and my own XML, but I may not get around to updating this XML here.
If you have any questions or comments, feel free to track me down and ask me. Thanks.
<?xml version="1.0" ?>
<spellcast>
<config
AutoloadXML="True"
Debug="True"
ShowGearSwaps="False"
hideerrors="True"
NormalSet="Idle"
RestingSet="Resting"
/>
<!-- BLM Gear Sets -->
<!-- All the gear set names should be rather self-explanatory. Check the rules section for a bit more detail on how/why they're used -->
<sets>
<group name="BLM">
<set name="Standard">
<main>Aquilo's Staff</main>
<sub>Bugard Strap +1</sub>
<ammo>Phantom Tathlum</ammo>
<head>Wizard's Petasos</head>
<neck>Philomath Stole</neck>
<lear>Magnetic Earring</lear>
<rear>Moldavite Earring</rear>
<body>Igqira Weskit</body>
<hands>Yigit Gages</hands>
<lring>Sorcerer's Ring</lring>
<rring>Diamond Ring</rring>
<back>Rainbow Cape</back>
<waist>Penitent's Rope</waist>
<legs>Errant Slops</legs>
<feet>Yigit Crackows</feet>
</set>
<set name="Idle">
<main>Earth Staff</main>
<sub>Bugard Strap +1</sub>
<ammo>Phantom Tathlum</ammo>
<head>Yigit Turban</head>
<neck>Grandiose Chain</neck>
<lear>Magnetic Earring</lear>
<rear>Sorcerer's Earring</rear>
<body>Yigit Gomlek</body>
<hands>Yigit Gages</hands>
<lring>Ether Ring</lring>
<rring>Serket Ring</rring>
<back>Cheviot Cape</back>
<waist>Hierarch Belt</waist>
<legs>Yigit Seraweels</legs>
<feet>Yigit Crackows</feet>
</set>
<set name="Enfeeble" BaseSet="Standard">
<head>Igqira Tiara</head>
<body>Wizard's Coat</body>
<legs>Igqira Lappa</legs>
<feet>Rostrum Pumps</feet>
</set>
<set name="Stoneskin" BaseSet="Idle">
<main>Water Staff</main>
<head>Yigit Turban</head>
<body>Wizard's Coat</body>
<back>Rainbow Cape</back>
<waist>Penitent's Rope</waist>
<legs>Errant Slops</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="Dark" BaseSet="Standard">
<lring>Ether Ring</lring>
<legs>Wizard's Tonban</legs>
</set>
<set name="Resting" BaseSet="Standard">
<main>Dark Staff</main>
<head>Yigit Turban</head>
<neck>Grandiose Chain</neck>
<lear>Magnetic Earring</lear>
<rear>Antivenom Earring</rear>
<body>Yigit Gomlek</body>
<hands>Yigit Gages</hands>
<lring>Ether Ring</lring>
<rring>Serket Ring</rring>
<back>Invigorating Cape</back>
<waist>Qiqirn Sash +1</waist>
<legs>Yigit Seraweels</legs>
<feet>Yigit Crackows</feet>
</set>
<set name="ConvertHP" BaseSet="Standard">
<main>Earth Staff</main>
<sub>Bugard Strap +1</sub>
<head>Zenith Crown</head>
<lear>Astral Earring</lear>
<rear>Loquac. Earring</rear>
<rring>Serket Ring</rring>
<back>Blue Cape +1</back>
<waist>Penitent's Rope</waist>
<feet>Rostrum Pumps</feet>
</set>
<set name="Nuking">
<ammo>Phantom Tathlum</ammo>
<head>Wizard's Petasos</head>
<neck>Philomath Stole</neck>
<lear>Magnetic Earring</lear>
<rear>Moldavite Earring</rear>
<body>Igqira Weskit</body>
<hands>Yigit Gages</hands>
<lring>Sorcerer's Ring</lring>
<rring>Diamond Ring</rring>
<back>Rainbow Cape</back>
<waist>Penitent's Rope</waist>
<legs>Errant Slops</legs>
<feet>Yigit Crackows</feet>
</set>
<set name="Healing" BaseSet="Standard">
<main>Light Staff</main>
<head>Yigit Turban</head>
<rear>Loquac. Earring</rear>
<body>Wizard's Coat</body>
<feet>Goliard Clogs</feet>
</set>
<set name="Stealth" BaseSet="Idle">
<main>Wind Staff</main>
<back>Skulker's Cape</back>
<feet>Sneaking Boots</feet>
</set>
</group>
</sets>
<!-- Variables. Change the names as appropriate for your gear -->
<variables clear = "yes">
<var name="IceStaff">Aquilo's Staff</var>
<var name="WindStaff">Wind Staff</var>
<var name="EarthStaff">Earth Staff</var>
<var name="ThunderStaff">Jupiter's Staff</var>
<var name="WaterStaff">Water Staff</var>
<var name="FireStaff">Vulcan's Staff</var>
<var name="DarkStaff">Dark Staff</var>
<var name="IceObi">Hyorin Obi</var>
<var name="ThunderObi">Rairin Obi</var>
</variables>
<!-- BLM Rules -->
<rules>
<!-- TOWN RULE: This is for looking pretty in town -->
<!-- Al Zahbi isn't included because of Besieged -->
<!-- Until Spellcast is upgraded to 3.0 you will need to perform an action (spell/JA/etc.) for the town equips to trigger -->
<if Area="*Windurst*">
<action type="equip" when="precast|midcast|aftercast|idle">
<body lock="t">Federation Aketon</body>
</action>
</if>
<elseif Area="*Bastok*">
<action type="equip" when="precast|midcast|aftercast|idle">
<body lock="t">Republic Aketon</body>
</action>
</elseif>
<if Area="Ru'Lude*|*Whitegate*|*Bastok*|*Windurst*|*San d'Oria*|Kaz*|Norg*|Tav*|*Jeuno*|Mhaura|Selbina" notArea="Dynamis*">
<action type="equip" when="precast|midcast|aftercast|idle">
<main lock="t">Jupiter's Staff</main>
<sub lock="t">Bugard Strap +1</sub>
<ammo lock="t">Phantom Tathlum</ammo>
<head lock="t">Wizard's Petasos</head>
<neck lock="t">Uggalepih Pendant</neck>
<lear lock="t">Magnetic Earring</lear>
<rear lock="t">Loquac. Earring</rear>
<body lock="t">Igqira Weskit</body>
<hands lock="t">Yigit Gages</hands>
<lring lock="t">Sorcerer's Ring</lring>
<rring lock="t">Serket Ring</rring>
<back lock="t">Blue Cape +1</back>
<waist lock="t">Penitent's Rope</waist>
<legs lock="t">Errant Slops</legs>
<feet lock="t">Rostrum Pumps</feet>
</action>
</if>
<!-- IDLE RULE: This reverts you back to the Idle set after every spell -->
<action type="equip" when="aftercast" Set="Idle" />
<!-- RESTING RULE: This equips your resting set anytime you're in /heal status -->
<action type="equip" when="resting" set="Resting" />
<!-- DARK MAGIC RULE: Casting dark magic? This'll hook you up with the right gear -->
<if skill="DarkMagic">
<action type="equip" when="precast" Set="Dark" />
<action type="equip" when="precast">
<main>$%SpellElementStaff</main>
</action>
</if>
<!-- NUKING RULE: If you're nuking this rule will kick in and equip your nuking set -->
<if skill="ElementalMagic" notspell="Shock|Choke|Burn|Frost|Rasp|Drown">
<!-- SORCERER'S RING RULE: If you're using a Sorcerer's Ring this rule will help you get your HP down so the latent will kick in -->
<!-- You'll need to calculate the target HP on your own and change the number below -->
<!-- If you don't use a Sorcerer's Ring, just remove the following three lines and get rid of the ConvertHP set -->
<if HPGT="577">
<action type="equip" when="precast" Set="ConvertHP" />
</if>
<!-- This delay is here to allow the ConvertHP action time to work -->
<!-- Even if you don't use Sorcerer's Ring though, it's good to keep the delay to stay in Idle gear as long as possible -->
<action type="midcastdelay" Delay="1" />
<action type="equip" when="midcast" Set="Nuking">
<main>$%SpellElementStaff</main>
</action>
<!-- UGG PENDANT RULE: This is the reason Uggalepih Pendant isn't in the Nuking set. It'll automatically equip only when the latent is actually effective -->
<if MPPAfterCastLT="51">
<action type="equip" when="midcast">
<neck>Uggalepih Pendant</neck>
</action>
</if>
<!-- OBI RULE: This will equip the right obi depending on the day -->
<if advanced='"%SpellElement"="%WeatherElement" OR "%SpellElement"="%DayElement"'>
<action type="equip" when="midcast">
<waist>$%SpellElementObi</waist>
<lear>Astral Earring</lear>
</action>
</if>
<!-- DYNAMIS RULE: This equips more magic accuracy to help with resists. This entire rule can be erased if you don't need it -->
<if area="*dynamis*">
<action type="equip" when="midcast">
<feet lock="t">Goliard Clogs</feet>
</action>
</if>
</if>
<!-- DEBUFF RULE: This equips max int for the elemental debuffs, naturally -->
<elseif spell="Shock|Choke|Burn|Frost|Rasp|Drown">
<action type="equip" when="precast" Set="Standard" />
</elseif>
<!-- ENFEEBLE RULE: This equips max enfeebling skill to make sure your enfeebles stick -->
<if skill="EnfeeblingMagic">
<action type="equip" when="precast" Set="Enfeeble" />
<action type="equip" when="precast">
<main>$%SpellElementStaff</main>
</action>
</if>
<!-- SLEEP RULE: Assuming you have Sleep II and Sleepga II macro'd, this will automatically cast sleep I or sleepga I should you be running low on mp -->
<if Spell="Sleep II" MPLT="29">
<action type="ChangeSpell" Spell="Sleep" />
</if>
<elseif Spell="Sleepga II" MPLT="58">
<action type="ChangeSpell" Spell="Sleepga" />
</elseif>
<!-- STONESKIN RULE: This equips the Stoneskin set for maximum mnd and thus maximum dmg resistance. Check ffxiclopedia for the formula -->
<!-- This will also cancel the stoneskin you have on if you are using the cancel plugin -->
<if Spell="Stoneskin">
<action type="equip" when="precast" Set="Stoneskin" />
<action type="midcastdelay" delay="4" />
<action type="Command" when="MidCast">cancel 37</action>
</if>
<!-- BLINK RULE: This will cancel blink if you have it on and reapply it -->
<if Spell="Blink">
<action type="equip" when="precast" Set="Idle" />
<action type="midcastdelay" delay="3" />
<action type="Command" when="MidCast">cancel 36</action>
</if>
<!-- CURE RULE: Maximum mnd for better healing. Changes spells if you're running low on mp -->
<if Spell="Cur*">
<action type="Equip" when="precast" Set="Healing" />
</if>
<if Spell="Cure III" MPLT="46">
<action type="ChangeSpell" Spell="Cure II" />
</if>
<elseif Spell="Cure II" MPLT="24">
<action type="ChangeSpell" Spell="Cure" />
</elseif>
<!-- STEALTH RULE: Cancels sneak midcast for you and reapplies stealth -->
<if Spell="Sneak">
<action type="equip" when="precast" set="Stealth"/>
<action type="Command" when="MidCast">cancel 71</action>
</if>
<if Spell="Invis*">
<action type="equip" when="precast" set="Stealth"/>
</if>
<!-- BUFFS RULE: If it's not stoneskin then you don't need a mnd boost. So when enhancing you should be in Idle gear just in case -->
<!-- I don't have any enhancing skill up gear, so if you do you may want to play around with this a bit for phalanx, etc. -->
<if skill="EnhancingMagic" notspell="Invis*|sneak|Stoneskin">
<action type="equip" when="precast" Set="Idle" />
</if>
<!-- 2HR RULE: In theory, this counts down the Manafont effect timer for you in /echo -->
<elseif Spell="Manafont">
<action type="command" when="precast">input /echo ==== Manafont off @ 0:60 ====</action>
<action type="command" when="precast">wait 14;input /echo ==== Manafont off @ 0:45 ====</action>
<action type="command" when="precast">wait 29;input /echo ==== Manafont off @ 0:30 ====</action>
<action type="command" when="precast">wait 44;input /echo ==== Manafont off @ 0:15 ====</action>
<action type="command" when="precast">wait 54;input /echo ==== Manafont off @ 0:05 ====</action>
</elseif>
</rules>
</spellcast>