Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Original: Motenten / Modified: Arislan
- -- Haste/DW Detection Requires Gearinfo Addon
- -------------------------------------------------------------------------------------------------------------------
- -- Keybinds
- -------------------------------------------------------------------------------------------------------------------
- -- Modes: [ F9 ] Cycle Offense Modes
- -- [ CTRL+F9 ] Cycle Hybrid Modes
- -- [ WIN+F9 ] Cycle Weapon Skill Modes
- -- [ F10 ] Emergency -PDT Mode
- -- [ ALT+F10 ] Toggle Kiting Mode
- -- [ F11 ] Emergency -MDT Mode
- -- [ F12 ] Update Current Gear / Report Current Status
- -- [ CTRL+F12 ] Cycle Idle Modes
- -- [ ALT+F12 ] Cancel Emergency -PDT/-MDT Mode
- -- [ WIN+F ] Toggle Closed Position (Facing) Mode
- -- [ WIN+C ] Toggle Capacity Points Mode
- --
- -- Abilities: [ CTRL+- ] Primary step element cycle forward.
- -- [ CTRL+= ] Primary step element cycle backward.
- -- [ ALT+- ] Secondary step element cycle forward.
- -- [ ALT+= ] Secondary step element cycle backward.
- -- [ CTRL+[ ] Toggle step target type.
- -- [ CTRL+] ] Toggle use secondary step.
- -- [ Numpad0 ] Perform Current Step
- --
- -- [ CTRL+` ] Saber Dance
- -- [ ALT+` ] Chocobo Jig II
- -- [ ALT+[ ] Contradance
- -- [ CTRL+Numlock ] Reverse Flourish
- -- [ CTRL+Numpad/ ] Berserk/Meditate
- -- [ CTRL+Numpad* ] Warcry/Sekkanoki
- -- [ CTRL+Numpad- ] Aggressor/Third Eye
- -- [ CTRL+Numpad+ ] Climactic Flourish
- -- [ CTRL+NumpadEnter ]Building Flourish
- -- [ CTRL+Numpad0 ] Sneak Attack
- -- [ CTRL+Numpad. ] Trick Attack
- --
- -- Spells: [ WIN+, ] Utsusemi: Ichi
- -- [ WIN+. ] Utsusemi: Ni
- --
- -- WS: [ CTRL+Numpad7 ] Exenterator
- -- [ CTRL+Numpad4 ] Evisceration
- -- [ CTRL+Numpad5 ] Rudra's Storm
- -- [ CTRL+Numpad6 ] Pyrrhic Kleos
- -- [ CTRL+Numpad1 ] Aeolian Edge
- --
- --
- -- (Global-Binds.lua contains additional non-job-related keybinds)
- -------------------------------------------------------------------------------------------------------------------
- -- Custom Commands (preface with /console to use these in macros)
- -------------------------------------------------------------------------------------------------------------------
- -- gs c step Uses the currently configured step on the target, with either <t> or
- -- <stnpc> depending on setting.
- -- gs c step t Uses the currently configured step on the target, but forces use of <t>.
- --
- -- gs c cycle mainstep Cycles through the available steps to use as the primary step when using
- -- one of the above commands.
- -- gs c cycle altstep Cycles through the available steps to use for alternating with the
- -- configured main step.
- -- gs c toggle usealtstep Toggles whether or not to use an alternate step.
- -- gs c toggle selectsteptarget Toggles whether or not to use <stnpc> (as opposed to <t>) when using a step.
- -------------------------------------------------------------------------------------------------------------------
- -- Setup functions for this job. Generally should not be modified.
- -------------------------------------------------------------------------------------------------------------------
- -- 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 vars 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")
- lockstyleset = 1
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
- -------------------------------------------------------------------------------------------------------------------
- -- Setup vars that are user-dependent. Can override this function in a sidecar file.
- function user_setup()
- state.OffenseMode:options('STP', 'Normal', 'LowAcc', 'MidAcc', 'HighAcc')
- state.HybridMode:options('Normal', 'DT')
- state.WeaponskillMode:options('Normal', 'Acc')
- state.IdleMode:options('Normal', 'DT')
- -- Additional local binds
- include('Global-Binds.lua') -- OK to remove this line
- send_command('lua l gearinfo')
- send_command('bind ^- gs c cycleback mainstep')
- send_command('bind ^= gs c cycle mainstep')
- send_command('bind !- gs c cycleback altstep')
- send_command('bind != gs c cycle altstep')
- send_command('bind ^] gs c toggle usealtstep')
- send_command('bind ![ input /ja "Contradance" <me>')
- send_command('bind ^` input /ja "Saber Dance" <me>')
- send_command('bind !` input /ja "Chocobo Jig II" <me>')
- send_command('bind @f gs c toggle ClosedPosition')
- send_command('bind ^numlock input /ja "Reverse Flourish" <me>')
- send_command('bind @c gs c toggle CP')
- if player.sub_job == 'WAR' then
- send_command('bind ^numpad/ input /ja "Berserk" <me>')
- send_command('bind ^numpad* input /ja "Warcry" <me>')
- send_command('bind ^numpad- input /ja "Aggressor" <me>')
- elseif player.sub_job == 'SAM' then
- send_command('bind ^numpad/ input /ja "Meditate" <me>')
- send_command('bind ^numpad* input /ja "Sekkanoki" <me>')
- send_command('bind ^numpad- input /ja "Third Eye" <me>')
- elseif player.sub_job == 'THF' then
- send_command('bind ^numpad0 input /ja "Sneak Attack" <me>')
- send_command('bind ^numpad. input /ja "Trick Attack" <me>')
- end
- send_command('bind ^numpad+ input /ja "Climactic Flourish" <me>')
- send_command('bind ^numpadenter input /ja "Building Flourish" <me>')
- send_command('bind ^numpad7 input /ws "Exenterator" <t>')
- send_command('bind ^numpad4 input /ws "Evisceration" <t>')
- send_command('bind ^numpad5 input /ws "Rudra\'s Storm" <t>')
- send_command('bind ^numpad6 input /ws "Pyrrhic Kleos" <t>')
- send_command('bind ^numpad1 input /ws "Aeolian Edge" <t>')
- send_command('bind numpad0 gs c step t')
- --select_default_macro_book()
- set_lockstyle()
- Haste = 0
- DW_needed = 0
- DW = false
- moving = false
- update_combat_form()
- determine_haste_group()
- end
- -- Called when this job file is unloaded (eg: job change)
- function user_unload()
- send_command('unbind ^-')
- send_command('unbind ^=')
- send_command('unbind !-')
- send_command('unbind !=')
- send_command('unbind ^]')
- send_command('unbind ^[')
- send_command('unbind ^]')
- send_command('unbind ![')
- send_command('unbind ^`')
- send_command('unbind !`')
- send_command('unbind ^,')
- send_command('unbind @f')
- send_command('unbind @c')
- send_command('unbind ^numlock')
- send_command('unbind ^numpad/')
- send_command('unbind ^numpad*')
- send_command('unbind ^numpad-')
- send_command('unbind ^numpad+')
- send_command('unbind ^numpadenter')
- send_command('unbind ^numpad7')
- send_command('unbind ^numpad4')
- send_command('unbind ^numpad5')
- send_command('unbind ^numpad6')
- send_command('unbind ^numpad1')
- send_command('unbind numpad0')
- send_command('unbind ^numpad0')
- send_command('unbind ^numpad.')
- send_command('unbind #`')
- send_command('unbind #1')
- send_command('unbind #2')
- send_command('unbind #3')
- send_command('unbind #4')
- send_command('unbind #5')
- send_command('unbind #6')
- send_command('unbind #7')
- send_command('unbind #8')
- send_command('unbind #9')
- send_command('unbind #0')
- send_command('lua u gearinfo')
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- ------------------------------------------------------------------------------------------------
- ---------------------------------------- Precast Sets ------------------------------------------
- ------------------------------------------------------------------------------------------------
- -- Enmity set
- sets.Enmity = {
- -- ammo="Sapience Orb", --2
- -- head="Halitus Helm", --8
- -- body="Emet Harness +1", --10
- -- hands="Horos Bangles +3", --9
- -- feet="Ahosi Leggings", --7
- -- neck="Unmoving Collar +1", --10
- ear1="Brutal Earring", --4
- -- ear2="Trux Earring", --5
- -- ring1="Supershear Ring", --5
- -- ring2="Eihwaz Ring", --5
- -- back=gear.DNC_WTZ_Cape, --10
- -- waist="Kasiri Belt", --3
- }
- sets.precast.JA['Provoke'] = sets.Enmity
- sets.precast.JA['No Foot Rise'] = {body="Horos Casaque +3"}
- sets.precast.JA['Trance'] = {head="Horos Tiara +3"}
- sets.precast.Waltz = {
- -- ammo="Yamarang", --5
- -- head="Horos Tiara +3", --15
- body="Maxixi Casaque +1", --19(8)
- -- hands="Maxixi Bangles +1",
- -- legs="Dashing Subligar", --10
- feet="Maxixi Toeshoes +1", --14
- -- neck="Unmoving Collar +1",
- --ear1="Handler's Earring +1",
- -- ear2="Enchntr. Earring +1",
- -- ring1={name="Carb. Ring +1", bag="wardrobe3"},
- -- ring2={name="Carb. Ring +1", bag="wardrobe4"},
- -- back=gear.DNC_WTZ_Cape,
- waist="Aristo Belt",
- } -- Waltz Potency/CHR
- sets.precast.WaltzSelf = set_combine(sets.precast.Waltz, {
- head="Mummu Bonnet +1", --(8)
- -- ring1="Asklepian Ring", --(3)
- -- ear1="Roundel Earring", --5
- }) -- Waltz effects received
- sets.precast.Waltz['Healing Waltz'] = {}
- sets.precast.Samba = {head="Maxixi Tiara +1", back=gear.DNC_TP_Cape}
- sets.precast.Jig = {}
- sets.precast.Step = {
- -- ammo="Yamarang",
- head="Maxixi Tiara +1",
- body="Maxixi Casaque +1",
- -- hands="Maxixi Bangles +1",
- legs="Mummu Kecks +1",
- -- feet="Horos T. Shoes +3",
- -- neck="Combatant's Torque",
- -- ear1="Mache Earring +1",
- -- ear2="Telos Earring",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- -- back=gear.DNC_TP_Cape
- }
- sets.precast.Step['Feather Step'] = set_combine(sets.precast.Step, {feet="Macu. Toeshoes +1"})
- sets.precast.Flourish1 = {}
- sets.precast.Flourish1['Animated Flourish'] = sets.Enmity
- sets.precast.Flourish1['Violent Flourish'] = {
- -- ammo="Hydrocera",
- head="Mummu Bonnet +1",
- -- body="Horos Casaque +3",
- hands="Mummu Wrists +1",
- legs="Mummu Kecks +1",
- feet="Mummu Gamash. +1",
- -- neck="Sanctity Necklace",
- -- ear1="Digni. Earring",
- -- ear2="Hermetic Earring",
- -- ring1={name="Stikini Ring +1", bag="wardrobe3"},
- -- ring2="Weather. Ring +1",
- -- waist="Eschan Stone",
- -- back=gear.DNC_TP_Cape,
- } -- Magic Accuracy
- sets.precast.Flourish1['Desperate Flourish'] = {
- -- ammo="Yamarang",
- head="Maxixi Tiara +1",
- body="Maxixi Casaque +1",
- -- hands="Maxixi Bangles +1",
- -- legs=gear.Herc_WS_legs,
- feet="Maxixi Toeshoes +1",
- -- neck="Combatant's Torque",
- -- ear1="Cessance Earring",
- -- ear2="Telos Earring",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- back=gear.DNC_TP_Cape,
- } -- Accuracy
- sets.precast.Flourish2 = {}
- sets.precast.Flourish2['Reverse Flourish'] = {}
- sets.precast.Flourish3 = {}
- sets.precast.Flourish3['Striking Flourish'] = {}
- sets.precast.Flourish3['Climactic Flourish'] = {}
- sets.precast.FC = {
- -- ammo="Sapience Orb",
- -- head=gear.Herc_MAB_head, --7
- -- body=gear.Taeon_FC_body, --8
- -- hands="Leyline Gloves", --8
- -- legs="Rawhide Trousers", --5
- -- feet=gear.Herc_MAB_feet, --2
- -- neck="Orunmila's Torque", --5
- ear1="Loquacious Earring", --2
- -- ear2="Enchntr. Earring +1", --2
- -- ring2="Weather. Ring +1", --6(4)
- }
- sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {
- -- ammo="Impatiens",
- -- body="Passion Jacket",
- -- ring1="Lebeche Ring",
- })
- ------------------------------------------------------------------------------------------------
- ------------------------------------- Weapon Skill Sets ----------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.precast.WS = {
- -- ammo="Focal Orb",
- -- head="Lilitu Headpiece",
- -- body=gear.Herc_WS_body,
- -- hands="Maxixi Bangles +1",
- -- legs="Horos Tights +3",
- -- feet="Lustra. Leggings +1",
- -- neck="Fotia Gorget",
- -- ear1="Ishvara Earring",
- ear2="Moonshade Earring",
- -- ring1="Regal Ring",
- -- ring2="Ilabrat Ring",
- -- back=gear.DNC_WS1_Cape,
- -- waist="Fotia Belt",
- } -- default set
- sets.precast.WS.Acc = set_combine(sets.precast.WS, {
- -- ammo="Falcon Eye",
- -- head="Dampening Tam",
- -- hands="Maxixi Bangles +1",
- -- legs="Meg. Chausses +2",
- -- feet="Meg. Jam. +2",
- -- ear2="Telos Earring",
- })
- sets.precast.WS.Critical = {body="Meg. Cuirie +2"}
- sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body="Meg. Cuirie +2",
- -- legs="Meg. Chausses +2",
- -- feet="Meg. Jam. +2",
- -- ear1="Sherida Earring",
- ear2="Brutal Earring",
- -- back=gear.DNC_WS2_Cape,
- })
- sets.precast.WS['Exenterator'].Acc = set_combine(sets.precast.WS['Exenterator'], {
- -- ammo="Falcon Eye",
- -- head="Dampening Tam",
- -- body="Horos Casaque +3",
- -- ear2="Telos Earring",
- })
- sets.precast.WS['Pyrrhic Kleos'] = set_combine(sets.precast.WS, {
- -- ammo="Cheruski Needle",
- -- head="Lustratio Cap +1",
- -- body="Horos Casaque +3",
- -- hands=gear.Adhemar_B_hands,
- -- legs="Samnuha Tights",
- -- feet=gear.Herc_TA_feet,
- -- ear1="Sherida Earring",
- -- ear2="Mache Earring +1",
- ring2="Epona's Ring",
- -- back=gear.DNC_WS2_Cape,
- })
- sets.precast.WS['Pyrrhic Kleos'].Acc = set_combine(sets.precast.WS['Pyrrhic Kleos'], {
- -- ammo="Falcon Eye",
- -- head="Dampening Tam",
- -- hands=gear.Adhemar_B_hands,
- -- legs=gear.Herc_WS_legs,
- -- feet=gear.Herc_STP_feet,
- -- ring2="Ramuh Ring +1",
- })
- sets.precast.WS['Evisceration'] = set_combine(sets.precast.WS, {
- -- ammo="Charis Feather",
- -- head="Lustratio Cap +1",
- -- body="Abnoba Kaftan",
- hands="Mummu Wrists +1",
- -- legs="Lustr. Subligar +1",
- -- feet=gear.Herc_STP_feet,
- -- ear1="Sherida Earring",
- -- ear2="Mache Earring +1",
- ring2="Mummu Ring",
- -- back=gear.DNC_WS3_Cape,
- })
- sets.precast.WS['Evisceration'].Acc = set_combine(sets.precast.WS['Evisceration'], {
- -- ammo="Falcon Eye",
- -- head="Dampening Tam",
- -- body="Horos Casaque +3",
- -- legs="Meg. Chausses +2",
- feet="Maxixi Toeshoes +1",
- -- ring1="Regal Ring",
- })
- sets.precast.WS['Rudra\'s Storm'] = set_combine(sets.precast.WS, {
- ammo="Charis Feather",
- -- neck="Caro Necklace",
- -- ear1="Sherida Earring",
- -- waist="Grunfeld Rope",
- })
- sets.precast.WS['Rudra\'s Storm'].Acc = set_combine(sets.precast.WS['Rudra\'s Storm'], {
- -- ammo="Falcon Eye",
- -- legs=gear.Herc_WS_legs,
- -- feet=gear.Herc_STP_feet,
- -- ear2="Telos Earring",
- })
- sets.precast.WS['Aeolian Edge'] = {
- -- ammo="Pemphredo Tathlum",
- -- head=gear.Herc_MAB_head,
- -- body="Samnuha Coat",
- -- hands="Maxixi Bangles +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_MAB_feet,
- -- neck="Baetyl Pendant",
- -- ear1="Crematio Earring",
- -- ear2="Friomisi Earring",
- -- ring1={name="Shiva Ring +1", bag="wardrobe3"},
- -- ring2={name="Shiva Ring +1", bag="wardrobe4"},
- -- back="Argocham. Mantle",
- -- waist="Eschan Stone",
- }
- sets.precast.Skillchain = {
- -- hands="Macu. Bangles +1",
- }
- ------------------------------------------------------------------------------------------------
- ---------------------------------------- Midcast Sets ------------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.midcast.FastRecast = sets.precast.FC
- sets.midcast.SpellInterrupt = {
- -- ammo="Impatiens", --10
- -- ring1="Evanescence Ring", --5
- }
- sets.midcast.Utsusemi = sets.midcast.SpellInterrupt
- ------------------------------------------------------------------------------------------------
- ----------------------------------------- Idle Sets --------------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.resting = {}
- sets.idle = {
- ammo="Charis Feather",
- head="Mummu Bonnet +1",
- body="Maxixi Casaque +1",
- hands="Mummu Wrists +1",
- legs="Mummu Kecks +1",
- feet="Mummu Gamash. +1",
- neck="Charis Necklace",
- waist="Dynamic Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- left_ring="Rajas Ring",
- right_ring="Epona's Ring",
- back=gear.DNC_TP_Cape,
- }
- sets.idle.DT = set_combine(sets.idle, {
- -- ammo="Staunch Tathlum +1", --3/3
- -- head="Turms Cap +1",
- -- body="Horos Casaque +3", --6/0
- -- hands="Turms Mittens +1",
- -- legs="Meg. Chausses +2", --6/0
- -- feet="Turms Leggings +1",
- -- neck="Loricate Torque +1", --6/6
- -- ear1="Genmei Earring", --2/0
- -- ear2="Etiolation Earring", --0/3
- -- ring1="Gelatinous Ring +1", --7/(-1)
- -- ring2="Defending Ring", --10/10
- -- back="Moonlight Cape", --6/6
- -- waist="Flume Belt +1", --4/0
- })
- sets.idle.Town = set_combine(sets.idle, {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body="Horos Casaque +3",
- -- hands="Maxixi Bangles +1",
- -- legs="Horos Tights +3",
- -- neck="Combatant's Torque",
- -- ear1="Sherida Earring",
- -- ear2="Telos Earring",
- -- back=gear.DNC_TP_Cape,
- -- waist="Windbuffet Belt +1",
- })
- sets.idle.Weak = sets.idle.DT
- ------------------------------------------------------------------------------------------------
- ---------------------------------------- Defense Sets ------------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.defense.PDT = sets.idle.DT
- sets.defense.MDT = sets.idle.DT
- sets.Kiting = {feet="Skd. Jambeaux +1"}
- ------------------------------------------------------------------------------------------------
- ---------------------------------------- Engaged Sets ------------------------------------------
- ------------------------------------------------------------------------------------------------
- -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
- -- sets if more refined versions aren't defined.
- -- If you create a set with both offense and defense modes, the offense mode should be first.
- -- EG: sets.engaged.Dagger.Accuracy.Evasion
- sets.engaged = {
- ammo="Charis Feather",
- head="Mummu Bonnet +1",
- body="Maxixi Casaque +1",
- hands="Mummu Wrists +1",
- legs="Mummu Kecks +1",
- feet="Mummu Gamash. +1",
- neck="Charis Necklace",
- waist="Dynamic Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- left_ring="Rajas Ring",
- right_ring="Epona's Ring",
- back=gear.DNC_TP_Cape,
- }
- sets.engaged.LowAcc = set_combine(sets.engaged, {
- -- head="Dampening Tam",
- -- neck="Combatant's Torque",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.MidAcc = set_combine(sets.engaged.LowAcc, {
- -- ammo="Falcon Eye",
- -- ear2="Telos Earring",
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2="Ilabrat Ring",
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.HighAcc = set_combine(sets.engaged.MidAcc, {
- body="Maxixi Casaque +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_STP_feet,
- -- ear2="Mache Earring +1",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.STP = set_combine(sets.engaged, {
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- -- * DNC Native DW Trait: 30% DW
- -- * DNC Job Points DW Gift: 5% DW
- -- No Magic Haste (74% DW to cap)
- sets.engaged.DW = {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body="Macu. Casaque +1", --11
- -- hands=gear.Adhemar_B_hands,
- -- legs="Samnuha Tights",
- -- feet=gear.Taeon_DW_feet, --9
- neck="Charis Necklace", --5
- -- ear1="Eabani Earring", --4
- ear2="Suppanomimi", --5
- -- ring1="Hetairoi Ring",
- ring2="Epona's Ring",
- -- back=gear.DNC_TP_Cape,
- waist="Reiki Yotai", --7
- left_ear="Brutal Earring",
- } -- 41%
- sets.engaged.DW.LowAcc = set_combine(sets.engaged.DW, {
- -- head="Dampening Tam",
- -- neck="Combatant's Torque",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.MidAcc = set_combine(sets.engaged.DW.LowAcc, {
- head="Maxixi Tiara +1", --8
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2="Ilabrat Ring",
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.HighAcc = set_combine(sets.engaged.DW.MidAcc, {
- body="Maxixi Casaque +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_STP_feet,
- -- ear2="Mache Earring +1",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.STP = set_combine(sets.engaged.DW, {
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- -- 15% Magic Haste (67% DW to cap)
- sets.engaged.DW.LowHaste = {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body="Macu. Casaque +1", --11
- -- hands=gear.Adhemar_B_hands,
- -- legs="Samnuha Tights",
- -- feet=gear.Herc_TA_feet,
- neck="Charis Necklace", --5
- -- ear1="Eabani Earring", --4
- left_ear="Brutal Earring",
- ear2="Suppanomimi", --5
- -- ring1="Hetairoi Ring",
- ring2="Epona's Ring",
- -- back=gear.DNC_TP_Cape,
- waist="Reiki Yotai", --7
- } -- 32%
- sets.engaged.DW.LowAcc.LowHaste = set_combine(sets.engaged.DW.LowHaste, {
- -- head="Dampening Tam",
- -- neck="Combatant's Torque",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.MidAcc.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, {
- head="Maxixi Tiara +1", --8
- -- body="Horos Casaque +3",
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2="Ilabrat Ring",
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.HighAcc.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, {
- body="Maxixi Casaque +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_STP_feet,
- -- ear2="Mache Earring +1",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.STP.LowHaste = set_combine(sets.engaged.DW.LowHaste, {
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- -- 30% Magic Haste (56% DW to cap)
- sets.engaged.DW.MidHaste = {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body=gear.Adhemar_B_body, --6
- -- hands=gear.Adhemar_B_hands,
- -- legs="Samnuha Tights",
- -- feet=gear.Herc_TA_feet,
- -- neck="Anu Torque",
- -- ear1="Eabani Earring", --4
- left_ear="Brutal Earring",
- ear2="Suppanomimi", --5
- -- ring1="Hetairoi Ring",
- ring2="Epona's Ring",
- -- back=gear.DNC_TP_Cape,
- waist="Reiki Yotai", --7
- } -- 22%
- sets.engaged.DW.LowAcc.MidHaste = set_combine(sets.engaged.DW.MidHaste, {
- -- head="Dampening Tam",
- -- neck="Combatant's Torque",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.MidAcc.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, {
- head="Maxixi Tiara +1", --8
- -- body="Horos Casaque +3",
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2="Ilabrat Ring",
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.HighAcc.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, {
- body="Maxixi Casaque +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_STP_feet,
- -- ear2="Mache Earring +1",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.STP.MidHaste = set_combine(sets.engaged.DW.MidHaste, {
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- -- 35% Magic Haste (51% DW to cap)
- sets.engaged.DW.HighHaste = {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body=gear.Adhemar_B_body, --6
- -- hands=gear.Adhemar_B_hands,
- -- legs="Samnuha Tights",
- -- feet=gear.Herc_TA_feet,
- -- neck="Anu Torque",
- -- ear1="Eabani Earring", --4
- right_ear="Suppanomimi",
- ear2="Brutal Earring",
- -- ring1="Hetairoi Ring",
- ring2="Epona's Ring",
- -- back=gear.DNC_TP_Cape,
- -- waist="Windbuffet Belt +1",
- } -- 10% Gear
- sets.engaged.DW.LowAcc.HighHaste = set_combine(sets.engaged.DW.HighHaste, {
- -- head="Dampening Tam",
- -- neck="Combatant's Torque",
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.MidAcc.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, {
- -- body="Horos Casaque +3",
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2="Ilabrat Ring",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.HighAcc.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, {
- head="Maxixi Tiara +1", --8
- body="Maxixi Casaque +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_STP_feet,
- -- ear2="Mache Earring +1",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.STP.HighHaste = set_combine(sets.engaged.DW.HighHaste, {
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- -- 45% Magic Haste (36% DW to cap)
- sets.engaged.DW.MaxHaste = {
- -- ammo="Yamarang",
- -- head=gear.Adhemar_B_head,
- -- body="Horos Casaque +3",
- -- hands=gear.Adhemar_B_hands,
- -- legs="Samnuha Tights",
- -- feet=gear.Herc_TA_feet,
- -- neck="Anu Torque",
- -- ear1="Sherida Earring",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- -- ring1="Hetairoi Ring",
- ring2="Epona's Ring",
- -- back=gear.DNC_TP_Cape,
- -- waist="Windbuffet Belt +1",
- } -- 0%
- sets.engaged.DW.LowAcc.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, {
- -- head="Dampening Tam",
- -- neck="Combatant's Torque",
- -- ear2="Telos Earring",
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.MidAcc.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, {
- -- ear1="Cessance Earring",
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2="Ilabrat Ring",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.HighAcc.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, {
- head="Maxixi Tiara +1", --8
- body="Maxixi Casaque +1",
- -- legs="Horos Tights +3",
- -- feet=gear.Herc_STP_feet,
- -- ear2="Mache Earring +1",
- -- ring1="Regal Ring",
- -- ring2="Ramuh Ring +1",
- -- waist="Olseni Belt",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- sets.engaged.DW.STP.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, {
- -- ear2="Telos Earring",
- -- ring1={name="Chirich Ring +1", bag="wardrobe3"},
- -- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- -- waist="Kentarch Belt +1",
- left_ear="Brutal Earring",
- right_ear="Suppanomimi",
- })
- ------------------------------------------------------------------------------------------------
- ---------------------------------------- Hybrid Sets -------------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.engaged.Hybrid = {
- head=gear.Adhemar_D_head, --4/0
- body="Horos Casaque +3", --6/0
- -- neck="Loricate Torque +1", --6/6
- -- ring1="Moonlight Ring", --5/5
- -- ring2="Defending Ring", --10/10
- }
- sets.engaged.DT = set_combine(sets.engaged, sets.engaged.Hybrid)
- sets.engaged.LowAcc.DT = set_combine(sets.engaged.LowAcc, sets.engaged.Hybrid)
- sets.engaged.MidAcc.DT = set_combine(sets.engaged.MidAcc, sets.engaged.Hybrid)
- sets.engaged.HighAcc.DT = set_combine(sets.engaged.HighAcc, sets.engaged.Hybrid)
- sets.engaged.STP.DT = set_combine(sets.engaged.STP, sets.engaged.Hybrid)
- sets.engaged.DW.DT = set_combine(sets.engaged.DW, sets.engaged.Hybrid)
- sets.engaged.DW.LowAcc.DT = set_combine(sets.engaged.DW.LowAcc, sets.engaged.Hybrid)
- sets.engaged.DW.MidAcc.DT = set_combine(sets.engaged.DW.MidAcc, sets.engaged.Hybrid)
- sets.engaged.DW.HighAcc.DT = set_combine(sets.engaged.DW.HighAcc, sets.engaged.Hybrid)
- sets.engaged.DW.STP.DT = set_combine(sets.engaged.DW.STP, sets.engaged.Hybrid)
- sets.engaged.DW.DT.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.Hybrid)
- sets.engaged.DW.LowAcc.DT.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.Hybrid)
- sets.engaged.DW.MidAcc.DT.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.Hybrid)
- sets.engaged.DW.HighAcc.DT.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.Hybrid)
- sets.engaged.DW.STP.DT.LowHaste = set_combine(sets.engaged.DW.STP.LowHaste, sets.engaged.Hybrid)
- sets.engaged.DW.DT.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.Hybrid)
- sets.engaged.DW.LowAcc.DT.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.Hybrid)
- sets.engaged.DW.MidAcc.DT.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.Hybrid)
- sets.engaged.DW.HighAcc.DT.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.Hybrid)
- sets.engaged.DW.STP.DT.MidHaste = set_combine(sets.engaged.DW.STP.MidHaste, sets.engaged.Hybrid)
- sets.engaged.DW.DT.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.Hybrid)
- sets.engaged.DW.LowAcc.DT.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.Hybrid)
- sets.engaged.DW.MidAcc.DT.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.Hybrid)
- sets.engaged.DW.HighAcc.DT.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.Hybrid)
- sets.engaged.DW.STP.DT.HighHaste = set_combine(sets.engaged.DW.HighHaste.STP, sets.engaged.Hybrid)
- sets.engaged.DW.DT.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.Hybrid)
- sets.engaged.DW.LowAcc.DT.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.Hybrid)
- sets.engaged.DW.MidAcc.DT.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.Hybrid)
- sets.engaged.DW.HighAcc.DT.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.Hybrid)
- sets.engaged.DW.STP.DT.MaxHaste = set_combine(sets.engaged.DW.STP.MaxHaste, sets.engaged.Hybrid)
- ------------------------------------------------------------------------------------------------
- ---------------------------------------- Special Sets ------------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.buff['Saber Dance'] = {}
- sets.buff['Fan Dance'] = {}
- sets.buff['Climactic Flourish'] = {} --body="Meg. Cuirie +2"}
- sets.buff['Closed Position'] = {}
- sets.buff.Doom = {
- -- neck="Nicander's Necklace", --20
- -- ring1={name="Eshmun's Ring", bag="wardrobe3"}, --20
- -- ring2={name="Eshmun's Ring", bag="wardrobe4"}, --20
- -- waist="Gishdubar Sash", --10
- }
- sets.CP = {}
- --sets.Reive = {neck="Ygnas's Resolve +1"}
- 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)
- --auto_presto(spell)
- 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
- 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.type=='Waltz' and spell.english:startswith('Curing') and spell.target.type == 'SELF' then
- equip(sets.precast.WaltzSelf)
- 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.
- -------------------------------------------------------------------------------------------------------------------
- -- Called when a player gains or loses a buff.
- -- buff == buff gained or lost
- -- gain == true if the buff was gained, false if it was lost.
- 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 buffactive['Reive Mark'] then
- -- if gain then
- -- equip(sets.Reive)
- -- disable('neck')
- -- else
- -- enable('neck')
- -- end
- -- end
- if buff == "doom" then
- if gain then
- equip(sets.buff.Doom)
- -- send_command('@input /p Doomed.')
- disable('ring1','ring2','waist')
- else
- enable('ring1','ring2','waist')
- handle_equipping_gear(player.status)
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Called by the 'update' self-command, for common needs.
- -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
- 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
- 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.ClosedPosition.value == true then
- meleeSet = set_combine(meleeSet, sets.buff['Closed Position'])
- 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 cf_msg = ''
- if state.CombatForm.has_value then
- cf_msg = ' (' ..state.CombatForm.value.. ')'
- end
- local m_msg = state.OffenseMode.value
- if state.HybridMode.value ~= 'Normal' then
- m_msg = m_msg .. '/' ..state.HybridMode.value
- end
- local ws_msg = state.WeaponskillMode.value
- local s_msg = state.MainStep.current
- if state.UseAltStep.value == true then
- s_msg = s_msg .. '/'..state.AltStep.current
- end
- local d_msg = 'None'
- if state.DefenseMode.value ~= 'None' then
- d_msg = state.DefenseMode.value .. state[state.DefenseMode.value .. 'DefenseMode'].value
- end
- local i_msg = state.IdleMode.value
- local msg = ''
- if state.Kiting.value then
- msg = msg .. ' Kiting: On |'
- end
- add_to_chat(002, '| ' ..string.char(31,210).. 'Melee' ..cf_msg.. ': ' ..string.char(31,001)..m_msg.. string.char(31,002).. ' |'
- ..string.char(31,207).. ' WS: ' ..string.char(31,001)..ws_msg.. string.char(31,002).. ' |'
- ..string.char(31,060).. ' Step: ' ..string.char(31,001)..s_msg.. string.char(31,002).. ' |'
- ..string.char(31,004).. ' Defense: ' ..string.char(31,001)..d_msg.. string.char(31,002).. ' |'
- ..string.char(31,008).. ' Idle: ' ..string.char(31,001)..i_msg.. string.char(31,002).. ' |'
- ..string.char(31,002)..msg)
- eventArgs.handled = true
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User self-commands.
- -------------------------------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------------------------------
- -- 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 <= 39 then
- classes.CustomMeleeGroups:append('LowHaste')
- elseif DW_needed > 39 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
- -- Automatically use Presto for steps when it's available and we have less than 3 finishing moves
- function job_pretarget(spell, action, spellMap, eventArgs)
- if spell.type == 'Step' then
- local allRecasts = windower.ffxi.get_ability_recasts()
- local prestoCooldown = allRecasts[236]
- local under3FMs = not buffactive['Finishing Move 3'] and not buffactive['Finishing Move 4'] and not buffactive['Finishing Move 5']
- if player.main_job_level >= 77 and prestoCooldown < 1 and under3FMs then
- cast_delay(1.1)
- send_command('input /ja "Presto" <me>')
- end
- end
- end
- windower.register_event('zone change',
- function()
- send_command('gi ugs true')
- end
- )
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- --Default macro set/book: (set, book)
- if player.sub_job == 'WAR' then
- set_macro_page(1, 4)
- elseif player.sub_job == 'THF' then
- set_macro_page(1, 4)
- elseif player.sub_job == 'NIN' then
- set_macro_page(1, 4)
- elseif player.sub_job == 'RUN' then
- set_macro_page(1, 4)
- elseif player.sub_job == 'SAM' then
- set_macro_page(1, 4)
- else
- set_macro_page(1, 4)
- end
- end
- function set_lockstyle()
- send_command('wait 2; input /lockstyleset ' .. lockstyleset)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement