Narkoid's RDM (v2.3)

I have been playing around with the new version 2.3 and working on getting the Include feature to to work. Thought i'd post what i have working right now for rdm will be updating whm and blm soon. I didn't write everything in these some of it was copy and pasted from various sources.

include.xml <code xml> <?xml version=“1.0” encoding=“utf-8”?>

  <includes>
      <include name="ObiRules">
          <if advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'>
              <if     Element="Dark">
                  <equip when="midcast">
                      <waist lock="yes">Anrin Obi</waist>
                  </equip>
              </if>
              <elseif Element="Light">
                  <equip when="midcast">
                      <waist lock="yes">Korin Obi</waist>
                  </equip>
              </elseif>
              <elseif Element="Thunder">
                  <equip when="midcast">
                      <waist lock="yes">Rairin Obi</waist>
                  </equip>
              </elseif>
              <elseif Element="Ice">
                  <equip when="midcast">
                      <waist lock="yes">Hyorin Obi</waist>
                  </equip>
              </elseif>
              <elseif Element="Fire">
                  <equip when="midcast">
                      <waist lock="yes">Karin Obi</waist>
                  </equip>
              </elseif>
              <elseif Element="Wind">
                  <equip when="midcast">
                      <waist lock="yes">Furin Obi</waist>
                  </equip>
              </elseif>
              <elseif Element="Water">
                  <equip when="midcast">
                      <waist lock="yes">Suirin Obi</waist>
                  </equip>
              </elseif>
              <elseif Element="Earth">
                  <equip when="midcast">
                      <waist lock="yes">Dorin Obi</waist>
                  </equip>
              </elseif>
          </if>
      </include>
      <include name="CancelRules">
          <if Spell="Sneak|Monomi*|Spectral Jig" BuffActive="Sneak" advanced='"%SpellTargetName"="%PlayerName"'>
              <command when="midcast">cancel 71</command>
              <midcastdelay delay="2.3" />
          </if>
          <elseif Spell="Stoneskin" BuffActive="Stoneskin">
              <command when="midcast">cancel 37</command>
              <midcastdelay delay="5.9" />
          </elseif>
          <elseif Spell="Blink" BuffActive="Blink">
              <command when="midcast">cancel 36</command>
              <midcastdelay delay="5.2" />
          </elseif>
          <elseif spell="Utsusemi: Ichi">
              <midcastdelay delay="2" />
              <command when="midcast">cancel 66</command>
          </elseif>
      </include>
      <include name="SleepRules">
          <if advanced='"$SleepTimers"="1"'>
              <if Spell="Sleep II|Sleepga II">
                  <command when="midcast">input /p Casting %spell on %SpellTargetName Now!</command>
                  <command when = "aftercast">wait 45;input //addtochat 200 %spell (%SpellTargetName) - Wearing off in 45s</command>
                  <command when = "aftercast">wait 75;input //addtochat 11 %spell (%SpellTargetName) - Wearing off in 15s</command>
                  <command when = "aftercast">wait 85;input //addtochat 167 %spell (%SpellTargetName) - Wearing off in 5s</command>
              </if>
              <elseif Spell="Sleep|Sleepga">
                  <command when="midcast">input /p Casting %spell on %SpellTargetName Now!</command>
                  <command when = "aftercast">wait 45;input //addtochat 11 %spell (%SpellTargetName) - Wearing off in 15s</command>
                  <command when = "aftercast">wait 55;input //addtochat 167 %spell (%SpellTargetName) - Wearing off in 5s</command>
              </elseif>
              <if Spell="Repose">
                  <command when="midcast">input /p Casting %spell on %SpellTargetName Now!</command>
                  <command when = "aftercast">wait 41;input //addtochat 200 %spell (%SpellTargetName) - Wearing off in 45s</command>
                  <command when = "aftercast">wait 71;input //addtochat 11 %spell (%SpellTargetName) - Wearing off in 15s</command>
                  <command when = "aftercast">wait 81;input //addtochat 167 %spell (%SpellTargetName) - Wearing off in 5s</command>
              </if>
          </if>
      </include>
      <include name="AutoBuffRules">
          <if spell = "Stonega V" advanced = '"$Autocast"=="1"'>
              <if advanved='"%MainJob" = "RDM" AND "%MainJobLVL" > "49"'>
                  <if notbuffactive = "Composure">
                      <castdelay delay = "3" />
                      <command when = "Precast">input /raw /ja Composure &lt;me&gt;</command>
                  </if>
              </if>
              <if advanced='("%MainJob" = "WHM" AND "%MainJobLVL" > "39") OR ("%MainJob" = "RDM" AND "%MainJobLVL" > "47")'>
                  <if notbuffactive = "Haste">
                      <changespell spell = "haste" />
                      <changetarget Target = "&lt;me>" />
                  </if>
              </if>
              <if advanced ='"%MainJob" = "RDM" AND "%MainJobLVL" > "40"'>
              <if notbuffactive = "Refresh">
                 <changespell spell = "refresh" />
                 <changetarget Target = "&lt;me>" />
              </if>
           </if>
           <if advanced='("%MainJob" = "WHM" AND "%MainJobLVL" > "27") OR ("%SubJob" = "WHM" AND "%SubJobLVL" > "27") OR ("%MainJob" = "RDM" AND "%MainJobLVL" > "33") OR ("%SubJob" = "RDM" AND "%SubJobLVL" > "33")'>
              <if notbuffactive = "Stoneskin">
                 <changespell spell = "Stoneskin" />
                 <changetarget Target = "&lt;me>" />
              </if>
           </if>
           <elseif advanced='("%MainJob" = "RDM" AND "%MainJobLVL" > "32") OR ("%SubJob" = "RDM" AND "%SubJobLVL" > "32")'>
              <if notbuffactive = "Phalanx">
                 <changespell spell = "phalanx" />
                 <changetarget Target = "&lt;me>" />
              </if>
           </elseif>
              <if advanced='("%MainJob" = "WHM" AND "%MainJobLVL" > "24") OR ("%SubJob" = "WHM" AND "%SubJobLVL" > "24")'>
              <if notbuffactive = "Reraise">
                      <changespell spell = "reraise" />
                      <changetarget Target = "&lt;me>" />
                  </if>
              </if>
           <else>
              <command when = "aftercast">input //addtochat 167 MP=%MP HP=%HP TP=%TP</command>
              <action type="CancelSpell"/>
           </else>
          </if>
     </include>
     <include name="CureTierReductionRules">
        <if Spell="Cure*" advanced = '"$CureTierReduction"=="1"'>
           <if Spell="Cure V">
              <if mainjob="RDM">
                 <action type="ChangeSpell" Spell="Cure IV"/>
                 <action type="addtochat" color="56">[ERROR] RDM Dose Not Have Cure V DUMBASS! MP=%MP %MPP%</action>
              </if>
              <elseif Spell="Cure V" MPLT="135">
                 <action type="ChangeSpell" Spell="Cure III"/>
              </elseif>
           </if>
           <if Spell="Cure IV">
              <if mainjob="RDM" MPLT="88">
                 <action type="ChangeSpell" Spell="Cure III"/>
                 <action type="addtochat" color="56">[ERROR] Not enough MP To cast Cure IV MP=%MP %MPP%</action>
              </if>
              <if mainjob="WHM">
                 <action type="ChangeSpell" Spell="Cure V"/>
                 <action type="addtochat" color="56">[ERROR] Changing Spell to Cure V MP=%MP %MPP%</action>
              </if>
           </if>
           <if Spell="Cure III" MPLT="46">
              <action type="ChangeSpell" Spell="Cure II"/>
              <action type="addtochat" color="56">[ERROR] Not enough MP To cast Cure III MP=%MP %MPP%</action>
           </if>
           <if Spell="Cure II" MPLT="24">
              <action type="CancelSpell"/>
              <action type="addtochat" color="56">[ERROR] Not enough MP To cast Any Cure! MP=%MP %MPP%</action>
           </if>
        </if>
     </include>
     <include name="ConvertRules">
        <if spell="Convert">
           <if subjob="whm">
              <action type="castdelay" delay="1.2"/>
              <action type="command" when="precast">input /raw  /ja "Divine Seal" &lt;me&gt;</action>
              <action type="aftercastdelay" delay="0"/>
              <action type="command" when="aftercast">input /raw /ma "Cure IV" &lt;me&gt;</action>
           </if>
           <else>
              <action type="command" when="aftercast">input /raw /ma "Cure IV" &lt;me&gt;</action>
              <action type="aftercastdelay" delay="3"/>
              <action type="command" when="aftercast">input /raw /ma "Cure III" &lt;me&gt;</action>
           </else>
        </if>
     </include>
  </includes>< /code>

rdm.xml - most everything can be turned on or off with variables except elemental grips haven't gotten around to that yet. <code xml> <?xml version=“1.0” ?>

  <spellcast xmlns:xi="http://www.w3.org/2001/XInclude">
      <config
          Debug="true"
          ShowGearSwaps="false"
          ShowSpellInfo="false"
          QuickCommands="true"
          />
      <sets>
          <set name = "MiscCollectionGear">
              <main>Apollo's Staff</main>
              <main>Pluto's Staff</main>
              <main>Terra's Staff</main>
              <main>Neptune's Staff</main>
              <main>Auster's Staff</main>
              <main>Vulcan's Staff</main>
              <main>Aquilo's Staff</main>
              <main>Jupiter's Staff</main>
              <main>Diabolos's Pole</main>
              <sub>Light Grip</sub>
              <sub>Dark Grip</sub>
              <sub>Fire Grip</sub>
              <sub>Water Grip</sub>
              <sub>Earth Grip</sub>
              <sub>Wind Grip</sub>
              <sub>Ice Grip</sub>
              <sub>Thunder Grip</sub>
          </set>
          <group Name = "Standard">
              <set name = "Standard">
                  <head>Warlock's Chapeau</head>
                  <lear>Geist Earring</lear>
                  <rear>Morion Earring</rear>
                  <lring>Sapphire Ring</lring>
                  <rring>Aquamerine Ring</rring>
                  <legs>Errant Slops</legs>
                  <feet>Cobra Crackows</feet>
              <back>Rainbow Cape</back>
              </set>
              <set name = "Engaged"/>
              <set name = "WS"/>
              <set name = "WSSavage" baseset = "Mnd"/>
              <set name = "Eva" baseset = "Standard"/>
              <set name = "Resting" baseset = "Standard">
                  <lear>Antivenom Earring</lear>
                  <body>Errant Hpl.</body>
                  <waist>Hierarch Belt</waist>
                  <head>Cobra Hat</head>
              </set>
              <set name = "SneakInvis" baseset = "Fastcast"/>
              <set name = "Fastcast" baseset = "Standard">
                  <head>Warlock's Chapeau</head>
              </set>
              <set name = "Mnd" baseset = "Fastcast">
                  <head>Zenith Crown</head>
                  <body>Errant Hpl.</body>
                  <legs>Errant Slops</legs>
                  <feet>Errant Pigaches</feet>
                  <lring>Sapphire Ring</lring>
              </set>
              <set name = "Int" baseset = "Fastcast">
                  <head>Warlock's Chapeau</head>
                  <body>Errant Hpl.</body>
                  <waist>Penitent's Rope</waist>
                  <legs>Errant Slops</legs>
                  <feet>Cobra Crackows</feet>
                  <lring>Eremite's ring</lring>
                  <rring>Eremite's ring</rring>
              </set>
              <set name = "EnfeeblingMagic">
                  <body>Warlock's Tabard</body>
                  <head>Elite Beret</head>
              </set>
              <set name = "DarkMagic" baseset = "Int"/>
              <set name = "EnhancingMagic">
                  <legs>Warlock's Tights</legs>
                  <hands>Duelist's Gloves</hands>
              </set>
              <set name = "ElementalMagic" baseset = "Int">
                  <head>Warlock's Chapeau</head>
              </set>
              <set name = "HealingMagic" baseset = "Mnd">
                  <legs>Warlock's Tights</legs>
              </set>
              <set name = "DivineMagic" baseset = "Mnd">
                  <head>Elite Beret</head>
                  <rear>Knight's Earring</rear>
              </set>
              <set name = "EnfeeblingMagic-WhiteMagic" baseset = "Mnd|EnfeeblingMagic"/>
              <set name = "EnfeeblingMagic-BlackMagic" baseset = "Int|EnfeeblingMagic"/>
              <set name = "EnhancingMagic-WhiteMagic" baseset = "Mnd|EnhancingMagic"/>
              <set name = "EnhancingMagic-BlackMagic" baseset = "Int|EnhancingMagic"/>
          </group>
          <group
              name = "Mage"
              inherit = "Standard"
              default = "Yes">
              <set name = "Standard">
                  <main>Earth Staff</main>
                  <sub>Raptor Strap +1</sub>
                  <ammo>Fortune Egg</ammo>
                  <neck>Mohbwa Scarf +1</neck>
                  <rear>Astral Earring</rear>
                  <body>Warlock's Tabard</body>
                  <hands>Duelist's Gloves</hands>
                  <lring>Sapphire Ring</lring>
                  <rring>Aquamerine Ring</rring>
                  <back>Rainbow Cape</back>
                  <waist>Druid's Rope</waist>
                  <feet>Cobra Crackows</feet>
                  <legs>Errant Slops</legs>
              </set>
              <set name = "FastCast">
                  <main>$%SpellElement</main>
                  <sub>%SpellElement Grip</sub>
              </set>
              <set name = "Resting">
                  <main>Dark Staff</main>
              </set>
          </group>
          <group name = "Melee" inherit = "Standard">
              <set name = "Standard" load = "no">
                  <main>$Main</main>
                  <sub>$Sub</sub>
                  <body>Warlock's Tabard</body>
                  <feet>Cobra Crackows</feet>
                  <legs>cobra Trews</legs>
              <back>Rainbow Cape</back>
              </set>
              <set name = "Engaged" BaseSet = "Standard" load = "no">
                  <head>Walahra Turban</head>
                  <body>Scorpion Harness</body>
                  <feet>Cobra Crackows</feet>
                  <legs>cobra Trews</legs>
                  <back>Amemet Mantle</back>
              </set>
          </group>
          <group name = "Assault" inherit = "Standard">
              <set name = "Standard" load = "no">
                  <main>$Main</main>
                  <sub>$Sub</sub>
                  <rear>Knight's Earring</rear>
              </set>
              <Set name = "Engaged" Baseset = "Standard"/>
          </group>
      </sets>
      <variables clear = "Yes">
          <var name = "Default" nooverwrite = "true">Standard</var>
          <var name = "Set" nooverwrite = "true">Standard</var>
          <var name = "Light">Light Staff</var>
          <var name = "Dark">Dark Staff</var>
          <var name = "Earth">Earth Staff</var>
          <var name = "Water">Water Staff</var>
          <var name = "Wind">Wind Staff</var>
          <var name = "Fire">Fire Staff</var>
          <var name = "Ice">Aquilo's Staff</var>
          <var name = "Thunder">Thunder Staff</var>
          <var name = "EnIce">Enblizzard</var>
          <var name = "EnFire">Enfire</var>
          <var name = "EnWind">Enaero</var>
          <var name = "EnEarth">Enstone</var>
          <var name = "EnThunder">Enthunder</var>
          <var name = "EnWater">Enwater</var>
          <var name = "Main" nooverwrite = "true">Martial Anelace</var>
          <var name = "Sub" nooverwrite = "true">Genbu's Shield</var>
          <var name = "AutoEn" nooverwrite = "true">1</var>
          <var name = "Assault" nooverwrite = "true">0</var>
          <var name = "Autocast">1</var>
          <var name = "CureTierReduction">1</var>
          <var name="DarkObi">0</var>
          <var name="LightObi">0</var>
          <var name="ThunderObi">0</var>
          <var name="IceObi">0</var>
          <var name="FireObi">0</var>
          <var name="WindObi">0</var>
          <var name="WaterObi">0</var>
          <var name="EarthObi">0</var>
      </variables>
      <rules>
          <if status = "Dead">
              <cancelspell />
              <return />
          </if>
          <if equipMain = "Martial Anelace|Joyeuse" notGroup = "melee">
              <if Advanced = '"Assault"="1"'>
                  <command>sc group assault</command>
              </if>
              <else>
                  <command>sc group melee</command>
              </else>
              <cancelspell />
              <equip When = "MidCast" Set = "$Set" />
              <command>input /ma %Spell %SpellTarget</command>
              <return />
          </if>
          <if equipMain = "* Staff" notGroup = "mage">
              <command>sc group mage</command>
              <cancelspell />
              <equip
                  When = "MidCast"
                  Set = "$Set" />
              <command>input /ma %Spell %SpellTarget</command>
              <return />
          </if>
          <if spell = "autoset">
              <if status = "resting">
                  <var cmd = "set Set Resting" />
                  <equip
                      when = "resting"
                      set = "$Set" />
              </if>
              <elseif status = "idle">
                  <var cmd = "set Set $Default" />
                  <equip
                      when = "idle"
                      set = "$Set" />
              </elseif>
              <elseif status = "engaged">
                  <var cmd = "set Set engaged" />
                  <equip
                      when = "engaged"
                      set = "$Set" />
              </elseif>
          </if>
          <if skill = "DivineMagic|DarkMagic|ElementalMagic|HealingMagic|EnhancingMagic|EnfeeblingMagic">
              <equip
                  When = "Precast"
                  Set = "Fastcast" />
          </if>
          <if skill = "EnhancingMagic|EnfeeblingMagic">
              <if
                  notbuffactive = "Composure"
                  skill = "EnhancingMagic"
                  SpellTargetName = "%PlayerName">
                  <castdelay delay = "3" />
                  <command when = "Precast">input /raw /ja Composure &lt;me&gt;</command>
              </if>
              <if Spell = "*Spikes">
                  <equip
                      When = "midcast"
                      Set = "Spikes" />
              </if>
              <else>
                  <equip
                      When = "midcast"
                      Set = "%Skill-%Type" />
              </else>
          </if>
          <elseif skill = "DivineMagic|DarkMagic|ElementalMagic|HealingMagic">
              <equip
                  When = "midcast"
                  Set = "%Skill" />
              <if spell = "Drain*|Aspir" Area = "Dynamis*">
                  <equip when = "midcast">
                      <main>Diabolos's Pole</main>
                  </equip>
              </if>
              <if spell = "Drain*|Aspir" Area = "Dynamis*">
                  <equip when = "midcast">
                      <main>Diabolos's Pole</main>
                  </equip>
              </if>
              <elseif advanced = '"%Weather"="%WeatherElement" and  "%Spell"="Aspir|Drain*"'>
                  <equip when = "midcast">
                      <main>Diabolos's Pole</main>
                  </equip>
              </elseif>
          </elseif>
          <if Spell = "Savage Blade">
              <if TargetDistanceGT = "4">
                  <cancelspell />
                  <return />
              </if>
              <equip
                  when = "Precast"
                  Set = "WSSavage" />
              <castdelay delay = "0.2" />
          </if>
          <if spell = "Phalanx II" SpellTargetName = "%PlayerName">
              <changespell Spell = "Phalanx" />
          </if>
          <if spell = "Sneak">
              <equip
                  when = "Precast"
                  Set = "SneakInvis" />
          </if>
          <if spell = "Enthunder|Enaero|Enfire|Enblizzard|Enwater|Enstone" Advanced = '"$AutoEn"="1"'>
              <if Weather = "*2" NotWeather = "None|Light*|Dark*">
                  <changespell Spell = "$En%WeatherElement" />
              </if>
              <elseif NotDay = "Light*|Dark*">
                  <changespell Spell = "$En%DayElement" />
              </elseif>
          </if>
          <if spell = "Enthunder II|Enaero II|Enfire II|Enblizzard II|Enwater II|Enstone II" Advanced = '"$AutoEn"="1"'>
              <if Weather = "*2" NotWeather = "None|Light*|Dark*">
                  <changespell Spell = "$En%WeatherElement II" />
              </if>
              <elseif NotDay = "Light*|Dark*">
                  <changespell Spell = "$En%DayElement II" />
              </elseif>
          </if>
          <if spell = "stun">
              <command when = "midcast">input /p xFDx02x02x1Bx5BxFD >> &lt;t&gt; >> xFDx02x02x15x0ExFD</command>
              </if>
              <xi:include href="include.xml" xpointer="/includes/include[@name='ConvertRules']/*" />
              <xi:include href="include.xml" xpointer="/includes/include[@name='ObiRules']/*" />
              <xi:include href="include.xml" xpointer="/includes/include[@name='SleepRules']/*" />
              <xi:include href="include.xml" xpointer="/includes/include[@name='AutoBuffRules']/*" />
              <xi:include href="include.xml" xpointer="/includes/include[@name='CancelRules']/*" />
              <xi:include href="include.xml" xpointer="/includes/include[@name='CureTierReductionRules']/*" />
              <elseif spell="Stoneskin">
                  <equip when="precast" set= "Stoneskin" />
                  <equip when="aftercast" set= "Standard" />
              </elseif>
              <equip
                  When = "Aftercast"
                  Set = "$Set" />
          </rules>
      </spellcast>< /code>

Addtochat is needed for all the sleep timers to work.

and for the autobuff to work you need the following in you autoexec xml <code xml> <register event = ”(regex)(losebuff_(haste|refresh|stoneskin|reraise|phalanx))(/regex)”>input /ma “Stonega V” &lt;me&gt;</register>< /code>

plugins/spellcast/userxml/blm/narkoids_rdm.txt · Last modified: 2009/08/08 14:00 (external edit)
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