Automatic gear swaps based on situation
Automatic JA use before and after WS
Visible gear swaps blocked while under a certain HP percentage (default 75%)
Can be easily adapted for use by other jobs
I recommend adding the following lines to your init file:
alias 100%hp sc var set hpp 101; input /echo Visible gear swaps disabled.
alias 75%hp sc var set hpp 75; input /echo Visible gear swaps restricted to 75%+ HP.
alias 50%hp sc var set hpp 50; input /echo Visible gear swaps restricted to 50%+ HP.
alias 25%hp sc var set hpp 25; input /echo Visible gear swaps restricted to 25%+ HP.
alias 0%hp sc var set hpp 0; input /echo Visible gear swaps unrestricted.
alias seon sc var i souleaterready; input /echo Automatic use of Souleater before WS enabled.
alias seoff sc var d souleaterready; input /echo Automatic use of Souleater before WS disabled.
alias acc sc g accuracy; sc var set group accuracy
alias haste sc g haste; sc var set group haste
alias zerg sc g zerg; sc var set group zerg
alias town sc s "town $time"
<?xml version="1.0" encoding="utf-8" ?>
<spellcast>
<config helmset="helm" fishingset="fishing" />
<variables>
<var name="group" >haste</var>
<var name="hpp" >75</var>
<var name="time" >day</var>
<var name="haveaxetorque" >0</var>
<var name="havegreataxetorque" >0</var>
<var name="haveclubtorque" >0</var>
<var name="havedaggertorque" >0</var>
<var name="havehandtohandtorque" >0</var>
<var name="havekatanatorque" >0</var>
<var name="havegreatkatanatorque" >0</var>
<var name="havepolearmtorque" >0</var>
<var name="havescythetorque" >0</var>
<var name="havestafftorque" >0</var>
<var name="haveswordtorque" >0</var>
<var name="havegreatswordtorque" >0</var>
<var name="axetorque" >temp. torque</var>
<var name="greataxetorque" >fortitude torque</var>
<var name="clubtorque" >prudence torque</var>
<var name="daggertorque" >love torque</var>
<var name="handtohandtorque" >faith torque</var>
<var name="katanatorque" >hope torque</var>
<var name="greatkatanatorque" >justice torque</var>
<var name="polearmtorque" >love torque</var>
<var name="scythetorque" >justice torque</var>
<var name="stafftorque" >temp. torque</var>
<var name="swordtorque" >fortitude torque</var>
<var name="greatswordtorque" >prudence torque</var>
<var name="flamegorget" >0</var>
<var name="soilgorget" >0</var>
<var name="aquagorget" >0</var>
<var name="breezegorget" >0</var>
<var name="snoworget" >0</var>
<var name="thundergorget" >0</var>
<var name="lightgorget" >0</var>
<var name="shadowgorget" >0</var>
<var name="havefireobi" >0</var>
<var name="haveearthobi" >0</var>
<var name="havewaterobi" >0</var>
<var name="havewindobi" >0</var>
<var name="haveiceobi" >0</var>
<var name="havethunderobi" >0</var>
<var name="havelightobi" >1</var>
<var name="havedarkobi" >1</var>
<var name="fireobi" >karin obi</var>
<var name="earthobi" >dorin obi</var>
<var name="waterobi" >suirin obi</var>
<var name="windobi" >furin obi</var>
<var name="iceobi" >hyorin obi</var>
<var name="thunderobi" >rarin obi</var>
<var name="lightobi" >korin obi</var>
<var name="darkobi" >anrin obi</var>
<var name="berserkready" >1</var>
<var name="diaboliceyeready" >1</var>
<var name="lastresortready" >1</var>
<var name="meditateready" >1</var>
<var name="souleaterready" >1</var>
<var name="warcryready" >1</var>
<var name="diaboliceyerecast" >900</var>
<var name="lastresortrecast" >290</var>
<var name="souleaterrecast" >348</var>
</variables>
<sets>
<group name="accuracy" inherit="misc">
<set name="tp day">
<head>optical hat</head>
<neck>chivalrous chain</neck>
<lear>brutal earring</lear>
<rear>ethereal earring</rear>
<body>haubergeon</body>
<hands>dusk gloves</hands>
<lring>ulthalam's ring</lring>
<rring>woodsman ring</rring>
<back>forager's mantle</back>
<waist>life belt</waist>
<legs>black cuisses</legs>
<feet>homam gambieras</feet>
</set>
<set name="tp dusk" baseset="tp day" />
<set name="tp night" baseset="tp dusk" />
<set name="ws day" baseset="tp $time" />
<set name="ws dusk" baseset="ws day" />
<set name="ws night" baseset="ws dusk" />
</group>
<group name="haste" default="true" inherit="misc">
<set name="tp day" basegroup="accuracy" baseset="tp $time">
<head>walahra turban</head>
<hands>dusk gloves</hands>
<waist>velocious belt</waist>
<feet>homam gambieras</feet>
</set>
<set name="tp dusk" baseset="tp day" />
<set name="tp night" baseset="tp dusk" />
<set name="ws day" basegroup="accuracy" baseset="ws $time">
<head>chs. burgeonet +1</head>
<hands>pallas's bracelets</hands>
<waist>warwolf belt</waist>
<feet>creek m clomps</feet>
</set>
<set name="ws dusk" baseset="ws day" />
<set name="ws night" baseset="ws dusk" />
</group>
<group name="zerg" inherit="misc">
<set name="tp day">
<range>remove</range>
<ammo>happy egg</ammo>
<head>walahra turban</head>
<neck>shield pendant</neck>
<lear>physical earring</lear>
<rear>cassie earring</rear>
<body>gloom breastplate</body>
<hands>dusk gloves</hands>
<lring>ladybug ring</lring>
<rring>bomb queen ring</rring>
<back>gigant mantle</back>
<waist>velocious belt</waist>
<legs>vendor's slops</legs>
<feet>homam gambieras</feet>
</set>
<set name="tp dusk" baseset="tp day" />
<set name="tp night" baseset="tp day">
<lring>ulthalam's ring</lring>
</set>
<set name="ws $time" />
</group>
<group name="misc">
<set name="haste day">
<head>walahra turban</head>
<hands>dusk gloves</hands>
<waist>velocious belt</waist>
<feet>homam gambieras</feet>
</set>
<set name="haste dusk" baseset="haste day" />
<set name="haste night" baseset="haste dusk" />
<set name="max hp day">
<head>walahra turban</head>
<neck>shield pendant</neck>
<lear>cassie earring</lear>
<rear>ethereal earring</rear>
<body>abyss cuirass</body>
<hands>pallas's bracelets</hands>
<lring>ladybug ring</lring>
<rring>bomb queen ring</rring>
<back>gigant mantle</back>
<legs>vendor's slops</legs>
<feet>creek m clomps</feet>
</set>
<set name="max hp dusk" baseset="max hp day" />
<set name="max hp night" baseset="max hp dusk" />
<set name="dark day">
<head>chs. burgeonet +1</head>
<hands>crimson fng. gnt.</hands>
<legs>abyss flanchard</legs>
</set>
<set name="dark dusk" baseset="dark day" />
<set name="dark night" baseset="dark dusk" />
<set name="helm">
<body>field tunica</body>
<hands>field gloves</hands>
<legs>field hose</legs>
<feet>field boots</feet>
</set>
<set name="fishing">
<body>fsh. tunica</body>
<hands>fsh. gloves</hands>
<legs>fisherman's hose</legs>
<feet>fisherman's boots</feet>
</set>
<set name="idle day" basegroup="$group" baseset="tp $time">
<neck>parade gorget</neck>
<hands>abyss gauntlets</hands>
</set>
<set name="idle dusk" baseset="idle day" />
<set name="idle night" baseset="idle dusk" />
<set name="rest day" baseset="idle $time">
<main>dark staff</main>
</set>
<set name="rest dusk" baseset="rest day" />
<set name="rest night" baseset="rest dusk" />
<set name="town day" baseset="idle $time">
</set>
<set name="town dusk" baseset="town day" />
<set name="town night" baseset="town dusk" />
</group>
</sets>
<rules>
<action type="geardelay" delay="0" />
<if timegt="07.00" timelt="16.59">
<action type="var" cmd="set time day" />
</if>
<elseif timegt="06.00" timelt="17.59">
<action type="var" cmd="set time dusk" />
</elseif>
<else>
<action type="var" cmd="set time night" />
</else>
<if area="*bastok*|metalworks|*san d'oria*|chateau d'oraguille|*windurst*|heaven's tower|*jeuno*|ru'lude gardens|aht urhgan whitegate|al zahbi" notarea="*dynamis*" notbuffactive="allied tags|besieged">
<action type="equip" when="aftercast|idle|resting" set="town $time" />
</if>
<if status="engaged">
<if buffactive="blindness|flash|accuracy down" notgroup="zerg">
<action type="equip" when="engaged|aftercast" setgroup="accuracy" set="tp $time" />
</if>
<else>
<action type="equip" when="engaged|aftercast" set="tp $time" />
</else>
<!-- For future version use
<if advanced='"$have%mainweapontypetorque"="1" notgroup="hnm*">
<action type="equip" when="engaged|aftercast>
<neck>$%mainweapontypetorque</neck>
</action>
</if>
-->
<if buffactive="souleater" notgroup="zerg">
<action type="command" when="engaged|aftercast">
cancel 63
</action>
</if>
</if>
<elseif status="idle">
<action type="equip" when="idle|aftercast" set="idle $time" />
<if buffactive="weakness">
<action type="equip" when="idle|aftercast">
<head>reraise hairpin</head>
<lear>reraise earring</lear>
<rear>reraise earring</rear>
</action>
</if>
</elseif>
<elseif status="resting">
<action type="equip" when="resting" set="rest $time" />
<if notspell="autoset">
<action type="cancelspell" />
</if>
</elseif>
<if nothppgt="$hpp">
<action type="equip" when="precast|midcast">
<main lock="true" />
<sub lock="true" />
<range lock="true" />
<ammo lock="true" />
<head lock="true" />
<body lock="true" />
<hands lock="true" />
<legs lock="true" />
<feet lock="true" />
</action>
</if>
<if type="weaponskill" notspell="spirits within" notbuffactive="amnesia">
<if advanced='"$diaboliceyeready">="1"' mlvlgt="74">
<action type="castdelay" delay="1.5" />
<action type="command" when="precast">
input /raw /ja "diabolic eye" <me>;
sc var s diaboliceyeready 0;
wait $diaboliceyerecast;
sc var i diaboliceyeready;
</action>
</if>
<elseif advanced='"$berserkready">="1"' subjob="war" slvlgt="14">
<action type="castdelay" delay="1.5" />
<action type="command" when="precast">
input /raw /ja "berserk" <me>;
sc var s berserkready 0;
wait 300;
sc var i berserkready;
</action>
</elseif>
<elseif advanced='"$lastresortready">="1"' notbuffactive="berserk" mlvlgt="14">
<action type="castdelay" delay="1.5" />
<action type="command" when="precast">
input /raw /ja "last resort" <me>;
sc var s lastresortready 0;
wait $lastresortrecast;
sc var i lastresortready;
</action>
</elseif>
<elseif advanced='"$souleaterready">="1"' notbuffactive="diabolic eye|berserk|last resort" mlvlgt="29" hppgt="90">
<action type="castdelay" delay="1.5" />
<action type="equip" when="precast">
<head lock="true">chs. burgeonet +1</head>
</action>
<action type="command" when="precast">
input /raw /ja "souleater" <me>;
sc var s souleaterready 0;
wait $souleaterrecast;
sc var i souleaterready;
</action>
<action type="command" when="engaged|idle|aftercast">
cancel 63
</action>
</elseif>
<elseif advanced='"$warcryready">="1"' subjob="war" notbuffactive="berserk|last resort" slvlgt="34">
<action type="castdelay" delay="1.5" />
<action type="command" when="precast">
input /raw /ja "warcry" <me>;
sc var s warcryready 0;
wait 300;
sc var i warcryready;
</action>
</elseif>
<if advanced='"$meditateready">="1"' subjob="sam" slvlgt="29">
<action type="aftercastdelay" delay="2" />
<action type="command" when="aftercast">
input /raw /ja "meditate" <me>;
sc var s meditateready 0;
wait 180;
sc var i meditateready;
</action>
</if>
<if spell="spiral hell|spinning slash|ground strike">
<action type="equip" when="precast" setgroup="haste" set="ws $time" />
</if>
<elseif buffactive="blindness|flash|accuracy down">
<action type="equip" when="precast" setgroup="accuracy" set="ws $time" />
</elseif>
<else>
<action type="equip" when="precast" set="ws $time" />
</else>
<if advanced='"$flamegorget"="1"' spell="arching arrow|ascetic's fury|asuran fists|atonement|burning blade|decimation|detonator|drakesbane|dulling arrow|empyreal arrow|final heaven|flaming arrow|full swing|garland 2of bliss|heavy shot|hexa strike|hot shot|insurgency|knights of round|mandalic stab|mistral axe|metatron torment|red lotus blade|scourge|sniper shot|spinning attack|spinning axe|stringing pummel|tachi: kagero|tachi: kasha|wheeling thrust">
<action type="equip" wneh="precast">
<neck>flame gorget</neck>
</action>
</if>
<elseif advanced='"$soilgorget"="1"' spell="asuran fists|avalanche axe|blade: ei|blade: ku|blade: retsu|blade: ten|calamity|catastrophe|crescent moon|dancing edge|evisceration|expiacion|fast blade|hard slash|impulse drive|iron tempest|king's justice|leaden salute|mandalic stab|mercy stroke|nightmare scythe|omniscience|primal rend|pyrrhic kleos|rampage|retribution|savage blade|seraph blade|shining blade|sickle moon|slice|spinning axe|spinning scythe|spiral hell|stringing pummel|sturmwind|swift blade|tachi: enpi|tachi: jinpu|tachi: rana|trueflight|viper bite|vorpal blade|vorpal scythe|wasp sting">
<action type="equip" wneh="precast">
<neck>soil gorget</neck>
</action>
</elseif>
<elseif advanced='"$aquagorget"="1"' spell="atonement|blade: teki|brainshaker|circle blade|cross reaper|dark harvest|death blossom|decimation|expiacion|full break|garland of bliss|gate of tartarus|geirskogul|ground strike|mordant rime|namas arrow|piercing arrow|pyrrhic kleos|primal rend|raging rush|retribution|shadow of death|shadowstitch|shockwave|shoulder tackle|sidewinder|skullbreaker|slug shot|smash axe|spinning scythe|spiral hell|split shot|starburst|steel cyclone|sturmwind|sunburst|tachi: gekko|tachi: koki|vidohunir|vorpal thrust ">
<action type="equip" wneh="precast">
<neck>aqua gorget</neck>
</action>
</elseif>
<elseif advanced='"$breezegorget"="1"' spell="backhand blow|black halo|blade: jin|blade: kamu|blade: metsu|blade: to|coronach|cyclone|dancing edge|death blossom|dragon kick|earth crusher|freezebite|gale axe|ground strike|gust slash|king's justice|mordant rime|raging axe|randgrith|red lotus blade|savage blade|shark bite|shell crusher|sidewinder|slug shot|spinning slash|steel cyclone|tachi: jinpu|tachi: kaiten|tachi: yukikaze|trueflight|true strike|vidohunir">
<action type="equip" wneh="precast">
<neck>breeze gorget</neck>
</action>
</elseif>
<elseif advanced='"$snowgorget"="1"' spell="blade: to|blast arrow|blast shot|cross reaper|death blossom|expiacion|freezebite|frostbite|full break|gate of tartarus|geirskogul|ground strike|guillotine|impulse drive|mordant rime|namas arrow|piercing arrow|pyrrhic kleos|raging rush|shadow of death|skullbreaker|smash axe|spiral hell|steel cyclone|tachi: gekko|tachi: hobaku|tachi: rana|tachi: yukikaze|vidohunir">
<action type="equip" wneh="precast">
<neck>snow gorget</neck>
</action>
</elseif>
<elseif advanced='"$thundergorget"="1"' spell="armor break|avalanche axe|black halo|blade: chi|blade: jin|blade: kamu|calamity|circle blade|combo|cyclone|death blossom|dragon kick|earth crusher|flat blade|full swing|ground strike|heavy swing|howling fist|judgment|king's justice|leg sweep|mordant rime|raging axe|raging fists|raiden thrust|rock crusher|savage blade|seraph strike|shark bite|shield break|shining strike|shoulder tackle|sickle moon|skewer|spinning attack|spinning axe|spinning slash|tachi: goten|tachi: koki|thunder thrust|trueflight|true strike|vidohunir|vorpal blade|weapon break">
<action type="equip" wneh="precast">
<neck>thunder gorget</neck>
</action>
</elseif>
<elseif advanced='"$lightgorget"="1"' spell="arching arrow|ascetic's fury|atonement|blade: chi|blade: ku|blade: rin|blast arrow|blast shot|decimation|detonator|double thrust|drakesbane|dulling arrow|empyreal arrow|evisceration|final heaven|flaming arrow|garland of bliss|heavy shot|hexa strike|hot shot|howling fist|insurgency|knights of round|leaden salute|mandalic stab|metatron torment|mistral axe|omniscience|piercing arrow|power slash|raiden thrust|scourge|sidewinder|skewer|slug shot|sniper shot|split shot|tachi: enpi|tachi: goten|tachi: kasha|thunder thrust|vorpal scythe|vorpal thrust|wheeling thrust">
<action type="equip" wneh="precast">
<neck>light gorget</neck>
</action>
</elseif>
<elseif advanced='"$shadowgorget"="1"' spell="asuran fists|black halo|blade: ei|blade: kamu|blade: ku|blade: ten|catastrophe|evisceration|impulse drive|insurgency|keen edge|leaden salute|mandalic stab|mercy stroke|nightmare scythe|omniscience|one inch punch|penta thrust|primal rend|retribution|starburst|stringing pummel|sunburst|swift blade|tachi: kasha|tachi: rana">
<action type="equip" wneh="precast">
<neck>shadow gorget</neck>
</action>
</elseif>
</if>
<if advanced='("%spellelement"="%dayelement" or "%spellelement"="%weatherelement") and "$have%spellelementobi"="1"' skill="darkmagic|divinemagic|elementalmagic|healingmagic|ninjutsu" notspell="absorb*|flash|raise*|monomi*|repose|reprisal|stun|tonko*|utsusemi*">
<action type="equip" when="midcast">
<waist lock="true">$%spellelementobi</waist>
</action>
</if>
<if spell="stun">
<action type="equip" when="precast" set="dark $time|haste $time" />
</if>
<if spell="drain*|aspir|absorb*" notspell="*samba">
<action type="equip" when="midcast" set="haste $time|dark $time" />
<if spell="absorb*" notspell="absorb-tp">
<action type="equip" when="midcast">
<legs>black cuisses</legs>
</action>
</if>
</if>
<if spell="dread spikes">
<action type="equip" when="midcast" set="haste $time|dark $time|max hp $time" />
</if>
<if spell="utsusemi*">
<if spell="*ichi" buffactive="copy image">
<action type="midcastdelay" delay="3" />
<action type="command" when="midcast">
cancel 66
</action>
</if>
<action type="equip" when="midcast" set="haste $time" />
</if>
<if spell="third eye" notbuffactive="seigan">
<action type="changespell" spell="seigan" />
</if>
<if spell="sneak|invisible|monomi*|tonko*|spectral jig">
<if spell="sneak|monomi*|spectral jig" targettype="self">
<action type="command" when="precast">
cancel 71
</action>
</if>
<if notspell="spectral jig">
<action type="equip" when="midcast" set="haste $time" />
</if>
</if>
<if spell="berserk" advanced='"$berserkready">="1"'>
<action type="command">
sc var s berserkready 0;
wait 300;
sc var i berserkready;
</action>
</if>
<if spell="diabolic eye" advanced='"$diaboliceyeready">="1"'>
<action type="command">
sc var s diaboliceyeready 0;
wait $diaboliceyerecast;
sc var i diaboliceyeready;
</action>
</if>
<if spell="last resort" advanced='"$lastresortready">="1"'>
<action type="command">
sc var s lastresortready 0;
wait $lastresortrecast;
sc var i lastresortready;
</action>
</if>
<if spell="meditate" advanced='"$meditateready">="1"'>
<action type="command">
sc var s meditateready 0;
wait 180;
sc var i meditateready;
</action>
</if>
<if spell="souleater" advanced='"$souleaterready">="1"'>
<action type="command">
sc var s souleaterready 0;
wait $souleaterrecast;
sc var i souleaterready;
</action>
</if>
<if spell="warcry" advanced='"$warcryready">="1"'>
<action type="command">
sc var s warcryready 0;
wait 300;
sc var i warcryready;
</action>
</if>
</rules>
</spellcast>