<?xml version="1.0" ?>
<!DOCTYPE spellcast PUBLIC "spellcast" "spellcast.dtd">
<spellcast>
<!--
============================Ivelio's Galka BLM XML===========================
| This is the XML for a 75 Galka BLM. You'll notice that this code is very |
| heavy on MP management. It is based around having no food active as well |
| as a lot of situational gear. The gear sets are labeled fairly well for |
| describing what each of them are used for. Also, the MP, skill, and stat |
| checks for most of the gear sets are listed in comments right next to the |
| sets names. It should be easy enough to go through and change the sets |
| and MP values based on your race and gear. Some of the code in here though|
| has been taken from Aikar's Master Template so much kudos to him for his |
| work. |
=============================================================================
-->
<config requireversion="2.22" />
<variables>
<!-- Sleep timers, will announce in echo when sleeps will wear off.-->
<var name="SleepTimers">1</var>
<!-- use BLM AF2 pants or not? Set to 0 if you do not have it -->
<var name="BLMAF2Pants">1</var>
<!-- Use Sorcerer's Ring. Set to 1 if you have, 0 if you don't. -->
<var name="SorcRing">1</var>
<!-- Use of Ugg Pendant -->
<var name="UggPendant">0</var>
<!-- For High Resist Mobs -->
<var name="resist">0</var>
<!-- Elemental Staffs -->
<var name="IceStaff">Aquilo's Staff</var>
<var name="DarkStaff">Pluto's Staff</var>
<var name="ThunderStaff">Jupiter's Staff</var>
<var name="LightStaff">Light Staff</var>
<var name="WindStaff">Auster's Staff</var>
<var name="FireStaff">Fire Staff</var>
<var name="EarthStaff">Terra's Staff</var>
<var name="WaterStaff">Neptune's Staff</var>
<!-- Elemental Obi's -->
<var name="DarkObi">1</var>
<var name="LightObi">0</var>
<var name="ThunderObi">1</var>
<var name="IceObi">1</var>
<var name="FireObi">0</var>
<var name="WindObi">0</var>
<var name="WaterObi">0</var>
<var name="EarthObi">0</var>
</variables>
<sets>
<group name="Main" default="yes">
<set name="Standard"><!--MP:876-->
<main>$EarthStaff</main>
<sub>Bugard Leather Strap +1</sub>
<ammo>Hedgehog Bomb</ammo>
<head>Sorcerer's Petasos</head>
<neck>Orochi Nodowa</neck>
<lear>Sorcerer's Earring</lear>
<rear>Loquacious Earring</rear>
<body>Sorcerer's Coat</body>
<hands>Dune Bracers</hands>
<lring>Serket Ring</lring>
<rring>Ether Ring</rring>
<back>Shadow Mantle</back>
<waist>Desert Rope</waist>
<legs>Tatsumaki Sitagoromo</legs>
<feet>Zenith Pumps</feet>
</set>
<set name="FastCast" baseset="Standard"><!--MP:916-->
<neck>Morgana's Choker</neck>
<feet>Rostrum Pumps</feet>
</set>
<set name="Resting" baseset="Standard"><!--MP:899-->
<main>$DarkStaff</main>
<sub>Ariesian Grip</sub>
<head>Zenith Crown</head>
<neck>Beak Necklace</neck>
<lear>Antivenom Earring</lear>
<body>Errant Houppelande</body>
<back>Aslan Cape</back>
<waist>Hierarch Belt</waist>
<legs>Yigit Seraweels</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="MinusHP" baseset="Standard"><!--Reduced HP to 910-->
<head>Zenith Crown</head>
<neck>Morgana's Choker</neck>
<hands>Zenith Mitts</hands>
<back>Alsan Cape</back>
</set>
<set name="BaseNuke" baseset="Standard"><!--MP:854 Skill:309 Int:69+20-->
<neck>Elemental Torque</neck>
<lear>Moldavite Earring</lear>
<body>Morgana's Cotehardie</body>
<hands>Zenith Mitts</hands>
<back>Gleeman's Cape</back>
<legs>Mahatma Slops</legs>
</set>
<set name="MABBoostOne" baseset="BaseNuke"><!--MP:696 Skill:299 Int:69+43-->
<ammo>Phantom Tathlum</ammo>
<head>Wizard's Petasos</head>
<lring>Snow Ring</lring>
<rring>Snow Ring</rring>
<waist>Sorcerer's Belt</waist>
</set>
<set name="MABBoostTwo" baseset="MABBoostOne"><!--MP:646 Skill:299 Int:69+44-->
<feet>Yigit Crackows</feet>
</set>
<set name="MaxMABNuke" baseset="MABBoostTwo"><!-- MP:621 Skill:304 Int:69+46-->
<head>Demon Helm +1</head>
</set>
<set name="ResistNuke" baseset="BaseNuke"><!--MP:698 Skill:319 Int:69+41-->
<ammo>Phantom Tathlum</ammo>
<head>Demon Helm +1</head>
<hands>Wizard's Gloves +1</hands>
<lring>Snow Ring</lring>
<rring>Snow Ring</rring>
</set>
<set name="MaxResistNuke" baseset="ResistNuke"><!--MP:563 Skill:319 Int:69+45-->
<body>Igqira Weskit</body>
<waist>Sorcerer's Belt</waist>
<feet>Goliard Clogs</feet>
</set>
<set name="DarkMagic" baseset="Standard"><!--MP:889 Skill:301 Haste:9%-->
<sub>$DarkGrip</sub>
<head>Walahra Turban</head>
<neck>Dark Torque</neck>
<lear>Antivenom Earring</lear>
<body>Goliard Saio</body>
<hands>Sorcerer's Gloves</hands>
<legs>Wizard's Tonban</legs>
</set>
<set name="EnfeeblingMagic" baseset="Standard"><!-- MP:805 Skill:281-->
<head>Igqira Tiara</head>
<neck>Enfeebling Torque</neck>
<lear>Antivenom Earring</lear>
<body>Wizard's Coat</body>
<legs>Igqira Lappa</legs>
</set>
<set name="StoneSkin" baseset="Standard"><!-- MP:891 Skill:200 MND:62+52-->
<main lock="yes">Kirin's Pole</main>
<head>Zenith Crown</head>
<neck>Morgana's Choker</neck>
<body>Errant Houppelande</body>
<legs>Mahatma Slops</legs>
<feet>Morrigan's Pigaches</feet>
</set>
</group>
</sets>
<rules>
<!-- Gear to return to after every action.-->
<action type="equip" when="idle|aftercast" set="Standard" />
<!-- Handles gear to equip when resting. -->
<action type="equip" when="Resting" set="Resting" />
<!-- Small piece of code to re-equip standing gear from no gear/locked gear -->
<if spell="Cure V">
<action type="equip" when="precast" set="Standard" />
<action type="cancelspell" />
<action type="return" />
</if>
<!-- Start check for what gear to equip when casting a spell. -->
<if skill="*Magic">
<!-- Always equip fast cast gear before any spell is cast. -->
<action type="equip" when="precast" set="FastCast" />
<!-- Handles equips for Elemental Magic Skills. -->
<if skill="ElementalMagic">
<!-- Check if Elemental Debuff. -->
<if spell="Frost|Drown|Rasp|Burn|Shock|Choke">
<action type="equip" when="midcast">
<main lock="t">Kirin's Pole</main>
</action>
<if mplt="564">
<action type="equip" when="midcast" set="MaxResistNuke" />
</if>
<elseif mplt="699">
<action type="equip" when="midcast" set="ResistNuke" />
</elseif>
<else>
<action type="equip" when="midcast" set="BaseNuke" />
</else>
</if>
<!-- Else this is an nuke. -->
<else>
<if advanced="$resist==1" notbuffactive="Elemental Seal">
<if mplt="564">
<action type="equip" when="midcast" set="MaxResistNuke" />
</if>
<elseif mplt="699">
<action type="equip" when="midcast" set="ResistNuke" />
</elseif>
<else>
<action type="equip" when="midcast" set="BaseNuke" />
</else>
</if>
<!-- End of check for resist mobs and HNMs -->
<else>
<!-- Check MP Values for what Gear to equip. -->
<if mplt="622">
<action type="equip" when="midcast" set="MaxMABNuke" />
</if>
<elseif mplt="647">
<action type="equip" when="midcast" set="MABBoostTwo" />
</elseif>
<elseif mplt="697">
<action type="equip" when="midcast" set="MABBoostOne" />
</elseif>
<else>
<action type="equip" when="midcast" set="BaseNuke" />
</else>
<!-- Handle AFv2 Pants, but do not equip pants if we already have Weather x2 and day bonuses from obi alone as obi alone hits the 35% damage cap. -->
<if advanced='(!((regex)%Weather=^.* x2$(/regex) AND "%WeatherElement" = "%SpellElement" AND "$%SpellElementObi" = "1") OR !("%WeatherElement" = "%spellElement")) AND ("%SpellElement" = "%DayElement" AND "$BLMAF2Pants" = "1") AND ("%skill"="ElementalMagic")'>
<action type="equip" when="midcast">
<legs>Sorcerer's Tonban</legs>
</action>
</if>
<!-- Check Variable for Sorcerer's Ring -->
<if mplt="697">
<if advanced="$SorcRing==1">
<!-- Check HP for Sorcerer's Ring -->
<if hpgt="905">
<action type="equip" when="precast" set="MinusHP" />
</if>
<action type="equip" when="midcast">
<lring lock="t">Sorcerer's Ring</lring>
</action>
</if>
</if>
<!-- Handle the check of UggPendant if set to 1. -->
<if advanced="$UggPendant==1" mppaftercastlt="50">
<action type="equip" when="midcast">
<neck lock="yes">Uggalepih Pendant</neck>
</action>
</if>
</else><!--End of else for normal nuking targets.-->
<!-- Handle Change Spell for when MP is low -->
<if notbuffactive="Manafont">
<if spell="Thunder IV" mplt="171">
<action type="changespell" spell="Thunder III" />
</if>
<if spell="Thunder IV|Thunder" mplt="128">
<action type="changespell" spell="Thunder II" />
</if>
<if spell="Thunder IV|Thunder III|Thunder II" mplt="86">
<action type="changespell" spell="Thunder" />
</if>
<if spell="Blizzard IV" mplt="164">
<action type="changespell" spell="Blizzard III" />
</if>
<if spell="Blizzard IV|Blizzard III" mplt="120">
<action type="changespell" spell="Blizzard II" />
</if>
<if spell="Blizzard IV|Blizzard III|Blizzard II" mplt="77">
<action type="changespell" spell="Blizzard" />
</if>
</if>
<!-- End of check for change spells. -->
</else><!-- End of check for nuking magic spells. -->
<!-- Finally equip the staff of the correct element! -->
<action type="equip" when="midcast">
<main>$%SpellElementStaff</main>
</action>
</if><!-- End of check for Elemental Magic -->
<!-- Handle Gear for Enfeebling, Healing, and Dark Magic Spells. -->
<if skill="EnfeeblingMagic|DarkMagic">
<if skill="Enfeeb*">
<action type="equip" when="midcast" set="EnfeeblingMagic" />
</if>
<elseif skill="Dark*">
<action type="equip" when="midcast" set="DarkMagic" />
</elseif>
<!-- Finally equip our staff for whichever spell is cast. -->
<action type="equip" when="midcast">
<main>$%SpellElementStaff</main>
</action>
</if><!-- End of check for Enfeebling, Healing, and Dark Magic Spells. -->
<if spell="Cur*">
<action type="equip" when="midcast">
<main>$%SpellElementStaff</main>
</action>
</if>
<!-- Handle Elemental Obi equip for all spells.-->
<if advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'>
<if element="Dark"><action type="equip" when="midcast"><waist lock="yes">Anrin Obi</waist></action></if>
<elseif element="Light"><action type="equip" when="midcast"><waist lock="yes">Korin Obi</waist></action></elseif>
<elseif element="Thunder"><action type="equip" when="midcast"><waist lock="yes">Rairin Obi</waist></action></elseif>
<elseif element="Ice"><action type="equip" when="midcast"><waist lock="yes">Hyorin Obi</waist></action></elseif>
<elseif element="Fire"><action type="equip" when="midcast"><waist lock="yes">Karin Obi</waist></action></elseif>
<elseif element="Wind"><action type="equip" when="midcast"><waist lock="yes">Furin Obi</waist></action></elseif>
<elseif element="Water"><action type="equip" when="midcast"><waist lock="yes">Suirin Obi</waist></action></elseif>
<elseif element="Earth"><action type="equip" when="midcast"><waist lock="yes">Dorin Obi</waist></action></elseif>
</if>
</if><!-- End of checking for all Magic -->
<!-- Timers for when sleep is wearing off. -->
<if advanced='"$SleepTimers"="1"'>
<if spell="Sleep II|Sleepga II">
<action type="command" when="aftercast">spellcast var inc sleepid;wait 45;input /echo [$sleepid:%spell] <%target> Wearing off in 45s</action>
<action type="command" when="aftercast">wait 75;input /echo [$sleepid:%spell] <%target> Wearing off in 15s</action>
<action type="command" when="aftercast">wait 85;input /echo [$sleepid:%spell] <%target> Wearing off in 5s;spellcast var dec sleepid;</action>
</if>
<elseif spell="Sleep|Sleepga">
<action type="command" when="aftercast">spellcast var inc sleepid;wait 45;input /echo [$sleepid:%spell] <%target> Wearing off in 15s</action>
<action type="command" when="aftercast">wait 55;input /echo [$sleepid:%spell] <%target> Wearing off in 5s;spellcast var dec sleepid;</action>
</elseif>
</if>
<!-- Handle the auto-cancel of Sneak and Stoneskin. Requires Cancel Plugin -->
<if spell="Sneak" buffactive="Sneak" spelltargettype="Self">
<action type="equip" when="midcast" set="Standard" />
<action type="command" when="midcast">cancel 71</action>
<action type="midcastdelay" delay="1.8" />
</if>
<if spell="Stoneskin" buffactive="Stoneskin">
<action type="equip" when="midcast" set="StoneSkin" />
<action type="command" when="midcast">cancel 37</action>
<action type="midcastdelay" delay="4.8" />
</if>
<if spell="Stoneskin">
<action type="equip" when="midcast" set="StoneSkin" />
</if>
</rules>
</spellcast>