Features:
- Luzaf’s Ring controls (in-game macro dependent)
- TP Lock variable for staff swaps (Quick Draw)
- ChangeSpell to Double-Up if current roll is already active – eliminates need for macro
- Unobtrusive lucky number reminder in AddToChat
- Simple logic for pulls, barrage, or normal ranged attacks
- Elemental grip and obi support
Open Unformatted Code In New Window
<?xml version="1.0"?>
<Spellcast xmlns:xi="http://www.w3.org/2001/XInclude">
<config
Debug="true"
/>
<variables>
<!-- Luzaf Ring activation -->
<var name="Ring">0</var>
<!-- What % TP should prevent elemental staff swap for Quick Draw -->
<var name="TPLock">25</var>
<var name="FireStaff">Vulcan's Staff</var>
<var name="IceStaff">Aquilo's Staff</var>
<var name="WindStaff">Auster's Staff</var>
<var name="EarthStaff">Terra's Staff</var>
<var name="ThunderStaff">Jupiter's Staff</var>
<var name="WaterStaff">Neptune's Staff</var>
<var name="LightStaff">Apollo's Staff</var>
<var name="DarkStaff">Pluto's Staff</var>
<!-- Obis: "1" if have, "0" if don't have -->
<var name="DarkObi">1</var>
<var name="LightObi">1</var>
<var name="ThunderObi">1</var>
<var name="IceObi">1</var>
<var name="FireObi">0</var>
<var name="WindObi">1</var>
<var name="WaterObi">0</var>
<var name="EarthObi">0</var>
<!-- Elemental Grips: "1" if have, "0" if don't have -->
<var name="LightGrip">1</var>
<var name="DarkGrip">1</var>
<var name="ThunderGrip">0</var>
<var name="IceGrip">1</var>
<var name="FireGrip">0</var>
<var name="WindGrip">1</var>
<var name="WaterGrip">0</var>
<var name="EarthGrip">1</var>
</variables>
<sets>
<group name="COR" default="yes">
<set name="Idle">
<head>Commodore Tricorne</head>
<neck>Faith Torque</neck>
<lear>Novio Earring</lear>
<rear>Ethereal Earring</rear>
<body>Denali Jacket</body>
<hands>Crimson Fng. Gnt.</hands>
<lring>Sniper's Ring +1</lring>
<rring>Blood Ring</rring>
<back>Cuchulain's Mantle</back>
<legs>Crimson Cuisses</legs>
<feet>Cor. Bottes +1</feet>
</set>
<set name="melee">
<head>Walahra Turban</head>
<neck>Peacock Charm</neck>
<lear>Brutal Earring</lear>
<rear>Ethereal Earring</rear>
<body>Enkidu's Harness</body>
<hands>Aurore Gloves</hands>
<lring>Sniper's Ring +1</lring>
<rring>Blood Ring</rring>
<back>Cuchulain's Mantle</back>
<waist>Swift Belt</waist>
<legs>Aurore Brais</legs>
<feet>Aurore Gaiters</feet>
</set>
<set name="RATP" BaseSet="melee">
<head>Zha'Go's Barbut</head>
<neck>Faith Torque</neck>
<lear>Vision earring</lear>
<body>Denali Jacket</body>
<hands>Crimson Fng. Gnt.</hands>
<back>Amemet Mantle +1</back>
<waist>Buccaneer's Belt</waist>
<feet>Cor. Bottes +1</feet>
</set>
<set name="Slug" BaseSet="RATP">
<ammo>Steel Bullet</ammo>
<head>Zha'Go's Barbut</head>
<lear>Triumph Earring</lear>
<rear>Triumph Earring</rear>
<lring>Behemoth Ring +1</lring>
<rring>Behemoth Ring +1</rring>
<legs>Comm. Culottes</legs>
</set>
<set name="QD" BaseSet="RATP">
<ammo>Steel Bullet</ammo>
<head>Cor. Tricorne +1</head>
<neck>Uggalepih Pendant</neck>
<lear>Novio Earring</lear>
<rear>Moldavite Earring</rear>
<hands>Aurore Gloves</hands>
<lring>Insect Ring</lring>
<rring>Omega Ring</rring>
<waist>Scouter's Rope</waist>
<legs>Comm. Culottes</legs>
<back>Commander's Cape</back>
</set>
<set name="QDdl" BaseSet="QD">
<rear>Sapphire Earring</rear>
<feet>Denali Gamashes</feet>
</set>
<set name="MPSet">
<main>Apollo's Staff</main>
<sub>Light Grip</sub>
<head>Walahra Turban</head>
<neck>Beguiling Collar</neck>
<lear>Loquac. Earring</lear>
<rear>Antivenom Earring</rear>
<body>Commodore Frac</body>
<hands>Crimson Fng. Gnt.</hands>
<lring>Tamas Ring</lring>
<rring>Star Ring</rring>
<back>Merciful Cape</back>
<legs>Crimson Cuisses</legs>
<feet>Cor. Bottes +1</feet>
</set>
</group>
</sets>
<rules>
<if Spell="autoset">
<if MLVLGT="71">
<equip when="idle" set="Idle" />
<equip when="engaged" set="melee" />
</if>
<if SubJob="WHM">
<equip when="idle" set="MPSet" />
</if>
</if>
<if SubJob="WHM">
<equip when="aftercast" set="MPSet" />
</if>
<else>
<if Status="engaged" MLVLGT="71">
<equip when="aftercast" set="melee" />
</if>
<else>
<equip when="aftercast" set="Idle" />
</else>
</else>
<if Type="CorsairRoll">
<!-- If I press a roll macro and that roll is already active, do Double-Up
instead - removes need for "Double-Up" macro -->
<if BuffActive="%Spell">
<changeSpell Spell="Double-Up" />
</if>
<if MLVLGT="39">
<if MLVLGT="74">
<equip when="precast">
<head>Commodore Tricorne</head>
</equip>
</if>
<!-- Always use Luzaf's Ring for XP/Run Fast/Regen rolls -->
<if Spell="Corsair's Roll|Bolter's Roll|Dancer's Roll">
<equip when="precast">
<rring>Luzaf's Ring</rring>
</equip>
</if>
<else>
<!-- Depending on which macro palette I'm on, the macro will specify
sc var set Ring "1" or sc var set Ring "0"; 1 means use Luzaf's Ring
for wide effect, 0 means leave it off for a more focused effect -->
<if advanced='$Ring == 1'>
<equip when="precast">
<rring>Luzaf's Ring</rring>
</equip>
</if>
<else>
<if SubJob="WHM">
<equip>
<rring>Star Ring</rring>
</equip>
</if>
<else>
<equip>
<rring>Blood Ring</rring>
</equip>
</else>
</else>
</else>
</if>
<!-- Requires AddToChat plugin, available here:
http://windower.net/plugins/AddToChat.dll -->
<if Spell="Magus's Roll|Choral Roll|Samurai Roll|Scholar's Roll|Caster's Roll">
<addtochat color="121">------------------- Lucky: 2 -------------------</addtochat>
</if>
<elseif Spell="Healer's Roll|Monk's Roll|Drachen Roll|Gallant's Roll|Dancer's Roll|Bolter's Roll">
<addtochat color="121">------------------- Lucky: 3 -------------------</addtochat>
</elseif>
<elseif Spell="Ninja Roll|Hunter's Roll|Chaos Roll|Puppet Roll|Beast Roll|Warlock's Roll">
<addtochat color="121">------------------- Lucky: 4 -------------------</addtochat>
</elseif>
<elseif Spell="Corsair's Roll|Evoker's Roll|Rogue's Roll|Fighter's Roll|Wizard's Roll">
<addtochat color="121">------------------- Lucky: 5 -------------------</addtochat>
</elseif>
<!-- Miniscule delay to ensure gear swaps -->
<castdelay delay="0.2" />
</if>
<elseif Spell="Ranged" SpellTargetType="MONSTER|NPC">
<!-- If target is at 100% health and there are more than 3 people in the
party, a ranged attack is treated as a pull and inserts a /p macro (and cheap
ammo!) -->
<if SpellTargetHPPGT="99" advanced="%PartyCount > 3">
<equip when="precast">
<ammo>Bullet</ammo>
</equip>
<command>input /p [: <t> :] <scall14></command>
</if>
<!-- If Barrage is active, switch to Corsair Bullet -->
<elseif BuffActive="Barrage">
<equip when="precast">
<ammo>Corsair Bullet</ammo>
</equip>
</elseif>
<!-- If not pulling, and not using Barrage, use standard damage bullets -->
<else>
<equip when="precast">
<ammo>Steel Bullet</ammo>
</equip>
</else>
<equip when="precast" set="RATP" />
<if SubJob="RNG">
<equip when="precast">
<rear>Beater's Earring</rear>
<waist>Gun Belt</waist>
</equip>
</if>
<else>
<equip when="precast">
<rear>Drone Earring</rear>
</equip>
</else>
<!-- Guns take a whlie to shoot and I find standard aftercast changes me to
idle before the shot goes off; this makes sure I'm doing the shot in the
right gear -->
<aftercastdelay delay="4" />
</elseif>
<elseif Type="CorsairShot">
<!-- If using Corsair Shot and not engaged, with TP under specified amount,
switch to elemental staff and grip if applicable (see variables) -->
<if notStatus="engaged" TPLT="$TPLock">
<equip when="precast">
<main>$%SpellElementStaff</main>
</equip>
<if advanced='"$%SpellElementGrip" == "1"'>
<equip when="precast">
<sub lock="true">%SpellElement Grip</sub>
</equip>
</if>
</if>
<if Spell="Light Shot|Dark Shot">
<equip when="precast" set="QDdl" />
</if>
<else>
<equip when="precast" set="QD" />
<if advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'>
<if Element="Thunder">
<equip when="precast">
<waist lock="yes">Rairin Obi</waist>
</equip>
</if>
<elseif Element="Ice">
<equip when="precast">
<waist lock="yes">Hyorin Obi</waist>
</equip>
</elseif>
<elseif Element="Fire">
<equip when="precast">
<waist lock="yes">Karin Obi</waist>
</equip>
</elseif>
<elseif Element="Wind">
<equip when="precast">
<waist lock="yes">Furin Obi</waist>
</equip>
</elseif>
<elseif Element="Water">
<equip when="precast">
<waist lock="yes">Suirin Obi</waist>
</equip>
</elseif>
<elseif Element="Earth">
<equip when="precast">
<waist lock="yes">Dorin Obi</waist>
</equip>
</elseif>
</if>
</else>
</elseif>
<elseif Type="Weaponskill">
<equip when="precast" set="Slug" />
<if SubJob="RNG">
<equip when="precast">
<rear>Beater's Earring</rear>
<waist>Gun Belt</waist>
</equip>
</if>
<else>
<equip when="precast">
<rear>Drone Earring</rear>
<waist>Buccaneer's Belt</waist>
</equip>
</else>
<if Spell="Leaden Salute">
<equip when="precast">
<neck>Soil Gorget</neck>
</equip>
</if>
<elseif Spell="Detonator">
<equip when="precast">
<neck>Flame Gorget</neck>
</equip>
</elseif>
<elseif Spell="Slug Shot">
<equip when="precast">
<neck>Breeze Gorget</neck>
</equip>
</elseif>
<else>
<equip when="precast">
<neck>Faith Torque</neck>
</equip>
</else>
<!-- Miniscule delay to ensure gear swaps -->
<castdelay delay="0.2" />
</elseif>
</rules>
</Spellcast>