Fiarlia's RDM XML; Updated 11/7/2008

Created by Fiarlia. Credit goes to ddaydj for ideas on how to use Variables better, as well as setting up this XML for others to easily plug in their own info and keeping the rules unchanged for the most part. Credit to Azazael, Souleman and Starhawk for the ideas behind many of the rules. Thanks to zippo_zx for bringing to my attention that certain parts weren't working as intended and a bit of coding as well.

This XML is mainly meant for myself and my friend Madness, however I'm going to attempt to make this usable by any RDM. I'm trying to code to where you'll only have to enter a little bit of information so this should be pretty easy. Much of the explaining is being intended for someone who has absolutely no idea whatsoever about how to code spellcast themselves, let alone what various parts of it do. So I apologize if I sound a bit condescending at times.

Let me know if you have any questions.

A few things to keep in mind:

In the variables and config section:

Yes = True
No = False

Any chat that spellcast adds to your screen aside from during Chainspell, Sleep and Stoneskin cannot be seen by Square Enix. The chat added during the spells I just mentioned are added as echos.

Anything you have to change I will give information as to what you should be putting in. I'm going to leave my own gear and variables and MP amounts in here so you have something to look at and use as a guide while filling it out.Currently I don't have spellcast changing into melee weapons, as I like to carry many with me and switch between them for various or no reason at all. Any time you want to melee, you must manually equip any pieces of equipment you want into the MAIN, SUB, and RANGE slots. This includes shields.When filling out your gear sets, look and see if there is a case where it says –BaseSet=“whatever”– . This means that the set you are filling out takes any slots not filled out from the set identified as a BaseSet. Always trace back through the BaseSets and see if you have any duplicating pieces of gear and remove the line from the newest set. For example: Let's say you use an Optical Hat in your “Engaged” set. You'll see I also have a set called “Evasion”. You'd think to normally put the Optical Hat in the Evasion set as well. However, the set named Evasion has BaseSet=“Engaged” in it. If you have no head slot specified in the Evasion set, it will automatically pull it from the Engaged set, so there's no reason to enter it.KNOWN ISSUE: Grips can only be equipped when you have a staff in your main. If you ever use a weapon for casting that isn't a staff, Seveneyes for me, you will get an error message in-game telling you that you can't equip a grip. I haven't found a way around this for every case yet.

NOTE: This XML requires a few things in order to make the most use of it. Namely, the plugins Autoexec and a few in-game macros. Don't worry though, I'll explain why and show you the proper configuration for each of these. :)

This XML is able to cast the best Enspell depending on the weather/day, giving priority to which condition gives the highest bonus. However, it does not change any of the Enspells you cast themselves. You must use a DUMMY spell. A spell that technically exists, but players can not use. The spell I use in the rules is “Comet”. Provided the conditions are met, casting Comet on yourself will change to the proper enspell. So, in-game make a macro that has:

/ma Comet <me>

Next up are macros to edit variables. Three particular variables exist in this xml; “ResistRate”, “Tanking” and “Kiting”. These are used to help you spellcast equip whichever set you currently need based on factors that can easily change. ResistRate for example, can be set to 0, 1 or 2. 0 means you're using pretty much no skill+ gear and going all out on MND, INT and MAB (for elemental magic). 1 would be when you have a few resist issues, and 2 is when you get resisted a lot. Spellcast can't detect your resist rate, so you need to set it with a macro. It is defaulted at 0. You'll need three in-game macros for resistrate:

//sc var set ResistRate 0
//sc var set ResistRate 1
//sc var set ResistRate 2

Next is Tanking. setting Tanking at 0 (default) gives you normal melee gear, such as accuracy, attack and so on, for when you're not tanking or are tanking but don't need to worry about mob difficulty. Setting it to 1 is when you need the evasion in order to survive, even if youre not tanking. The in-game macros for this are:

//sc var set Tanking 0
//sc var set Tanking 1

Last macro set you'll need is for Kiting. Having kiting at 0 (default) does nothing special. Setting it to 1 will make your standard idle and aftercast sets equip evasion, damage reduction and so on. The in-game macros for this are:

//sc var set Kiting 0
//sc var set Kiting 1

Next are the plugins section. First off, you'll need Cancel to utilize this properly. Cancel requires no configuration at all, but is an actively used plugin with this XML.

Lastly, you'll need autoexec plugin as well. Currently only used for one thing; changing into max MP set when you hit 100% MP while resting in your MPh gear, which spellcast cannot do on its own. Autoexec can also not reliably do it on its own. Autoexec can be activated when you hit 100% MP, but cannot tell the difference between if you're resting or just changed gear, Aspir'd and so on. So, in autoexec, we choose to have it detect when you hit 100% MP. When triggered it send a spell to the game, a dummy spell: Meteor. Spellcast sees Meteor as an incoming spell and is set to equip max MP gear if and only if you're currently resting. The code you'll need for autoexec is:

<autoexec>

	<register event="mpp_100">input /ma "Meteor" &lt;me&gt;</register>

</autoexec>

Right on. If you've got all this lovely stuff done, the macros and autoexec, I give you the spellcast xml itself. Enjoy!

<?xml version="1.0" ?>
 
<!--Created by Fiarlia. Credit goes to ddaydj for ideas on how to use Variables better, as well as setting up this XML for others to easily plug in their own info
and keeping the rules unchanged for the most part. Credit to Azazael, Souleman and Starhawk for the ideas behind many of the rules. Thanks to zippo_zx for bringing to my attention that certain parts weren't working as intended and a bit of coding as well.
 
This XML is mainly meant for myself and my friend Madness, however I'm going to attempt to make this usable by any RDM.  I'm trying to code to where you'll
only have to enter a little bit of information so this should be pretty easy. Let me know if you have any questions. I go by Fiarlia on the Windower Forums.
 
A few things to keep in mind:
 
In the variables and config section:
	Yes = True
	No = False
 
Any chat that spellcast adds to your screen aside from during Chainspell, Sleep and Stoneskin cannot be seen by Square Enix. The chat added during the spells
I just mentioned are added as echos.
 
Anything you have to change I will give information as to what you should be putting in. I'm going to leave my own gear and variables and MP amounts in here
so you have something to look at and use as a guide while filling it out.
 
Currently I don't have spellcast changing into melee weapons, as I like to carry many with me and switch between them for various or no reason at all. Any time
you want to melee, you must manually equip any pieces of equipment you want into the MAIN, SUB, and RANGE slots. This includes shields.
 
When filling out your gear sets, look and see if there is a case where it says BaseSet equals whatever. This means that the set you are filling out takes any slots
not filled out from the set identified as a BaseSet. Always trace back through the BaseSets and see if you have any duplicating pieces of gear and remove the
line from the newest set. For example: Let's say you use an Optical Hat in your "Engaged" set. You'll see I also have a set called "Evasion". You'd think to normally
put the Optical Hat in the Evasion set as well. However, the set named Evasion has BaseSet="Engaged" in it. If you have no head slot specified in the Evasion
set, it will automatically pull it from the Engaged set, so there's no reason to enter it.
 
KNOWN ISSUE: Grips can only be equipped when you have a staff in your main. If you ever use a weapon for casting that isn't a staff, Seveneyes for me,
you will get an error message in-game telling you that you ca't equip a grip. I haven't found a way around this for every case yet.
 
KNOWN ISSUE NO. 2:   FIXED. I finally figured out what was causing the problem. Yay.-->
 
<spellcast>
 
<!-- ShowGearSwaps send a message to your chat log that SE can't see, telling you which gear you equipped. Great for debugging or double checking that you have
everything working as desired. Also nice for people who like to have something in the chat log stating that you changed gears but hates the standard "Changed
equipment." line that the game normally uses. Having that true and running the plugin Silence at the same time can be nice. Set to True if you want it on, and False if you don't.-->
 
<config
	RequireVersion="2.17"
	ShowGearSwaps="true"
	HideErrors="false"
	Debug="true"
/>
 
<variables>
 
<!--Set these to the Elemental Staves you use, wether they be HQ or NQ. If you upgrade a staff, change it to the HQ here.-->
	<var Name="LightStaff">Apollo's Staff</var>
	<var Name="DarkStaff">Pluto's Staff</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>
 
<!--Set this to the percentage of TP you want to start locking weapons at-->
	<var Name="LockTP">15</var>
 
<!--Set the following to 1 if you have them, 0 if you don't-->
	<var Name="HaveWaterRing">1</var>
	<var Name="HaveIceRing">1</var>
	<var Name="HaveWindRing">0</var>
	<var Name="HaveLightningRing">0</var>
	<var name="HaveFireRing">0</var>
	<var name="HaveDiabolosRing">0</var>
	<var name="HaveDiabolosPole">0</var>
	<var Name="HaveFencersRing">1</var>
	<var name="HaveSeveneyes">1</var>
 
	<var name="HaveDarkObi">0</var>
	<var name="HaveLightObi">0</var>
	<var name="HaveEarthObi">0</var>
	<var name="HaveWaterObi">0</var>
	<var name="HaveWindObi">0</var>
	<var name="HaveFireObi">0</var>
	<var name="HaveIceObi">0</var>
	<var name="HaveThunderObi">0</var>
 
	<var Name="HaveDarkGrip">0</var>
	<var Name="HaveLightGrip">0</var>
	<var Name="HaveEarthGrip">1</var>
	<var Name="HaveWaterGrip">0</var>
	<var Name="HaveWindGrip">1</var>
	<var Name="HaveFireGrip">0</var>
	<var Name="HaveIceGrip">1</var>
	<var Name="HaveThunderGrip">1</var>
 
<!--Set the following to 1 if you want to automatically change all Barspells to Barspellra when subbing WHM. Set to 0 if you do not.-->
 
	<var name="Barspellra">1</var>
 
 
<!--These are NOT variables and are not parsed into spellcast at all. this table is simply included to make the next section of variables easier for you to fill
out. However, I recommend skipping this section for now, and fill out the section for your Standard gearset. Doing so will make this much easier to fill out.
Enter the amount of MP given in each slot when using your MAX MP set; "Standard" If you never change a piece of gear when casting any spell (other
things like resting DO NOT COUNT, only when casting), enter zero for the value, like my backpiece. I do change it out to rest, but that's the only time I do.
So it gets a value of zero. My ammo never changes unless I'm meleeing, again, a zero.
 
Gear Slot		Name of gear		MP gained from gear
body			Duelist's Tabard		24
head			Duelist's Chapeau		14
hands			Duelist's Gloves		18
legs			Duelist's Tights		16
feet			River Gaiters		35
back			Rainbow Cape		0
wais			tQiqirn Sash +1		14
neck			Bead Necklace +1		22
ammo			Phantom Tathlum		0
lear			Antivenom Earring	15
rear			Astral Earring		25
lring			Ether Ring			40
rring			Serket Ring			50
sub			Bugard Strap +1		0
Next is where we start using this table for variables.-->
 
<!--These variables are for ordering the gear locks. Using the above table, place them in order from larget MP amount to smallest.-->
 
	<var name="gear14mp">50</var>
	<var name="gear13mp">40</var>
	<var name="gear12mp">35</var>
	<var name="gear11mp">25</var>
	<var name="gear10mp">24</var>
	<var name="gear09mp">22</var>
	<var name="gear08mp">18</var>
	<var name="gear07mp">16</var>
	<var name="gear06mp">15</var>
	<var name="gear05mp">14</var>
	<var name="gear04mp">14</var>
	<var name="gear03mp">0</var>
	<var name="gear02mp">0</var>
	<var name="gear01mp">0</var>
 
<!-- These variables correspond to the name of each gear slot in the same order as listed above. List them in the same order. If there are multiple slots with the same
MP amount, list whichever you want to be allowed to switch first as being closer to "gear01slot". The order of any slot with an MP amount of zero does not matter.-->
 
	<var name="gear14slot">rring</var>
	<var name="gear13slot">lring</var>
	<var name="gear12slot">feet</var>
	<var name="gear11slot">rear</var>
	<var name="gear10slot">body</var>
	<var name="gear09slot">neck</var>
	<var name="gear08slot">hands</var>
	<var name="gear07slot">legs</var>
	<var name="gear06slot">rear</var>
	<var name="gear05slot">waist</var>
	<var name="gear04slot">head</var>
	<var name="gear03slot">sub</var>
	<var name="gear02slot">back</var>
	<var name="gear01slot">ammo</var>
 
<!--For each of these values, equip your full MP gear, change to each subjob and list your maximum MP. If you ever change your Max MP gearset, change these
values to match. Likewise if lvling up a subjob changes your Max MP for RDM.-->
 
	<var name="BLMMaxMP">953</var>
	<var name="WHMMaxMP">934</var>
	<var name="DRKMaxMP">877</var>
	<var name="SMNMaxMp">992</var>
	<var name="NINMaxMP">856</var>
	<var name="WARMaxMP">856</var>
	<var name="BRDMaxMP">856</var>
 
<!--Do not change the following variables-->
 
	<var Name="ElementalStaff">$LightStaff</var>
	<var Name="Enearth">Enstone</var>
	<var Name="Enwater">Enwater</var>
	<var Name="Enwind">Enaero</var>
	<var Name="Enfire">Enfire</var>
	<var Name="Enice">Enblizzard</var>
	<var Name="Enthunder">Enthunder</var>
	<var name="DarkObi">Anrin Obi</var>
	<var name="LightObi">Korin Obi</var>
	<var name="WindObi">Furin Obi</var>
	<var name="IceObi">Hyorin Obi</var>
	<var name="FireObi">Karin Obi</var>
	<var name="WaterObi">Suirin Obi</var>
	<var name="ThunderObi">Rairin Obi</var>
	<var name="EarthObi">Dorin Obi</var>
	<var name="Barstone">Barstonra</var>
	<var name="Barsleep">Barsleepra</var>
	<var name="Barwater">Barwatera</var>
	<var name="Barpoison">Barpoisonra</var>
	<var name="Barparalyze">Barparalyzra</var>
	<var name="Baraero">Baraera</var>
	<var name="Barfire">Barfira</var>
	<var name="Barblind">Barblindra</var>
	<var name="Barblizzard">Barblizzara</var>
	<var name="Barsilence">Barsilencera</var>
	<var name="Barthunder">Barthundra</var>
 
<!--The following are variable that should only be changed via in-game commands or better yet in game macros to ensure you equip the best
sets as far as MND, INT and skill in relation to the mobs resist rate. It is set to 0 to start and returns to zero whenever you reload spellcast
-->
 
	<var nooverwrite="true" name="ResistRate">0</var>
 
<!--This variable is to allow you to automatically equip the best sets based on when you're meleeing and/or tanking and may need higher
evasion. This is again defaulted to 0 and reset to zero whenever you load spellcast, and again, will only be changed in-game-->
 
	<var nooverwrite="true" name="Tanking">0</var>
 
<!--Like the last two, this variable is to let you automatically equip different gear after casting spells and when idle if you are kiting mobs
and may need the extra evasion and damage reduction or whatever it is you want to set. Again, this is defaulted to zero and will be changed
using in-game commands.-->
 
	<var nooverwrite="true" name="Kiting">0</var>
 
</variables>
 
<!--EQUIPMENT SETS. Here is where you'll set the various sets of gear you want to use. If you have no gear for a set I have defined,
make it look exactly my set named "Vorpal Blade" Otherwise just fill in the gear slots. If you do not have a piece of gear to go in one
of the slots I have listed, simply erase that line completely. If you have a piece of gear you'd like to add that I don't have a slot listed
for, simply create one using the same format that all the other slots use.
IF YOU SEE SOMETHING THAT SAYS "$something" DO NOT CHANGE IT-->
 
<sets>
 
<group default="yes" name="RDM">
 
<!--This is your Max MP set. Every slot I have listed should be filled. This is a set that many others will be pulling from.-->
		<set name="Standard0">
		<head>Duelist's Chapeau</head>
		<body>Duelist's Tabard</body>
		<back>Rainbow Cape</back>
		<neck>Beak Necklace +1</neck>
		<hands>Duelist's Gloves</hands>
		<waist>Qiqirn Sash +1</waist>
		<lear>Antivenom Earring</lear>
		<lring>Ether Ring</lring>
		<legs>Duelist's Tights</legs>
		<ammo>Phtm. Tathlum</ammo>
		<rear>Astral Earring</rear>
		<rring>Serket Ring</rring>
		<feet>River Gaiters</feet>
		<sub>Bugard Strap +1</sub>
	</set>
 
<!--This is the gear you use when kiting-->
 
	<set name="Standard1" BaseSet="Standard0">
		<main>$EarthStaff</main>
		<head>Optical Hat</head>
		<body>Scorpion Harness</body>
		<back>Invigorating Cape</back>
		<waist>Swift Belt</waist>
		<neck>Promise Badge</neck>
		<feet>Duelist's Boots</feet>
	</set>
 
<!--This is your aftercast set. Equip refresh gear or change slots that might have dusk equipped-->
 
	<set name="Idle0">
		<head>Duelist's Chapeau</head>
		<feet>River Gaiters</feet>
		<hands>Duelist's Gloves</hands>
	</set>
 
<!--This is the aftercast when kiting, more than likely the same as your kiting set-->
 
	<set name="Idle1" BaseSet="Standard1" />
 
<!--Fast cast and haste gear goes here-->
 
	<set name="FastCast">
		<body>Duelist's Tabard</body>
		<head>Warlock's Chapeau</head>
		<feet>Dusk Ledelsens</feet>
		<waist>Swift Belt</waist>
		<hands>Dusk Gloves</hands>
	</set>
 
<!--Hmp gear-->
 
	<set name="Resting" BaseSet="Standard0">
		<main>$DarkStaff</main>
		<body>Errant Hpl.</body>
		<hands>Genie Gages</hands>
		<legs>Baron's Slops</legs>
		<feet>Goliard Clogs</feet>
		<back>Invigorating Cape</back>
	</set>
 
<!--enfeebling magic black magic. Use full INT gear for this one. For mobs that never resist-->
 
	<set name="EnfeeblingMagicBlackMagic0" BaseSet="Standard0">
		<head>Warlock's Chapeau</head>
		<body>Errant Hpl.</body>
		<neck>Enlightened Chain</neck>
		<waist>Penitent's Rope</waist>
		<lear>Enfeebling Earring</lear>
		<lring>Genius Ring</lring>
		<legs>Mahatma Slops</legs>
		<rring>Hale Ring</rring>
		<feet>Goliard Clogs</feet>
	</set>
 
<!--Enfeebling magic black magic. Lots of INT but throw someEnfeebling Magic skill in. For mobs with low to mid resist rate.-->
 
	<set name="EnfeeblingMagicBlackMagic1" BaseSet="EnfeeblingMagicBlackMagic0">
		<head>Duelist's Chapeau</head>
		<neck>Enfeebling Torque</neck>
	</set>
 
<!--Enfeebling magic black magic, Full enfeebling skillfor mobs with a high resist rate.-->
 
	<set name="EnfeeblingMagicBlackMagic2" BaseSet="EnfeeblingMagicBlackMagic1">
		<body>Warlock's Tabard</body>
	</set>
 
<!--Enfeebling magic white magic, full MND gear. For mobs that never resist-->
 
	<set name="EnfeeblingMagicWhiteMagic0" BaseSet="Standard0">
		<head>Zenith Crown</head>
		<body>Errant Hpl.</body>
		<neck>Promise Badge</neck>
		<hands>Devotee's Mitts</hands>
		<waist>Penitent's Rope</waist>
		<lear>Enfeebling Earring</lear>
		<lring>Serenity Ring</lring>
		<legs>Mahatma Slops</legs>
		<rring>Hale Ring</rring>
		<feet>Goliard Clogs</feet>
	</set>
 
<!--Enfeebling magic white magic, for mobs with low to mid resist rate.-->
 
	<set name="EnfeeblingMagicWhiteMagic1" BaseSet="EnfeeblingMagicWhiteMagic0">
		<head>Duelist's Chapeau</head>
		<neck>Enfeebling Torque</neck>
	</set>
 
<!--Enfeebling magic white magic, for mobs with highresist rate-->
 
	<set name="EnfeeblingMagicWhiteMagic2" BaseSet="EnfeeblingMagicWhiteMagic1">
		<body>Warlock's Tabard</body>
	</set>
 
<!-- loldivinemagic. MND and Magic Attack Bonus.-->
 
	<set name="DivineMagicWhiteMagic" BaseSet="EnfeeblingMagicWhiteMagic0">
		<lear>Moldavite Earring</lear>
		<feet>Duelist's Boots</feet>
	</set>
 
<!--Nuking Magic, full INT and Magic Attack bonus. For mobs with very very low resist rate-->
 
	<set name="ElementalMagicBlackMagic0" BaseSet="EnfeeblingMagicBlackMagic0">
		<lear>Moldavite Earring</lear>
		<feet>Duelist's Boots</feet>
	</set>
 
<!--Nuking gear, start adding in some Elemental Magic skill in, for mobs with low to mid resist rate-->
 
	<set name="ElementalMagicBlackMagic1" BaseSet="ElementalMagicBlackMagic0">
		<feet>Goliard Clogs</feet>
		<hands>Genie Gages</hands>
		<neck>Elemental Torque</neck>
	</set>
 
<!--Nuking gear with a focus on full Elemental Magic skill, for mobs with a high resist rate-->
 
	<set name="ElementalMagicBlackMagic2" BaseSet="ElementalMagicBlackMagic1">
		<legs>Duelist's Tights</legs>
	</set>
 
<!--Enhancing magic skill items, as well as fast cast and haste. Stoneskin has it's own set-->
 
	<set name="EnhancingMagicWhiteMagic" BaseSet="Standard0">
		<head>Warlock's Chapeau</head>
		<body>Glamor Jupon</body>
		<neck>Enhancing Torque</neck>
		<waist>Swift Belt</waist>
		<legs>Warlock's Tights</legs>
		<feet>Dusk Ledelsens</feet>
	</set>
 
<!--Enhancing magic gear, as well as INT and Magic Attack Bonus. This is for the spike spells.-->
 
	<set name="EnhancingMagicBlackMagic" BaseSet="EnhancingMagicWhiteMagic">
		<neck>Enlightened Chain</neck>
		<waist>Penitent's Rope</waist>
		<lring>Genius Ring</lring>
		<legs>Duelist's Tights</legs>
		<lear>Moldavite Earring</lear>
		<feet>Duelist's Boots</feet>
	</set>
 
<!--Dark Magic skill, magic accuracy, INT, Magic Attack Bonus gear. Stun has its own set-->
 
	<set name="DarkMagicBlackMagic" BaseSet="ElementalMagicBlackMagic0">
		<head>Wise Cap</head>
		<body>Glamor Jupon</body>
		<neck>Dark Torque</neck>
		<rear>Dark Earring</rear>
		<feet>Goliard Clogs</feet>
		<hands>Duelist's Gloves</hands>
	</set>
 
<!--Healing magic; MND, healing magic stat if you have it. Enmity reduction gear, haste and fastcast-->
 
	<set name="HealingMagicWhiteMagic" BaseSet="Standard0">
		<head>Warlock's Chapeau</head>
		<body>Errant Hpl.</body>
		<waist>Penitent's Rope</waist>
		<legs>Mahatma Slops</legs>
		<hands>Dusk Gloves</hands>
		<neck>Promise Badge</neck>
	</set>
 
<!--Stun, all the stuff from the dark magic set, but make sure you equip haste and fast cast. DO NOT change the staff!-->
 
	<set name="Stun" BaseSet="DarkMagicBlackMagic">
		<head>Warlock's Chapeau</head>
		<body>Duelist's Tabard</body>
		<waist>Swift Belt</waist>
		<feet>Dusk Ledelsens</feet>
		<main>$ThunderStaff</main>
		<hands>Dusk Gloves</hands>
	</set>
 
<!--Enhancing Magic, MND and perhaps fast cast and haste. DO NOT change the staff!-->
 
	<set name="Stoneskin" BaseSet="EnhancingMagicWhiteMagic">
		<rring>Hale Ring</rring>
		<lring>Serenity Ring</lring>
		<neck>Promise Badge</neck>
		<main>$WaterStaff</main>
	</set>
 
<!--Convert set, if it differs from Standard0. Do not change the staff-->
 
	<set name="Convert" BaseSet="Standard0">
		<main>$LightStaff</main>
		<head>Warlock's Chapeau</head>
	</set>
 
<!--Melee set if you're not tanking-->
 
	<set name="Engaged0" BaseSet="Standard0">
		<ammo>Fenrir's Stone</ammo>
		<head>Walahra Turban</head>
		<neck>Chivalrous Chain</neck>
		<body>Scorpion Harness</body>
		<hands>Dusk Gloves</hands>
		<lring>Jelly Ring</lring>
		<rring>Sniper's Ring</rring>
		<back>Amemet Mantle +1</back>
		<waist>Swift Belt</waist>
		<legs>Darksteel Subligar</legs>
		<feet>Dusk Ledelsens</feet>
	</set>
 
<!--Melee set if you're tanking (and need the evasion and stuff)-->
 
	<set name="Engaged1" BaseSet="Engaged0">
		<head>Optical Hat</head>
		<feet>Duelist's Boots</feet>
		<hands>Warlock's Gloves</hands>
	</set>
 
<!--Savage blade set, STR, MND, plus normal melee stuffs.-->
 
	<set name="Savage Blade" BaseSet="Engaged0">
		<head>Zenith Crown</head>
		<body>Errant Hpl.</body>
		<hands>Devotee's Mitts</hands>
		<waist>Penitent's Rope</waist>
		<lring>Serenity Ring</lring>
		<legs>Mahatma Slops</legs>
		<rring>Hale Ring</rring>
	</set>
 
<!--Evisceration set. Attack, STR and lots of accuracy!-->
 
	<set name="Evisceration" BaseSet="Engaged">
		<head>Optical Hat</head>
		<lring>Sniper's Ring</lring>
		<legs>Duelist's Tights</legs>
	</set>
 
<!--Basically a full HP set-->
 
	<set name="Spirits Within" BaseSet="Engaged">
		<neck>Promise Badge</neck>
		<back>Rainbow Cape</back>
	</set>
 
<!--No real need to change this set-->
 
	<set name="Vorpal Blade" BaseSet="Evisceration" />
 
<!--Random other sets-->
 
	<set name="Seveneyes">
		<main>Seveneyes</main>
	</set>
 
</group>
</sets>
 
<!-- You should not have to change any of the values beyond this point, I will however still explain what various rules do-->
 
<rules>
 
<!--Works with an action in autoexec. When you get full MP it sends a dummy spell to the game. If you're resting it equips your max MP set-->
 
	<if spell="Meteor">
		<if status="resting">
			<action type="equip" when="resting" set="Standard$Kiting" />
		</if>
		<else>
			<action type="CancelSpell" />
		</else>
		<action type="Return" />
	</if>
 
<!--gear locks for both having more TP than you set in the variables, and when casting to not lose MP.-->
 
	<if TPGT="$LockTP">
		<action Type="Disable" Slot="Main|Sub|Range"/>
	</if>
 
	<else>
		<action Type="Enable" Slot="Main|Sub|Range" />
	</else>
 
	<if CommandPrefix="/magic|/song|/ninjutsu" notSpell="autoset">
		<action type="equip" when="precast" set="FastCast" />
 
		<if notstatus="Engaged">
			<action type="equip" when="aftercast" set="Idle$Kiting" />
		</if>
 
		<action type="Disable" slot="$gear14slot|$gear13slot|$gear12slot|$gear11slot|$gear10slot|$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
 
		<if advanced='%MP&lt;=($%SubJobMaxMP-$gear14mp-$gear13mp-$gear12mp-$gear11mp-$gear10mp-$gear09mp-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear14slot|$gear13slot|$gear12slot|$gear11slot|$gear10slot|$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</if>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear13mp-$gear12mp-$gear11mp-$gear10mp-$gear09mp-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear13slot|$gear12slot|$gear11slot|$gear10slot|$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear12mp-$gear11mp-$gear10mp-$gear09mp-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear12slot|$gear11slot|$gear10slot|$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear11mp-$gear10mp-$gear09mp-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear11slot|$gear10slot|$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear10mp-$gear09mp-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear10slot|$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear09mp-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear09slot|$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear08mp-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear08slot|$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear07mp-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear07slot|$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear06mp-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear06slot|$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear05mp-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear05slot|$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear04mp-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear04slot|$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear03mp-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear03slot|$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear02mp-$gear01mp)'>
			<action type="enable" slot="$gear02slot|$gear01slot" />
		</elseif>
 
		<elseif advanced='%MP&lt;=($%SubJobMaxMP-$gear01mp)'>
			<action type="enable" slot="$gear01slot" />
		</elseif>
	</if>
 
<!--Autosets-->
 
	<elseif spell="autoset">
		<action type="equip" when="resting" set="Resting" />
		<action type="equip" when="idle" set="Idle$Kiting" />
		<action type="equip" when="Engaged" set="Engaged$Tanking" />
	</elseif>
 
<!--Magic Rules - Day & Weather-->
 
	<if Advanced='("%SpellElement"="%WeatherElement" OR "%SpellElement"="%DayElement") AND "$Have%SpellElementObi"="1"'>
		<action type="equip" when="midcast">
			<waist>$%SpellElementObi</waist>
		</action>
	</if>
 
	<if MPPLT="86" day="Watersday" Type="*Magic" Advanced='"$HaveWaterRing"="1"'>
		<action type="equip" when="precast">
			<lring lock="yes">Water Ring</lring>
		</action>
	</if>
 
	<elseif MPPLT="86" day="Iceday" Skill="ElementalMagic" Advanced='"$HaveIceRing"="1"'>
		<action type="equip" when="midcast">
			<lring>Ice Ring</lring>
		</action>
	</elseif>
 
	<elseif HPPLT="86" day="Windsday" Advanced='("$HaveWindRing"="1") AND ("$Kiting"="1")'>
		<action type="equip" when="aftercast|engaged">
			<rring>Wind Ring</rring>
		</action>
	</elseif>
 
	<elseif HPPLT="86" day="Lightningday" Status="Engaged" Advanced='("$HaveLightningRing"="1") AND ("$Tanking"="0")'>
		<action type="equip" when="aftercast|engaged">
			<rring>Lightning Ring</rring>
		</action>
	</elseif>
 
	<elseif HPPLT="86" day="Firesday" Status="Engaged" Advanced='("$HaveFireRing"="1") AND ("$Tanking"="0")'>
		<action type="equip" when="aftercast|engaged">
			<rring>Fire Ring</rring>
		</action>
	</elseif>
 
	<elseif MPPLT="86" day="Darksday" Skill="DarkMagic" Advanced='"$HaveDiabolosRing"="1"'>
		<action type="equip" when="midcast">
			<lring lock="yes">Diabolos's Ring</lring>
		</action>
	</elseif>
 
	<if weather="Dark*" Spell="Drain|Aspir" Advanced='"$HaveDiabolosPole"="1"'>
		<action type="equip" when="midcast">
			<main>Diabolos's Pole</main>
		</action>
	</if>
 
<!--Changespell Rules-->
 
<!--Cure spells based on level and MP-->
 
	<if Spell="Cure IV">
		<if Mode="OR" MlvlLT="48" MPLT="88">
			<action type="ChangeSpell" Spell="Cure III" />
		</if>
	</if>
 
	<elseif Spell="Cure III">
		<if Mode="OR" MlvlLT="26" MPLT="46">
			<action type="ChangeSpell" Spell="Cure II" />
		</if>
	</elseif>
 
	<elseif Spell="Cure II">
		<if Mode="OR" MlvlLT="14" MPLT="24">
			<action type="ChangeSpell" Spell="Cure" />
		</if>
	</elseif>
 
	<elseif Spell="Curaga II">
		<if Mode="OR" SlvlLT="31" MPLT="120">
			<action type="ChangeSpell" Spell="Curaga" />
		</if>
	</elseif>
 
<!--Changes Phalanx II to regular Phalanx if targetting yourself, since Phalanx gives better damage reduction-->
 
	<if spell="Phalanx II" Advanced='"%SpellTarget"="%PlayerName" OR "%SpellTarget"="&lt;me&gt;" OR ("%Target"="%PlayerName" AND "%SpellTarget"="&lt;lastst&gt;")'>
		<action type="Changespell" Spell="Phalanx" />
	</if>
 
<!--Changes spells to the appropriate tier when you're in Level Synch or Level Restriction status-->
 
	<if BuffActive="Level*">
		<if Spell="Blind II" MLvlLT="75">
			<action type="Changespell" Spell="Blind" />
		</if>
 
		<elseif Spell="Slow II" MLvlLT="75">
			<action type="Changespell" Spell="Slow" />
		</elseif>
 
		<elseif Spell="Paralyze II" MlvlLT="75">
			<action type="Changespell" Spell="Paralyze" />
		</elseif>
 
		<elseif Spell="Poison II" MlvlLT="46">
			<action type="Changespell" Spell="Poison" />
		</elseif>
 
		<elseif Spell="Bio II" MlvlLT="36">
			<action type="ChangeSpell" Spell="Bio" />
		</elseif>
 
		<elseif Spell="Dia II" MlvlLT="31">
			<action type="Changespell" Spell="Dia" />
		</elseif>
 
		<elseif Spell="Thunder III" MlvlLT="75">
			<action type="Changespell" Spell="Thunder II" />
		</elseif>
 
		<elseif Spell="Thunder II" MlvlLT="60">
			<action type="Changespell" Spell="Thunder" />
		</elseif>
 
		<elseif Spell="Blizzard III" MlvlLT="73">
			<action type="Changespell" Spell="Blizaard II" />
		</elseif>
 
		<elseif Spell="Blizzard II" MlvlLT="55">
			<action type="Changespell" Spell="Blizzard" />
		</elseif>
 
		<elseif Spell="Fire III" MlvlLT="71">
			<action type="Changespell" Spell="Fire II" />
		</elseif>
 
		<elseif Spell="Fire II" MlvlLT="52">
			<action type="Changespell" Spell="Fire" />
		</elseif>
 
		<elseif Spell="Aero III" MlvlLT="69">
			<action type="Changespell" Spell="Aero II" />
		</elseif>
 
		<elseif Spell="Aero II" MlvlLT="45">
			<action type="Changespell" Spell="Aero" />
		</elseif>
 
		<elseif Spell="Water III" MlvlLT="67">
			<action type="Changespell" Spell="Water II" />
		</elseif>
 
		<elseif Spell="Water II" MlvlLT="40">
			<action type="Changespell" Spell="Water" />
		</elseif>
 
		<elseif Spell="Stone III" MlvlLT="65">
			<action type="Changespell" Spell="Stone II" />
		</elseif>
 
		<elseif Spell="Stone II" MlvlLT="35">
			<action type="Changespell" Spell="Stone" />
		</elseif>
 
		<elseif Spell="Shell IV" MlvlLT="68">
			<action type="Changespell" Spell="Shell III" />
		</elseif>
 
		<elseif Spell="Shell III" MlvlLT="57">
			<action type="Changespell" Spell="Shell II" />
		</elseif>
 
		<elseif Spell="Shell II" MlvlLT="37">
			<action type="Changespell" Spell="Shell" />
		</elseif>
 
		<elseif Spell="Protect IV" MlvlLT="63">
			<action type="Changespell" Spell="Protect III" />
		</elseif>
 
		<elseif Spell="Protect III" MlvlLT="47">
			<action type="Changespell" Spell="Protect II" />
		</elseif>
 
		<elseif Spell="Protect II" MlvlLT="27">
			<action type="Changespell" Spell="Protect" />
		</elseif>
	</if>
 
	<if SubJob="WHM" Spell="Bar*" NotSpell="Barvirus|*ra" Advanced='"$Barspellra"="1"'>
		<action type="Changespell" Spell="$%Spell" />
	</if>
 
<!--Enspell rules to automatically change the Enspell based on Double Weather -> Day -> Single Weather. The dummy spell is Comet.-->
 
	<if Spell="Comet" Weather="Earth x2|Water x2|Wind x2|Fire x2|Ice x2|Thunder x2">
		<action type="Changespell" Spell="$En%WeatherElement" />
	</if>
 
	<elseif Spell="Comet" NotDay="Lightsday|Darksday">
		<action type="Changespell" Spell="$En%DayElement" />
	</elseif>
 
	<elseif Spell="Comet" Day="Lightsday|Darksday" Weather="Earth|Water|Wind|Fire|Ice|Thunder">
		<action type="Changespell" Spell="$En%WeatherElement" />
	</elseif>
 
	<elseif Spell="Comet" Day="Lightsday|Darksday" Weather="Clear|Sunshine|Clouds|Fog|Light*|Dark*">
		<action type="command">input /echo ===[ No optimal settings for Enspells exist right now. ]===</action>
		<action type="CancelSpell" />
		<action type="Return" />
	</elseif>
 
<!--Chainspell Active Rules-->
 
	<if BuffActive="Chainspell" NotSpell="Convert">
		<if Spell="Stun|Stoneskin">
			<action type="equip" when="precast" set="%Spell" />
		</if>
		<elseif CommandPrefix="/ma|/magic">
			<action type="equip" when="precast">
				<main>$%SpellElementStaff</main>
			</action>
			<if advanced='"$Have%SpellElementGrip"="1"'>
				<action type="equip" when="precast">
					<sub>%SpellElement Grip</sub>
				</action>
			</if>
			<if skill="EnfeeblingMagic|ElementalMagic">
				<action type="equip" when="precast" set="%Skill%Type$ResistRate" />
			</if>
			<else>
				<action type="equip" when="precast" set="%Skill%Type" />
			</else>
		</elseif>
		<action type="Return" />
	</if>
 
<!--Job Ability Rules-->
 
	<if spell="Chainspell">
		<action type="Command" when="aftercast">wait 29;input /echo ========[ 2h : 50%... ]========</action>
		<action type="Command" when="aftercast">wait 49;input /echo ========[ 2h off @ 10s. ]========</action>
	</if>
 
	<elseif Spell="Convert">
		<action type="CastDelay" delay="0.2" />
		<action type="equip" when="precast" set="%Spell" />
		<action type="command">pause 2; input /raw /ma "Cure IV" %PlayerName;</action>
	</elseif>
 
<!--Individual Spell Rules Using Cancel-->
 
	<elseif Spell="Utsusemi: Ichi">
			<action type="Command" when="midcast">cancel 66</action>
	</elseif>
 
	<elseif spell="Stoneskin">
		<action type="equip" when="midcast" set="%Spell" />
		<action type="Command" when="MidCast">cancel 37</action>
		<action type="command" when="aftercast">
			wait 289;input /echo =========={ Stoneskin off @ 10sec ! }==========
		</action>
	</elseif>
 
	<elseif Spell="Sneak|Monomi*">
		<if Advanced='"$HaveSeveneyes"="1"'>
			<action type="equip" when="midcast" set="Seveneyes" />
		</if>
		<action type="equip" when="midcast">
			<feet>Dream Boots +1</feet>
		</action>
		<if Advanced='"%SpellTarget"="%PlayerName" OR "%SpellTarget"="&lt;me&gt;" OR ("%Target"="%PlayerName" AND "%SpellTarget"="&lt;lastst&gt;")'>
			<action type="command" when="midcast">cancel 71</action>
		</if>
	</elseif>
 
<!--Individual Spell Rules-->
 
	<elseif spell="Stun">
		<action type="equip" when="precast" set="%Spell" />
	</elseif>
 
<!--Group Spell Rules-->
 
	<elseif Spell="Sleep*">
		<action type="equip" when="precast">
			<main>$%SpellElementStaff</main>
		</action>
		<action type="equip" when="midcast" set="%Skill%Type$ResistRate" />
		<if advanced='"$Have%SpellElementGrip"="1"'>
			<action type="equip" when="midcast">
				<sub>%SpellElement Grip</sub>
			</action>
		</if>
		<if Spell="Sleep|Sleepga">
			<action type="command" when="aftercast">wait 29;input /echo ======== %Spell off @ 0:30 ========</action>
			<action type="command" when="aftercast">wait 49;input /echo ======== %Spell off @ 0:10 ========</action>
		</if>
		<else>
			<action type="command" when="aftercast">wait 59;input /echo ======== %Spell off @ 1:00 ========</action>
			<action type="command" when="aftercast">wait 89;input /echo ======== %Spell off @ 0:30 ========</action>
			<action type="command" when="aftercast">wait 109;input /echo ======== %Spell off @ 0:10 ========</action>
		</else>
	</elseif>
 
<!--Spells that are not modified by anything-->
 
	<elseif Spell="Re*|Raise|Haste|Erase|*na|Dia*|Warp|Tele*|Invis*|Pro*|Shell*|Deo*|Blink|Escape|Tractor" Advanced='"$HaveSeveneyes"="1"'>
		<action type="equip" when="precast" set="Seveneyes" />
	</elseif>
 
<!--All Other Magic-->
 
	<elseif CommandPrefix="/magic">
		<action type="equip" when="precast">
			<main>$%SpellElementStaff</main>
		</action>
		<if advanced='"$Have%SpellElementGrip"="1"'>
			<action type="equip" when="midcast">
				<sub>%SpellElement Grip</sub>
			</action>
		</if>
		<if Skill="EnfeeblingMagic|ElementalMagic">
			<action type="equip" when="midcast" set="%Skill%Type$ResistRate" />
		</if>
		<else>
			<action type="equip" when="midcast" set="%Skill%Type" />
		</else>
	</elseif>
 
<!--Melee Rules-->
 
	<if Status="Engaged">
		<action type="equip" when="aftercast" set="Engaged" />
		<if Advanced='("$HaveFencersRing"="1") AND ("%HPP"&lt;"76") AND ("%TP"&lt;"100")' Buffactive="En*">
			<action type="equip" when="aftercast">
				<lring>Fencer's Ring</lring>
			</action>
		</if>
	</if>
 
	<if Type="WeaponSkill">
		<if spell="Spirits Within">
			<action type="castdelay" delay="6" />
			<action type="equip" when="precast" set="%Spell" />
			<action type="command" when="precast">input /raw /ma "Cure III" %PlayerName;</action>
			<action type="aftercastdelay" delay="5" />
		</if>
		<elseif Spell="Savage Blade|Evisceration|Vorpal Blade">
			<action type="CastDelay" Delay="1" />
			<action type="equip" when="precast" set="%Spell" />
			<action type="aftercastdelay" delay="10" />
		</elseif>
	</if>
 
</rules>
</spellcast>
plugins/spellcast/userxml/rdm/fiarlia_s_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