This is the current Spellcast XML i'm using for my 75 Summoner.
-Staves only need to be changed in Variables
-Easy ChangeSpell with avatar checking
-Easy Macro Setup
Macro Set-Up
Assault Macro
/target <stnpc>
/pet assault
Release Macro
~First Level Bloodpact Macro
/pet poison nails
Macro Controls:
Poison Nails
Moonlit Charge
Punch
Rock Throw
Barracuda Dive
Claw
Axe Kick
Shock Strike
~20th Level Bloodpact Macro
/pet crescent fang
Macro Controls:
Crescent Fang
Burning Strike
Rock Buster
Tail Whip
Thunderspark
~30th Level Bloodpact Macro
/pet Lunar Cry
Macro Controls:
Lunar Cry (non-damage, but Fenrir has odd number of atk/buff/debuff BPs)
Double Punch
Megalith Throw
Double Slap
~70th Level Bloodpact Macro
/pet eclipse bite
Macro Controls:
Eclipse Bite
Flaming Crush
Mountain Buster
Spinning Dive
Predator Claws
Rush
Chaotic Strike
~First Level Bloodpact Macro
/pet meteorite
Macro Controls:
Meteorite
Fire II/IV (checks for lvl)
Stone II/IV (checks for lvl)
Water II/IV (checks for lvl)
Aero II/IV (checks for lvl)
Blizzard II/IV (checks for lvl)
Thunder II/IV (checks for lvl)
~Healing Bloodpact Macro
/pet Healing Ruby II
Macro Controls:
Healing Ruby I/II (checks for lvl)
Ecliptic Howl (non-healing, but Fenrir has too many AoE buffs)
Spring Water
Whispering Wind
~Enhancing Bloodpact Macro
/pet Shining Ruby
Macro Controls:
Shining Ruby
Ecliptic Growl
Crimson Howl
Earthen Ward
Aerial Armor
Frost Armor
Rolling Thunder
~Area of Effect Bloodpact Macro
/pet Glittering Ruby
Macro Controls:
Glittering Ruby (moved to here b/c carby has 2x enhancing BP)
Lunar Roar (dispelga)
Slowga
Hastega
Sleepga
Lightning Armor (b/c Ramuh has 2x enhancing BP)
How you set up your summoning macros are much easier:
<?xml version="1.0" ?>
<spellcast>
<config>
RequireVersion="2.16"
ShowGearSwaps="false"
Debug="true"
ShowSpellInfo="false"
</config>
<sets>
<group default="yes" name="SMN">
<!--Basic Equipment and what all others are based on-->
<set name="Basic">
<sub>Spear Strap</sub>
<ammo>Morion Tathlum</ammo>
<head>Walahra Turban</head>
<neck>Smn. Torque</neck>
<lear>Smn. Earring</lear>
<rear>Antivenom Earring</rear>
<body>Yinyang Robe</body>
<rring>Electru/m Ring</rring>
<lring>Evoker's Ring</lring>
<back>Blue Cape</back>
<waist>Hierarch Belt</waist>
<legs>Evoker's Spats</legs>
<feet>Evoker's Pigaches</feet>
</set>
<!--Resting Equipment-->
<set name="resting" BaseSet="Basic">
<main>Dark Staff</main>
<hands>Errant Cuffs</hands>
</set>
<!--Base Elemental Avatar Equipment Set (Optimizes -Perp Equipment)-->
<set name="Avatars" BaseSet="Basic">
<head>Austere Hat</head>
<body>Yinyang Robe</body>
<hands>Errant Cuffs</hands>
</set>
<!--Base Elemental Spirit Equipment Set (Optimizes -Perp and Summoning Magic Skill Equipment)-->
<set name="Spirits" BaseSet="Basic">
<head>Austere Hat</head>
<body>Yinyang Robe</body>
<hands>Errant Cuffs</hands>
<legs>Summoner's Spats</legs>
</set>
<!--Carbuncle Equipment Set (Optimizes -Perp for Carbuncle)-->
<set name="Carbuncle" BaseSet="Avatars">
<main>$LightStaff</main>
<head>Walahra Turban</head>
<hands>Carbuncle Mitts</hands>
</set>
</group>
</sets>
<variables clear="true">
<!--Var: Elemental Staves-->
<var name="IceStaff">Ice Staff</var>
<var name="WindStaff">Wind Staff</var>
<var name="EarthStaff">Earth Staff</var>
<var name="ThunderStaff">Thunder Staff</var>
<var name="WaterStaff">Water Staff</var>
<var name="FireStaff">Fire Staff</var>
<var name="DarkStaff">Dark Staff</var>
<var name="LightStaff">Light Staff</var>
<!--Variable storing name of Current Avatar Pet-->
<var name="CurrentAvatar">None</var>
</variables>
<rules>
<!--Summoning Equipment & Variable Rules-->
<!--Checks if spell is a Summon and equips appropriate Elemental Staff-->
<if type="SummonerPact">
<!--Checks if spell is a Spirit or Avatar (Only using Spirits for Elemental Siphon)-->
<if Spell="*Spirit">
<!--Corrects Element because Wind Spirit is actually Air Spirit-->
<if advanced='"%DayElement"="Wind"'>
<action type="ChangeSpell" Spell="Air Spirit" />
</if>
<else>
<action type="ChangeSpell" Spell="%DayElement Spirit" />
</else>
<action type="equip" set="Spirits">
<main>$%SpellElementStaff</main>
</action>
<action type="Var" cmd="set currentavatar %spellElementSpirit" />
</if>
<else>
<if spell="Carbuncle">
<action type="equip" set="Carbuncle" />
<action type="Var" cmd="set CurrentAvatar %spell" />
</if>
<else>
<action type="equip" set="Avatars">
<main>$%SpellElementStaff</main>
</action>
<action type="Var" cmd="set CurrentAvatar %spell" />
</else>
</else>
<action type="addtochat">-----%Spell is being cast. $CurrentAvatar is set as Current Avatar.-----</action>
</if>
<!--BloodPact Rules-->
<elseif type="BloodPactRage|BloodPactWard">
<!--Level One Bloodpacts-->
<if Spell="Poison Nails">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Moonlit Charge" />
<action type="Command">input /p %spell > <t>!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="ChangeSpell" Spell="Poison Nails" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="ChangeSpell" Spell="Punch" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="ChangeSpell" Spell="Rock Throw" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="ChangeSpell" Spell="Barracuda Dive" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="ChangeSpell" Spell="Claw" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="ChangeSpell" Spell="Axe Kick" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="ChangeSpell" Spell="Shock Strike" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</if>
<!--Level Twenty Bloodpacts-->
<elseif Spell="Crescent Fang">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Crescent Fang" />
<action type="Command">input /p %spell > <t>!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="addtochat">$CurrentAvatar has no level 20 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="ChangeSpell" Spell="Burning Strike" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="ChangeSpell" Spell="Rock Buster" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="ChangeSpell" Spell="Tail Whip" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="addtochat">$CurrentAvatar has no level 20 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="addtochat">$CurrentAvatar has no level 20 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="ChangeSpell" Spell="Thunderspark" />
<action type="Command">input /p %spell : AoE > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
<!--Level Thirty Bloodpacts-->
<elseif Spell="Lunar Cry">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Lunar Cry" />
<action type="Command">input /p %spell : AoE -Accuracy/Evasion> <t>!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="addtochat">$CurrentAvatar has no level 30 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="ChangeSpell" Spell="Double Punch" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="ChangeSpell" Spell="Megalith Throw" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="addtochat">$CurrentAvatar has no level 30 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="addtochat">$CurrentAvatar has no level 30 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="ChangeSpell" Spell="Double Slap" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="addtochat">$CurrentAvatar has no level 30 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
<!--Level Seventy Bloodpacts-->
<elseif Spell="Eclipse Bite">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Eclipse Bite" />
<action type="Command">input /p %spell > <t>!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="addtochat">$CurrentAvatar has no level 70 Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="ChangeSpell" Spell="Flaming Crush" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="ChangeSpell" Spell="Mountain Buster" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="ChangeSpell" Spell="Spinning Dive" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="ChangeSpell" Spell="Predator Claws" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="ChangeSpell" Spell="Rush" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="ChangeSpell" Spell="Chaotic Strike" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
<!--Magical Damage Bloodpacts-->
<elseif Spell="Meteorite">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="addtochat">$CurrentAvatar has no Magical Blood Pact to use.</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="ChangeSpell" Spell="Meteorite" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<if advanced='%MainJobLvl<60'>
<action type="ChangeSpell" Spell="Fire II" />
</if>
<else>
<action type="ChangeSpell" Spell="Fire IV" />
</else>
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<if advanced='%MainJobLvl<60'>
<action type="ChangeSpell" Spell="Stone II" />
</if>
<else>
<action type="ChangeSpell" Spell="Stone IV" />
</else>
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<if advanced='%MainJobLvl<60'>
<action type="ChangeSpell" Spell="Water II" />
</if>
<else>
<action type="ChangeSpell" Spell="Water IV" />
</else>
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<if advanced='%MainJobLvl<60'>
<action type="ChangeSpell" Spell="Aero II" />
</if>
<else>
<action type="ChangeSpell" Spell="Aero IV" />
</else>
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<if advanced='%MainJobLvl<60'>
<action type="ChangeSpell" Spell="Blizzard II" />
</if>
<else>
<action type="ChangeSpell" Spell="Blizzard IV" />
</else>
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<if advanced='%MainJobLvl<60'>
<action type="ChangeSpell" Spell="Thunder II" />
</if>
<else>
<action type="ChangeSpell" Spell="Thunder IV" />
</else>
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
<!--Healing Bloodpacts-->
<elseif Spell="Healing Ruby II">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Ecliptic Howl" />
<action type="Command">input /p Gather Together for %spell: AoE +Accuracy/Evasion!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<if advanced='%MainJobLvl>65'>
<action type="ChangeSpell" Spell="Healing Ruby II" />
<action type="Command">input /p Gather Together for %spell !!!!</action>
</if>
<else>
<action type="ChangeSpell" Spell="Healing Ruby" />
<action type="Command">input /p %spell > <t>!!!!</action>
</else>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="addtochat">$CurrentAvatar has no Healing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="addtochat">$CurrentAvatar has no Healing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="ChangeSpell" Spell="Spring Water" />
<action type="Command">input /p Gather Together for %spell: AoE Heal/Erase!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="ChangeSpell" Spell="Whispering Wind" />
<action type="Command">input /p Gather Together for %spell!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="addtochat">$CurrentAvatar has no Healing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="addtochat">$CurrentAvatar has no Healing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
<!--Stat Buffing Bloodpacts-->
<elseif Spell="Shining Ruby">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Ecliptic Growl" />
<action type="Command">input /p Gather Together for %spell: AoE Boost All Stats!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="ChangeSpell" Spell="Shining Ruby" />
<action type="Command">input /p Gather Together for %spell: AoE +10 Physical/Magical Defense!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="ChangeSpell" Spell="Crimson Howl" />
<action type="Command">input /p Gather Together for %spell: Warcry Effect!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="ChangeSpell" Spell="Earthen Ward" />
<action type="Command">input /p Gather Together for %spell: AoE Stoneskin!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="addtochat">$CurrentAvatar has no Enhancing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="ChangeSpell" Spell="Aerial Armor" />
<action type="Command">input /p Gather Together for %spell: AoE Blink!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="ChangeSpell" Spell="Frost Armor" />
<action type="Command">input /p Gather Together for %spell: AoE Ice Spikes!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="ChangeSpell" Spell="Rolling Thunder" />
<action type="Command">input /p Gather Together for %spell: AoE EnThunder!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
<!--Area of Effect Bloodpacts-->
<elseif Spell="Glittering Ruby">
<if advanced='("$CurrentAvatar"="Fenrir")'>
<action type="ChangeSpell" Spell="Lunar Roar" />
<action type="Command">input /p %spell: AoE 2x Dispel> <t>!!!!</action>
</if>
<elseif advanced='("$CurrentAvatar"="Carbuncle")'>
<action type="ChangeSpell" Spell="Glittering Ruby" />
<action type="Command">input /p Gather Together for %spell: AoE Random Stat Boost!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ifrit")'>
<action type="addtochat">$CurrentAvatar has no Enhancing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Titan")'>
<action type="addtochat">$CurrentAvatar has no Enhancing Blood Pact to use.</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Leviathan")'>
<action type="ChangeSpell" Spell="Slowga" />
<action type="Command">input /p %spell > <t>!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Garuda")'>
<action type="ChangeSpell" Spell="Hastega" />
<action type="Command">input /p Gather Together for %spell!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Shiva")'>
<action type="ChangeSpell" Spell="Sleepga" />
<action type="Command">input /p %spell > <t> Please Disengage it NOW!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="Ramuh")'>
<action type="ChangeSpell" Spell="Lightning Armor" />
<action type="Command">input /p Gather Together for %spell: AoE Shock Spikes!!!!</action>
</elseif>
<elseif advanced='("$CurrentAvatar"="None")'>
<action type="addtochat">You have no elemental avatar out for use.</action>
</elseif>
</elseif>
</elseif>
<!--Sneak Auto-Cancel Rule-->
<elseif spell="Sneak" buffActive="Sneak">
<action type="command" when="midcast">cancel 71</action>
</elseif>
<!--Release Rules-->
<rule spell="Release">
<action type="Var" cmd="set CurrentAvatar None" />
<action type="equip" set="Basic">
<main>$LightStaff</main>
</action>
</rule>
<!-- autosets (Added check to see if avatar was out because would switch once mob died)-->
<if advanced='("$CurrentAvatar"="None")'>
<action type="equip" when="idle" set="Basic" />
<action type="equip" when="resting" set="resting" />
</if>
</rules>
</spellcast>
If you find any errors please let me know at iconius2000@gmail.com