Advertisement
Motenten

Mote-Include r3 (deprecated)

Apr 20th, 2012
2,023
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 107.16 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- Last modified: 9/15/2012 11:26:23 AM -->
  3.  
  4. <!-- IMPORTANT -->
  5.  
  6. <!--
  7.     This include, and the xmls based on it, make use of new custom trigger spells
  8.     from the "radsources" resources.  Current updated resources should include these
  9.     in the standard client.  If things don't appear to be working, check that first.
  10. -->
  11.  
  12. <!-- REQUIRED -->
  13.  
  14. <!-- The following include entries must be imported for this include to be properly functional. -->
  15.  
  16. <!-- Vars section:
  17.     ConfigurationVars (required)
  18.     UtilityVars (required)
  19.  
  20.     RecastDurations (if using RecastWarnings)
  21.     ElementalStaves (if using ElementalStaffRules or FastCastCalculations)
  22.     FastCastVars (if using FastCastCalculations)
  23.     ElementalGear (if using ObiRingCape-*)
  24.     SchWeatherConstants (if using ObiRingCape-*)
  25. -->
  26.  
  27. <!-- Sets section:
  28.     Base-Group (recommended as base for inheritance)
  29.  
  30.     Outside-Group (group required for normal outside areas; inherit from Base-Group)
  31.     Abyssea-Group (group for inside Abyssea) [Visitant status]
  32.     Campaign-Group (group for when in Campaign) [Allied Tags status]
  33.     Voidwatch-Group (group for when in Voidwatch) [Voidwatcher status]
  34.     Salvage-Group (group for when in Salvage) [*Remnants zone]
  35.     Legion-Group (group for when in Legion) [??? status]
  36.  
  37.     These groups are only required if using the AreaRules include, which automatically switches
  38.     based on where you currently are.  Most of the time, only the Outside-Group needs to
  39.     have sets defined, and the remainder can be empty groups that inherit from that one.
  40. -->
  41.  
  42. <!-- Rules section:
  43.     UniversalTriggerRules - The fundamental include that this Include file is based around.
  44. -->
  45.  
  46.  
  47. <!-- Notes:
  48.     <addtochat color="12"></addtochat> -- This color triggers the /tell chime.
  49. -->
  50.  
  51.  
  52. <includes>
  53.     <!-- ***************** Variables ***************** -->
  54.  
  55.     <!-- This is a REQUIRED include. -->
  56.     <include name="ConfigurationVars">
  57.         <!-- This include is for variables that allow you to customize the configuration
  58.             of the behavior of this include file.  You can change the values here to
  59.             have them affect all job xmls globally, or change them in each job xml
  60.             where you want them to be different.
  61.  
  62.             The values of these vars should only ever be set in the Vars section.
  63.             They should not be modified in code.
  64.         -->
  65.          
  66.         <!-- Set Debug to 1 to allow certain debug info to be printed. -->
  67.         <var name="Debug">0</var>
  68.  
  69.         <!-- Use UpdateCommand to initiate an update from within the code. -->
  70.         <var name="UpdateCommand">input //Update .auto</var>
  71.         <!-- UpdateAftercast is used only for triggering the equipping after
  72.             the action has completed, to reduce lag. -->
  73.         <var name="UpdateAftercast">input //Update .Aftercast</var>
  74.  
  75.  
  76.         <!-- HasCounter/HasShield/HasEvasion/HasPDT/HasDefense: [Yes|No].  Set to Yes in job XMLs for each
  77.             valid tanking option, or No if the option is not valid. -->
  78.         <var name="HasEvasion">Yes</var>
  79.         <var name="HasCounter">No</var>
  80.         <var name="HasShield">No</var>
  81.         <var name="HasPDT">Yes</var>
  82.         <var name="HasDefense">No</var>
  83.  
  84.         <!-- Job xml's should define these weaponskills.    -->
  85.         <!-- Only crit weaponskills can use CapCrit WSMode. -->
  86.         <var name="CritWS">0</var>
  87.         <!-- Single hit weaponskills don't use acc WSMode.  -->
  88.         <var name="SingleHitWS">0</var>
  89.         <!-- Magical weaponskills ignore WSMode.            -->
  90.         <var name="MagicalWS">0</var>
  91.  
  92.         <!-- TrialWeapon can be set so that the weapon (primarily staves) is never swapped out. -->
  93.         <var name="TrialWeapon">None</var>
  94.  
  95.         <!-- PullWeapons is any ranged weapon that a job has access to that we don't want
  96.             to swap out.  This allows gear sets to mostly be configured around ammo
  97.             items (which are safe to change around without losing TP), but to be
  98.             overridden when you need to have a weapon to pull with.
  99.             It's locked in the EquipmentLockRules include. The Soulgauger
  100.             camera is locked without needing to set this variable. -->
  101.         <var name="PullWeapons">Mamoolbane</var>
  102.  
  103.         <!-- Misc enchantment items that are cumbersome to include individually in the
  104.             EquipmentLockRules.  Used for locking gear slots.  Kept here for easy reference. -->
  105.         <var name="TeleportEarrings">Duchy Earring|Empire Earring|Federation Earring|Republic Earring|Kingdom Earring|Nashmau Earring|Mhaura Earring|Selbina Earring|Norg Earring|Rabao Earring</var>
  106.         <var name="TeleportRings">Tavnazian Ring|Olduum Ring|Mea Ring|Dem Ring|Holla Ring|Vahzl Ring|Yhoat Ring</var>
  107.         <var name="TeleportHeads">Maat's Cap|Star Cap|Moogle Cap|Nomad Cap|Laurel Crown</var>
  108.         <var name="TeleportNecks">Federation Stable Scarf|Kingdom Stable Collar|Republic Stable Medal</var>
  109.  
  110.         <var name="ReraiseEarrings">Reraise Earring|Raising Earring|Kocco's Earring|Mamool Ja Earring</var>
  111.     </include>
  112.  
  113.     <!-- This is a REQUIRED include. -->
  114.     <include name="UtilityVars">
  115.         <!-- These are vars that are expected to be used in the course of the code.
  116.             They are defined here to provide defaults, and to be sure that the var
  117.             actually exists before use. -->
  118.  
  119.         <!-- Flag for an initial update immediately after the job xml is (re)loaded.
  120.             This allows various status vars to be properly set. -->
  121.         <var name="FirstUpdate">No</var>
  122.        
  123.         <!-- ******************************************* -->
  124.         <!--        Vars for various modes used.         -->
  125.  
  126.         <!-- Rest mode: Normal, PetFighting, etc. -->
  127.         <var name="RestMode">Normal</var>
  128.         <!-- Idle mode: Normal, Refresh, PDT, PetFighting, etc. -->
  129.         <var name="IdleMode">Normal</var>
  130.         <!-- Idle area: Field, Town -->
  131.         <var name="LastKnownArea">None</var>
  132.         <var name="IdleArea">Town</var>
  133.         <!-- Movement = Kite, Move, None -->
  134.         <var name="Movement">Move</var>
  135.         <!-- Specifically for whether or not in kite mode. -->
  136.         <var name="KiteMode">None</var>
  137.  
  138.  
  139.         <!-- TP set to use:  TP-$TPWeapon-$OffenseMode-$DefenseMode -->
  140.  
  141.         <!-- TPWeapon should be set as needed in each job xml. -->
  142.         <var name="TPWeapon">Default</var>
  143.         <!-- OffenseMode = Normal|Acc|MaxAcc|Att|Crit|Str|2HR|LowDmg -->
  144.         <var name="OffenseMode">Normal</var>
  145.         <!-- DefenseMode = Normal|PDT|Evasion|Shield|Counter -->
  146.         <var name="DefenseMode">Normal</var>
  147.  
  148.         <!-- Use-OffenseMode can be set to a value other than "None" in order
  149.             to override the current OffenseMode value without changing OffenseMode.
  150.             Useful for temporary effects such as 2hrs, as well as adjusting
  151.             which accuracy layer to use based on current buffs, etc. -->
  152.         <var name="Use-OffenseMode">None</var>
  153.         <!-- Temporary holding var. -->
  154.         <var name="OMode">None</var>
  155.  
  156.         <!-- For activating +dmg gear options -->
  157.         <var name="AggressiveMode">Off</var>
  158.         <!-- Aggressive layer can be defined by each job XML.  It does not need
  159.             to be changed, but can be if there are multiple possible layers. -->
  160.         <var name="AggressiveLayer">None</var>
  161.  
  162.         <!-- Temporary variable -->
  163.         <var name="PTankMode">Normal</var>
  164.  
  165.         <!-- WS set to use:  WS-%Spell-$WSMode (Default auto-selects one of the other modes) -->
  166.  
  167.         <!-- WSMode = Default, Acc, Att, Mod, Crit, 2HR -->
  168.         <var name="WSMode">Default</var>
  169.         <!-- Same as Use-OffenseMode, but for weaponskills. -->
  170.         <var name="Use-WSMode">None</var>
  171.         <!-- Temporary holding var. -->
  172.         <var name="WMode">None</var>
  173.  
  174.         <!-- Set the max distance a weaponskill can be performed from -->
  175.         <var name="WSDistance">5.0</var>
  176.  
  177.  
  178.         <!-- Abstract mode. -->
  179.         <var name="CastingMode">Normal</var>
  180.  
  181.  
  182.         <!-- PhysicalDef = PhysDef-$PhysicalDefMode, None -->
  183.         <var name="PhysicalDefense">None</var>
  184.         <!-- PhysicalDefMode = PDT, Evasion, Shield, Counter (depending HasEvasion/HasShield/HasCounter/HasPDT/HasDefense) -->
  185.         <var name="PhysicalDefMode">PDT</var>
  186.  
  187.         <!-- MagicalDef = $MagicalDefMode-$MagicalDefElement, None -->
  188.         <var name="MagicalDefense">None</var>
  189.         <!-- MagicalDef mode: MDT or Resist -->
  190.         <var name="MagicalDefMode">MDT</var>
  191.         <!-- MagicalDefElement = Fire, Earth, Water, Wind, Ice, Thunder, Light, Dark, Any, All, None -->
  192.         <var name="MagicalDefElement">Any</var>
  193.  
  194.  
  195.         <!-- ******************************************* -->
  196.         <!--         Vars for constructing sets.         -->
  197.  
  198.         <!-- Group identifier -->
  199.         <var name="Area">Outside</var>
  200.  
  201.         <var name="BaseLayer">None</var>
  202.         <var name="CurrentSet">None</var>
  203.         <var name="WSSet">None</var>
  204.         <var name="WeaknessArmor">None</var>
  205.  
  206.         <var name="ConvertSet">None</var>
  207.  
  208.         <var name="LockMain">No</var>
  209.         <var name="PerpFlag">No</var>
  210.  
  211.  
  212.     </include>
  213.  
  214.     <!-- Required when including RecastWarnings.  This sets the
  215.         durations for all tracked spells. -->
  216.     <include name="RecastDurations">
  217.         <var name="WarnTime">15</var>
  218.  
  219.         <var name="Refresh-Duration">150</var>
  220.         <var name="Refresh II-Duration">150</var>
  221.         <var name="Haste-Duration">180</var>
  222.         <var name="Phalanx-Duration">180</var>
  223.         <var name="Phalanx II-Duration">180</var>
  224.         <var name="Reprisal-Duration">180</var>
  225.         <var name="Sleep-Duration">60</var>
  226.         <var name="Sleep II-Duration">90</var>
  227.         <var name="Repose-Duration">90</var>
  228.         <var name="Sleepga-Duration">90</var>
  229.         <var name="Sleepga II-Duration">90</var>
  230.         <var name="Break-Duration">30</var>
  231.         <var name="Sheep Song-Duration">60</var>
  232.         <var name="Yawn-Duration">90</var>
  233.         <var name="Soporific-Duration">90</var>
  234.         <var name="Dream Flower-Duration">90</var>
  235.         <var name="Foe Lullaby-Duration">36</var>
  236.         <var name="Foe Lullaby II-Duration">72</var>
  237.         <var name="Horde Lullaby-Duration">36</var>
  238.         <var name="Horde Lullaby II-Duration">72</var>
  239.         <var name="Light Shot-Duration">60</var>
  240.  
  241.         <var name="Enspell-Duration">180</var>
  242.         <var name="Spikes-Duration">150</var>
  243.  
  244.         <var name="Enlight-Duration">120</var>
  245.  
  246.         <var name="SleepOrder">0</var>
  247.  
  248.         <!-- Count: Set bonus gained for the number of +2 AF3 pieces being worn.
  249.             10 for 2 pieces, 20 for 3 pieces, 30 for 4 pieces, 50 for 5 pieces. -->
  250.         <var name="EstoqueurSetBonus">50</var>
  251.         <!-- Cape: 0 for don't have; 1 for have. -->
  252.         <var name="EstoqueurCape">1</var>
  253.         <!-- Feet: 0 for don't have; 1 for +1; 2 for +2 -->
  254.         <var name="EstoqueurFeet">2</var>
  255.  
  256.  
  257.         <var name="Buff-Duration">0</var>
  258.         <var name="Warn-Duration">0</var>
  259.         <var name="BuffDurationMult">100</var>
  260.  
  261.         <var name="Respawn1Min">0</var>
  262.     </include>
  263.  
  264.     <include name="ElementalStaves">
  265.  
  266.         <!-- <xi:include href="Staff-Include.xml" xpointer="//include[@name='ElementalStaves']/*" /> -->
  267.  
  268.         <!-- Variables can't contain variable values.  Must define each explicitly. -->
  269.  
  270.         <!-- Define these according to which staves you have (primarily for reference). -->
  271.         <var name="EleStaff-Fire">Chatoyant Staff</var>
  272.         <var name="EleStaff-Ice">Chatoyant Staff</var>
  273.         <var name="EleStaff-Wind">Chatoyant Staff</var>
  274.         <var name="EleStaff-Earth">Chatoyant Staff</var>
  275.         <var name="EleStaff-Thunder">Chatoyant Staff</var>
  276.         <var name="EleStaff-Water">Chatoyant Staff</var>
  277.         <var name="EleStaff-Light">Chatoyant Staff</var>
  278.         <var name="EleStaff-Dark">Chatoyant Staff</var>
  279.  
  280.         <!-- Generally shouldn't need to modify this set (for reference only) -->
  281.         <var name="MagianStaff-Fire">Agni's Staff</var>
  282.         <var name="MagianStaff-Ice">Vourukasha I</var>
  283.         <var name="MagianStaff-Wind">Vayu's Staff</var>
  284.         <var name="MagianStaff-Earth">Kubera's Staff</var>
  285.         <var name="MagianStaff-Thunder">Indra's Staff</var>
  286.         <var name="MagianStaff-Water">Soma's Staff</var>
  287.         <var name="MagianStaff-Light">Surya's Staff</var>
  288.         <var name="MagianStaff-Dark">Yama's Staff</var>
  289.  
  290.         <!-- Magian staves with -cast time; otherwise whatever staff you want in precast. -->
  291.         <var name="Staff-FastCast-Fire">Chatoyant Staff</var>
  292.         <var name="Staff-FastCast-Ice">Vourukasha I</var>
  293.         <var name="Staff-FastCast-Wind">Chatoyant Staff</var>
  294.         <var name="Staff-FastCast-Earth">Chatoyant Staff</var>
  295.         <var name="Staff-FastCast-Thunder">Chatoyant Staff</var>
  296.         <var name="Staff-FastCast-Water">Chatoyant Staff</var>
  297.         <var name="Staff-FastCast-Light">Arka IV</var>
  298.         <var name="Staff-FastCast-Dark">Chatoyant Staff</var>
  299.  
  300.         <!-- Magian staves with -recast time; manually apply when you want recast instead of m.acc or dmg. -->
  301.         <var name="Staff-Recast-Fire">Chatoyant Staff</var>
  302.         <var name="Staff-Recast-Ice">Chatoyant Staff</var>
  303.         <var name="Staff-Recast-Wind">Chatoyant Staff</var>
  304.         <var name="Staff-Recast-Earth">Chatoyant Staff</var>
  305.         <var name="Staff-Recast-Thunder">Chatoyant Staff</var>
  306.         <var name="Staff-Recast-Water">Chatoyant Staff</var>
  307.         <var name="Staff-Recast-Light">Chatoyant Staff</var>
  308.         <var name="Staff-Recast-Dark">Chatoyant Staff</var>
  309.  
  310.         <!-- If you have a magian staff with cast time reduction, list the value here. -->
  311.         <var name="Staff-FastCastAmt-Fire">0</var>
  312.         <var name="Staff-FastCastAmt-Ice">12</var>
  313.         <var name="Staff-FastCastAmt-Wind">0</var>
  314.         <var name="Staff-FastCastAmt-Earth">0</var>
  315.         <var name="Staff-FastCastAmt-Thunder">0</var>
  316.         <var name="Staff-FastCastAmt-Water">0</var>
  317.         <var name="Staff-FastCastAmt-Light">0</var>
  318.         <var name="Staff-FastCastAmt-Dark">0</var>
  319.  
  320.         <!-- What staff to equip when going for nuke damage. -->
  321.         <var name="Staff-Dmg-Fire">Chatoyant Staff</var>
  322.         <var name="Staff-Dmg-Ice">Vourukasha I</var>
  323.         <var name="Staff-Dmg-Wind">Chatoyant Staff</var>
  324.         <var name="Staff-Dmg-Earth">Chatoyant Staff</var>
  325.         <var name="Staff-Dmg-Thunder">Chatoyant Staff</var>
  326.         <var name="Staff-Dmg-Water">Chatoyant Staff</var>
  327.         <var name="Staff-Dmg-Light">Chatoyant Staff</var>
  328.         <var name="Staff-Dmg-Dark">Chatoyant Staff</var>
  329.  
  330.         <!-- What staff to equip when going for spell accuracy (eg: debuffs). -->
  331.         <var name="Staff-Acc-Fire">Chatoyant Staff</var>
  332.         <var name="Staff-Acc-Ice">Chatoyant Staff</var>
  333.         <var name="Staff-Acc-Wind">Chatoyant Staff</var>
  334.         <var name="Staff-Acc-Earth">Chatoyant Staff</var>
  335.         <var name="Staff-Acc-Thunder">Chatoyant Staff</var>
  336.         <var name="Staff-Acc-Water">Chatoyant Staff</var>
  337.         <var name="Staff-Acc-Light">Chatoyant Staff</var>
  338.         <var name="Staff-Acc-Dark">Chatoyant Staff</var>
  339.  
  340.         <!-- This set takes advantage of the negative elemental properties
  341.             of the lvl 51 staves to reduce acc and damage.  Used for procs. -->
  342.         <var name="Staff-Proc-Fire">Earth Staff</var>
  343.         <var name="Staff-Proc-Ice">Earth Staff</var>
  344.         <var name="Staff-Proc-Wind">Earth Staff</var>
  345.         <var name="Staff-Proc-Earth">Arka IV</var>
  346.         <var name="Staff-Proc-Thunder">Earth Staff</var>
  347.         <var name="Staff-Proc-Water">Earth Staff</var>
  348.         <var name="Staff-Proc-Light">Earth Staff</var>
  349.         <var name="Staff-Proc-Dark">Earth Staff</var>
  350.  
  351.         <!-- Vars for specific types of staves that may vary from any of the above categories. -->
  352.         <var name="Staff-Cures">Arka IV</var>
  353.         <var name="Staff-PDT">Earth Staff</var>
  354.         <var name="Staff-HMP">Chatoyant Staff</var>
  355.  
  356.     </include>
  357.  
  358.     <!-- Sch weather constants are required for the rules that equip elemental gear.
  359.         If you import ElementalGear, you MUST import SchWeatherConstants as well. -->
  360.     <include name="ElementalGear">
  361.         <!-- Replace 0 with obi name when acquired -->
  362.         <var name="Obi-Fire">0</var>
  363.         <var name="Obi-Ice">0</var>
  364.         <var name="Obi-Wind">0</var>
  365.         <var name="Obi-Earth">0</var>
  366.         <var name="Obi-Thunder">0</var>
  367.         <var name="Obi-Water">0</var>
  368.         <var name="Obi-Light">0</var>
  369.         <var name="Obi-Dark">0</var>
  370.  
  371.         <!-- Replace 0 with gear name when acquired -->
  372.         <var name="TwilightCape">Twilight Cape</var>
  373.         <var name="ZodiacRing">Zodiac Ring</var>
  374.     </include>
  375.  
  376.     <include name="SchWeatherConstants">
  377.         <var name="Storm-Fire">Firestorm</var>
  378.         <var name="Storm-Ice">Hailstorm</var>
  379.         <var name="Storm-Wind">Windstorm</var>
  380.         <var name="Storm-Earth">Sandstorm</var>
  381.         <var name="Storm-Thunder">Thunderstorm</var>
  382.         <var name="Storm-Water">Rainstorm</var>
  383.         <var name="Storm-Light">Aurorastorm</var>
  384.         <var name="Storm-Dark">Voidstorm</var>
  385.     </include>
  386.  
  387.     <include name="SmnSpiritConstants">
  388.         <var name="Spirit-Fire">Fire Spirit</var>
  389.         <var name="Spirit-Ice">Ice Spirit</var>
  390.         <var name="Spirit-Wind">Air Spirit</var>
  391.         <var name="Spirit-Earth">Earth Spirit</var>
  392.         <var name="Spirit-Thunder">Thunder Spirit</var>
  393.         <var name="Spirit-Water">Water Spirit</var>
  394.         <var name="Spirit-Light">Light Spirit</var>
  395.         <var name="Spirit-Dark">Dark Spirit</var>
  396.     </include>
  397.  
  398.     <include name="EnspellConstants">
  399.         <var name="En-Fire">Enfire</var>
  400.         <var name="En-Ice">Enblizzard</var>
  401.         <var name="En-Wind">Enaero</var>
  402.         <var name="En-Earth">Enstone</var>
  403.         <var name="En-Thunder">Enthunder</var>
  404.         <var name="En-Water">Enwater</var>
  405.         <var name="En-Light">Enlight</var>
  406.         <var name="En-Dark">Endark</var>
  407.     </include>
  408.  
  409.     <include name="FastCastVars">
  410.         <!-- Override these with actual amounts available in gear for the given job.
  411.             Include merits (eg: whm Cure Cast Time), but not Fast Cast traits (eg: rdm). -->
  412.         <var name="CureFastCast">0</var>
  413.         <var name="HealFastCast">0</var>
  414.         <var name="EnhancingFastCast">0</var>
  415.         <var name="ElementalFastCast">0</var>
  416.         <var name="GeneralFastCast">0</var>
  417.  
  418.         <!-- Internal variable -->
  419.         <var name="FastCastAmt">0</var>
  420.         <var name="FCCastTime">0</var>
  421.         <!-- FastCastMode can take a value of Normal, Moderate or Quick
  422.             Moderate indicates that the spell may not swap gear properly
  423.             if using full Fast Cast gear, but will probably work with a
  424.             lesser amount.  Quick indicates that the spell will almost
  425.             certainly not swap gear properly, and full midcast gear
  426.             selections should be applied at precast.
  427.             This is set by the include code, and can be used in the
  428.             job xml. -->
  429.         <var name="FastCastMode">Normal</var>
  430.     </include>
  431.  
  432.     <!-- Variables for handling manipulating proc spells. -->
  433.     <include name="TestProcVars">
  434.         <var name="ProcElement">Ice</var>
  435.         <var name="ProcSpell">None</var>
  436.  
  437.         <var name="T3-Fire">Fire III</var>
  438.         <var name="T3-Ice">Blizzard III</var>
  439.         <var name="T3-Wind">Aero III</var>
  440.         <var name="T3-Earth">Stone III</var>
  441.         <var name="T3-Thunder">Thunder III</var>
  442.         <var name="T3-Water">Water III</var>
  443.         <var name="T3-Light">Banish II</var>
  444.         <var name="T3-Dark">Bio II</var>
  445.  
  446.         <var name="T4-Fire">Fire IV</var>
  447.         <var name="T4-Ice">Blizzard IV</var>
  448.         <var name="T4-Wind">Aero IV</var>
  449.         <var name="T4-Earth">Stone IV</var>
  450.         <var name="T4-Thunder">Thunder IV</var>
  451.         <var name="T4-Water">Water IV</var>
  452.         <var name="T4-Light">Banish III</var>
  453.         <var name="T4-Dark">Aspir</var>
  454.  
  455.         <var name="T-G3-Fire">Firaga III</var>
  456.         <var name="T-G3-Ice">Blizzaga III</var>
  457.         <var name="T-G3-Wind">Aeroga III</var>
  458.         <var name="T-G3-Earth">Stonega III</var>
  459.         <var name="T-G3-Thunder">Thundaga III</var>
  460.         <var name="T-G3-Water">Waterga III</var>
  461.         <var name="T-G3-Light">Banishga II</var>
  462.         <var name="T-G3-Dark">Drain</var>
  463.  
  464.         <var name="T-AM-Fire">Flare</var>
  465.         <var name="T-AM-Ice">Freeze</var>
  466.         <var name="T-AM-Wind">Tornado</var>
  467.         <var name="T-AM-Earth">Quake</var>
  468.         <var name="T-AM-Thunder">Burst</var>
  469.         <var name="T-AM-Water">Flood</var>
  470.         <var name="T-AM-Light">Holy</var>
  471.         <var name="T-AM-Dark">Dispel</var>
  472.  
  473.         <var name="T-Brd-Fire">Ice Threnody</var>
  474.         <var name="T-Brd-Ice">Wind Threnody</var>
  475.         <var name="T-Brd-Wind">Earth Threnody</var>
  476.         <var name="T-Brd-Earth">Ltng. Threnody</var>
  477.         <var name="T-Brd-Thunder">Water Threnody</var>
  478.         <var name="T-Brd-Water">Fire Threnody</var>
  479.         <var name="T-Brd-Light">Dark Threnody</var>
  480.         <var name="T-Brd-Dark">Light Threnody</var>
  481.     </include>
  482.  
  483.  
  484.     <!-- ******************* Sets ******************* -->
  485.  
  486.     <!-- Import this group, and inherit it in the default Outside-Group
  487.         group.  Other groups inherit from Outside-Group.
  488.         This should ensure that these sets exist in each group,
  489.         even if their contents aren't revised. -->
  490.     <include name="Base-Group">
  491.         <group name="Base-Group">
  492.             <set name="None">
  493.             </set>
  494.             <set name="Resting-Normal">
  495.             </set>
  496.             <set name="Kite|Move">
  497.             </set>
  498.  
  499.             <set name="PhysDef-PDT">
  500.             </set>
  501.             <set name="PhysDef-Evasion">
  502.             </set>
  503.             <set name="PhysDef-Defense">
  504.             </set>
  505.             <set name="PhysDef-Shield">
  506.             </set>
  507.  
  508.             <set name="MDT-*">
  509.             </set>
  510.             <set name="Resist-*">
  511.             </set>
  512.  
  513.             <set name="Convert">
  514.             </set>
  515.  
  516.             <!-- Weakness set is the gear set to wear while weak (usually +HP/MP and PDT).
  517.               It overrides most other armor sets. -->
  518.             <set name="WeakSet">
  519.             </set>
  520.         </group>
  521.     </include>
  522.  
  523.     <include name="SetTemplate">
  524.    
  525.              <!-- Template listing of all possible sets for combinations of offense
  526.                  and defense for a given weapon type, except Shield.
  527.                  Can replace Counter with Shield.
  528.                  Use wildcard matches to trap for sets with nothing unique, to
  529.                  simplify the list in actual use. -->
  530.              
  531.              <!-- Do not import this include -->
  532.              
  533.             <set name="TP-H2H-Normal-Normal">
  534.             </set>
  535.             <set name="TP-H2H-Acc-Normal" BaseSet="TP-H2H-Normal-Normal">
  536.             </set>
  537.             <set name="TP-H2H-MaxAcc-Normal" BaseSet="TP-H2H-Normal-Normal">
  538.             </set>
  539.             <set name="TP-H2H-Str-Normal" BaseSet="TP-H2H-Normal-Normal">
  540.             </set>
  541.             <set name="TP-H2H-Att-Normal" BaseSet="TP-H2H-Normal-Normal">
  542.             </set>
  543.             <set name="TP-H2H-Crit-Normal" BaseSet="TP-H2H-Normal-Normal">
  544.             </set>
  545.             <set name="TP-H2H-2HR-Normal" BaseSet="TP-H2H-Normal-Normal">
  546.             </set>
  547.             <set name="TP-H2H-LowDmg-Normal" BaseSet="TP-H2H-Normal-Normal">
  548.             </set>
  549.  
  550.             <set name="TP-H2H-Normal-Evasion">
  551.             </set>
  552.             <set name="TP-H2H-Acc-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  553.             </set>
  554.             <set name="TP-H2H-MaxAcc-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  555.             </set>
  556.             <set name="TP-H2H-Str-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  557.             </set>
  558.             <set name="TP-H2H-Att-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  559.             </set>
  560.             <set name="TP-H2H-Crit-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  561.             </set>
  562.             <set name="TP-H2H-2HR-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  563.             </set>
  564.             <set name="TP-H2H-LowDmg-Evasion" BaseSet="TP-H2H-Normal-Evasion">
  565.             </set>
  566.  
  567.             <set name="TP-H2H-Normal-PDT">
  568.             </set>
  569.             <set name="TP-H2H-Acc-PDT" BaseSet="TP-H2H-Normal-PDT">
  570.             </set>
  571.             <set name="TP-H2H-MaxAcc-PDT" BaseSet="TP-H2H-Normal-PDT">
  572.             </set>
  573.             <set name="TP-H2H-Str-PDT" BaseSet="TP-H2H-Normal-PDT">
  574.             </set>
  575.             <set name="TP-H2H-Att-PDT" BaseSet="TP-H2H-Normal-PDT">
  576.             </set>
  577.             <set name="TP-H2H-Crit-PDT" BaseSet="TP-H2H-Normal-PDT">
  578.             </set>
  579.             <set name="TP-H2H-2HR-PDT" BaseSet="TP-H2H-Normal-PDT">
  580.             </set>
  581.             <set name="TP-H2H-LowDmg-PDT" BaseSet="TP-H2H-Normal-PDT">
  582.             </set>
  583.    
  584.             <set name="TP-H2H-Normal-Counter">
  585.             </set>
  586.             <set name="TP-H2H-Acc-Counter" BaseSet="TP-H2H-Normal-Counter">
  587.             </set>
  588.             <set name="TP-H2H-MaxAcc-Counter" BaseSet="TP-H2H-Normal-Counter">
  589.             </set>
  590.             <set name="TP-H2H-Str-Counter" BaseSet="TP-H2H-Normal-Counter">
  591.             </set>
  592.             <set name="TP-H2H-Att-Counter" BaseSet="TP-H2H-Normal-Counter">
  593.             </set>
  594.             <set name="TP-H2H-Crit-Counter" BaseSet="TP-H2H-Normal-Counter">
  595.             </set>
  596.             <set name="TP-H2H-2HR-Counter" BaseSet="TP-H2H-Normal-Counter">
  597.             </set>
  598.             <set name="TP-H2H-LowDmg-Counter" BaseSet="TP-H2H-Normal-Counter">
  599.             </set>
  600.     </include>
  601.  
  602.     <!-- ******************* Rules ******************* -->
  603.  
  604.     <!-- Make sure things like basic area and status are set as soon as possible. -->
  605.     <include name="RunFirstUpdate">
  606.         <if advanced='"$FirstUpdate"="No"'>
  607.             <var cmd="set FirstUpdate Yes" />
  608.             <addtochat>Ran first update.</addtochat>
  609.             <if CommandPrefix="/trigger">
  610.                 <command>$UpdateCommand;wait 0.5;input /ma %Spell %SpellTargetRaw</command>
  611.             </if>
  612.             <else>
  613.                 <command>$UpdateCommand;wait 0.5;input %CommandPrefix %Spell %SpellTargetRaw</command>
  614.             </else>
  615.             <cancelspell />
  616.             <return />
  617.         </if>
  618.     </include>
  619.  
  620.     <!-- Do not use rules if level 50 or lower. -->
  621.     <include name="LevelRequirement">
  622.         <if notMLvlGT="50">
  623.             <return />
  624.         </if>
  625.     </include>
  626.  
  627.     <!-- These stop any gear changes if you're unable to take particular actions. -->
  628.     <include name="ReturnRules">
  629.         <!-- The bug that required this should be fixed -->
  630.         <if SpellTargetRaw="&lt;st*">
  631.             <return />
  632.         </if>
  633.  
  634.         <!-- Allow manipulation of equipment sets while under adverse effects.
  635.             Do not perform restriction checks on any trigger actions. -->
  636.         <if NotType="Trigger">
  637.             <if status="dead">
  638.                 <!-- Can't do anything if you're dead -->
  639.                 <addtochat>DEAD!</addtochat>
  640.                 <return />
  641.             </if>
  642.             <elseif BuffActive="Sleep|Petrification|Stun|Terror|Charm">
  643.                 <!-- Ignoring Illusion|Egg|Costume -->
  644.                 <addtochat color="28">Cannot act.</addtochat>
  645.                 <return />
  646.             </elseif>
  647.             <elseif spell="Ranged">
  648.                 <if advanced='%SpellTargetDistance &gt; 24.9'>
  649.                     <addtochat color="28">Out of range.</addtochat>
  650.                     <return />
  651.                 </if>
  652.             </elseif>
  653.             <elseif BuffActive="Silence|Mute|Omerta">
  654.                 <if Type="*Magic|BardSong|Ninjutsu">
  655.                     <addtochat color="28">Silenced.</addtochat>
  656.                     <return />
  657.                 </if>
  658.             </elseif>
  659.             <elseif BuffActive="Amnesia|Impairment">
  660.                 <if Type="Weaponskill|JobAbility|Scholar|PetCommand|BloodPact*|CorsairRoll|CorsairShot">
  661.                     <addtochat color="28">Amnesiad.</addtochat>
  662.                     <return />
  663.                 </if>
  664.             </elseif>
  665.             <elseif Type="PetCommand|BloodPact*" PetIsValid="FALSE">
  666.                 <addtochat color="28">No valid pet.</addtochat>
  667.                 <return />
  668.             </elseif>
  669.             <!-- <elseif type="Weaponskill">
  670.                <if mode="OR" TPLT="80" advanced='%SpellTargetDistance &gt; $WSDistance'>
  671.                    <cancelspell />
  672.                    <addtochat color="28">%Spell cancelled: TP or distance.</addtochat>
  673.                    <return />
  674.                </if>
  675.            </elseif> -->
  676.         </if>
  677.     </include>
  678.  
  679.     <!-- Do not change gear if spell is a transport spell used on self (Warp II/Retrace on others is fine). -->
  680.     <include name="CleanTransportation">
  681.         <if Spell="Warp*|Teleport*|Recall*|Retrace" SpellTargetType="SELF">
  682.             <return />
  683.         </if>
  684.     </include>
  685.  
  686.     <!-- Area variable rule -->
  687.     <include name="AreaRules">
  688.         <!-- Determine general area, as some give access to special gear, or differences in approach to gearing. -->
  689.         <if BuffActive="Voidwatcher">
  690.             <var cmd="set Area Voidwatch" />
  691.         </if>
  692.         <elseif BuffActive="Allied Tags">
  693.             <var cmd="set Area Campaign" />
  694.         </elseif>
  695.         <elseif advanced='"%Area"!="$LastKnownArea"'>
  696.             <if BuffActive="Visitant">
  697.                 <var cmd="set Area Abyssea" />
  698.             </if>
  699.             <elseif Area="*Remnants">
  700.                 <var cmd="set Area Salvage" />
  701.             </elseif>
  702.             <elseif Area="Nyzul Isle|Ilrusi Atoll|Leujaoam Sanctum|Mamool Ja Training Grounds|Lebros Cavern|Periqia">
  703.                 <var cmd="set Area Assault" />
  704.             </elseif>
  705.             <elseif Area="*Legion">
  706.                 <var cmd="set Area Legion" />
  707.             </elseif>
  708.             <else>
  709.                 <var cmd="set Area Outside" />
  710.             </else>
  711.  
  712.             <!-- Define idle set based on town or elsewhere -->
  713.             <if Area="Ru'Lude Gardens|Nashmau|Port*|Bastok*|Windurst*|*San d'Oria|*Jeuno|*Whitegate" NotArea="Dynamis*|*[S]">
  714.                 <var cmd="set IdleArea Town" />
  715.             </if>
  716.             <else>
  717.                 <var cmd="set IdleArea Field" />
  718.             </else>
  719.         </elseif>
  720.  
  721.         <var cmd="set LastKnownArea %Area" />
  722.  
  723.         <!-- Change group based on area -->
  724.         <if NotGroup="$Area-Group">
  725.             <command>sc group $Area-Group</command>
  726.         </if>
  727.     </include>
  728.  
  729.     <!-- Spell Cancel Rules -->
  730.     <include name="SpellCancel">
  731.         <if Spell="Sneak" BuffActive="Sneak" TargetType="SELF">
  732.             <midcastdelay delay="1" />
  733.             <command when="midcast">cancel 71</command>
  734.         </if>
  735.         <elseif spell="Spectral Jig" BuffActive="Sneak">
  736.             <command when="precast">cancel 71</command>
  737.         </elseif>
  738.         <elseif Spell="Monomi*" BuffActive="Sneak">
  739.             <midcastdelay delay="2.5" />
  740.             <command when="midcast">cancel 71</command>
  741.         </elseif>
  742.         <elseif spell="Utsusemi: Ichi" buffactive="Copy Image*" NotBuffActive="Silence|Mute|Omerta|Obliviscence">
  743.             <if notbuffactive="Copy Image (3)|Copy Image (4)">
  744.                 <midcastdelay delay="2.5" />
  745.                 <command when="midcast">cancel 66</command>
  746.                 <command when="midcast">cancel 446</command>
  747.             </if>
  748.             <else>
  749.                 <cancelspell />
  750.                 <return />
  751.             </else>
  752.         </elseif>
  753.         <elseif Spell="Stoneskin" BuffActive="Stoneskin">
  754.             <midcastdelay delay="2.8" />
  755.             <command when="midcast">cancel 37</command>
  756.         </elseif>
  757.     </include>
  758.  
  759.     <!-- Lock various slots when using particular gear. -->
  760.     <include name="EquipmentLockRules">
  761.         <if mode="OR" advanced='"$LockMain"=="Yes"' EquipMain="$TrialWeapon">
  762.             <lock slot="main|sub|ranged" when="All" lock="yes" />
  763.         </if>
  764.         <if EquipRange="$PullWeapons|Soulgauger*">
  765.             <lock slot="ranged|ammo" when="All" lock="yes" />
  766.         </if>
  767.         <if EquipFeet="Powder Boots|Sprint Shoes">
  768.             <lock slot="feet" when="All" lock="yes" />
  769.         </if>
  770.         <if EquipHead="Reraise Hairpin">
  771.             <lock slot="head" when="All" lock="yes" />
  772.         </if>
  773.         <if EquipNeck="Sanctus Rosary|Reraise Gorget|Lavalier +1">
  774.             <lock slot="neck" when="All" lock="yes" />
  775.         </if>
  776.         <if EquipLEar="$ReraiseEarrings">
  777.             <lock slot="lear" when="All" lock="yes" />
  778.         </if>
  779.         <if EquipREar="$ReraiseEarrings">
  780.             <lock slot="rear" when="All" lock="yes" />
  781.         </if>
  782.         <if EquipLRing="Emperor Band|Decennial Ring">
  783.             <lock slot="lring" when="All" lock="yes" />
  784.         </if>
  785.         <if EquipRRing="Emperor Band|Decennial Ring">
  786.             <lock slot="rring" when="All" lock="yes" />
  787.         </if>
  788.  
  789.         <!-- Only test for teleport stuff in town to avoid tons of unneeded checks. -->
  790.         <if advanced='"$IdleArea"="Town"'>
  791.             <if EquipHead="$TeleportHeads">
  792.                 <lock slot="head" when="All" lock="yes" />
  793.             </if>
  794.             <if EquipNeck="$TeleportNecks">
  795.                 <lock slot="neck" when="All" lock="yes" />
  796.             </if>
  797.             <if EquipLEar="$TeleportEarrings">
  798.                 <lock slot="lear" when="All" lock="yes" />
  799.             </if>
  800.             <if EquipREar="$TeleportEarrings">
  801.                 <lock slot="rear" when="All" lock="yes" />
  802.             </if>
  803.             <if EquipLRing="$TeleportRings">
  804.                 <lock slot="lring" when="All" lock="yes" />
  805.             </if>
  806.             <if EquipRRing="$TeleportRings">
  807.                 <lock slot="rring" when="All" lock="yes" />
  808.             </if>
  809.             <if EquipBody="Tidal Talisman">
  810.                 <lock slot="body" when="All" lock="yes" />
  811.             </if>
  812.         </if>
  813.     </include>
  814.  
  815.     <!-- Change to Convert gear and set the $Convert variable, which should be
  816.         part of the CurrentSet construction.
  817.         $Convert variable will be reset to 'None' after 10 seconds, if
  818.         it hadn't already been reset in the job rules. -->
  819.     <include name="ConvertRule">
  820.         <if Spell="Convert">
  821.             <equip when="precast" set="%Spell" />
  822.             <var cmd="set ConvertSet Convert" />
  823.             <command when="Aftercast">wait 15;$UpdateCommand</command>
  824.         </if>
  825.     </include>
  826.  
  827.     <!-- Handle universal toggle and cycle triggers -->
  828.     <!-- This is a REQUIRED include. -->
  829.     <include name="UniversalTriggerRules">
  830.         <if type="Trigger">
  831.             <if skill="ControlTrigger">
  832.                 <cancelspell />
  833.  
  834.                 <!-- Handle various types of resets. -->
  835.                 <if Spell="Reset">
  836.                     <if SpellTargetRaw="Defense">
  837.                         <var cmd="set MagicalDefense None" />
  838.                         <var cmd="set PhysicalDefense None" />
  839.                         <if status="Engaged">
  840.                             <var cmd="set Movement None" />
  841.                         </if>
  842.  
  843.                         <addtochat>PDT/MDT reset.</addtochat>
  844.                     </if>
  845.                     <elseif SpellTargetRaw="SteppedDefense">
  846.                         <if advanced='"$MagicalDefense" != "None"'>
  847.                             <var cmd="set MagicalDefense None" />
  848.                             <addtochat>Magical Defense reset.</addtochat>
  849.                         </if>
  850.                         <elseif advanced='"$PhysicalDefense" != "None"'>
  851.                             <var cmd="set PhysicalDefense None" />
  852.                             <addtochat>Physical Defense reset.</addtochat>
  853.                         </elseif>
  854.                     </elseif>
  855.                     <elseif SpellTargetRaw="All|Full">
  856.                         <var cmd="set Movement None" />
  857.                         <var cmd="set MagicalDefense None" />
  858.                         <var cmd="set PhysicalDefense None" />
  859.                         <var cmd="set FightingMode Offense" />
  860.                         <var cmd="set AttackMode Normal" />
  861.                         <var cmd="set FightingFocus Normal" />
  862.                         <var cmd="set WSMode Default" />
  863.                         <var cmd="set AggressiveMode Off" />
  864.                         <var cmd="set CastingMode Normal" />
  865.  
  866.                         <addtochat>All modes reset.</addtochat>
  867.                     </elseif>
  868.                     <elseif SpellTargetRaw="Physical*">
  869.                         <var cmd="set PhysicalDefense None" />
  870.                         <addtochat>Physical Defense reset.</addtochat>
  871.                     </elseif>
  872.                     <elseif SpellTargetRaw="Casting*">
  873.                         <var cmd="set CastingMode Normal" />
  874.                         <addtochat>Casting Mode reset.</addtochat>
  875.                     </elseif>
  876.                     <elseif SpellTargetRaw="Magical*">
  877.                         <var cmd="set MagicalDefense None" />
  878.                         <addtochat>Magical Defense reset.</addtochat>
  879.                     </elseif>
  880.                     <elseif SpellTargetRaw="Debug">
  881.                         <var cmd="set Debug 0" />
  882.                         <addtochat>Debug off.</addtochat>
  883.                     </elseif>
  884.                 </if>
  885.                 <elseif Spell="Update">
  886.                     <if SpellTargetRaw="WSDistance">
  887.                         <if TargetType="MOB">
  888.                             <var cmd="set WSDistance %TargetDistance" />
  889.                             <addtochat>Distance Variable: $WSDistance</addtochat>
  890.                         </if>
  891.                         <else>
  892.                             <addtochat>Invalid target for weaponskill distance.</addtochat>
  893.                         </else>
  894.                     </if>
  895.                     <elseif SpellTargetRaw="Debug">
  896.                         <var cmd="set Debug 1" />
  897.                         <addtochat>Debug active.</addtochat>
  898.                     </elseif>
  899.                 </elseif>
  900.             </if>
  901.  
  902.             <elseif skill="ElementalTrigger">
  903.                 <!-- MDT elemental triggers.  Other elemental triggers handled per job. -->
  904.                 <if SpellTargetRaw="MDT|Resist">
  905.                     <cancelspell />
  906.    
  907.                     <var cmd="set MagicalDefElement %SpellElement" />
  908.  
  909.                     <if advanced='"$MagicalDefense" != "None"'>
  910.                         <var cmd="set MagicalDefense $MagicalDefMode-$MagicalDefElement" />
  911.                     </if>
  912.  
  913.                     <addtochat>Magical Defense Element: $MagicalDefElement ($MagicalDefMode)</addtochat>
  914.                 </if>
  915.             </elseif>
  916.  
  917.             <elseif skill="CombatTrigger">
  918.                 <cancelspell />
  919.  
  920.                 <!-- Physical and magical defense modes -->
  921.  
  922.                 <if spell="PhysicalDefense">
  923.                     <!-- Handle changes in physical defense -->
  924.                     <if SpellTargetRaw=".Off">
  925.                         <var cmd="set PhysicalDefense None" />
  926.                         <addtochat>Physical Defense: $PhysicalDefense</addtochat>
  927.                     </if>
  928.                     <elseif SpellTargetRaw=".On">
  929.                         <var cmd="set PhysicalDefense PhysDef-$PhysicalDefMode" />
  930.                         <addtochat>Physical Defense: $PhysicalDefense</addtochat>
  931.                     </elseif>
  932.                     <elseif SpellTargetRaw=".Toggle">
  933.                         <if advanced='"$PhysicalDefense" = "None"'>
  934.                             <var cmd="set PhysicalDefense PhysDef-$PhysicalDefMode" />
  935.                         </if>
  936.                         <else>
  937.                             <var cmd="set PhysicalDefense None" />
  938.                         </else>
  939.  
  940.                         <addtochat>Physical Defense: $PhysicalDefense</addtochat>
  941.                     </elseif>
  942.                     <elseif SpellTargetRaw="Mode:*|PDT|Evasion|Shield|Defense">
  943.                         <if SpellTargetRaw="PDT|*:PDT" advanced='"$HasPDT" = "Yes"'>
  944.                             <var cmd="set PhysicalDefMode PDT" />
  945.                         </if>
  946.                         <elseif SpellTargetRaw="Evasion|*:Evasion" advanced='"$HasEvasion" = "Yes"'>
  947.                             <var cmd="set PhysicalDefMode Evasion" />
  948.                         </elseif>
  949.                         <elseif SpellTargetRaw="Shield|*:Shield" advanced='"$HasShield" = "Yes"'>
  950.                             <var cmd="set PhysicalDefMode Shield" />
  951.                         </elseif>
  952.                         <elseif SpellTargetRaw="Defense|*:Defense" advanced='"$HasDefense" = "Yes"'>
  953.                             <var cmd="set PhysicalDefMode Defense" />
  954.                         </elseif>
  955.                         <else>
  956.                             <addtochat>Unknown or invalid mode: [%SpellTargetRaw]</addtochat>
  957.                             <return />
  958.                         </else>
  959.    
  960.                         <if advanced='"$PhysicalDefense" != "None"'>
  961.                             <var cmd="set PhysicalDefense PhysDef-$PhysicalDefMode" />
  962.                         </if>
  963.    
  964.                         <addtochat>Physical Defense Mode: $PhysicalDefMode</addtochat>
  965.                     </elseif>
  966.                     <elseif SpellTargetRaw=".Cycle">
  967.                         <!-- Order: PDT > Evasion > Defense > Shield [Counter not used] -->
  968.                         <if advanced='"$PhysicalDefMode" = "PDT"'>
  969.                             <if  advanced='"$HasEvasion" = "Yes"'>
  970.                                 <var cmd="set PhysicalDefMode Evasion" />
  971.                             </if>
  972.                             <elseif  advanced='"$HasDefense" = "Yes"'>
  973.                                 <var cmd="set PhysicalDefMode Defense" />
  974.                             </elseif>
  975.                             <elseif  advanced='"$HasShield" = "Yes"'>
  976.                                 <var cmd="set PhysicalDefMode Shield" />
  977.                             </elseif>
  978.                         </if>
  979.                         <elseif advanced='"$PhysicalDefMode" = "Evasion"'>
  980.                             <if  advanced='"$HasDefense" = "Yes"'>
  981.                                 <var cmd="set PhysicalDefMode Defense" />
  982.                             </if>
  983.                             <elseif  advanced='"$HasShield" = "Yes"'>
  984.                                 <var cmd="set PhysicalDefMode Shield" />
  985.                             </elseif>
  986.                             <elseif  advanced='"$HasPDT" = "Yes"'>
  987.                                 <var cmd="set PhysicalDefMode PDT" />
  988.                             </elseif>
  989.                         </elseif>
  990.                         <elseif advanced='"$PhysicalDefMode" = "Defense"'>
  991.                             <if  advanced='"$HasShield" = "Yes"'>
  992.                                 <var cmd="set PhysicalDefMode Shield" />
  993.                             </if>
  994.                             <elseif  advanced='"$HasPDT" = "Yes"'>
  995.                                 <var cmd="set PhysicalDefMode PDT" />
  996.                             </elseif>
  997.                             <elseif  advanced='"$HasEvasion" = "Yes"'>
  998.                                 <var cmd="set PhysicalDefMode Evasion" />
  999.                             </elseif>
  1000.                         </elseif>
  1001.                         <elseif advanced='"$PhysicalDefMode" = "Shield"'>
  1002.                             <if  advanced='"$HasPDT" = "Yes"'>
  1003.                                 <var cmd="set PhysicalDefMode PDT" />
  1004.                             </if>
  1005.                             <elseif  advanced='"$HasEvasion" = "Yes"'>
  1006.                                 <var cmd="set PhysicalDefMode Evasion" />
  1007.                             </elseif>
  1008.                             <elseif  advanced='"$HasDefense" = "Yes"'>
  1009.                                 <var cmd="set PhysicalDefMode Defense" />
  1010.                             </elseif>
  1011.                         </elseif>
  1012.                         <else>
  1013.                             <if  advanced='"$HasPDT" = "Yes"'>
  1014.                                 <var cmd="set PhysicalDefMode PDT" />
  1015.                             </if>
  1016.                             <elseif  advanced='"$HasEvasion" = "Yes"'>
  1017.                                 <var cmd="set PhysicalDefMode Evasion" />
  1018.                             </elseif>
  1019.                             <elseif  advanced='"$HasDefense" = "Yes"'>
  1020.                                 <var cmd="set PhysicalDefMode Defense" />
  1021.                             </elseif>
  1022.                             <elseif  advanced='"$HasShield" = "Yes"'>
  1023.                                 <var cmd="set PhysicalDefMode Shield" />
  1024.                             </elseif>
  1025.                             <else>
  1026.                                  <addtochat>No valid defense type available.</addtochat>
  1027.                                  <return />
  1028.                             </else>
  1029.                         </else>
  1030.    
  1031.                         <if advanced='"$PhysicalDefense" != "None"'>
  1032.                             <var cmd="set PhysicalDefense PhysDef-$PhysicalDefMode" />
  1033.                         </if>
  1034.  
  1035.                         <addtochat>Physical Defense Type: $PhysicalDefMode</addtochat>
  1036.                     </elseif>
  1037.                     <elseif SpellTargetRaw=".Reverse">
  1038.                         <!-- Order: PDT < Evasion < Defense < Shield [Counter not used] -->
  1039.                         <if advanced='"$PhysicalDefMode" = "PDT"'>
  1040.                             <if  advanced='"$HasShield" = "Yes"'>
  1041.                                 <var cmd="set PhysicalDefMode Shield" />
  1042.                             </if>
  1043.                             <elseif  advanced='"$HasDefense" = "Yes"'>
  1044.                                 <var cmd="set PhysicalDefMode Defense" />
  1045.                             </elseif>
  1046.                             <elseif  advanced='"$HasEvasion" = "Yes"'>
  1047.                                 <var cmd="set PhysicalDefMode Evasion" />
  1048.                             </elseif>
  1049.                         </if>
  1050.                         <elseif advanced='"$PhysicalDefMode" = "Evasion"'>
  1051.                             <if  advanced='"$HasPDT" = "Yes"'>
  1052.                                 <var cmd="set PhysicalDefMode PDT" />
  1053.                             </if>
  1054.                             <elseif  advanced='"$HasShield" = "Yes"'>
  1055.                                 <var cmd="set PhysicalDefMode Shield" />
  1056.                             </elseif>
  1057.                             <elseif  advanced='"$HasDefense" = "Yes"'>
  1058.                                 <var cmd="set PhysicalDefMode Defense" />
  1059.                             </elseif>
  1060.                         </elseif>
  1061.                         <elseif advanced='"$PhysicalDefMode" = "Defense"'>
  1062.                             <if  advanced='"$HasEvasion" = "Yes"'>
  1063.                                 <var cmd="set PhysicalDefMode Evasion" />
  1064.                             </if>
  1065.                             <elseif  advanced='"$HasPDT" = "Yes"'>
  1066.                                 <var cmd="set PhysicalDefMode PDT" />
  1067.                             </elseif>
  1068.                             <elseif  advanced='"$HasShield" = "Yes"'>
  1069.                                 <var cmd="set PhysicalDefMode Shield" />
  1070.                             </elseif>
  1071.                         </elseif>
  1072.                         <elseif advanced='"$PhysicalDefMode" = "Shield"'>
  1073.                             <if  advanced='"$HasDefense" = "Yes"'>
  1074.                                 <var cmd="set PhysicalDefMode Defense" />
  1075.                             </if>
  1076.                             <elseif  advanced='"$HasEvasion" = "Yes"'>
  1077.                                 <var cmd="set PhysicalDefMode Evasion" />
  1078.                             </elseif>
  1079.                             <elseif  advanced='"$HasPDT" = "Yes"'>
  1080.                                 <var cmd="set PhysicalDefMode PDT" />
  1081.                             </elseif>
  1082.                         </elseif>
  1083.                         <else>
  1084.                             <if  advanced='"$HasShield" = "Yes"'>
  1085.                                 <var cmd="set PhysicalDefMode Shield" />
  1086.                             </if>
  1087.                             <elseif  advanced='"$HasDefense" = "Yes"'>
  1088.                                 <var cmd="set PhysicalDefMode Defense" />
  1089.                             </elseif>
  1090.                             <elseif  advanced='"$HasEvasion" = "Yes"'>
  1091.                                 <var cmd="set PhysicalDefMode Evasion" />
  1092.                             </elseif>
  1093.                             <elseif  advanced='"$HasPDT" = "Yes"'>
  1094.                                 <var cmd="set PhysicalDefMode PDT" />
  1095.                             </elseif>
  1096.                             <else>
  1097.                                  <addtochat>No valid defense type available.</addtochat>
  1098.                                  <return />
  1099.                             </else>
  1100.                         </else>
  1101.    
  1102.                         <if advanced='"$PhysicalDefense" != "None"'>
  1103.                             <var cmd="set PhysicalDefense PhysDef-$PhysicalDefMode" />
  1104.                         </if>
  1105.  
  1106.                         <addtochat>Physical Defense Type: $PhysicalDefMode</addtochat>
  1107.                     </elseif>
  1108.                     <else>
  1109.                         <!-- Default: Turn on -->
  1110.                         <var cmd="set PhysicalDefense PhysDef-$PhysicalDefMode" />
  1111.                         <addtochat>Physical Defense: $PhysicalDefense</addtochat>
  1112.                     </else>
  1113.                 </if>
  1114.                 <elseif spell="MagicalDefense">
  1115.                     <!-- Turn Magical Defense on and off -->
  1116.                     <if SpellTargetRaw=".On">
  1117.                         <var cmd="set MagicalDefense $MagicalDefMode-$MagicalDefElement" />
  1118.                         <addtochat>Magical Defense: $MagicalDefense</addtochat>
  1119.                     </if>
  1120.                     <elseif SpellTargetRaw=".Off">
  1121.                         <var cmd="set MagicalDefense None" />
  1122.                         <addtochat>Magical Defense: $MagicalDefense</addtochat>
  1123.                     </elseif>
  1124.                     <elseif SpellTargetRaw=".Toggle">
  1125.                         <if advanced='"$MagicalDefense" = "None"'>
  1126.                             <var cmd="set MagicalDefense $MagicalDefMode-$MagicalDefElement" />
  1127.                         </if>
  1128.                         <else>
  1129.                             <var cmd="set MagicalDefense None" />
  1130.                         </else>
  1131.  
  1132.                         <addtochat>Magical Defense: $MagicalDefense</addtochat>
  1133.                     </elseif>
  1134.                     <elseif SpellTargetRaw="Mode:*|MDT|Resist">
  1135.                         <if SpellTargetRaw="MDT|*:MDT">
  1136.                             <var cmd="set MagicalDefMode MDT" />
  1137.                         </if>
  1138.                         <elseif SpellTargetRaw="Resist|*:Resist">
  1139.                             <var cmd="set MagicalDefMode Resist" />
  1140.                         </elseif>
  1141.  
  1142.                         <addtochat>Magical Defense Mode: $MagicalDefMode ($MagicalDefElement)</addtochat>
  1143.                     </elseif>
  1144.                     <elseif SpellTargetRaw=".Cycle|.Reverse">
  1145.                         <if advanced='"$MagicalDefMode" = "MDT"'>
  1146.                             <var cmd="set MagicalDefMode Resist" />
  1147.                         </if>
  1148.                         <else>
  1149.                             <var cmd="set MagicalDefMode MDT" />
  1150.                         </else>
  1151.  
  1152.                         <addtochat>Magical Defense Mode: $MagicalDefMode ($MagicalDefElement)</addtochat>
  1153.                     </elseif>
  1154.                     <elseif SpellTargetRaw="Element:*">
  1155.                         <if SpellTargetRaw="*:Fire">
  1156.                             <var cmd="set MagicalDefElement Fire" />
  1157.                         </if>
  1158.                         <elseif SpellTargetRaw="*:Earth|*:Stone">
  1159.                             <var cmd="set MagicalDefElement Earth" />
  1160.                         </elseif>
  1161.                         <elseif SpellTargetRaw="*:Water">
  1162.                             <var cmd="set MagicalDefElement Water" />
  1163.                         </elseif>
  1164.                         <elseif SpellTargetRaw="*:Air|*:Aero|*:Wind">
  1165.                             <var cmd="set MagicalDefElement Wind" />
  1166.                         </elseif>
  1167.                         <elseif SpellTargetRaw="*:Ice">
  1168.                             <var cmd="set MagicalDefElement Ice" />
  1169.                         </elseif>
  1170.                         <elseif SpellTargetRaw="*:Lightning|*:Thunder">
  1171.                             <var cmd="set MagicalDefElement Thunder" />
  1172.                         </elseif>
  1173.                         <elseif SpellTargetRaw="*:Light">
  1174.                             <var cmd="set MagicalDefElement Light" />
  1175.                         </elseif>
  1176.                         <elseif SpellTargetRaw="*:Dark">
  1177.                             <var cmd="set MagicalDefElement Dark" />
  1178.                         </elseif>
  1179.                         <elseif SpellTargetRaw="*:Any|*:None">
  1180.                             <var cmd="set MagicalDefElement Any" />
  1181.                         </elseif>
  1182.                         <elseif SpellTargetRaw="*:All">
  1183.                             <var cmd="set MagicalDefElement All" />
  1184.                         </elseif>
  1185.                         <else>
  1186.                             <addtochat>Unknown Magical Defense element: [%SpellTargetRaw]</addtochat>
  1187.                             <return />
  1188.                         </else>
  1189.  
  1190.                         <addtochat>Magical Defense Element: $MagicalDefElement</addtochat>
  1191.                     </elseif>
  1192.                     <else>
  1193.                         <!-- Default: Turn on -->
  1194.                         <var cmd="set MagicalDefense $MagicalDefMode-$MagicalDefElement" />
  1195.                         <addtochat>Magical Defense: $MagicalDefense</addtochat>
  1196.                     </else>
  1197.  
  1198.                 </elseif>
  1199.  
  1200.                 <!-- Idle/Resting modes -->
  1201.  
  1202.                 <elseif Spell="IdleMode|CycleIdleMode">
  1203.                     <!-- Customize these in job xml. -->
  1204.                 </elseif>
  1205.                 <elseif Spell="RestingMode|CycleRestingMode">
  1206.                     <!-- Customize these in job xml. -->
  1207.                 </elseif>
  1208.  
  1209.                 <!-- Offensive and Defensive modes -->
  1210.  
  1211.                 <!-- SpellTargetRaw will be analyzed to determine which aspect of combat is being set,
  1212.                     and how.
  1213.  
  1214.                     Modes:
  1215.                     Aggressive [on|off]
  1216.                     Offense (general fighting mode)
  1217.                     Defense (general fighting mode)
  1218.                     WS (focus for weaponskills separate from standard focus)
  1219.                 -->
  1220.  
  1221.                 <elseif Spell="CombatMode">
  1222.                     <if SpellTargetRaw="Aggressive|Aggressive:*">
  1223.                         <if SpellTargetRaw="*:Off">
  1224.                             <var cmd="set AggressiveMode Off" />
  1225.                         </if>
  1226.                         <else>
  1227.                             <var cmd="set AggressiveMode On" />
  1228.                         </else>
  1229.  
  1230.                         <addtochat>Aggressive Mode: $AggressiveMode</addtochat>
  1231.                     </if>
  1232.                     <elseif SpellTargetRaw="Kite|Kite:*">
  1233.                         <if SpellTargetRaw="*:Off">
  1234.                             <var cmd="set KiteMode None" />
  1235.                         </if>
  1236.                         <elseif SpellTargetRaw="*:Toggle">
  1237.                             <if advanced='"$KiteMode"="Kite"'>
  1238.                                 <var cmd="set KiteMode None" />
  1239.                             </if>
  1240.                             <else>
  1241.                                 <var cmd="set KiteMode Kite" />
  1242.                             </else>
  1243.                         </elseif>
  1244.                         <else>
  1245.                             <var cmd="set KiteMode Kite" />
  1246.                         </else>
  1247.  
  1248.                         <addtochat>Kiting: $KiteMode</addtochat>
  1249.                     </elseif>
  1250.                    
  1251.                     <elseif SpellTargetRaw="Offense:*">
  1252.                         <if SpellTargetRaw="*:Normal">
  1253.                             <var cmd="set OffenseMode Normal" />
  1254.                         </if>
  1255.                         <elseif SpellTargetRaw="*:Att|*:Attack">
  1256.                             <var cmd="set OffenseMode Att" />
  1257.                         </elseif>
  1258.                         <elseif SpellTargetRaw="*:Acc|*:Accuracy">
  1259.                             <var cmd="set OffenseMode Acc" />
  1260.                         </elseif>
  1261.                         <elseif SpellTargetRaw="*:MaxAcc|*:MaxAccuracy">
  1262.                             <var cmd="set OffenseMode MaxAcc" />
  1263.                         </elseif>
  1264.                         <elseif SpellTargetRaw="*:Str">
  1265.                             <var cmd="set OffenseMode Str" />
  1266.                         </elseif>
  1267.                         <elseif SpellTargetRaw="*:Crit">
  1268.                             <var cmd="set OffenseMode Crit" />
  1269.                         </elseif>
  1270.                         <elseif SpellTargetRaw="*:LowDmg">
  1271.                             <var cmd="set OffenseMode LowDmg" />
  1272.                         </elseif>
  1273.                         <else>
  1274.                             <var cmd="set OffenseMode Normal" />
  1275.                         </else>
  1276.  
  1277.                         <addtochat>Offense Mode: $OffenseMode</addtochat>
  1278.                     </elseif>
  1279.                     <elseif SpellTargetRaw="Defense:*">
  1280.                         <if SpellTargetRaw="*:Eva|*:Evasion">
  1281.                             <var cmd="set PTankMode Evasion" />
  1282.                         </if>
  1283.                         <elseif SpellTargetRaw="*:Shield">
  1284.                             <var cmd="set PTankMode Shield" />
  1285.                         </elseif>
  1286.                         <elseif SpellTargetRaw="*:Counter">
  1287.                             <var cmd="set PTankMode Counter" />
  1288.                         </elseif>
  1289.                         <elseif SpellTargetRaw="*:PDT">
  1290.                             <var cmd="set PTankMode PDT" />
  1291.                         </elseif>
  1292.                         <else>
  1293.                             <var cmd="set PTankMode Normal" />
  1294.                         </else>
  1295.  
  1296.                         <if advanced='"$PTankMode"="Normal" OR "$Has$PTankMode"="Yes"'>
  1297.                             <var cmd="set DefenseMode $PTankMode" />
  1298.                         </if>
  1299.                         <else>
  1300.                             <addtochat>$PTankMode is unavailable.</addtochat>
  1301.                         </else>
  1302.  
  1303.                         <addtochat>Defense Mode: $DefenseMode</addtochat>
  1304.                     </elseif>
  1305.                     <elseif SpellTargetRaw="WS:*|Weaponskill:*">
  1306.                         <if SpellTargetRaw="*:Acc|*:Accuracy">
  1307.                             <var cmd="set WSMode Accuracy" />
  1308.                         </if>
  1309.                         <elseif SpellTargetRaw="*:Att|*:Attack">
  1310.                             <var cmd="set WSMode Attack" />
  1311.                         </elseif>
  1312.                         <elseif SpellTargetRaw="*:Mod">
  1313.                             <var cmd="set WSMode Mod" />
  1314.                         </elseif>
  1315.                         <elseif SpellTargetRaw="*:Crit">
  1316.                             <var cmd="set WSMode Crit" />
  1317.                         </elseif>
  1318.                         <else>
  1319.                             <var cmd="set WSMode Default" />
  1320.                         </else>
  1321.  
  1322.                         <addtochat>Weaponskill Focus: $WSMode</addtochat>
  1323.                     </elseif>
  1324.                     <elseif SpellTargetRaw="Cycle(*)">
  1325.                         <if SpellTargetRaw="*(Offense)">
  1326.                             <if advanced='"$OffenseMode"="Normal"'>
  1327.                                 <var cmd="set OffenseMode Att" />
  1328.                             </if>
  1329.                             <elseif advanced='"$OffenseMode"="Att"'>
  1330.                                 <var cmd="set OffenseMode Acc" />
  1331.                             </elseif>
  1332.                             <elseif advanced='"$OffenseMode"="Acc"'>
  1333.                                 <var cmd="set OffenseMode MaxAcc" />
  1334.                             </elseif>
  1335.                             <elseif advanced='"$OffenseMode"="MaxAcc"'>
  1336.                                 <var cmd="set OffenseMode Str" />
  1337.                             </elseif>
  1338.                             <elseif advanced='"$OffenseMode"="Str"'>
  1339.                                 <var cmd="set OffenseMode Crit" />
  1340.                             </elseif>
  1341.                             <elseif advanced='"$OffenseMode"="Crit"'>
  1342.                                 <var cmd="set OffenseMode LowDmg" />
  1343.                             </elseif>
  1344.                             <elseif advanced='"$OffenseMode"="LowDmg"'>
  1345.                                 <var cmd="set OffenseMode Normal" />
  1346.                             </elseif>
  1347.                             <else>
  1348.                                 <var cmd="set OffenseMode Normal" />
  1349.                             </else>
  1350.                            
  1351.                             <addtochat>Offense Mode: $OffenseMode</addtochat>
  1352.                         </if>
  1353.                         <elseif SpellTargetRaw="*(Defense)">
  1354.                             <!-- Order: Normal > Evasion > PDT > Shield > Counter -->
  1355.                          
  1356.                             <if advanced='"$DefenseMode" = "Normal"'>
  1357.                                 <if  advanced='"$HasEvasion" = "Yes"'>
  1358.                                     <var cmd="set DefenseMode Evasion" />
  1359.                                 </if>
  1360.                                 <elseif  advanced='"$HasPDT" = "Yes"'>
  1361.                                     <var cmd="set DefenseMode PDT" />
  1362.                                 </elseif>
  1363.                                 <elseif  advanced='"$HasShield" = "Yes"'>
  1364.                                     <var cmd="set DefenseMode Shield" />
  1365.                                 </elseif>
  1366.                                 <elseif  advanced='"$HasCounter" = "Yes"'>
  1367.                                     <var cmd="set DefenseMode Counter" />
  1368.                                 </elseif>
  1369.                             </if>
  1370.                             <elseif advanced='"$DefenseMode" = "Evasion"'>
  1371.                                 <if  advanced='"$HasPDT" = "Yes"'>
  1372.                                     <var cmd="set DefenseMode PDT" />
  1373.                                 </if>
  1374.                                 <elseif  advanced='"$HasShield" = "Yes"'>
  1375.                                     <var cmd="set DefenseMode Shield" />
  1376.                                 </elseif>
  1377.                                 <elseif  advanced='"$HasCounter" = "Yes"'>
  1378.                                     <var cmd="set DefenseMode Counter" />
  1379.                                 </elseif>
  1380.                                 <else>
  1381.                                     <var cmd="set DefenseMode Normal" />
  1382.                                 </else>
  1383.                             </elseif>
  1384.                             <elseif advanced='"$DefenseMode" = "PDT"'>
  1385.                                 <if  advanced='"$HasShield" = "Yes"'>
  1386.                                     <var cmd="set DefenseMode Shield" />
  1387.                                 </if>
  1388.                                 <elseif  advanced='"$HasCounter" = "Yes"'>
  1389.                                     <var cmd="set DefenseMode Counter" />
  1390.                                 </elseif>
  1391.                                 <else>
  1392.                                     <var cmd="set DefenseMode Normal" />
  1393.                                 </else>
  1394.                             </elseif>
  1395.                             <elseif advanced='"$DefenseMode" = "Shield"'>
  1396.                                 <if  advanced='"$HasCounter" = "Yes"'>
  1397.                                     <var cmd="set DefenseMode Counter" />
  1398.                                 </if>
  1399.                                 <else>
  1400.                                     <var cmd="set DefenseMode Normal" />
  1401.                                 </else>
  1402.                             </elseif>
  1403.                             <else>
  1404.                                 <var cmd="set DefenseMode Normal" />
  1405.                             </else>
  1406.  
  1407.                             <addtochat>Defense Mode: $DefenseMode</addtochat>
  1408.                         </elseif>
  1409.                         <elseif SpellTargetRaw="*(WS)|*(Weaponskill)">
  1410.                             <if advanced='"$WSMode"="Default"'>
  1411.                                 <var cmd="set WSMode Accuracy" />
  1412.                             </if>
  1413.                             <elseif advanced='"$WSMode"="Accuracy"'>
  1414.                                 <var cmd="set WSMode Attack" />
  1415.                             </elseif>
  1416.                             <elseif advanced='"$WSMode"="Attack"'>
  1417.                                 <var cmd="set WSMode Mod" />
  1418.                             </elseif>
  1419.                             <elseif advanced='"$WSMode"="Mod"'>
  1420.                                 <var cmd="set WSMode Crit" />
  1421.                             </elseif>
  1422.                             <else>
  1423.                                 <var cmd="set WSMode Default" />
  1424.                             </else>
  1425.                            
  1426.                             <addtochat>Weaponskill Focus: $WSMode</addtochat>
  1427.                         </elseif>
  1428.                     </elseif>
  1429.                     <elseif SpellTargetRaw="Reverse(*)">
  1430.                         <if SpellTargetRaw="*(Offense)">
  1431.                             <if advanced='"$OffenseMode"="Normal"'>
  1432.                                 <var cmd="set OffenseMode LowDmg" />
  1433.                             </if>
  1434.                             <elseif advanced='"$OffenseMode"="LowDmg"'>
  1435.                                 <var cmd="set OffenseMode Crit" />
  1436.                             </elseif>
  1437.                             <elseif advanced='"$OffenseMode"="Crit"'>
  1438.                                 <var cmd="set OffenseMode Str" />
  1439.                             </elseif>
  1440.                             <elseif advanced='"$OffenseMode"="Str"'>
  1441.                                 <var cmd="set OffenseMode MaxAcc" />
  1442.                             </elseif>
  1443.                             <elseif advanced='"$OffenseMode"="MaxAcc"'>
  1444.                                 <var cmd="set OffenseMode Acc" />
  1445.                             </elseif>
  1446.                             <elseif advanced='"$OffenseMode"="Acc"'>
  1447.                                 <var cmd="set OffenseMode Att" />
  1448.                             </elseif>
  1449.                             <elseif advanced='"$OffenseMode"="Att"'>
  1450.                                 <var cmd="set OffenseMode Normal" />
  1451.                             </elseif>
  1452.                             <else>
  1453.                                 <var cmd="set OffenseMode Normal" />
  1454.                             </else>
  1455.                            
  1456.                             <addtochat>Offense Mode: $OffenseMode</addtochat>
  1457.                         </if>
  1458.                         <elseif SpellTargetRaw="*(Defense)">
  1459.                             <!-- Order: Normal < Evasion < PDT < Shield < Counter -->
  1460.                          
  1461.                             <if advanced='"$DefenseMode" = "Normal"'>
  1462.                                 <if  advanced='"$HasCounter" = "Yes"'>
  1463.                                     <var cmd="set DefenseMode Counter" />
  1464.                                 </if>
  1465.                                 <elseif  advanced='"$HasShield" = "Yes"'>
  1466.                                     <var cmd="set DefenseMode Shield" />
  1467.                                 </elseif>
  1468.                                 <elseif  advanced='"$HasPDT" = "Yes"'>
  1469.                                     <var cmd="set DefenseMode PDT" />
  1470.                                 </elseif>
  1471.                                 <elseif  advanced='"$HasEvasion" = "Yes"'>
  1472.                                     <var cmd="set DefenseMode Evasion" />
  1473.                                 </elseif>
  1474.                             </if>
  1475.                             <elseif advanced='"$DefenseMode" = "Counter"'>
  1476.                                 <if  advanced='"$HasShield" = "Yes"'>
  1477.                                     <var cmd="set DefenseMode Shield" />
  1478.                                 </if>
  1479.                                 <elseif  advanced='"$HasPDT" = "Yes"'>
  1480.                                     <var cmd="set DefenseMode PDT" />
  1481.                                 </elseif>
  1482.                                 <elseif  advanced='"$HasEvasion" = "Yes"'>
  1483.                                     <var cmd="set DefenseMode Evasion" />
  1484.                                 </elseif>
  1485.                                 <else>
  1486.                                     <var cmd="set DefenseMode Normal" />
  1487.                                 </else>
  1488.                             </elseif>
  1489.                             <elseif advanced='"$DefenseMode" = "Shield"'>
  1490.                                 <if  advanced='"$HasPDT" = "Yes"'>
  1491.                                     <var cmd="set DefenseMode PDT" />
  1492.                                 </if>
  1493.                                 <elseif  advanced='"$HasEvasion" = "Yes"'>
  1494.                                     <var cmd="set DefenseMode Evasion" />
  1495.                                 </elseif>
  1496.                                 <else>
  1497.                                     <var cmd="set DefenseMode Normal" />
  1498.                                 </else>
  1499.                             </elseif>
  1500.                             <elseif advanced='"$DefenseMode" = "PDT"'>
  1501.                                 <if  advanced='"$HasEvasion" = "Yes"'>
  1502.                                     <var cmd="set DefenseMode Evasion" />
  1503.                                 </if>
  1504.                                 <else>
  1505.                                     <var cmd="set DefenseMode Normal" />
  1506.                                 </else>
  1507.                             </elseif>
  1508.                             <else>
  1509.                                 <var cmd="set DefenseMode Normal" />
  1510.                             </else>
  1511.  
  1512.                             <addtochat>Defense Mode: $DefenseMode</addtochat>
  1513.                         </elseif>
  1514.                         <elseif SpellTargetRaw="*(WS)|*(Weaponskill)">
  1515.                             <if advanced='"$WSMode"="Default"'>
  1516.                                 <var cmd="set WSMode Crit" />
  1517.                             </if>
  1518.                             <elseif advanced='"$WSMode"="Crit"'>
  1519.                                 <var cmd="set WSMode Mod" />
  1520.                             </elseif>
  1521.                             <elseif advanced='"$WSMode"="Mod"'>
  1522.                                 <var cmd="set WSMode Attack" />
  1523.                             </elseif>
  1524.                             <elseif advanced='"$WSMode"="Attack"'>
  1525.                                 <var cmd="set WSMode Accuracy" />
  1526.                             </elseif>
  1527.                             <else>
  1528.                                 <var cmd="set WSMode Default" />
  1529.                             </else>
  1530.                            
  1531.                             <addtochat>Weaponskill Focus: $WSMode</addtochat>
  1532.                         </elseif>
  1533.                     </elseif>
  1534.                     <elseif SpellTargetRaw="Toggle(*)">
  1535.                         <if SpellTargetRaw="*(Aggressive)">
  1536.                             <if advanced='"$AggressiveMode"="On"'>
  1537.                                 <var cmd="set AggressiveMode Off" />
  1538.                             </if>
  1539.                             <else>
  1540.                                 <var cmd="set AggressiveMode On" />
  1541.                             </else>
  1542.  
  1543.                             <addtochat>Aggressive Mode: $AggressiveMode</addtochat>
  1544.                         </if>
  1545.                         <elseif SpellTargetRaw="*(Kite)">
  1546.                             <if advanced='"$KiteMode"="Kite"'>
  1547.                                 <var cmd="set KiteMode None" />
  1548.                             </if>
  1549.                             <else>
  1550.                                 <var cmd="set KiteMode Kite" />
  1551.                             </else>
  1552.  
  1553.                             <addtochat>Kite Mode: $KiteMode</addtochat>
  1554.                         </elseif>
  1555.                     </elseif>
  1556.                 </elseif>
  1557.  
  1558.                 <!-- Casting modes (abstract concepts, not explicit sets) -->
  1559.  
  1560.                 <elseif Spell="CastingMode">
  1561.                     <if SpellTargetRaw="NM|Resistant">
  1562.                         <var cmd="set CastingMode Resistant" />
  1563.                     </if>
  1564.                     <elseif SpellTargetRaw="AOEBurn">
  1565.                         <var cmd="set CastingMode AOEBurn" />
  1566.                     </elseif>
  1567.                     <elseif SpellTargetRaw="Dire">
  1568.                         <var cmd="set CastingMode Dire" />
  1569.                     </elseif>
  1570.                     <elseif SpellTargetRaw="Normal|Reset">
  1571.                         <var cmd="set CastingMode Normal" />
  1572.                     </elseif>
  1573.  
  1574.                     <addtochat>Casting Mode: $CastingMode</addtochat>
  1575.                 </elseif>
  1576.                 <elseif Spell="CycleCastingMode">
  1577.                     <if SpellTargetRaw="Reverse">
  1578.                         <if advanced='"$CastingMode"="Normal"'>
  1579.                             <var cmd="set CastingMode Dire" />
  1580.                         </if>
  1581.                         <elseif advanced='"$CastingMode"="Dire"'>
  1582.                             <var cmd="set CastingMode AOEBurn" />
  1583.                         </elseif>
  1584.                         <elseif advanced='"$CastingMode"="AOEBurn"'>
  1585.                             <var cmd="set CastingMode ToughNM" />
  1586.                         </elseif>
  1587.                         <else>
  1588.                             <!-- Default: Normal -->
  1589.                             <var cmd="set CastingMode Normal" />
  1590.                         </else>
  1591.                     </if>
  1592.                     <else>
  1593.                         <if advanced='"$CastingMode"="Normal"'>
  1594.                             <var cmd="set CastingMode ToughNM" />
  1595.                         </if>
  1596.                         <elseif advanced='"$CastingMode"="ToughNM"'>
  1597.                             <var cmd="set CastingMode AOEBurn" />
  1598.                         </elseif>
  1599.                         <elseif advanced='"$CastingMode"="AOEBurn"'>
  1600.                             <var cmd="set CastingMode Dire" />
  1601.                         </elseif>
  1602.                         <else>
  1603.                             <!-- Default: Normal -->
  1604.                             <var cmd="set CastingMode Normal" />
  1605.                         </else>
  1606.                     </else>
  1607.  
  1608.                     <addtochat>Casting Mode: $CastingMode</addtochat>
  1609.                 </elseif>
  1610.             </elseif>
  1611.            
  1612.             <elseif Skill="GenericTrigger">
  1613.                 <if SpellTargetRaw="Test">
  1614.                 </if>
  1615.                 <elseif SpellTargetRaw="Check">
  1616.                     <cancelspell />
  1617.                     <addtochat>Current base TP set: TP-$TPWeapon-$OffenseMode-$DefenseMode</addtochat>
  1618.                 </elseif>
  1619.             </elseif>
  1620.         </if>
  1621.     </include>
  1622.  
  1623.     <!-- Define the base layer for the $CurrentSet variable to use. -->
  1624.     <include name="DefineBaseLayer">
  1625.         <if status="Engaged">
  1626.             <if advanced='"$Use-OffenseMode"!="None"'>
  1627.                 <var cmd="set OMode $Use-OffenseMode" />
  1628.             </if>
  1629.             <else>
  1630.                 <var cmd="set OMode $OffenseMode" />
  1631.             </else>
  1632.  
  1633.             <if advanced='"$AggressiveMode"="On"'>
  1634.                 <var cmd="set BaseLayer TP-$TPWeapon-$OMode-$DefenseMode|$AggressiveLayer" />
  1635.             </if>
  1636.             <else>
  1637.                 <var cmd="set BaseLayer TP-$TPWeapon-$OMode-$DefenseMode" />
  1638.             </else>
  1639.         </if>
  1640.         <else>
  1641.             <var cmd="set BaseLayer Idle-$IdleArea-$IdleMode" />
  1642.         </else>
  1643.     </include>
  1644.  
  1645.  
  1646.     <!-- Define the general weaponskill set based on certain vars. -->
  1647.     <!-- Define which weaponskill mode to use. -->
  1648.     <include name="DefineWeaponskillSet">
  1649.         <if Spell="$MagicalWS">
  1650.             <var cmd="set WSSet WS-%Spell" />
  1651.         </if>
  1652.         <else>
  1653.             <if advanced='"$Use-WSMode" != "None"'>
  1654.                 <var cmd="set TmpWSMode $Use-WSMode" />
  1655.             </if>
  1656.             <else>
  1657.                 <if advanced='"$WSMode"="default"'>
  1658.                     <if advanced='"$OffenseMode"="Acc" OR "$OffenseMode"="MaxAcc"' NotSpell="$SingleHitWS">
  1659.                         <var cmd="set TmpWSMode Acc" />
  1660.                     </if>
  1661.                     <elseif Spell="$CritWS" BuffActive="Blood Rage">
  1662.                         <var cmd="set TmpWSMode Crit" />
  1663.                     </elseif>
  1664.                     <elseif mode="OR" advanced='"$OffenseMode"="Str" OR "$OffenseMode"="Crit"'
  1665.                      BuffActive="Berserk|Last Resort|Attack Boost|Building Flourish|Chaos Roll">
  1666.                         <var cmd="set TmpWSMode Mod" />
  1667.                     </elseif>
  1668.                     <elseif BuffActive="Voidwatcher">
  1669.                         <var cmd="set TmpWSMode Att" />
  1670.                     </elseif>
  1671.                     <else>
  1672.                         <var cmd="set TmpWSMode Normal" />
  1673.                     </else>
  1674.                 </if>
  1675.                 <else>
  1676.                     <var cmd="set TmpWSMode $WSMode" />
  1677.                 </else>
  1678.             </else>
  1679.  
  1680.             <var cmd="set WSSet WS-%Spell-$TmpWSMode" />
  1681.         </else>
  1682.  
  1683.         <if advanced='$Debug=1'>
  1684.             <addtochat>WS Set: $WSSet</addtochat>
  1685.         </if>
  1686.     </include>
  1687.  
  1688.  
  1689.     <!-- Change to appropriate gear set at proper times. -->
  1690.     <include name="HandleEquippingGear">
  1691.         <!-- INCLUDE ONLY AFTER [CurrentSet] HAS BEEN DEFINED BY YOUR JOB RULES. -->
  1692.  
  1693.         <if advanced='$Debug=1'>
  1694.             <addtochat>Current Set: $CurrentSet</addtochat>
  1695.         </if>
  1696.  
  1697.         <!-- After all calculations are done, if the spellcast was run due to a Trigger action,
  1698.             just equip the specified gear and return. -->
  1699.         <if type="Trigger">
  1700.             <equip set="$CurrentSet" />
  1701.             <return />
  1702.         </if>
  1703.  
  1704.         <if type="JobAbility|WeaponSkill|Step|Waltz|Flourish*">
  1705.             <AfterCastDelay Delay="0.5" />
  1706.         </if>
  1707.  
  1708.         <!-- Aftercast equipment resolution deferred.  Avoid up-front lag
  1709.             from doing these calculations now. -->
  1710.         <if status="resting">
  1711.             <equip when="all" set="Resting-$RestMode" />
  1712.         </if>
  1713.         <elseif Spell="Autoset">
  1714.             <equip when="idle|engaged" set="$CurrentSet" />
  1715.         </elseif>
  1716.         <else>
  1717.             <!-- Change to <equip> line if you want to test current direct lag. -->
  1718.             <equip when="aftercast" set="$CurrentSet" />
  1719.             <!-- <command when="aftercast">$UpdateAftercast</command> -->
  1720.         </else>
  1721.  
  1722.     </include>
  1723.  
  1724.     <!-- Handle evaluation of sets and equipping gear at aftercast time slot
  1725.         instead of doing all the work before the requested action.  Helps
  1726.         reduce lag effects. -->
  1727.     <include name="ChangeGearAftercast">
  1728.         <if type="Trigger" Spell="Update" SpellTargetRaw=".Aftercast">
  1729.             <cancelspell />
  1730.  
  1731.             <if NotStatus="Dead|Zoning">
  1732.                 <equip set="$CurrentSet" />
  1733.             </if>
  1734.  
  1735.             <return />
  1736.         </if>
  1737.     </include>
  1738.  
  1739.  
  1740.  
  1741.     <!-- Elemental Staff Rules -->
  1742.     <include name="ElementalStaffRules">
  1743.         <if Skill="ElementalMagic">
  1744.             <if Spell="Burn|Frost|Choke|Rasp|Shock|Drown">
  1745.                 <equip when="precast|midcast">
  1746.                     <main>$Staff-Acc-%SpellElement</main>
  1747.                 </equip>
  1748.             </if>
  1749.             <else>
  1750.                 <if advanced='"$CastingMode" = "Proc"'>
  1751.                     <equip when="precast|midcast">
  1752.                         <main>$Staff-Proc-%SpellElement</main>
  1753.                     </equip>
  1754.                 </if>
  1755.                 <else>
  1756.                     <equip when="precast">
  1757.                         <main>$Staff-FastCast-%SpellElement</main>
  1758.                         <sub>Wise Strap</sub>
  1759.                     </equip>
  1760.                     <equip when="midcast">
  1761.                         <main>$Staff-Dmg-%SpellElement</main>
  1762.                         <sub>Wise Strap</sub>
  1763.                     </equip>
  1764.                 </else>
  1765.             </else>
  1766.         </if>
  1767.         <elseif skill="HealingMagic" Spell="Cure*|Cura*">
  1768.             <equip when="precast|midcast">
  1769.                 <main>$Staff-Cures</main>
  1770.             </equip>
  1771.         </elseif>
  1772.         <elseif skill="EnfeeblingMagic">
  1773.             <equip when="precast|midcast">
  1774.                 <main>$Staff-Acc-%SpellElement</main>
  1775.             </equip>
  1776.         </elseif>
  1777.         <elseif type="BardSong">
  1778.             <if advanced='$Staff-FastCastAmt-%SpellElement &gt; 0'>
  1779.                 <equip when="precast">
  1780.                     <main>$Staff-FastCast-%SpellElement</main>
  1781.                 </equip>
  1782.             </if>
  1783.             <if SpellTargetType="MONSTER|NPC">
  1784.                 <equip when="midcast">
  1785.                     <main>$Staff-Acc-%SpellElement</main>
  1786.                 </equip>
  1787.             </if>
  1788.         </elseif>
  1789.         <elseif skill="DivineMagic">
  1790.             <if Spell="Banish*|Holy*">
  1791.                 <equip when="precast|midcast">
  1792.                     <main>$Staff-Dmg-%SpellElement</main>
  1793.                 </equip>
  1794.             </if>
  1795.             <else>
  1796.                 <equip when="precast|midcast">
  1797.                     <main>$Staff-Acc-%SpellElement</main>
  1798.                 </equip>
  1799.             </else>
  1800.         </elseif>
  1801.         <elseif skill="DarkMagic">
  1802.             <equip when="precast|midcast">
  1803.                 <main>$Staff-Acc-%SpellElement</main>
  1804.             </equip>
  1805.         </elseif>
  1806.     </include>
  1807.  
  1808.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Elemental Magic.
  1809.         Assumed to be imported in after check for skill="ElementalMagic" has
  1810.         already been done. -->
  1811.     <include name="ObiRingCape-ElementalMagic">
  1812.         <if Element="%DayElement">
  1813.             <if skill="ElementalMagic" NotSpell="Burn|Frost|Choke|Rasp|Shock|Drown">
  1814.                 <if Advanced='"ZodiacRing"!="0"' NotElement="Light|Dark">
  1815.                     <equip when="midcast">
  1816.                         <rring>Zodiac Ring</rring>
  1817.                     </equip>
  1818.                 </if>
  1819.  
  1820.                 <if Advanced='"$TwilightCape"!="0"'>
  1821.                     <equip when="midcast">
  1822.                         <back>Twilight Cape</back>
  1823.                     </equip>
  1824.                 </if>
  1825.  
  1826.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  1827.                     <equip when="midcast">
  1828.                         <waist>$Obi-%SpellElement</waist>
  1829.                     </equip>
  1830.                 </if>
  1831.             </if>
  1832.         </if>
  1833.  
  1834.         <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  1835.             <if Advanced='"$Obi-%SpellElement"!="0"'>
  1836.                 <if skill="ElementalMagic" NotSpell="Burn|Frost|Choke|Rasp|Shock|Drown">
  1837.                     <equip when="midcast">
  1838.                         <waist>$Obi-%SpellElement</waist>
  1839.                     </equip>
  1840.  
  1841.                     <if Advanced='"$TwilightCape"!="0"'>
  1842.                         <equip when="midcast">
  1843.                             <back>Twilight Cape</back>
  1844.                         </equip>
  1845.                     </if>
  1846.                 </if>
  1847.             </if>
  1848.         </elseif>
  1849.     </include>
  1850.  
  1851.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Healing Magic.
  1852.         Assumed to be imported in after check for skill="HealingMagic" has
  1853.         already been done. -->
  1854.     <include name="ObiRingCape-HealingMagic">
  1855.         <if Element="%DayElement">
  1856.             <if Spell="Cure*|Cura*">
  1857.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  1858.                     <equip when="midcast">
  1859.                         <waist>$Obi-%SpellElement</waist>
  1860.                     </equip>
  1861.                 </if>
  1862.  
  1863.                 <if Advanced='"$TwilightCape"!="0"'>
  1864.                     <equip when="midcast">
  1865.                         <back>Twilight Cape</back>
  1866.                     </equip>
  1867.                 </if>
  1868.             </if>
  1869.         </if>
  1870.  
  1871.         <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  1872.             <if Advanced='"$Obi-%SpellElement"!="0"'>
  1873.                 <if Spell="Cure*|Cura*">
  1874.                     <equip when="midcast">
  1875.                         <waist>$Obi-%SpellElement</waist>
  1876.                     </equip>
  1877.  
  1878.                     <if Advanced='"$TwilightCape"!="0"'>
  1879.                         <equip when="midcast">
  1880.                             <back>Twilight Cape</back>
  1881.                         </equip>
  1882.                     </if>
  1883.                 </if>
  1884.             </if>
  1885.         </elseif>
  1886.     </include>
  1887.  
  1888.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Divine Magic.
  1889.         Assumed to be imported in after check for skill="DivineMagic" has
  1890.         already been done. -->
  1891.     <include name="ObiRingCape-DivineMagic">
  1892.         <if Element="%DayElement">
  1893.             <if Spell="Banish*|Holy*">
  1894.                 <if Advanced='"$TwilightCape"!="0"'>
  1895.                     <equip when="midcast">
  1896.                         <back>Twilight Cape</back>
  1897.                     </equip>
  1898.                 </if>
  1899.  
  1900.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  1901.                     <equip when="midcast">
  1902.                         <waist>$Obi-%SpellElement</waist>
  1903.                     </equip>
  1904.                 </if>
  1905.             </if>
  1906.         </if>
  1907.  
  1908.         <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  1909.             <if Advanced='"$Obi-%SpellElement"!="0"'>
  1910.                 <if Spell="Banish*|Holy*">
  1911.                     <equip when="midcast">
  1912.                         <waist>$Obi-%SpellElement</waist>
  1913.                     </equip>
  1914.  
  1915.                     <if Advanced='"$TwilightCape"!="0"'>
  1916.                         <equip when="midcast">
  1917.                             <back>Twilight Cape</back>
  1918.                         </equip>
  1919.                     </if>
  1920.                 </if>
  1921.             </if>
  1922.         </elseif>
  1923.     </include>
  1924.  
  1925.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Quick Draw.
  1926.         Assumed to be imported in after check for type="CorsairShot" has
  1927.         already been done. -->
  1928.     <include name="ObiRingCape-CorsairShot">
  1929.         <if NotElement="Light|Dark">
  1930.             <if Element="%DayElement">
  1931.                 <if Advanced='"ZodiacRing"!="0"'>
  1932.                     <equip when="precast">
  1933.                         <rring>Zodiac Ring</rring>
  1934.                     </equip>
  1935.                 </if>
  1936.  
  1937.                 <if Advanced='"$TwilightCape"!="0"'>
  1938.                     <equip when="precast">
  1939.                         <back>Twilight Cape</back>
  1940.                     </equip>
  1941.                 </if>
  1942.  
  1943.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  1944.                     <equip when="precast">
  1945.                         <waist>$Obi-%SpellElement</waist>
  1946.                     </equip>
  1947.                 </if>
  1948.             </if>
  1949.  
  1950.             <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  1951.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  1952.                     <equip when="precast">
  1953.                         <waist>$Obi-%SpellElement</waist>
  1954.                     </equip>
  1955.  
  1956.                     <if Advanced='"$TwilightCape"!="0"'>
  1957.                         <equip when="precast">
  1958.                             <back>Twilight Cape</back>
  1959.                         </equip>
  1960.                     </if>
  1961.                 </if>
  1962.             </elseif>
  1963.         </if>
  1964.     </include>
  1965.  
  1966.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Ninjutsu.
  1967.         Assumed to be imported in after check for type="Ninjutsu" has
  1968.         already been done. -->
  1969.     <include name="ObiRingCape-Ninjutsu">
  1970.         <if Element="%DayElement">
  1971.             <if Spell="Katon*|Hyoton*|Huton*|Doton*|Suiton*|Raiton*">
  1972.                 <if Advanced='"ZodiacRing"!="0"'>
  1973.                     <equip when="midcast">
  1974.                         <rring>Zodiac Ring</rring>
  1975.                     </equip>
  1976.                 </if>
  1977.  
  1978.                 <if Advanced='"$TwilightCape"!="0"'>
  1979.                     <equip when="midcast">
  1980.                         <back>Twilight Cape</back>
  1981.                     </equip>
  1982.                 </if>
  1983.  
  1984.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  1985.                     <equip when="midcast">
  1986.                         <waist>$Obi-%SpellElement</waist>
  1987.                     </equip>
  1988.                 </if>
  1989.             </if>
  1990.         </if>
  1991.  
  1992.         <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  1993.             <if Advanced='"$Obi-%SpellElement"!="0"'>
  1994.                 <if Spell="Katon*|Hyoton*|Huton*|Doton*|Suiton*|Raiton*">
  1995.                     <equip when="midcast">
  1996.                         <waist>$Obi-%SpellElement</waist>
  1997.                     </equip>
  1998.  
  1999.                     <if Advanced='"$TwilightCape"!="0"'>
  2000.                         <equip when="midcast">
  2001.                             <back>Twilight Cape</back>
  2002.                         </equip>
  2003.                     </if>
  2004.                 </if>
  2005.             </if>
  2006.         </elseif>
  2007.     </include>
  2008.  
  2009.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Blue Magic.
  2010.         Assumed to be imported in after check for skill="BlueMagic" has
  2011.         already been done. -->
  2012.     <include name="ObiRingCape-BlueMagic">
  2013.         <if Element="%DayElement">
  2014.             <if Spell="*Whisker|*Grudge|Thermal*|Mind Blast|Regurg*|Ice Break|Leaf*|Thunderbolt|Dark Orb">
  2015.                 <if Advanced='"ZodiacRing"!="0"'>
  2016.                     <equip when="midcast">
  2017.                         <rring>Zodiac Ring</rring>
  2018.                     </equip>
  2019.                 </if>
  2020.  
  2021.                 <if Advanced='"$TwilightCape"!="0"'>
  2022.                     <equip when="midcast">
  2023.                         <back>Twilight Cape</back>
  2024.                     </equip>
  2025.                 </if>
  2026.  
  2027.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  2028.                     <equip when="midcast">
  2029.                         <waist>$Obi-%SpellElement</waist>
  2030.                     </equip>
  2031.                 </if>
  2032.             </if>
  2033.         </if>
  2034.  
  2035.         <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  2036.             <if Advanced='"$Obi-%SpellElement"!="0"'>
  2037.                 <if Spell="*Whisker|*Grudge|Thermal*|Mind Blast|Regurg*|Ice Break|Leaf*|Thunderbolt|Dark Orb">
  2038.                     <equip when="midcast">
  2039.                         <waist>$Obi-%SpellElement</waist>
  2040.                     </equip>
  2041.  
  2042.                     <if Advanced='"$TwilightCape"!="0"'>
  2043.                         <equip when="midcast">
  2044.                             <back>Twilight Cape</back>
  2045.                         </equip>
  2046.                     </if>
  2047.                 </if>
  2048.             </if>
  2049.         </elseif>
  2050.     </include>
  2051.  
  2052.     <!-- Swapping in Obi/Zodiac Ring/Twilight Cape when using Dark Magic.
  2053.         Assumed to be imported in after check for skill="DarkMagic" has
  2054.         already been done. -->
  2055.     <include name="ObiRingCape-DarkMagic">
  2056.         <if Element="%DayElement">
  2057.             <if Spell="Drain*|Aspir*">
  2058.                 <if Advanced='"$TwilightCape"!="0"'>
  2059.                     <equip when="midcast">
  2060.                         <back>Twilight Cape</back>
  2061.                     </equip>
  2062.                 </if>
  2063.  
  2064.                 <if Advanced='"$Obi-%SpellElement"!="0"'>
  2065.                     <equip when="midcast">
  2066.                         <waist>$Obi-%SpellElement</waist>
  2067.                     </equip>
  2068.                 </if>
  2069.             </if>
  2070.         </if>
  2071.  
  2072.         <elseif mode="OR" element="%WeatherElement" BuffActive="$Storm-%SpellElement">
  2073.             <if Advanced='"$Obi-%SpellElement"!="0"'>
  2074.                 <if Spell="Drain*|Aspir*">
  2075.                     <equip when="midcast">
  2076.                         <waist>$Obi-%SpellElement</waist>
  2077.                     </equip>
  2078.  
  2079.                     <if Advanced='"$TwilightCape"!="0"'>
  2080.                         <equip when="midcast">
  2081.                             <back>Twilight Cape</back>
  2082.                         </equip>
  2083.                     </if>
  2084.                 </if>
  2085.             </if>
  2086.         </elseif>
  2087.     </include>
  2088.  
  2089.     <!-- Automatically generate notifications when buffs are about to wear off. -->
  2090.     <!-- MUST include RecastDurations in vars section. -->
  2091.     <include name="RecastWarnings">
  2092.         <if skill="EnhancingMagic">
  2093.             <if Spell="Haste|Refresh*|Phalanx*|Reprisal">
  2094.                 <var cmd="set Buff-Duration $%Spell-Duration" />
  2095.             </if>
  2096.             <elseif Spell="Enlight">
  2097.                 <var cmd="set Buff-Duration $Enlight-Duration" />
  2098.             </elseif>
  2099.             <elseif Spell="En*">
  2100.                 <var cmd="set Buff-Duration $Enspell-Duration" />
  2101.             </elseif>
  2102.             <elseif Spell="*Spikes">
  2103.                 <var cmd="set Buff-Duration $Spikes-Duration" />
  2104.             </elseif>
  2105.             <else>
  2106.                 <!-- Anything else we don't want to give warnings for. -->
  2107.                 <var cmd="set Buff-Duration 0" />
  2108.             </else>
  2109.  
  2110.             <if advanced='$Buff-Duration &gt; 0'>
  2111.                 <!-- Account for rdm stuff that extends durations -->
  2112.                 <if MainJob="Rdm">
  2113.                     <var cmd="setcalc BuffDurationMult 100 + ($EstoqueurCape*10) + ($EstoqueurFeet*10)" />
  2114.  
  2115.                     <if BuffActive="Composure">
  2116.                         <if SpellTargetType="SELF">
  2117.                             <var cmd="setcalc BuffDurationMult $BuffDurationMult * 3" />
  2118.                         </if>
  2119.                         <elseif SpellTargetType="PLAYER">
  2120.                             <var cmd="setcalc BuffDurationMult $BuffDurationMult + $EstoqueurSetBonus" />
  2121.                         </elseif>
  2122.                     </if>
  2123.  
  2124.                     <var cmd="setcalc Buff-Duration $Buff-Duration * $BuffDurationMult / 100" />
  2125.                 </if>
  2126.                 <elseif MainJob="Sch">
  2127.                     <if mode="OR" BuffActive="Perpetuance" advanced='"$PerpFlag"="Yes"'>
  2128.                         <!-- 2.5x duration for Perpetuance with AF3+2 hands. -->
  2129.                         <var cmd="setcalc BuffDurationMult (int)($BuffDurationMult * 2.5)" />
  2130.                     </if>
  2131.                 </elseif>
  2132.  
  2133.                 <!-- Determine when we want the warning message to happen. -->
  2134.                 <var cmd="setcalc Warn-Duration $Buff-Duration - $WarnTime" />
  2135.                 <command when="Aftercast">wait $Warn-Duration;input /echo ~~~~~~~~~~ [%spell] &lt;%SpellTargetName&gt; wearing off in $WarnTime sec. ~~~~~~~~~~</command>
  2136.             </if>
  2137.         </if>
  2138.         <elseif skill="EnfeeblingMagic|DivineMagic|BlueMagic|CorsairShot">
  2139.             <if Spell="Sleep*|Repose|Break|Sheep Song|Yawn|Soporific|Dream Flower|Light Shot">
  2140.                 <var cmd="inc SleepOrder" />
  2141.  
  2142.                 <var cmd="set Buff-Duration $%Spell-Duration" />
  2143.  
  2144.                 <var cmd="setcalc Warn-Duration $Buff-Duration - 30" />
  2145.                 <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] &lt;%SpellTargetName&gt; ($SleepOrder) wearing off in 30 sec.</command>
  2146.                 <var cmd="setcalc Warn-Duration $Buff-Duration - 10" />
  2147.                 <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] &lt;%SpellTargetName&gt; ($SleepOrder) wearing off in 10 sec.;spellcast var dec SleepOrder</command>
  2148.             </if>
  2149.         </elseif>
  2150.         <elseif skill="BardSong">
  2151.             <if Spell="*Lullaby*">
  2152.                 <var cmd="set Buff-Duration $%Spell-Duration" />
  2153.  
  2154.                 <var cmd="setcalc Warn-Duration $Buff-Duration - 10" />
  2155.                 <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] &lt;%SpellTargetName&gt; ($SleepOrder) wearing off in 10 sec.</command>
  2156.             </if>
  2157.         </elseif>
  2158.         <elseif type="Samba">
  2159.             <if MainJob="Dnc">
  2160.                 <var cmd="set Buff-Duration 120" />
  2161.             </if>
  2162.             <else>
  2163.                 <var cmd="set Buff-Duration 90" />
  2164.             </else>
  2165.  
  2166.             <var cmd="setcalc Warn-Duration $Buff-Duration - $WarnTime" />
  2167.             <command when="Aftercast">wait $Warn-Duration;input /echo [%spell] ~~~~~~~~~ Wearing off in $WarnTime sec.</command>
  2168.         </elseif>
  2169.     </include>
  2170.  
  2171.     <!-- Include for calculating expected cast time for a given spell, to use in
  2172.         determining which gear swaps are feasible. -->
  2173.     <include name="FastCastCalculations">
  2174.         <if CastTimeGT="1">
  2175.             <if skill="HealingMagic">
  2176.                 <if Spell="Cure*|Cura*">
  2177.                     <var cmd="set FastCastAmt $CureFastCast" />
  2178.                 </if>
  2179.                 <else>
  2180.                     <var cmd="set FastCastAmt $HealFastCast" />
  2181.                 </else>
  2182.             </if>
  2183.             <elseif skill="EnhancingMagic">
  2184.                 <var cmd="set FastCastAmt $EnhancingFastCast" />
  2185.             </elseif>
  2186.             <elseif skill="ElementalMagic">
  2187.                 <var cmd="set FastCastAmt $ElementalFastCast" />
  2188.  
  2189.                 <if MainJob="BLM">
  2190.                     <if MLvlGT="89">
  2191.                         <var cmd="setcalc FastCastAmt $FastCastAmt + 25" />
  2192.                     </if>
  2193.                     <else>
  2194.                         <var cmd="setcalc FastCastAmt $FastCastAmt + 15" />
  2195.                     </else>
  2196.                 </if>
  2197.             </elseif>
  2198.  
  2199.             <var cmd="setcalc FastCastAmt $FastCastAmt + $GeneralFastCast + $Staff-FastCastAmt-%SpellElement" />
  2200.  
  2201.             <if MainJob="RDM">
  2202.                 <var cmd="setcalc FastCastAmt $FastCastAmt + 30" />
  2203.             </if>
  2204.             <elseif SubJob="RDM">
  2205.                 <var cmd="setcalc FastCastAmt $FastCastAmt + 15" />
  2206.             </elseif>
  2207.  
  2208.             <if BuffActive="Light Arts|Addendum: White">
  2209.                 <if type="WhiteMagic">
  2210.                     <var cmd="setcalc FastCastAmt $FastCastAmt + ((100-$FastCastAmt)* 0.1)" />
  2211.                 </if>
  2212.                 <elseif type="BlackMagic">
  2213.                     <var cmd="setcalc FastCastAmt $FastCastAmt - ((100-$FastCastAmt)* 0.2)" />
  2214.                 </elseif>
  2215.             </if>
  2216.             <elseif BuffActive="Dark Arts|Addendum: Black">
  2217.                 <if type="BlackMagic">
  2218.                     <var cmd="setcalc FastCastAmt $FastCastAmt + ((100-$FastCastAmt)* 0.1)" />
  2219.                 </if>
  2220.                 <elseif type="WhiteMagic">
  2221.                     <var cmd="setcalc FastCastAmt $FastCastAmt - ((100-$FastCastAmt)* 0.2)" />
  2222.                 </elseif>
  2223.             </elseif>
  2224.            
  2225.             <if advanced='$FastCastAmt > 80'>
  2226.                 <var cmd="setcalc FastCastAmt 80" />
  2227.             </if>
  2228.  
  2229.             <var cmd="setcalc FCCastTime (%CastTime * (100-$FastCastAmt)) / 100" />
  2230.  
  2231.             <if advanced='$FCCastTime > 1'>
  2232.                 <var cmd="set FastCastMode Normal" />
  2233.             </if>
  2234.             <elseif advanced='$FCCastTime > 0.7'>
  2235.                 <var cmd="set FastCastMode Moderate" />
  2236.             </elseif>
  2237.             <else>
  2238.                 <var cmd="set FastCastMode Quick" />
  2239.             </else>
  2240.         </if>
  2241.         <else>
  2242.             <var cmd="set FastCastMode Quick" />
  2243.         </else>
  2244.     </include>
  2245.  
  2246.     <!-- Proc rules exclusive to blm for testing spell procs. -->
  2247.     <!-- Staff choice is already handled in Staffs include. -->
  2248.     <include name="TestProcRules">
  2249.         <!-- Turn on: //castingmode proc
  2250.             Turn off: //castingmode proc.off
  2251.             Set element: //firetrigger proc (or whichever element~trigger)
  2252.             Cast spell: //anyelementtrigger proc-t3
  2253.                         //anyelementtrigger proc-t4
  2254.                         //anyelementtrigger proc-ga3
  2255.                         //anyelementtrigger proc-AM
  2256.                         //anyelementtrigger proc-brd
  2257.         -->
  2258.              
  2259.         <if Spell="CastingMode" SpellTargetRaw="Proc*">
  2260.             <cancelspell />
  2261.  
  2262.             <if BuffActive="Visitant|Voidwatcher">
  2263.                 <if SpellTargetRaw="*.off|*:off">
  2264.                     <var cmd="set CastingMode Normal" />
  2265.                 </if>
  2266.                 <elseif SpellTargetRaw="*.toggle|*:toggle">
  2267.                     <if advanced='"$CastingMode"="Proc"'>
  2268.                         <var cmd="set CastingMode Normal" />
  2269.                     </if>
  2270.                     <else>
  2271.                         <var cmd="set CastingMode Proc" />
  2272.                     </else>
  2273.                 </elseif>
  2274.                 <else>
  2275.                     <var cmd="set CastingMode Proc" />
  2276.                 </else>
  2277.             </if>
  2278.             <else>
  2279.                 <var cmd="set CastingMode Normal" />
  2280.             </else>
  2281.  
  2282.             <addtochat>CastingMode=$CastingMode, ProcElement=$ProcElement</addtochat>
  2283.             <return />
  2284.         </if>
  2285.         <!-- In Abyssea, do spell conversion -->
  2286.         <elseif BuffActive="Visitant">
  2287.             <if type="Trigger" Skill="ElementalTrigger">
  2288.                 <if NotElement="None|Any|All" SpellTargetRaw="Proc">
  2289.                     <var cmd="set ProcElement %SpellElement" />
  2290.                     <addtochat>CastingMode=$CastingMode, ProcElement=$ProcElement</addtochat>
  2291.                     <cancelspell />
  2292.                     <return />
  2293.                 </if>
  2294.                 <elseif Spell="AnyElementTrigger" advanced='"$CastingMode"="Proc"'>
  2295.                     <var cmd="set ProcSpell None" />
  2296.  
  2297.                     <if SpellTargetRaw="Proc-T3">
  2298.                         <var cmd="set ProcSpell $T3-$ProcElement" />
  2299.                     </if>
  2300.                     <elseif SpellTargetRaw="Proc-T4">
  2301.                         <var cmd="set ProcSpell $T4-$ProcElement" />
  2302.                     </elseif>
  2303.                     <elseif SpellTargetRaw="Proc-Ga3">
  2304.                         <var cmd="set ProcSpell $T-G3-$ProcElement" />
  2305.                     </elseif>
  2306.                     <elseif SpellTargetRaw="Proc-AM">
  2307.                         <var cmd="set ProcSpell $T-AM-$ProcElement" />
  2308.                     </elseif>
  2309.                     <elseif SpellTargetRaw="Proc-Brd">
  2310.                         <var cmd="set ProcSpell $T-Brd-$ProcElement" />
  2311.                     </elseif>
  2312.                     <else>
  2313.                         <addtochat>Unknown Proc: [%SpellTargetRaw]</addtochat>
  2314.                     </else>
  2315.  
  2316.                     <if advanced='"$ProcSpell" != "None"'>
  2317.                         <changespell Spell="$ProcSpell" />
  2318.                         <changetarget target="&lt;t&gt;" />
  2319.                     </if>
  2320.                     <addtochat>Test Spell ($ProcSpell): %Spell &gt; %SpellTarget</addtochat>
  2321.                 </elseif>
  2322.             </if>
  2323.         </elseif>
  2324.     </include>
  2325.    
  2326.     <!-- Experimental code for a universal trigger to activate a job's 2HR. -->
  2327.     <include name="Use2HR">
  2328.         <if type="Trigger" Spell="ClassTrigger" SpellTargetRaw="2HR">
  2329.             <if MainJob="War">
  2330.                 <changespell spell="Mighty Strikes" />
  2331.                 <changetarget target="&lt;me&gt;" />
  2332.             </if>
  2333.             <elseif MainJob="Mnk">
  2334.             </elseif>
  2335.             <elseif MainJob="Whm">
  2336.             </elseif>
  2337.             <elseif MainJob="Blm">
  2338.             </elseif>
  2339.             <elseif MainJob="Rdm">
  2340.             </elseif>
  2341.             <elseif MainJob="Thf">
  2342.             </elseif>
  2343.             <elseif MainJob="Pld">
  2344.             </elseif>
  2345.             <elseif MainJob="Brd">
  2346.             </elseif>
  2347.             <elseif MainJob="Bst">
  2348.             </elseif>
  2349.             <elseif MainJob="Rng">
  2350.             </elseif>
  2351.             <elseif MainJob="Drk">
  2352.             </elseif>
  2353.             <elseif MainJob="Sam">
  2354.             </elseif>
  2355.             <elseif MainJob="Nin">
  2356.             </elseif>
  2357.             <elseif MainJob="Drg">
  2358.             </elseif>
  2359.             <elseif MainJob="Smn">
  2360.             </elseif>
  2361.             <elseif MainJob="Blu">
  2362.             </elseif>
  2363.             <elseif MainJob="Pup">
  2364.             </elseif>
  2365.             <elseif MainJob="Cor">
  2366.             </elseif>
  2367.             <elseif MainJob="Sch">
  2368.             </elseif>
  2369.             <elseif MainJob="Dnc">
  2370.             </elseif>
  2371.         </if>
  2372.     </include>
  2373.  
  2374.     <!-- Trigger to notify the user at a user-specified interval from the
  2375.         time the trigger is used.
  2376.         Use trigger77 for public /party notifications.
  2377.         Use trigger78 for private notifications that include the /tell chime.
  2378.  
  2379.         Syntax (for a 5 minute/300 second timer):
  2380.         /ma trigger77 300
  2381.     -->
  2382.     <include name="RespawnTimer">
  2383.         <if type="Trigger">
  2384.             <!-- Trigger 77 for /party notifications -->
  2385.             <if spell="Trigger77">
  2386.                 <!-- Validate input duration -->
  2387.                 <if advanced='Regex("%SpellTargetRaw", "^\d+$")'>
  2388.                     <!-- Basic warning at full duration -->
  2389.                     <addtochat color="6">~~~~ Starting public respawn timer: %SpellTargetRaw seconds.</addtochat>
  2390.                     <command>wait %SpellTargetRaw;input /p Respawn time &lt;call12&gt;</command>
  2391.  
  2392.                     <!-- Additional warning when one minute remaining -->
  2393.                     <var cmd="setcalc Respawn1Min %SpellTargetRaw - 60" />
  2394.                     <if advanced='$Respawn1Min &gt; 0'>
  2395.                         <command>wait $Respawn1Min;input /p One minute warning &lt;call14&gt;</command>
  2396.                     </if>
  2397.                 </if>
  2398.                 <else>
  2399.                     <addtochat>Invalid timer duration: %SpellTargetRaw</addtochat>
  2400.                 </else>
  2401.             </if>
  2402.             <!-- Trigger 78 for private notifications -->
  2403.             <elseif spell="Trigger78">
  2404.                 <!-- Validate input duration -->
  2405.                 <if advanced='Regex("%SpellTargetRaw", "^\d+$")'>
  2406.                     <!-- Basic warning at full duration -->
  2407.                     <addtochat color="6">~~~~ Starting private respawn timer: %SpellTargetRaw seconds.</addtochat>
  2408.                     <command>wait %SpellTargetRaw;input /ma Trigger80 0</command>
  2409.  
  2410.                     <!-- Additional warning when one minute remaining -->
  2411.                     <var cmd="setcalc Respawn1Min %SpellTargetRaw - 60" />
  2412.                     <if advanced='$Respawn1Min &gt; 0'>
  2413.                         <command>wait $Respawn1Min;input /ma Trigger80 60</command>
  2414.                     </if>
  2415.                 </if>
  2416.                 <else>
  2417.                     <addtochat>Invalid timer duration: %SpellTargetRaw</addtochat>
  2418.                 </else>
  2419.             </elseif>
  2420.             <!-- Custom notification code for /tell chime messages. -->
  2421.             <elseif spell="Trigger80">
  2422.                 <if SpellTargetRaw="0">
  2423.                     <addtochat color="12">~~~~ Respawn timer is up.</addtochat>
  2424.                 </if>
  2425.                 <else>
  2426.                     <addtochat color="12">~~~~ One minute warning for respawn timer.</addtochat>
  2427.                 </else>
  2428.             </elseif>
  2429.         </if>
  2430.     </include>
  2431.  
  2432. </includes>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement