Narkoid's WHM (2.3)

I in no way take credit for all of this code it's just a mash up of a bunch of others that works well for me.


Most everything can be turned on or of with var's. For the sleep timers i added suport for Repose and use addtochat instead of spamming it in party but change if you want. Also i have made a simple auto echo drop usage rule for if silenced. (it works fine on my comp but some people have it glitch out some it works fine)

whm.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">
                <ammo>Fortune Egg</ammo>
                <head>Walahra Turban</head>
                <neck>Ajari Necklace</neck>
                <lear>Geist Earring</lear>
                <rear>Antivenom Earring</rear>
                <body>Cleric's Briault</body>
                <hands>Blessed Mitts</hands>
                <lring>Sapphire Ring</lring>
                <rring>Aquamerine Ring</rring>
                <back>Rainbow Cape</back>
                <waist>Hierarch Belt</waist>
                <legs>Blessed Trousers</legs>
                <feet>Rostrum Pumps</feet>
            </set>
            <set name = "Engaged"/>
            <set name = "WS"/>
            <set name = "WSHexa" 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">
                <feet>Rostrum Pumps</feet>
            </set>
            <set name = "Mnd" baseset = "Fastcast">
                <head>Zenith Crown</head>
				<hands>Blessed Mitts</hands>
                <body>Errant Hpl.</body>
                <legs>Errant Slops</legs>
                <feet>Errant Pigaches</feet>
                <lring>Sapphire Ring</lring>
				<rring>Aquamerine Ring</rring>
            </set>
            <set name = "Int" baseset = "Fastcast">
                <head>Zenith Crown</head>
                <body>Errant Hpl.</body>
                <legs>Errant Slops</legs>
                <lring>Eremite's ring</lring>
                <rring>Eremite's ring</rring>
            </set>
            <set name = "EnfeeblingMagic">
                <hands>Cleric's Mitts</hands>
                <head>Elite Beret</head>
            </set>
            <set name = "DarkMagic" baseset = "Int"/>
            <set name = "EnhancingMagic">
                <feet>Cleric's Duckbills</feet>
            </set>
			<set name = "BarSpell" baseset = "EnhancingMagic">
				<legs>Cleric's Pantaln.</legs>
			</set>
            <set name = "ElementalMagic" baseset = "Int">
                <head>Elite Beret</head>
            </set>
            <set name = "HealingMagic" baseset = "Mnd">
                <body>Noble's Tunic</body>
				<legs>Cleric's Pantaln.</legs>
			</set>
            <set name = "DivineMagic" baseset = "Mnd">
                <head>Elite Beret</head>
                <rear>Knight's Earring</rear>
				<legs>Healer's Pantaln.</legs>
            </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>
                <head>Walahra Turban</head>
                <neck>Ajari Necklace</neck>
                <lear>Geist Earring</lear>
                <rear>Antivenom Earring</rear>
                <body>Cleric's Briault</body>
                <hands>Blessed Mitts</hands>
                <lring>Sapphire Ring</lring>
                <rring>Aquamerine Ring</rring>
                <back>Rainbow Cape</back>
                <waist>Hierarch Belt</waist>
                <legs>Blessed Trousers</legs>
                <feet>Rostrum Pumps</feet>
            </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>
            </set>
            <set name = "Engaged" BaseSet = "Standard" load = "no">
                <head>Walahra Turban</head>
				<waist>Life Belt</waist>
            </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">Purgatory Mace</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>
        <var name="AutoEchodrop">1</var>
		<var name="SleepTimers">1</var>
		<xi:include href="autoarts.xml" xpointer="/includes/include[@name='AutoArtsVars']/*" />
    </variables>
   <rules>
        <if status = "Dead">
            <cancelspell />
            <return />
        </if>
        <if equipMain = "Purgatory Mace" 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">
                <equip
                    When = "midcast"
                    Set = "%Skill-%Type" />
        </if>
		<if Spell = "Bar*">
                <equip
                    When = "midcast"
                    Set = "BarSpell" />
        </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 = "Hexa Strike">
            <if TargetDistanceGT = "4">
                <cancelspell />
                <return />
            </if>
            <equip
                when = "Precast"
                Set = "WSHexa" />
            <castdelay delay = "0.2" />
        </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 = "stun">
            <command when = "midcast">input /p xFDx02x02x1Bx5BxFD >> &lt;t&gt; >> xFDx02x02x15x0ExFD</command>
            </if>
            <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='CancelRules']/*" />
            <xi:include href="include.xml" xpointer="/includes/include[@name='CureTierReductionRules']/*" />
			<xi:include href="include.xml" xpointer="/includes/include[@name='AutoBuffRules']/*" />
            <elseif spell="Stoneskin">
                <equip when="precast" set= "Stoneskin" />
                <equip when="aftercast" set= "Standard" />
            </elseif>
		<if spell="Esuna|Auspice">
            <if
                notbuffactive = "Afflatus Misery"
                SpellTargetName = "narkoid">
                <castdelay delay = "3" />
                <command when = "Precast">input /raw /ja "Afflatus Misery" &lt;me&gt;</command>
            </if>
        </if>
		<if subjob = "SCH">
			<xi:include href="autoarts.xml" xpointer="/includes/include[@name='AutoArtsRules']/*" />
		</if>
         <if buffactive="Silence" skill="*Magic|Ninjutsu|Singing" Advanced = '"$AutoEchodrop"="1"'>
	    <cancelspell />
	    <command>input /item "Echo Drops" &lt;me&gt;</command>
	    <castdelay delay = "4" />
	    <command>input /ma %Spell %SpellTarget</command>
         </if>
		<equip
                When = "Aftercast"
                Set = "$Set" />
        </rules>
    </spellcast>

include.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 mainjob="RDM">
                <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>
			<if advanced='("%MainJob" = "RDM" AND "%MainJobLVL" > "32") OR ("%SubJob" = "RDM" AND "%SubJobLVL" > "32")'>
				<if notbuffactive = "Phalanx">
					<changespell spell = "phalanx" />
					<changetarget Target = "&lt;me>" />
				</if>
			</if>
            <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>
        </if>
	</include>
	<include name="CureTierReductionRules">
		<if Spell="Cure*" advanced = '"$CureTierReduction"=="1"'>
			<if Spell="Cure V">
				<if mainjob="RDM|SCH|BLM">
					<action type="ChangeSpell" Spell="Cure IV"/>
					<action type="addtochat" color="56">[ERROR] %MainJob 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|SCH" 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 mainjob="BLM">
					<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>
			<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>

autoarts.xml

<?xml version="1.0" encoding="utf-8"?>
<includes xmlns:xi="http://www.w3.org/2001/XInclude">
    <include name="AutoArtsVars">
        <!--Do not change these-->
        <var Name="ChangeAddendum">0</var>
        <var Name="ChangeArt">0</var>
        <var Name="StratagemPrep">0</var>
        <var Name="StratagemConserveMP">0</var>
        <var Name="StratagemFastCast">0</var>
        <var Name="StratagemAreaEffect">0</var>
        <var Name="StratagemPotency">0</var>
        <!--Set these to 1 if you want Spellcast to automatically change your Arts and Addendum to match the spell you're using, otherwise set to 0-->
        <var Name="AutomaticArts">1</var>
        <var Name="AutomaticAddendum">1</var>
        <!--Set this to 1 if you want Stratagems to be queued and automatically used before a spell, otherwise set to 0 (Recommended if using Automatic Arts/Addendums)-->
        <var Name="QueueStratagems">1</var>
    </include>
    <include name="AutoArtsRules">
        <!--Queues up Stratagems for use before spells if enabled-->
        <if Spell="Accession|Alacrity|Celerity|Ebullience|Manifestation|Parsimony|Penury|Rapture">
            <if Advanced="$QueueStratagems=1 AND $StratagemPrep=0">
                <if Spell="Parsimony|Penury">
                    <if Advanced="$StratagemConserveMP=0">
                        <var cmd="set StratagemConserveMP 1" />
                        <addtochat Color="121">[Stratagem: Enabled] Reduces the MP cost of your next spell by 50%.</addtochat>
                    </if>
                    <else>
                        <var cmd="set StratagemConserveMP 0" />
                        <addtochat Color="121">[Stratagem: Disabled]</addtochat>
                    </else>
                </if>
                <if Spell="Alacrity|Celerity">
                    <if Advanced="$StratagemFastCast=0">
                        <var cmd="set StratagemFastCast 1" />
                        <addtochat Color="121">[Stratagem: Enabled] Reduces the casting time and recast time of your next spell by 50%.</addtochat>
                    </if>
                    <else>
                        <var cmd="set StratagemFastCast 0" />
                        <addtochat Color="121">[Stratagem: Disabled]</addtochat>
                    </else>
                </if>
                <if Spell="Accession|Manifestation">
                    <if Advanced="$StratagemAreaEffect=0">
                        <var cmd="set StratagemAreaEffect 1" />
                        <addtochat Color="121">[Stratagem: Enabled] Extends the effect of your next spell to targets within range. MP cost and recast time are doubled.</addtochat>
                    </if>
                    <else>
                        <var cmd="set StratagemAreaEffect 0" />
                        <addtochat Color="121">[Stratagem: Disabled]</addtochat>
                    </else>
                </if>
                <if Spell="Ebullience|Rapture">
                    <if Advanced="$StratagemPotency=0">
                        <var cmd="set StratagemPotency 1" />
                        <addtochat Color="121">[Stratagem: Enabled] Enhances potency of your next spell.</addtochat>
                    </if>
                    <else>
                        <var cmd="set StratagemPotency 0" />
                        <addtochat Color="121">[Stratagem: Disabled]</addtochat>
                    </else>
                </if>
                <cancelspell />
            </if>
        </if>
        <if Type="BlackMagic|WhiteMagic">
            <if Type="BlackMagic">
                <!--Uses to Dark Arts if casting a Black Magic spell-->
                <if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$AutomaticArts=1 AND $ChangeArt=0">
                    <var cmd="set ChangeArt 1" />
                    <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                    <command>Dark Arts</command>
                    <cancelspell />
                    <return />
                </if>
                <!--Uses Addendum: Black if required to cast spell-->
                <if Spell="Sleep*|Dispel|*IV" NotBuffActive="Addendum: Black|Enlightenment" Advanced='$AutomaticAddendum=1 AND $ChangeAddendum=0
                    AND ("%Spell"="Aero IV" OR "%Spell"="Blizzard IV" OR "%Spell"="Fire IV" OR "%Spell"="Sleep II" OR "%Spell"="Stone IV" OR "%Spell"="Thunder IV" OR "%Spell"="Water IV"
                    OR (("%Spell"="Dispel" AND ("%SubJob"!="RDM" OR ("%SubJob"="RDM" AND %SubJobLVL&lt;32)))
                    OR ("%Spell"="Sleep" AND (("%SubJob"!="BLM" AND "%SubJob"!="DRK" AND "%SubJob"!="RDM")
                    OR (("%SubJob"="BLM" AND %SubJobLVL&lt;20)
                    OR ("%SubJob"="DRK" AND %SubJobLVL&lt;30)
                    OR ("%SubJob"="RDM" AND %SubJobLVL&lt;25))))))'>
                    <if NotBuffActive="Dark Arts" Advanced="$ChangeArt=0">
                        <var cmd="set ChangeArt 1" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Dark Arts</command>
                        <cancelspell />
                        <return />
                    </if>
                    <var cmd="set ChangeAddendum 1" />
                    <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                    <command>Addendum: Black</command>
                    <cancelspell />
                    <return />
                </if>
                <!--Uses Stratagems if they have been added to the queue-->
                <if Advanced="$QueueStratagems=1">
                    <var cmd="set StratagemPrep 1" />
                    <if Advanced="$StratagemConserveMP=1">
                        <if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Dark Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemConserveMP 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Parsimony</command>
                        <cancelspell />
                        <return />
                    </if>
                    <if Advanced="$StratagemFastCast=1">
                        <if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Dark Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemFastCast 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Alacrity</command>
                        <cancelspell />
                        <return />
                    </if>
                    <if Advanced="$StratagemAreaEffect=1" Spell="Absorb*|Aspir|Bind|Bio*|Blind|Dispel|Drain|Gravity|Klimaform|Poison|Sleep*|Stun">
                        <if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Dark Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemAreaEffect 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Manifestation</command>
                        <cancelspell />
                        <return />
                    </if>
                    <if Advanced="$StratagemPotency=1" Spell="Aero*|Aspir|Bio*|Blizzard*|Drain|Fire*|Stone*|Thunder*|Water*|*helix">
                        <if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell</command>
                            <command>Dark Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemPotency 0" />
                        <command>wait 1.5;%Spell</command>
                        <command>Ebullience</command>
                        <cancelspell />
                        <return />
                    </if>
                    <var cmd="set StratagemPrep 0" />
                </if>
            </if>
            <if Type="WhiteMagic">
                <!--Uses to Light Arts if casting a White Magic spell-->
                <if NotBuffActive="Light Arts|Addendum: White" Advanced="$AutomaticArts=1 AND $ChangeArt=0">
                    <var cmd="set ChangeArt 1" />
                    <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                    <command>Light Arts</command>
                    <cancelspell />
                    <return />
                </if>
                <!--Uses Addendum: White if required to cast spell-->
                <if Spell="Erase|Raise II|Reraise*|*na" NotBuffActive="Addendum: White|Enlightenment" Advanced='$AutomaticAddendum=1 AND $ChangeAddendum=0
                    AND ("%Spell"="Raise II" OR "%Spell"="Reraise II" OR "%Spell"="Stona" OR ("%SubJob"!="WHM" OR ("%SubJob"="WHM"
                    AND (("%Spell"="Blindna" AND %SubJobLVL&lt;14)
                    OR ("%Spell"="Cursna" AND %SubJobLVL&lt;29)
                    OR ("%Spell"="Erase" AND %SubJobLVL&lt;32)
                    OR ("%Spell"="Paralyna" AND %SubJobLVL&lt;9)
                    OR ("%Spell"="Poisona" AND %SubJobLVL&lt;6)
                    OR ("%Spell"="Reraise" AND %SubJobLVL&lt;33)
                    OR ("%Spell"="Silena" AND %SubJobLVL&lt;19)
                    OR ("%Spell"="Viruna" AND %SubJobLVL&lt;34)))))'>
                    <if NotBuffActive="Light Arts" Advanced="$ChangeArt=0">
                        <var cmd="set ChangeArt 1" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Light Arts</command>
                        <cancelspell />
                        <return />
                    </if>
                    <var cmd="set ChangeAddendum 1" />
                    <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                    <command>Addendum: White</command>
                    <cancelspell />
                    <return />
                </if>
                <!--Uses Stratagems if they have been added to the queue-->
                <if Advanced="$QueueStratagems=1">
                    <var cmd="set StratagemPrep 1" />
                    <if Advanced="$StratagemConserveMP=1">
                        <if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Light Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemConserveMP 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Penury</command>
                        <cancelspell />
                        <return />
                    </if>
                    <if Advanced="$StratagemFastCast=1">
                        <if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Light Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemFastCast 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Celerity</command>
                        <cancelspell />
                        <return />
                    </if>
                    <if Advanced="$StratagemAreaEffect=1" Spell="Aquaveil|Bar*|Blink|Cure*|Deodorize|En*|Erase|Invisible|Phalanx|Protect*|Regen*|Shell*|Sneak|Stoneskin|*na|*storm" NotSpell="*ra">
                        <if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Light Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemAreaEffect 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Accession</command>
                        <cancelspell />
                        <return />
                    </if>
                    <if Advanced="$StratagemPotency=1" Spell="Banish*|Cure*|Dia*">
                        <if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
                            <var cmd="set ChangeArt 1" />
                            <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                            <command>Light Arts</command>
                            <cancelspell />
                            <return />
                        </if>
                        <var cmd="set StratagemPotency 0" />
                        <command>wait 1.5;%Spell %SpellTargetRaw;</command>
                        <command>Rapture</command>
                        <cancelspell />
                        <return />
                    </if>
                    <var cmd="set StratagemPrep 0" />
                </if>
            </if>
            <var cmd="set ChangeArt 0" />
            <var cmd="set ChangeAddendum 0" />
        </if>
    </include>
</includes>

For the auto buffs you need this in your autoexec file

    <register event = "(regex)(losebuff_(haste|refresh|stoneskin|reraise|phalanx))(/regex)">input /ma "Stonega V" &lt;me&gt;</register>
plugins/spellcast/userxml/whm/narkoids_whm.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