Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" ?>
- <!--
- ===================================================
- ||
- || Aikar's BLM SpellCast Template
- ||
- || This file is designed to be easily used by others.
- || Simply editing in your own gear and modifying the variables up top
- || should be all that is needed to make use of this file.
- ||
- || Please be sure to configure the variables prior to use.
- ||
- || If you have any questions - Please post on the forums.
- ===================================================
- -->
- <spellcast>
- <config RequireVersion="2.22" />
- <variables>
- <!-- Sleep timers, announces to chat when sleep is wearing off. Set to 0 to not use. -->
- <!-- (note: this is sort of very obvious usage of 3rd party programs, so turn off when around people you dont trust -->
- <var name="SleepTimers">0</var>
- <!-- use BLM AF2 pants or not? Set to 0 if you do not have it -->
- <var name="BLMAF2Pants">1</var>
- <!-- use Sorc ring or not? set to 0 if you do not have it or dangerous location -->
- <var name="Ring">1</var>
- <!-- use Ugg Pendant or not? set to 0 if you do not have it. -->
- <var name="UggPendant">1</var>
- <!-- Set HP Variables for what the maximum amount of HP you can have to trigger sorc ring is for each subjob -->
- <var name="RDMRingHP">597</var>
- <var name="WHMRingHP">583</var>
- <var name="NINRingHP">597</var>
- <!-- Elemental Staffs, input what staff to use for each element here -->
- <var name="IceStaff">Varuna's Staff +2</var>
- <var name="DarkStaff">Pluto's Staff</var>
- <var name="ThunderStaff">Jupiter's Staff</var>
- <var name="WindStaff">Auster's Staff</var>
- <var name="FireStaff">Vulcan's staff</var>
- <var name="EarthStaff">Terra's staff</var>
- <var name="LightStaff">Light Staff</var>
- <var name="WaterStaff">Neptune's staff</var>
- <!-- Elemental Obi's, set to 1 for the ones you have. -->
- <var name="DarkObi">1</var>
- <var name="LightObi">1</var>
- <var name="ThunderObi">1</var>
- <var name="IceObi">1</var>
- <var name="FireObi">0</var>
- <var name="WindObi">0</var>
- <var name="WaterObi">0</var>
- <var name="EarthObi">0</var>
- </variables>
- <sets>
- <group name="Main" default="yes">
- <set name="Standard">
- <main>$EarthStaff</main>
- <sub>Bugard Strap +1</sub>
- <ammo>Phantom Tathlum</ammo>
- <head>Goetia Petasos +2</head>
- <neck>Goetia Chain</neck>
- <lear>Novio earring</lear>
- <rear>Hecate's Earring</rear>
- <body>Goetia Coat +2</body>
- <hands>Serpentes cuffs</hands>
- <lring>Dark ring</lring>
- <rring>Dark Ring</rring>
- <back>Goetia Mantle</back>
- <waist>Cognition Belt</waist>
- <legs>Goetia Chausses +2</legs>
- <feet>Herald's gaiters</feet>
- </set>
- <set name="FastCast">
- <waist>Swift Belt</waist>
- <rear>Loquac. Earring</rear>
- </set>
- <set name="Resting" BaseSet="Standard">
- <body>Wizard's Coat +1</body>
- <main>$DarkStaff</main>
- <sub>Bugard Strap +1</sub>
- <head>Goliard chapeau</head>
- <waist>Qiqirn Sash +1</waist>
- <feet>Goliard clogs</feet>
- <hands>Oracle's Gloves</hands>
- <neck>Grandiose chain</neck>
- <lear>Magnetic earring</lear>
- <rear>Moldavite Earring</rear>
- <legs>Sagacity Lappas</legs>
- <back>Gleeman's cape</back>
- </set>
- <set name="MinusHP">
- <lring>Bifrost Ring</lring>
- <head>Zenith Crown</head>
- <back>Geotia mantle</back>
- <hands>Brook Gages</hands>
- <legs>Zenith slacks</legs>
- <waist>Penitent's rope</waist>
- </set>
- <set name="FullINT" Baseset="FullDamage">
- <head>Goetia Petasos +2</head>
- </set>
- <set name="FullDamage" BaseSet="Standard">
- <legs>Goetia Chausses +2</legs>
- <ammo>Phantom Tathlum</ammo>
- <neck>Goetia Chain</neck>
- <lear>Novio earring</lear>
- <rear>Hecate's Earring</rear>
- <head>Goetia Petasos +2</head>
- <body>Goetia coat +2</body>
- <hands>Goetia Gloves +2</hands>
- <lring>Diamond ring</lring>
- <rring>Sorcerer's Ring</rring>
- <back>Goetia Mantle</back>
- <sub>Bugard Strap +1</sub>
- <feet>Goetia Sabots +2</feet>
- </set>
- <set name="HighResist" BaseSet="FullDamage">
- <hands>Wizard's Gloves +1</hands>
- <neck>Elemental Torque</neck>
- <back>Gleeman's cape</back>
- <head>Goetia Petasos +1</head>
- <feet>Goliard clogs</feet>
- </set>
- <set name="MidResist" BaseSet="FullDamage">
- <head>Goetia Petasos +2</head>
- <hands>Zenith mitts</hands>
- </set>
- <set name="DarkMagic">
- <feet>Goetia Sabots +2</feet>
- <legs>Portent pants</legs>
- <lear>Abyssal Earring</lear>
- <head>Walahra Turban</head>
- <neck>Dark Torque</neck>
- <hands>Sorcerer's Gloves</hands>
- <body>Nashira manteel</body>
- <waist>Swift Belt</waist>
- <rring>Balrahn's ring</rring>
- </set>
- <set name="EnfeeblingMagic">
- <feet>Goliard Clogs</feet>
- <body>Wizard's Coat +1</body>
- <head>Igqira Tiara</head>
- <neck>Enfeebling Torque</neck>
- <hands>Oracle's Gloves</hands>
- <legs>Portent pants</legs>
- <rring>Balrahn's ring</rring>
- </set>
- <set name="HealingMagic">
- </set>
- <set name="DivineMagic">
- </set>
- <set name="Mana Wall">
- <feet>Goetia Sabots +2</feet>
- </set>
- <set name="EnhancingMagic">
- <main lock="yes">Kirin's Pole</main>
- <sub>Bugard Strap +1</sub>
- <body>Augur's Jaseran</body>
- <neck>Promise badge</neck>
- <head>Teal chapeau</head>
- <feet>Goliard clogs</feet>
- <back>Aslan cape</back>
- <rring>Sapphire ring</rring>
- <hands>yigit gages</hands>
- <waist>Penitent's rope</waist>
- </set>
- </group>
- </sets>
- <rules>
- <!--Manawall with Goetia Sabots +2-->
- <if mode="OR" buffactive="Mana wall" Spell="Mana Wall">
- <equip when="Precast|Midcast|Aftercast|Autoset"><Feet lock="true">Goetia Sabots +2</Feet></equip>
- </if>
- <!--Tiny delay to ensure Sorc. Ring activates-->
- <if notspell="Stun|Sleep*|bind|gravity|drain|aspir|escape|warp*|retrace|teleport-*|reraise|raise|tractor|poison*|bio*|burn|shock|choke|rasp|frost|drown">
- <castdelay delay="0.2" />
- </if>
- <!-- utility: if targetting a monster, but casting a spell that can not be cast on monsters, then cast on self (buffs). -->
- <if SpellTargetType="MONSTER" NotValidTarget="*Enemy*" ValidTarget="*Self*">
- <action type="changetarget" target="<me>" />
- </if>
- <if SpellTargetType="NONE" ValidTarget="*Self*">
- <action type="changetarget" target="<me>" />
- </if>
- <if Spell="Escape|Warp|Warp II|Retrace|Teleport-*|Reraise|Tractor"> <action type="return" /> </if>
- <!-- set of gear to equip when finished casting a spell or coming back from resting mp (idle set) -->
- <action type="equip" when="Idle|aftercast" set="Standard" />
- <!-- set of gear to equip when resting -->
- <action type="equip" when="Resting" set="Resting" />
- <if Spell="Stun">
- <!-- equip gear that helps stun, and nothing else -->
- <action type="equip" set="DarkMagic|FastCast">
- <main>$ThunderStaff</main>
- </action>
- <!-- these codes just print Stun in auto translate into chat. -->
- <action type="command">input /p \xFD\x07\x02\x12\xFC\xFD >> <%SpellTarget></action>
- </if>
- <else>
- <!-- equip fast cast gear -->
- <action type="equip" Set="FastCast" />
- <!-- Elemental Grip checks. Are we casting an enfeeble, or are we casting on a resistant mob? -->
- <if mode="OR" NotSkill="ElementalMagic" Spell="Frost|Drown|Rasp|Burn|Shock|Choke" SpellTargetName="Tiamat|Genbu|Suzaku|Seiryu|Byakko|Kirin|Jormungand|Ouryu|Vrtra|Cerberus|Khimaira|Fafnir|Nidhogg|Aspidochelone|King Behemoth|Tinnin|Sarameya|Tyger|Jailer of Love">
- <if Advanced='"$%SpellElementGrip" == "1"'>
- <action type="equip" when="midcast">
- <sub lock="true">%SpellElement Grip</sub>
- </action>
- </if>
- </if>
- <!-- if were handling spells -->
- <if Skill="*Magic">
- <!-- if this is elemental magic (nukes/dot's, then do special handling -->
- <if Skill="ElementalMagic">
- <if Spell="Frost|Drown|Rasp|Burn|Shock|Choke">
- <!-- equip elemental/INT gear for DoT's -->
- <action type="equip" when="precast|midcast" Set="FullINT" />
- </if>
- <else>
- <!-- this is an actual nuke. Check target to be a known high resist mob (and that ES is not active) -->
- <if SpellTargetName="Tiamat|Genbu|Suzaku|Seiryu|Byakko|Kirin|Jormungand|Vrtra|Cerberus|Khimaira|Tyger|Jailer of Love|Sarameya" NotBuffActive="Elemental Seal">
- <action type="equip" when="precast|midcast" Set="HighResist" />
- </if>
- <else>
- <!-- if mob is not high resist, is it a mid resist mob? -->
- <if SpellTargetName="Fafnir|Nidhogg|Aspidochelone|King Behemoth|Tinnin|Ouryu" NotBuffActive="Elemental Seal">
- <action type="equip" when="precast|midcast" Set="MidResist" />
- </if>
- <else>
- <!-- Normal mob, go full damage gear. -->
- <if mode="or" Area="Dynamis *|Hazhalm*" SpellTargetName="Lambton Worm|Sandworm|Guivre|King Arthro|Serket">
- <if NotBuffActive="Elemental Seal">
- <action type="equip" when="precast|midcast" Set="LightResist" />
- </if>
- <else>
- <action type="equip" when="precast|midcast" Set="FullDamage" />
- </else>
- </if>
- <else>
- <action type="equip" when="precast|midcast" Set="FullDamage" />
- </else>
- <!-- only equip pendant in situations you would equip full damage gear -->
- <if MPPAfterCastLT="50" Advanced="$UggPendant==1">
- <action type="equip" when="midcast">
- <neck lock="yes">Uggalepih Pendant</neck>
- </action>
- </if>
- </else>
- <!-- check for Sorc Ring if mid or low resist mob. HP values to compare to are in variables above. -->
- <if advanced='$Ring == 1'>
- <!-- make sure we have an HP variable set for current subjob -->
- <if Advanced='"$%SubJobRingHP" !="\$%SubJobRingHP"'>
- <if Advanced='%HP > $%SubJobRingHP'>
- <!-- if you have too much HP at the time of casting, equip minus hp -->
- <action type="equip" set="MinusHP" />
- </if>
- </if>
- <else>
- <!-- if no HP amount is specified for the current subjob, just always equip minushp as precast -->
- <action type="equip" set="MinusHP" />
- </else>
- <action type="equip" when="midcast">
- <rring>Sorcerer's Ring</rring>
- </action>
- </if>
- </else>
- </else>
- </if>
- <else>
- <!-- for any other type of spell, just equip matching set name. -->
- <action type="equip" when="precast|midcast" Set="Standard|%Skill" />
- </else>
- </if>
- <else>
- <action type="equip" when="precast|midcast" Set="Standard" />
- </else>
- <!-- so i can see in general how much my drain did. If Ring=0 then its a dangerous spot and shouldnt drop HP. -->
- <if Spell="Drain" Advanced="$Ring==1">
- <action type="equip" set="MinusHP" />
- </if>
- <!-- Handle Elemental Obi's -->
- <if Advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'>
- <if Element="Dark"><action type="equip" when="midcast"><waist lock="yes">Anrin Obi</waist></action></if>
- <elseif Element="Light"><action type="equip" when="midcast"><waist lock="yes">Korin Obi</waist></action></elseif>
- <elseif Element="Thunder"><action type="equip" when="midcast"><waist lock="yes">Rairin Obi</waist></action></elseif>
- <elseif Element="Ice"><action type="equip" when="midcast"><waist lock="yes">Hyorin Obi</waist></action></elseif>
- <elseif Element="Fire"><action type="equip" when="midcast"><waist lock="yes">Karin Obi</waist></action></elseif>
- <elseif Element="Wind"><action type="equip" when="midcast"><waist lock="yes">Furin Obi</waist></action></elseif>
- <elseif Element="Water"><action type="equip" when="midcast"><waist lock="yes">Suirin Obi</waist></action></elseif>
- <elseif Element="Earth"><action type="equip" when="midcast"><waist lock="yes">Dorin Obi</waist></action></elseif>
- </if>
- <!-- handle afv2 pants, but do not equip pants if we already have weather x2 and day bonuses from obi alone as obi alone hits the 35% damage cap. -->
- <if Advanced='(!((bool)strmatch("* x2","%Weather") AND "%WeatherElement" = "%SpellElement" AND "$%SpellElementObi" = "1") OR !("%WeatherElement" = "%spellElement")) AND ("%SpellElement" = "%DayElement" AND "$BLMAF2Pants" = "1") AND ("%skill"="ElementalMagic")'>
- <equip when="midcast">
- <legs lock="yes">sorcerer's tonban</legs>
- </equip>
- </if>
- <!-- Timers for when sleep is wearing off. -->
- <if advanced='"$SleepTimers"="1"'>
- <if Spell="Sleep II|Sleepga II">
- <action type="command" when="aftercast">spellcast var inc sleepid;wait 45;input /echo [$sleepid:%spell] <%target> Wearing off in 45s</action>
- <action type="command" when="aftercast">wait 75;input /echo [$sleepid:%spell] <%target> Wearing off in 15s</action>
- <action type="command" when="aftercast">wait 85;input /echo [$sleepid:%spell] <%target> 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] <%target> Wearing off in 15s</action>
- <action type="command" when="aftercast">wait 55;input /echo [$sleepid:%spell] <%target> Wearing off in 5s;spellcast var dec sleepid;</action>
- </elseif>
- </if>
- <!-- auto cancel sneak/utsu/stoneskin/blink when recasting them. Requires Cancel Plugin -->
- <if Spell="Sneak" BuffActive="Sneak" SpellTargetType="Self">
- <action type="command" when="midcast">cancel 71</action>
- <action type="midcastdelay" delay="1.8" />
- </if>
- <if spell="Utsusemi: Ichi" BuffActive="Copy Image">
- <action type="midcastdelay" delay="3.0" />
- <action type="Command" when="midcast">cancel 66</action>
- </if>
- <elseif Spell="Stoneskin" BuffActive="Stoneskin">
- <action type="command" when="midcast">cancel 37</action>
- <action type="midcastdelay" delay="4.8" />
- </elseif>
- <elseif Spell="Blink" BuffActive="Blink">
- <action type="command" when="midcast">cancel 36</action>
- <action type="midcastdelay" delay="4.5" />
- </elseif>
- <!-- finally, equip our staff! -->
- <action type="equip" when="midcast">
- <main>$%SpellElementStaff</main>
- </action>
- </else>
- <!--Job Abilities-->
- <if type="JobAbility">
- <if spell="Enmity Douse"><equip when="precast"><hands>Goetia Gloves +2</hands></equip></if>
- </if>
- <!--End-->
- </rules>
- </spellcast>
Advertisement
Add Comment
Please, Sign In to add comment