ddaydj's Scholar Automatic Arts XML Snippet

Add this to your current XML to allow automatic Arts, Addenda and Stratagems. I recommend you also take a look at Aikar's BLM and WHM XMLs for the rest of your rules. Also a make sure you have Spellcast 2.21, it will not work with prior versions.

<?xml Version="1.0" ?>
<spellcast>
	<config	RequireVersion="2.21"/>
	<variables Clear="True">
<!--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>
	</variables>
	<rules>
<!--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">
						<action Type="Var" cmd="set StratagemConserveMP 1"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Enabled] Reduces the MP cost of your next spell by 50%.</action>
					</if>
					<else>
						<action Type="Var" cmd="set StratagemConserveMP 0"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Disabled]</action>
					</else>
				</if>
				<if Spell="Alacrity|Celerity">
					<if Advanced="$StratagemFastCast=0">
						<action Type="Var" cmd="set StratagemFastCast 1"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Enabled] Reduces the casting time and recast time of your next spell by 50%.</action>
					</if>
					<else>
						<action Type="Var" cmd="set StratagemFastCast 0"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Disabled]</action>
					</else>
				</if>
				<if Spell="Accession|Manifestation">
					<if Advanced="$StratagemAreaEffect=0">
						<action Type="Var" cmd="set StratagemAreaEffect 1"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Enabled] Extends the effect of your next spell to targets within range. MP cost and recast time are doubled.</action>
					</if>
					<else>
						<action Type="Var" cmd="set StratagemAreaEffect 0"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Disabled]</action>
					</else>
				</if>
				<if Spell="Ebullience|Rapture">
					<if Advanced="$StratagemPotency=0">
						<action Type="Var" cmd="set StratagemPotency 1"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Enabled] Enhances potency of your next spell.</action>
					</if>
					<else>
						<action Type="Var" cmd="set StratagemPotency 0"/>
						<action Type="AddtoChat" Color="121">[Stratagem: Disabled]</action>
					</else>
				</if>
				<action Type="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">
					<action Type="Var" cmd="set ChangeArt 1"/>
					<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
					<action Type="Command">Dark Arts</action>
					<action Type="CancelSpell"/>
					<action Type="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">
						<action Type="Var" cmd="set ChangeArt 1"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Dark Arts</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<action Type="Var" cmd="set ChangeAddendum 1"/>
					<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
					<action Type="Command">Addendum: Black</action>
					<action Type="CancelSpell"/>
					<action Type="Return"/>
				</if>
<!--Uses Stratagems if they have been added to the queue-->
				<if Advanced="$QueueStratagems=1">
					<action Type="Var" cmd="set StratagemPrep 1"/>
					<if Advanced="$StratagemConserveMP=1">
						<if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$ChangeArt=0">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Dark Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemConserveMP 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Parsimony</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<if Advanced="$StratagemFastCast=1">
						<if NotBuffActive="Dark Arts|Addendum: Black" Advanced="$ChangeArt=0">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Dark Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemFastCast 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Alacrity</action>
						<action Type="CancelSpell"/>
						<action Type="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">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Dark Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemAreaEffect 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Manifestation</action>
						<action Type="CancelSpell"/>
						<action Type="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">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell</action>
							<action Type="Command">Dark Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemPotency 0"/>
						<action Type="Command">wait 1.5;%Spell</action>
						<action Type="Command">Ebullience</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<action Type="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">
					<action Type="Var" cmd="set ChangeArt 1"/>
					<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
					<action Type="Command">Light Arts</action>
					<action Type="CancelSpell"/>
					<action Type="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">
						<action Type="Var" cmd="set ChangeArt 1"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Light Arts</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<action Type="Var" cmd="set ChangeAddendum 1"/>
					<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
					<action Type="Command">Addendum: White</action>
					<action Type="CancelSpell"/>
					<action Type="Return"/>
				</if>
<!--Uses Stratagems if they have been added to the queue-->
				<if Advanced="$QueueStratagems=1">
					<action Type="Var" cmd="set StratagemPrep 1"/>
					<if Advanced="$StratagemConserveMP=1">
						<if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Light Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemConserveMP 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Penury</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<if Advanced="$StratagemFastCast=1">
						<if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Light Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemFastCast 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Celerity</action>
						<action Type="CancelSpell"/>
						<action Type="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">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Light Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemAreaEffect 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Accession</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<if Advanced="$StratagemPotency=1" Spell="Banish*|Cure*|Dia*">
						<if NotBuffActive="Light Arts|Addendum: White" Advanced="$ChangeArt=0">
							<action Type="Var" cmd="set ChangeArt 1"/>
							<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
							<action Type="Command">Light Arts</action>
							<action Type="CancelSpell"/>
							<action Type="Return"/>
						</if>
						<action Type="Var" cmd="set StratagemPotency 0"/>
						<action Type="Command">wait 1.5;%Spell %SpellTargetRaw;</action>
						<action Type="Command">Rapture</action>
						<action Type="CancelSpell"/>
						<action Type="Return"/>
					</if>
					<action Type="Var" cmd="set StratagemPrep 0"/>
				</if>
			</if>
			<action Type="Var" cmd="set ChangeArt 0"/>
			<action Type="Var" cmd="set ChangeAddendum 0"/>
		</if>
	</rules>
</spellcast>
plugins/spellcast/userxml/sch/ddaydj_sch.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