<!--- 
	Written by:
		Windower Forum: Genesisx
	Last Updated: 10/1/11
	Current Version: Skillup.xml v1.5
	--->
<spellcast xmlns:xi="http://www.w3.org/2001/XInclude">
	<!--- SpellCast Configurations --->
	<config
		Debug="false"
		ShowSpellInfo="false"
		ShowGearSwaps="false"
		/>
	<!--- SpellCast Variables --->
	<variables clear="true">
		<var name="SkillUp">1</var>  <!--- /Heal Break DO NOT ALTER --->
		<var name="FirstSetup">0</var> <!--- First Run Display Var DO NOT ALTER--->
		<var name="SkillCycle">1</var> <!--- Spell Cycle NO NOT ALTER --->
		<var name="CurrentSpell">cure</var> <!--- Spell Cycle NO NOT ALTER --->
 
		<!--- You can alter these variables, Time is in seconds --->
		<var name="Show.Debug">True</var> <!--- Show Process/Debug Info True/False --->
 
		<var name="RestTime4Smn">3</var> <!--- Set REST time for SMN Skill --->
		<var name="RestTime4Cure">3</var> <!--- Set REST time for Healing Skill --->
		<var name="RestTime4Protect">4</var> <!--- Set REST time for Protect Shell Enhancing Skill --->
		<var name="RestTime4Bar">5</var> <!--- Set REST time for Bar type spells --->
		<var name="RestTime4Blaze">5</var> <!--- Set REST time for Blaze Spikes --->
	</variables>
 
	<sets>
		<!--- Specify Resting / Standard gear if desired --->
		<group default="yes" name="Job">
			<set name = "Standard" />
			<set name = "Resting Gear" />
		</group>
	</sets>
 
	<rules>
		<!--- Setup Gear and /Heal Break Variable for Resting & Idle --->
		<equip when="idle" set="Standard" />
		<equip when="resting" set="Resting Gear" />
 
		<!--- Setup First Run Notification --->
		<if advanced='$FirstSetup != 1'>
			<command>bind ^escape input /echo Exiting.;reload spellcast;unbind ^escape;</command>
			<addtochat color="121">-- SkillUp.Xml v1.5 ---</addtochat>
			<addtochat color="121">Press CTRL+Escape at anytime to unload spellcast and exit SkillUp.Xml</addtochat>
			<addtochat color="121">To start cast one of these spells:</addtochat>
			<addtochat color="121">Carbuncle, Cure, Protect, Barfira, Blaze Spikes</addtochat>
			<var cmd="set FirstSetup 1" />
			<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Show First Run Note</addtochat></if>
		</if>
 
		<if status ="Idle">
			<if MPPLT="10">
			<if Job="SMN/*|*/SMN">
				<changespell spell="Release" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: SMN job detected changing action to Release.</addtochat></if>
			</if>
				<command when="midcast">wait 5;input /heal on;wait 5;input /ma "$currentspell"</command>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Low MP detected sending /heal on action in 5 sec.</addtochat></if>
				<return />
			</if>
			<elseif notbuffactive="refresh" job="RDM/*" MainJobLvlGT="81" >
				<changespell spell="Refresh II" />
				<changetarget target="<me>" />
				<command when="aftercast">wait 3;input /ma "$currentspell"</command>
			</elseif>
			<elseif notbuffactive="refresh" job="*/RDM" SubJobLvlGT="40" >
				<changespell spell="Refresh" />
				<changetarget target="<me>" />
				<command when="aftercast">wait 3;input /ma "$currentspell"</command>
			</elseif>
		</if>
 
		<if Status ="Resting">
			<if MPPGT="99">
				<command when="precast">input /heal off;wait 5;input /ma "$currentspell"</command>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Full MP Detected sending /heal off action.</addtochat></if>
				<cancelspell />
				<return />
			</if>
			<else>
				<command when="precast">wait 5;input /ma "$currentspell"</command>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Currently Resting, MP is not 100%. Continue resting.</addtochat></if>
				<cancelspell />
				<return />
			</else>
		</if>
 
		<if spell="Carbuncle"> <!--- Summoning Magic Skill-Up Segment --->
			<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Carbuncle Spell Detected, Processing Summoner Segment.</addtochat></if>
			<var cmd="set currentspell Carbuncle" />
			<if advanced='$SkillCycle = 1'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 2" />
				<changespell spell="Carbuncle" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 1 Processed.</addtochat></if>
			</if>
			<elseif advanced='$SkillCycle = 2'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 3" />
				<changespell spell="Ifrit" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 2 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 3'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 4" />
				<changespell spell="Titan" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 3 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 4'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 5" />
				<changespell spell="Leviathan" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 4 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 5'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 6" />
				<changespell spell="Garuda" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 5 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 6'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 7" />
				<changespell spell="Shiva" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 6 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle == 7'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 8" />
				<changespell spell="Ramuh" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 7 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 8'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 9" />
				<changespell spell="Fenrir" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 8 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 9'>
				<command when="aftercast">wait $RestTime4Smn;input /ja "Release";wait $RestTime4Smn;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 1" />
				<changespell spell="Diabolos" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 9 Processed.</addtochat></if>
			</elseif>
		</if>
 
		<elseif spell="Cure" > <!--- Healing Magic Skill-Up Segment --->
			<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cure Spell Detected, Processing Healing Magic Segment.</addtochat></if>
			<var cmd="set currentspell Cure" />
			<if advanced='$SkillCycle > 3'>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Incorrect variable detected for this group, resetting to 1.</addtochat></if>
				<command>wait $RestTime4Cure;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 1" />	
				<cancelspell />
			</if>
			<elseif advanced='$SkillCycle = 1'>
				<command when="aftercast">wait $RestTime4Cure;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 2" />
				<changespell spell="Cure" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 1 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 2'>
				<command when="aftercast">wait $RestTime4Cure;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 3" />
				<changespell spell="Cure II" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 2 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 3'>
				<command when="aftercast">wait $RestTime4Cure;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 1" />
				<changespell spell="Cure III" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 3 Processed.</addtochat></if>
			</elseif>
		</elseif>
 
		<elseif spell="Protect" > <!--- Enhancing Magic Skill-Up Segment --->
			<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Protect Spell Detected, Processing WHM/RDM Enhancing Segment.</addtochat></if>
			<var cmd="set currentspell Protect" />
			<if advanced='$SkillCycle > 4'>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Incorrect variable detected for this group, resetting to 1.</addtochat></if>
				<var cmd="set SkillCycle 1" />
				<command>wait $RestTime4Protect;input /ma "$currentspell"</command>
				<cancelspell />
			</if>
			<elseif advanced='$SkillCycle = 1'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 2" />
				<changespell spell="Protect" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 1 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 2'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 3" />
				<changespell spell="Shell" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 2 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 3'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 4" />
				<changespell spell="Protect II" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 3 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 4'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 1" />
				<changespell spell="Shell II" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 4 Processed.</addtochat></if>
			</elseif>
		</elseif>
 
		<elseif spell="Barfire" > <!--- Enhancing Magic Skill-Up Segment --->
			<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Barfire Spell Detected, Processing RDM Enhancing Segment.</addtochat></if>
			<var cmd="set currentspell Barfire" />
			<if advanced='$SkillCycle > 4'>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Incorrect variable detected for this group, resetting to 1.</addtochat></if>
				<var cmd="set SkillCycle 1" />
				<command>wait $RestTime4Bar;input /ma "$currentspell"</command>
				<cancelspell />
			</if>
			<elseif advanced='$SkillCycle = 1'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 2" />
				<changespell spell="Barfire" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 1 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 2'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 3" />
				<changespell spell="Baraero" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 2 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 3'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 4" />
				<changespell spell="Barstone" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 3 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 4'>
				<command when="aftercast">wait $RestTime4Protect;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 1" />
				<changespell spell="Barthunder" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 4 Processed.</addtochat></if>
			</elseif>
		</elseif>
 
		<elseif spell="Blaze Spikes" > <!--- Blm Magic Skill-Up Segment --->
		<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Blaze Spikes Spell Detected, Processing BLM Enhancing Segment.</addtochat></if>
			<var cmd="set currentspell Blaze Spikes" />
			<if advanced='$SkillCycle > 3'>
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Incorrect variable detected for this group, resetting to 1.</addtochat></if>
				<var cmd="set SkillCycle 1" />
				<command>wait $RestTime4Blaze;input /ma "$currentspell"</command>
				<cancelspell />
			</if>
			<elseif advanced='$SkillCycle = 1'>
				<command when="aftercast">wait $RestTime4Blaze;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 2" />
				<changespell spell="Blaze Spikes" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 1 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle == 2'>
				<command when="aftercast">wait $RestTime4Blaze;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 3" />
				<changespell spell="Ice Spikes" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 2 Processed.</addtochat></if>
			</elseif>
			<elseif advanced='$SkillCycle = 3'>
				<command when="aftercast">wait $RestTime4Blaze;input /ma "$currentspell"</command>
				<var cmd="set SkillCycle 1" />
				<changespell spell="Shock Spikes" />
				<changetarget target="<me>" />
				<!-- Debug info --> <if advanced='"$Show.Debug" == "True"'><addtochat color="67">Debug Process:: Cycle Process 3 Processed.</addtochat></if>
			</elseif>
		</elseif>
	</rules>
</spellcast>