<?xml version="1.0" ?>
<?xml version="1.0" ?>
<spellcast>
<config
RequireVersion="2.30"
HideErrors="false"
ShowGearSwaps="false"
Debug="true"
ShowSpellInfo="false"
/>
<variables>
<!-- Sleep timers, announces to chat when sleep is wearing off. Set to 0 to not use. -->
<!-- (note: this is sort of very obvious usage of 3rd party programs, so turn off when around people you dont trust -->
<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 Sorc ring or not? set to 0 if you do not have it or dangerous location -->
<var name="Ring">1</var>
<!-- use Ugg Pendant or not? set to 0 if you do not have it. -->
<var name="UggPendant">0</var>
<!-- Set HP Variables for what the maximum amount of HP you can have to trigger sorc ring is for each subjob -->
<var name="RDMRingHP">800</var>
<var name="WHMRingHP">800</var>
<var name="NINRingHP">800</var>
<!-- Set MP variables for the amount of MP you have with each subjob -->
<var name="RDMPendantMP">406</var>
<var name="WHMPendantMP">420</var>
<var name="NINPendantMP">400</var>
<!-- Elemental Grips, set to 1 for each you have -->
<var name="LightGrip">0</var>
<var name="DarkGrip">1</var>
<var name="ThunderGrip">0</var>
<var name="IceGrip">0</var>
<var name="FireGrip">0</var>
<var name="WindGrip">0</var>
<var name="WaterGrip">0</var>
<var name="EarthGrip">0</var>
<!-- Elemental Staffs, input what staff to use for each element here -->
<var name="IceStaff">Varuna's Staff</var>
<var name="DarkStaff">Pluto's Staff</var>
<var name="ThunderStaff">Indra's Staff +1</var>
<var name="WindStaff">Wind Staff</var>
<var name="FireStaff">Fire Staff</var>
<var name="EarthStaff">Earth Staff</var>
<var name="LightStaff">Light Staff</var>
<var name="WaterStaff">Water Staff</var>
<!-- Elemental Obi's, set to 1 for the ones you have. -->
<var name="DarkObi">1</var>
<var name="LightObi">0</var>
<var name="ThunderObi">1</var>
<var name="IceObi">1</var>
<var name="FireObi">1</var>
<var name="WindObi">1</var>
<var name="WaterObi">0</var>
<var name="EarthObi">0</var>
</variables>
<sets>
<group name="Main" default="yes">
<set name="Standard">
<main>$EarthStaff</main>
<sub>Bugard Strap +1</sub>
<ammo>Phantom Tathlum</ammo>
<head>Goetia Petasos +1</head>
<neck>Orochi Nodowa</neck>
<lear>Loquacious Earring</lear>
<rear>Moldavite Earring</rear>
<body>Sorcerer's Coat</body>
<hands>Zenith Mitts</hands>
<lring>Dark Ring</lring>
<rring>Serket Ring</rring>
<back>Cheviot Cape</back>
<waist>Penitent's Rope</waist>
<legs>Igqira Lappa</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="Resting" BaseSet="Standard">
<main>$DarkStaff</main>
<sub>Bugard Strap +1</sub>
<ammo>Clarus Stone</ammo>
<head>Goliard Chapeau</head>
<neck>Eidolon Pendant</neck>
<lear>Antivenom Earring</lear>
<rear>Relaxing Earring</rear>
<body>Oracle's Robe</body>
<hands>Oracle's Gloves</hands>
<rring>Serket Ring</rring>
<back>Felicitas Cape</back>
<waist>Austerity Belt</waist>
<legs>Oracle's Braconi</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="MinusHP">
<sub>Dark Grip</sub>
<!--head>Zenith Crown</head-->
<neck>Morgana's Choker</neck>
<hands>Zenith Mitts</hands>
<back>Aslan Cape</back>
<rring>Serket Ring</rring>
<legs>Zenith Slacks</legs>
<feet>Errant Pigaches</feet>
</set>
<set name="WeakenedMinusHP">
<rring>Serket Ring</rring>
</set>
<set name="FullDamage" BaseSet="Standard">
<neck>Prudence Torque</neck>
<lear>Abyssal Earring</lear>
<body>Teal Saio</body>
<hands>Eradico Mitts</hands>
<rring>Omega Ring</rring>
<back>Goetia Mantle</back>
<legs>Teal Slops</legs>
<feet>Theurgia Clogs</feet>
</set>
<set name="HighInt">
<main lock="yes">Kirin's Pole</main>
<head>Goetia Petasos +1</head>
<neck>Prudence Torque</neck>
<rear>Abyssal Earring</rear>
<body>Errant Hpl.</body>
<lring>Snow Ring</lring>
<rring>Omega Ring</rring>
<back>Goetia Mantle</back>
<waist>Penitent's Rope</waist>
<legs>Mahatma Slops</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="HighResist" BaseSet="FullDamage">
<hands>Wzd. Gloves +1</hands>
<neck>Elemental Torque</neck>
<feet>Goliard Clogs</feet>
</set>
<set name="LightResist" BaseSet="FullDamage">
<neck>Elemental Torque</neck>
</set>
<set name="DarkMagic" BaseSet="Standard">
<head>Walahra Turban</head>
<neck>Dark Torque</neck>
<rear>Abyssal Earring</rear>
<body>Nashira Manteel</body>
<lring>Omega RIng</lring>
<back>Merciful Cape</back>
<legs>Wizard's Tonban</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="EnfeeblingMagic" BaseSet="Standard">
<head>Igqira Tiara</head>
<neck>Prudence Torque</neck>
<rear>Abyssal Earring</rear>
<body>Wizard's Coat</body>
<hands>Oracle's Gloves</hands>
<lring>Omega RIng</lring>
<back>Goetia Mantle</back>
<waist>Penitent's Rope</waist>
<legs>Igqira Lappa</legs>
<feet>Goliard Clogs</feet>
</set>
<set name="HealingMagic" BaseSet="Standard">
<head>Goliard Chapeau</head>
<body>Nashira Manteel</body>
<waist>Swift Belt</waist>
</set>
<set name="DivineMagic" BaseSet="Standard" />
<set name="EnhancingMagic" BaseSet="Standard" />
<set name="Stoneskin">
<main lock="yes">Kirin's Pole</main>
<sub>Bugard Strap +1</sub>
<head>Goliard Chapeau</head>
<body>Errant Hpl.</body>
<lring>Omega Ring</lring>
<back>Aslan Cape</back>
<waist>Penitent's Rope</waist>
<legs>Mahatma Slops</legs>
<feet>Errant Pigaches</feet>
</set>
<set name="Utsusemi" BaseSet="Standard">
<main lock="yes">$EarthStaff</main>
<head>Walahra Turban</head>
<body>Nashira Manteel</body>
<waist>Swift Belt</waist>
</set>
</group>
</sets>
<rules>
<!-- utility: if targetting a monster, but casting a spell that can not be cast on monsters, then cast on self (buffs). -->
<if SpellTargetType="MONSTER" NotValidTarget="*Enemy*" ValidTarget="*Self*">
<action type="changetarget" target="<me>" />
</if>
<if SpellTargetType="NONE" ValidTarget="*Self*">
<action type="changetarget" target="<me>" />
</if>
<if Spell="Escape|Warp|Warp II|Retrace|Teleport-*|Reraise|Tractor"> <action type="return" /> </if>
<!-- set of gear to equip when finished casting a spell or coming back from resting mp (idle set) -->
<action type="equip" when="Idle|Aftercast" set="Standard" />
<!-- set of gear to equip when resting -->
<action type="equip" when="Resting" set="Resting" />
<if Spell="Boost">
<action Type="Equip" when="Precast" set="Standard" />
<action type="CancelSpell"/>
<action type="Return"/>
</if>
<if Spell="Stun">
<!-- equip gear that helps stun, and nothing else -->
<action type="equip" set="DarkMagic">
<main>$ThunderStaff</main>
<head>Walahra Turban</head>
<rear>Abyssal Earring</rear>
<body>Nashira Manteel</body>
<waist>Swift Belt</waist>
<feet>Goliard Clogs</feet>
</action>
<!-- these codes just print Stun in auto translate into chat. -->
<!-- <action type="command">input /p \xFD\x07\x02\x12\xFC\xFD >> <%SpellTarget></action> -->
</if>
<else>
<!-- if were handling spells -->
<if Skill="*Magic">
<!-- if this is elemental magic (nukes/dot's, then do special handling -->
<if Skill="ElementalMagic">
<action type="midcastdelay" delay=".5" />
<action type="equip" when="midcast" Set="FullDamage" />
<!-- only equip pendant in situations you would equip full damage gear -->
<if MPAfterCastLT="$%SubJobPendantMP" Advanced="$UggPendant==1">
<action type="equip" when="midcast">
<neck lock="yes">Uggalepih Pendant</neck>
</action>
</if>
<!-- check for Sorc Ring if mid or low resist mob. HP values to compare to are in variables above. -->
<if advanced='$Ring == 1'>
<if HPGT="$%SubJobRingHP">
<if NotBuffActive="Weakness">
<action type="precastdelay" delay=".1" />
<action type="Equip" when="Precast" Set="MinusHP" />
</if>
<else>
<action type="precastdelay" delay=".1" />
<action type="Equip" when="Precast" Set="WeakenedMinusHP" />
</else>
</if>
<action type="equip" when="midcast">
<rring>Sorcerer's Ring</rring>
</action>
</if>
<!-- Handle Elemental Obi's -->
<if Advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'>
<if Element="Thunder"><action type="equip" when="midcast"><waist lock="yes">Rairin Obi</waist></action></if>
<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>
<action type="midcastdelay" delay=".5" />
</if>
<!-- 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='(!((bool)strmatch("* x2","%Weather") AND "%WeatherElement" = "%SpellElement" AND "$%SpellElementObi" = "1") OR !("%WeatherElement" = "%SpellElement")) AND ("%SpellElement" = "%DayElement" AND "$BLMAF2Pants" = "1") AND ("%skill"="ElementalMagic")'>
<action type="midcastdelay" delay=".5" />
<action type="equip" when="midcast">
<legs lock="yes">Sorcerer's Tonban</legs>
</action>
</if>
</if>
<else>
<if Spell="Drain*|Aspir*">
<action type="midcastdelay" delay=".5" />
<action type="equip" when="precast|midcast" Set="DarkMagic">
<lear>Hirudinea Earring</lear>
</action>
<!-- Handle Elemental Obi's -->
<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>
<action type="midcastdelay" delay=".2" />
</if>
</if>
<!-- auto cancel sneak/utsu/stoneskin/blink when recasting them. Requires Cancel Plugin -->
<elseif Spell="Sneak|Invisible" SpellTargetType="Self">
<action type="equip" when="midcast">
<back>Skulker's Cape</back>
</action>
<if Spell="Sneak" BuffActive="Sneak">
<action type="command" when="midcast">cancel 71</action>
<action type="midcastdelay" delay="1.8" />
</if>
</elseif>
<elseif Spell="Stoneskin">
<action type="equip" when="precast|midcast" set="Stoneskin"></action>
<if BuffActive="Stoneskin">
<action type="command" when="midcast">cancel 37</action>
<action type="midcastdelay" delay="4" />
</if>
</elseif>
<elseif Spell="Blink" BuffActive="Blink">
<action type="command" when="midcast">cancel 36</action>
<action type="midcastdelay" delay="3.5" />
</elseif>
<elseif Spell="Cure*">
<action type="midcastdelay" delay=".5" />
<action type="equip" when="precast|midcast" Set="HealingMagic" />
<if Spell="Cure III" MPLT="46">
<action type="ChangeSpell" Spell="Cure II"></action>
</if>
<elseif Spell="Cure II|Cure III" MPLT="24">
<action type="ChangeSpell" Spell="Cure"></action>
</elseif>
</elseif>
<else>
<!-- for any other type of spell, just equip matching set name. -->
<action type="midcastdelay" delay=".5" />
<action type="equip" when="precast|midcast" Set="Standard|%Skill" />
</else>
</else>
</if>
<elseif Skill="Ninjutsu">
<if spell="Utsusemi*">
<action type="equip" when="precast|midcast" set="Utsusemi"></action>
<if spell="Utsusemi: Ichi" BuffActive="Copy Image*">
<action type="equip" when="precast|midcast" set="Utsusemi"></action>
<action type="midcastdelay" delay="3.0" />
<action type="Command" when="midcast">cancel 66</action>
</if>
</if>
</elseif>
<else>
<action type="equip" when="precast|midcast" Set="Standard" />
</else>
<!-- 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>
<!-- finally, equip our staff! -->
<if NotSkill="EnhancingMagic|Ninjutsu">
<action type="equip" when="midcast">
<main Lock="Yes">$%SpellElementStaff</main>
</action>
</if>
</else>
</rules>
</spellcast>