<aftercastdelay delay="XSeconds" />
<aftercastdelay delay="XSeconds" />
thanks :D
Question about limiting comparisons and bracketing:
Is <if spell="Triggers1-10"> the same as
<if spell="Trigger1">
<elseif spell="trigger 2">
<elseif spell="trigger 3">
.
.
.
<if spell="trigger 10">
?
The way I see it, the first rule will produce more checks.
Rule v1: Check triggers 1-10 for a match
Rule v2: Check triggers until you find a match, so if it's the first trigger, it doesn't bother to check the rest
This would ultimately mean that a <If spell="$Triggers"> is counterproductive. However, I would like confirmation on this.
Sorry btw still lets me to WS set after Hexa Strike
I don't know what code Spellcast itself uses, but logically they should be identical at worst, or somewhat in favor of version 1.
Version 1 should do a simple string or regex split on the | character, then compare with each of the generated results until it finds a match. That can all be handled directly within a single function.
Version 2 has to walk the XML tree to find each new elseif, determine that it is in fact another elseif check and not another command entirely, and then do the string comparison for each one.
Also, version 2 still has to walk through all of the other elseif nodes in the XML tree even if it matches on the first one because it can't know beforehand that they should be skipped. Once it finds a match it can skip past any other else/elseif nodes it finds without doing the comparison checks, but it still has to find them and distinguish them from the next bit of runnable code.
I was saying, without a thorough inspection, that it probably has to do with the way you're handling that $Time variable. Try having <cancelspell /> within the provoke/reprisal/hastega line and remove theSorry btw still lets me to WS set after Hexa Strike
<if advanced='"$Time" = "precast"'>
<cancelspell />
<return />
</if>
line instead of having the spell set the variable. Normally, that should work, but without looking at the XML more, it's the only possibility that stands out.
Ok, I was under the assumption that it would check the pipes like it would a <if><elseif> string. Maybe yekkya or someone can confirm how SC checks I guess? Or would debug mode show that?
Ok, so I made a brief modification to the MNK XML and was able to remove a substantial (In some cases, all) amount of lag by bracketing and channeling all actions through Dancing Chains. I did temporarily remove the <elseif notbuffactive="blah"> lines, but those shouldn't be a lag issue if I channel through dancing chains. The one concern I have is that doing do will double the number of dancing chains I do, which is redundant. Just having variables will work if I place them before the trigger spells I imagine, so that might be the solution. Either way, it pains me to think that I need to revise this again, but so be it. Also, I'll be adding Motenten's $Movement variable, since that seems like a smart way to handle that rather than equipment variables. In anticipation that it will make my work easier, I'll probably start by creating a new generic template. I'm on the fence about this, but I am thinking about making some of the include rules optional and replacing them with AutoExec rules in hopes that it will make the XML more lag-free, but the XML I tested was fine even with the include rules.
Is there any rule for Artemis' Medal moon phases?
<if moon="NameOfMoonPhase"> is what you're looking for. I wouldn't know your specific configuration without you telling us when you want the piece equipped.
Looking for a sch snippet to handle auto-fire parsimony on high cost nukes.
This would work if there was only 1 book charge, but with 2, the timers count down at the same time, so:Code:<!if NotBuffActive="Parsimony" Buffactive="Dark Arts|Addendum: Black" Skill="ElementalMagic" MPCostGT="200" Advanced='!($Books = 0)'> <command>wait 2;%Spell %SpellTargetRaw;</command> <command>Parsimony</command> <cancelspell /> <return /> </if> <if spell="Addendum*|Parsimony|Celerity|Manifestation|Penury|Celerity|Accession"> <command>sc v dec books;wait 120;sc var inc books</command> </if>
Thoughts on a way to get the timers to run after each other?Code:Time(s) 0 Use Pars1 30 90s Use Pars2 60 60s 90s 90 30s 60s 120 Books inc 30s 150 Books inc 180 210 240 When I actually have 2 books
Edit: Pseudo:
Probably something like thisCode:if books=2 set books = 1 wait 120 upgradebooks /if if books=1 set books = 0 /if if upgradebooks inc books if books = 1 wait 120 upgradebooks /if if books > 2 set books = 2 /if /if
New to spellcast (lol) but I was just wondering if there was any possible way to add a /wait 1 before a WS?
Do you want to delay the WS?
<castdelay delay="1" />
Is it possible to do
?Code:<if BuffActive="Sneak Attack"> <set lock="yes">SA-Gear</set> </if>
You might not want when="all", maybe something like.. "aftercast|idle|engaged" insteadCode:<if mode="OR" BuffActive="Sneak Attack" Spell="Sneak Attack"> <equip when="all"><hands lock="true">Raider's Armlet's +2</hands></set> </if>
Maybe you posted before I edited since I pasted the wrong thing, but I'm asking about set lock since I have a few more things other than hands I want to equip.
Also, what is the part
<if mode="OR"
part for? I've seen it in a few of my XMLs I've frankensteined, but I don't really understand that part of the syntax.
You cannot lock sets, but you can use variables (Requires more rules for handling TP/Armor type sets; see my XML for an example) or put the rule at the bottom of the list.
<mode="OR"> means if at least one of the conditions is met, then do w/e after.
EX:
<if mode="OR" spell="impetus" buffactive="impetus"> translates to "If you use Impetus or Impetus is already active."
Important for people that made template XMLs based on my old one (Not necessarily people using my XMLs): I made a new template you can check out that should have much less lag. I haven't tested it yet since I'm too busy to fix it up into an actual XML, but I plan to do so in the future. I will be keeping the current Include XML up since I know current XMLs use it, but I hope to consolidate them into one XML so people do not get confused in the future. I PMed people I know have made an XML based on my XML, but I might have forgotten someone.