|
The Last Dance III: A Dancer's Guide *New*
By Afania 2019-07-25 11:20:55
Leviathan.Katriina said: »I used the spreadsheet modified by Madranta. If you notice something please make the adjustments and let me know.
I know a few mentioned other issues with that DPS Sheet, but I'm pretty sure the Evisceration Formula is still *** up in that version as well. Simon and I went over this... oh god, 6 months ago ish? And I updated them in mine, but it's all on Google Docs rather than a local file on my PC.
Let me know if this link works for anyone if you can DL/Duplicate it.
https://docs.google.com/spreadsheets/d/1FJFwBx38ZUxkYdT3Pcvv-laqxmXciIo9Zl0atxhYhS0/edit?usp=sharing
This one looks better. It doesn’t have the evisceration bonus for Tauret and we still need a new formula to handle its crit applying during tp phase only. For other users also realize it’s been slightly personalized to his gear so you may need to tweak the augments.
There are also a lot of buffs toggled off in this version so don’t forget to toggle them on if looking for max DPS numbers.
Be warned, because the pDif has been updated the results for climactic are going to be much higher than prior sheets showed.
*Edit*
I also noticed that building flourish is not giving the WS Damage bonus from gifts.
This isn't just dnc specific. You can't just enter the gear/buff info and expect anything that comes out will be correct number. You kinda have to do some manual calculation with the info.
In terms of wsd from BF or pulse weapon/r15, the best way is to manually add the additional wsd after you get the ws number. Then input the number to the sheet for entire dps.
For Tauret crit bonus, I guess you can calculate the avg crit rate from 0 to 1000 then manually add it?
Dnc sheet has a lot of JA on off toggles but I don't trust any of them functioning correctly. I only ever use ws cycle time/dmg info and ws avg info whenever I use spreadsheet to calculate dps regardless of job.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-07-26 03:24:06
Lack of male dancer images aside (!), guide looks visually great. War subjob text needs tweaking re fencer (boosts tp bonus for single wield only) and think you mean sekkanoki instead of shikikoyo on sam sub.
You’re right about male dancers, I’ll try to add some in the Jigs and Trance sections.
In regards to WAR sub, it’s not just for fencer in single wield, it’s also in my opinion the go to option in both firing Rudras on enemies without engaging and Twashtar main dancers in general who play conservatively without saber dance.
Sekkanoki was added instead of Shikikoyo, thanks for the comments.
[+]
By Afania 2019-07-26 19:18:18
Leviathan.Katriina said: »Lack of male dancer images aside (!), guide looks visually great. War subjob text needs tweaking re fencer (boosts tp bonus for single wield only) and think you mean sekkanoki instead of shikikoyo on sam sub.
You’re right about male dancers, I’ll try to add some in the Jigs and Trance sections.
In regards to WAR sub, it’s not just for fencer in single wield, it’s also in my opinion the go to option in both firing Rudras on enemies without engaging and Twashtar main dancers in general who play conservatively without saber dance.
Sekkanoki was added instead of Shikikoyo, thanks for the comments.
If you are firing rudra without engaging then the go to offhand would be a cento. Fencer is weaker than cento.
Serveur: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2019-07-26 21:41:07
Leviathan.Katriina said: »I used the spreadsheet modified by Madranta. If you notice something please make the adjustments and let me know.
I know a few mentioned other issues with that DPS Sheet, but I'm pretty sure the Evisceration Formula is still *** up in that version as well. Simon and I went over this... oh god, 6 months ago ish? And I updated them in mine, but it's all on Google Docs rather than a local file on my PC.
Let me know if this link works for anyone if you can DL/Duplicate it.
https://docs.google.com/spreadsheets/d/1FJFwBx38ZUxkYdT3Pcvv-laqxmXciIo9Zl0atxhYhS0/edit?usp=sharing
This one looks better. It doesn’t have the evisceration bonus for Tauret and we still need a new formula to handle its crit applying during tp phase only. For other users also realize it’s been slightly personalized to his gear so you may need to tweak the augments.
There are also a lot of buffs toggled off in this version so don’t forget to toggle them on if looking for max DPS numbers.
Be warned, because the pDif has been updated the results for climactic are going to be much higher than prior sheets showed.
*Edit*
I also noticed that building flourish is not giving the WS Damage bonus from gifts.
I had a separate spreadsheet I use for Tauret. On the 'Data' tab, scroll to the bottom, Cell E211 and manually enter 150%. (Relic Bonus) and it will calculate the WS Damage with a 50% bonus. That was the workaround I used, but I didn't add anything else at that time, because the math was still under review of the Crit bonus rate. Haven't really played in ~6 months, in which people probably found the answer.
Buffs are toggled off, because I played Dnc as a Solo Job 90% of the time, and everything was based on a trust party if I recall correctly. So for anyone using my link above, I would update all of the buff values as they are likely all Trust Values, not Human values.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-07-27 02:00:47
If you are firing rudra without engaging then the go to offhand would be a cento. Fencer is weaker than cento.
Oh, thats not why it was used. WAR is still better sub for fights like Erinys and Onychophora with Cento Offhand.
To make it clear:
Personally, I use WAR sub 90% of the time on Twashtar because in moments where I need access to waltz or fan dance I can still have all the offensive abilities WAR can give.
Don't get me wrong though, SAM is a great sub; especially when facing enemies. But lets say I like to have extra offensive options on Dancer for maximum DPS.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-07-27 02:30:00
Other small things:
1) I feel the guide could use a shark bite set. Its a useful frag ws for sc and doesnt require merit nor aeonic main hand.
2) I think the guide could have a section for multi step SC since its important part of job. See DRG guide on bg wiki.
Many people like to suggest evis > rudra > rudra but thats certainly not the strongest 3 step for weapons good at other ws such as tauret or terp. Exen > pk > evis is a much stronger 3 step for tauret for example.
3) I think the guide could also talk about other pt roles, such as main healing. Fan dance 5/5 lowers divine waltz 2 to 12 sec with recast- gears if I calculate correctly. Between single target waltz and divine 1 dnc should be able to comfortably replace a whm as a healer on things that doesnt spam aoe status ailment.
Thanks Afania for these points, I will try to respond to each one:
1- You're right, I will add that section for Shark Bite, I don't have the BiS set for it though, so if anyone would like to share them here in order to add them to the guide that would be great. Should also add Dancing Edge Set.
2-I thought I would leave that up to players to decide, I personally don't like to dictate what is the best solo skill chains since we have many daggers to use from and many combos.
For instance, for Terpsichore users, the best combo would be:
1-Shark Bite > Pyrrhic Kleos > Evisceration > Rudra's Storm
2-Pyrrhic Kleos > Evisceration > Rudra's Storm
3-Pyrrhic Kleos > Dancing Edge > Pyrrhic Kleos > Dancing Edge > Keep doing that forever.
And for Tauret or Twashtar main:
1-Evisceration > Shark Bite > Rudra's Storm > Evisceration > Rudra's Storm
1-Evisceration > Dancing Edge > Evisceration > Rudra's Storm
2-Evisceration > Rudra's Storm > Rudra's Storm
I can add these to the guide but again, wasn't thinking I should in the first place.
Side Note: The addition of Exenterator Set was only for AM activation on Aeonic, even though I personally think Dancers shouldn't use Aeneas in the first place. But its not my call to make.
3-In the Waltz section, I tried to add the info in the schedules with ranking the priorities for each, to give some hints on which to use in case you wanted to focus more on healing. It was also mentioned how you can effectively be the best frontline healers in game, but I didn't want to give paradigms to party setups excluding White Mages or Scholars.
Yes, Dancers can main heal but it shouldn't be the first "go to" option, its better to focus more on how flexible we can be. or at least thats the premise that I was working with.
If you wish to add that paragraph explaining how to main heal and if everyone is okay with it, I can add it to the introduction of Waltz or Defensive Abilities section.
[+]
By Afania 2019-07-27 02:44:03
Leviathan.Katriina said: »If you are firing rudra without engaging then the go to offhand would be a cento. Fencer is weaker than cento.
Oh, thats not why it was used. WAR is still better sub for fights like Erinys and Onychophora with Cento Offhand.
Oh, I didnt say anything war sub itself(nor flowen), he said something about fencer JT and I simply respond to it. Fencer(not war sub) is mostly irrelevant DD disengaged. Obviously you can sub war for dd disengage but its more ideal not to get the fencer bonus because cento is stronger.
By ScaevolaBahamut 2019-08-02 09:42:40
Leviathan.Katriina said: »For instance, for Terpsichore users, the best combo would be:
1-Shark Bite > Pyrrhic Kleos > Evisceration > Rudra's Storm
2-Pyrrhic Kleos > Evisceration > Rudra's Storm
3-Pyrrhic Kleos > Dancing Edge > Pyrrhic Kleos > Dancing Edge > Keep doing that forever.
I...really want to try PK>DE>eternity now
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-04 06:18:31
I dont agree with this. I get that terp is king of melee mythic for long time so people naturally feel that way, and career dnc can probably parse very high with terp too. But Im going to pick best all around performer thats either #1 or #2 for all of ws its most likely to be R15 Twashtar.
This was debated over and over through the previous guide, and although I'm personally team Twashtar like you, I can't deny how Terpsichore Dancers preform compared to Twashtar ones.
The general consensus if you execute PK exactly at 1k it will come on top always according to parse and testimonies. But I have my doubts..
My hesitation towards finishing my Terpsichore stems from my experience in high-end content as a Twashtar Dancer. I almost always come on top with other Terpsichore Dancers and break Top Tier jobs when Trance, Grand Pas are utilized spamming Climactic Rudras. (I dont want to mention how Presto and Tauret post update tinkered with the overall ranking for Daggers)
Adding to that the gearing choices for both types, to me it seems its more time consuming for Terpsichore Dancers vs Twashtar ones, they have more sets to develop if they plan on using all Weaponskills and every trick in the book. (not to mention subjobs according to fights)
But I had to go with what they say: If you really want an all rounder at R15 for situations like solo and/or zerg at 1K then Terpsichore should be the first option.
In my case, I personally avoid adding such questions to the guide, but it was requested several times during development.
Hope that helps.
By FaeQueenCory 2019-08-04 09:33:51
Leviathan.Katriina said: »2-I thought I would leave that up to players to decide, I personally don't like to dictate what is the best solo skill chains since we have many daggers to use from and many combos.
For instance, for Terpsichore users, the best combo would be:
1-Shark Bite > Pyrrhic Kleos > Evisceration > Rudra's Storm
2-Pyrrhic Kleos > Evisceration > Rudra's Storm
3-Pyrrhic Kleos > Dancing Edge > Pyrrhic Kleos > Dancing Edge > Keep doing that forever.
And for Tauret or Twashtar main:
1-Evisceration > Shark Bite > Rudra's Storm > Evisceration > Rudra's Storm
1-Evisceration > Dancing Edge > Evisceration > Rudra's Storm
2-Evisceration > Rudra's Storm > Rudra's Storm It would probably be very helpful for new people to have a simple list they could replicate.... we all know how most people can only 2step Light/Dark. (Girl, you know people don't look up SC properties.)
So a section just for multisteps would be a really good thing to have, I think and second. (especially if it means more people learn to skillchain better!)
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-04 09:42:19
Quote: Girl, you know people don't look up SC properties Haha, okay then!
I will set some time for that.
By Afania 2019-08-04 11:27:04
Been using fan dance 5/5 merit for quite some time and I really think this merit setup is very underratted in the community.
Extra pdt from the bangle is nice bonus but the biggest benefit is reduced recast for divine waltz 2. Its possible to keep entire pt alive endlessly if your whm isnt doing their job. Its like extra safety net for majority of PUG and things.
Without merit I feel the recast is too long and its not reliable to depend on if mob spams aoe more frenquently.
Or maybe its because ambu in both june and july are mnks or has conal moves which makes closed position less attractive. And wave 3 has mnks drgs and mobs spinning all over the place makes it harder to face them. In those cases CP doesnt add much.
I feel fan dance 5/5 should be at least close to closed position 5/5 in terms of usefulness.
Serveur: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2019-08-04 15:01:23
Been using fan dance 5/5 merit for quite some time and I really think this merit setup is very underratted in the community.
Extra pdt from the bangle is nice bonus but the biggest benefit is reduced recast for divine waltz 2. Its possible to keep entire pt alive endlessly if your whm isnt doing their job. Its like extra safety net for majority of PUG and things.
Without merit I feel the recast is too long and its not reliable to depend on if mob spams aoe more frenquently.
Or maybe its because ambu in both june and july are mnks or has conal moves which makes closed position less attractive. And wave 3 has mnks drgs and mobs spinning all over the place makes it harder to face them. In those cases CP doesnt add much.
I feel fan dance 5/5 should be at least close to closed position 5/5 in terms of usefulness.
With Anwig Salade and Maxixi Body taking 4 seconds off your delay, combined with Fan Dance, it's 8sec for T1 and 15sec for T2.
For me: (I'm not fully optimized, this is in Rei...w/e so might be inaccurate based on blessings or w/e they're called.)
T2 Heals for 911
T1 Heals for 360
Waltz 3 for 1099.
Ignoring that we still have waltz 1,2,4, and 5 on separate timers, if you're DD'ing and healing that much, the tank is most likely you and the mob is looking at you, bringing Closed Position back into effect.
I have no issue with wanting to have Fan Dance at 5/5, but your WHM has to be dead or non existent, and party eating massive amounts of repeated AoE Damage in a very short time to create a scenario where I could justify 5/5 Fan Dance for healing timers in party-centric scenarios.
For Solo focused Dnc, I could see it. But you're still sacrificing 15 sTP which is what, ~100DPS?
Curiosity math: Base
D1: 13 Sec
D2: 20 Sec
5/5 Fan Dance = 25%
% + Gear
D1: 10 Sec (-4) = 6 Sec recast
D2: 15 Sec (-4) = 11 Sec recast
From this Point of View...
911
360
1099
360
911
In 12 seconds, you'd be healing 2,542 AoE and at least another 1100 in single target with just a Waltz 3.
That's a rough situation you'd need to be in to justify all that.
Bismarck.Nickeny
Serveur: Bismarck
Game: FFXI
Posts: 2215
By Bismarck.Nickeny 2019-08-04 16:28:16
The fun thing about current ffxi is that I usually have capped merits to were swapping out depending on what I'm doing on the fly
If you know the whm is balls awful and wiping or no aoe heals at all you could always make this adjustment prior to and change back if your attempting a zerg situation Etc
Serveur: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2019-08-04 19:48:00
Well last night I accidentally popped Warder of Love and randomly got Passion Jacket. Went to test around with it for lulz because I remember wanting one... oh 5 years ago by now?
Upon doing so, I realized my gearswap wasn't properly handling WaltzSelf. I know there's a hand full of people who use my Lua, so just wanted to update the file in case they feel they need for it. I'm not sure if Arislan's works, but more than likely it was something I broke in Arislan's original file when I scavenged it. Anyways, here's the code in Isolation, the full Lua, and the Waltz results for anyone interested:
Base code. (Find this specific function and add the following lines excluding the function and one end ***If the function already exists.
If you don't have the function already, then copy/past the entire thing, somewhere down in the functions. Code function job_post_precast(spell, action, spellMap, eventArgs)
if spell.english == "Curing Waltz" or spell.english == "Curing Waltz II" or spell.english == "Curing Waltz III" or spell.english == "Curing Waltz IV" or spell.english == "Curing Waltz V" and spell.target.type == 'SELF' then
if state.CastingMode.value == 'Enmity' then
equip(sets.precast.WaltzSelf.Enmity)
else
equip(sets.precast.WaltzSelf)
end
end
end
Full Lua Code -- Initialization function for this job file.
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup variables that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff['Climactic Flourish'] = buffactive['climactic flourish'] or false
state.Buff['Sneak Attack'] = buffactive['sneak attack'] or false
state.MainStep = M{['description']='Main Step', 'Box Step', 'Quickstep', 'Feather Step', 'Stutter Step'}
state.AltStep = M{['description']='Alt Step', 'Quickstep', 'Feather Step', 'Stutter Step', 'Box Step'}
state.UseAltStep = M(false, 'Use Alt Step')
state.SelectStepTarget = M(false, 'Select Step Target')
state.IgnoreTargetting = M(true, 'Ignore Targetting')
state.ClosedPosition = M(false, 'Closed Position')
state.CurrentStep = M{['description']='Current Step', 'Main', 'Alt'}
-- state.SkillchainPending = M(false, 'Skillchain Pending')
state.CP = M(false, "Capacity Points Mode")
state.Warp = M(false, "Warp Mode")
state.MP = M(false, "Mana Mode")
state.Neck = M(false, "Neck Mode")
state.Dynamis = M(false, "Dynamis Mode")
lockstyleset = 15
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job.
-------------------------------------------------------------------------------------------------------------------
-- Gear Modes
function user_setup()
state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc')
state.HybridMode:options('Normal', 'TURMS', 'HIGH', 'MID', 'LOW')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Enmity')
state.IdleMode:options('Normal', 'Turms', 'Regen')
-- Additional Key Binds.
send_command('bind ^` input /ja "Chocobo Jig II" <me>') --Ctrl'~'
send_command('bind !` input /ja "Spectral Jig" <me>') --Alt'~'
send_command('bind f9 gs c cycle OffenseMode') --F9
send_command('bind ^f9 gs c cycle WeaponSkillMode') --Ctrl'F9'
send_command('bind f10 gs c cycle HybridMode') --F10
send_command('bind f11 gs c cycle mainstep') --F11
send_command('bind ^f12 gs c cycle IdleMode') --Ctrl'F12'
send_command('bind @c gs c toggle CP') --WindowKey'C'
send_command('bind @r gs c toggle Warp') --WindowKey'R'
send_command('bind @m gs c toggle MP') --Windowkey'M'
send_command('bind @d gs c toggle Dynamis') --Windowkey'D'
send_command('bind @e gs c cycle CastingMode') --WindowKey'E'
send_command('lua l gearinfo') --If you don't have GearInfo, Haste tiers won't work properly.
send_command('bind ^c input /ja "Contradance" <me>') --Ctrl'C'
send_command('bind ^t input /ja "Trance" <me>') --Ctrl'T'
send_command('bind ^g input /ja "Grand Pas" <me>') --Ctrl'G'
send_command('bind !numpad1 input /ws "Exenterator" <t>')
send_command('bind !numpad2 input /ws "Pyrrhic Kleos" <t>')
send_command('bind !numpad3 input /ws "Evisceration" <t>')
send_command('bind !numpad4 input /ws "Rudra\'s Storm" <t>')
send_command('bind !numpad9 input /ws "Aeolian Edge" <t>')
select_default_macro_book()
set_lockstyle()
Haste = 0
DW_needed = 0
DW = false
moving = false
update_combat_form()
determine_haste_group()
end
-- Erases the Key Binds above when you switch to another job.
function user_unload()
send_command('unbind ^`')
send_command('unbind !`')
send_command('unbind !-')
send_command('unbind ^=')
send_command('unbind f11')
send_command('unbind @c')
send_command('unbind @r')
send_command('unbind @m')
send_command('unbind @e')
send_command('unbind @d')
send_command('unbind ^numpad1')
send_command('unbind ^numpad2')
send_command('unbind ^numpad3')
send_command('unbind ^numpad4')
send_command('unbind ^numpad9')
send_command('gs enable all')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
------------------------------------------------------------------------------------------------
---------------------------------------- Precast Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.Enmity = {
ammo="Sapience Orb", --2
head="Halitus Helm", --8
neck="Unmoving Collar +1", --10
hands="Kurys Gloves", --9
ear1="Cryptic Earring", --4
ear2="Friomisi Earring", --2
ring2="Begrudging Ring", --5
ring1="Eihwaz Ring", --5
body="Emet Harness +1", --10
waist="Sulla Belt", --3
back={ name="Senuna's Mantle", augments={'Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Phys. dmg. taken-10%',}}, --10
legs="Zoar Subligar +1", --6
feet="Ahosi Leggings", --7
} --81
sets.precast.JA['No Foot Rise'] = {body="Horos Casaque +3"}
sets.precast.JA['Trance'] = {head="Horos Tiara +3"}
sets.precast.JA['Grand Pas'] = {}
sets.precast.JA['Contradance'] = {}
sets.precast.JA['Saber Dance'] = {}
sets.precast.JA['Fan Dance'] = {}
sets.precast.JA['Presto'] = {}
sets.precast.Waltz = {
ammo="Staunch Tathlum +1",
head="Anwig Salade",
neck="Loricate Torque +1",
ear1="",
ear2="",
body="Maxixi Casaque +3", --19/8R
hands={ name="Herculean Gloves", augments={'Accuracy+14','"Waltz" potency +11%','DEX+9','Attack+9',}}, --11
ring2="Vocane Ring",
ring1="Defending Ring",
back="Moonbeam Cape",
waist="Flume Belt +1",
legs="Dashing Subligar", --10
feet="Maxixi Toe shoes +1", --10
} --50%
sets.precast.WaltzSelf = {
ammo="Yamarang", --5
head="Mummu Bonnet +2", --0/9R
neck="Etoile Gorget +2", --10
ear1="",
ear2="",
body="Passion Jacket", --13R
hands={ name="Herculean Gloves", augments={'Accuracy+14','"Waltz" potency +11%','DEX+9','Attack+9',}}, --11
ring2="Asklepian Ring", --0/3R
ring1="Defending Ring",
back="Toetapper Mantle", --5
waist="Flume Belt +1",
legs="Dashing Subligar", --10
feet="Maxixi Toe shoes +1", --10
} --51/25R
sets.precast.Samba = {head="Maxixi Tiara +2",back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}}}
sets.precast.Jig = {feet="Maxixi Toe shoes +1",legs="Horos Tights +3"}
sets.precast.Step = {ammo="Yamarang",neck="Etoile Gorget +2",waist="Eschan Stone",hands="Maxixi Bangles +3",back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},feet="Horos T. Shoes +3"}
sets.precast.Step['Feather Step'] = set_combine(sets.precast.Step, {})
sets.precast.Flourish1 = {}
sets.precast.Flourish1['Animated Flourish'] = sets.Enmity
sets.precast.Flourish1['Violent Flourish'] = {ammo="Yamarang",body="Horos Casaque +3",waist="Eschan Stone",feet="Horos Toe Shoes +3",neck="Etoile Gorget +2"}
sets.precast.Flourish1['Desperate Flourish'] = {}
sets.precast.Flourish2 = {}
sets.precast.Flourish2['Reverse Flourish'] = {hands="Macu. Bangles +1",back="Toetapper Mantle"}
sets.precast.Flourish3 = {}
sets.precast.Flourish3['Striking Flourish'] = {body="Macu. Casaque +1"}
sets.precast.Flourish3['Climactic Flourish'] = {head="Maculele Tiara +1"}
sets.precast.FC = {
ammo="Sapience Orb", --2
head={ name="Herculean Helm", augments={'Mag. Acc.+11 "Mag.Atk.Bns."+11','"Fast Cast"+6','STR+5','"Mag.Atk.Bns."+12',}}, --13
neck="Orunmila's Torque", --5
Ear1="Etiolation Earring", --1
Ear2="Loquacious Earring", --2
Body="Taeon Tabard", --9
Hands="Leyline Gloves", --8
Ring1="", --Rahab Ring --2
Ring2="Prolix Ring", --2
Back="", --Ambu --10
Waist="",
legs={ name="Herculean Trousers", augments={'"Mag.Atk.Bns."+3','"Fast Cast"+6','Mag. Acc.+10',}}, --6
feet={ name="Herculean Boots", augments={'"Fast Cast"+5',}}, --5
} --65
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {body="Passion Jacket",neck="Magoraga Beads"})
------------------------------------------------------------------------------------------------
-------------------------------------- Sub Job Specific ----------------------------------------
------------------------------------------------------------------------------------------------
----------------- /Sam ---------------
sets.precast.JA['Meditate'] = {}
sets.precast.JA['Third Eye'] = {}
sets.precast.JA['Sekkanoki'] = {}
sets.precast.JA['Warding Circle'] = {}
----------------- /War ---------------
sets.precast.JA['Provoke'] = {}
----------------- /Run ---------------
sets.precast.JA['Vallation'] = {}
sets.midcast.Flash = {}
----------------- /Pld ---------------
sets.precast.JA['Holy Circle'] = {}
sets.precast.JA['Sentinel'] = {}
----------------- /Blu ---------------
sets.midcast['Blue Magic'] = {}
------------------------------------------------------------------------------------------------
---------------------------------------- Enmity Mode -------------------------------------------
------------------------------------------------------------------------------------------------
sets.precast.JA['No Foot Rise'].Enmity = set_combine(sets.Enmity, sets.precast.JA['No Foot Rise'])
sets.precast.JA['Trance'].Enmity = set_combine(sets.Enmity, sets.precast.JA['Trance'])
sets.precast.JA['Grand Pas'].Enmity = set_combine(sets.Enmity, sets.precast.JA['Grand Pas'])
sets.precast.JA['Contradance'].Enmity = set_combine(sets.Enmity, sets.precast.JA['Contradance'])
sets.precast.JA['Saber Dance'].Enmity = set_combine(sets.Enmity, sets.precast.JA['Saber Dance'])
sets.precast.JA['Fan Dance'].Enmity = set_combine(sets.Enmity, sets.precast.JA['Fan Dance'])
sets.precast.JA['Presto'].Enmity = set_combine(sets.Enmity, sets.precast.JA['Presto'])
sets.precast.Waltz.Enmity = {
ammo="Sapience Orb", --2
head="Anwig Salade",
neck="Unmoving Collar +1", --10
ear1="Cryptic Earring", --4
ear2="Friomisi Earring", --2
body="Maxixi Casaque +3", --19/8POT
hands={ name="Herculean Gloves", augments={'Accuracy+14','"Waltz" potency +11%','DEX+9','Attack+9',}}, --11POT
ring2="Begrudging Ring", --5
ring1="Eihwaz Ring", --5
back={ name="Senuna's Mantle", augments={'Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Phys. dmg. taken-10%',}}, --10
waist="Sulla Belt", --3
legs="Dashing Subligar", --10POT
feet="Maxixi Toe shoes +1", --10POT
} --50POT 41Enm
sets.precast.WaltzSelf.Enmity = set_combine(sets.precast.Waltz.Enmity, {head="Mummu Bonnet +2",ring2="Asklepian Ring"}) --0/9R
sets.precast.Samba.Enmity = set_combine(sets.Enmity, sets.precast.Samba)
sets.precast.Jig.Enmity = set_combine(sets.Enmity, sets.precast.Jig)
sets.precast.Step.Enmity = set_combine(sets.Enmity, sets.precast.Step)
sets.precast.Step['Feather Step'].Enmity = set_combine(sets.Enmity, sets.precast.Step['Feather Step'])
sets.precast.Flourish1.Enmity = set_combine(sets.Enmity, sets.precast.Flourish1)
sets.precast.Flourish1['Animated Flourish'].Enmity = set_combine(sets.Enmity, sets.precast.Flourish1['Animated Flourish'])
sets.precast.Flourish1['Violent Flourish'].Enmity = set_combine(sets.Enmity, sets.precast.Flourish1['Violent Flourish'])
sets.precast.Flourish1['Desperate Flourish'].Enmity = set_combine(sets.Enmity, sets.precast.Flourish1['Desperate Flourish'])
sets.precast.Flourish2.Enmity = set_combine(sets.Enmity, sets.precast.Flourish2)
sets.precast.Flourish2['Reverse Flourish'].Enmity = set_combine(sets.Enmity, sets.precast.Flourish2['Reverse Flourish'])
sets.precast.Flourish3.Enmity = set_combine(sets.Enmity, sets.precast.Flourish3)
sets.precast.Flourish3['Striking Flourish'].Enmity = set_combine(sets.Enmity, sets.precast.Flourish3['Striking Flourish'])
sets.precast.Flourish3['Climactic Flourish'].Enmity = set_combine(sets.Enmity, sets.precast.Flourish3['Climactic Flourish'])
----------------- /Sam ---------------
sets.precast.JA['Meditate'].Enmity = sets.Enmity
sets.precast.JA['Third Eye'].Enmity = sets.Enmity
sets.precast.JA['Sekkanoki'].Enmity = sets.Enmity
sets.precast.JA['Warding Circle'].Enmity = sets.Enmity
----------------- /War ---------------
sets.precast.JA['Provoke'].Enmity = sets.Enmity
----------------- /Run ---------------
sets.precast.JA['Vallation'].Enmity = sets.Enmity
sets.midcast.Flash.Enmity = sets.Enmity
----------------- /Pld ---------------
sets.precast.JA['Holy Circle'].Enmity = sets.Enmity
sets.precast.JA['Sentinel'].Enmity = sets.Enmity
----------------- /Blu ---------------
sets.midcast['Blue Magic'].Enmity = sets.Enmity
------------------------------------------------------------------------------------------------
------------------------------------- Weapon Skill Sets ----------------------------------------
------------------------------------------------------------------------------------------------
sets.precast.WS = {
ammo="Ginsen",
head="Adhemar Bonnet +1",
neck="Asperity Necklace",
ear1="Brutal Earring",
ear2="Sherida Earring",
body="Rawhide Vest",
hands={ name="Herculean Gloves", augments={'Accuracy+25 Attack+25','"Triple Atk."+3','STR+4','Accuracy+11','Attack+12',}},
ring2="Epona's Ring",
ring1="Ilabrat Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Fotia Belt",
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
}
sets.precast.WS['Exenterator'] = {
ammo="Ginsen",
head="Adhemar Bonnet +1",
neck="Fotia Gorget",
ear1="Brutal Earring",
ear2="Sherida Earring",
body="Rawhide Vest",
hands="Maxixi Bangles +3",
ring2="Epona's Ring",
ring1="Ilabrat Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Fotia Belt",
legs="Samnuha Tights",
feet="Horos Toe Shoes +3",
}
sets.precast.WS['Pyrrhic Kleos'] = {
ammo="Mantoptera Eye",
head="Adhemar Bonnet +1",
neck="Fotia Gorget",
left_ear="Moonshade Earring",
right_ear="Sherida Earring",
body="Horos Casaque +3",
hands="Adhemar Wristbands +1",
ring2="Epona's Ring",
ring1="Ilabrat Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Fotia Belt",
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
}
sets.precast.WS['Evisceration'] = {
ammo="Charis Feather",
head="Adhemar Bonnet +1",
neck="Fotia Gorget",
left_ear="Moonshade Earring",
right_ear="Sherida Earring",
body="Adhemar Jacket +1",
hands="Adhemar Wristbands +1",
ring2="Epona's Ring",
ring1="Mummu Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Fotia Belt",
legs="Lustratio Subligar",
feet={ name="Herculean Boots", augments={'Attack+29','Crit.hit rate+5','STR+2',}}
}
sets.precast.WS['Shark Bite'] = {
ammo="Charis Feather",
head="Horos Tiara +3",
body="Horos Casaque +3",
hands="Maxixi Bangles +3",
legs="Horos Tights +3",
feet="Horos Toe Shoes +3",
neck="Etoile Gorget +2",
waist="Grunfeld Rope",
left_ear="Moonshade Earring",
right_ear="Sherida Earring",
ring2="Epaminondas's Ring",
ring1="Ilabrat Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}},
}
sets.precast.WS['Rudra\'s Storm'] = {
ammo="Charis Feather",
head="Horos Tiara +3",
body="Horos Casaque +3",
hands="Maxixi Bangles +3",
legs="Horos Tights +3",
feet={ name="Herculean Boots", augments={'Attack+29','Weapon skill damage +5%','DEX+8','Accuracy+7',}},
neck="Etoile Gorget +2",
waist="Grunfeld Rope",
left_ear="Moonshade Earring",
right_ear="Sherida Earring",
ring2="Epaminondas's Ring",
ring1="Ilabrat Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}},
}
sets.precast.WS['Aeolian Edge'] = {
ammo="Pemphredo Tathlum",
head={ name="Herculean Helm", augments={'"Mag.Atk.Bns."+25','Crit. hit damage +1%','INT+3',}},
body={ name="Samnuha Coat", augments={'Mag. Acc.+13','"Mag.Atk.Bns."+14','"Fast Cast"+3','"Dual Wield"+4',}},
hands="Leyline Gloves",
legs={ name="Herculean Trousers", augments={'"Mag.Atk.Bns."+23','"Fast Cast"+4',}},
feet={ name="Herculean Boots", augments={'"Mag.Atk.Bns."+25','Weapon skill damage +4%',}},
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Friomisi Earring",
right_ear="Hecate's Earring",
left_ring="Acumen Ring",
right_ring="Epaminondas's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}},
}
sets.precast.WS.Critical = {body="Meg. Cuirie +2"}
--------------------------------------- Accuracy Mode ------------------------------------------
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Yamarang"})
sets.precast.WS['Exenterator'].Acc = set_combine(sets.precast.WS['Exenterator'], {ammo="Yamarang",neck="Etoile Gorget +2"})
sets.precast.WS['Pyrrhic Kleos'].Acc = set_combine(sets.precast.WS['Pyrrhic Kleos'], {ammo="Yamarang",neck="Etoile Gorget +2"})
sets.precast.WS['Evisceration'].Acc = set_combine(sets.precast.WS['Evisceration'], {ammo="Yamarang",neck="Etoile Gorget +2"})
sets.precast.WS['Shark Bite'].Acc = set_combine(sets.precast.WS['Shark Bite'], {ammo="Yamarang",neck="Etoile Gorget +2",waist="Fotia Belt"})
sets.precast.WS['Rudra\'s Storm'].Acc = set_combine(sets.precast.WS['Rudra\'s Storm'], {ammo="Yamarang",neck="Etoile Gorget +2",waist="Fotia Belt"})
------------------------------------------------------------------------------------------------
---------------------------------------- Midcast Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.midcast.FastRecast = sets.precast.FC
sets.midcast.SpellInterrupt = {}
sets.midcast.Utsusemi = {}
------------------------------------------------------------------------------------------------
----------------------------------------- Idle Sets --------------------------------------------
------------------------------------------------------------------------------------------------
sets.idle = {
ammo="Yamarang",
head="Horos Tiara +3",
neck="Loricate Torque +1", --6DT
ear1="Odnowa Earring",
ear2="Odnowa Earring +1",
body="Horos Casaque +3", --6PDT
hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -5%','Accuracy+15','Attack+6',}}, --7PDT
ring2="Vocane Ring", --7DT
ring1="Defending Ring", --10DT
back="Moonbeam Cape", --5DT
waist="Flume Belt +1", --4PDT
legs="Mummu Kecks +2", --5DT
feet="Tandava Crackows",
} --33DT 17PDT =50% Physical, 50% Magical with Shell V
sets.idle.Town = {
ammo="Yamarang",
head="Adhemar Bonnet +1",
neck="Etoile Gorget +2",
ear1="Telos Earring",
ear2="Sherida Earring",
body="Maxixi Casaque +3",
hands="Adhemar Wrist. +1",
ring2="Epaminondas's Ring",
ring1="Ilabrat Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Windbuffet Belt +1",
legs="Horos Tights +3",
feet="Tandava Crackows",
}
sets.idle.Turms = {
ammo="Yamarang",
head="Turms Cap",
neck="Loricate Torque +1", --6DT
ear1="Odnowa Earring",
ear2="Odnowa Earring +1",
body="Turms Harness", --6PDT
hands="Raetic Bangles",
ring2="Vocane Ring", --7DT
ring1="Defending Ring", --10DT
back={ name="Senuna's Mantle", augments={'Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Phys. dmg. taken-10%',}},
waist="Flume Belt +1", --4PDT
legs="Mummu Kecks +2", --5DT
feet="Turms Leggings",
} --???
sets.idle.Regen = {
ammo="Yamarang",
head="Turms Cap", --6
neck="Loricate Torque +1",
ear1="Odnowa Earring",
ear2="Odnowa Earring +1",
body="Turms Harness", --8
hands="Turms Bangles", --5
ring2="Vocane Ring",
ring1="Defending Ring",
back={ name="Senuna's Mantle", augments={'Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Phys. dmg. taken-10%',}},
waist="Flume Belt +1",
legs="Turms Subligar", --7
feet="Turms Leggings", --4
} --30 Regen
------------------------------------------------------------------------------------------------
---------------------------------------- Engaged Sets ------------------------------------------
------------------------------------------------------------------------------------------------
-- This is a Set that would only be used when you are NOT Dual Wielding. Most likely Airy Buckler Builds with Fencer as War Sub.
-- There are no haste parameters set for this build, because you wouldn't be juggling DW gear, you would always use the same gear, other than Damage Taken and Accuracy sets which ARE included below.
sets.engaged = {
ammo="Ginsen",
head="Adhemar Bonnet +1",
neck="Etoile Gorget +2",
ear1="Brutal Earring",
ear2="Sherida Earring",
body="Horos Casaque +3",
hands="Adhemar Wrist. +1",
ring1="Hetairoi Ring",
ring2="Epona's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Windbuffet Belt +1",
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
}
------------------------------------------------------------------------------------------------
-------------------------------------- Dual Wield Sets -----------------------------------------
------------------------------------------------------------------------------------------------
-- * DNC Native DW Trait: 30% DW
-- * DNC Job Points DW Gift: 5% DW
-- No Magic Haste (38% DW to cap)
sets.engaged.DW = {
ammo="Ginsen",
head="Adhemar Bonnet +1", -- Maxixi Tiara +2 --4
neck="Etoile Gorget +2",
left_ear="Eabani Earring", --4
right_ear="Suppanomimi", --5
body="Maculele Casaque +1", --11 Adhemar Bonnet +1 --6
hands="Adhemar Wrist. +1",
ring1="Hetairoi Ring",
ring2="Epona's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dual Wield"+10',}}, --10
waist="Reiki Yotai", --7
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
} -- 37%
-- 15% Magic Haste (32% DW to cap)
sets.engaged.DW.LowHaste = {
ammo="Ginsen",
head="Adhemar Bonnet +1",
neck="Etoile Gorget +2",
ear1="Eabani Earring", --4
right_ear="Suppanomimi", --5
body="Adhemar Jacket +1", --6
hands="Adhemar Wrist. +1",
ring1="Hetairoi Ring",
ring2="Epona's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dual Wield"+10',}}, --10
waist="Reiki Yotai", --7
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
} -- 32%
-- 30% Magic Haste (20% DW to cap)
sets.engaged.DW.MidHaste = {
ammo="Charis Feather",
head="Adhemar Bonnet +1",
neck="Etoile Gorget +2",
ear1="Brutal Earring", --"Eabani Earring"--4
ear2="Sherida Earring",
body="Maculele Casaque +1", --11
hands="Adhemar Wrist. +1",
ring1="Hetairoi Ring",
ring2="Epona's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Reiki Yotai", --7
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
} -- 18%
-- 40% Magic Haste (8% DW to cap)
sets.engaged.DW.HighHaste = {
ammo="Charis Feather",
head="Adhemar Bonnet +1",
neck="Etoile Gorget +2",
ear1="Brutal Earring",
ear2="Sherida Earring",
body="Horos Casaque +3",
hands="Adhemar Wrist. +1",
ring1="Hetairoi Ring",
ring2="Epona's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Reiki Yotai", --7
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
} -- 7% Gear
-- 45% Magic Haste (0% DW to cap)
sets.engaged.DW.MaxHaste = {
ammo="Ginsen",
head="Adhemar Bonnet +1",
neck="Etoile Gorget +2",
ear1="Brutal Earring",
ear2="Sherida Earring",
body="Horos Casaque +3",
hands="Adhemar Wrist. +1",
ring1="Hetairoi Ring",
ring2="Epona's Ring",
back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10',}},
waist="Windbuffet Belt +1",
legs="Samnuha Tights",
feet="Horos Toe Shoes +3"
} -- 0%
------------------------------------------------------------------------------------------------
--------------------------------------- Accuracy Sets ------------------------------------------
------------------------------------------------------------------------------------------------
-- Define three tiers of Accuracy. These sets are cycled with the F9 Button to increase accuracy in stages as desired.
sets.engaged.Acc1 = {head="Horos Tiara +3"}
sets.engaged.Acc2 = {head="Horos Tiara +3",legs="Mummu Kecks +2",ammo="Yamarang"}
sets.engaged.Acc3 = {head="Horos Tiara +3",legs="Mummu Kecks +2",ammo="Yamarang",waist="Eschan Stone",body="Horos Casaque +3"}
-- Base Shield
sets.engaged.LowAcc = set_combine(sets.engaged, sets.engaged.Acc1)
sets.engaged.MidAcc = set_combine(sets.engaged, sets.engaged.Acc2)
sets.engaged.HighAcc = set_combine(sets.engaged, sets.engaged.Acc3)
-- Base DW 1138Acc
sets.engaged.DW.LowAcc = set_combine(sets.engaged.DW, sets.engaged.Acc1) --1185Acc
sets.engaged.DW.MidAcc = set_combine(sets.engaged.DW, sets.engaged.Acc2) --1222Acc
sets.engaged.DW.HighAcc = set_combine(sets.engaged.DW, sets.engaged.Acc3) --1292Acc
-- LowHaste DW 1138Acc
sets.engaged.DW.LowAcc.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.Acc1) --1185Acc
sets.engaged.DW.MidAcc.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.Acc2) --1222Acc
sets.engaged.DW.HighAcc.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.Acc3) --1292Acc
-- MidHaste DW 1133Acc
sets.engaged.DW.LowAcc.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.Acc1) --1180Acc
sets.engaged.DW.MidAcc.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.Acc2) --1217Acc
sets.engaged.DW.HighAcc.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.Acc3) --1288Acc
-- HighHaste DW 1133Acc
sets.engaged.DW.LowAcc.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.Acc1) --1180Acc
sets.engaged.DW.MidAcc.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.Acc2) --1217Acc
sets.engaged.DW.HighAcc.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.Acc3) --1288Acc
-- HighHaste DW 1178Acc
sets.engaged.DW.LowAcc.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.LowAcc) --1225Acc
sets.engaged.DW.MidAcc.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.MidAcc) --1269Acc
sets.engaged.DW.HighAcc.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.HighAcc) --1288Acc
------------------------------------------------------------------------------------------------
---------------------------------------- Hybrid Sets -------------------------------------------
------------------------------------------------------------------------------------------------
-- Define three tiers of Defense Taken. These sets are cycled with the F10 Button. DT1-23%, DT2-40%, DT3-50%, DT4-50%
sets.engaged.DT1 = {ring1="Defending Ring",ring2="Vocane Ring",Neck="Loricate Torque"}
sets.engaged.DT2 = {neck="Loricate Torque +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -5%','Accuracy+15','Attack+6',}},ring2="Vocane Ring",ring1="Defending Ring",back={ name="Senuna's Mantle", augments={'Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Phys. dmg. taken-10%',}},amm="Staunch Tathlum +1",}
sets.engaged.DT3 = {body="Horos Casaque +3",ring1="Defending Ring",legs="Mummu Kecks +2",neck="Loricate Torque +1",ring2="Vocane Ring",back="Moonbeam Cape",waist="Flume Belt +1",hands={ name="Herculean Gloves", augments={'Phys. dmg. taken -5%','Accuracy+15','Attack+6',}},ear1="Odnowa Earring",ear2="Odnowa Earring +1"}
sets.engaged.DT4 = {body="Turms Harness",ring1="Defending Ring",legs="Mummu Kecks +2",neck="Loricate Torque +1",ring2="Vocane Ring",back={ name="Senuna's Mantle", augments={'Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Phys. dmg. taken-10%',}},waist="Flume Belt +1",head="Turms Cap",hands="Raetic Bangles",feet="Ahosi Leggings",ear1="Odnowa Earring",ear2="Odnowa Earring +1",ammo="Staunch Tathlum +1"}
-- Shield Base
sets.engaged.LOW = set_combine(sets.engaged, sets.engaged.DT1)
sets.engaged.LowAcc.LOW = set_combine(sets.engaged.LowAcc, sets.engaged.DT1)
sets.engaged.MidAcc.LOW = set_combine(sets.engaged.MidAcc, sets.engaged.DT1)
sets.engaged.HighAcc.LOW = set_combine(sets.engaged.HighAcc, sets.engaged.DT1)
sets.engaged.MID = set_combine(sets.engaged, sets.engaged.DT2)
sets.engaged.LowAcc.MID = set_combine(sets.engaged.LowAcc, sets.engaged.DT2)
sets.engaged.MidAcc.MID = set_combine(sets.engaged.MidAcc, sets.engaged.DT2)
sets.engaged.HighAcc.MID = set_combine(sets.engaged.HighAcc, sets.engaged.DT2)
sets.engaged.HIGH = set_combine(sets.engaged, sets.engaged.DT3)
sets.engaged.LowAcc.HIGH = set_combine(sets.engaged.LowAcc, sets.engaged.DT3)
sets.engaged.MidAcc.HIGH = set_combine(sets.engaged.MidAcc, sets.engaged.DT3)
sets.engaged.HighAcc.HIGH = set_combine(sets.engaged.HighAcc, sets.engaged.DT3)
sets.engaged.TURMS = set_combine(sets.engaged, sets.engaged.DT4)
sets.engaged.LowAcc.TURMS = set_combine(sets.engaged.LowAcc, sets.engaged.DT4)
sets.engaged.MidAcc.TURMS = set_combine(sets.engaged.MidAcc, sets.engaged.DT4)
sets.engaged.HighAcc.TURMS = set_combine(sets.engaged.HighAcc, sets.engaged.DT4)
-- No Haste DW
sets.engaged.DW.LOW = set_combine(sets.engaged.DW, sets.engaged.DT1)
sets.engaged.DW.LowAcc.LOW = set_combine(sets.engaged.DW.LowAcc, sets.engaged.DT1)
sets.engaged.DW.MidAcc.LOW = set_combine(sets.engaged.DW.MidAcc, sets.engaged.DT1)
sets.engaged.DW.HighAcc.LOW = set_combine(sets.engaged.DW.HighAcc, sets.engaged.DT1)
sets.engaged.DW.MID = set_combine(sets.engaged.DW, sets.engaged.DT2)
sets.engaged.DW.LowAcc.MID = set_combine(sets.engaged.DW.LowAcc, sets.engaged.DT2)
sets.engaged.DW.MidAcc.MID = set_combine(sets.engaged.DW.MidAcc, sets.engaged.DT2)
sets.engaged.DW.HighAcc.MID = set_combine(sets.engaged.DW.HighAcc, sets.engaged.DT2)
sets.engaged.DW.HIGH = set_combine(sets.engaged.DW, sets.engaged.DT3)
sets.engaged.DW.LowAcc.HIGH = set_combine(sets.engaged.DW.LowAcc, sets.engaged.DT3)
sets.engaged.DW.MidAcc.HIGH = set_combine(sets.engaged.DW.MidAcc, sets.engaged.DT3)
sets.engaged.DW.HighAcc.HIGH = set_combine(sets.engaged.DW.HighAcc, sets.engaged.DT3)
sets.engaged.DW.TURMS = set_combine(sets.engaged.DW, sets.engaged.DT4)
sets.engaged.DW.LowAcc.TURMS = set_combine(sets.engaged.DW.LowAcc, sets.engaged.DT4)
sets.engaged.DW.MidAcc.TURMS = set_combine(sets.engaged.DW.MidAcc, sets.engaged.DT4)
sets.engaged.DW.HighAcc.TURMS = set_combine(sets.engaged.DW.HighAcc, sets.engaged.DT4)
-- Low Haste DW
sets.engaged.DW.LOW.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.DT1)
sets.engaged.DW.LowAcc.LOW.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.DT1)
sets.engaged.DW.MidAcc.LOW.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.DT1)
sets.engaged.DW.HighAcc.LOW.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.DT1)
sets.engaged.DW.MID.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.DT2)
sets.engaged.DW.LowAcc.MID.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.DT2)
sets.engaged.DW.MidAcc.MID.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.DT2)
sets.engaged.DW.HighAcc.MID.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.DT2)
sets.engaged.DW.HIGH.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.DT3)
sets.engaged.DW.LowAcc.HIGH.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.DT3)
sets.engaged.DW.MidAcc.HIGH.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.DT3)
sets.engaged.DW.HighAcc.HIGH.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.DT3)
sets.engaged.DW.TURMS.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.DT4)
sets.engaged.DW.LowAcc.TURMS.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.DT4)
sets.engaged.DW.MidAcc.TURMS.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.DT4)
sets.engaged.DW.HighAcc.TURMS.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.DT4)
-- Mid Haste
sets.engaged.DW.LOW.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.DT1)
sets.engaged.DW.LowAcc.LOW.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.DT1)
sets.engaged.DW.MidAcc.LOW.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.DT1)
sets.engaged.DW.HighAcc.LOW.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.DT1)
sets.engaged.DW.MID.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.DT2)
sets.engaged.DW.LowAcc.MID.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.DT2)
sets.engaged.DW.MidAcc.MID.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.DT2)
sets.engaged.DW.HighAcc.MID.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.DT2)
sets.engaged.DW.HIGH.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.DT3)
sets.engaged.DW.LowAcc.HIGH.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.DT3)
sets.engaged.DW.MidAcc.HIGH.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.DT3)
sets.engaged.DW.HighAcc.HIGH.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.DT3)
sets.engaged.DW.TURMS.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.DT4)
sets.engaged.DW.LowAcc.TURMS.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.DT4)
sets.engaged.DW.MidAcc.TURMS.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.DT4)
sets.engaged.DW.HighAcc.TURMS.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.DT4)
-- High Haste
sets.engaged.DW.LOW.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.DT1)
sets.engaged.DW.LowAcc.LOW.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.DT1)
sets.engaged.DW.MidAcc.LOW.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.DT1)
sets.engaged.DW.HighAcc.LOW.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.DT1)
sets.engaged.DW.MID.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.DT2)
sets.engaged.DW.LowAcc.MID.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.DT2)
sets.engaged.DW.MidAcc.MID.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.DT2)
sets.engaged.DW.HighAcc.MID.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.DT2)
sets.engaged.DW.HIGH.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.DT3)
sets.engaged.DW.LowAcc.HIGH.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.DT3)
sets.engaged.DW.MidAcc.HIGH.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.DT3)
sets.engaged.DW.HighAcc.HIGH.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.DT3)
sets.engaged.DW.TURMS.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.DT4)
sets.engaged.DW.LowAcc.TURMS.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.DT4)
sets.engaged.DW.MidAcc.TURMS.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.DT4)
sets.engaged.DW.HighAcc.TURMS.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.DT4)
-- Max Haste
sets.engaged.DW.LOW.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.DT1)
sets.engaged.DW.LowAcc.LOW.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.DT1)
sets.engaged.DW.MidAcc.LOW.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.DT1)
sets.engaged.DW.HighAcc.LOW.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.DT1)
sets.engaged.DW.MID.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.DT2)
sets.engaged.DW.LowAcc.MID.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.DT2)
sets.engaged.DW.MidAcc.MID.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.DT2)
sets.engaged.DW.HighAcc.MID.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.DT2)
sets.engaged.DW.HIGH.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.DT3)
sets.engaged.DW.LowAcc.HIGH.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.DT3)
sets.engaged.DW.MidAcc.HIGH.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.DT3)
sets.engaged.DW.HighAcc.HIGH.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.DT3)
sets.engaged.DW.TURMS.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.DT4)
sets.engaged.DW.LowAcc.TURMS.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.DT4)
sets.engaged.DW.MidAcc.TURMS.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.DT4)
sets.engaged.DW.HighAcc.TURMS.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.DT4)
------------------------------------------------------------------------------------------------
---------------------------------------- Special Sets ------------------------------------------
------------------------------------------------------------------------------------------------
-- sets.buff.Doom = {}
-- sets.buff['Saber Dance'] = {legs="Horos Tights +3"}
-- sets.buff['Fan Dance'] = {hands="Horos Bangles +3"}
-- sets.buff['Closed Position'] = {feet="Horos T. Shoes +3"}
sets.buff['Climactic Flourish'] = {head="Maculele Tiara +1",body="Meg. Cuirie +2"}
sets.Warp = {ring1="Dim. Ring (Holla)",ring2="Warp Ring"}
sets.CP = {back="Mecisto. Mantle"}
sets.MP = {Ear2="Ethereal Earring",Waist="Flume Belt +1",}
sets.Neck = {neck="Uggalepih Necklace",}
sets.Dynamis = {Neck="Etoile Gorget +2",feet="Horos Toe Shoes +3",}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if spellMap == 'Utsusemi' then
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4+)'] then
cancel_spell()
add_to_chat(123, '**!! '..spell.english..' Canceled: [3+ IMAGES] !!**')
eventArgs.handled = true
return
elseif buffactive['Copy Image'] or buffactive['Copy Image (2)'] then
send_command('cancel 66; cancel 444; cancel Copy Image; cancel Copy Image (2)')
end
end
-- Used to overwrite Moonshade Earring if TP is more than 2750.
if spell.type == 'WeaponSkill' then
if player.tp > 2750 then
equip({left_ear = "Telos Earring"})
end
-- Used to optimize Rudra's Storm when Climactic Flourish is active.
if spell.english == "Rudra's Storm" and buffactive['Climactic Flourish'] then
equip({head="Maculele Tiara +1",right_ear="Ishvara Earring"})
end
-- Test Section to combine functions
if state.Buff['Sneak Attack'] == true then
equip(sets.precast.WS.Critical)
end
if state.Buff['Climactic Flourish'] then
equip(sets.buff['Climactic Flourish'])
end
end
end
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == "WeaponSkill" then
if state.Buff['Sneak Attack'] == true then
equip(sets.precast.WS.Critical)
end
if state.Buff['Climactic Flourish'] then
equip(sets.buff['Climactic Flourish'])
end
end
if spell.english == "Curing Waltz" or spell.english == "Curing Waltz II" or spell.english == "Curing Waltz III" or spell.english == "Curing Waltz IV" or spell.english == "Curing Waltz V" and spell.target.type == 'SELF' then
if state.CastingMode.value == 'Enmity' then
equip(sets.precast.WaltzSelf.Enmity)
else
equip(sets.precast.WaltzSelf)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
-- Weaponskills wipe SATA. Turn those state vars off before default gearing is attempted.
if spell.type == 'WeaponSkill' and not spell.interrupted then
state.Buff['Sneak Attack'] = false
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
function job_buff_change(buff,gain)
if buff == 'Saber Dance' or buff == 'Climactic Flourish' or buff == 'Fan Dance' then
handle_equipping_gear(player.status)
end
if buff == "doom" then
if gain then
equip(sets.buff.Doom)
send_command('@input /echo Doomed.')
disable()
else
enable()
handle_equipping_gear(player.status)
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
function job_handle_equipping_gear(playerStatus, eventArgs)
update_combat_form()
determine_haste_group()
end
function job_update(cmdParams, eventArgs)
handle_equipping_gear(player.status)
end
function update_combat_form()
if DW == true then
state.CombatForm:set('DW')
elseif DW == false then
state.CombatForm:reset()
end
end
function get_custom_wsmode(spell, spellMap, defaut_wsmode)
local wsmode
if state.Buff['Sneak Attack'] then
wsmode = 'SA'
end
return wsmode
end
function customize_idle_set(idleSet)
if state.CP.current == 'on' then
equip(sets.CP)
disable('back')
else
enable('back')
end
if state.Warp.current == 'on' then
equip(sets.Warp)
disable('ring1')
disable('ring2')
else
enable('ring1')
enable('ring2')
end
if state.MP.current == 'on' then
equip(sets.MP)
disable('Waist')
disable('Ear2')
else
enable('Waist')
enable('Ear2')
end
if state.Dynamis.current == 'on' then
equip(sets.Dynamis)
disable('Neck')
else
enable('Neck')
end
return idleSet
end
function customize_melee_set(meleeSet)
if state.Buff['Climactic Flourish'] then
meleeSet = set_combine(meleeSet, sets.buff['Climactic Flourish'])
end
if state.CP.current == 'on' then
equip(sets.CP)
disable('back')
else
enable('back')
end
if state.Warp.current == 'on' then
equip(sets.Warp)
disable('ring1')
disable('ring2')
else
enable('ring1')
enable('ring2')
end
if state.MP.current == 'on' then
equip(sets.MP)
disable('Waist')
disable('Ear2')
else
enable('Waist')
enable('Ear2')
end
if state.Dynamis.current == 'on' then
equip(sets.Dynamis)
disable('Neck')
else
enable('Neck')
end
return meleeSet
end
-- Handle auto-targetting based on local setup.
function job_auto_change_target(spell, action, spellMap, eventArgs)
if spell.type == 'Step' then
if state.IgnoreTargetting.value == true then
state.IgnoreTargetting:reset()
eventArgs.handled = true
end
eventArgs.SelectNPCTargets = state.SelectStepTarget.value
end
end
-- Function to display the current relevant user state when doing an update.
-- Set eventArgs.handled to true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
local msg = '[ Melee'
if state.CombatForm.has_value then
msg = msg .. ' (' .. state.CombatForm.value .. ')'
end
msg = msg .. ': '
msg = msg .. state.OffenseMode.value
if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end
msg = msg .. ' ][ WS: ' .. state.WeaponskillMode.value .. ' ]'
if state.DefenseMode.value ~= 'None' then
msg = msg .. '[ Defense: ' .. state.DefenseMode.value .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ' ]'
end
if state.ClosedPosition.value then
msg = msg .. '[ Closed Position: ON ]'
end
if state.Kiting.value then
msg = msg .. '[ Kiting Mode: ON ]'
end
msg = msg .. '[ '..state.MainStep.current
if state.UseAltStep.value == true then
msg = msg .. '/'..state.AltStep.current
end
msg = msg .. ' ]'
add_to_chat(123, msg)
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
classes.CustomMeleeGroups:clear()
if DW == true then
if DW_needed <= 1 then
classes.CustomMeleeGroups:append('MaxHaste')
elseif DW_needed > 1 and DW_needed <= 9 then
classes.CustomMeleeGroups:append('HighHaste')
elseif DW_needed > 9 and DW_needed <= 21 then
classes.CustomMeleeGroups:append('MidHaste')
elseif DW_needed > 21 and DW_needed <= 38 then
classes.CustomMeleeGroups:append('LowHaste')
elseif DW_needed > 38 then
classes.CustomMeleeGroups:append('')
end
end
end
function job_self_command(cmdParams, eventArgs)
if cmdParams[1] == 'step' then
if cmdParams[2] == 't' then
state.IgnoreTargetting:set()
end
local doStep = ''
if state.UseAltStep.value == true then
doStep = state[state.CurrentStep.current..'Step'].current
state.CurrentStep:cycle()
else
doStep = state.MainStep.current
end
send_command('@input /ja "'..doStep..'" <t>')
end
gearinfo(cmdParams, eventArgs)
end
function gearinfo(cmdParams, eventArgs)
if cmdParams[1] == 'gearinfo' then
if type(tonumber(cmdParams[2])) == 'number' then
if tonumber(cmdParams[2]) ~= DW_needed then
DW_needed = tonumber(cmdParams[2])
DW = true
end
elseif type(cmdParams[2]) == 'string' then
if cmdParams[2] == 'false' then
DW_needed = 0
DW = false
end
end
if type(tonumber(cmdParams[3])) == 'number' then
if tonumber(cmdParams[3]) ~= Haste then
Haste = tonumber(cmdParams[3])
end
end
if type(cmdParams[4]) == 'string' then
if cmdParams[4] == 'true' then
moving = true
elseif cmdParams[4] == 'false' then
moving = false
end
end
if not midaction() then
job_update()
end
end
end
-- If you attempt to use a step, this will automatically use Presto.
function job_pretarget(spell, action, spellMap, eventArgs)
if spell.type == 'Step' then
local allRecasts = windower.ffxi.get_ability_recasts()
local prestoCooldown = allRecasts[236]
if player.main_job_level >= 77 and prestoCooldown < 1 and not buffactive['Presto'] then
cast_delay(1.1)
send_command('input /ja "Presto" <me>')
end
end
-- If you attempt to use Climactic Flourish with less than 4 finishing moves, this will automatically use 'Current Step' and resend Climactic Flourish.
local under4FMs = not buffactive['Finishing Move 4'] and not buffactive['Finishing Move 5'] and not buffactive['Finishing Move (6+)']
local doStep = ''
local doStep = state.MainStep.current
if spell.english == "Climactic Flourish" and under4FMs then
cast_delay(1.9)
send_command('@input /ja "'..doStep..'" <t>')
end
end
-- Automatically loads a Macro Set by: (Pallet,Book)
function select_default_macro_book()
if player.sub_job == 'SAM' then
set_macro_page(1, 5)
elseif player.sub_job == 'WAR' then
set_macro_page(2, 5)
elseif player.sub_job == 'RUN' then
set_macro_page(3, 5)
elseif player.sub_job == 'BLU' then
set_macro_page(6, 5)
elseif player.sub_job == 'THF' then
set_macro_page(9, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(10, 5)
else
set_macro_page(1, 5)
end
end
function set_lockstyle()
send_command('wait 2; input /lockstyleset ' .. lockstyleset)
end
The sets being compared: Code sets.precast.Waltz = {
ammo="Staunch Tathlum +1",
head="Anwig Salade",
neck="Loricate Torque +1",
ear1="",
ear2="",
body="Maxixi Casaque +3", --19/8R
hands={ name="Herculean Gloves", augments={'Accuracy+14','"Waltz" potency +11%','DEX+9','Attack+9',}}, --11
ring2="Vocane Ring",
ring1="Defending Ring",
back="Moonbeam Cape",
waist="Flume Belt +1",
legs="Dashing Subligar", --10
feet="Maxixi Toe shoes +1", --10
} --50%
sets.precast.WaltzSelf = {
ammo="Yamarang", --5
head="Mummu Bonnet +2", --0/9R
neck="Etoile Gorget +2", --10
ear1="",
ear2="",
body="Passion Jacket", --13R
hands={ name="Herculean Gloves", augments={'Accuracy+14','"Waltz" potency +11%','DEX+9','Attack+9',}}, --11
ring2="Asklepian Ring", --0/3R
ring1="Defending Ring",
back="Toetapper Mantle", --5
waist="Flume Belt +1",
legs="Dashing Subligar", --10
feet="Maxixi Toe shoes +1", --10
} --51/25R
Regular Waltz focuses on 50% Potency and Max Cooldown (-4sec) with Anwig and Maxixi Body. This is what I use when I'm curing anyone other than myself, including Divine and Healing Waltz'. However when I cure myself, because with Waltz.Refine it will automatically up/downgrade based on HP combined with our split Waltz timers, I'm more concerned with efficiency.
Therefore WaltzSelf maximizes (to my current knowledge) all Waltz Potency received gear 25%, while still maintaining 50% potency cap. I believe Byrth has stated the Potency Received Cap is 30%, but I believe that was condition specific based on Atma, maybe?
Old Set/Waltz
Waltz 1: 360
Waltz 2: 674
Waltz 3: 1099
Waltz 4: 1587
Waltz 5: 2038
New Set/WaltzSelf
Waltz 1: 383
Waltz 2: 719
Waltz 3: 1168
Waltz 4: 1683
Waltz 5: 2157
I don't have the inventory to carry all the Vit/Chr gear, but this was a simple 1 item addition that adds a noticeable amount of HP. 5 Years late, but thought I'd share.
Inb4 you need +3feet nub!
By Afania 2019-08-04 21:05:42
Huh, the math seems off.
Fan dance: Each merit level past the first reduces Waltz recast by 5%.
4x5 is 20%.
20% of 20 sec is 4 sec reduction.
Body is -2 and anwig is another -2, thats 4 more sec reduction.
20-4-4=12 sec
Ive tried main heal with 1/5 fan dance last month because whm mp may drop to 0 if they get hit too many times. It was very hard with repeat aoe dmg.
With 5/5 its MUCH easier to main heal most situation in game as long as status ailment isnt there.
For Solo focused Dnc, I could see it. But you're still sacrificing 15 sTP which is what, ~100DPS?
I use qa +3 herculean which is better than horo if not facing the mob. Checked spreadsheet its only 40 dps lose when you CAN face mob.
40 dps wont be anywhere close to noticable on parse especially if mob spins back and forth or has conal moves. Shorter divine waltz 2 recast and 5 more pdt for oh ***moment very often well.
Idk, personally I think having to DD in front of mob in many content is god awful. Even if mob has no conal move nor counter its less reaction time to swap to DT set when I pull hate because I often rely on watching mob direction to tell if I have hate or not. Its faster than rely on watching HP bar or chat log.
I would just never stand in front of a mob if I can on DD, and that makes closed position useless. I guess that also makes me prefer fan dance slightly more.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-05 01:11:03
I use qa +3 herculean which is better than horo if not facing the mob. Checked spreadsheet its only 40 dps lose when you CAN face mob
I use the same as you, but you can't generalize this case for none QA +3 Herc owners. Not everyone is as obsessed as some of us are :P
Thats a very niche situation you got there Afania.
The reason why Horos +3 and Closed Position 5/5 are "almost" mandatory these days, because we end up facing NM most of the time due to spike damage and CE. I don't think people "like" to face NMs aside maybe SAMs or MNKs.
And as I've mentioned in the guide, it's really up to you to decide where you want to spend your merits on, and its a very flexible decision to make with todays access to merit points.
Be that as it may, I will modify the merits categories for Closed Position and Fan Dance to "Situational" and will leave the recommend number of Merits.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-05 07:15:14
It would probably be very helpful for new people to have a simple list they could replicate
Added a new section for that, hope that helps.
[+]
By FaeQueenCory 2019-08-05 08:14:25
Leviathan.Katriina said: »Added a new section for that, hope that helps. (୨୧ ❛ᴗ❛)✧
You used my SC icons!! Just for that, let me make something fancy for Radiance and Umbra.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-05 08:33:25
[+]
By FaeQueenCory 2019-08-05 08:52:03
All done.... I make these at 525x525 and compress them down to 16x16. So they lose a bit of the filigree... but they're up with the same naming conventions and templates. ^^
[+]
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-05 11:05:56
Wonderful, thank you. I’ll update them once I’m back!
By Kwech 2019-08-05 16:29:29
Katriina I've been wanting to say thanks for this guide for a little while now, it's really sparked great discussion here and in our ls discord, so thank you!
Here's something I noticed yesterday when poking around the wiki, the description of Grand Pas is incorrect there (and subsequently on your guide.)
Quote: Resets Flourish recast timers upon activation and eliminates the recast times and TP costs of Finishing Moves.
The effect ends after 30 seconds or once three Finishing Moves are used.
I'm sure now that I've quoted the text, it's obvious what's wrong. Grand Pas eliminates the cost of Flourishes, not FMs. And if GP ended after 3 FMs were used, it would probably stink.
By Afania 2019-08-05 19:31:39
Leviathan.Katriina said: »I use qa +3 herculean which is better than horo if not facing the mob. Checked spreadsheet its only 40 dps lose when you CAN face mob
I use the same as you, but you can't generalize this case for none QA +3 Herc owners. Not everyone is as obsessed as some of us are :P
Thats a very niche situation you got there Afania.
The reason why Horos +3 and Closed Position 5/5 are "almost" mandatory these days, because we end up facing NM most of the time due to spike damage and CE. I don't think people "like" to face NMs aside maybe SAMs or MNKs.
And as I've mentioned in the guide, it's really up to you to decide where you want to spend your merits on, and its a very flexible decision to make with todays access to merit points.
Be that as it may, I will modify the merits categories for Closed Position and Fan Dance to "Situational" and will leave the recommend number of Merits.
Well yeah, I dont mind other people prefer closed position slightly more. Just that Ive heard career dnc said more than 1 fan dance merit is useless, and I think this merit category deserves more credit than that.
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-06 02:46:20
Katriina I've been wanting to say thanks for this guide for a little while now, it's really sparked great discussion here and in our ls discord, so thank you!
Here's something I noticed yesterday when poking around the wiki, the description of Grand Pas is incorrect there (and subsequently on your guide.)
Quote: Resets Flourish recast timers upon activation and eliminates the recast times and TP costs of Finishing Moves.
The effect ends after 30 seconds or once three Finishing Moves are used.
I'm sure now that I've quoted the text, it's obvious what's wrong. Grand Pas eliminates the cost of Flourishes, not FMs. And if GP ended after 3 FMs were used, it would probably stink.
Thank you Kwech for your valuable input, I fixed the text already.
Serveur: Asura
Game: FFXI
Posts: 47
By Asura.Weinberg 2019-08-28 02:42:33
While looking through the spreadsheet linked in the OP I noticed that the r15 Terp Pyrrhic Kleos damage was off. The spreadsheet uses 45% for the combined effect of the 30% mythic hidden effect and the r15 15% aug (additive), when it should be 49.5% (multiplicative).
Formula is on the sheet "Data" line 211 "relic bonus"
Leviathan.Katriina
Serveur: Leviathan
Game: FFXI
Posts: 860
By Leviathan.Katriina 2019-08-28 02:47:45
Thanks Weinberg,
The spreadsheet linked was changed twice due to issues like this.
If anyone wants to work on fixing all the reported issues so far, I’d be more than glad to link it in the guide after modifications.
Serveur: Shiva
Game: FFXI
Posts: 19
By Shiva.Pukkaup 2019-09-01 22:46:08
hey does anyon have a bis set for am3 mythic ??
By SimonSes 2019-09-01 23:16:25
hey does anyon have a bis set for am3 mythic ??
ItemSet 368280
Body and hands will be new body and hands from upcoming HTMB with Lilith. Untill then it would be Turms+1 body and Adhemar gloves+1. Dampening tam is an option over Adhemar bonnet+1, but with that added PDL from body and hands, that attack on bonnet is kinda more attractive than before. Still most damage will come from WSs, so tam is good alternative.
[+]
By phunky 2019-09-02 15:30:09
I see Maxixi Bangles +3 used over Adhemar Wrist +1 Path B in the Pyrric Kleos dream tier ws set.
Is 10% WS damage on a 4 hit WS really beat out 4 TA and higher str and dex on Adhemar?
|
|