Post deleted by User.
Gearswap Support Thread |
||
|
Gearswap Support Thread
something like this should work
if buffactive.gelus == 3 then Asura.Summerl
Offline
Hi all:
Trying to get this enmity button rule on my RUN gearswap to work so I can consolidate my enmity spells on BLU SJ to 2 keys. For some reason that I can't understand, the rule doesn't seem to work. The lua loads fine otherwise and functions without issue, but the intended idea of being able to hit my Jettatura macro and trigger Blitzstrahl (or Blank Gaze) when it's on cool down doesn't seem to happen. Any ideas? What I believe is all the relevant code for BLU SJ in my RUN lua below. Code function job_setup() -- /BLU Spell Maps blue_magic_maps = {} blue_magic_maps.Enmity = S{'Blank Gaze', 'Geist Wall', 'Jettatura', 'Soporific', 'Poison Breath', 'Blitzstrahl', 'Sheep Song', 'Chaotic Eye'} blue_magic_maps.Cure = S{'Wild Carrot'} blue_magic_maps.Buffs = S{'Cocoon', 'Refueling'} rayke_duration = 47 gambit_duration = 96 end function init_gear_sets() sets.midcast['Blue Magic'] = {} sets.midcast['Blue Magic'].Enmity = sets.Enmity sets.midcast['Blue Magic'].Cure = sets.midcast.Cure sets.midcast['Blue Magic'].Buff = sets.midcast['Enhancing Magic'] end function job_pretarget(spell, action, spellMap, eventArgs) if spell.english == "Jettatura" and windower.ffxi.get_spell_recasts()[spell.recast_id] > 0 then cancel_spell() send_command('Blitzstrahl') end if spell.english == "Blitzstrahl" and windower.ffxi.get_ability_recasts()[spell.recast_id] > 0 then cancel_spell() send_command('Chaotic Eye') end if spell.english == "Chaotic Eye" and windower.ffxi.get_ability_recasts()[spell.recast_id] > 0 then cancel_spell() send_command('Poison Breath') end if spell.english == "Poison Breath" and windower.ffxi.get_ability_recasts()[spell.recast_id] > 0 then cancel_spell() send_command('Blank Gaze') end if spell.english == "Sheep Song" and windower.ffxi.get_spell_recasts()[spell.recast_id] > 0 then cancel_spell() send_command('Geist Wall') end if spell.english == "Geist Wall" and windower.ffxi.get_spell_recasts()[spell.recast_id] > 0 then cancel_spell() send_command('Soporific') end if spell.type == 'JobAbility' and windower.ffxi.get_ability_recasts()[spell.recast_id] > 0 then cancel_spell() return end if spell.action_type == 'Magic' and windower.ffxi.get_spell_recasts()[spell.recast_id] > 0 then cancel_spell() return end end function job_get_spell_map(spell, default_spell_map) if spell.skill == 'Blue Magic' then for category,spell_list in pairs(blue_magic_maps) do if spell_list:contains(spell.english) then return category end end end end Ragnarok.Martel
Offline
You're using Chaotic eye, Poison breath, and blitztrahl as enmity spells? .... Why? Those are all terrible enmity spells.
Chaotic eye is 320 VE, 1 CE. Yes, it's cheap and has a low recast. But so does blank gaze. And Blank gaze is 320VE/320CE. With any reasonable amount of haste you should be able to push Blank Gaze recast down below the 3 second global recast cap and just spam blank gaze alone, tossing in the occasional Jettatura. (and of course the usual flash/foil) Poison breath might have been appealing as an enmity spell at 75. Assuming it didn't get resisted to hell. But damage enmity has been nerfed no less than 3 times since then(was maybe a fourth..?) so to get significant enmity out of dealing damage, you need to be dealing A LOT of dmg. Poison breath is not going to do that. Blitzstrahl is in the same boat. Except I don't think it has ever been a good enmity spell. Asura.Summerl
Offline
That's good to know, I can swap those out for something else (stinking gas I'm guessing)
Still doesn't really solve the issue I'm having with the rule itself though. Ragnarok.Martel
Offline
Well, I wasn't trying to fix your GS issue with that post. If you hadn't been using some really weird spells for enmity I wouldn't have posted at all.
While, I see some possible inefficiencies in that rule, I haven't been able to pinpoint where the actual failure is. And I'm not subbed atm, so I can't test anything right now. So I only posted about the spell oddity. The only thing I could think of atm would be that if you don't use shortcuts then sending a command that's just a spell name would probably just throw an error, or do nothing. And yes, stinking gas would be a decent enmity spell. 320/320 CE/VE. Cast time is slightly slower than most, but the cost and recast are reasonable. Asura.Summerl
Offline
Quote: The only thing I could think of atm would be that if you don't use shortcuts then sending a command that's just a spell name would probably just throw an error, or do nothing. This is likely the issue actually. I don't normally use that add on, and the code above is a copy paste of another lua with some edits made on my part. I'll either load shortcuts or rewrite the function when I have a chance. Thanks for your help. Also, while attempting to make full use of your allotted blue magic points, what would you recommend be set for tank SJs? I'm assuming I should sub out Blitstrahl, Chaotic Eye, and Poison breath (7 points opened) and sub in Stinking Gas and Diamondhide (5 points used) Any recommendations for those last two points. Ragnarok.Martel
Offline
Well, for starters Diamondhide is a lvl 67 spell. So if this is for /blu, that's not gonna be usable.
Did you mean metallic body? If so skip that. It's totally useless. With subbed and merits BLU skill, you'd get a 74 dmg SS. And SS+ gear doesn't work on it. It's part of the max MP boost trait along with Mysterious light. But ML is equally useless, and costs 4 set points. All for 10 MP. That said, I can't actually recall my exact /BLU spell set. It doesn't change much. Basically my process is, enmity spells, utility spells, then stats(basically just HP+ stuff) I think we've covered enmity spells already, so. Examples of utility spells. Cocoon, of course, Wild carrot. At least you have a cure now, even if it's a crappy one. Healing breeze. Pretty much only good for waking the group after an AoE sleep. Refueling. Almost useless now. 10% haste buff. Can be nice if your mages are lazy gits, or you somehow find yourself solo without trusts. Trait wise... there's not much to be had. Killer traits(Beast/Lizard/Undead) Defense bonus(weee +10 def) Resist sleep(this is actually decent. 10% resist rate, for 4 total set points. And you'd probably have wild carrot set anyway.) Not that being slept is a huge deal, but it's a thing. Magic attack bonus(I dunno, lunge harder?) Any points that are left I just set any HP+ spells that will fit. Looking for some help with my PUP lua.
Code function check_maneuver() if state.AutoBuffMode.value and pet.isvalid and pet.status == 'Engaged' and windower.ffxi.get_ability_recasts()[210] == 0 then if not buffactive[defaultManeuvers[state.PetMode.value][1]] then windower.chat.input('/pet '..defaultManeuvers[state.PetMode.value][1]..' <me>') tickdelay = 30 return true elseif not buffactive[defaultManeuvers[state.PetMode.value][2]] then windower.chat.input('/pet '..defaultManeuvers[state.PetMode.value][2]..' <me>') tickdelay = 30 return true elseif not buffactive[defaultManeuvers[state.PetMode.value][3]] then windower.chat.input('/pet '..defaultManeuvers[state.PetMode.value][3]..' <me>') tickdelay = 30 return true end end Im trying to have my maneuvers sets to Fire/Fire/Light, but as I can understand in the above code it wont do a double Fire because it checks it as active already and moves on. Is they any way anyone can write or knows of how to change this so I can have two of the same maneuvers up at the same time? This is Selinedrile lua file setup Im working from. Offline
Posts: 319
Anyone able to help with a command that i can make a key bind, to change my offense mode directly to the specific one rather than cycle through them.
aisukage said: » Anyone able to help with a command that i can make a key bind, to change my offense mode directly to the specific one rather than cycle through them. If using Mote's libraries: Directly within the selfCommands.lua are a few controls. -- Function to set various states to specific values directly. -- User command format: gs c set [field] [value] -- If a boolean [field] is used, but not given a [value], it will be set to true. Offline
Posts: 319
Quetzalcoatl.Langly said: » aisukage said: » Anyone able to help with a command that i can make a key bind, to change my offense mode directly to the specific one rather than cycle through them. If using Mote's libraries: Directly within the selfCommands.lua are a few controls. -- Function to set various states to specific values directly. -- User command format: gs c set [field] [value] -- If a boolean [field] is used, but not given a [value], it will be set to true. Yeah I'm using Mote's i'm not too bad with LUA's but i don't know all these commands so i tried something along the lines of Code send_command('bind !n gs c state.OffenseMode = "DT"') So would this look more accurate then? Code send_command('bind !n gs c set state.OffenseMode "DT"') EDIT: Nvm i got it working removed the "state." from that line and it worked Code send_command('bind !n gs c set OffenseMode "DT"') Many Thanks Using motes. I basically copy/pasted the default online THF version and substituted some of my equips in the appropriate places.
A couple questions though. Why are some WS listed as 'WS' and some as "WS"? Second, I'm trying to check my gearsets from town using //gs equip and possibly related to the ' vs. the " I can only successfully do //gs equip sets.precast.WS from town. However, what I want to see is the Rudra's version of equip sets in specific. What is the syntax to type it in and what am I doing wrong? I've tried //gs equip sets.precast.["Rudra's Storm"]WS also used ' and even tried [Rudra's Storm]. I do not get any errors, but nothing happens! My Yetshila does not equip! In specific I'm trying to make sure my swaps are happening not only for WS-specific but for SA stacked. Code -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = {ammo="Seeth. Bomblet +1", head="Adhemar Bonnet",neck="Fotia Gorget",ear1="Sherida Earring",ear2="Moonshade Earring", body="Meg. Cuirie +1",hands="Meg. Gloves +2",ring1="Apate Ring",ring2="Epona's Ring", back="Toutatis's Cape",waist="Fotia Belt",legs="Samnuha Tights",feet="Meg. Jam. +1"} sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Honed Tathlum", back="Letalis Mantle"}) -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, {head="Uk'uxkaj Cap",ring1="Stormsoul Ring"}) sets.precast.WS['Exenterator'].Acc = set_combine(sets.precast.WS['Exenterator'], {ammo="Honed Tathlum", back="Letalis Mantle"}) sets.precast.WS['Exenterator'].Mod = set_combine(sets.precast.WS['Exenterator'], {head="Felistris Mask",waist="Fotia Belt"}) sets.precast.WS['Exenterator'].SA = set_combine(sets.precast.WS['Exenterator'].Mod, {ammo="Qirmiz Tathlum"}) sets.precast.WS['Exenterator'].TA = set_combine(sets.precast.WS['Exenterator'].Mod, {ammo="Qirmiz Tathlum"}) sets.precast.WS['Exenterator'].SATA = set_combine(sets.precast.WS['Exenterator'].Mod, {ammo="Qirmiz Tathlum"}) sets.precast.WS["Rudra's Storm"] = set_combine(sets.precast.WS, {ammo="Yetshila"}) sets.precast.WS["Rudra's Storm"].Acc = set_combine(sets.precast.WS["Rudra's Storm"], {}) sets.precast.WS["Rudra's Storm"].Mod = set_combine(sets.precast.WS["Rudra's Storm"], {}) sets.precast.WS["Rudra's Storm"].SA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {ammo="Yetshila"}) sets.precast.WS["Rudra's Storm"].TA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {ammo="Qirmiz Tathlum", body="Pillager's Vest +1",legs="Pillager's Culottes +1"}) sets.precast.WS["Rudra's Storm"].SATA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {ammo="Qirmiz Tathlum", body="Pillager's Vest +1",legs="Pillager's Culottes +1"}) " are used on names with a ' already in them. Otherwise it'd have to be something like ['Rudra\'s Storm'].
//gs equip sets.precast.WS.Rudra's Storm should work ' vs " Doesn't mean much but if you did 'Rudra's Storm' it would fail because it needs the middle ' escaped so that it knows to read it as just a regular character and not part of the language.
'Rudra\'s Storm' you escape characters in lua with \ before it try //gs equip sets.precast.WS.Rudra's Storm.TA While that won't work when writing the lua it should work when trying to manually equip it also can do //gs showswaps That's working perfect already, thanks Dougg. Syntax is very new to me, not a programmer. About the " vs ' I was unsure because in default THF for example the Shark Bite had a "" also
https://github.com/Kinematics/GearSwap-Jobs/blob/master/THF.lua Can anyone figure out why after I WS it won't swap back to my melee set? I have to hit the Gear Update Toggle every time.
Code function get_sets() StartLockStyle = '97' AccIndex = 1 AccArray = {"LowACC","MidACC","HighACC",} IdleIndex = 3 IdleArray = {'Movement','Regen','Town'} -- Default Idle Set Is Movement -- PreshotIndex = 1 PreshotArray = {'Any','RDM'} Armor = 'None' autoRAmode = 0 target_distance = 5 -- Set Default Distance Here -- send_command('input /macro book 3;wait .1;input /macro set 1') -- Change Default Macro Book Here -- send_command('bind F9 gs c flur') --flurry toggle-- send_command('bind F10 gs c pdt') --PDT toggle-- send_command('bind F11 gs c acc') --accuracy toggle-- send_command('bind F12 gs c auto') --Gearset update toggle-- send_command('bind !F12 gs c C6') --Idle Toggle-- send_command('bind != gs c mdt') --MDT toggle-- ranged_ws = S{ "Hot Shot","Split Shot","Sniper Shot","Slug Shot","Blast Shot","Heavy Shot","Detonator", "Numbing Shot","Last Stand","Coronach","Trueflight","Wildfire","Flaming Arrow", "Piercing Arrow","Dulling Arrow","Sidewinder","Blast Arrow","Arching Arrow", "Empyreal Arrow","Refulgent Arrow","Apex Arrow","Jishnu's Radiance","Namas Arrow"} -- Idle/Town Sets -- sets.Idle = {} sets.Idle.Regen = { head="Meghanada Visor +2", body="Meg. Cuirie +2", hands="Meg. Gloves +2", legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}}, feet="Meg. Jam. +2", neck="Bathy Choker +1", waist="Flume Belt +1", left_ear="Telos Earring", right_ear="Etiolation Earring", left_ring="Meghanada Ring", right_ring="Chirich Ring", back="Moonbeam Cape",} sets.Idle.Movement = set_combine(sets.Idle.Regen,{}) sets.Idle.Town = { head={ name="Arcadian Beret +3", augments={'Enhances "Recycle" effect',}}, body="Mummu Jacket +2", hands={ name="Adhemar Wrist. +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} sets.Fomalhaut = { main="Perun +1", sub="Nusku Shield", range="Fomalhaut", ammo="Chrono Bullet"} sets.Annihilator = { main="Perun +1", sub="Nusku Shield", range="Annihilator", ammo="Eradicating Bullet"} sets.Gastraphetes = { main={ name="Malevolence", augments={'INT+7','"Mag.Atk.Bns."+5','"Fast Cast"+3',}}, sub={ name="Malevolence", augments={'INT+2','Mag. Acc.+1','"Mag.Atk.Bns."+3','"Fast Cast"+1',}}, range="Gastraphetes", ammo="Crossbow Bolt"} -- Preshot -- sets.Preshot = { ammo="Eradicating Bullet", head={ name="Taeon Chapeau", augments={'"Snapshot"+5','"Snapshot"+5',}}, -- 10/0 body="Oshosi Vest", -- 12/0 hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}}, -- 8/11 legs={ name="Adhemar Kecks", augments={'AGI+10','"Rapid Shot"+10','Enmity-5',}}, -- 9/10 feet="Meg. Jam. +2", -- 10/0 waist="Yemaya Belt", -- 0/5 back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','"Snapshot"+10',}},} -- 10/0 -- 69 SS/ 61 RS -- Fomalhaut Preshot -- sets.Preshot.Fomalhaut = { ammo="Eradicating Bullet", head={ name="Taeon Chapeau", augments={'"Snapshot"+5','"Snapshot"+5',}}, -- 10/0 body="Oshosi Vest", -- 12/0 hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}}, -- 8/11 legs={ name="Adhemar Kecks", augments={'AGI+10','"Rapid Shot"+10','Enmity-5',}}, -- 9/10 feet="Meg. Jam. +2", -- 10/0 waist="Yemaya Belt", -- 0/5 back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','"Snapshot"+10',}},} -- 10/0 -- 69 SS/ 61 RS sets.Preshot.Fomalhaut.Any = set_combine(sets.Preshot.Fomalhaut,{ body="Amini Caban +1"}) -- 0/0 -- 57 SS/ 61 RS sets.Preshot.Fomalhaut.RDM = set_combine(sets.Preshot.Fomalhaut.Any,{ head="Orion Beret +3", -- 0/18 waist="Impulse Belt", -- 3/0 feet="Pursuer's Gaiters"}) -- 0/10 -- 40 SS/ 89 RS -- Annihilator Preshot -- sets.Preshot.Annihilator = { ammo="Eradicating Bullet", head={ name="Taeon Chapeau", augments={'"Snapshot"+5','"Snapshot"+5',}}, -- 10/0 body="Oshosi Vest", -- 12/0 hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}}, -- 8/11 legs={ name="Adhemar Kecks", augments={'AGI+10','"Rapid Shot"+10','Enmity-5',}}, -- 9/10 feet="Meg. Jam. +2", -- 10/0 waist="Yemaya Belt", -- 0/5 back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','"Snapshot"+10',}},} -- 10/0 -- 69 SS/ 61 RS sets.Preshot.Annihilator.Any = set_combine(sets.Preshot.Annihilator,{ body="Amini Caban +1"}) -- 0/0 -- 57 SS/ 61 RS sets.Preshot.Annihilator.RDM = set_combine(sets.Preshot.Annihilator.Any,{ head="Orion Beret +3", -- 0/18 waist="Impulse Belt", -- 3/0 feet="Pursuer's Gaiters"}) -- 0/10 -- 40 SS/ 89 RS -- Gastraphetes Preshot -- sets.Preshot.Gastraphetes = { head="Orion Beret +3", -- 0/18 body="Oshosi Vest", -- 12/0 hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}}, -- 8/11 legs={ name="Adhemar Kecks", augments={'AGI+10','"Rapid Shot"+10','Enmity-5',}}, -- 9/10 feet="Meg. Jam. +2", -- 10/0 waist="Yemaya Belt", -- 0/5 back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','"Snapshot"+10',}},} -- 10/0 -- 69 SS/ 79 RS sets.Preshot.Gastraphetes.Any = set_combine(sets.Preshot.Gastraphetes,{ body="Amini Caban +1"}) -- 0/0 -- 57 SS/ 79 RS sets.Preshot.Gastraphetes.RDM = set_combine(sets.Preshot.Gastraphetes.Any,{ waist="Impulse Belt", -- 3/0 feet="Pursuer's Gaiters"}) -- 0/10 -- 40 SS/ 84 RS -- Midshot Base Set -- sets.Midshot = { head={ name="Arcadian Beret +3", augments={'Enhances "Recycle" effect',}}, body="Orion Jerkin +3", hands={ name="Adhemar Wrist. +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet={ name="Adhe. Gamashes +1", augments={'HP+65','"Store TP"+7','"Snapshot"+10',}}, neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} sets.Midshot.MidACC = set_combine(sets.Midshot,{ right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1"}) sets.Midshot.HighACC = set_combine(sets.Midshot.MidACC,{ feet="Orion Socks +3"}) -- Fomalhaut Midshot -- sets.Midshot.Fomalhaut = { head={ name="Arcadian Beret +3", augments={'Enhances "Recycle" effect',}}, body="Orion Jerkin +3", hands={ name="Adhemar Wrist. +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet={ name="Adhe. Gamashes +1", augments={'HP+65','"Store TP"+7','"Snapshot"+10',}}, neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} sets.Midshot.Fomalhaut.MidACC = set_combine(sets.Midshot.Fomalhaut,{ right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1"}) sets.Midshot.Fomalhaut.HighACC = set_combine(sets.Midshot.Fomalhaut.MidACC,{ feet="Orion Socks +3"}) -- Annihilator Sets -- sets.Midshot.Annihilator = { head={ name="Arcadian Beret +3", augments={'Enhances "Recycle" effect',}}, body="Mummu Jacket +2", hands={ name="Adhemar Wrist. +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet={ name="Adhe. Gamashes +1", augments={'HP+65','"Store TP"+7','"Snapshot"+10',}}, neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} -- Perun+1 / Nusku Shield -- -- 1420 RACC / 1562 RATTK / 75 STP / 24% crit -- /WAR -- sets.Midshot.Annihilator.MidACC = set_combine(sets.Midshot.Annihilator,{ right_ear="Enervating Earring", right_ring="Hajduk Ring +1"}) -- Perun+1 / Nusku Shield -- -- 1447 RACC / 1553 RATTK / 71 STP / 24% crit -- /WAR -- sets.Midshot.Annihilator.HighACC = set_combine(sets.Midshot.Annihilator.MidACC,{ body="Orion Jerkin +3", feet="Oshosi Leggings", left_ring="Regal Ring",}) -- Perun+1 / Nusku Shield -- -- 1512 RACC / 1603 RATTK / 61 STP / 19% crit -- /WAR -- -- Gastraphetes Sets -- sets.Midshot.Gastraphetes = { head={ name="Arcadian Beret +3", augments={'Enhances "Recycle" effect',}}, body="Mummu Jacket +2", hands={ name="Adhemar Wrist. +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet={ name="Adhe. Gamashes +1", augments={'HP+65','"Store TP"+7','"Snapshot"+10',}}, neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} -- Malevolence / Malevolence -- -- 1349 RACC / 1483 RATTK / 75 STP -- /DNC -- sets.Midshot.Gastraphetes.MidACC = set_combine(sets.Midshot.Gastraphetes,{ right_ear="Enervating Earring", right_ring="Hajduk Ring +1"}) -- Malevolence / Malevolence -- -- 1391 RACC / 1506 RATTK / 66 STP -- /DNC -- sets.Midshot.Gastraphetes.HighACC = set_combine(sets.Midshot.Gastraphetes.MidACC,{ body="Orion Jerkin +3", feet="Orion Socks +3", left_ring="Regal Ring",}) -- Malevolence / Malevolence -- -- 1465 RACC / 1514 RATTK / 59 STP -- /DNC -- -- Barrage Base Set -- Barrage = { ammo="Eradicating Bullet", head="Orion Beret +3", body="Orion Jerkin +3", hands="Orion Bracers +3", legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} -- Fomalhaut Barrage Sets -- sets.Midshot.Fomalhaut.Barrage = set_combine(sets.Midshot.Fomalhaut, { ammo="Eradicating Bullet", head="Orion Beret +3", body="Orion Jerkin +3", hands="Orion Bracers +3", legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},}) sets.Midshot.Fomalhaut.MidACC.Barrage = set_combine(sets.Midshot.Fomalhaut.Barrage,{}) sets.Midshot.Fomalhaut.HighACC.Barrage = set_combine(sets.Midshot.Fomalhaut.Barrage,{}) -- Annihilator Barrage Sets -- sets.Midshot.Annihilator.Barrage = set_combine(sets.Midshot.Annihilator,{ ammo="Eradicating Bullet", head="Orion Beret +3", body="Orion Jerkin +3", hands="Orion Bracers +3", legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},}) -- Perun+1 / Nusku Shield -- -- 1622 RACC / 1597 RATTK / 11 shots -- /WAR -- sets.Midshot.Annihilator.MidACC.Barrage = set_combine(sets.Midshot.Annihilator.Barrage,{}) sets.Midshot.Annihilator.HighACC.Barrage = set_combine(sets.Midshot.Annihilator.Barrage,{}) --Gastraphetes Barrage Sets -- sets.Midshot.Gastraphetes.Barrage = set_combine(sets.Midshot.Gastraphetes, { head="Orion Beret +3", body="Orion Jerkin +3", hands="Orion Bracers +3", legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},}) -- Malevolence / Malevolence -- -- 1554 RACC / 1487 RATTK / 12 shots -- /DNC -- sets.Midshot.Gastraphetes.MidACC.Barrage = set_combine(sets.Midshot.Gastraphetes.Barrage,{}) sets.Midshot.Gastraphetes.HighACC.Barrage = set_combine(sets.Midshot.Gastraphetes.Barrage,{}) -- Doubleshot Sets -- sets.Doubleshot = { head="Oshosi Mask", body="Oshosi Vest", hands="Oshosi Gloves", legs="Oshosi Trousers", feet="Oshosi Leggings", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} -- Fomalhaut Doubleshot Sets -- sets.Midshot.Fomalhaut.Doubleshot = set_combine(sets.Midshot.Fomalhaut,{ head="Oshosi Mask", body="Oshosi Vest", hands="Oshosi Gloves", legs="Oshosi Trousers", feet="Oshosi Leggings", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},}) sets.Midshot.Fomalhaut.MidACC.Doubleshot = set_combine(sets.Midshot.Fomalhaut.Doubleshot,{ right_ear="Enervating Earring", left_ring="Hajduk Ring +1", right_ring="Hajduk Ring +1",}) sets.Midshot.Fomalhaut.HighACC.Doubleshot = set_combine(sets.Midshot.Fomalhaut.Doubleshot,{}) --Annihilator Doubleshot Sets-- sets.Midshot.Annihilator.Doubleshot = set_combine(sets.Midshot.Annihilator,{ head="Oshosi Mask", body="Oshosi Vest", hands="Oshosi Gloves", legs="Oshosi Trousers", feet="Oshosi Leggings", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},}) -- Perun+1 / Nusku Shield -- -- 1397 RACC / 1423 RATTK / 85 DS / 54 STP -- /WAR -- sets.Midshot.Annihilator.MidACC.Doubleshot = set_combine(sets.Midshot.Annihilator.Doubleshot,{ right_ear="Enervating Earring", left_ring="Hajduk Ring +1", right_ring="Hajduk Ring +1",}) -- Perun+1 / Nusku Shield -- -- 1433 RACC / 1414 RATTK / 85 DS / 40 STP -- /WAR -- sets.Midshot.Annihilator.HighACC.Doubleshot = set_combine(sets.Midshot.Annihilator.Doubleshot,{}) --Gastraphetes Doubleshot Sets-- sets.Midshot.Gastraphetes.Doubleshot = set_combine(sets.Midshot.Gastraphetes,{ head="Oshosi Mask", body="Oshosi Vest", hands="Oshosi Gloves", legs="Oshosi Trousers", feet="Oshosi Leggings", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Ilabrat Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},}) sets.Midshot.Gastraphetes.MidACC.Doubleshot = set_combine(sets.Midshot.Gastraphetes.Doubleshot,{ right_ear="Enervating Earring", left_ring="Hajduk Ring +1", right_ring="Hajduk Ring +1",}) sets.Midshot.Gastraphetes.HighACC.Doubleshot = set_combine(sets.Midshot.Gastraphetes.Doubleshot,{}) --Camouflage Sets-- sets.Midshot.Camouflage = {} sets.Midshot.Fomalhaut.Camouflage = { head="Meghanada Visor +2", neck="Iskur Gorget", ear1="Enervating Earring", body="Meghanada Cuirie +2", hands="Mummu Wrists +2", ring1="Begrudging Ring", ring2="Mummu Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','Crit.hit rate+10',}}, waist="Kwahu Kachina Belt", legs="Darraigner's Brais", feet="Thereoid Greaves"} sets.Midshot.Annihilator.Camouflage = { head="Meghanada Visor +2", neck="Iskur Gorget", ear1="Enervating Earring", body="Meghanada Cuirie +2", hands="Mummu Wrists +2", ring1="Begrudging Ring", ring2="Mummu Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','Crit.hit rate+10',}}, waist="Kwahu Kachina Belt", legs="Darraigner's Brais", feet="Thereoid Greaves"} sets.Midshot.Gastraphetes.Camouflage = { head="Meghanada Visor +2", neck="Iskur Gorget", ear1="Enervating Earring", body="Meghanada Cuirie +2", hands="Mummu Wrists +2", ring1="Begrudging Ring", ring2="Mummu Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','Crit.hit rate+10',}}, waist="Kwahu Kachina Belt", legs="Darraigner's Brais", feet="Thereoid Greaves"} -- PDT/MDT Sets -- sets.PDT = { head="Meghanada Visor +2", body="Meg. Cuirie +2", hands="Meg. Gloves +2", legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}}, feet="Meg. Jam. +2", neck="Loricate Torque +1", waist="Flume Belt +1", left_ear="Odnowa Earring +1", right_ear="Etiolation Earring", left_ring="Meghanada Ring", right_ring="Defending Ring", back="Moonbeam Cape",} sets.MDT = set_combine(sets.PDT,{}) -- Melee Sets -- sets.Melee = { head={ name="Dampening Tam", augments={'DEX+10','Accuracy+15','Mag. Acc.+15','Quadruple Attack +3',}}, body={ name="Adhemar Jacket +1", augments={'DEX+12','AGI+12','Accuracy+20',}}, hands={ name="Adhemar Wrist. +1", augments={'DEX+12','AGI+12','Accuracy+20',}}, legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}}, feet={ name="Herculean Boots", augments={'Accuracy+16','"Triple Atk."+4','Attack+6',}}, neck="Lissome Necklace", waist="Kentarch Belt +1", left_ear="Sherida Earring", right_ear="Cessance Earring", left_ring="Epona's Ring", right_ring="Ilabrat Ring", back={ name="Belenus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10',}},} sets.Melee.MidACC = set_combine(sets.Melee,{ legs="Meg. Chausses +2", left_ring="Chirich Ring"}) sets.Melee.HighACC = set_combine(sets.Melee.MidACC,{ feet="Meg. Jam. +2", left_ear="Telos Earring"}) -- WS Base Set -- sets.WS = { ammo="Eradicating Bullet", head="Orion Beret +3", body={ name="Herculean Vest", augments={'Rng.Atk.+19','Weapon skill damage +5%','CHR+6','Rng.Acc.+14',}}, hands="Meg. Gloves +2", legs={ name="Arc. Braccae +3", augments={'Enhances "Eagle Eye Shot" effect',}}, feet={ name="Herculean Boots", augments={'Rng.Acc.+29','Weapon skill damage +5%','AGI+4','Rng.Atk.+9',}}, neck="Fotia Gorget", waist="Fotia Belt", left_ear="Ishvara Earring", right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}}, left_ring="Regal Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}},} -- WS Sets -- -- Last Stand -- sets.WS['Last Stand'] = set_combine(sets.WS, { ammo="Eradicating Bullet", head="Orion Beret +3", body={ name="Herculean Vest", augments={'Rng.Atk.+19','Weapon skill damage +5%','CHR+6','Rng.Acc.+14',}}, hands="Meg. Gloves +2", legs={ name="Arc. Braccae +3", augments={'Enhances "Eagle Eye Shot" effect',}}, feet={ name="Herculean Boots", augments={'Rng.Acc.+29','Weapon skill damage +5%','AGI+4','Rng.Atk.+9',}}, neck="Fotia Gorget", waist="Fotia Belt", left_ear="Ishvara Earring", right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}}, left_ring="Regal Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}},}) sets.WS['Last Stand'].MidACC = set_combine(sets.WS["Last Stand"],{}) sets.WS['Last Stand'].HighACC = set_combine(sets.WS["Last Stand"].MidACC,{}) -- Coronach -- sets.WS['Coronach'] = set_combine(sets.WS, { ammo="Eradicating Bullet", head="Orion Beret +3", body={ name="Herculean Vest", augments={'Rng.Atk.+19','Weapon skill damage +5%','CHR+6','Rng.Acc.+14',}}, hands="Meg. Gloves +2", legs={ name="Arc. Braccae +3", augments={'Enhances "Eagle Eye Shot" effect',}}, feet={ name="Herculean Boots", augments={'Rng.Acc.+29','Weapon skill damage +5%','AGI+4','Rng.Atk.+9',}}, neck="Fotia Gorget", waist="Fotia Belt", left_ear="Ishvara Earring", right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}}, left_ring="Regal Ring", right_ring="Ilabrat Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}},}) sets.WS['Coronach'].MidACC = set_combine(sets.WS['Coronach'].MidACC,{}) sets.WS['Coronach'].HighACC = set_combine(sets.WS['Coronach'].HighACC,{}) -- Trueflight -- sets.WS['Trueflight'] = { head="Orion Beret +3", body={ name="Herculean Vest", augments={'"Mag.Atk.Bns."+28','Pet: Attack+24 Pet: Rng.Atk.+24','Weapon skill damage +3%','Accuracy+19 Attack+19','Mag. Acc.+10 "Mag.Atk.Bns."+10',}}, hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}}, legs={ name="Herculean Trousers", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Enmity-5','MND+2','"Mag.Atk.Bns."+14',}}, feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','MND+5','Mag. Acc.+1','"Mag.Atk.Bns."+14',}}, neck="Sanctity Necklace", waist="Eschan Stone", left_ear="Friomisi Earring", right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}}, left_ring="Weather. Ring", right_ring="Dingir Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}},} sets.WS['Trueflight'].MidACC = set_combine(sets.WS["Trueflight"],{}) sets.WS['Trueflight'].HighACC = set_combine(sets.WS["Trueflight"].MidACC,{}) -- Wildfire -- sets.WS['Wildfire'] = set_combine(sets.WS["Trueflight"],{ left_ring="Regal Ring",}) sets.WS['Wildfire'].MidACC = set_combine(sets.WS["Trueflight"].MidACC,{}) sets.WS['Wildfire'].HighACC = set_combine(sets.WS["Trueflight"].HighACC,{}) -- Hotshot -- sets.WS['Hot Shot'] = set_combine(sets.WS["Trueflight"],{ neck="Fotia Gorget", waist="Fotia Belt", left_ring="Regal Ring",}) sets.WS['Hot Shot'].MidACC = set_combine(sets.WS['Hot Shot'],{}) sets.WS['Hot Shot'].HighACC = set_combine(sets.WS['Hot Shot'].MidACC,{}) -- Dagger Weapon Skills -- sets.WS['Exenterator'] = { head="Adhemar Bonnet", neck="Fotia Gorget", ear1="Infused Earring", ear2="Digni. Earring", body="Meg. Cuirie +2", hands="Mummu Wrists +2", ring1="Ilabrat Ring", ring2="Regal Ring", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}}, waist="Fotia Belt", legs="Jokushu Haidate", feet="Thereoid Greaves"} sets.WS['Evisceration'] = sets.WS['Exenterator'] sets.WS['Aeolian Edge'] = sets.WS['Hot Shot'] -- JA Sets -- sets.JA = {} sets.JA.Shadowbind = { head="Orion Beret +3", body="Orion Jerkin +3", hands="Orion Bracers +3", legs={ name="Adhemar Kecks +1", augments={'AGI+12','Rng.Acc.+20','Rng.Atk.+20',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} sets.JA.Scavenge = {feet="Orion Socks +3"} sets.JA.Camouflage = {body="Orion Jerkin +3"} sets.JA.Sharpshot = {legs="Orion Braccae +2"} sets.JA["Bounty Shot"] = { hands="Amini Glove. +1", legs={ name="Herculean Trousers", augments={'"Mag.Atk.Bns."+12','"Treasure Hunter"+1','Mag. Acc.+12 "Mag.Atk.Bns."+12',}},} sets.JA["Double Shot"] = {head="Amini Gapette +1"} sets.JA["Eagle Eye Shot"] = { head="Orion Beret +3", body="Orion Jerkin +3", hands="Orion Bracers +3", legs={ name="Arc. Braccae +3", augments={'Enhances "Eagle Eye Shot" effect',}}, feet="Orion Socks +3", neck="Iskur Gorget", waist="Yemaya Belt", left_ear="Telos Earring", right_ear="Enervating Earring", left_ring="Regal Ring", right_ring="Hajduk Ring +1", back={ name="Belenus's Cape", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},} sets.JA["Barrage"] = set_combine(sets.Midshot,{}) -- Waltz Set -- sets.Waltz = {head="Mummu Bonnet +1",body="Passion Jacket",} sets.Precast = {} -- Fastcast Set -- sets.Precast.FastCast = { head={ name="Carmine Mask", augments={'Accuracy+15','Mag. Acc.+10','"Fast Cast"+3',}}, body={ name="Samnuha Coat", augments={'Mag. Acc.+14','"Mag.Atk.Bns."+13','"Fast Cast"+4','"Dual Wield"+3',}}, hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}}, legs="Gyve Trousers", feet={ name="Carmine Greaves", augments={'HP+60','MP+60','Phys. dmg. taken -3',}}, neck="Sanctity Necklace", waist="Flume Belt +1", left_ear="Loquac. Earring", right_ear="Enchntr. Earring +1", left_ring="Weather. Ring", right_ring="Stikini Ring", back="Moonbeam Cape",} -- Utsusemi Precast Set -- sets.Precast.Utsusemi = set_combine(sets.Precast.FastCast,{ body="Passion Jacket", neck="Magoraga Beads"}) sets.Midcast = {} -- Magic Haste Set -- sets.Midcast.Haste = set_combine(sets.PDT,{}) if pet.isvalid then else send_command('wait 3;input /lockstyleset '..StartLockStyle) end end function pretarget(spell,action) if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced -- cancel_spell() send_command('input /item "Echo Drops" <me>') elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On -- cancel_spell() send_command('Aggressor') elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On -- cancel_spell() send_command('ThirdEye') elseif spell.english == "Meditate" and player.tp > 290 then -- Cancel Meditate If TP Is Above 290 -- cancel_spell() add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]') elseif (spell.english == 'Ranged' and spell.target.distance > 24.9) or (player.status == 'Engaged' and ((ranged_ws:contains(spell.english) and spell.target.distance > 16+target_distance) or (spell.type == "WeaponSkill" and not ranged_ws:contains(spell.english) and spell.target.distance > target_distance))) then -- Cancel Ranged Attack or WS If You Are Out Of Range -- cancel_spell() add_to_chat(123, spell.name..' Canceled: [Out of Range]') return end end function precast(spell,action) if spell.english == 'Ranged' then equipSet = sets.Preshot add_to_chat(57,"Flurry Level "..PreshotArray[PreshotIndex]) if buffactive['Flurry'] then add_to_chat(122,"Flurry found") if PreshotArray[PreshotIndex] == 'RDM' then if equipSet[player.equipment.range].RDM then equipSet = equipSet[player.equipment.range].RDM end else if equipSet[player.equipment.range].Any then equipSet = equipSet[player.equipment.range].Any end end else if equipSet[player.equipment.range] then equipSet = equipSet[player.equipment.range] end add_to_chat(122,"No flurry") end equip(equipSet) elseif spell.type == "WeaponSkill" then equipSet = sets.WS if equipSet[spell.english] then equipSet = equipSet[spell.english] end if equipSet[AccArray[AccIndex]] then equipSet = equipSet[AccArray[AccIndex]] end if player.tp > 2249 or buffactive.Sekkanoki then if spell.english == "Last Stand" then -- Equip Telos Earring When You Have 3000 TP or Sekkanoki For Last Stand -- equipSet = set_combine(equipSet,{ear2="Telos Earring"}) elseif spell.english == "Jishnu's Radiance" then -- Equip Telos Earring When You Have 3000 TP or Sekkanoki For Jishnu's Radiance -- equipSet = set_combine(equipSet,{ear2="Telos Earring"}) elseif spell.english == "Trueflight" then --Equip Ishvara Earring When you have 3000 TP or Sekkanoki for Trueflight -- equipSet = set_combine(equipSet,{ear2="Ishvara Earring"}) end end equip(equipSet) elseif spell.type=="JobAbility" then if sets.JA[spell.english] then equip(sets.JA[spell.english]) end elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then if string.find(spell.english,'Utsusemi') then if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then cancel_spell() add_to_chat(123, spell.name .. ' Canceled: [3+ Images]') return else equip(sets.Precast.Utsusemi) end else equip(sets.Precast.FastCast) end elseif spell.type == "Waltz" then equip(sets.Waltz) elseif spell.english == 'Spectral Jig' and buffactive.Sneak then cast_delay(0.2) send_command('cancel Sneak') end end function midcast(spell,action) if spell.english == 'Ranged' then equipSet = sets.Midshot if equipSet[player.equipment.range] then equipSet = equipSet[player.equipment.range] end if equipSet[AccArray[AccIndex]] then equipSet = equipSet[AccArray[AccIndex]] end if buffactive.Barrage and equipSet["Barrage"] then equipSet = equipSet["Barrage"] end if buffactive['Double Shot'] and equipSet["Doubleshot"] then equipSet = equipSet["Doubleshot"] end if buffactive['Camouflage'] and equipSet["Camouflage"] then equipSet = equipSet["Camouflage"] end equip(equipSet) elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then if string.find(spell.english,'Utsusemi') then if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then send_command('@wait 1.7;cancel Copy Image*') end equip(sets.Midcast.Haste) elseif spell.english == 'Monomi: Ichi' then if buffactive['Sneak'] then send_command('@wait 1.7;cancel sneak') end equip(sets.Midcast.Haste) else equip(sets.Midcast.Haste) end if spell.english == "Trueflight" and (buffactive['Aurorastorm']) then add_to_chat(125,'weather mode') equip({waist="Hachirin-no-Obi"}) end if spell.english == "Wildfire" and (buffactive['Firestorm']) then add_to_chat(125,'weather mode') equip({waist="Hachirin-no-Obi"}) end end end function aftercast(spell,action) if spell.english == 'Ranged' and autoRAmode==1 then autoRA() elseif spell.type == "WeaponSkill" and not spell.interrupted then send_command('wait 0.2;gs c TP') else status_change(player.status) end end function status_change(new,old) if Armor == 'PDT' then equip(sets.PDT) elseif Armor == 'MDT' then equip(sets.MDT) elseif new == 'Engaged' then equipSet = sets.Melee if equipSet[AccArray[AccIndex]] then equipSet = equipSet[AccArray[AccIndex]] end equip(equipSet) else equip(sets.Idle[IdleArray[IdleIndex]]) end end -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) -- function self_command(command) if command == 'acc' then -- Accuracy Level Toggle -- AccIndex = (AccIndex % #AccArray) + 1 add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex]) status_change(player.status) elseif command == 'flur' then -- Flurry Level Toggle -- PreshotIndex = (PreshotIndex % #PreshotArray) + 1 add_to_chat(158,'Flurry Level: ' ..PreshotArray[PreshotIndex]) status_change(player.status) elseif command == 'auto' then -- Auto Update Gear Toggle -- status_change(player.status) add_to_chat(158,'Auto Update Gear') elseif command == 'pdt' then -- PDT Toggle -- if Armor == 'PDT' then Armor = 'None' add_to_chat(123,'PDT Set: [Unlocked]') else Armor = 'PDT' add_to_chat(158,'PDT Set: [Locked]') end status_change(player.status) elseif command == 'mdt' then -- MDT Toggle -- if Armor == 'MDT' then Armor = 'None' add_to_chat(123,'MDT Set: [Unlocked]') else Armor = 'MDT' add_to_chat(158,'MDT Set: [Locked]') end status_change(player.status) elseif command == 'C8' then -- Distance Toggle -- if player.target.distance then target_distance = math.floor(player.target.distance*10)/10 add_to_chat(158,'Distance: '..target_distance) else add_to_chat(123,'No Target Selected') end elseif command == 'C6' then -- Idle Toggle -- IdleIndex = (IdleIndex % #IdleArray) + 1 add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex]) status_change(player.status) elseif command == 'AutoRA' then -- Auto Ranged Attack Toggle. *Don't Rely On This. It Isn't As Fast As Shooting Manually. It Is Mainly For AFK or When You Dualbox* -- if autoRAmode == 0 then autoRAmode = 1 add_to_chat(158,'AutoRA Mode: [ON]') else autoRAmode = 0 add_to_chat(123,'AutoRA Mode: [OFF]') end elseif command == 'TP' then add_to_chat(158,'TP Return: ['..tostring(player.tp)..']') elseif command:match('^SC%d$') then send_command('//' .. sc_map[command]) end end Code function aftercast(spell,action) if spell.english == 'Ranged' and autoRAmode==1 then autoRA() elseif spell.type == "WeaponSkill" and not spell.interrupted then send_command('wait 0.2;gs c TP') else status_change(player.status) end end the status_change won't fire if it detects the other 2 preceeding conditions. Try this: Code function aftercast(spell,action) if spell.english == 'Ranged' and autoRAmode==1 then autoRA() elseif spell.type == "WeaponSkill" and not spell.interrupted then send_command('wait 0.2;gs c TP') end status_change(player.status) end Hey all
So after successfully adjusting a few rules before on other luas I fool-heatedly raced in blind to try make this pup lua work more how I want it to (original kine one treats whm head as a mage.. even with VE body), but now I am way in over my head and 5 hrs of bashing my head against the wall I need help please -.- https://github.com/Mayoyama/PUP/blob/master/PUPFaulty.lua https://github.com/Mayoyama/PUP/blob/master/Mayoyamanakata_PUP_GearFaulty.lua So I'm trying to make it so that GS will alter my idle and engaged sets depending on the state I cycle to, but the more I did the more it broke and now it just doesn't even register my pet being idle or engaged. PLEASE HELP! Cerberus.Shadowmeld
Offline
Asura.Chiaia said: » ' vs " Doesn't mean much but if you did 'Rudra's Storm' it would fail because it needs the middle ' escaped so that it knows to read it as just a regular character and not part of the language. 'Rudra\'s Storm' you escape characters in lua with \ before it try //gs equip sets.precast.WS.Rudra's Storm.TA While that won't work when writing the lua it should work when trying to manually equip it also can do //gs showswaps If you are typing it into the console is should be //gs equip sets.precast.WS."Rudra's Storm".TA If you don't use the "" to encapsulate Rudra's storm it stops processing at the end of Rudra's. Offline
Posts: 11
So I am looking to add a Sneak attack set to other jobs if I am /thf. How would I go about putting those in? Pretty dumb when it comes to gearswap outside of just plugging in new items to an already built lua.
Is this for ws? Post your lua first, and then let us know what you intend for sneak attack set to be for.
Offline
Posts: 11
Yes this would be for a WS. I am looking to equip a specific set for when the Sneak Attack buff is active. If Sneak attack is active equip X, if not use normal Rudra set. Similar to how the Climantic flourish active function is. Just have no idea how to go about plugging a SA in without breaking something x.x
Thank you in advance for your help Code 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.MainStep = M{['description']='Main Step', 'Box Step', 'Quickstep'} 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(false, 'Ignore Targetting') state.CurrentStep = M{['description']='Current Step', 'Main', 'Alt'} state.SkillchainPending = M(false, 'Skillchain Pending') 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', 'Fodder') state.HybridMode:options('Normal', 'Evasion', 'PDT') state.WeaponskillMode:options('Normal', 'Acc', 'Fodder') state.PhysicalDefenseMode:options('Evasion', 'PDT') gear.default.weaponskill_neck = "Caro Necklace" gear.default.weaponskill_waist = "Caudata Belt" gear.AugQuiahuiz = {name="Quiahuiz Trousers", augments={'Haste+2','"Snapshot"+2','STR+8'}} -- Additional local binds send_command('bind ^= gs c cycle mainstep') send_command('bind !f12 gs c cycle altstep') send_command('bind ^- gs c toggle selectsteptarget') send_command('bind f12 gs c toggle usealtstep') send_command('bind ^` input /ja "Chocobo Jig" <me>') 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 -------------------------------------- -- Precast Sets -- Precast sets to enhance JAs sets.precast.JA['No Foot Rise'] = {body="Horos Casaque +1"} sets.precast.JA['Trance'] = {head="Horos Tiara"} -- Waltz set (chr and vit) sets.precast.Waltz = {ammo="Vanir Battery", head="Mummu Bonnet",ear1="Brutal Earring", body="Dancer's Casaque",hands="Shneddick Gloves +1",ring1="Epona's Ring", back="Atheling Mantle",waist="Cetl Belt",legs="Shneddick Tights +1",feet="Shneddick Boots +1"} -- Don't need any special gear for Healing Waltz. sets.precast.Waltz['Healing Waltz'] = {} sets.precast.Samba = {head="Dancer's Tiara", back="Senuna's Mantle"} sets.precast.Jig = {feet="Dancer's Shoes"} sets.precast.Step = {waist="Life Belt"} sets.precast.Step['Feather Step'] = {feet="Dancer's Shoes"} sets.precast.Flourish1 = {} sets.precast.Flourish1['Violent Flourish'] = {ammo ="Charis Feather",ear1="Heartseeker Earring",ear2="Dudgeon Earring",neck="Atzintli Necklace", body="Haruspex Coat",hands="Wayfarer Cuffs",ring1="Ecphoria Ring",ring2="Rajas Ring", waist="Life belt",legs="Manibozho Brais",feet="Wayfarer Clogs"} -- magic accuracy sets.precast.Flourish1['Desperate Flourish'] = {ammo ="Charis Feather",ear1="Heartseeker Earring", ear2="Dudgeon Earring",neck="Atzintli Necklace",body="Horos Casaque", hands="Maculele Bangles",ring1="Ecphoria Ring",ring2="Rajas Ring", waist="Life Belt",legs="Manibozho Brais",feet="Shneddick Boots +1"} -- acc gear sets.precast.Flourish2 = {} sets.precast.Flourish2['Reverse Flourish'] = {hands="Maculele Bangles"} sets.precast.Flourish3 = {} sets.precast.Flourish3['Striking Flourish'] = {body="Charis Casaque +2"} sets.precast.Flourish3['Climactic Flourish'] = {head="Maculele Tiara"} -- Fast cast sets for spells sets.precast.FC = {ammo="Impatiens",head="Haruspex Hat",ear2="Loquacious Earring",hands="Thaumas Gloves",ring1="Prolix Ring"} sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads"}) -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket ",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} sets.precast.WS.Acc = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket ",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Exenterator'] = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket ",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} sets.precast.WS['Exenterator'].Acc ={ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} sets.precast.WS['Exenterator'].Fodder = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket ",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} sets.precast.WS['Pyrrhic Kleos'] = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Shneddick Tabard +1",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Manibozho Brais",feet="Manibozho Boots"} sets.precast.WS['Pyrrhic Kleos'].Acc = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Shneddick Tabard +1",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Manibozho Brais",feet="Manibozho Boots"} sets.precast.WS['Evisceration'] = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket ",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Mummu Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} sets.precast.WS['Evisceration'].Acc = {ammo="Charis Feather", head="Herculean Helm",neck="Soil Gorget",ear1="Brutal Earring",ear2="Ishvara Earring", body="Mummu Jacket ",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Mummu Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Mummu Kecks",feet="Herculean Boots"} sets.precast.WS["Rudra's Storm"] = {ammo="Charis Feather", head="Herculean Helm",neck="Caro Necklace",ear1="Brutal Earring",ear2="Ishvara Earring", body="Meghanada Cuirie",hands="Meghanada Gloves +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}} ,waist="Grunfeld Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.precast.WS["Rudra's Storm"].Acc = {ammo="Charis Feather", head="Herculean Helm",neck="Caro Necklace",ear1="Brutal Earring",ear2="Ishvara Earring", body="Meghanada Cuirie",hands="Meghanada Gloves +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}} ,waist="Grunfeld Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.precast.WS['Aeolian Edge'] = {ammo="Charis Feather", head="Wayfarer Circlet",neck="Atzintli Necklace",ear1="Novio Earring",ear2="Hecate's Earring", body="Wayfarer Robe",hands="Wayfarer Cuffs",ring1="Acumen Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Shadow Belt",legs="Shneddick Tights +1",feet="Wayfarer Clogs"} sets.precast.Skillchain = {hands="Maculele Bangles"} -- Midcast Sets sets.midcast.FastRecast = { head="Felistris Mask",ear2="Loquacious Earring", body="Iuitl Vest",hands="Iuitl Wristbands", legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"} -- Specific spells sets.midcast.Utsusemi = { head="Felistris Mask",neck="Ej Necklace",ear2="Loquacious Earring", body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Beeline Ring", back="Toetapper Mantle",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"} -- Sets to return to when not performing an action. -- Resting sets sets.resting = {head="Ocelomeh Headpiece +1",neck="Wiglen Gorget", ring1="Sheltered Ring",ring2="Paguroidea Ring"} sets.ExtraRegen = {head="Ocelomeh Headpiece +1"} -- Idle sets sets.idle = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.idle.Town ={ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.idle.Weak = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} -- Defense sets sets.defense.Evasion = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.defense.PDT = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.defense.MDT = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.Kiting = {feet="Skadi's 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 -- Normal melee group sets.engaged = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Fodder = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Fodder.Evasion = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Evasion = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.PDT = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.Evasion ={ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.PDT = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Mummu Kecks",feet="Herculean Boots"} -- Custom melee group: High Haste (2x March or Haste) sets.engaged.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Fodder.HighHaste ={ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Fodder.Evasion.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Evasion.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.Evasion.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.PDT.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses",feet="Herculean Boots"} sets.engaged.Acc.PDT.HighHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses",feet="Herculean Boots"} -- Custom melee group: Max Haste (2x March + Haste) sets.engaged.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses",feet="Herculean Boots"} -- Getting Marches+Haste from Trust NPCs, doesn't cap delay. sets.engaged.Fodder.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses",feet="Herculean Boots"} sets.engaged.Fodder.Evasion.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Evasion.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.Evasion.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.PDT.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} sets.engaged.Acc.PDT.MaxHaste = {ammo="Vanir Battery", head="Herculean Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Suppanomimi", body="Mummu Jacket",hands="Mummu Wrists +1",ring1="Epona's Ring",ring2="Rajas Ring", back={ name="Senuna's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}} ,waist="Windbuffet Belt",legs="Meghanada Chausses +1",feet="Herculean Boots"} -- Buff sets: Gear that needs to be worn to actively enhance a current player buff. sets.buff['Saber Dance'] = {legs="Horos Tights"} sets.buff['Climactic Flourish'] = {head="Maculele Tiara",back="Senuna's Mantle"} 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) 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) 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) -- If we gain or lose any haste buffs, adjust which gear set we target. if S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then determine_haste_group() handle_equipping_gear(player.status) 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 customize_idle_set(idleSet) if player.hpp < 80 and not areas.Cities:contains(world.area) then idleSet = set_combine(idleSet, sets.ExtraRegen) end return idleSet 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 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 classes.CustomMeleeGroups:clear() if buffactive.embrava and (buffactive.haste or buffactive.march) and buffactive['haste samba'] then classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.march == 2 and buffactive.haste and buffactive['haste samba'] then classes.CustomMeleeGroups:append('MaxHaste') elseif buffactive.embrava and (buffactive.haste or buffactive.march or buffactive['haste samba']) then classes.CustomMeleeGroups:append('HighHaste') elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then classes.CustomMeleeGroups:append('HighHaste') elseif buffactive.march == 2 and (buffactive.haste or buffactive['haste samba']) then classes.CustomMeleeGroups:append('HighHaste') end end -- Automatically use Presto for steps when it's available and we have less than 3 finishing moves function auto_presto(spell) 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 -- 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(3, 20) elseif player.sub_job == 'NIN' then set_macro_page(1, 20) elseif player.sub_job == 'SAM' then set_macro_page(2, 20) else set_macro_page(5, 20) end end Offline
Posts: 251
I have an issue with the obi rule on my corsair, probably something dumb as usual. Did I just make a simple mistake somewhere when I stole this?
Thanks in advance for any help Code sets.Obi = {waist="Hachirin-no-Obi"} function job_post_precast(spell, action, spellMap, eventArgs) -- Equip obi if weather/day matches for WS/Quick Draw. if spell.type == 'WeaponSkill' or spell.type == 'CorsairShot' then if spell.english == 'Leaden Salute' and (world.weather_element == 'Dark' or world.day_element == 'Dark') then equip(sets.Obi) elseif spell.english == 'Wildfire' and (world.weather_element == 'Fire' or world.day_element == 'Fire') then equip(sets.Obi) elseif spell.type == 'CorsairShot' and (spell.element == world.weather_element or spell.element == world.day_element) then equip(sets.Obi) end end end Hi!
Ever since adding a new augment on my Ogma's Capes gearswap stopped equipping them. Can anyone help me find out why? Code sets.precast.WS['Resolution'] = { ammo="Knobkierrie", head="Meghanada Visor +2", body="Ayanmo Corazza +2", hands="Herculean Gloves", legs="Taeon tights", feet="Herculean Boots", neck="Breeze gorget", waist="Breeze belt", left_ear="Cessance Earring", right_ear="Ishvara Earring", left_ring="Niqmaddu Ring", right_ring="Epona's Ring", back={ name="Ogma's cape", augments={'STR+30','Accuracy+20','Attack+20','"Dbl. Atk."+10','Parrying rate +1%',}}, } and this one Code sets.precast.JA['Vallation'] = { ammo="Aqreqaq Bomblet", head="Erilaz galea +1", neck="Sanctity necklace", body="Runeist's Coat +2", hands="Runeist mitons +1", legs="Futhark Trousers +1", feet="Runeist bottes +1", back={ name="Ogma's cape", augments={'HP+60','Mag. Evasion+10','Eva.+20/Mag. Eva.+20','Enmity+10',}}, } New augments are added from the new ambuscade item |
|
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|