Souleman's RDM Nov. 23, 2008

Okay, finally got around to updating this. Had to rewrite it from scratch, but I don't think there are any errors. Some of this is ripped out of Aikar's BLM.xml and changed for rdm or to be undectable (like the sleep timers using echo instead of party). Couple notes:

  • In the variables, don't change the names of the variables that it says not too.
  • The variables like head1 and head2 are for in game use to change defaults. If you decide you need more acc, then do //sc var set myhead $head2 This will make Optical Hat your default engaged hat instead of Walmart Turban.
  • If you are going to melee, set your group to melee. The group is the same, but the rules only store TP > 10 when using melee group. This is so when you are getting beat up in Dynamis, your staff will still change. There is also a group called merit. This group does not do any locking to keep your MP. You will waste a LOT of MP using this.
  • In the rules section, the only thing that should need to be changed is the MP values in the section for locking gear.

updated: 10/23

<?xml version="1.0"?>
<spellcast>
	<config RequireVersion="2.17" Debug="false" HideErrors="false" ShowGearSwaps="false" />
	<variables>
		<var name="BLMHighMP">975</var>
		<var name="BLUHighMP">925</var>
		<var name="DRKHighMP">915</var>
		<var name="PLDHighMP"></var>
		<var name="SCHHighMP"></var>
		<var name="SMNHighMP"></var>
		<var name="WHMHighMP">950</var>
		<var name="OTHHighMP">875</var>	
		<!-- set to 1 if you have it, 0 if you don't -->
		<var name="SleepTimers">1</var>
		<var name="HaveKillerMantle">1</var>
		<var name="HaveWizardsEarring">1</var>
		<var name="HaveFencersRing">1</var>
		<!-- set to 1 if you have it, 0 if you don't -->
		<var name="HaveDarkObi">1</var>
		<var name="HaveLightObi">0</var>
		<var name="HaveThunderObi">0</var>
		<var name="HaveIceObi">0</var>
		<var name="HaveFireObi">0</var>
		<var name="HaveWindObi">0</var>
		<var name="HaveWaterObi">0</var>
		<var name="HaveEarthObi">0</var>
		<!-- Set to the name of the staff you use -->
		<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>
		<!-- used for engaged set-->
		<var name="mainhand">Martial Knife</var>
		<var name="subhand">Joyeuse</var>
		<var name="myhead">Walahra Turban</var>
		<!-- these are variables for the gear you use in above -->
		<var name="sword1">"Joyeuse"</var>
		<var name="dagger1">"Martial Knife"</var>
		<var name="shield1">"Genbu's Shield"</var>
		<var name="shield2">"Viking Shield"</var>
		<var name="head1">"Walahra Turban"</var>
		<var name="head2">"Optical Hat"</var>
		<!-- Don't change these -->
		<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="IceObi">Hyorin Obi</var>
		<var Name="WindObi">Furin Obi</var>
		<var Name="LightObi">Korin Obi</var>
		<var Name="DarkObi">Anrin Obi</var>
	</variables>
 
	<sets>
		<group default="yes" name="Normal|Melee|Merit"> <!-- melee group keeps TP if you have more then 10TP -->
			<set name="Standard"> <!-- Idle gear -->
				<main>$EarthStaff</main>
				<sub>Bugard Strap +1</sub>
				<range>Lamian Kaman</range>
				<ammo></ammo>
				<head>Dls. Chapeau +1</head>
				<neck>Beak Necklace +1</neck>
				<lear>Harvest Earring</lear>
				<rear>Heims Earring</rear>
				<body>Duelist's Tabard</body>
				<hands>Crimson Fng. Gnt.</hands>
				<lring>Snow Ring</lring>
				<rring>Aqua Ring</rring>
				<back>Cheviot Cape</back>
				<waist>Duelist's Belt</waist>
				<legs>Prince's slops</legs>
				<feet>Crimson Greaves</feet>
			</set>
			<set name="Resting" BaseSet="Standard"> <!-- resting gear -->
				<main>$DarkStaff</main>
				<head>Dls. Chapeau +1</head>
				<neck>Beak Necklace +1</neck>
				<lear>Antivenom Earring</lear>
				<rear>Loquac. Earring</rear>
				<body>Wlk. Tabard +1</body>
				<hands>Wood Gauntlets</hands>
				<lring>Ether Ring</lring>
				<rring>Serket Ring</rring>
				<back>Lamia Mantle +1</back>
				<waist>Duelist's Belt</waist>
				<legs>Prince's slops</legs>
				<feet>Wood M Ledelsens</feet>
			</set>
			<set name="Convert" BaseSet="Resting"> <!-- max mp for convert gear -->
				<main>Fourth Mace</main>
				<sub>Astral Shield</sub>
				<head>Walahra Turban</head>
				<waist>Forest Rope</waist>
			</set> 
			<set name="Engaged" BaseSet="Standard"> <!-- melee gear -->
				<main>$mainhand</main>
				<sub>$subhand</sub>
				<head>$myhead</head>
				<neck>Peacock Charm</neck>
				<lear>Hollow Earring</lear>
				<rear>Suppanomimi</rear>
				<body>Scp. Harness +1</body>
				<hands>Dusk Gloves</hands>
				<lring>Ecphoria Ring</lring>
				<rring>Woodsman Ring</rring>
				<back>Amemet mantle +1</back>
				<waist>Potent Belt</waist>
				<legs>Prince's Slops</legs>
				<feet>Dusk Ledelsens</feet>
			</set>
			<set name="WeaponSkill" BaseSet="Engaged"> <!-- weapon skill gear -->
				<head>Optical Hat</head>
				<hands>Alkyoneus's Brc.</hands>
				<lring>Rajas Ring</lring>
				<legs>Dusk Trousers</legs>
				<feet>Ogre Ledelsens +1</feet>			
			</set>
			<set name="Fastcast" BaseSet="Standard"> <!-- fastcast or haste to lower recast -->
				<head>Warlock's Chapeau</head>
				<rear>Loquac. Earring</rear>
				<body>Duelist's Tabard</body>
				<hands>Dusk Gloves</hands>
				<feet>Dusk Ledelsens</feet>
			</set>
			<set name="Stats" BaseSet="Fastcast"> <!-- both mind and int gear -->
				<sub>Bugard Strap +1</sub>
				<body>Errant Hpl.</body>
				<back>Prism Cape</back>
				<waist>Duelist's Belt</waist>	
				<legs>Errant Slops</legs>				
			</set>
			<set name="MNDStuff" BaseSet="Stats"> <!-- mind gear -->
				<lear>Harvest Earring</lear>
				<rear>Geist Earring</rear>
				<lring>Aqua Ring</lring>
				<rring>Serenity Ring</rring>
				<feet>Duelist's Boots</feet>
			</set>
			<set name="INTStuff" BaseSet="Stats"> <!-- int gear -->
				<hands>Duelist's Gloves</hands>
				<lear>Heims Earring</lear>
				<lring>Snow Ring</lring>
				<rring>Genius Ring</rring>
			</set>
			<set name="DarkMagic" BaseSet="INTStuff"> <!-- dark magic skill -->
				<neck>Dark Torque</neck>
				<body>Glamor Jupon</body>
				<hands>Crimson Fng. Gnt.</hands>
			</set>
			<set name="HealingMagic" BaseSet="MNDStuff"> <!-- healing magic skill -->
				<body>Duelist's Tabard</body>
				<legs>Warlock's Tights</legs>
			</set>
			<set name="EnhancingMagic" BaseSet="MNDStuff"> <!-- ehnancing magic skill -->
				<neck>Enhancing Torque</neck>
				<body>Glamor Jupon</body>
				<hands>Duelist's Gloves</hands>
				<legs>Warlock's Tights</legs>
			</set>	  
			<set name="ElementalMagic" BaseSet="INTStuff"> <!-- elemental magic skill -->
				<head>Warlock's Chapeau</head>
				<neck>Elemental Torque</neck>
				<rear>Moldavite earring</rear>
				<body>Glamor Jupon</body>
				<hands>Mst.Cst. Bracelets</hands>
				<legs>Duelist's Tights</legs>
				<feet>Duelist's Boots</feet>
			</set>
			<set name="EnfeeblingBase" BaseSet="Stats"> <!-- enfeebling magic skill -->
				<head>Dls. Chapeau +1</head>
				<neck>Enfeebling Torque</neck>
				<body>Wlk. Tabard +1</body>
				<hands>Mst.Cst. Bracelets</hands>
			</set>
			<set name="Enfeebling-BlackMagic" BaseSet="INTStuff|EnfeeblingBase" /> <!-- enfeebling + int -->
			<set name="Enfeebling-WhiteMagic" BaseSet="MNDStuff|EnfeeblingBase" /> <!-- enfeebling + mnd -->
			<set name="SS" BaseSet="Fastcast"> <!-- stoneskin equips -->
				<neck>Enhancing Torque</neck>
				<body>Errant Hpl.</body>
				<hands>Duelist's Gloves</hands>
				<legs>Warlock's Tights</legs>
				<feet>Duelist's Boots</feet>
			</set>
			<set name="BlueMagicBase" Baseset="Fastcast" />
			<set name="BlueMagic-Physical" Baseset="BlueMagicBase" />
			<set name="BlueMagic-Magical" Baseset="BlueMagicBase" />
			<set name="%Skill" Baseset="Fastcast" />
		</group>
	</sets>
 
	<rules>
		<if notGroup="Merit">
			<!-- This is for keeping MP -->
			<if Advanced='"$%SubJobHighMP" != "\$%SubJobHighMP"'>
				<if advanced='%MP &gt;= ($%SubJobHighMP-60)'> <!-- disable all mp slots -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="main|sub|head|neck|lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</if>
				<elseif advanced='%MP&lt;($%SubJobHighMP-440)' /> <!-- get back waist -->
				<elseif advanced='%MP&lt;($%SubJobHighMP-385)'> <!-- get back lear -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="waist" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($%SubJobHighMP-370)'> <!-- get back rear -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|waist" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($%SubJobHighMP-340)'> <!-- get back back -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|waist" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($%SubJobHighMP-320)'> <!-- get back feet -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|back|waist" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($%SubJobHighMP-290)'> <!-- get back legs -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|back|waist|feet" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($%SubJobHighMP-260)'> <!-- get back rring -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($%SubJobHighMP-210)'> <!-- get back lring -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($%SubJobHighMP-180)'> <!-- get back hands -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($%SubJobHighMP-130)'> <!-- get back body -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($%SubJobHighMP-100)'> <!-- get back neck -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($%SubJobHighMP-80)'> <!-- get back head -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="neck|lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($%SubJobHighMP-60)'> <!-- get back main/sub -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="head|neck|lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
			</if>
			<else>
				<if advanced='%MP &gt;= ($OTHHighMP-60)'> <!-- these are exactly same as above, used for melee subjobs -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="main|sub|head|neck|lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" /> 
				</if>
				<elseif advanced='%MP&lt;($OTHHighMP-440)' /> <!-- get back waist -->
				<elseif advanced='%MP&lt;($OTHHighMP-385)'> <!-- get back lear -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="waist" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($OTHHighMP-370)'> <!-- get back rear -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|waist" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($OTHHighMP-340)'> <!-- get back back -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|waist" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($OTHHighMP-320)'> <!-- get back feet -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|back|waist" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($OTHHighMP-290)'> <!-- get back legs -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|back|waist|feet" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($OTHHighMP-260)'> <!-- get back rring -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($OTHHighMP-210)'> <!-- get back lring -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($OTHHighMP-180)'> <!-- get back hands -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($OTHHighMP-130)'> <!-- get back body -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
				<elseif advanced='%MP&lt;($OTHHighMP-100)'> <!-- get back neck -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($OTHHighMP-80)'> <!-- get back head -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="neck|lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>				
				<elseif advanced='%MP&lt;($OTHHighMP-60)'> <!-- get back main/sub -->
					<action type="ChangeLock" when="precast|midcast|aftercast|resting|idle|engaged" slot="head|neck|lear|rear|body|hands|lring|rring|back|waist|legs|feet" lock="yes" />
				</elseif>
			</else>
		</if>
 
		<!-- autosets -->
		<action type="equip" when="resting" set="Resting" />
		<action type="equip" when="idle" set="Standard" />
		<action type="equip" when="engaged" set="Engaged" />
 
		<if Status="Engaged"> <!-- aftercast stuff -->
			<action type="equip" when="aftercast" set="Engaged" />
			<if hpplt="75" tplt="100" Advanced='"$HaveFencersRing" = "1"'> <!-- fencers ring when engaged -->
				<action type="equip" when="aftercast">
					<lring lock="yes">Fencer's Ring</lring>
				</action>
			</if>
		</if>
		<else>
			<action type="equip" when="aftercast" set="Standard" />
		</else>
 
		<if TPGT="10"> <!-- keep TP -->
			<if Mode="OR" BuffActive="Signet|Sigil" Status="Engaged">
				<action type="Disable" slot="main|sub|ranged" />
			</if>
			<else>
				<action type="Enable" slot="main|sub|ranged" />
			</else>
		</if>
		<else>
			<action type="Enable" slot="main|sub|ranged" />
		</else>
 
		<if Type="WeaponSkill" NotTPLT="100"> <!-- gear up for Weapon Skills -->
			<action type="castdelay" delay=".2" />
			<action type="Equip" when="Precast" set="WeaponSkill" />
		</if>
 
		<if Spell="Convert"> <!-- max out mp when you convert -->
			<action type="castdelay" delay=".2" />
			<action type="Equip" when="Precast" set="Convert" />
		</if>
 
		<if ValidTarget="Self"> <!-- set default targets -->
			<action type="DefaultTarget" target="&lt;me&gt;" />
		</if>
		<elseif ValidTarget="Enemy">
			<action type="DefaultTarget" target="&lt;stnpc&gt;" />
		</elseif>
		<elseif ValidTarget="*Enemy*|Unknown">
			<action type="DefaultTarget" target="&lt;st&gt;" />
		</elseif>
		<else>
			<action type="DefaultTarget" target="&lt;stpc&gt;" />
		</else>
 
		<if Skill="*Magic"> <!-- rules for magic stuff -->
			<action type="equip" when="precast" set="FastCast" />
 
			<!--use correct staff Unknown and None stop  switching for blu physical spells-->
			<if advanced='("%SpellElement" = "Unknown") OR ("%SpellElement" = "None")' />
			<elseif notSkill="EnhancingMagic">
				<action type="equip" when="midcast">
					<main lock="yes">$%SpellElementStaff</main>
				</action>
			</elseif>
 
			<if Skill="EnfeeblingMagic">
				<action type="equip" when="midcast" set="Enfeebling-%Type" />
			</if>
			<elseif Skill="BlueMagic">
				<if advanced='"%SpellElement" = "Unknown"'>
					<action type="equip" when="midcast" set="BlueMagic-Physical" />
				</if>
				<else>
					<action type="equip" when="midcast" set="BlueMagic-Magical" />
				</else>
			</elseif>
			<elseif Skill="DarkMagic" Subjob="DRK" Advanced='"$HaveKillerMantle" = "1"'>
				<action type="equip" when="midcast">
					<back lock="yes">Killer Mantel</back>
				</action>
			</elseif>
			<elseif Skill="ElementalMagic" Subjob="BLM" Advanced='"$HaveWizardsEarring" = "1"'>
				<action type="equip" when="midcast">
					<lear lock="yes">Wizard's Earring</lear>
				</action>
			</elseif>
			<elseif NotSpell="Stoneskin|Refresh|Haste|Blink|Regen|Protect*|Shell*|Warp|Sneak|Invisible|Deodorize|Aquaveil|Erase|Escape|Teleport*">
				<action type="equip" when="midcast" set="%Skill" />
			</elseif>
 
			<!-- change cure spells when not enough mp -->
			<if Spell="Cure IV" MPLT="88">
				<action type="ChangeSpell" Spell="Cure III" />
			</if>
			<elseif Spell="Cure III" MPLT="46">
				<action type="ChangeSpell" Spell="Cure II" />
			</elseif>
			<elseif Spell="Cure II" MPLT="24">
				<action type="ChangeSpell" Spell="Cure" />
			</elseif>
 
			<!-- use obi if you got it -->
			<if Advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$Have%SpellElementObi" = "1"'>
				<action Type="Equip" When="MidCast">
					<waist lock="yes">$%SpellElementObi</waist>
				</action>
			</if>
		</if>
 
		<!-- announces in echo when sleep is wearing off -->
		<if advanced='"$SleepTimers"="1"'>
			<if Spell="Sleep II">
				<action type="command" when="aftercast">spellcast var inc sleepid;wait 45;input /echo [$sleepid:%spell] &lt;%target&gt; Wearing off in 45s</action>
				<action type="command" when="aftercast">wait 75;input /echo [$sleepid:%spell] &lt;%target&gt; Wearing off in 15s</action>
				<action type="command" when="aftercast">wait 85;input /echo [$sleepid:%spell] &lt;%target&gt; Wearing off in 5s;spellcast var dec sleepid;</action>
			</if>
			<elseif Spell="Sleep|Sleepga">
				<action type="command" when="aftercast">spellcast var inc sleepid;wait 45;input /echo [$sleepid:%spell] &lt;%target&gt; Wearing off in 15s</action>
				<action type="command" when="aftercast">wait 55;input /echo [$sleepid:%spell] &lt;%target&gt; Wearing off in 5s;spellcast var dec sleepid;</action>
			</elseif>
		</if>
 
		<!-- Cancel spells (midcast delay may need to be changed)   Requires Cancel plugin running -->
		<if Spell="Sneak" advanced='"%target"="&lt;me&gt;"'>
			<action type="command" when="midcast">cancel 71</action>
			<action type="midcastdelay" delay="1" />
		</if>
		<elseif Spell="Stoneskin">
			<action type="midcastdelay" delay="3" />
			<action type="equip" whem="midcast" set="SS" />
			<action type="command" when="midcast">cancel 37</action>
		</elseif>
		<elseif Spell="Blink">
			<action type="command" when="midcast">cancel 36</action>
			<action type="midcastdelay" delay="2" />
		</elseif>
		<elseif spell="Utsusemi: Ichi">
			<action type="midcastdelay" delay="1" />
			<action type="Command" when="midcast">cancel 66</action>
		</elseif>
		<elseif spell="Spectral Jig">
			<action type="Command" when="precast">cancel 71</action>
		</elseif>
	</rules>
</spellcast>
plugins/spellcast/userxml/rdm/slmn_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