Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <!-- Last modified: 1/17/2012 1:15:46 AM -->
- <includes>
- <!-- ***************** Variables ***************** -->
- <!-- This is a REQUIRED include. -->
- <include name="UtilityVars">
- <!-- Defined Triggers:
- Triggers are JAs/spells that are unusable (or unlikely to be used) by players.
- Fomor weaponskills:
- Shackled Fists, Vulcan Shot, Carnal Nightmare, Grim Halo, Aegis Schism, Netherspikes,
- Foxfire, Barbed Crescent, Dancing Chains
- Unusable spells (1):
- Banishga V, Poisonga IV, Poisonga V, Diaga IV, Diaga V, Bio V, Dia V, Poison V, Banish V
- Unusable spells (2):
- Stonega V, Waterga V, Aeroga V, Firaga V, Blizzaga V, Thundaga V
- Unusable spells (3):
- Banishga IV, Poisonga III, Diaga III, Dia IV, Bio IV, Poison IV
- Unused spells:
- Scop's Operetta, Puppet's Operetta, Herb Pastoral, Shining Fantasia, Goblin Gavotte,
- Tranquility, Equanimity
- General XML usage:
- Reset: Grim Halo (must be handled separately from the other triggers)
- Deferred equipment resolution (aftercast): Dancing Chains
- Switches:
- Physical Defense: Netherspikes
- Magical Defense: Aegis Schism
- Kill switch: Barbed Crescent
- Movement: Foxfire
- Magical element (primariy for MDT):
- Firaga V - fire
- Stonega V - earth
- Waterga V - water
- Aeroga V - wind
- Blizzaga V - ice
- Thundaga V - thunder
- Banish V - light
- Bio V - dark
- Diaga V - no element/neutral
- Physical defense type (PDT, Evasion, counter?, shield?): Carnal Nightmare
- Physical combat:
- TP Mode (melee, tank): Poison V
- Tank Mode (blood, evasion, counter): Poison IV
- Melee Mode (normal, light acc, heavy acc, high att, custom1, custom2): Poisonga IV
- WS Mode (Acc, Att, CapAtt, CapCrit): Poisonga V
- WS distance: Shackled Fists
- Magical accuracy: Vulcan Shot
- Dire cast: Diaga IV
- Cure type: Poisonga III
- Other melee toggles:
- Aggressive Equanimity
- Refresh - free use trigger
- HP - free use trigger
- Free-use Keybind Triggers:
- Scop's Operetta Class Specific
- Puppet's Operetta Class Specific
- Herb Pastoral Class Specific
- Shining Fantasia Class Specific
- Goblin Gavotte Class Specific
- Tranquility Class Specific
- Equanimity Class Specific
- Note: For combat triggers (eg: TankMode, OffenseMode, WSMode), entering the trigger
- spell with a target of <bt> rather than <t> (default of <t> will be used if no
- target is given) will run the cycle options backwards.
- -->
- <!-- ******************************************* -->
- <!-- GLOBAL USER CONFIG -->
- <!-- Adjust these values here; they apply to all XMLs that use this include. -->
- <!-- SwitchType = Toggle, HardSwitch. Toggle allows the trigger to turn the option off. -->
- <var name="SwitchType">HardSwitch</var>
- <var name="MDTSwitchType">HardSwitch</var>
- <!-- KillType = Full, Stepped. Full clears all sets when using killswitch; stepped kills them in stages. -->
- <var name="KillType">Full</var>
- <!-- ******************************************* -->
- <!-- CUSTOM USER CONFIG -->
- <!-- This section is for vars that can be set within the job XML to change behavior. -->
- <!-- HasCounter/HasShield/HasEvasion = Yes, No. Set to Yes in job XML for each that is
- a defensive option, or No for Evasion if it's not. -->
- <var name="HasEvasion">Yes</var>
- <var name="HasCounter">No</var>
- <var name="HasShield">No</var>
- <!-- CustomMelee1 & 2 are for custom melee TP sets. For example,
- a dex build for crits, or a capped delay build for nin or dnc.
- CustomWSMode allows for a custom mode for weaponskills. -->
- <var name="CustomMelee1">None</var>
- <var name="CustomMelee2">None</var>
- <var name="CustomWSMode">None</var>
- <var name="CustomDefMode">None</var>
- <!-- Use-OffenseMode can be set to a value other than "None" in order
- to override the current OffenseMode value without changing OffenseMode.
- Useful for temporary effects such as 2hrs, as well as adjusting
- which accuracy layer to use based on current buffs, etc. -->
- <var name="Use-OffenseMode">None</var>
- <!-- Same as Use-OffenseMode, but for weaponskills. -->
- <var name="Use-WSMode">None</var>
- <!-- Job xml's should define these weaponskills. -->
- <!-- Only crit weaponskills can use CapCrit WSMode. -->
- <var name="CritWS">0</var>
- <!-- Single hit weaponskills don't use acc WSMode -->
- <var name="SingleHitWS">0</var>
- <!-- Magical weaponskills ignore WSMode. -->
- <var name="MagicalWS">0</var>
- <!-- ******************************************* -->
- <!-- ******************************************* -->
- <!-- VARS USED IN THIS INCLUDE FILE -->
- <!-- Triggered = True, False. -->
- <var name="Triggered">False</var>
- <!-- Note the reset trigger, and have var to use in Command. -->
- <var name="ResetTrigger">Grim Halo</var>
- <var name="ResetCommand">input /ws "Grim Halo"</var>
- <!-- Same for the trigger used to equip gear on aftercast. -->
- <var name="EquipTrigger">Dancing Chains</var>
- <var name="EquipCommand">input /ws "Dancing Chains"</var>
- <!-- Killswitch is used when the user does not wish to use toggles. This allows
- the main trigger to only be used to turn the flag on, and the killswitch
- to turn it off. By default only applies to PhysicalDefense and MagicalDefense. -->
- <var name="KillswitchTrigger">Barbed Crescent</var>
- <!-- Switches that may be turned off by the Killswitch. Don't include Reset, Equip or Killswitch triggers. -->
- <var name="Switches">Netherspikes|Aegis Schism|Foxfire|Equanimity</var>
- <!-- Elemental triggers for specifying a specific element to use. Primarily for MDT.
- Diaga V is used to represent "no particular element", while the others represent
- their respective spell elements.
- Carnal Nightmare is for cycling physical defense modes. -->
- <var name="DefenseModes">Firaga V|Stonega V|Waterga V|Aeroga V|Blizzaga V|Thundaga V|Banish V|Bio V|Diaga V|Carnal Nightmare</var>
- <!-- Other triggers for selecting combat modes. -->
- <var name="CombatTriggers">Vulcan Shot|Poison IV|Poison V|Poisonga III|Poisonga IV|Poisonga V|Shackled Fists</var>
- <!-- Should the user wish to define keybind actions to be used for
- job-specific triggers (ie: triggers whose behavior is not defined
- within this Include, but that they want global keybinds for),
- the triggers listed here can be used. -->
- <var name="KeybindTriggers">Scop's Operetta|Puppet's Operetta|Herb Pastoral|Shining Fantasia|Goblin Gavotte|Tranquility|Equanimity</var>
- <!-- Var for custom job triggers. Should be set within each job XML
- to allow them to be filtered by the ReturnRules check and such. -->
- <var name="JobTriggers">0</var>
- <var name="DireSpell">Diaga IV</var>
- <!-- Anything leftover, for reference. -->
- <var name="UnusedTriggers">Bio IV|Dia IV|Dia V|Banishga IV|Diaga III</var>
- <!-- Vars for various modes -->
- <!-- MeleeMode = Offense, Tank -->
- <var name="MeleeMode">Offense</var>
- <var name="FullMode">None</var>
- <!-- OffenseMode = Normal, LightAcc, HeavyAcc, HighAtt, Crit -->
- <var name="OffenseMode">Normal</var>
- <!-- TankMode = Blood, Evasion, Counter -->
- <var name="TankMode">Blood</var>
- <var name="TankModifier">Normal</var>
- <!-- WSMode = Default, Att, Acc, CapAtt, CapCrit, Custom -->
- <var name="WSMode">Default</var>
- <var name="TmpWSMode">None</var>
- <!-- Set the max distance a weaponskill can be performed from -->
- <var name="WSDistance">5.0</var>
- <!-- MagicAcc = Potency, Accuracy -->
- <var name="MagicAcc">Potency</var>
- <!-- Vars for dire cast situations -->
- <var name="DireCast">False</var>
- <!-- CureMode = Potency, Enmity, Interrupt -->
- <var name="CureMode">Potency</var>
- <!-- Movement = Kite, Move, None -->
- <var name="Movement">Move</var>
- <!-- PhysicalDef = $PhysicalDefType, None -->
- <var name="PhysicalDefense">None</var>
- <!-- PhysicalDefType = PDT, Evasion, Shield (Evasion and Shield use PDT as secondary foci) -->
- <var name="PhysicalDefType">PDT</var>
- <!-- MagicalDef = $MagicalDefType, None -->
- <var name="MagicalDefense">None</var>
- <!-- MagicalDefType = Fire, Earth, Water, Wind, Ice, Thunder, Light, Dark, Neutral -->
- <var name="MagicalDefType">Neutral</var>
- <!-- For activating +dmg gear options -->
- <var name="AggressiveMode">No</var>
- <var name="AggressiveLayer">None</var>
- <!-- Variables for sets -->
- <var name="BaseLayer">None</var>
- <var name="CurrentSet">None</var>
- <var name="WSSet">None</var>
- <!-- Weakness armor is the gear set to wear while weak (usually +HP). -->
- <var name="WeaknessArmor">None</var>
- <var name="WeaknessSet">WeakSet</var>
- <var name="TPStyle">Default</var>
- <var name="IdleStyle">Normal</var>
- <var name="Area">Outside</var>
- <var name="IdleArea">Field</var>
- <var name="TrialWeapon">None</var>
- <var name="LockMain">No</var>
- <var name="PullWeapon">Mamoolbane</var>
- <var name="Convert">None</var>
- <var name="TestProc">No</var>
- </include>
- <!-- Required when including RecastWarnings -->
- <include name="RecastDurations">
- <var name="WarnTime">15</var>
- <var name="Refresh-Duration">150</var>
- <var name="Refresh II-Duration">150</var>
- <var name="Haste-Duration">180</var>
- <var name="Phalanx-Duration">180</var>
- <var name="Reprisal-Duration">180</var>
- <var name="Sleep-Duration">60</var>
- <var name="Sleep II-Duration">90</var>
- <var name="Repose-Duration">90</var>
- <var name="Sleepga-Duration">90</var>
- <var name="Sleepga II-Duration">90</var>
- <var name="Break-Duration">30</var>
- <var name="Sheep Song-Duration">60</var>
- <var name="Yawn-Duration">90</var>
- <var name="Soporific-Duration">90</var>
- <var name="Dream Flower-Duration">90</var>
- <var name="Enspell-Duration">180</var>
- <var name="Spikes-Duration">180</var>
- <var name="SleepOrder">0</var>
- <!-- Count: Set bonus gained for the number of +2 AF3 pieces being worn.
- 10 for 2 pieces, 20 for 3 pieces, 30 for 4 pieces, 50 for 5 pieces. -->
- <var name="EstoqueurSetBonus">30</var>
- <!-- Cape: 0 for don't have; 1 for have. -->
- <var name="EstoqueurCape">1</var>
- <!-- Feet: 0 for don't have; 1 for +1; 2 for +2 -->
- <var name="EstoqueurFeet">2</var>
- <var name="Buff-Duration">0</var>
- <var name="Warn-Duration">0</var>
- <var name="BuffDurationMult">100</var>
- </include>
- <include name="ElementalStaves">
- <!-- <xi:include href="Staff-Include.xml" xpointer="//include[@name='ElementalStaves']/*" /> -->
- <!-- Variables can't contain variable values. Must define each explicitly. -->
- <!-- Define these according to which staves you have -->
- <var name="EleStaff-Fire">Vulcan's Staff</var>
- <var name="EleStaff-Ice">Aquilo's Staff</var>
- <var name="EleStaff-Wind">Auster's Staff</var>
- <var name="EleStaff-Earth">Terra's Staff</var>
- <var name="EleStaff-Thunder">Jupiter's Staff</var>
- <var name="EleStaff-Water">Neptune's Staff</var>
- <var name="EleStaff-Light">Apollo's Staff</var>
- <var name="EleStaff-Dark">Pluto's Staff</var>
- <!-- Generally shouldn't need to modify this set (for reference only) -->
- <var name="MagianStaff-Fire">Agni's Staff +2</var>
- <var name="MagianStaff-Ice">Varuna's Staff +3</var>
- <var name="MagianStaff-Wind">Vayu's Staff +2</var>
- <var name="MagianStaff-Earth">Kubera's Staff +2</var>
- <var name="MagianStaff-Thunder">Indra's Staff +2</var>
- <var name="MagianStaff-Water">Soma's Staff +2</var>
- <var name="MagianStaff-Light">Surya's Staff +3</var>
- <var name="MagianStaff-Dark">Yama's Staff +2</var>
- <!-- Magian staves with -cast time; otherwise whatever staff you want in precast. -->
- <var name="Staff-FastCast-Fire">Vulcan's Staff</var>
- <var name="Staff-FastCast-Ice">Varuna's Staff +3</var>
- <var name="Staff-FastCast-Wind">Auster's Staff</var>
- <var name="Staff-FastCast-Earth">Terra's Staff</var>
- <var name="Staff-FastCast-Thunder">Jupiter's Staff</var>
- <var name="Staff-FastCast-Water">Neptune's Staff</var>
- <var name="Staff-FastCast-Light">Surya's Staff +3</var>
- <var name="Staff-FastCast-Dark">Pluto's Staff</var>
- <!-- If you have a magian staff with cast time reduction, list the value here. -->
- <var name="Staff-FastCastAmt-Fire">0</var>
- <var name="Staff-FastCastAmt-Ice">12</var>
- <var name="Staff-FastCastAmt-Wind">0</var>
- <var name="Staff-FastCastAmt-Earth">0</var>
- <var name="Staff-FastCastAmt-Thunder">0</var>
- <var name="Staff-FastCastAmt-Water">0</var>
- <var name="Staff-FastCastAmt-Light">0</var>
- <var name="Staff-FastCastAmt-Dark">0</var>
- <!-- What staff to equip when going for nuke damage. -->
- <var name="Staff-Dmg-Fire">Vulcan's Staff</var>
- <var name="Staff-Dmg-Ice">Varuna's Staff +3</var>
- <var name="Staff-Dmg-Wind">Auster's Staff</var>
- <var name="Staff-Dmg-Earth">Terra's Staff</var>
- <var name="Staff-Dmg-Thunder">Jupiter's Staff</var>
- <var name="Staff-Dmg-Water">Neptune's Staff</var>
- <var name="Staff-Dmg-Light">Apollo's Staff</var>
- <var name="Staff-Dmg-Dark">Pluto's Staff</var>
- <!-- What staff to equip when going for spell accuracy (eg: debuffs). -->
- <var name="Staff-Acc-Fire">Vulcan's Staff</var>
- <var name="Staff-Acc-Ice">Aquilo's Staff</var>
- <var name="Staff-Acc-Wind">Auster's Staff</var>
- <var name="Staff-Acc-Earth">Terra's Staff</var>
- <var name="Staff-Acc-Thunder">Jupiter's Staff</var>
- <var name="Staff-Acc-Water">Neptune's Staff</var>
- <var name="Staff-Acc-Light">Apollo's Staff</var>
- <var name="Staff-Acc-Dark">Pluto's Staff</var>
- <!-- Vars for specific types of staves that may vary from any of the above categories. -->
- <var name="Staff-Cures">Surya's Staff +3</var>
- <var name="Staff-PDT">Terra's Staff</var>
- </include>
- <!-- Sch weather constants are required for the rules that equip elemental gear.
- If you import ElementalGear, you MUST import SchWeatherConstants as well. -->
- <include name="ElementalGear">
- <!-- Replace 0 with obi name when acquired -->
- <var name="Obi-Fire">0</var>
- <var name="Obi-Ice">0</var>
- <var name="Obi-Wind">0</var>
- <var name="Obi-Earth">0</var>
- <var name="Obi-Thunder">0</var>
- <var name="Obi-Water">0</var>
- <var name="Obi-Light">0</var>
- <var name="Obi-Dark">0</var>
- <!-- Replace 0 with gear name when acquired -->
- <var name="TwilightCape">Twilight Cape</var>
- <var name="ZodiacRing">Zodiac Ring</var>
- </include>
- <include name="SchWeatherConstants">
- <var name="Storm-Fire">Firestorm</var>
- <var name="Storm-Ice">Hailstorm</var>
- <var name="Storm-Wind">Windstorm</var>
- <var name="Storm-Earth">Sandstorm</var>
- <var name="Storm-Thunder">Thunderstorm</var>
- <var name="Storm-Water">Rainstorm</var>
- <var name="Storm-Light">Aurorastorm</var>
- <var name="Storm-Dark">Voidstorm</var>
- </include>
- <include name="SmnSpiritConstants">
- <var name="Spirit-Fire">Fire Spirit</var>
- <var name="Spirit-Ice">Ice Spirit</var>
- <var name="Spirit-Wind">Air Spirit</var>
- <var name="Spirit-Earth">Earth Spirit</var>
- <var name="Spirit-Thunder">Thunder Spirit</var>
- <var name="Spirit-Water">Water Spirit</var>
- <var name="Spirit-Light">Light Spirit</var>
- <var name="Spirit-Dark">Dark Spirit</var>
- </include>
- <include name="EnspellConstants">
- <var name="En-Fire">Enfire</var>
- <var name="En-Ice">Enblizzard</var>
- <var name="En-Wind">Enaero</var>
- <var name="En-Earth">Enstone</var>
- <var name="En-Thunder">Enthunder</var>
- <var name="En-Water">Enwater</var>
- <var name="En-Light">Enlight</var>
- <var name="En-Dark">Endark</var>
- </include>
- <include name="FastCastVars">
- <!-- Override these first 4 with actual amounts available in gear for the given job.
- Include merits (eg: whm), but do not include Fast Cast traits (eg: rdm). -->
- <var name="CureFastCast">0</var>
- <var name="HealFastCast">0</var>
- <var name="EnhanceFastCast">0</var>
- <var name="ElementalFastCast">0</var>
- <var name="GeneralFastCast">0</var>
- <!-- Internal variable -->
- <var name="FastCastAmt">0</var>
- <var name="FCCastTime">0</var>
- <!-- FastCastMode can take a value of Normal, Moderate or Quick
- Moderate indicates that the spell may not swap gear properly
- if using full Fast Cast gear, but will probably work with a
- lesser amount. Quick indicates that the spell will almost
- certainly not swap gear properly, and full midcast gear
- selections should be applied at precast. -->
- <var name="FastCastMode">Normal</var>
- </include>
- <!-- ******************* Sets ******************* -->
- <!-- Import this group, and inherit it in the default Outside-Group
- group. Other groups inherit from Outside-Group.
- This should ensure that these sets exist in each group,
- even if their contents aren't revised. -->
- <include name="Base-Group">
- <group name="Base-Group">
- <set name="None">
- </set>
- <set name="Resting">
- </set>
- <set name="Kite|Move">
- </set>
- <set name="PhysDef-PDT">
- </set>
- <set name="PhysDef-Evasion">
- </set>
- <set name="PhysDef-Shield">
- </set>
- <set name="MagDef-Neutral">
- </set>
- <set name="MagDef-Fire">
- </set>
- <set name="MagDef-Earth">
- </set>
- <set name="MagDef-Wind">
- </set>
- <set name="MagDef-Water">
- </set>
- <set name="MagDef-Ice">
- </set>
- <set name="MagDef-Thunder">
- </set>
- <set name="MagDef-Light">
- </set>
- <set name="MagDef-Dark">
- </set>
- <set name="HPGear">
- </set>
- <set name="Convert">
- </set>
- <set name="WeakSet">
- </set>
- <set name="Dire-PDT">
- </set>
- <set name="Dire-Interrupt">
- </set>
- </group>
- </include>
- <!-- ******************* Rules ******************* -->
- <!-- Do not use rules if level 50 or lower. -->
- <include name="LevelRequirement">
- <if notMLvlGT="50">
- <return />
- </if>
- </include>
- <!-- These stop any gear changes if you're unable to take particular actions. -->
- <include name="ReturnRules">
- <!-- May want to adjust variables if we die, so not cancelling
- on status=dead for now. -->
- <!-- Can't do anything if you're dead
- <if status="dead">
- <AddToChat>DEAD!</AddToChat>
- <cancelspell />
- <return />
- </if> -->
- <if SpellTargetRaw="<st*">
- <return />
- </if>
- <!-- Allow manipulation of equipment sets while under adverse effects. -->
- <if NotSpell="$ResetTrigger|$KillswitchTrigger|$Switches|$DefenseModes|$CombatTriggers|$JobTriggers|$KeybindTriggers|$DireSpell">
- <if BuffActive="Sleep|Petrification|Stun|Terror|Charm|Illusion|Egg|Costume">
- <return />
- </if>
- <elseif spell="Ranged">
- <if advanced='%SpellTargetDistance > 24.9'>
- <return />
- </if>
- </elseif>
- <elseif Type="*Magic|BardSong|Ninjutsu" BuffActive="Silence|Mute|Omerta">
- <return />
- </elseif>
- <elseif Type="Weaponskill|JobAbility|Scholar|PetCommand|BloodPact*|CorsairRoll|CorsairShot" BuffActive="Amnesia|Impairment">
- <return />
- </elseif>
- <elseif Type="PetCommand|BloodPact*" PetIsValid="FALSE">
- <return />
- </elseif>
- <elseif type="Weaponskill">
- <!-- <if mode="OR" TPLT="80" advanced='%SpellTargetDistance > $WSDistance'>
- <cancelspell />
- <addtochat>%Spell cancelled: TP or distance.</addtochat>
- <return />
- </if> -->
- </elseif>
- </if>
- </include>
- <!-- Do not change gear if spell is a transport spell used on self (Warp II/Retrace on others is fine). -->
- <include name="CleanTransportation">
- <if Spell="Warp*|Teleport*|Recall*|Retrace" SpellTargetType="SELF">
- <return />
- </if>
- </include>
- <!-- Area variable rule -->
- <include name="AreaRules">
- <!-- Determine general area, as some give access to special gear, or differences in approach to gearing. -->
- <if BuffActive="Visitant">
- <var cmd="set Area Abyssea" />
- </if>
- <elseif BuffActive="Allied Tags">
- <var cmd="set Area Campaign" />
- </elseif>
- <elseif BuffActive="Voidwatcher">
- <var cmd="set Area Voidwatch" />
- </elseif>
- <else>
- <var cmd="set Area Outside" />
- </else>
- <!-- Change group based on area -->
- <if NotGroup="$Area-Group">
- <command>sc group $Area-Group</command>
- </if>
- <!-- Define idle set based on town or elsewhere -->
- <if Area="*San d'Oria|Port Bastok|Bastok*|Port Windurst|Windurst*|*Jeuno|Ru'Lude Gardens|*Whitegate" NotArea="Dynamis*|*[S]">
- <var cmd="set IdleArea Town" />
- </if>
- <else>
- <var cmd="set IdleArea Field" />
- </else>
- </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" />
- <command when="midcast">cancel 66</command>
- <command when="midcast">cancel 446</command>
- </if>
- <else>
- <cancelspell />
- <return />
- </else>
- </elseif>
- <elseif Spell="Stoneskin" BuffActive="Stoneskin">
- <midcastdelay delay="2.8" />
- <command when="midcast">cancel 37</command>
- </elseif>
- </include>
- <!-- Misc: Lock slots under certain conditions. -->
- <include name="EquipmentLockRules">
- <if mode="OR" advanced='"$LockMain"=="Yes"' EquipMain="$TrialWeapon">
- <lock slot="main|sub" when="All" lock="yes" />
- </if>
- <if EquipFeet="Powder Boots|Sprint Shoes">
- <lock slot="feet" when="All" lock="yes" />
- </if>
- <if EquipRange="$PullWeapon|Soulgauger*">
- <lock slot="ranged|ammo" when="All" lock="yes" />
- </if>
- <if EquipNeck="Sanctus Rosary">
- <lock slot="neck" when="All" lock="yes" />
- </if>
- <if EquipLEar="Reraise Earring">
- <lock slot="lear" when="All" lock="yes" />
- </if>
- <if EquipREar="Reraise Earring">
- <lock slot="rear" when="All" lock="yes" />
- </if>
- </include>
- <!-- Change to Convert gear and set the $Convert variable, which should be
- part of the CurrentSet construction.
- $Convert variable will be reset to 'None' after 10 seconds, if
- it hadn't already been reset in the job rules. -->
- <include name="ConvertRule">
- <if Spell="Convert">
- <castdelay delay="0.02" />
- <equip when="precast" set="%Spell" />
- <var cmd="set Convert Convert" />
- <command when="Aftercast">$ResetCommand</command>
- </if>
- </include>
- <!-- Handle universal toggle and cycle triggers -->
- <!-- This is a REQUIRED include. -->
- <include name="ToggleAndCycleRules">
- <var cmd="set Triggered False" />
- <!-- Killswitch -->
- <if Spell="$KillswitchTrigger">
- <var cmd="set Triggered True" />
- <cancelspell />
- <!-- Killswitch. Either full kill or stepped kill. -->
- <if advanced='"$KillType" = "Full"'>
- <var cmd="set Movement None" />
- <var cmd="set MagicalDefense None" />
- <var cmd="set PhysicalDefense None" />
- <var cmd="set AggressiveMode No" />
- <addtochat>All Movement/PDT/MDT reset, aggressive off.</addtochat>
- </if>
- <else>
- <if advanced='"$AggressiveMode" = "Yes"'>
- <var cmd="set AggressiveMode No" />
- <addtochat>Aggressive mode off.</addtochat>
- </if>
- <elseif advanced='"$Movement" = "Kite"'>
- <var cmd="set Movement None" />
- <addtochat>Movement reset.</addtochat>
- </elseif>
- <elseif advanced='"$MagicalDefense" != "None"'>
- <var cmd="set MagicalDefense None" />
- <addtochat>Magical Defense reset.</addtochat>
- </elseif>
- <elseif advanced='"$PhysicalDefense" != "None"'>
- <var cmd="set PhysicalDefense None" />
- <addtochat>Physical Defense reset.</addtochat>
- </elseif>
- </else>
- </if>
- <!-- General switches -->
- <elseif Spell="$Switches">
- <var cmd="set Triggered True" />
- <cancelspell />
- <if spell="Netherspikes">
- <!-- Physical defense -->
- <if advanced='"$PhysicalDefense" = "None"'>
- <var cmd="set PhysicalDefense PhysDef-$PhysicalDefType" />
- </if>
- <elseif advanced='"$SwitchType" = "Toggle"'>
- <var cmd="set PhysicalDefense None" />
- </elseif>
- <addtochat>Physical Defense: $PhysicalDefense</addtochat>
- </if>
- <elseif spell="Aegis Schism">
- <!-- Magical defense -->
- <if advanced='"$MagicalDefense" = "None"'>
- <var cmd="set MagicalDefense MagDef-$MagicalDefType" />
- </if>
- <elseif advanced='"$SwitchType" = "Toggle"'>
- <var cmd="set MagicalDefense None" />
- </elseif>
- <addtochat>Magical Defense: $MagicalDefense</addtochat>
- </elseif>
- <elseif spell="Foxfire">
- <!-- Movement -->
- <if advanced='"$Movement" = "None"'>
- <var cmd="set Movement Kite" />
- </if>
- <elseif advanced='"$SwitchType" = "Toggle"'>
- <if advanced='"$Movement" = "Kite"'>
- <var cmd="set Movement None" />
- </if>
- </elseif>
- <addtochat>Movement/Kite: $Movement</addtochat>
- </elseif>
- <elseif Spell="Equanimity">
- <if advanced='"$AggressiveMode" = "No"'>
- <var cmd="set AggressiveMode Yes" />
- </if>
- <elseif advanced='"$SwitchType" = "Toggle"'>
- <var cmd="set AggressiveMode No" />
- </elseif>
- <addtochat>Aggressive: $AggressiveMode</addtochat>
- </elseif>
- </elseif>
- <elseif Spell="$CombatTriggers">
- <var cmd="set Triggered True" />
- <cancelspell />
- <if spell="Poison V">
- <!-- TP mode -->
- <if advanced='"$MeleeMode" = "Offense"'>
- <var cmd="set MeleeMode Tank" />
- <addtochat>MeleeMode: $MeleeMode ($TankMode/$TankModifier)</addtochat>
- </if>
- <else>
- <var cmd="set MeleeMode Offense" />
- <addtochat>MeleeMode: $MeleeMode ($OffenseMode)</addtochat>
- </else>
- </if>
- <elseif spell="Poisonga IV">
- <!-- Melee mode -->
- <!-- <bt> moves backwards in the list. -->
- <if SpellTargetRaw="<bt>">
- <if advanced='"$OffenseMode" = "$CustomMelee2"'>
- <if advanced='"$CustomMelee1" != "None"'>
- <var cmd="set OffenseMode $CustomMelee1" />
- </if>
- <else>
- <var cmd="set OffenseMode HighAtt" />
- </else>
- </if>
- <elseif advanced='"$OffenseMode" = "$CustomMelee1"'>
- <var cmd="set OffenseMode HighAtt" />
- </elseif>
- <elseif advanced='"$OffenseMode" = "HighAtt"'>
- <var cmd="set OffenseMode HeavyAcc" />
- </elseif>
- <elseif advanced='"$OffenseMode" = "HeavyAcc"'>
- <var cmd="set OffenseMode LightAcc" />
- </elseif>
- <elseif advanced='"$OffenseMode" = "LightAcc"'>
- <var cmd="set OffenseMode Normal" />
- </elseif>
- <elseif advanced='"$OffenseMode" = "Normal"'>
- <if advanced='"$CustomMelee2" != "None"'>
- <var cmd="set OffenseMode $CustomMelee2" />
- </if>
- <elseif advanced='"$CustomMelee1" != "None"'>
- <var cmd="set OffenseMode $CustomMelee1" />
- </elseif>
- <else>
- <var cmd="set OffenseMode HighAtt" />
- </else>
- </elseif>
- </if>
- <else>
- <if advanced='"$OffenseMode" = "Normal"'>
- <var cmd="set OffenseMode LightAcc" />
- </if>
- <elseif advanced='"$OffenseMode" = "LightAcc"'>
- <var cmd="set OffenseMode HeavyAcc" />
- </elseif>
- <elseif advanced='"$OffenseMode" = "HeavyAcc"'>
- <var cmd="set OffenseMode HighAtt" />
- </elseif>
- <elseif advanced='"$OffenseMode" = "HighAtt"'>
- <if advanced='"$CustomMelee1" != "None"'>
- <var cmd="set OffenseMode $CustomMelee1" />
- </if>
- <else>
- <var cmd="set OffenseMode Normal" />
- </else>
- </elseif>
- <elseif advanced='"$OffenseMode" = "$CustomMelee1"'>
- <if advanced='"$CustomMelee2" != "None"'>
- <var cmd="set OffenseMode $CustomMelee2" />
- </if>
- <else>
- <var cmd="set OffenseMode Normal" />
- </else>
- </elseif>
- <else>
- <var cmd="set OffenseMode Normal" />
- </else>
- <if advanced='"$OffenseMode"="LightAcc" OR "$OffenseMode"="HeavyAcc"'>
- <var cmd="set TankModifier Acc" />
- </if>
- <else>
- <var cmd="set TankModifier Normal" />
- </else>
- </else>
- <addtochat>Melee Mode: $OffenseMode</addtochat>
- </elseif>
- <elseif spell="Poison IV">
- <!-- Tank mode -->
- <!-- <bt> moves backwards in the list. -->
- <if SpellTargetRaw="<bt>">
- <if advanced='"$TankMode" = "Blood"'>
- <if advanced='"$HasCounter" = "Yes"'>
- <var cmd="set TankMode Counter" />
- </if>
- <elseif advanced='"$HasShield" = "Yes"'>
- <var cmd="set TankMode Shield" />
- </elseif>
- <elseif advanced='"$HasEvasion" = "Yes"'>
- <var cmd="set TankMode Evasion" />
- </elseif>
- </if>
- <elseif advanced='"$TankMode" = "Counter"'>
- <if advanced='"$HasShield" = "Yes"'>
- <var cmd="set TankMode Shield" />
- </if>
- <elseif advanced='"$HasEvasion" = "Yes"'>
- <var cmd="set TankMode Evasion" />
- </elseif>
- <else>
- <var cmd="set TankMode Blood" />
- </else>
- </elseif>
- <elseif advanced='"$TankMode" = "Shield"'>
- <if advanced='"$HasEvasion" = "Yes"'>
- <var cmd="set TankMode Evasion" />
- </if>
- <else>
- <var cmd="set TankMode Blood" />
- </else>
- </elseif>
- <elseif advanced='"$TankMode" = "Evasion"'>
- <var cmd="set TankMode Blood" />
- </elseif>
- <else>
- <var cmd="set TankMode Blood" />
- </else>
- </if>
- <else>
- <if advanced='"$TankMode" = "Blood"'>
- <if advanced='"$HasEvasion" = "Yes"'>
- <var cmd="set TankMode Evasion" />
- </if>
- <elseif advanced='"$HasShield" = "Yes"'>
- <var cmd="set TankMode Shield" />
- </elseif>
- <elseif advanced='"$HasCounter" = "Yes"'>
- <var cmd="set TankMode Counter" />
- </elseif>
- </if>
- <elseif advanced='"$TankMode" = "Evasion"'>
- <if advanced='"$HasShield" = "Yes"'>
- <var cmd="set TankMode Shield" />
- </if>
- <elseif advanced='"$HasCounter" = "Yes"'>
- <var cmd="set TankMode Counter" />
- </elseif>
- <else>
- <var cmd="set TankMode Blood" />
- </else>
- </elseif>
- <elseif advanced='"$TankMode" = "Shield"'>
- <if advanced='"$HasCounter" = "Yes"'>
- <var cmd="set TankMode Counter" />
- </if>
- <else>
- <var cmd="set TankMode Blood" />
- </else>
- </elseif>
- <elseif advanced='"$TankMode" = "Counter"'>
- <var cmd="set TankMode Blood" />
- </elseif>
- <else>
- <var cmd="set TankMode Blood" />
- </else>
- </else>
- <addtochat>Tank Mode: $TankMode/$TankModifier</addtochat>
- </elseif>
- <elseif spell="Poisonga V">
- <!-- WS mode -->
- <!-- <bt> moves backwards in the list. -->
- <if SpellTargetRaw="<bt>">
- <if advanced='"$WSMode" = "default"'>
- <if advanced='"$CustomWSMode" != "None"'>
- <var cmd="set WSMode $CustomWSMode" />
- </if>
- <else>
- <var cmd="set WSMode CapCrit" />
- </else>
- </if>
- <elseif advanced='"$WSMode" = "$CustomWSMode"'>
- <var cmd="set WSMode CapCrit" />
- </elseif>
- <elseif advanced='"$WSMode" = "CapCrit"'>
- <var cmd="set WSMode CapAtt" />
- </elseif>
- <elseif advanced='"$WSMode" = "CapAtt"'>
- <var cmd="set WSMode Acc" />
- </elseif>
- <elseif advanced='"$WSMode" = "Acc"'>
- <var cmd="set WSMode Att" />
- </elseif>
- <else>
- <var cmd="set WSMode default" />
- </else>
- </if>
- <else>
- <if advanced='"$WSMode" = "default"'>
- <var cmd="set WSMode Att" />
- </if>
- <elseif advanced='"$WSMode" = "Att"'>
- <var cmd="set WSMode Acc" />
- </elseif>
- <elseif advanced='"$WSMode" = "Acc"'>
- <var cmd="set WSMode CapAtt" />
- </elseif>
- <elseif advanced='"$WSMode" = "CapAtt"'>
- <var cmd="set WSMode CapCrit" />
- </elseif>
- <elseif advanced='"$WSMode" = "CapCrit"'>
- <if advanced='"$CustomWSMode" != "None"'>
- <var cmd="set WSMode $CustomWSMode" />
- </if>
- <else>
- <var cmd="set WSMode default" />
- </else>
- </elseif>
- <else>
- <var cmd="set WSMode default" />
- </else>
- </else>
- <addtochat>WS Mode: $WSMode</addtochat>
- </elseif>
- <elseif spell="Shackled Fists">
- <!-- Weaponskill distance -->
- <if SpellTargetType="MOB">
- <var cmd="set WSDistance %TargetDistance" />
- <addtochat>Distance Variable: $WSDistance</addtochat>
- </if>
- </elseif>
- <elseif spell="Vulcan Shot">
- <!-- Magic accuracy -->
- <if advanced='"$MagicAcc" = "Potency"'>
- <var cmd="set MagicAcc Accuracy" />
- </if>
- <else>
- <var cmd="set MagicAcc Potency" />
- </else>
- </elseif>
- <elseif spell="Poisonga III">
- <!-- Cure Mode -->
- <if advanced='"$CureMode" = "Potency"'>
- <var cmd="set CureMode Enmity" />
- </if>
- <elseif advanced='"$CureMode" = "Enmity"'>
- <var cmd="set CureMode Interrupt" />
- </elseif>
- <else>
- <var cmd="set CureMode Potency" />
- </else>
- </elseif>
- </elseif>
- <elseif Spell="$DefenseModes">
- <var cmd="set Triggered True" />
- <cancelspell />
- <if spell="Carnal Nightmare">
- <!-- Physical defense type -->
- <if advanced='"$PhysicalDefType" = "PDT"'>
- <if advanced='"$HasEvasion" = "Yes"'>>
- <var cmd="set PhysicalDefType Evasion" />
- </if>
- <elseif advanced='"$HasShield" = "Yes"'>>
- <var cmd="set PhysicalDefType Shield" />
- </elseif>
- <elseif advanced='"$CustomDefMode" != "None"'>>
- <var cmd="set PhysicalDefType $CustomDefMode" />
- </elseif>
- </if>
- <elseif advanced='"$PhysicalDefType" = "Evasion"'>
- <if advanced='"$HasShield" = "Yes"'>>
- <var cmd="set PhysicalDefType Shield" />
- </if>
- <elseif advanced='"$CustomDefMode" != "None"'>>
- <var cmd="set PhysicalDefType $CustomDefMode" />
- </elseif>
- <else>
- <var cmd="set PhysicalDefType PDT" />
- </else>
- </elseif>
- <elseif advanced='"$PhysicalDefType" = "Shield"'>
- <if advanced='"$CustomDefMode" != "None"'>>
- <var cmd="set PhysicalDefType $CustomDefMode" />
- </if>
- <else>
- <var cmd="set PhysicalDefType PDT" />
- </else>
- </elseif>
- <else>
- <var cmd="set PhysicalDefType PDT" />
- </else>
- <if advanced='"$PhysicalDefense" != "None"'>
- <var cmd="set PhysicalDefense PhysDef-$PhysicalDefType" />
- </if>
- <addtochat>Physical Defense Type: $PhysicalDefType</addtochat>
- </if>
- <else>
- <if spell="Diaga V">
- <!-- Neutral element -->
- <var cmd="set MagicalDefType Neutral" />
- </if>
- <else>
- <!-- Stonega V, Waterga V, Aeroga V, Firaga V, Blizzaga V, Thundaga V, Banish V, Bio V -->
- <!-- If MDTSwitchType is Toggle, hitting the same element twice will switch to Neutral. -->
- <if advanced='"$MDTSwitchType"="Toggle" AND "$MagicalDefType"="%SpellElement"'>
- <var cmd="set MagicalDefType Neutral" />
- </if>
- <else>
- <var cmd="set MagicalDefType %SpellElement" />
- </else>
- </else>
- <if advanced='"$MagicalDefense" != "None"'>
- <var cmd="set MagicalDefense MagDef-$MagicalDefType" />
- </if>
- <addtochat>Magical Defense Type: $MagicalDefType</addtochat>
- </else>
- </elseif>
- <elseif Spell="$DireSpell">
- <var cmd="set DireCast True" />
- <var cmd="set Triggered True" />
- <cancelspell />
- </elseif>
- <elseif Spell="$ResetTrigger|$KeybindTriggers|$JobTriggers">
- <!-- All of these triggers have their behavior defined in the job xml. -->
- <var cmd="set Triggered True" />
- <cancelspell />
- </elseif>
- </include>
- <!-- Change to appropriate gear set at proper times. -->
- <include name="HandleGearChange">
- <!-- INCLUDE ONLY AFTER CurrentSet HAS BEEN DEFINED BY YOUR JOB RULES. -->
- <!-- After all calculations are done, if this rule check was due to a Trigger action,
- just equip the specified gear and return. -->
- <if advanced='"$Triggered"="True"'>
- <equip set="$CurrentSet" />
- <return />
- </if>
- <!-- Aftercast equipment resolution deferred. Avoid up-front lag
- from doing these calculations now. -->
- <!-- Change to <equip> line if you want to test current direct lag. -->
- <!--<equip when="idle|engaged|aftercast" set="$CurrentSet" /> -->
- <command when="idle|engaged|aftercast">$EquipCommand</command>
- <equip when="resting" set="Resting" />
- </include>
- <!-- Trigger force equipping of gear via EquipCommand. -->
- <include name="AutoChangeGear">
- <if Spell="$EquipTrigger">
- <cancelspell />
- <if status="Dead|Zoning">
- <return />
- </if>
- <equip set="$CurrentSet" />
- <return />
- </if>
- </include>
- <!-- Define the base layer for the $CurrentSet variable to use. -->
- <include name="DefineBaseLayer">
- <if status="Engaged">
- <if advanced='"$MeleeMode"="Tank"'>
- <var cmd="set FullMode $TankMode-$TankModifier" />
- </if>
- <else>
- <if advanced='"$Use-OffenseMode"="None"'>
- <var cmd="set FullMode $OffenseMode" />
- </if>
- <else>
- <var cmd="set FullMode $Use-OffenseMode" />
- </else>
- </else>
- <var cmd="set BaseLayer TP-$TPStyle-$MeleeMode-$FullMode|$AggressiveLayer" />
- </if>
- <elseif status="Idle">
- <var cmd="set BaseLayer Idle-$IdleArea-$IdleStyle" />
- </elseif>
- <else>
- <var cmd="set BaseLayer Idle-$IdleArea-$IdleStyle" />
- </else>
- </include>
- <!-- Define the general weaponskill set based on certain vars. -->
- <!-- Define which weaponskill mode to use. -->
- <include name="DefineWeaponskillSet">
- <if Spell="$MagicalWS">
- <var cmd="set WSSet WS-%Spell" />
- </if>
- <else>
- <if advanced='"$Use-WSMode" != "None"'>
- <var cmd="set TmpWSMode $Use-WSMode" />
- </if>
- <else>
- <if advanced='"$WSMode"="default"'>
- <if advanced='"$TankModifier"="Acc"' NotSpell="$SingleHitWS">
- <var cmd="set TmpWSMode Acc" />
- </if>
- <elseif Spell="$CritWS" BuffActive="Blood Rage">
- <var cmd="set TmpWSMode CapCrit" />
- </elseif>
- <elseif mode="OR" BuffActive="Berserk|Last Resort|Attack Bonus|Building Flourish" advanced='"$OffenseMode"="HighAtt"'>
- <var cmd="set TmpWSMode CapAtt" />
- </elseif>
- <else>
- <var cmd="set TmpWSMode Att" />
- </else>
- </if>
- <else>
- <var cmd="set TmpWSMode $WSMode" />
- </else>
- </else>
- <var cmd="set WSSet WS-%Spell-$TmpWSMode" />
- </else>
- <!-- Debug
- <addtochat>WS Set: $WSSet</addtochat> -->
- </include>
- <!-- Elemental Staff Rules -->
- <include name="ElementalStaffRules">
- <if Skill="ElementalMagic" NotSpell="Burn|Frost|Choke|Rasp|Shock|Drown">
- <if advanced='"$TestProc" = "Yes"'>
- <equip when="precast|midcast">
- <main>$Staff-Proc-%SpellElement</main>
- </equip>
- </if>
- <else>
- <equip when="precast">
- <main>$Staff-FastCast-%SpellElement</main>
- </equip>
- <equip when="midcast">
- <main>$Staff-Dmg-%SpellElement</main>
- </equip>
- </else>
- </if>
- <elseif skill="HealingMagic" Spell="Cure*|Cura*">
- <equip when="precast|midcast">
- <!-- <main>$Staff-Cures</main> -->
- <main>Beneficus</main>
- </equip>
- </elseif>
- <elseif skill="EnfeeblingMagic">
- <equip when="precast|midcast">
- <main>$Staff-Acc-%SpellElement</main>
- </equip>
- </elseif>
- <elseif type="BardSong">
- <equip when="precast">
- <main>$Staff-FastCast-%SpellElement</main>
- </equip>
- <if SpellTargetType="MONSTER|NPC">
- <equip when="midcast">
- <main>$Staff-Acc-%SpellElement</main>
- </equip>
- </if>
- </elseif>
- <elseif skill="DivineMagic">
- <if Spell="Banish*|Holy*">
- <equip when="precast|midcast">
- <main>$Staff-Dmg-%SpellElement</main>
- </equip>
- </if>
- <else>
- <equip when="precast|midcast">
- <main>$Staff-Acc-%SpellElement</main>
- </equip>
- </else>
- </elseif>
- <elseif skill="DarkMagic">
- <equip when="precast|midcast">
- <main>$Staff-Acc-%SpellElement</main>
- </equip>
- </elseif>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Elemental Magic.
- Assumed to be imported in after check for skill="ElementalMagic" has
- already been done. -->
- <include name="ObiRingCape-ElementalMagic">
- <if Element="%DayElement">
- <if skill="ElementalMagic" NotSpell="Burn|Frost|Choke|Rasp|Shock|Drown">
- <if Advanced='"ZodiacRing"!="0"' NotElement="Light|Dark">
- <equip when="midcast">
- <rring>Zodiac Ring</rring>
- </equip>
- </if>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <if skill="ElementalMagic" NotSpell="Burn|Frost|Choke|Rasp|Shock|Drown">
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Healing Magic.
- Assumed to be imported in after check for skill="HealingMagic" has
- already been done. -->
- <include name="ObiRingCape-HealingMagic">
- <if Element="%DayElement">
- <if Spell="Cure*|Cura*">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <if Spell="Cure*|Cura*">
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Divine Magic.
- Assumed to be imported in after check for skill="DivineMagic" has
- already been done. -->
- <include name="ObiRingCape-DivineMagic">
- <if Element="%DayElement">
- <if Spell="Banish*|Holy*">
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <if Spell="Banish*|Holy*">
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Quick Draw.
- Assumed to be imported in after check for type="CorsairShot" has
- already been done. -->
- <include name="ObiRingCape-CorsairShot">
- <if Element="%DayElement">
- <if type="CorsairShot" NotElement="Light|Dark">
- <if Advanced='"ZodiacRing"!="0"'>
- <equip when="precast">
- <rring>Zodiac Ring</rring>
- </equip>
- </if>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="precast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="precast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if type="CorsairShot" NotElement="Light|Dark">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="precast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="precast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </if>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Ninjutsu.
- Assumed to be imported in after check for type="Ninjutsu" has
- already been done. -->
- <include name="ObiRingCape-Ninjutsu">
- <if Element="%DayElement">
- <if Spell="Katon*|Hyoton*|Huton*|Doton*|Suiton*|Raiton*">
- <if Advanced='"ZodiacRing"!="0"'>
- <equip when="midcast">
- <rring>Zodiac Ring</rring>
- </equip>
- </if>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <if Spell="Katon*|Hyoton*|Huton*|Doton*|Suiton*|Raiton*">
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Blue Magic.
- Assumed to be imported in after check for skill="BlueMagic" has
- already been done. -->
- <include name="ObiRingCape-BlueMagic">
- <if Element="%DayElement">
- <if Spell="*Whisker|*Grudge|Thermal*|Mind Blast|Regurg*|Ice Break|Leaf*|Thunderbolt|Dark Orb">
- <if Advanced='"ZodiacRing"!="0"'>
- <equip when="midcast">
- <rring>Zodiac Ring</rring>
- </equip>
- </if>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <if Spell="*Whisker|*Grudge|Thermal*|Mind Blast|Regurg*|Ice Break|Leaf*|Thunderbolt|Dark Orb">
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </include>
- <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Dark Magic.
- Assumed to be imported in after check for skill="DarkMagic" has
- already been done. -->
- <include name="ObiRingCape-DarkMagic">
- <if Element="%DayElement">
- <if Spell="Drain*|Aspir*">
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- </if>
- </if>
- </if>
- <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
- <if Advanced='"$Obi-%SpellElement"!="0"'>
- <if Spell="Drain*|Aspir*">
- <equip when="midcast">
- <waist>$Obi-%SpellElement</waist>
- </equip>
- <if Advanced='"TwilightCape"!="0"'>
- <equip when="midcast">
- <back>Twilight Cape</back>
- </equip>
- </if>
- </if>
- </if>
- </elseif>
- </include>
- <!-- Automatically generate notifications when buffs are about to wear off. -->
- <!-- MUST include RecastDurations in vars section. -->
- <include name="RecastWarnings">
- <if skill="EnhancingMagic">
- <if Spell="Haste|Refresh*|Phalanx*|Reprisal">
- <var cmd="set Buff-Duration $%Spell-Duration" />
- </if>
- <elseif Spell="En*">
- <var cmd="set Buff-Duration $Enspell-Duration" />
- </elseif>
- <elseif Spell="*Spikes">
- <var cmd="set Buff-Duration $Spikes-Duration" />
- </elseif>
- <else>
- <!-- Anything else we don't want to give warnings for. -->
- <var cmd="set Buff-Duration 0" />
- </else>
- <if advanced='$Buff-Duration > 0'>
- <!-- Account for rdm stuff that extends durations -->
- <if MainJob="Rdm">
- <var cmd="setcalc BuffDurationMult 100 + ($EstoqueurCape*10) + ($EstoqueurFeet*10)" />
- <if BuffActive="Composure">
- <if SpellTargetType="SELF">
- <var cmd="setcalc BuffDurationMult $BuffDurationMult * 3" />
- </if>
- <elseif SpellTargetType="PLAYER">
- <var cmd="setcalc BuffDurationMult $BuffDurationMult + $EstoqueurSetBonus" />
- </elseif>
- </if>
- <var cmd="setcalc Buff-Duration $Buff-Duration * $BuffDurationMult / 100" />
- </if>
- <!-- Determine when we want the warning message to happen. -->
- <var cmd="setcalc Warn-Duration $Buff-Duration - $WarnTime" />
- <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] <%SpellTargetName> wearing off in $WarnTime sec.</command>
- </if>
- </if>
- <elseif skill="EnfeeblingMagic|DivineMagic|BlueMagic">
- <if Spell="Sleep*|Repose|Break|Sheep Song|Yawn|Soporific|Dream Flower">
- <var cmd="inc SleepOrder" />
- <var cmd="set Buff-Duration $%Spell-Duration" />
- <var cmd="setcalc Warn-Duration $Buff-Duration - 30" />
- <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] <%SpellTargetName> ($SleepOrder) wearing off in 30 sec.</command>
- <var cmd="setcalc Warn-Duration $Buff-Duration - 10" />
- <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] <%SpellTargetName> ($SleepOrder) wearing off in 10 sec.;spellcast var dec SleepOrder</command>
- </if>
- </elseif>
- <elseif type="Samba">
- <if MainJob="Dnc">
- <var cmd="set Buff-Duration 120" />
- </if>
- <else>
- <var cmd="set Buff-Duration 90" />
- </else>
- <var cmd="setcalc Warn-Duration $Buff-Duration - $WarnTime" />
- <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] ~~~~~~~~~ Wearing off in $WarnTime sec.</command>
- </elseif>
- </include>
- <!-- Include for calculating expected cast time for a given spell, to use in
- determining which gear swaps are feasible. -->
- <include name="FastCastCalculations">
- <if CastTimeGT="1">
- <if skill="HealingMagic">
- <if Spell="Cure*|Cura*">
- <var cmd="set FastCastAmt $CureFastCast" />
- </if>
- <else>
- <var cmd="set FastCastAmt $HealFastCast" />
- </else>
- </if>
- <elseif skill="EnhancingMagic">
- <var cmd="set FastCastAmt $EnhanceFastCast" />
- </elseif>
- <elseif skill="ElementalMagic">
- <var cmd="set FastCastAmt $ElementalFastCast" />
- <if MainJob="BLM">
- <if MLvlGT="89">
- <var cmd="setcalc FastCastAmt $FastCastAmt + 25" />
- </if>
- <else>
- <var cmd="setcalc FastCastAmt $FastCastAmt + 15" />
- </else>
- </if>
- </elseif>
- <var cmd="setcalc FastCastAmt $FastCastAmt + $GeneralFastCast + $Staff-FastCastAmt-%SpellElement" />
- <if MainJob="RDM">
- <var cmd="setcalc FastCastAmt $FastCastAmt + 30" />
- </if>
- <elseif SubJob="RDM">
- <var cmd="setcalc FastCastAmt $FastCastAmt + 15" />
- </elseif>
- <if BuffActive="Light Arts|Addendum: White">
- <if type="WhiteMagic">
- <var cmd="setcalc FastCastAmt $FastCastAmt + ((100-$FastCast)* 0.1)" />
- </if>
- <elseif type="BlackMagic">
- <var cmd="setcalc FastCastAmt $FastCastAmt - ((100-$FastCast)* 0.2)" />
- </elseif>
- </if>
- <elseif BuffActive="Dark Arts|Addendum: Black">
- <if type="BlackMagic">
- <var cmd="setcalc FastCastAmt $FastCastAmt + ((100-$FastCast)* 0.1)" />
- </if>
- <elseif type="WhiteMagic">
- <var cmd="setcalc FastCastAmt $FastCastAmt - ((100-$FastCast)* 0.2)" />
- </elseif>
- </elseif>
- <var cmd="setcalc FCCastTime (%CastTime * (100-$FCCastTime)) / 100" />
- <if advanced='$FCCastTime > 1'>
- <var cmd="set FastCastMode Normal" />
- </if>
- <elseif advanced='$FCCastTime > 0.7'>
- <var cmd="set FastCastMode Moderate" />
- </elseif>
- <else>
- <var cmd="set FastCastMode Quick" />
- </else>
- </if>
- <else>
- <var cmd="set FastCastMode Quick" />
- </else>
- </include>
- <include name="DireCasting">
- <!-- Dire cast handling -->
- <if advanced='"$DireCast"="True"' type="*Magic">
- <var cmd="set DireCast False" />
- <!-- Pure PDT useful if you have phalanx active so that damage
- can be reduced to 0. Otherwise focus on -spell interrupt gear. -->
- <if BuffActive="Phalanx|Stoneskin">
- <equip when="precast|midcast" set="Dire-PDT" />
- </if>
- <else>
- <equip when="precast|midcast" set="Dire-Interrupt" />
- </else>
- </if>
- </include>
- </includes>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement