Mojava's COR

Thanks to Aikar for a wonderful plugin and the other xml-contributors for snips and bits of code! Updated/optimized: 091013

The highlights:

  • AutoCanceling buffs (utsu, stoneskin, blink, sneak, etc)
  • Swaps in Dream Boots +1 when sneaking for longer duration
  • Updated to work with Spellcast 2.30

When melee subjob

  • swaps in melee TP-building gear when engaging (Joyeuse)
  • swaps in acc-gear for ranged attacks and reverts back to melee TP after firing if engaged
  • swaps in WS-gear and reverts back to melee TP if engaged

When mage subjob

  • no melee TP
  • keeps QD-gear on for minimal blinking
  • lowers Cure3 to Cure2 to Cure when low on MP
  • Typical use: Dynamis

Also uses variables for special gear like Obis, Elemental grips, Elemental staves, Commodore Tricorne and Commodore Frac. Change the ones you want to use from 0 to 1.

Good luck!

<?xml version="1.0" encoding="utf-8"?>
<!-- COR.XML by Mojava. Thanks to Aikar for a wonderful plugin. -->
<!-- REQUIRES spellcast 2.30+ -->
<!-- 091008: implemented changes suggested by Frost following Kneeru's inquiry. -->
<spellcast xmlns:xi="http://www.w3.org/2001/XInclude">
  <config
        RequireVersion="2.30"
        Debug="False"
        ShowSpellInfo="False"
        ShowGearSwaps="False"
        />
  <sets>
    <group name="COR" default="yes">
      <set name="TOWN">
        <ammo>Steel bullet</ammo>
        <head>Corsair's tricorne</head>
        <neck>Peacock amulet</neck>
        <lear>Hollow earring</lear>
        <rear>Brutal earring</rear>
        <body>Commodore frac</body>
        <hands>Crimson finger gauntlets</hands>
        <waist>Commodore belt</waist>
        <lring>Rajas ring</lring>
        <rring>Luzaf's ring</rring>
        <back>Amemet mantle +1</back>
        <legs>Denali kecks</legs>
        <feet>Hermes' sandals</feet>
      </set>
      <!-- RA: earrings handled in the rules-section -->
      <!-- due to subjob-dependent gear. -->
      <set name="RANGED">
        <ammo>Steel Bullet</ammo>
        <head>Corsair's tricorne</head>
        <neck>Peacock amulet</neck>
        <body>Corsair's frac</body>
        <hands>Crimson finger gauntlets</hands>
        <lring>Behemoth ring</lring>
        <rring>Behemoth ring</rring>
        <waist>Commodore belt</waist>
        <legs>Denali kecks</legs>
        <feet>Corsair's bottes</feet>
        <back>Amemet mantle +1</back>
      </set>
      <!-- Caps sword acc on Grt Colibri, switching in more STR -->
      <!-- This assumes Sushi + Hunter's roll -->
      <set name="TP">
        <main>Joyeuse</main>
        <head>Walahra turban</head>
        <neck>Peacock amulet</neck>
        <lear>Hollow earring</lear>
        <rear>Brutal earring</rear>
        <body>Commodore frac</body>
        <hands>Dusk gloves</hands>
        <lring>Rajas ring</lring>
        <rring>Flame ring</rring>
        <waist>Swift belt</waist>
        <legs>Denali kecks</legs>
        <feet>Denali gamashes</feet>
        <back>Forager's mantle</back>
      </set>
      <set name="SLUG" baseset="RANGED">
        <ammo>Steel bullet</ammo>
        <body>Commodore frac</body>
        <lring>Rajas ring</lring>
        <waist>Commodore belt</waist>
        <feet>Corsair's bottes</feet>
      </set>
      <set name="QD">
        <waist>Scouter's rope</waist>
        <lear>Moldavite earring</lear>
        <rear>Drone earring</rear>
        <lring>Garrulous ring</lring>
        <rring>Emerald ring</rring>
        <body>Mirke wardecors</body>
        <hands>Commodore gants</hands>
        <legs>Denali kecks</legs>
        <feet>Corsair's bottes</feet>
      </set>
      <set name="Resting">
        <main>Dark Staff</main>
      </set>
      <set name="COR-MAGE">
        <main>Earth Staff</main>
        <head>Corsair's tricorne</head>
        <lear>Moldavite earring</lear>
        <rear>Drone earring</rear>
        <body>Mirke wardecors</body>
        <hands>Commodore gants</hands>
        <lring>Garrulous ring</lring>
        <rring>Emerald ring</rring>
        <waist>Scouter's rope</waist>
        <legs>Denali kecks</legs>
        <feet>Hermes' sandals</feet>
      </set>
      <set name="HealingMagic" baseset="COR-MAGE">
        <main>Light staff</main>
        <head>Walahra Turban</head>
        <waist>Swift belt</waist>
      </set>
      <!-- Change the following depending on if you have the HQ or not -->
      <set name="DarkStaff"><main>Dark Staff</main></set>
      <set name="LightStaff"><main>Light Staff</main></set>
      <set name="ThunderStaff"><main>Thunder Staff</main></set>
      <set name="IceStaff"><main>Aquilo's Staff</main></set>
      <set name="FireStaff"><main>Fire Staff</main></set>
      <set name="WindStaff"><main>Wind Staff</main></set>
      <set name="WaterStaff"><main>Water Staff</main></set>
      <set name="EarthStaff"><main>Earth Staff</main></set>
    </group>
  </sets>
  <variables>
    <!-- Elemental Obi definitions. -->
    <var name = "IceObi">Hyorin Obi</var>
    <var name = "WindObi">Furin Obi</var>
    <var name = "EarthObi">Dorin Obi</var>
    <var name = "ThunderObi">Rairin Obi</var>
    <var name = "WaterObi">Suirin Obi</var>
    <var name = "FireObi">Karin Obi</var>
    <var name = "DarkObi">Anrin Obi</var>
    <var name = "LightObi">Korin Obi</var>
    <!-- Elemental Obi's, set to 1 for the ones you have. -->
    <var name = "DarkObiAvailable">0</var>
    <var name = "LightObiAvailable">0</var>
    <var name = "ThunderObiAvailable">0</var>
    <var name = "IceObiAvailable">0</var>
    <var name = "FireObiAvailable">0</var>
    <var name = "WindObiAvailable">0</var>
    <var name = "WaterObiAvailable">0</var>
    <var name = "EarthObiAvailable">0</var>
    <!-- Elemental Grips, set to 1 for the ones you have. -->
    <var name = "DarkGrip">0</var>
    <var name = "ThunderGrip">0</var>
    <var name = "IceGrip">0</var>
    <var name = "FireGrip">0</var>
    <var name = "WindGrip">0</var>
    <var name = "WaterGrip">0</var>
    <var name = "EarthGrip">0</var>
    <!-- Elemental Staffs, set to 1 for the ones you usually bring. -->
    <var name = "DarkStaff">1</var>
    <var name = "LightStaff">1</var>
    <var name = "ThunderStaff">0</var>
    <var name = "IceStaff">1</var>
    <var name = "FireStaff">0</var>
    <var name = "WindStaff">1</var>
    <var name = "WaterStaff">0</var>
    <var name = "EarthStaff">1</var>
    <!-- Special Equipment, set to 1 for the ones you have. -->
    <var name = "CommodoreTricorne">0</var>
    <var name = "CommodoreFrac">1</var>
  </variables>
  <rules>
    <if status="idle" SubJob="WHM|RDM|BLM|SMN|BLU|SCH" >
      <equip when="idle|aftercast" set="COR-MAGE" />
    </if>
    <elseif status="resting" SubJob="WHM|RDM|BLM|SMN|BLU|SCH" >
      <equip when="resting" set="Resting" />
    </elseif>
    <elseif status="idle|resting" >
      <equip when="idle|aftercast" set="TOWN" />
    </elseif>
    <elseif status="engaged">
      <equip when="engaged|aftercast" set="TP" />
    </elseif>
    <if CommandPrefix="/ra*">
      <if SubJob="WHM|RDM|BLM|SMN|BLU|SCH">
        <equip when="precast|midcast" set="RANGED">
          <main lock="yes">Trailer's Kukri</main>
          <lear lock="yes">Hollow earring</lear>
          <rear lock="yes">Drone earring</rear>
        </equip>
      </if>
      <elseif SubJob="RNG">
        <equip when="precast|midcast" set="RANGED">
          <lear lock="yes">Hollow earring</lear>
          <rear lock="yes">Beater's earring</rear>
          <!-- <waist lock="yes">Gun belt</waist> <== use this unless you have Commodore belt -->
        </equip>
      </elseif>
      <else>
        <equip when="precast|midcast" set="RANGED">
          <lear lock="yes">Hollow earring</lear>
          <rear lock="yes">Drone earring</rear>
        </equip>
      </else>
    </if>
    <elseif type="WhiteMagic">
      <equip when="precast" set="COR-MAGE"/>
      <if skill="HealingMagic">
        <equip when="precast" set="HealingMagic" />
        <if Spell="Cur*">
          <if Spell="Cure III" MPLT="46">
            <changespell Spell="Cure II" />
          </if>
          <elseif Spell="Cure II" MPLT="24">
            <changespell Spell="Cure" />
          </elseif>
        </if>
      </if>
      <if spell="Reraise">
        <if BuffActive="Reraise">
          <action type="midcastdelay" delay="3.0" />
          <action type="Command" when="midcast">cancel 113</action>
        </if>
      </if>
      <elseif spell="Stoneskin">
        <if BuffActive="Stoneskin">
          <action type="midcastdelay" delay="3.0" />
          <action type="Command" when="midcast">cancel 37</action>
        </if>
      </elseif>
      <elseif Spell="Sneak">
        <if advanced = '( "%Target" = "%PlayerName" ) OR "%TargetType" != "PLAYER"' >
          <addtochat color = "57">SelfSneak triggered -- using Dream boots +1 [TargetType: %TargetType]</addtochat>
          <changetarget Target="&lt;me&gt;" />
          <equip when="precast">
            <feet lock="yes">Dream boots +1</feet>
          </equip>
        </if>
        <if BuffActive="Sneak">
          <action type="midcastdelay" delay="2.0" />
          <action type="Command" when="midcast">cancel 71</action>
        </if>
      </elseif>
      <elseif Spell="Blink" >
        <if BuffActive="Blink" >
          <action type="Command" when="midcast">cancel 36</action>
        </if>
      </elseif>
    </elseif>
    <elseif type="Ninjutsu">
      <if spell="Utsusemi: Ni">
        <action type="midcastdelay" delay="1.0" />
      </if>
      <elseif spell="Utsusemi: Ichi">
        <action type="midcastdelay" delay="3.3" />
        <action type="Command" when="midcast">cancel 66</action>
      </elseif>
      <elseif Spell="Monomi*">
        <addtochat color = "57">Monomi triggered -- using Dream boots +1</addtochat>
        <equip when="precast">
          <feet lock="yes">Dream boots +1</feet>
        </equip>
        <if BuffActive="Sneak">
          <action type="midcastdelay" delay="3.3" />
          <action type="Command" when="midcast">cancel 71</action>
        </if>
      </elseif>
    </elseif>
    <!-- WEAPONSKILL -->
    <elseif Type="WeaponSkill">
      <if TPGT="99">
        <if notbuffactive="Flash">
          <if notbuffactive="Amnesia">
            <equip when="precast|midcast" set="SLUG" />
            <command when="aftercast" delay="6">input /lockon on</command>
          </if>
        </if>
        <else>
          <action type="AddToChat" color="39">WS blocked while Amnesia/Flash is in effect.</action>
          <action type="cancelspell"/>
        </else>
      </if>
    </elseif>
    <!-- QUICK DRAW -->
    <elseif type="CorsairShot" notbuffactive="Amnesia">
      <equip when="precast" set="QD" />
      <!-- Elemental Obi check. -->
      <if advanced='(("%SpellElement" = "%DayElement") OR ("%SpellElement" = "%WeatherElement")) AND "$%SpellElementObiAvailable" = "1"'>
        <equip when="precast|midcast">
          <waist lock="yes">$%SpellElementObi</waist>
        </equip>
        <addtochat color = "57">Using $%SpellElementObi.</addtochat>
      </if>
      <!-- Treating Elemental Shots and Elemental Staffs. -->
      <if SubJob="WHM|RDM|BLM|SMN|BLU|SCH">
        <if Advanced='"$%SpellElementStaff" == "1"'>
          <action type="equip" when="precast|midcast" set="%SpellElementStaff" />
          <addtochat color = "57">Using %SpellElement Staff.</addtochat>
        </if>
        <!-- Elemental Grip check. -->
        <if Advanced='"$%SpellElementGrip" == "1"'>
          <equip when="midcast">
            <sub lock="true">%SpellElement Grip</sub>
          </equip>
          <addtochat color = "57">Using %SpellElement Grip.</addtochat>
        </if>
        <if Spell = "Light Shot|Dark Shot">
          <equip when="precast|midcast">
            <lear lock="yes">Drone earring</lear>
          </equip>
        </if>
      </if>
      <!-- Don't waste TP when QD if melee Sub. -->
      <elseif SubJob="RNG|NIN|WAR|DNC|THF|SAM">
        <if Spell = "Light Shot|Dark Shot">
          <equip when="precast|midcast">
            <lear lock="yes">Drone earring</lear>
          </equip>
        </if>
      </elseif>
    </elseif>
    <!-- PHANTOM ROLL - Luzaf's handled in macros instead of here. -->
    <elseif advanced='( "%Spell" = "* Roll" ) AND ( "$CommodoreTricorne" == "1" )'>
      <addtochat color = "57">Using Commodore Tricorne.</addtochat>
      <equip when="precast">
        <head lock="yes">Commodore Tricorne</head>
      </equip>
    </elseif>
    <!-- RANDOM DEAL -->
    <elseif advanced='( "%Spell" = "Random Deal" ) AND ( "$CommodoreFrac" == "1" )'>
      <addtochat color = "57">Using Commodore Frac.</addtochat>
      <equip when="precast">
        <body lock="yes">Commodore Frac</body>
      </equip>
    </elseif>
    <!-- FOR DEBUGGING -->
    <!-- <else>
      <addtochat color = "57">COR.xml never triggered any action on this event: Skill="%Skill", Status="%status", Spell="%spell" and Type="%Type".</addtochat>
    </else> -->
  </rules>
</spellcast>
plugins/spellcast/userxml/cor/mojavas_cor.txt · Last modified: 2009/10/13 17:01 by mojava
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0