Thursday, July 30, 2009

Spellcast Lesson 3, Dressing for the Occasion


When it comes to standing toe to toe with a monster, melee jobs may have a lot of setups in how they engage their enemy. Are they tanking? Soloing with an evasion setup? Or straight up bringing the pain?

This is where variables can play a part. So far, you're almost a master at setting up gear sets. You've dabbled in some rules. And now it's time to get wet in a hot tub of variables.

Let's use ninja for this example. There's a lot of gear sets a ninja can utilize. Elemental wheel, haste, accuracy, damage dealer, evasion, tanking, enmity, etc. But let's focus on when you're engaged to the enemy. You may be tanking exp/merit mobs, fighting/soloing an NM with an evasion setup or acting as a damage dealer where haste and/or accuracy is key.

Rather than manually changing to a particular gear set when you engage an enemy, we can use variables to predefine which set to use. Let's look at the xml file below.

<?xml version="1.0"?>
<!DOCTYPE spellcast PUBLIC "spellcast" "spellcast.dtd">
<spellcast>
  <config debug="false" requireversion="2.17"/>
  <sets>
    <group name="Ninja|NIN" default="yes">

        <!-- Idle gear, Not Engaged, Not Casting -->
        <set name="idle">
          <head>Goblin coif</head>
          <body>Haubergeon</body>
          <hands>Enkidu's mittens</hands>
          <back>Amemet Mantle +1</back>
          <waist>Warwolf Belt</waist>
          <legs>Byakko's Haidate</legs>
          <feet>Ninja Kyahan</feet>
        </set>

        <!-- Melee Base Set -->
        <set name="melee">
          <head>Walahra turban</head>
          <neck>Spectacles</neck>
          <lear>Suppanomimi</lear>
          <rear>Minuet earring</rear>
          <body>Ninja chainmail</body>
          <hands>Enkidu's Mittens</hands>
          <lring>Blood ring</lring>
          <rring>Rajas ring</rring>
          <back>Amemet Mantle +1</back>
          <waist>Life Belt</waist>
          <legs>Byakko's Haidate</legs>
          <feet>Nobushi Kyahan</feet>
        </set>

        <!-- Accuracy Melee Gear -->
        <set name="acc" baseset="melee">
          <head>Optical Hat</head>
          <body>Haubergeon</body>
        </set>

        <!-- Evasion Melee Gear -->
        <set name="evasion" baseset="melee">
          <head>Optical Hat</head>
          <neck>Evasion torque</neck>
          <lear>Dodge earring</lear>
          <rear>Dodge earring</rear>
          <body>Scorpion harness</body>
          <hands>Rasetsu tekko</hands>
          <feet>Arhat's sune-ate +1</feet>
        </set>

        <!-- Haste Melee Gear -->
        <set name="haste" baseset="melee">
          <hands>Dusk gloves</hands>
          <feet>Fuma sune-ate</feet>
        </set>

        <!-- Enmity Melee Gear -->
        <set name="hate" baseset="melee">
          <lear>Eris' earring</lear>
          <rear>Eris' earring</rear>
          <body>Arhat's gi</body>
          <hands>Yasha tekko</hands>
          <waist>Warwolf Belt</waist>
          <feet>Arhat's Sune-ate +1</feet>
        </set>

    </group>
  </sets>

  <variables>
    <!-- Engaged Melee Gear -->
    <var name="meleeset">melee</var>
  </variables>

  <rules>
    <!-- Autoset and Gear Changes -->
    <action when="idle"    type="equip" set="idle"/>
    <action when="engaged" type="equip" set="$meleeset"/>
  </rules>

</spellcast>


You will see all the gear sets set up as usual. However, take a look at the rules section. See "$meleeset" that is used for the rule on engaging an enemy? There isn't actually a gear set called "$meleeset". That is a variable! Now look in the variables section. This is where you declare and set up the default value of your variable(s). You will see that "melee" is the current value of the variable. This means that each time you engage a target, it will use the "melee" gear set.

With the nature of variables, this value can be changed at anytime. If you change the variable to "hate", you will now change into your enmity set up each time you engage an enemy. You can do this by setting up a macro or manually typing out the following: /sc var set meleeset hate

To change it to your evasion set up:
/sc var set meleeset evasion

To change it to your accuracy set up:
/sc var set meleeset acc

You get the idea now. This is just a basic use of variables and will hopefully give you an idea of how to build on it for use with more advanced rules and situations.

No comments:

Post a Comment