Missing a </if> before <!-- Timers for when sleep is wearing off --> comment.
Missing a </if> before <!-- Timers for when sleep is wearing off --> comment.
That's what I thought, but when i add that the code above it won't work for the Obi rule. You talking 2 </if> in row? like so?
Unless that Obi weather/day code is wrong, but it did work in a blm xml i have and using.Code:<if Advanced='("%SpellElement" = "%WeatherElement" OR "%SpellElement" = "%DayElement") AND "$%SpellElementObi" = "1"'> <if Element="Light"> <equip when="midcast"> <waist lock="yes">Korin Obi</waist> </equip> </if> </if> <!-- Timers for when sleep is wearing off. -->
should be %SpellEllement instead of Element, I think. And it should probably in an advaced rule.
Code:<if Advanced='("%SpellElement" = "Light")'> <equip when=.......... blah blah
No, his syntax was right. However, he has ... "AND %SpellElement=1", which means the rule will ONLY work if you have a variable called (Element)Obi and that variable is set to 1. His LightObi variable is set to 0 atm and that's the only element I see. That means the rule will never activate. To fix that, change LightObi's value to 1.
Just making sure this works. HP gear has to stay on for a bit to work iircCode:<if spell="Restoring Breath"> <equip when="precast|midcast|aftercast" > <head>Wyrm Armet +2</head> <neck>Lancer's Torque</neck> <body>Wyvern Mail</body> <hands>Ostreger Mitts</hands> <back>Lancer's Pelerine</back> <lear>Lancer's Earring</lear> <legs>Drachen Brais +1</legs> <waist>Glassblower's Belt</waist> <aftercastdelay delay="3.5" /> </equip> </if>
You need a aftercast delay and I would just make a set.
<if Spell="Restoring Breath">
<equip when="midcast" set="Restoring Breath" />
<aftercastdelay delay="2.5" />
</if>
Adjust the delay value (2.5s) to w/e works best for you.
Here is what I use for DRG cures. I pulled a good portion of it out of Techno's Dragoon XML from years ago. Works like a charm.
Code:<var name="HBMidcastDelay">0</var> <set name="Healing Breath Trigger"> <ammo>Egoist's Tathlum</ammo> <head>Drachen Armet</head> <neck>Dualism Collar</neck> <lear>Bloodgem Earring</lear> <rear>Cassie Earring</rear> <hands>Dusk Gloves +1</hands> <lring>Bloodbead Ring</lring> <rring>Meridian Ring</rring> <back>Strendu Mantle</back> <waist>Glassblower's Belt</waist> <legs>Homam Cosciales</legs> <feet>Wym. Greaves +2</feet> </set> <set name="Healing Breath Potency"> <head>Wyrm Armet</head> <neck>Lancer's Torque</neck> <body>Wyvern Mail</body> <back>Lancer's Pelerine</back> <waist>Glassblower's Belt</waist> <legs>Drachen Brais</legs> <feet>Wym. Greaves +2</feet> </set> <if spell="Dia|Poison|Poisona|Blaze Spikes|Protect|Sprout Smack|Head Butt|Cocoon|Bar*"> <equip when="precast" set="Healing Breath Trigger" /> <var when="precast" cmd="setcalc HBMidcastDelay %CastTime + 0.3" /> <midcastdelay delay="$HBMidcastDelay" /> <equip when="midcast" set="Healing Breath Potency" /> <aftercastdelay delay="2" /> </if> <elseif spell="Restoring Breath|Smiting Breath"> <midcastdelay delay="1" /> <equip when="midcast" set="Healing Breath Potency" /> <aftercastdelay delay="4" /> </elseif>
Whats all that extra variable/advanced stuff for? Why can't you just go:
Edit: And just put AF1+1 legs and AF2+2 feet into the trigger set, you don't lose a whole lot of player HP+ in those slots, and wyvern HP% is the only one that takes time to process.Code:<if spell="Restoring Breath|Smiting Breath"> <equip when="precast" set="Healing2" /> </if> <if type="BlueMagic|WhiteMagic|BlackMagic"> <equip when="precast" set="Healing1" /> <equip when="aftercast" set="Healing2" /> </if>
Restoring is a instant ability, so aftercast occurs almost immediately afterwards. Since many XMLs use rule that changes back to your TP/Idle gear when aftercast occurs, you end up changing back to TP/Idle gear before the breath occurs. Aftercast delay prevents the gear change just enough so that you keep wearing HB gear.
As for the specifics:
From the start of the cast until the end of the cast: HP Gear + Drachen Armet<if spell="Dia|Poison|Poisona|Blaze Spikes|Protect|Sprout Smack|Head Butt|Cocoon|Bar*">
<equip when="precast" set="Healing Breath Trigger" />
<var when="precast" cmd="setcalc HBMidcastDelay %CastTime + 0.3" />
<midcastdelay delay="$HBMidcastDelay" />
<equip when="midcast" set="Healing Breath Potency" />
<aftercastdelay delay="2" />
</if>
Between the end of the cast and the the activation of the spell: HB Gear
At the end of the spell: TP or Idle gear
The variable calculates the cast time + 0.3s and then uses that total to delay midcast gear. This allows you to keep using HP gear + Drachen armet when the spell finishes. The aftercast delays the equipping of TP/Idle gear until the healing breath finishes.
Oh that'll explain it. I don't use aftercasts that swap back to my original/idle gear in any of my main spellcasts (I do for my mule whm for obvious reasons).
I just have an idle/targetnpc macro that I hit afterwards.
Ok here is my spellcast
i can't understand why when i use my 75bp my gears will not return back to my normal as are doing with my normal phisical bp's.
can you show me where i'm doing wrong and how to correct it?
thanks
pastebin.com/9n09WmNx
This line tells the XML to ignore the rest of the rules and you have that within your 75BP rule.Code:<return />
I'm using an include file to avoid having to retype the same stuff over and over since I have multiple mage jobs, however I noticed I'm no longer swapping staves on demand. Here's a pastebin of my summoner xml and include file:
pastebin.com/nWUUxS8J
pastebin.com/yJysP3j6
pastebin.com/ZjBQg1pU
I really could use some help in getting this working again instead of having to hard-code the full names of the staffs in each xml file.
What I can't understand is that while this doesn't work for my summoner and red mage, it works fine for my white mage.
You have variables called Fire-Dark (Elements). So when you use
<main>$LightStaff</main>
Spellcast substitutes $Light with Light (Since you have <var name="Light">Light</var>) and leaves the name as LightStaff. To fix this, remove the
<var name="Fire">Fire</var>
.
.
.
<var name="Dark">Dark</var>
Ah, I did wonder if it was doing that. Didn't know that spellcast could pick up partial names in variables. I'll go toy with it some more. Thank you.
Isn't there also some thing about spellcast parsing variables in alphabetical order? It's not really an issue in your case, but could be something that comes up for someone depending on how complex they make their xmls.
But for example:
$Apple = "Red"
$Zucchini = "Green"
$Mandarin = "Orange"
$MandarinRed = "Hello"
$MandarinGreen = "Goodbye"
/echo $Mandarin$Apple would refer to the variable $MandarinRed and ultimately print out "Hello".
/echo $Mandarin$Zucchini would refer to the string "OrangeGreen" and ultimately print out "OrangeGreen".
So, if you use variables inside of variables to refer to other variables, just be mindful of that.
Thank you, I'll be more careful about that. To be honest I don't know why the variables were still there, they didn't do anything. I think it was from last time when I wasn't using includes and had the NQ staffs.
Well, now I've stumbled on a new problem, and this is only recent. The bloodpacts aren't triggering when using for example /console 75Nuke, even when I type it in it's not calling it. Was something changed in the past 6 months? Because it worked fine back then.
Oh silly me, ignore the bit in grey. I was hitting macro buttons for ones that didn't have any spells assigned to them, lol. The rest are working fine.