Pastebin
API
tools
faq
paste
Login
Sign up
Please fix the following errors:
New Paste
Syntax Highlighting
------------------------------------------------------------------------------------------------------------------- -- Setup functions for this job. Generally should not be modified. ------------------------------------------------------------------------------------------------------------------- --[[ Custom commands: 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>. Configuration commands: 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. --]] -- Initialization function for this job file. function get_sets() mote_include_version = 2 -- Load and initialize the include file. include('Mote-Include.lua') include('organizer-lib') end -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked. function job_setup() include('Mote-TreasureHunter') state.TreasureMode:set('Tag') state.Buff['Climactic Flourish'] = buffactive['climactic flourish'] or false state.Buff.Doom = buffactive.doom or false state.Buff.sleep = buffactive.sleep 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'} --Haste mode state.HasteMode = M{['description']='Haste Mode', 'Normal' , 'Haste2'} state.UseAltStep = M(false, 'Use Alt Step') state.SelectStepTarget = M(false, 'Select Step Target') state.IgnoreTargetting = M(false, 'Ignore Targetting') state.CurrentStep = M{['description']='Current Step', 'Main', 'Alt'} state.SkillchainPending = M(false, 'Skillchain Pending') -- JA IDs for actions that always have TH: Provoke, Animated Flourish info.default_ja_ids = S{35, 204} -- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish info.default_u_ja_ids = S{201, 202, 203, 205, 207} determine_haste_group() 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('Normal' , 'Acc', 'NoDW') state.HybridMode:options('Normal', 'PDT') state.WeaponskillMode:options('Normal') state.PhysicalDefenseMode:options('PDT') -- Haste modes state.HasteMode:options('Normal', 'Haste2') -- Additional local binds send_command('bind ^= gs c cycle mainstep') -- Haste mode keybind --send_command('bind != gs c cycle HasteMode') send_command('bind ^- gs c toggle selectsteptarget') send_command('bind !- gs c toggle usealtstep') send_command('bind ^` gs c cycle HasteMode') send_command('bind !` input /ja "Chocobo Jig II" <me>') select_default_macro_book() 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 !-') end -- Define sets and vars used by this job file. function init_gear_sets() -------------------------------------- -- Start defining the sets -------------------------------------- --TH on first hit sets.TreasureHunter = {legs={ name="Herculean Trousers", augments={'CHR+5','Accuracy+2 Attack+2','"Treasure Hunter"+1','Mag. Acc.+6 "Mag.Atk.Bns."+6',}}, waist="Chaac Belt"} -- Precast Sets -- Precast sets to enhance JAs sets.precast.JA['No Foot Rise'] = {body="Horos Casaque +1"} sets.precast.JA['Trance'] = {head="Horos Tiara +1"} sets.precast.JA['Climactic FLourish'] = sets.buff['Climactic FLourish'] -- Waltz set (chr and vit) sets.precast.Waltz = {ammo="Light Sachet", head="Anwig Salade",ear1="Roundel earring",ear2="Handler's earring +1", body="Passion Jacket",neck="Dualism Collar +1", hands={ name="Herculean Gloves", augments={'Accuracy+5','"Waltz" potency +11%',}}, legs="Dashing Subligar",waist="Aristo Belt", ring1="Asklepian Ring",ring2="Valseur's Ring", back={ name="Senuna's Mantle", augments={'CHR+20','Eva.+20 /Mag. Eva.+20','CHR+10','"Waltz" potency +10%',}}, feet={ name="Herculean Boots", augments={'"Waltz" potency +10%','CHR+8',}}} -- Don't need any special gear for Healing Waltz. sets.precast.Waltz['Healing Waltz'] = {} sets.precast.Samba = {head="Maxixi Tiara +1",back="Senuna's Mantle"} sets.precast.Jig = {legs="Horos Tights +1", feet="Maxixi Toe Shoes +1"} sets.precast.Step = {ammo="Falcon Eye", head="Meghanada Visor +1",neck="Subtlety Spectacles",ear1="Zennaroi Earring",ear2="Digni. Earring", body="Meghanada Cuirie +1",hands="Meg. Gloves +1",ring1="Cacoethic Ring +1",ring2="Defending Ring", back="Senuna's Mantle",waist="Olseni Belt", legs="Meg. Chausses +1", feet="Meg. Jam. +1"} sets.precast.Step['Feather Step'] = {feet="Maculele Toeshoes +1"} sets.precast.Step['Stutter Step'] = {} sets.precast.Flourish1 = {} sets.precast.Flourish1['Violent Flourish'] = {ammo="Pemphredo Tathlum", head="Dampening Tam",body="Horos Casaque +1", hands="Rawhide Gloves", ring1="Sangoma Ring",ring2="Etana Ring",ear1="Digni. Earring",ear2="Gwati Earring", waist="Eschan Stone",neck="Voltsurge Torque",back="Aput Mantle", legs={ name="Herculean Trousers", augments={'Rng.Atk.+9','Mag. Acc.+30','Mag. Acc.+16 "Mag.Atk.Bns."+16',}}, feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Weapon skill damage +1%','MND+5','Mag. Acc.+12','"Mag.Atk.Bns."+11',}}} -- magic accuracy sets.precast.Flourish1['Desperate Flourish'] = {ammo="Falcon Eye", head="Maculele Tiara +1",neck="Subtlety Spectacles",ear1="Zennaroi Earring",ear2="Digni. Earring", body="Horos Casaque +1",hands="Maculele Bangles +1",ring1="Cacoethic Ring +1",ring2="Etana Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},waist="Olseni Belt", legs={ name="Herculean Trousers", augments={'Accuracy+24 Attack+24','"Dual Wield"+1','DEX+14','Accuracy+8','Attack+3',}}, feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- acc gear sets.precast.Flourish2 = {} sets.precast.Flourish2['Reverse Flourish'] = {hands="Maculele Bangles +1", back={ name="Toetapper Mantle", augments={'"Store TP"+1','"Dual Wield"+5','"Rev. Flourish"+30','Weapon skill damage +2%',}}} sets.precast.Flourish2['Wild Flourish'] = {ammo="Falcon Eye", head="Meghanada Visor +1",neck="Subtlety Spectacles",ear1="Zennaroi Earring",ear2="Digni. Earring", body="Meghanada Cuirie +1",hands="Meg. Gloves +1",ring1="Cacoethic Ring +1",ring2="Defending Ring", back="Senuna's Mantle",waist="Olseni Belt", legs="Meg. Chausses +1", feet="Meg. Jam. +1"} sets.precast.Flourish3 = {} sets.precast.Flourish3['Striking Flourish'] = {body="Maculele Casaque +1"} sets.precast.Flourish3['Climactic Flourish'] = {head="Maculele Tiara +1"} -- Fast cast sets for spells sets.precast.FC = {ammo="Impatiens", head={ name="Herculean Helm", augments={'Mag. Acc.+25','"Fast Cast"+5','MND+5','"Mag.Atk.Bns."+12',}}, neck="Voltsurge Torque",ear1="Etiolation Earring",ear2="Loquacious Earring", body="Foppish Tunica",hands="Leyline Gloves", legs={ name="Herculean Trousers", augments={'Mag. Acc.+6','"Fast Cast"+6','INT+9','"Mag.Atk.Bns."+10',}}, ring1="Lebeche Ring",ring2="Prolix Ring", back={ name="Senuna's Mantle", augments={'AGI+20','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}}, feet={ name="Herculean Boots", augments={'"Mag.Atk.Bns."+15','"Fast Cast"+5','Mag. Acc.+14',}}} sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads",body="Passion Jacket"}) -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Fotia Gorget",ear1="Ishvara Earring",ear2="Moonshade Earring", body="Adhemar Jacket",hands="Maculele Bangles +1",ring1="Epona's Ring",ring2="Apate Ring", back="Senuna's Mantle",waist="Fotia Belt", legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Shark Bite'] = set_combine(sets.precast.WS, { ammo="Floestone", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, body={ name="Adhemar Jacket", augments={'STR+10','DEX+10','Attack+15',}}, hands={ name="Adhemar Wristbands", augments={'STR+10','DEX+10','Attack+15',}}, legs={ name="Lustratio Subligar", augments={'Accuracy+15','DEX+5','Crit. hit rate+2%',}}, feet="Macu. Toeshoes +1",neck="Fotia Gorget",waist="Fotia Belt", ear1="Jupiter's Pearl",ear2="Ishvara Earring",ring1="Ramuh Ring +1",ring2="Apate Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}}) sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, { ammo="Ginsen", head={ name="Lilitu Headpiece", augments={'STR+10','DEX+10','Attack+15','Weapon skill damage +3%',}}, body={ name="Adhemar Jacket", augments={'STR+10','DEX+10','Attack+15',}}, hands={ name="Adhemar Wristbands", augments={'STR+10','DEX+10','Attack+15',}}, legs="Maculele Tights +1", feet="Macu. Toeshoes +1",neck="Fotia Gorget",waist="Fotia Belt",ear1="Tati Earring", ear2="Tati Earring",ring1="Ramuh Ring +1",ring2="Apate Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}}) sets.precast.WS['Pyrrhic Kleos'] = {ammo="Floestone", head={ name="Herculean Helm", augments={'Accuracy+24 Attack+24','"Triple Atk."+2','STR+9','Accuracy+12',}}, body="Adhemar Jacket",neck="Fotia Gorget", ear1="Tati Earring",ear2="Tati Earring", hands={ name="Adhemar Wristbands", augments={'STR+10','DEX+10','Attack+15',}}, legs="Samnuha Tights",feet="Lustratio Leggings", waist="Fotia Belt",ring1="Ifrit Ring +1",ring2="Ifrit Ring +1", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}} sets.precast.WS['Evisceration'] = {ammo="Charis Feather", head={ name="Herculean Helm", augments={'Accuracy+10 Attack+10','Crit.hit rate+4','Attack+11',}}, body="Foppish Tunica", neck="Fotia Gorget",ear1="Jupiter's Pearl",ear2="Moonshade Earring", hands={ name="Adhemar Wristbands", augments={'STR+10','DEX+10','Attack+15',}}, ring1="Ramuh Ring +1",ring2="Ramuh Ring +1",waist="Fotia Belt",legs="Lustratio Subligar", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10',}}, feet={ name="Herculean Boots", augments={'Attack+23','Crit.hit rate+4','DEX+10','Accuracy+9',}}} sets.precast.WS["Rudra's Storm"] = { ammo="Floestone", head="Lilitu Headpiece", body={ name="Adhemar Jacket", augments={'STR+10','DEX+10','Attack+15',}}, hands="Meghanada Gloves +1", legs="Lustratio Subligar", feet={ name="Herculean Boots", augments={'Attack+11','Weapon skill damage +5%','DEX+6','Accuracy+15',}}, neck="Caro Necklace",waist="Grunfeld Rope", ear1="Moonshade Earring",ear2="Ishvara Earring",ring1="Shiva Ring",ring2="Shiva 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"].CF = {ammo="Charis Feather", neck="Caro Necklace", ear1="Ishvara Earring", ear2="Moonshade Earring",body="Meghanada Cuirie +1", hands="Meghanada Gloves +1", ring1="Ramuh Ring +1",ring2="Ramuh Ring +1", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}}, waist="Grunfeld Rope",legs="Lustratio Subligar", feet={ name="Herculean Boots", augments={'Attack+11','Weapon skill damage +5%','DEX+6','Accuracy+15',}}} sets.precast.WS['Aeolian Edge'] = {ammo="Pemphredo Tathlum", head={ name="Herculean Helm", augments={'Mag. Acc.+17 "Mag.Atk.Bns."+17','Mag. Acc.+4','"Mag.Atk.Bns."+12',}}, neck="Sanctity Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Samnuha Coat",hands="Leyline Gloves", ring1="Shiva Ring",ring2="Shiva Ring", back={ name="Senuna's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Weapon skill damage +10%',}}, waist="Eschan Stone", legs={ name="Herculean Trousers", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Fast Cast"+5','"Mag.Atk.Bns."+15',}}, feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Weapon skill damage +1%','MND+5','Mag. Acc.+12','"Mag.Atk.Bns."+11',}}} sets.precast.Skillchain = {} -- Midcast Sets sets.midcast.FastRecast = { ammo="Impatiens", head={ name="Herculean Helm", augments={'Mag. Acc.+25','"Fast Cast"+5','MND+5','"Mag.Atk.Bns."+12',}}, neck="Voltsurge Torque",ear1="Etiolation Earring",ear2="Loquacious Earring", body="Foppish Tunica",hands="Leyline Gloves", legs={ name="Herculean Trousers", augments={'Mag. Acc.+6','"Fast Cast"+6','INT+9','"Mag.Atk.Bns."+10',}}, ring1="Lebeche Ring",ring2="Prolix Ring", feet={ name="Herculean Boots", augments={'"Mag.Atk.Bns."+15','"Fast Cast"+5','Mag. Acc.+14',}}} -- Specific spells sets.midcast.Utsusemi = { head={ name="Herculean Helm", augments={'Accuracy+19','Damage taken-3%','STR+7','Attack+7',}}, body="Emet Harness +1",neck="Twilight Torque",ear1="Etiolation Earring",ear2="Loquacious Earring", hands="Leyline Gloves",ring1="Defending Ring",ring2="Patricius Ring", back="Fravashi Mantle", legs={ name="Herculean Trousers", augments={'Mag. Acc.+6','"Fast Cast"+6','INT+9','"Mag.Atk.Bns."+10',}}, feet={ name="Herculean Boots", augments={'"Mag.Atk.Bns."+15','"Fast Cast"+5','Mag. Acc.+14',}}} sets.midcast['Yoran-Oran (UC)'] = set_combine(sets.midcast.FastRecast, {body="Yoran Unity Shirt"}) -- Sets to return to when not performing an action. -- Resting sets sets.resting = {head={ name="Herculean Helm", augments={'Accuracy+19','Damage taken-3%','STR+7','Attack+7',}},body={ name="Rawhide Vest", augments={'HP+50','Accuracy+15','Evasion+20',}}, neck="Bathy Choker +1",ear1="Infused Earring", ring1="Shneddick Ring",ring2="Paguroidea Ring",feet="Maculele Toeshoes +1"} -- Idle sets sets.idle = { head={ name="Herculean Helm", augments={'Accuracy+19','Damage taken-3%','STR+7','Attack+7',}}, neck="Bathy Choker +1",ear1="Infused Earring",ear2="Eabani Earring", body={ name="Rawhide Vest", augments={'HP+50','Accuracy+15','Evasion+20',}}, hands="Maculele Bangles +1",legs="Maculele Tights +1", ring1="Shneddick Ring",ring2="Paguroidea Ring", back="Solemnity Cape", feet={ name="Rawhide Boots", augments={'HP+50','Accuracy+15','Evasion+20',}}} sets.idle.Town = {main="Terpsichore",head="Moogle Masque",neck="Bathy Choker +1", ear1="Infused Earring",ear2="Hearty Earring", body="Tidal Talisman",hands="Maculele Bangles +1",ring1="Shneddick Ring",ring2="Paguroidea Ring", back="Solemnity Cape",waist="Patentia Sash",legs="Gemini Subligar", feet={ name="Rawhide Boots", augments={'HP+50','Accuracy+15','Evasion+20',}}} sets.idle.Weak = { neck="Bathy Choker +1",ear1="Dudgeon Earring",ear2="Hearty Earring", body="Horos Casaque +1",hands="Maculele Bangles +1",ring1="Shneddick Ring",ring2="Paguroidea Ring", back="Solemnity Cape",feet={ name="Rawhide Boots", augments={'HP+50','Accuracy+15','Evasion+20',}}} -- Defense sets -- sets.defense.Evasion = {} sets.defense.PDT = { head={ name="Herculean Helm", augments={'Accuracy+19','Damage taken-3%','STR+7','Attack+7',}},neck="Twilight Torque", body="Meghanada Cuirie +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring",waist="Dynamic Belt", legs="Meghanada Chausses +1",back="Agema Cape", feet={ name="Herculean Boots", augments={'Accuracy+14 Attack+14','Phys. dmg. taken -4%','STR+7','Accuracy+9',}}} sets.defense.MDT = { neck="Twilight Torque", ring1="Defending Ring",ring2="Purity Ring", back="Mubvumbamiri Mantle"} sets.Kiting = {} -- 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 -- NoDW is Single wield mode. -- Normal melee group sets.engaged = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Charis Necklace", ear1="Eabani Earring",ear2="Suppanomimi", body="Maculele Casaque +1",hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- No magical haste during single wield sets.engaged.NoDW = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque",ear1="Dedition Earring",ear2="Tripudio Earring", body={ name="Herculean Vest", augments={'Accuracy+19 Attack+19','"Triple Atk."+4','DEX+4','Attack+2',}},hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1",legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc = {ammo="Falcon Eye", head="Dampening Tam",neck="Combatant's Torque",ear1="Eabani Earring",ear2="Suppanomimi", body="Maculele Casaque +1",hands="Adhemar Wristbands",ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Meg. Chausses +1", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.PDT = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, neck="Twilight Torque",ear1="Eabani Earring",ear2="Suppanomimi", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.PDT = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, neck="Twilight Torque",ear1="Eabani Earring",ear2="Suppanomimi", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}},waist="Patentia Sash", legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- Haste at 15% sets.engaged.Haste_15 = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque", ear1="Eabani Earring",ear2="Suppanomimi", body="Adhemar Jacket",hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- 15% magical haste during single wield sets.engaged.NoDW.Haste_15 = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque",ear1="Dedition Earring",ear2="Tripudio Earring", body={ name="Herculean Vest", augments={'Accuracy+19 Attack+19','"Triple Atk."+4','DEX+4','Attack+2',}},hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1",legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.Haste_15 = {ammo="Falcon Eye", head="Dampening Tam",neck="Combatant's Torque",ear1="Eabani Earring",ear2="Suppanomimi", body="Maculele Casaque +1",hands="Adhemar Wristbands",ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Meg. Chausses +1", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.PDT.Haste_15 = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, neck="Twilight Torque",ear1="Eabani Earring",ear2="Suppanomimi", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.PDT.Haste_15 = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, neck="Twilight Torque",ear1="Eabani Earring",ear2="Suppanomimi", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}},waist="Patentia Sash", legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} --Custom melee group: Mid Haste 25% sets.engaged.Haste_25 = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque", ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Adhemar Jacket",hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- 25% magical haste during single wield sets.engaged.NoDW.Haste_25 = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque",ear1="Dedition Earring",ear2="Tripudio Earring", body={ name="Herculean Vest", augments={'Accuracy+19 Attack+19','"Triple Atk."+4','DEX+4','Attack+2',}},hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1",legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.Haste_25 = {ammo="Falcon Eye", head="Dampening Tam",neck="Combatant's Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Maculele Casaque +1",hands="Adhemar Wristbands",ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Meg. Chausses +1", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.PDT.Haste_25 = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.PDT.Haste_25 = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}},neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}},waist="Patentia Sash", legs="Taeon Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- Custom melee group: High Haste (2x March and Haste or Haste 2 or Mighty Guard and Haste 1) sets.engaged.Haste_35 = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque", ear1="Tripudio Earring",ear2="Brutal Earring", body="Adhemar Jacket",hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},waist="Patentia Sash", legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} --35% magical haste during single wield sets.engaged.NoDW.Haste_35 = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque",ear1="Dedition Earring",ear2="Tripudio Earring", body={ name="Herculean Vest", augments={'Accuracy+19 Attack+19','"Triple Atk."+4','DEX+4','Attack+2',}},hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1",legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.Haste_35 = {ammo="Falcon Eye", head="Dampening Tam",neck="Combatant's Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Adhemar jacket",hands="Adhemar Wristbands",ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10',}}, waist="Patentia Sash",legs="Meg. Chausses +1", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.PDT.Haste_35 = {main="Terpsichore",ammo="Ginsen", head={ name="Adhemar Bonnet", augments={'STR+10','DEX+10','Attack+15',}}, neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},waist="Patentia Sash", legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.PDT.Haste_35 = {main="Terpsichore",ammo="Falcon Eye", head="Maculele Tiara +1",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Patentia Sash", legs={ name="Herculean Trousers", augments={'Accuracy+24 Attack+24','"Dual Wield"+1','DEX+14','Accuracy+8','Attack+3',}}, feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- Custom melee group: Max Haste (2x March + Haste or Geo-Haste and Haste 1 or Geo-haste and March or Geo-haste and Mighty Guard) sets.engaged.MaxHaste = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque",ear1="Brutal Earring",ear2="Cessance Earring", body={ name="Herculean Vest", augments={'Accuracy+19 Attack+19','"Triple Atk."+4','DEX+4','Attack+2',}}, hands="Adhemar Wristbands",ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1", legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- Capped magical haste during single wield sets.engaged.NoDW.MaxHaste = {ammo="Ginsen", head={ name="Herculean Helm", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+10','Accuracy+8','Attack+5',}}, neck="Combatant's Torque",ear1="Dedition Earring",ear2="Tripudio Earring", body={ name="Herculean Vest", augments={'Accuracy+19 Attack+19','"Triple Atk."+4','DEX+4','Attack+2',}},hands="Adhemar Wristbands", ring1="Epona's Ring",ring2="Hetairoi Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1",legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.MaxHaste = {ammo="Falcon Eye", head="Dampening Tam",neck="Combatant's Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Maculele Casaque +1",hands="Adhemar Wristbands",ring1="Epona's Ring",ring2="Ramuh Ring +1", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Kentarch Belt +1",legs="Meg. Chausses +1", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.PDT.MaxHaste = {main="Terpsichore",ammo="Ginsen", head="Maculele Tiara +1", neck="Twilight Torque",ear1="Tripudio Earring",ear2="Cessance Earring", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},waist="Windbuffet Belt +1", legs="Samnuha Tights", feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} sets.engaged.Acc.PDT.MaxHaste = {main="Terpsichore",ammo="Falcon Eye", head="Maculele Tiara +1",neck="Twilight Torque",ear1="Tripudio Earring",ear2="Cessance Earring", body="Horos Casaque +1",hands={ name="Herculean Gloves", augments={'Accuracy+12 Attack+12','Phys. dmg. taken -3%','STR+14','Accuracy+9','Attack+8',}}, ring1="Defending Ring",ring2="Patricius Ring", back={ name="Senuna's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}, waist="Windbuffet Belt +1", legs={ name="Herculean Trousers", augments={'Accuracy+24 Attack+24','"Dual Wield"+1','DEX+14','Accuracy+8','Attack+3',}}, feet={ name="Herculean Boots", augments={'Accuracy+16 Attack+16','"Triple Atk."+4','DEX+7','Accuracy+15','Attack+4',}}} -- Buff sets: Gear that needs to be worn to actively enhance a current player buff. sets.buff['Saber Dance'] = {} sets.buff['Climactic Flourish'] = {head="Maculele Tiara +1"} sets.buff.Doom = {ring1="Blenmot's Ring",ring2="Purity Ring"} sets.buff.sleep = {head="Frenzy Sallet"} --Organizer organizer_items = {head="Shobuhouou Kabuto", ring="Warp Ring",sub="Airy Buckler"} 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) cancel_conflicting_buffs(spell, action, spellMap, eventArgs) custom_aftermath_timers_precast(spell, action, spellMap, eventArgs) end function job_post_precast(spell, action, spellMap, eventArgs) if spell.type == "WeaponSkill" then if state.Buff['Climactic Flourish'] then equip(sets.buff['Climactic Flourish']) end if state.SkillchainPending.value == true then equip(sets.precast.Skillchain) end end end -- Return true if we handled the aftercast work. Otherwise it will fall back -- to the general aftercast() code in Mote-Include. function job_aftercast(spell, action, spellMap, eventArgs) custom_aftermath_timers_aftercast(spell, action, spellMap, eventArgs) -- if not spell.interrupted then -- if spell.english == "Wild Flourish" then -- state.SkillchainPending:set() -- send_command('wait 5;gs c unset SkillchainPending') -- elseif spell.type:lower() == "weaponskill" then -- state.SkillchainPending:toggle() -- send_command('wait 6;gs c unset SkillchainPending') -- end -- 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, eventArgs) --If we gain or lose any haste buffs, adjust which gear set we target. if S{'haste','march','embrava','haste samba','indi-haste','geo-haste','mighty guard'}:contains(buff:lower()) then determine_haste_group() handle_equipping_gear(player.status) --elseif (buff == "terror" or buff == "petrification" or buff == "stun") and gain then -- equip(sets.defense.PDT) elseif (buff == "sleep" and gain) and player.hp > 100 and player.status == "Engaged" then equip(sets.buff.sleep) if buffactive.stoneskin then send_command('cancel Stoneskin') end elseif state.Buff.Doom then handle_equipping_gear(player.status) add_to_chat(122, 'Use Holy Waters ASAP') elseif buff == 'Saber Dance' or buff == 'Climactic Flourish' then handle_equipping_gear(player.status) end end function job_status_change(new_status, old_status) if new_status == 'Engaged' then determine_haste_group() end end ------------------------------------------------------------------------------------------------------------------- -- User code that supplements standard library decisions. ------------------------------------------------------------------------------------------------------------------- -- Called by the default 'update' self-command. function job_update(cmdParams, eventArgs) determine_haste_group() end function get_custom_wsmode(spell, spellMap, defaut_wsmode) local wsmode if state.Buff['Climactic Flourish'] then wsmode = 'CF' end return wsmode end function customize_melee_set(meleeSet) if state.DefenseMode.value ~= 'None' then if buffactive['Saber dance'] then meleeSet = set_combine(meleeSet, sets.buff['Saber Dance']) end if state.Buff['Climactic Flourish'] then meleeSet = set_combine(meleeSet, sets.buff['Climactic Flourish']) end end -- if player.equipment.sub == 'shield' then -- meleeSet = set_combine(meleeSet, sets.NoDW) -- end if state.TreasureMode.value == 'Fulltime' then meleeSet = set_combine(meleeSet, sets.TreasureHunter) 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.Kiting.value then msg = msg .. ', Kiting' end msg = msg .. ', ['..state.MainStep.current if state.UseAltStep.value == true then msg = msg .. '/'..state.AltStep.current end msg = msg .. ']' if state.SelectStepTarget.value == true then steps = steps..' (Targetted)' end add_to_chat(122, msg) eventArgs.handled = true end ------------------------------------------------------------------------------------------------------------------- -- User self-commands. ------------------------------------------------------------------------------------------------------------------- -- Called for custom player commands. 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 end ------------------------------------------------------------------------------------------------------------------- -- Utility functions specific to this job. ------------------------------------------------------------------------------------------------------------------- function determine_haste_group() -- We have three groups of DW in gear: Charis body, Charis neck + DW earrings, and Patentia Sash. -- For high haste, we want to be able to drop one of the 10% groups (body, preferably). -- High haste buffs: -- 2x Marches + Haste -- 2x Marches + Haste Samba -- 1x March + Haste + Haste Samba -- Embrava + any other haste buff -- For max haste, we probably need to consider dropping all DW gear. -- Max haste buffs: -- Embrava + Haste/March + Haste Samba -- 2x March + Haste + Haste Samba -- I put in GEO haste with 580 as buff and buff ID 33 is haste 1/2. -- Mighty Guard was added from the extra +15% haste --Added Haste 1/2 + Mighty Guard + haste samba combo to try to circumvent no toggle for hastes --Need haste samba to cap with twashtar classes.CustomMeleeGroups:clear() -- if buffactive.embrava and (buffactive.haste or buffactive.march or buffactive['Mighty Guard']) and buffactive['haste samba'] then -- add_to_chat(8, '------------- Max Haste -------------') -- classes.CustomMeleeGroups:append('MaxHaste') -- elseif buffactive.haste == 2 then -- add_to_chat(8, '------------- Max Haste -------------') -- classes.CustomMeleeGroups:append('MaxHaste') -- elseif buffactive.march == 2 and (buffactive.haste or buffactive['Mighty Guard']) then -- add_to_chat(8, '------------- Max Haste -------------') -- classes.CustomMeleeGroups:append('MaxHaste') -- elseif buffactive[580] and (buffactive[33] or buffactive.march or buffactive['Mighty Guard'] or buffactive['haste samba']) then -- add_to_chat(8, '------------- Max Haste --------------') -- classes.CustomMeleeGroups:append('MaxHaste') -- elseif buffactive[580] and not buffactive[33] then -- add_to_chat(8, '-------------High Haste-------------') -- classes.CustomMeleeGroups:append('HighHaste') -- elseif buffactive.march == 1 and (buffactive.haste or buffactive['Mighty Guard']) and buffactive['haste samba'] then -- add_to_chat(8, '-------------High Haste-------------') -- classes.CustomMeleeGroups:append('HighHaste') -- elseif buffactive.march == 2 and (buffactive.haste or buffactive['Mighty Guard'] or buffactive['haste samba']) then -- add_to_chat(8, '-------------High Haste-------------') -- classes.CustomMeleeGroups:append('HighHaste') -- elseif buffactive.haste == 1 and (buffactive['haste samba'] or buffactive['Mighty Guard']) then -- add_to_chat(8, '-------------High Haste-------------') -- classes.CustomMeleeGroups:append('HighHaste') -- end --Alternative haste mechanics with toggle -- Haste: 15% -- Haste Samba: 10% -- Victory March +0/+3/+4/+5 9.4/14%/15.6%/17.1% +0 -- Advancing March +0/+3/+4/+5 6.3/10.9%/12.5%/14% +0 -- Embrava 30% with 500 enhancing skill -- Mighty Guard: 15% -- buffactive[580] = geo haste -- buffactive[33] = regular haste -- buffactive[604] = mighty guard -- state.HasteMode = toggle for when you know Haste II is being cast on you -- Hi = Haste II is being cast. This is clunky to use when both haste II and haste I are being cast --print(state.HasteMode.value) if state.HasteMode.value == 'Haste2' then if buffactive.embrava and (buffactive.haste or buffactive.march or buffactive['Mighty Guard']) and buffactive['haste samba'] then add_to_chat(8, '------------- Max Haste -------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.haste == 2 then add_to_chat(8, '------------- Max Haste -------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.march == 2 and (buffactive.haste or buffactive['Mighty Guard']) then add_to_chat(8, '------------- Max Haste -------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive[580] and (buffactive[33] or buffactive.march or buffactive['Mighty Guard'] or buffactive['haste samba']) then add_to_chat(8, '------------- Max Haste --------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.march == 2 and (buffactive.haste or buffactive['Mighty Guard'] or buffactive['haste samba']) then add_to_chat(8, '-------------Haste 35%-------------') classes.CustomMeleeGroups:append('Haste_35') elseif buffactive.march == 1 and (buffactive.haste or buffactive['Mighty Guard'] or buffactive['haste samba']) then add_to_chat(8, '-------------Haste 35%-------------') classes.CustomMeleeGroups:append('Haste_35') elseif buffactive[580] and not buffactive[33] then add_to_chat(8, '-------------Haste 30%-------------') classes.CustomMeleeGroups:append('Haste_30') elseif buffactive.haste == 1 and (buffactive['haste samba']) then add_to_chat(8, '-------------Haste 30%-------------') classes.CustomMeleeGroups:append('Haste_30') elseif buffactive.haste == 1 then add_to_chat(8, '-------------Haste 30%-------------') classes.CustomMeleeGroups:append('Haste_30') elseif buffactive.march == 2 then classes.CustomMeleeGroups:append('Haste_30') elseif buffactive['haste samba'] and (buffactive['Might Guard'] or buffactive.march == 1) then add_to_chat(8, '-------------Haste 25%-------------') classes.CustomMeleeGroups:append('Haste_25') elseif buffactive.march == 1 or buffactive['Might Guard'] then add_to_chat(8, '-------------Haste 15%-------------') classes.CustomMeleeGroups:append('Haste_15') end else if buffactive.embrava and (buffactive.haste or buffactive.march or buffactive['Mighty Guard']) and buffactive['haste samba'] then add_to_chat(8, '------------- Max Haste -------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.haste == 2 then add_to_chat(8, '------------- Max Haste -------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.march == 2 and (buffactive.haste or buffactive['Mighty Guard']) then add_to_chat(8, '------------- Max Haste -------------') classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive[580] and (buffactive[33] or buffactive.march or buffactive['Mighty Guard'] or buffactive['haste samba']) then add_to_chat(8, '------------- Max Haste --------------') classes.CustomMeleeGroups:append('MaxHaste') elseif ( (buffactive['Might Guard'] or buffactive[33]) and buffactive.march == 1 and buffactive['haste samba']) or -- MG or haste + samba with 1 march ( buffactive.march == 2 and buffactive['haste samba'] ) or ( buffactive[580] and buffactive['haste samba'] ) then add_to_chat(8, '-------------Haste 35%-------------') classes.CustomMeleeGroups:append('Haste_35') elseif ( buffactive.march == 2 ) or -- two marches from ghorn ( (buffactive.haste or buffactive['Might Guard'] or buffactive['haste samba']) and buffactive.march == 1 ) or -- MG or haste + 1 march ( buffactive[580] ) or -- geo haste ( buffactive.haste and buffactive['Might Guard'] ) then -- haste with MG add_to_chat(8, '-------------Haste 30%-------------') classes.CustomMeleeGroups:append('Haste_30') elseif ( (buffactive['haste samba']) and (buffactive.haste or buffactive.march == 1 or buffactive['Might Guard']) ) then classes.CustomMeleeGroups:append('Haste_25') elseif buffactive.haste or buffactive['Might Guard'] or buffactive.march == 1 then add_to_chat(8, '-------------Haste 15%-------------') classes.CustomMeleeGroups:append('Haste_15') end end end -- Automatically use Presto. The working code. function job_pretarget(spell, action, spellMap, eventArgs) if spell.type == 'Step' then local allRecasts = windower.ffxi.get_ability_recasts() local prestoCooldown = allRecasts[236] local under5FMs = not buffactive['Finishing Move 6'] and not buffactive['Finishing Move 7'] if player.main_job_level >= 77 and prestoCooldown < 1 and under5FMs then cast_delay(1.1) send_command('input /ja "Presto" <me>') end end end --Custom hook -- Select default macro book on initial load or subjob change. function select_default_macro_book() -- Default macro set/book if player.sub_job == 'WAR' then set_macro_page(1, 15) elseif player.sub_job == 'NIN' then set_macro_page(1, 15) elseif player.sub_job == 'SAM' then set_macro_page(1, 15) else set_macro_page(1, 15) end end
Optional Paste Settings
Category:
None
Cryptocurrency
Cybersecurity
Fixit
Food
Gaming
Haiku
Help
History
Housing
Jokes
Legal
Money
Movies
Music
Pets
Photo
Science
Software
Source Code
Spirit
Sports
Travel
TV
Writing
Tags:
Syntax Highlighting:
None
Bash
C
C#
C++
CSS
HTML
JSON
Java
JavaScript
Lua
Markdown (PRO members only)
Objective C
PHP
Perl
Python
Ruby
Swift
4CS
6502 ACME Cross Assembler
6502 Kick Assembler
6502 TASM/64TASS
ABAP
AIMMS
ALGOL 68
APT Sources
ARM
ASM (NASM)
ASP
ActionScript
ActionScript 3
Ada
Apache Log
AppleScript
Arduino
Asymptote
AutoIt
Autohotkey
Avisynth
Awk
BASCOM AVR
BNF
BOO
Bash
Basic4GL
Batch
BibTeX
Blitz Basic
Blitz3D
BlitzMax
BrainFuck
C
C (WinAPI)
C Intermediate Language
C for Macs
C#
C++
C++ (WinAPI)
C++ (with Qt extensions)
C: Loadrunner
CAD DCL
CAD Lisp
CFDG
CMake
COBOL
CSS
Ceylon
ChaiScript
Chapel
Clojure
Clone C
Clone C++
CoffeeScript
ColdFusion
Cuesheet
D
DCL
DCPU-16
DCS
DIV
DOT
Dart
Delphi
Delphi Prism (Oxygene)
Diff
E
ECMAScript
EPC
Easytrieve
Eiffel
Email
Erlang
Euphoria
F#
FO Language
Falcon
Filemaker
Formula One
Fortran
FreeBasic
FreeSWITCH
GAMBAS
GDB
GDScript
Game Maker
Genero
Genie
GetText
Go
Godot GLSL
Groovy
GwBasic
HQ9 Plus
HTML
HTML 5
Haskell
Haxe
HicEst
IDL
INI file
INTERCAL
IO
ISPF Panel Definition
Icon
Inno Script
J
JCL
JSON
Java
Java 5
JavaScript
Julia
KSP (Kontakt Script)
KiXtart
Kotlin
LDIF
LLVM
LOL Code
LScript
Latex
Liberty BASIC
Linden Scripting
Lisp
Loco Basic
Logtalk
Lotus Formulas
Lotus Script
Lua
M68000 Assembler
MIX Assembler
MK-61/52
MPASM
MXML
MagikSF
Make
MapBasic
Markdown (PRO members only)
MatLab
Mercury
MetaPost
Modula 2
Modula 3
Motorola 68000 HiSoft Dev
MySQL
Nagios
NetRexx
Nginx
Nim
NullSoft Installer
OCaml
OCaml Brief
Oberon 2
Objeck Programming Langua
Objective C
Octave
Open Object Rexx
OpenBSD PACKET FILTER
OpenGL Shading
Openoffice BASIC
Oracle 11
Oracle 8
Oz
PARI/GP
PCRE
PHP
PHP Brief
PL/I
PL/SQL
POV-Ray
ParaSail
Pascal
Pawn
Per
Perl
Perl 6
Phix
Pic 16
Pike
Pixel Bender
PostScript
PostgreSQL
PowerBuilder
PowerShell
ProFTPd
Progress
Prolog
Properties
ProvideX
Puppet
PureBasic
PyCon
Python
Python for S60
QBasic
QML
R
RBScript
REBOL
REG
RPM Spec
Racket
Rails
Rexx
Robots
Roff Manpage
Ruby
Ruby Gnuplot
Rust
SAS
SCL
SPARK
SPARQL
SQF
SQL
SSH Config
Scala
Scheme
Scilab
SdlBasic
Smalltalk
Smarty
StandardML
StoneScript
SuperCollider
Swift
SystemVerilog
T-SQL
TCL
TeXgraph
Tera Term
TypeScript
TypoScript
UPC
Unicon
UnrealScript
Urbi
VB.NET
VBScript
VHDL
VIM
Vala
Vedit
VeriLog
Visual Pro Log
VisualBasic
VisualFoxPro
WHOIS
WhiteSpace
Winbatch
XBasic
XML
XPP
Xojo
Xorg Config
YAML
YARA
Z80 Assembler
ZXBasic
autoconf
jQuery
mIRC
newLISP
q/kdb+
thinBasic
Paste Expiration:
Never
Burn after read
10 Minutes
1 Hour
1 Day
1 Week
2 Weeks
1 Month
6 Months
1 Year
Paste Exposure:
Public
Unlisted
Private
Folder:
(members only)
Password
NEW
Enabled
Disabled
Burn after read
NEW
Paste Name / Title:
Create New Paste
Hello
Guest
Sign Up
or
Login
Sign in with Facebook
Sign in with Twitter
Sign in with Google
You are currently not logged in, this means you can not edit or delete anything you paste.
Sign Up
or
Login
Public Pastes
웹 보안 - HTML & JavaScript 기초
5 hours ago | 6.45 KB
Trevor-powershell
6 hours ago | 0.15 KB
Halo Evolutions 21
13 hours ago | 1.25 KB
EU Defense Stocks
1 day ago | 0.06 KB
Halo Evolutions 19
1 day ago | 0.42 KB
Halo Evolutions 17
1 day ago | 0.43 KB
Halo Evolutions 16
1 day ago | 0.20 KB
gen5
1 day ago | 0.75 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the
Cookies Policy
.
OK, I Understand
Not a member of Pastebin yet?
Sign Up
, it unlocks many cool features!