|
DNC Spellcast
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6,231
By Lakshmi.Byrth 2012-09-27 12:53:55
Updated 2/8/11
Changes -
* Removed Saber Dance set/flags
* Removed unnecessary variables
* Cleaned up some stuff that wasn't being used
* Eliminated the reliance on Yugl-Include.xml (only need the new Byrth-Include.xml (it has the same functions as before)
* Dropped down the number of TP sets and removed the left/right cycling option because it was no longer beneficial.
* Eliminated some triggers.
Here it is!
( File Name ) : ( URL )
* Autoexec.xml: http://pastebin.com/imjiMqjC -- goes in ../Windower/plugins/autoexec/
* Byrth-Include.xml: http://pastebin.com/xCekMuPZ -- goes in ../Windower/plugins/spellcast
* Name_DNC.xml: http://pastebin.com/FPUnWtq8 -- goes in ../Windower/plugins/spellcast
You need to use Autoexec and Spellcast to use this xml. Download them each, make "spellcast" and "autoexec" folders in the ../Windower/plugins/ directory, and add "load Autoexec" and "load Spellcast" commands to your ../Windower/scripts/init.txt
You will need to download the three files linked above and change them to xmls. They default to downloading as text documents, last I checked. To convert them (way anyone can do):
* Open one in Notepad
* Open another empty document in Notepad
* Copy from the one you downloaded to the new document
* Save the new document (to the appropriate folder) using the name that you want (like "Byrth-Include.xml") and after change the file type (below the name) from "Text Document" to "All Flies".
* Repeat for the other two files
Yeah, I guess I should provide a little segment on how the trigger spells work. Bolded are ones that apply to all of Yugl's spellcasts. Italicized are the ones I customized/added in mine. These may not all apply anymore, as I removed some of the options that I found I never used for the sake of speed. Underlined are the default states when appropriate:
Dancing Chains : Equips whatever idle set you should have on, including TP gear when appropriate.
Poison V : Cycles through your TP set options.
Shackled Fists : Sets the "Distance" variable to your current distance from the monster. This variable controls how close you have to be before Spellcast will allow your weaponskills to execute, to prevent you from WSing an out of range monster. Personally, I don't bother with this and just leave it at 10, which is out of range but prevents me from WSing things like 40' away.
Aegis Schism : This puts on your max MDT gear.
Aegis Schism : This toggles between your normal and MDT gear.
Barbed Crescent : This puts on your max PDT gear.
Barbed Crescent : This toggles between your normal and PDT gear.
Carnal Nightmare : This put on your max evasion gear. I didn't bother to remake it as a toggle in mine because I rarely use it, but I can do it for the next version.
That's about it! Instead of using macros for these, I'd recommended binding the less useful ones to F-keys that you aren't using.
[+]
Quetzalcoatl.Dova
Serveur: Quetzalcoatl
Game: FFXI
Posts: 567
By Quetzalcoatl.Dova 2012-10-03 16:38:44
These are my rules for DNC. For some reason it won't do anything pertaining to NFR. I can't figure out why :/ Line 205 is NFR. Code <rules>
<if status="idle">
<equip when="aftercast|idle" set="idle"/>
</if>
<elseif status="engaged">
<if advanced='("$atk" = "main")'>
<equip when="engaged|aftercast" set="main"/>
</if>
<elseif advanced='("$atk" = "eva")'>
<equip when="engaged|aftercast" set="eva"/>
</elseif>
<elseif advanced='("$atk" = "mdt")'>
<equip when="engaged|aftercast" set="mdt"/>
</elseif>
<else>
<equip when="engaged|aftercast" set="pdt"/>
</else>
</elseif>
<!-- Jigs -->
<if type="jig">
<if spell="spectral jig">
<if buffActive="Sneak">
<action type="CastDelay" delay="1"/>
<command when="precast">cancel 71</command>
</if>
<equip when="precast" set="jig"/>
</if>
<if spell="chocobo jig">
<addtochat color="121">.............................Using %spell.....</addtochat>
<equip when="precast" set="jig"/>
</if>
</if>
<!-- Waltzes -->
<if type="waltz">
<if mode="and" spell="*waltz*" notspell="healing waltz">
<equip when="precast" set="waltz"/>
<if mode="and" Area="Aby*" notBuffActive="weakness">
<if spell="Curing waltz V">
<if advanced='("%TP" < "80" AND "%TP" > "64")'>
<action type="ChangeSpell" Spell="Curing waltz iv" />
<if advanced="%SpellTargetHPP >85">
<action type="ChangeSpell" Spell="Curing waltz ii" />
</if>
<elseif advanced="%SpellTargetHPP >70">
<action type="ChangeSpell" Spell="Curing waltz iii" />
</elseif>
</if>
<elseif advanced='("%TP" < "65" AND "%TP" > "49")'>
<action type="ChangeSpell" Spell="Curing waltz iii" />
<if advanced="%SpellTargetHPP >85">
<action type="ChangeSpell" Spell="Curing waltz ii" />
</if>
</elseif>
<else>
<if advanced="%SpellTargetHPP >85">
<action type="ChangeSpell" Spell="Curing waltz ii" />
</if>
<elseif advanced="%SpellTargetHPP >70">
<action type="ChangeSpell" Spell="Curing waltz iii" />
</elseif>
<elseif advanced="%SpellTargetHPP >55">
<action type="ChangeSpell" Spell="Curing waltz iv" />
</elseif>
</else>
</if>
</if>
<else>
<if spell="Curing waltz V">
<if advanced='("%TP" < "80" AND "%TP" > "64")'>
<if advanced="%SpellTargetHPP >85">
<action type="ChangeSpell" Spell="Curing waltz ii" />
</if>
<elseif advanced="%SpellTargetHPP >70">
<action type="ChangeSpell" Spell="Curing waltz iii" />
</elseif>
<else>
<action type="ChangeSpell" Spell="Curing waltz iv" />
</else>
</if>
<elseif advanced='("%TP" < "65" AND "%TP" > "49")'>
<if advanced="%SpellTargetHPP >85">
<action type="ChangeSpell" Spell="Curing waltz ii" />
</if>
<else>
<action type="ChangeSpell" Spell="Curing waltz iii" />
</else>
</elseif>
<else>
<if advanced="%SpellTargetHPP >90">
<action type="ChangeSpell" Spell="Curing waltz" />
</if>
<elseif advanced="%SpellTargetHPP >80">
<action type="ChangeSpell" Spell="Curing waltz ii" />
</elseif>
<elseif advanced="%SpellTargetHPP >62">
<action type="ChangeSpell" Spell="Curing waltz iii" />
</elseif>
<elseif advanced="%SpellTargetHPP >37">
<action type="ChangeSpell" Spell="Curing waltz iv" />
</elseif>
</else>
</if>
</else>
</if>
<if spell="healing waltz">
<if advanced='("%target" = "%playername")'>
<if notBuffActive="Bio|Bind|Burn|choke|dia|flash|frost|gravity|rasp|slow|weight|bane|blind|curse|disease|paralysis|poison|silence|plague|*down" >
<addtochat color="121">.............................No debuffs.....</addtochat>
<action type="cancelSpell" />
</if>
</if>
</if>
</if>
<!-- Steps -->
<if type="step">
<if notBuffActive="Presto" >
<action type = "CastDelay" delay = "1.5"/>
<action type = "Command" when = "Precast">input /raw /ja Presto <me></action>
</if>
<if spell="feather step">
<addtochat color="121">.............................Using Feather Step on %target.....</addtochat>
<equip when="precast" set="fstep"/>
</if>
<else>
<addtochat color="121">.............................Using %spell on %target.....</addtochat>
<equip when="precast" set="step"/>
</else>
</if>
<!-- Sambas -->
<if type="samba">
<addtochat color="121">.............................Using %spell.....</addtochat>
<equip when="precast" set="samba"/>
</if>
<!-- Weapon Skills -->
<if type="weaponskill">
<if spell="rudra's storm">
<if buffActive="Climactic Flourish">
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="rudracrit"/>
</if>
<elseif buffActive="aftermath">
<if buffActive="Climactic Flourish">
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="rudracrit">
<head>Aias Bonnet</head>
</equip>
</if>
<else>
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="rudra"/>
</else>
</elseif>
<else>
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="rudra"/>
</else>
</if>
<if spell="pyrrhic kleos">
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="pk"/>
</if>
<if spell="evisceration">
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="ws"/>
</if>
<if spell="dancing edge">
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="de"/>
</if>
<if spell="exenterator">
<action type="CastDelay" delay=".5"/>
<equip when="precast" set="exen"/>
</if>
<if spell="aeolian edge">
<equip when="precast" set="ae"/>
</if>
</if>
<!-- Flourishes -->
<if type="flourish*">
<if spell="violent flourish|kura*|hojo*|jubaku*">
<addtochat color="121">.............................Using %spell.....</addtochat>
<action type="CastDelay" delay=".1"/>
<equip when="precast" set="stun"/>
</if>
<if spell="reverse flourish">
<addtochat color="121">.............................Using %spell.....</addtochat>
<action type="CastDelay" delay=".1"/>
<equip when="precast">
<body>Etoile Casaque +2</body>
<hands>Charis Bangles +2</hands>
</equip>
</if>
<if spell="striking flourish">
<action type="CastDelay" delay=".1"/>
<equip when="precast">
<body>Charis Casaque +2</body>
<aftercastdelay delay="5"/>
</equip>
</if>
<if spell="provoke|animated flourish|warcry">
<equip when="precast" set="hate"/>
</if>
</if>
<!-- Random Crap -->
<if spell="nofootrise">
<addtochat color="121">.............................Using %spell.....</addtochat>
<action type="CastDelay" delay=".1"/>
<equip when="precast">
<body>Etoile Casaque +2</body>
</equip>
</if>
<if spell="cure">
<action type="changeSpell" Spell="Curing Waltz V" />
</if>
<if spell="trance">
<action type="CastDelay" delay=".1"/>
<equip when="precast">
<head>Etoile Tiara +2</head>
</equip>
</if>
<if spell="dancing chains">
<equip when="precast|aftercast" set="$atk" />
</if>
</rules>
Serveur: Sylph
Game: FFXI
Posts: 2,617
By Sylph.Hitetsu 2012-10-03 16:41:37
Need spaces in it "<if spell="No Foot Rise">"
[+]
Quetzalcoatl.Dova
Serveur: Quetzalcoatl
Game: FFXI
Posts: 567
By Quetzalcoatl.Dova 2012-10-03 16:43:16
Need spaces in it "<if spell="No Foot Rise">" I've tried with and without :s
Bleh nvm thanks lol. Was on wrong sj xml -.-
By Ashandarei 2012-10-03 16:43:49
Just looking at it briefly(just scanned it really)
Should be:
Code <if spell="No Foot Rise">
If I'm not mistaken
Edit: Or I can be late, but I'm leaving it anyways lol
[+]
Serveur: Fenrir
Game: FFXI
Posts: 11,681
By Fenrir.Nightfyre 2012-10-03 16:46:08
Should definitely be three words. Have you tried turning on debug and using NFR to identify the issue?
Not really a functional point but <action type=""/> is a depreciated rule, you can just use <changespell spell=""/> etc.
[+]
Serveur: Sylph
Game: FFXI
Posts: 2,617
By Sylph.Hitetsu 2012-10-03 16:46:21
I dunno then, this is my NFR section and it works like a charm. Code xml <if spell="Violent Flourish|No Foot Rise">
<equip when="precast">
<body>Etoile Casaque +2</body>
</equip>
<equip when="aftercast" set="$GearType" />
</if>
[+]
Quetzalcoatl.Dova
Serveur: Quetzalcoatl
Game: FFXI
Posts: 567
By Quetzalcoatl.Dova 2012-10-03 16:48:30
Appreciate it thanks guys!
Bahamut.Tokidoki
Serveur: Bahamut
Game: FFXI
Posts: 155
By Bahamut.Tokidoki 2012-10-06 12:01:36
Just here to give props to Byrth for providing this spellcast. I've been using for a week or two now and it is truly great. Just wanted to say thank you for your contributions to all the badass DNCs out there, we owe you one!
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-06 12:33:52
I'm very reluctant to get an xml for my dnc cuz I just love how busy the job keeps me with all the different sets and macros. The only 2 things I wouldn't mind being handled is swapping to Etoile Tights +2 for SD and swapping from Idle set to Engaged set to Idle set.
Now if I were to make a very basic xml to support my current system, I'd have to add your SD entry from the autoexec and whenever SD is over/dropped, it'd swap back into my previous Engaged set (be that TP set with Thaumas, Hybrid Eva or even my Idle set, whatever was last used / is appropriate for when SD actually wears off), correct?
I hope this isn't too poorly phrases. My question is, if I were to start an xml of that sort, what would I need beyond my sets (Idle, TP, Hybrid Eva, (Full Eva for future content), PDT, MDT?
Would I have to go all out on spellcast to use ws sets or could I still use .txt ws macros? Or would the xml always swap me right back into my tp set before the ws could go off?
Serveur: Sylph
Game: FFXI
Posts: 529
By Sylph.Binckry 2012-10-06 12:55:10
Depending on how fancy you make your SC, it won't really take away the business of the job, lol. Unless you have like 2-3 macros for each ability. I kept all my old macros on WHM, just took off the gearswaps, and nothing really changed when I started using XMLs, lol.
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-06 16:57:29
The only thing I think I have to figure out (get a grasp on for myself, really) is how spellcast determines whether I wanna use a stacked or unstacked ws. Guess I'll try to figure that out by reading Byrth's xml. Which, by the way, looks amazing. Kudos for putting that up there for all of you, man.
Fenrir.Sylow
Serveur: Fenrir
Game: FFXI
Posts: 6,862
By Fenrir.Sylow 2012-10-06 16:59:19
Have it check for "climactic flourish" buff being active.
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-06 20:57:11
Can I copy and paste that whole section for checking for climactic and replace the climactic part with Sneak Attack? And if I can, do I need to add a variable line or is just having the
And if I wanted to add a rule about Sneak Attack, could I just copy and paste that buff check for Climcatic, rename it into Sneak Attack? I think I'd then have to add a Sneak Attack variable, right?
Fenrir.Sylow
Serveur: Fenrir
Game: FFXI
Posts: 6,862
By Fenrir.Sylow 2012-10-06 21:26:57
No, as long as it's a recognized buff you're golden.
Pseudocode
if spell=myWS
if buffactive="myStackingBuff1|myStackingBuff2"
equip when='precast' set=myBuffSet
else
equip when='precast' set=myBuffDownSet
/if
in this case myStackignBuff1 could be Climactic Flourish, 2 could be Sneak Attack.
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-06 21:53:06
Awesome, thanks a lot. That is exactly what I was in the market for.
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-07 15:45:08
Okay, this is what I came up with. I'm not entirely sure about the whole else or elseif and when to close with /if, so I'd appreciate the feedback.
I split the sets up further to an unstacked one, an SA set (not using Charis Tiara +2) and Rudra's set.
Code <if spell="Rudra's Storm">
<if buffactive="Sneak Attack">
<equip when="precast"" set="SA Rudra"/>
</elseif>
<elseif buffactive="Climactic Flourish">
<equip when="precast"" set="Climactic Rudra"/>
</elseif>
<elseif>
<equip when="precast"" set="Rudra">
</if>
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6,231
By Lakshmi.Byrth 2012-10-07 15:53:26
Code <if spell="Rudra's Storm">
<if buffactive="Sneak Attack">
<equip when="precast"" set="SA Rudra" />
</if>
<elseif buffactive="Climactic Flourish">
<equip when="precast"" set="Climactic Rudra" />
</elseif>
<else>
<equip when="precast"" set="Rudra" />
</else>
</if>
You have some tag confusion, but this should fix it.
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-07 16:04:28
Thanks a ton, Byrth. I know I do. Is there an easy way for you to put into words why else is at the end? I'm guessing Is buff A or elseif buff B use set A or B - or else, if no buff, use set C?
Prolyl sounds dumb to you, but spelling it out like this helps me get a better grasp on it. Tried reading the tutorial on the windower page and it just made me wanna curl up in a ball and cry ^^;
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6,231
By Lakshmi.Byrth 2012-10-07 16:10:34
If Buffactive = Sneak Attack
* Equip this set
If Buffactive was not Sneak Attack but is Climactic Flourish
* Equip this set
If Buffactive was not Sneak Attack or Climactic Flourish
* Equip this set
So this would be the same as using these conditionals (not functional code, just examples): Code <if BuffActive="Sneak Attack">
<if mode="AND" Buffactive="Climactic Flourish" notBuffActive="Sneak Attack">
<if mode="AND" NotBuffActive="Sneak Attack" notBuffActive="Climactic Flourish">
It's easier and more intuitive to say <if> <elseif> <else>, and it cuts down on the amount of work your computer has to do (because if BuffActive=Sneak Attack is true it doesn't even have to read the Elseif or Else).
Cerberus.Keyoku
Serveur: Cerberus
Game: FFXI
Posts: 163
By Cerberus.Keyoku 2012-10-07 16:23:58
It's sad how you can just pop that out in no time and make me understand it when like 30min+ of head scratching got me nowhere. Appreciate all your good work on here and I know many, many other lurkers do, too.
[+]
Necro Bump Detected!
[85 days between previous and next post]
Quetzalcoatl.Wizkid
Serveur: Quetzalcoatl
Game: FFXI
Posts: 46
By Quetzalcoatl.Wizkid 2012-12-31 22:26:55
Excuse me, Byrth... I can't get your xml to work... Do I need to save all 4 of those files into spellcast? Do I need to change anything?
By Solrain 2012-12-31 23:23:16
The DNC.xml and the Includes go in your Spellcast folder and the AutoExec goes in the AutoExec.xml in the AutoExec folder. I forget if there's already an existing AutoExec.xml but if there isn't, just make a new xml and paste Byrth's rules in it. Then just //load autoexec or add "load autoexec" to your init.
Hope it works!
Necro Bump Detected!
[38 days between previous and next post]
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6,231
By Lakshmi.Byrth 2013-02-08 11:04:46
Updated the OP with my current version.
It does not work with Windower 4.0's Spellcast, but probably will in the future.
Ragnarok.Grimkitty
Serveur: Ragnarok
Game: FFXI
Posts: 143
By Ragnarok.Grimkitty 2013-02-14 22:37:52
What's up with this error when I try to load the xml for my DNC? I have both of those XMLs for Spellcast in Spellcast and the AutoExec one where it belongs, but this just happens.
Ragnarok.Goldnboy
Serveur: Ragnarok
Game: FFXI
Posts: 23
By Ragnarok.Goldnboy 2013-02-14 22:45:26
Well I have version 2.46 and works with no issues. You may wanna try update your DLL
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6,231
By Lakshmi.Byrth 2013-02-14 22:47:34
"Error: line 0" typically means that the Include files aren't present/named properly.
Ragnarok.Grimkitty
Serveur: Ragnarok
Game: FFXI
Posts: 143
By Ragnarok.Grimkitty 2013-02-14 22:50:27
how should I name them? have the spellcast ones as dnc/dnc2
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6,231
By Lakshmi.Byrth 2013-02-14 22:55:14
Name it like the OP. I bolded the names to make them more obvious. "Name" in this case is your character's name.
Updated 2/8/11
Changes -
* Removed Saber Dance set/flags
* Removed unnecessary variables
* Cleaned up some stuff that wasn't being used
* Eliminated the reliance on Yugl-Include.xml (only need the new Byrth-Include.xml (it has the same functions as before)
* Dropped down the number of TP sets and removed the left/right cycling option because it was no longer beneficial.
* Eliminated some triggers.
Here it is!
( File Name ) : ( URL )
* Autoexec.xml: http://pastebin.com/imjiMqjC -- goes in ../Windower/plugins/autoexec/
* Byrth-Include.xml: http://pastebin.com/xCekMuPZ -- goes in ../Windower/plugins/spellcast
* Name_DNC.xml: http://pastebin.com/FPUnWtq8 -- goes in ../Windower/plugins/spellcast
You need to use Autoexec and Spellcast to use this xml. Download them each, make "spellcast" and "autoexec" folders in the ../Windower/plugins/ directory, and add "load Autoexec" and "load Spellcast" commands to your ../Windower/scripts/init.txt
You will need to download the three files linked above and change them to xmls. They default to downloading as text documents, last I checked. To convert them (way anyone can do):
* Open one in Notepad
* Open another empty document in Notepad
* Copy from the one you downloaded to the new document
* Save the new document (to the appropriate folder) using the name that you want (like "Byrth-Include.xml") and after change the file type (below the name) from "Text Document" to "All Flies".
* Repeat for the other two files
Yeah, I guess I should provide a little segment on how the trigger spells work. Bolded are ones that apply to all of Yugl's spellcasts. Italicized are the ones I customized/added in mine. These may not all apply anymore, as I removed some of the options that I found I never used for the sake of speed. Underlined are the default states when appropriate:
Dancing Chains : Equips whatever idle set you should have on, including TP gear when appropriate.
Poison V : Cycles through your TP set options.
Shackled Fists : Sets the "Distance" variable to your current distance from the monster. This variable controls how close you have to be before Spellcast will allow your weaponskills to execute, to prevent you from WSing an out of range monster. Personally, I don't bother with this and just leave it at 10, which is out of range but prevents me from WSing things like 40' away.
Aegis Schism : This puts on your max MDT gear.
Aegis Schism : This toggles between your normal and MDT gear.
Barbed Crescent : This puts on your max PDT gear.
Barbed Crescent : This toggles between your normal and PDT gear.
Carnal Nightmare : This put on your max evasion gear. I didn't bother to remake it as a toggle in mine because I rarely use it, but I can do it for the next version.
That's about it! Instead of using macros for these, I'd recommended binding the less useful ones to F-keys that you aren't using.
|
|