<?xml version="1.0" encoding="utf-8"?>
<includes>
<!--- ***************** Variables ***************** --->
<!-- Fast Cast Magian Staffs -->
<include name="TrialStaffFastCast">
<var name="Staff-FastCast-Fire">Agni's Staff +3</var>
<var name="Staff-FastCast-Ice">Varuna's Staff +3</var>
<var name="Staff-FastCast-Wind">Vayu's Staff +3</var>
<var name="Staff-FastCast-Earth">Terra's Staff</var>
<var name="Staff-FastCast-Thunder">Indra's Staff +3</var>
<var name="Staff-FastCast-Water">Soma's Staff +3</var>
<var name="Staff-FastCast-Light">Light Staff</var>
<var name="Staff-FastCast-Dark">Yama's Staff +3</var>
</include>
<!-- Trial of the Magian Staffs for damage -->
<include name="TrialStaffDMG">
<var name="Staff-DMG-Fire">Atar I</var>
<var name="Staff-DMG-Ice">Vourukasha I</var>
<var name="Staff-DMG-Wind">Vayuvata I</var>
<var name="Staff-DMG-Earth">Terra's Staff</var>
<var name="Staff-DMG-Thunder">Apamajas I</var>
<var name="Staff-DMG-Water">Arka IV</var>
<var name="Staff-DMG-Light">Light Staff</var>
<var name="Staff-DMG-Dark">Xsaeta I</var>
</include>
<!-- Trial of the Magian Staffs for Magic Accuracy -->
<include name="TrialStaffACC">
<var name="Staff-ACC-Fire">Agni's Staff +3</var>
<var name="Staff-ACC-Ice">Varuna's Staff +3</var>
<var name="Staff-ACC-Wind">Vayu's Staff +3</var>
<var name="Staff-ACC-Earth">Kubera's Staff +3</var>
<var name="Staff-ACC-Thunder">Indra's Staff +3</var>
<var name="Staff-ACC-Water">Soma's Staff +3</var>
<var name="Staff-ACC-Light">Light Staff</var>
<var name="Staff-ACC-Dark">Yama's Staff +3</var>
</include>
<!-- Elemental Stave Constants -->
<include name="EleStaffConst">
<var name="Staff-Fire">Vulcan's Staff</var>
<var name="Staff-Ice">Aquilo's Staff</var>
<var name="Staff-Wind">Auster's Staff</var>
<var name="Staff-Earth">Terra's Staff</var>
<var name="Staff-Thunder">Jupiter's Staff</var>
<var name="Staff-Water">Neptune's Staff</var>
<var name="Staff-Light">Light Staff</var>
<var name="Staff-Dark">Pluto's Staff</var>
</include>
<!-- Elemental Obi Constants -->
<include name="ElementalObiConstants">
<var name="Obi-Fire">0</var>
<var name="Obi-Ice">Hyorin Obi</var>
<var name="Obi-Wind">Furin Obi</var>
<var name="Obi-Earth">0</var>
<var name="Obi-Thunder">Rairin Obi</var>
<var name="Obi-Water">0</var>
<var name="Obi-Light">Korin Obi</var>
<var name="Obi-Dark">Anrin Obi</var>
</include>
<!-- Enspells Vars -->
<include name="VarEnSpells">
<var name="Enspell-Fire">Enfire</var>
<var name="Enspell-Earth">Enstone</var>
<var name="Enspell-Water">Enwater</var>
<var name="Enspell-Wind">Enaero</var>
<var name="Enspell-Ice">Enblizzard</var>
<var name="Enspell-Thunder">Enthunder</var>
</include>
<!--- ***************** Rules ***************** --->
<!-- Return Rules -->
<!-- These stop any gear changes if I'm unable to take particular actions. The reason for this is because
if I'm impatient and spamming a macro while petrified or something I don't want a WHM to be unable to target
me for Stona, for instance. -->
<include name="ReturnRules">
<if notSpell="$TriggerSetOne|$TriggerSetTwo|$TriggerSetThree">
<if BuffActive="Sleep|Petrification|Stun|Terror|Charm|Illusion|Egg">
<return />
</if>
<elseif spell="Ranged">
<if advanced='"%SpellTargetDistance" > "24.9"'>
<return />
</if>
</elseif>
<elseif Type="PetCommand|*BloodPact*" notPetISValid="TRUE">
<return />
</elseif>
<elseif Type="*Magic|BardSong|Ninjutsu" BuffActive="Silence|Mute|Omerta">
<return />
</elseif>
<elseif Type="Weaponskill|JobAbility|PetCommand|CorsairRoll|CorsairShot|Scholar" BuffActive="Amnesia|Impairment">
<return />
</elseif>
<elseif type="Weaponskill">
<if mode="OR" TPLT="100" advanced='%SpellTargetDistance > $Distance' notstatus="engaged">
<cancelspell />
<return />
</if>
</elseif>
</if>
</include>
<!--- Do not use rules if less than LV50 --->
<include name="LVrestriction">
<if notMLvlGT="50">
<return />
</if>
</include>
<!--- Do not change gear if spell is a transport spell -->
<include name="CleanTransportation">
<if Spell="Warp*|Teleport*|Recall*|Escape|Retrace">
<return />
</if>
</include>
<!-- Variable Trigger: Set Distance Rules -->
<include name="SetDistanceVariable">
<elseif Spell="Shackled Fists">
<cancelspell />
<var cmd="set Distance %TargetDistance" />
<addtochat color="135">Distance Variable: $Distance</addtochat>
</elseif>
</include>
<!--- Variable Trigger: Change between Regular Mobs and NMs --->
<include name="ResistRule">
<elseif spell="Grim Halo">
<cancelspell />
<if notMainJob="RDM|BLM|SCH">
<if advanced='"$Resist"=="R"'>
<var cmd="set Resist NM" />
</if>
<else>
<var cmd="set Resist R" />
</else>
</if>
<else>
<if advanced='"$Resist"=="R"'>
<var cmd="set Resist RNM" />
<var cmd="set QuickResist RNM" />
</if>
<elseif advanced='"$Resist"=="RNM"'>
<var cmd="set Resist NM" />
<var cmd="set QuickResist NM" />
</elseif>
<else>
<var cmd="set Resist R" />
<var cmd="set QuickResist R" />
</else>
</else>
</elseif>
</include>
<!--- Equip DD or Idle Set --->
<include name="Variable-Blank">
<elseif Spell="Vulcan Shot">
<cancelspell />
<var cmd="set Armor-%Status BlankSet" />
<command>Dancing Chains</command>
</elseif>
</include>
<!--- Equip MDT (Aegis Schism) --->
<include name="Variable-MDT">
<elseif Spell="Aegis Schism">
<cancelspell />
<var cmd="set Armor-%Status MDT" />
<command>Dancing Chains</command>
</elseif>
</include>
<!--- Equip PDT (Barbed Crescent) --->
<include name="Variable-PDT">
<elseif Spell="Barbed Crescent">
<cancelspell />
<var cmd="set Armor-%Status PDT" />
<command>Dancing Chains</command>
</elseif>
</include>
<!--- Equip Full Evasion (Carnal Nightmare) --->
<include name="Variable-FullEvasion">
<elseif Spell="Carnal Nightmare">
<cancelspell />
<var cmd="set Armor-%Status FullEvasion" />
<command>Dancing Chains</command>
</elseif>
</include>
<!--- Area variable rule --->
<include name="AreaRule">
<if area="Abyssea*" advanced='"$Area"!="Abyssea"'>
<var cmd="set Area Abyssea" />
</if>
<elseif notarea="Abyssea*" advanced='"$Area"!="Outside"'>
<var cmd="set Area Outside" />
</elseif>
</include>
<!--- Lock Weapon Rules --->
<include name="LockWeaponRule">
<if mode="OR" advanced='$LockMain==1' EquipMain="TrialWeaponsHere">
<equip when="all">
<main lock="true" />
<sub lock="true" />
</equip>
</if>
</include>
<!--- Change to TP when engaged, Idle when idle, and Resting when resting --->
<include name="AutoChangeGear">
<if status="idle" notSpell="$TriggerSetOne|$TriggerSetTwo|$TriggerSetThree">
<equip when="idle|aftercast" set="$Idle" />
</if>
<elseif status="engaged" notSpell="$TriggerSetOne|$TriggerSetTwo|$TriggerSetThree">
<equip when="engaged|aftercast" set="$TP" />
</elseif>
<elseif status="resting" notSpell="$TriggerSetOne|$TriggerSetTwo|$TriggerSetThree">
<equip when="all" set="Resting" />
</elseif>
<command when="idle">wait 1;Dancing Chains</command>
</include>
<!--- Variable Trigger: Update current gear set --->
<include name="UpdateSetRule">
<if spell="Dancing Chains">
<cancelspell />
<if status="idle">
<equip set="$Idle" />
</if>
<elseif status="engaged">
<equip set="$TP" />
</elseif>
</if>
</include>
<!-- Spell Cancel Rules -->
<include name="SpellCancel">
<if Spell="Sneak" BuffActive="Sneak" TargetType="SELF">
<midcastdelay delay="1" />
<command when="midcast">cancel 71</command>
</if>
<elseif spell="Spectral Jig" BuffActive="Sneak">
<command when="precast">cancel 71</command>
</elseif>
<elseif Spell="Monomi*" BuffActive="Sneak">
<midcastdelay delay="2.5" />
<command when="midcast">cancel 71</command>
</elseif>
<elseif spell="Utsusemi: Ichi" buffactive="Copy Image*" notbuffactive="Silence|Mute|Omerta|Obliviscence">
<if notbuffactive="Copy Image (3)|Copy Image (4)">
<midcastdelay delay="2.5" />
<cmd when="midcast">cancel 66</cmd>
<cmd when="midcast">cancel 446</cmd>
</if>
<else>
<cancelspell />
<return />
</else>
</elseif>
<elseif Spell="Stoneskin" BuffActive="Stoneskin">
<midcastdelay delay="2.8" />
<command when="midcast">cancel 37</command>
</elseif>
<elseif Spell="Blink" BuffActive="Blink">
<midcastdelay delay="5.2" />
<command when="midcast">cancel 36</command>
</elseif>
</include>
<!--- Misc: Lock Powder Boots --->
<include name="PowderBootsRule">
<if EquipFeet="Powder Boots">
<equip when="all">
<feet lock="true" />
</equip>
</if>
</include>
<!--- Misc: Alert when insufficient MP --->
<include name="MPCostRule">
<if notSpell="$TriggerSetOne|$TriggerSetTwo|$TriggerSetThree" MPCostGT="%MP">
<addtochat color="135">You need more MP! %Spell: %MP/%MPCost!</addtochat>
</if>
</include>
<!--- Subs: Change to Conv gear and lock cure gear changes until first cast -->
<include name="ConvRules">
<if status="engaged" Spell="Convert">
<castdelay delay="0.02" />
<equip when="precast" set="%Spell" />
<var cmd="set TP Convert" />
</if>
<if status="idle" Spell="Convert">
<castdelay delay="0.02" />
<equip when="precast" set="%Spell" />
<var cmd="set Idle Convert" />
</if>
</include>
<!-- Elemental Obi Rule -->
<include name="ElementalObiRule">
<if SpellTargetType="MONSTER" advanced='("%SpellElement"="%WeatherElement" OR "%SpellElement"="%DayElement") AND "$Obi-%SpellElement"!="0"'>
<equip when="midcast">
<waist lock="yes">$Obi-%SpellElement</waist>
<back lock="yes">Twilight Cape</back>
</equip>
</if>
</include>
<!--- Healing Breath Rules --->
<include name="HealingBreathRules">
<if subjob="WHM|RDM|BLM|BLU|SCH" PetISValid="TRUE" type="*Magic">
<if mode="OR" spell="Phalanx" advanced='(%HPP < 51 AND %Casttime < 2.5) OR (%PartyCount > 1 AND %Casttime < 2.5)'>
<castdelay delay="$Delay-Spell" />
<equip when="precast" set="HealingBreathTrigger" />
<var cmd="setcalc HealingBreathDelay %CastTime + 0.4" />
<midcastdelay delay="$HealingBreathDelay" />
<equip when="midcast" set="Restoring Breath" />
<aftercastdelay delay="2.1" />
</if>
</if>
<elseif subjob="PLD|DRK|BRD|NIN" PetISValid="TRUE" type="*Magic|*Song|Ninjutsu" CastTimeLT="2" HPPLT="34">
<castdelay delay="$Delay-Spell" />
<equip when="precast" set="HealingBreathTrigger" />
<var cmd="setcalc HealingBreathDelay %CastTime + 0.4" />
<midcastdelay delay="$HealingBreathDelay" />
<equip when="midcast" set="Restoring Breath" />
<aftercastdelay delay="2.1" />
</elseif>
</include>
<!-- Enspells Rule -->
<include name="EnspellsRule">
<if spell="Enfire" Day="Earth|Water|Wind|Ice|Thunder">
<changespell spell="$Enspell-%DayElement" />
</if>
</include>
</includes>