My issue was in Dynamis - Bastok, so lots of monsters around.
My issue was in Dynamis - Bastok, so lots of monsters around.
Okay, not sure whey Byakko's Haidate aren't swapping for Blade: Jin. I've triple checked spelling and even put different pants in for Jin to see if they would swap. (Which they did) Can't figure out why Byakko's aren't swapping. Had some friends look at it and can't seem to see anything wrong either. Since I've not posted 10 times even here yet. It wont allow me to post urls, (fix this) also PasteBin: pastebin.com/6HF12Qgz
Any idea why
Won't work? It'll swap them in, but as soon as I attempt to cast something it'll swap back to my idle gloves (Serpentes).Code:<if mode="OR" spell="Perpetuance|Immanence" BuffActive="Perpetuance|Immanence"> <equip when="precast|midcast|aftercast|idle"> <hands lock="yes">Savant's Bracers +1</hands> </equip> </if>
Hard to say without seeing what order all of your rules are in, but that rule looks correct. You don't need swap on the stratagem itself, you can just change the hands for the spell. Keep in mind that there is a slight delay before the client actually knows you've gained a buff.
i think there might be an error in this rule since i cant load the xml if i uncomment it:
<!--<if mode="OR" spell="Berserk" Buffactive="Berserk" spell="Building Flourish" Buffactive="Building Flourish">
<var cmd="set Berserk Berserk" />
</if>
<elseif advanced='"$Berserk"="Berserk"'>
<var cmd="set Berserk N" />
</elseif>-->
it doesnt like the first line it seems
Yeah, that version had a lot of errors in it because I hadn't proofread anything. I did a lot of troubleshooting last night, but some of the stuff I changed won't work unless you have the include.xml and autoexec.xml that I modified. In the interest of solidarity with Yugl, I'm going to hold off releasing the working version until it's all sorted out.
Snipped from some XML I found on the windower site before, I should redo it, though, just fairly lazy.Code:<rules> <xi:include href="includes.xml" xpointer="//include[@name='SpellCancel']/*" /> <!-- Obi/Cape Rulles. Basically copypaste the <elseif element> parts and change the element/obi. --> <if Advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'> <if Element="Thunder"> <action type="equip" when="midcast"> <waist lock="yes">Rairin Obi</waist> </action> <action type="equip" when="midcast"> <back lock="yes">Twilight Cape</back> </action> </if> <elseif Element="Ice"> <action type="equip" when="midcast"> <waist lock="yes">Hyorin Obi</waist> </action> <action type="equip" when="midcast"> <back lock="yes">Twilight Cape</back> </action> </elseif> <elseif Element="Fire"> <action type="equip" when="midcast"> <waist lock="yes">Karin Obi</waist> </action> <action type="equip" when="midcast"> <back lock="yes">Twilight Cape</back> </action> </elseif> <elseif Element="Light"> <action type="equip" when="midcast"> <waist lock="yes">Korin Obi</waist> </action> <action type="equip" when="midcast"> <back lock="yes">Twilight Cape</back> </action> </elseif> </if> <if BuffActive="Sublimation: Activated" > <equip set="Sublimation" /> <var cmd="set SubStatus Sublimation" /> </if> <else> <equip set="Idle" /> <var cmd="set SubStatus Idle" /> </else> <if Skill="EnfeeblingMagic"> <if type="BlackMagic"> <equip when="midcast" set="EnfeeblingINT" > <main>$%SpellElementStaff</main> </equip> <if BuffActive="Dark Arts|Addendum: Black"> <equip when="midcast"> <body>Scholar's Gown</body> </equip> </if> </if> <elseif type="WhiteMagic"> <equip when="midcast" set="EnfeeblingMND" > <main>$%SpellElementStaff</main> </equip> <if BuffActive="Light Arts|Addendum: White"> <equip when="midcast"> <legs>Scholar's Pants</legs> </equip> </if> </elseif> <equip when="aftercast" set="$SubStatus" /> </if> <elseif Skill="EnhancingMagic" notspell="Teleport*|Warp*|Retrace|Protect*|Shell*|Sneak|Invisible|Haste|Stoneskin|Blink|Aquaveil|Animus*|*Storm|Adloq*|Regen*"> <equip when="midcast" set="Enhancing" > <main>$%SpellElementStaff</main> </equip> <if type="WhiteMagic"> <if BuffActive="Light Arts|Addendum: White"> <equip when="midcast"> <legs>Scholar's Pants</legs> </equip> </if> </if> <equip when="aftercast" set="$SubStatus" /> </elseif> <elseif Skill="DarkMagic"> <equip when="midcast" set="DarkMagic" > <main>$%SpellElementStaff</main> </equip> <if BuffActive="Dark Arts|Addendum: Black"> <equip when="midcast"> <body>Scholar's Gown</body> </equip> </if> <equip when="aftercast" set="$SubStatus" /> </elseif> <if spell="Bio*|Sleep*|Drain*|Aspir*"> <equip> <main>$%SpellElementStaff</main> <sub>$%SpellElementGrip</sub> </equip> <equip when="aftercast" set="$SubStatus" /> </if> <elseif spell="Cure*|Cura*"> <equip when="Midcast" set="Cure" > <main>$%SpellElementStaff</main> </equip> <equip when="aftercast" set="$SubStatus" /> </elseif> <elseif skill="ElementalMagic"> <equip when="midcast" set="Nuke" > <main>$%SpellElementStaff</main> </equip> <equip when="aftercast" set="$SubStatus" /> </elseif> <elseif spell="Stoneskin"> <equip when="precast" set="Stoneskin" /> </elseif> <equip when="resting" set="resting" /> <equip when="Idle" set="$SubStatus" /> <if CommandPrefix="/jobability"> <if spell="Penury|Parsimony"> <if BuffActive="Light Arts|Addendum: White"> <changespell Spell="Penury" /> <command>input /recast Penury</command> </if> <elseif BuffActive="Dark Arts|Addendum: Black"> <changespell Spell="Parsimony" /> <command>input /recast Parsimony</command> </elseif> </if> <elseif spell="Celerity|Alacrity"> <if BuffActive="Light Arts|Addendum: White"> <changespell Spell="Celerity" /> <command>input /recast Celerity</command> </if> <elseif BuffActive="Dark Arts|Addendum: Black"> <changespell Spell="Alacrity" /> <command>input /recast Alacrity</command> </elseif> </elseif> <elseif spell="Accession|Manifestation"> <if BuffActive="Light Arts|Addendum: White"> <changespell Spell="Accession" /> <command>input /recast Accession</command> </if> <elseif BuffActive="Dark Arts|Addendum: Black"> <changespell Spell="Manifestation" /> <command>input /recast Manifestation</command> </elseif> </elseif> <elseif spell="Rapture|Ebullience"> <if BuffActive="Light Arts|Addendum: White"> <changespell Spell="Rapture" /> <command>input /recast Rapture</command> </if> <elseif BuffActive="Dark Arts|Addendum: Black"> <changespell Spell="Ebullience" /> <command>input /recast Ebullience</command> </elseif> </elseif> <elseif spell="Addendum*"> <if BuffActive="Light Arts"> <changespell Spell="Addendum: White" /> <command>input /recast "Addendum: White"</command> </if> <elseif BuffActive="Dark Arts"> <changespell Spell="Addendum: Black" /> <command>input /recast "Addendum: Black"</command> </elseif> </elseif> <elseif spell="Perpetuance|Immanence"> <if Buffactive="Light Arts"> <changespell Spell="Perpetuance" /> <command>input /recast "Perpetuance"</command> </if> <elseif BuffActive="Dark Arts"> <changespell Spell="Immanence" /> <command>input /recast "Immanence"</command> </elseif> </elseif> <!-- Rule: Gear Swap to cancel Job Ability Animation --> <if EquipHead="Wivre Hairpin"> <equip> <head>Wivre Hairpin</head> </equip> </if> <else> <equip> <head>Scholar's Mortarboard</head> </equip> </else> <!-- AF3 Handles --> <if mode="OR" spell="Parsimony|Penury" BuffActive="Parsimony|Penury"> <equip when="precast|midcast|aftercast|idle"> <legs lock="yes">Savant's Pants +2</legs> </equip> </if> <!--<if mode="OR" spell="Rapture|Ebullience" BuffActive="Rapture|Ebullience"> <equip when="precast|midcast|aftercast|idle"> <head lock="yes">Savant's Bonnet +1</head> </equip> </if>--> <if mode="OR" spell="Perpetuance|Immanence" BuffActive="Perpetuance|Immanence"> <equip when="precast|midcast|aftercast|idle"> <hands lock="yes">Savant's Bracers +1</hands> </equip> </if> </if> </rules>
Anyone notice how the SpellTargetType is backwards now? Monsters are "NPC", and NPCs are "MONSTER".
I can't load your SC at this moment, but I will point out that stratagems aren't classified as type="JobAbility" anymore, they're type="Scholar" (fucking retarded, but whatever). You're detecting with CommandPrefix, so it should still be catching them properly, but one never knows. Are all of your other JA rules triggering properly?
Issue with JA Delay
Okay, so I'm sure other people have noticed this in the past, but I've never heard of anyone trying to address it and I'm not quite sure how to go about it. It has been my experience that Spellcast can handle multiple process at once, but doesn't pre-empt itself in any way and the processes don't directly interact. So, say I have this rule:
And then I go into the game and try to cast Sleepga II -> Sleepga as fast as I can. Sleepga will go off first. So Spellcast is processing two events at once. Now, this becomes a problem when you're doing multiple things at once or, more importantly, if you mess up and use a spell during JA delay. Say, for instance, that you do:<if spell="Sleepga II">
<castdelay="15" />
</if>
<elseif spell="Sleepga">
<castdelay="0" />
</elseif>
WS -> Reverse Flourish (oops, too soon) -> Reverse Flourish -> WS
In Spellcast, this is interpreted as four processes:
Normally in-game JA delay saves us from this issue, because it is long enough that each process is completed before the next process begins, but in the case of a misfire you can end up with the two Reverse Flourish commands overlapping and interfering with each other:WS Precast equip commands -> WS Precast Delay -> WS command -> WS Aftercast Delay -> TP set
Reverse Flourish Precast equip commands -> Reverse Flourish Precast Delay -> Reverse Flourish command -> Reverse Flourish Aftercast Delay -> TP set
Reverse Flourish Precast equip commands -> Reverse Flourish Precast Delay -> Reverse Flourish command -> Reverse Flourish Aftercast Delay -> TP set
WS Precast equip commands -> WS Precast Delay -> WS command -> WS Aftercast Delay -> TP set
Merged, ideally:
WS Precast equip commands -> WS Precast Delay -> WS command -> WS Aftercast Delay -> TP set -> Reverse Flourish1 Precast equip commands -> Reverse Flourish1 Precast Delay -> Reverse Flourish1 command (fail) -> Reverse Flourish1 Aftercast Delay -> TP set (RF1) -> Reverse Flourish2 Precast equip commands -> Reverse Flourish2 Precast Delay -> Reverse Flourish2 command -> Reverse Flourish2 Aftercast Delay -> TP set (RF2) -> WS Precast equip commands -> WS Precast Delay -> WS command -> WS Aftercast Delay -> TP set
Long story short, I want a way to cancel other processes. I can see the value of Spellcast being able to handle multiple streams at once, but in the short term for my xml it really isn't useful and leads to shitty Reverse Flourishes. I'm assuming Spellcast is actually just generating input to the windower console, so what I'm asking may not be possible, but it would really make everything a whole lot nicer. >:/WS Precast equip commands -> WS Precast Delay -> WS command -> WS Aftercast Delay -> TP set -> Reverse Flourish1 Precast equip commands -> Reverse Flourish1 Precast Delay -> Reverse Flourish1 command (fail) -> Reverse Flourish2 Precast equip commands -> Reverse Flourish2 Precast Delay -> Reverse Flourish1 Aftercast Delay -> TP set (RF1) -> Reverse Flourish2 command (75 TP return instead of 100 TP, because AF3+2 hands aren't on) -> Reverse Flourish2 Aftercast Delay -> TP set (RF2) -> WS Precast equip commands -> WS Precast Delay -> WS command -> WS Aftercast Delay -> TP set
If your next ability command is sent before the aftercast of the first ability fires, it is supposed to cancel gear swaps that are part of the the aftercast for the first ability. For instance, I have sleep notifications that are part of the aftercast. If I get interrupted and cast sleep again right away, I don't have 2 sets of sleep notifications unless I was slow.
You could try increasing the aftercast delay of WS/JA by .5 seconds and see if that improves things for you.
Hmm... okay! right now I have an aftercast delay of 0, so perhaps that's the problem.
Adding a .1 second Aftercast didn't help. If spellcast is actually canceling other processes when two are active at the same time, I should never be able to get this error, but I've actually my spellcasts always give it.
.1 second is pretty short... Alternately, you can make use of <st> type targeting to block gear swaps.
Full XML. There's no sets here or anything. The rule appears to parse, but I can't tell what else you have locked and may be taking precedence.
http://pastebin.com/WMdiu3LG
Sorry about that.