So, I was fiddling around with my SMN xml, trying to fix it so that depending on weather or day, it would swap in the appropriate piece; in this instance, I'm looking at Nashira hands when Caller+2's halved perpetuance bonus isn't in effect. This thing is gonna look like a tangled mess, as a warning, since I'm not familiar with a lot of the advanced rules, specifically those regarding weather/element.
Spellcast before I explain the issues:
Code:
<?xml version="1.0" ?>
<spellcast>
<guildwork
character="Kensagaku"
server="Valefor"
description="Kensagaku's SMN"
job="SMN"
/>
<config
RequiredVersion="2.20"
HideErrors="false"
ShowGearSwaps="false"
Debug="false"
ShowSpellInfo="false"
/>
<variables clear="True">
<var name="EquipSet">Normal</var>
<var name="Avatar">None</var>
</variables>
<sets>
<group name = "SMN" default="yes">
<!--Idle gear-->
<set name="Normal">
<main>Owleyes</main>
<sub>Genbu's Shield</sub>
<ammo>Hedgehog Bomb</ammo>
<head>Caller's Horn +2</head>
<neck>Caller's Pendant</neck>
<lear>Gifted Earring</lear>
<rear>Moonshade Earring</rear>
<body>Manasa Chasuble</body>
<hands>Serpentes Cuffs</hands>
<lring>Fervor Ring</lring>
<rring>Evoker's Ring</rring>
<back>Summoner's Cape</back>
<waist>Mujin Obi</waist>
<legs>Tatsu. Sitagoromo</legs>
<feet>Serpentes Sabots</feet>
</set>
<!--Resting Gear, hMP and Refresh-->
<set name="Resting" Baseset="Normal">
<neck>Eidolon Pendant</neck>
<body>Errant Houppelande</body>
<legs>Sagacity Lappas</legs>
<waist>Austerity Belt</waist>
<feet>Goliard Clogs</feet>
</set>
<!--Elemental Siphon, pure skill here and any Siphon-boosting equipment-->
<set name="Siphon" Baseset="$Equipset">
<main>Soulscourge</main>
;pause 1
<sub>Vox Grip</sub>
<head>Caller's Horn +2</head>
<neck>Caller's Pendant</neck>
<body>Anhur Robe</body>
<hands>Smn. Bracers +2</hands>
<legs>Ngen Seraweels</legs>
<rring>Evoker's Ring</rring>
<feet>Caller's Pigaches +2</feet>
</set>
<set name="Skill" Baseset="Siphon">
<feet>Rubeus Boots</feet>
</set>
<!--BP sets, for BP delay-, physical attack set, and magical attack set respectively-->
<set name="BP-Delay" Baseset="$Equipset">
<head>Summoner's Horn</head>
<body>Yinyang Robe</body>
<hands>Smn. Bracers +2</hands>
<back>Tiresias' Cape</back>
<feet>Summoner's Pigaches</feet>
</set>
<set name="BP-Phys" Baseset="$Equipset">
<main>Soulscourge</main>
<head>Caller's Horn +2</head>
<body>Caller's Doublet +2</body>
<hands>Smn. Bracers +2</hands>
<legs>Ngen Seraweels</legs>
<waist>Mujin Obi</waist>
<rear>Esper Earring</rear>
<lear>Gifted Earring</lear>
<feet>Summoner's Pigaches</feet>
</set>
<set name="BP-Magic" Baseset="$Equipset">
<main>Tuahjebat</main>
<sub>Vox Grip</sub>
<head>Caller's Horn +2</head>
<body>Caller's Doublet +2</body>
<hands>Nares Cuffs</hands>
<legs>Caller's Spats +2</legs>
<neck>Eidolon Pendant</neck>
<back>Tiresias' Cape</back>
<waist>Caller's Sash</waist>
<lear>Gifted Earring</lear>
<rear>Esper Earring</rear>
<feet>Shedir Crackows</feet>
</set>
<!--Summon-specific sets-->
<set name="Avatar" Baseset="Normal">
<main>Fay Crozier</main>
;pause 1
<sub>Vox Grip</sub>
<body>Caller's Doublet +2</body>
<hands>Nashira Gages</hands>
<waist>Moepapa Stone</waist>
<legs>Ngen Seraweels</legs>
<feet>Caller's Pigaches +2</feet>
</set>
<!--Stoneskin obviously. MND+ for best potency as well as any SS boosters.-->
<set name="Stoneskin">
<head>Teal Chapeau</head>
<main>Kirin's Pole</main>
<body>Heka's Kalasiris</body>
<lring>Solemn Ring</lring>
<back>Kaikias' Cape</back>
<waist>Siegel Sash</waist>
<legs>Haven Hose</legs>
<rring>Aquasoul Ring</rring>
<feet>Rubeus Boots</feet>
<lear>Gifted Earring</lear>
</set>
<!--Cures, yay. Good for making sure people don't die.-->
<set name="Cures">
<main>Arka IV</main>
<neck>Colossus's Torque</neck>
<head>Teal Chapeau</head>
<body>Heka's Kalasiris</body>
<hands>Serpentes Cuffs</hands>
<rring>Solemn Ring</rring>
<lring>Aquasoul Ring</lring>
<waist>Penitent's Rope</waist>
<legs>Nares Trews</legs>
<feet>Serpentes Sabots</feet>
</set>
<set name="Fast Cast">
<head>Nares Cap</head>
<body>Anhur Robe</body>
<rear>Loquacious Earring</rear>
<hands>Rubeus Gloves</hands>
<legs>Rubeus Spats</legs>
<back>Swith Cape</back>
</set>
</group>
</sets>
<rules>
<if status="resting">
<equip when="resting" set="Resting"/>
</if>
<if status="idle">
<if advanced='("$Avatar" = "Carbuncle")'>
<if advanced='("%Weatherelement" = "Light" OR "%dayelement" = "Light" OR "buffactive"="Aurorastorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</if>
<elseif advanced='("$Avatar" = "Ifrit")'>
<if advanced='("%Weatherelement" = "Fire" OR "%dayelement" = "Fire" OR "buffactive"="Firestorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<elseif advanced='("$Avatar" = "Shiva")'>
<if advanced='("%Weatherelement" = "Ice" OR "%dayelement" = "Ice" OR "buffactive"="Hailstorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<elseif advanced='("$Avatar" = "Garuda")'>
<if advanced='("%Weatherelement" = "Wind" OR "%dayelement" = "Wind" OR "buffactive"="Windstorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<elseif advanced='("$Avatar" = "Titan")'>
<if advanced='("%Weatherelement" = "Earth" OR "%dayelement" = "Earth" OR "buffactive"="Sandstorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<elseif advanced='("$Avatar" = "Ramuh")'>
<if advanced='("%Weatherelement" = "Thunder" OR "%dayelement" = "Thunder" OR "buffactive"="Thunderstorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<elseif advanced='("$Avatar" = "Leviathan")'>
<if advanced='("%Weatherelement" = "Water" OR "%dayelement" = "Water" OR "buffactive"="Rainstorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<elseif advanced='("$Avatar" = "Diabolos|Fenrir")'>
<if advanced='("%Weatherelement" = "Dark" OR "%dayelement" = "Dark" OR "buffactive"="Voidstorm")'>
<equip when="idle|aftercast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="idle|aftercast" set="$Equipset"/>
</else>
</elseif>
<else>
<equip when="idle" set="$Equipset"/>
</else>
</if>
<!--Spirits-->
<if type="SummonerPact">
<if spell="*Spirit">
<if area="Dynamis*|*Apollyon*|Walk of Echoes">
<changespell spell="DarkSpirit"/>
</if>
<elseif area="*Temenos*">
<changespell spell="LightSpirit"/>
</elseif>
</if>
</if>
<!--Avatars/Spirit Equips-->
<if skill="SummoningMagic">
<if spell="Carbuncle">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Light" OR "%dayelement" = "Light" OR "buffactive"="Aurorastorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</if>
<elseif spell="Ifrit">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Fire" OR "%dayelement" = "Fire" OR "buffactive"="Firestorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<elseif spell="Shiva">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Ice" OR "%dayelement" = "Ice" OR "buffactive"="Hailstorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<elseif spell="Garuda">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Wind" OR "%dayelement" = "Wind" OR "buffactive"="Windstorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<elseif spell="Titan">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Earth" OR "%dayelement" = "Earth" OR "buffactive"="Sandstorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<elseif spell="Ramuh">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Thunder" OR "%dayelement" = "Thunder" OR "buffactive"="Thunderstorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<elseif spell="Leviathan">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Water" OR "%dayelement" = "Water" OR "buffactive"="Rainstorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<elseif spell="Diabolos|Fenrir">
<command when="precast">sc v s Equipset "Avatar"</command>
<equip when="precast" set="Fast Cast"/>
<if advanced='("%Weatherelement" = "Dark" OR "%dayelement" = "Dark" OR "buffactive"="Voidstorm")'>
<equip when="midcast" set="$Equipset">
<hands>Caller's Bracers +2</hands>
</equip>
</if>
<else>
<equip when="midcast" set="$Equipset"/>
</else>
</elseif>
<else>
<equip when="midcast" set="Avatar"/>
</else>
<if spell="*Spirit">
<action type="equip" when="precast" set="Siphon">
</action>
</if>
</if>
<if spell="Release">
<command when="precast">sc v s Equipset "Normal"</command>
<equip when="precast" set="Normal"/>
</if>
<!--BPs Rage and Ward-->
<if Type="BloodPactRage|BloodPactWard">
<action type="aftercastdelay" delay="5"/>
<!-- Magic BP's -->
<if Spell="Holy Mist|Lunar Bay|Night Terror|Searing Light|Meteorite|Stone*|Aero*|Blizzard*|Fire*|Water*|Thunder*|Burning Strike|Thunder Spark|Nether Blast|Ultimate Terror|Somnolence|Nightmare|Dream Shroud|Noctoshield|Ruinous Omen|Howling Moon|Earthen Fury|Aerial Blast|Diamond Dust|Inferno|Tidal Wave|Judgment Bolt|Heavenly Strike|Grand Fall">
<action type="equip" when="precast" set="BP-Delay" />
<action type="midcastdelay" delay="1" />
<action type="equip" when="midcast" set="BP-Magic" />
</if>
<!-- Physical BP's -->
<elseif Spell="Poison Nails|Earthen Fury|Rock Throw|Rock Buster|Megalith Throw|Mountain Buster|Claw|Predator Claws|Axe Kick|Double Slap|Rush|Punch|Double Punch|Flaming Crush|Barracuda Dive|Tail Whip|Spinning Dive|Shock Strike|Chaotic Strike|Charge|Fang|Bite|Camisado|Eclipse Bite">
<action type="equip" when="precast" set="BP-Delay" />
<action type="midcastdelay" delay="1" />
<action type="equip" when="midcast" set="BP-Phys" />
</elseif>
<!-- Skill-Based BPs -->
<elseif Spell="Tidal Roar|Earthen Armor|Earthen Ward|Healing Ruby*|Shining Ruby|Glittering Ruby|Whispering Wind|Aerial Armor|Hastega|Frost Armor|Crimson Howl|Slowga|Spring Water|Sleepga|Thunder Armor|Rolling Thunder|Lunar Cry|Lunar Roar|Ecliptic Howl|Ecliptic Growl|Fleet Wind|Inferno Howl|Diamond Storm|Shock Squall|Soothing Ruby">
<action type="equip" when="precast" set="BP-Delay" />
<action type="midcastdelay" delay="1" />
<action type="equip" when="midcast" set="Skill" />
</elseif>
</if>
<if spell="Alexander|Odin">
<action type="equip" when="precast" set="Skill" />
</if>
<if spell="Mana Cede">
<action type="equip" when="precast">
<hands>Caller's Bracers +2</hands>
</action>
</if>
<!-- Cancel and Buffs -->
<if Spell="Stoneskin">
<action type="equip" when="precast" set="Fast Cast" />
<action type="equip" when="midcast" set="Stoneskin" />
</if>
<elseif Spell="Blink">
<equip when="precast" set="Fast Cast"/>
<action type="command" when="midcast">cancel 36</action>
<action type="midcastdelay" delay="2" />
</elseif>
<elseif Spell="Sneak|Invisible">
<action type="midcastdelay" delay="1.5" />
<if Spell="Sneak" BuffActive="Sneak" advanced='"%SpellTarget"="%PlayerName" OR "%SpellTarget"="<me>" OR ("%target"="%PlayerName" AND "%SpellTarget"="<t>")'>
<action type="command" when="midcast">cancel 71</action>
</if>
</elseif>
<elseif Spell="Reraise*">
<action type="midcastdelay" delay="2" />
<action type="command" when="midcast">cancel 113</action>
</elseif>
<!-- Non Level Cap -->
<if SubJob="WHM|RDM|SCH|BLM">
<if Spell="Cure*|Curaga*|Banish*">
<equip when="precast" set="Fast Cast">
<body>Heka's Kalasiris</body>
</equip>
<action type="equip" when="midcast" set="Cures"/>
</if>
<if spell="Cure*|Curaga*|Regen*" NotBuffActive="Penury">
<if Spell="Curaga II" MPLT="120">
<action type="ChangeSpell" Spell="Curaga" />
</if>
<elseif Spell="Curaga" MPLT="60">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Cure III" MPLT="46" MPGT="23">
<action type="ChangeSpell" Spell="Cure II" />
</elseif>
<elseif Spell="Cure III" MPLT="24" MPGT="7">
<action type="ChangeSpell" Spell="Cure" />
</elseif>
<elseif Spell="Cure III" MPLT="8">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Cure II" MPLT="24" MPGT="7">
<action type="ChangeSpell" Spell="Cure" />
</elseif>
<elseif Spell="Cure II" MPLT="8">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Cure" MPLT="8">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Regen II" MPLT="36" MPGT="14">
<action type="ChangeSpell" Spell="Regen" />
</elseif>
<elseif Spell="Regen II" MPLT="15">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Regen" MPLT="15">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
</if>
<elseif spell="Cure*|Curaga*|Regen*" BuffActive="Penury">
<if Spell="Cure III" MPLT="23" MPGT="11">
<action type="ChangeSpell" Spell="Cure II" />
</if>
<elseif Spell="Cure III" MPLT="12" MPGT="3">
<action type="ChangeSpell" Spell="Cure" />
</elseif>
<elseif Spell="Cure III" MPLT="4">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Cure II" MPLT="12" MPGT="3">
<action type="ChangeSpell" Spell="Cure" />
</elseif>
<elseif Spell="Cure II" MPLT="4">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Cure" MPLT="4">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Regen II" MPLT="18" MPGT="7">
<action type="ChangeSpell" Spell="Regen" />
</elseif>
<elseif Spell="Regen II" MPLT="7">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
<elseif Spell="Regen" MPLT="7">
<action type="CancelSpell" />
<action type="AddToChat" color="50">Not enough MP.</action>
</elseif>
</elseif>
</if>
<if SubJob="SCH">
<if spell="Poisona|Paralyna|Blindna|Silena|Cursna" subJob="SCH" notBuffActive="Addendum: White">
<action type="addtochat" when="precast">[INFO] You need Addendum:White for this.</action>
</if>
<elseif spell="Sleep|Dispel" subJob="SCH" notBuffActive="Addendum: Black" Notspell="Stoneskin">
<action type="addtochat" when="precast">[INFO] You need Addendum:Black for this.</action>
</elseif>
<if type="ElementalMagic">
<if spell="Stone*|Water*|Aero|Fire|Blizzard|Thunder|Drain|Aspir" Notspell="Stoneskin" subJob="SCH" notbuffactive="Dark Arts|Addendum: Black">
<action type="addtochat" when="precast">[INFO] You need Dark Arts for this.</action>
<action type="CancelSpell" />
</if>
</if>
</if>
<if Spell="Stoneskin" BuffActive="Stoneskin">
<command when="midcast">cancel 37</command>
<midcastdelay delay="4.8" />
</if>
</rules>
</spellcast>
The major issue is that it takes two uses of the spell or JA to get into the right gear. For example, if I summon an Avatar, immediately after my xml tries to put me in my idle gear. If I cast it again, it puts me in the correct gear. Likewise, when I Release, it puts me in my avatar set, and then I have to hit Release again in order to get the proper set. The lines for this are probably 154-238 and 254-363. If I screwed up, it's probably there, as these are my most recent changes and when the issues started.
As a side note, and this was an issue with my old XML, oftentimes when casting an avatar I'd go into Fast Cast gear, and then when I switch to avatar gear I'm still wearing a piece or two of Fast Cast, like my Nares Cap or my Anhur Robe, but not the whole set. Is that just the xml not being able to keep up because of the fast cast, or what?