Post deleted by User.
Gearswap Support Thread |
||
Gearswap Support Thread
Carbuncle.Kigensuro said: » Asura.Patriclis said: » Shiva.Hiep said: » For some reason, my friend's BLM lua doesn't pick up Hachirin-no-obi. It works when I use it, any idea what could be the problem? Is it something with his resources? Well since you haven't provided the lua in question and told us where the obi is implemented... then my guess is... your friend re-wrote the entire lua using the wingdings font. but yes you are correct that we cant tell anything because we have no code and with out it there are an inf amount of possibilities from they don't have it active to using the wingdings font. (from normal to absurd) Sorry guys, here you go: https://pastebin.com/ZsUmcmx6 I'm no coder, but if I had to guess, it's because the burst set rule comes after the obi rule and overwrites that set.
this is how i do my obi equip
Code sets.spell_obi={Fire={waist="Karin Obi"},Earth={waist="Dorin Obi"},Water={waist="Suirin Obi"},Wind={waist="Furin Obi"},Ice={waist="Hyorin Obi"}, Lightning={waist="Rairin Obi"},Light={waist="Korin Obi"},Dark={waist="Anrin Obi"},} --catches if spell.element is number or string (yes it has happened before) local spell_element = (type(spell.element)=='number' and gearswap.res.elements[spell.element] or gearswap.res.elements:with('name', spell.element)) --checks to see if world.weather_element or world.day_element is the same as spell_element.name from the above catch if spell_element.name == world.weather_element or spell_element.name == world.day_element then --checks to see if you have Hachirin-no-Obi in any bago you can equip from if so it equips Hachirin-no-Obi if item_to_bag("Hachirin-no-Obi") then equip({waist="Hachirin-no-Obi"}) --checks to see if you have your Elemental Obi in any bag you can equip from if so it equips your Elemental Obi elseif item_to_bag(sets.spell_obi[spell_element.en].waist) then equip(sets.spell_obi[spell_element.en]) end end function item_to_bag(name) for _,bag in ipairs({"inventory","wardrobe","wardrobe2","wardrobe3","wardrobe4"}) do local item = player[bag][name] if item then return bag end end end My friend tested these out and it worked perfectly. Thank you everyone~
Code if spell.english:wcmatch('Cure*') and buff=="Aurorastorm" then equip(sets.midcast.Cure, {waist="Korin Obi"}) elseif spell.english:wcmatch('Cure*') then equip(sets.midcast.Cure) elseif spell.english:wcmatch('Curaga*') and buff=="Aurorastorm" then equip(sets.midcast.Curaga, {waist="Korin Obi"}) elseif spell.english:wcmatch('Curaga*') then equip(sets.midcast.Curaga) Trying to get this to work. I want my obi to equip when the buff Aurorastorm is up. Edit: Got the above working. Just trying to figure this part out now: Also trying to get this to work: Code function buff_change(name,gain) if name == 'Aurorastorm' and not gain then send_command('@ input /echo >>> Aurorastorm Down <<<') end end Just so I have a reminder in case I don't notice it dropping in the middle of a fight. It works on Paladin for Crusade, but that might be because he's engaged. buff_change should work regardless of your Engaged status. I would recommend that you use an S{} table to keep track of all buffs that you want to monitor in this way. You could change the function this way to make it easier to do.
Code function buff_change(buffname, isgain) local monitored_buffs = S{"Aurorastorm", "Phalanx",} if monitored_buffs:contains(buffname) and not isgain then windower.add_to_chat(80, ">>> " .. buffname .. " Down <<<") end end Notes:
Sylph.Elgorian said: » if spell.english:wcmatch('Cure*') and buff=="Aurorastorm" then equip(sets.midcast.Cure, {waist="Korin Obi"}) elseif spell.english:wcmatch('Cure*') then equip(sets.midcast.Cure) elseif spell.english:wcmatch('Curaga*') and buff=="Aurorastorm" then equip(sets.midcast.Curaga, {waist="Korin Obi"}) elseif spell.english:wcmatch('Curaga*') then equip(sets.midcast.Curaga) Code if spell.english:starswith('Cure') then if buffactive["Aurorastorm"] then equip(sets.midcast.Cure, {waist="Korin Obi"}) else equip(sets.midcast.Cure) end elseif spell.english:starswith('Curaga') then if buffactive["Aurorastorm"] then equip(sets.midcast.Curaga, {waist="Korin Obi"}) else equip(sets.midcast.Curaga) end end for these reasons 1 wcmatch is a vary slow process 2 there is no reason to check to see if the spell starts with Cure or Curaga more then once 3 it may look longer or slower but in actuality it is 3+ times faster Carbuncle.Kigensuro said: » Thanks! That will make things a whole lot easier! So the 80 is just the color I want it in chat, and 39 is red? :) Also out of curiosity is there a way to get notified when you zone if a certain buff isn't up or not? Example: I know when zoning into Ambu JA buffs usually don't stick. I will occasionally forget to pop Afflatus Solace like an idiot because I had it up before I entered. ------------------------------------------------------------------------------------- Carbuncle.Kigensuro said: » Oh neat, thanks! It's just kind of something I've built myself, and just coming back after 3 years. I have just kind of pulled things from here and there that make sense and slowly evolving it lol. Is there something similar for ends with? EX: something like storm spells maybe? storm? would it just be endswith("storm")? So, something like the following should work: Code if spell.english:startswith('Cure') then if buffactive["Aurorastorm"] or world.weather=="Auroras" or world.weather=="Stellar glare", or world.day_element=="Light" then equip(sets.midcast.Cure, {waist="Korin Obi"}) else equip(sets.midcast.Cure) end elseif spell.english:startswith('Curaga') then if buffactive["Aurorastorm"] or world.weather=="Auroras" or world.weather=="Stellar glare", or world.day_element=="Light" then equip(sets.midcast.Curaga, {waist="Korin Obi"}) else equip(sets.midcast.Curaga) end end I wanted to add in the Weather/Day also (is there a simplified way to do this?) for instances when I may not have /sch and would like it to equip for the weather/day. "GearSwap has detected an error in the user function precast: ...strings.lua:146: attempt to get length of local 'substr' (a nil value)" Sylph.Elgorian said: » if spell.english:startswith('Cure') then if buffactive["Aurorastorm"] or world.weather=="Auroras" or world.weather=="Stellar glare", or world.day_element=="Light" then equip(sets.midcast.Cure, {waist="Korin Obi"}) else equip(sets.midcast.Cure) end elseif spell.english:startswith('Curaga') then if buffactive["Aurorastorm"] or world.weather=="Auroras" or world.weather=="Stellar glare", or world.day_element=="Light" then equip(sets.midcast.Curaga, {waist="Korin Obi"}) else equip(sets.midcast.Curaga) end end like: Code if spell.english:startswith('Cure') then if buffactive["Aurorastorm"] or world.weather_element=="Light", or world.day_element=="Light" then equip(sets.midcast.Cure, {waist="Korin Obi"}) else equip(sets.midcast.Cure) end elseif spell.english:startswith('Curaga') then if buffactive["Aurorastorm"] or world.weather_element=="Light", or world.day_element=="Light" then equip(sets.midcast.Curaga, {waist="Korin Obi"}) else equip(sets.midcast.Curaga) end end this will cut 1 check out for each spell I'm stumped and was hoping to get some guidance. I noticed that when I cast Aspir III on GEO that my aspir set wasn't loading. I went into Mote-Mappings.lua and saw that Aspir III wasn't listed, which I thought was strange since I saw other Job Point spells like Drain III and all the Threnody IIs. So I went ahead and added it to the mappings and the specific line in the Mote-Mappings.lua should be this:
Code ['Holy']='Holy',['Holy II']='Holy',['Drain']='Drain',['Drain II']='Drain',['Drain III']='Drain',['Aspir']='Aspir',['Aspir II']='Aspir',['Aspir III']='Aspir', Tried again and the issue persisted. I did an unload and load of GearSwap and nothing changed (logged and reload Windower too). So I entered DebugMode to try to figure out what was happening and Aspir III is being listed as Dark Magic (which it is) and using my DarkMagic midcast set. Any ideas on what might be behind this issue? I'm at work unfortunately and cannot list my GEO.lua at the moment. I do not have an Aspir mapping made in the GEO.lua (I have not tried this yet). I have one rule set that changes my Aspir spell to the next one if I try to cast a spell that is currently on cooldown but asides from that there isn't anything else happening. I don't have Dark Knight to test Drain III or Bard setup to test Threnody IIs, perhaps it's an issue with the Job Point spells? I'm pretty sure that my Full-Cure works correctly on my White Mage. Any ideas? Thanks so much! Can anyone tell me why this will not equip Spaekona's Coat +1, nor equip my free nuke gear?
Code ------------------------------------------------------------------------------------------------------------------- -- (Original: Motenten / Modified: Arislan) ------------------------------------------------------------------------------------------------------------------- --[[ Custom Features: Magic Burst Toggle Magic Burst Mode [Alt-`] Death Mode Casting and Idle modes that maximize MP pool throughout precast/midcast/idle swaps Capacity Pts. Mode Capacity Points Mode Toggle [WinKey-C] Auto. Lockstyle Automatically locks desired equipset on file load --]] ------------------------------------------------------------------------------------------------------------------- -- Setup functions for this job. Generally should not be modified. ------------------------------------------------------------------------------------------------------------------- -- Initialization function for this job file. function get_sets() mote_include_version = 2 -- Load and initialize the include file. include('Mote-Include.lua') end -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked. function job_setup() state.CP = M(false, "Capacity Points Mode") lockstyleset = 6 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') state.CastingMode:options('Normal', 'Resistant', 'Spaekona', 'Occult') state.IdleMode:options('Normal', 'DT') state.WeaponLock = M(false, 'Weapon Lock') state.MagicBurst = M(true, 'Magic Burst') state.DeathMode = M(false, 'Death Mode') state.CP = M(false, "Capacity Points Mode") state.Spaek=M(false, 'Spae. Coat +1') lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder'} -- Additional local binds -- include('Global-Binds.lua') -- OK to remove this line -- include('Global-GEO-Binds.lua') -- OK to remove this line send_command('bind ^` input /ma Stun <t>')--;input /p <wstar> #1 Stun <t>, Articgun next. <wstar> <call14>') send_command('bind !` gs c toggle MagicBurst') send_command('bind !p input /ma "Shock Spikes" <me>') send_command('bind @d gs c toggle DeathMode') send_command('bind @c gs c toggle CP') send_command('bind @w gs c toggle WeaponLock') send_command('bind @` gs c toggle Spaek') send_command('bind ^numpad0 input /Myrkr') send_command('bind !e input /item "Echo Drops" <me>') send_command('bind !r input /item "Remedy" <me>') send_command('bind !p input /item "Panacea" <me>') send_command('bind !h input /item "Holy Water" <me>') send_command('bind !w input /equip ring2 "Warp Ring"; /echo Warping; wait 11; input /item "Warp Ring" <me>;') send_command('bind !q input /equip ring2 "Dim. Ring (Holla)"; /echo Reisenjima; wait 11; input /item "Dim. Ring (Holla)" <me>;') select_default_macro_book() set_lockstyle() end -- Called when this job file is unloaded (eg: job change) function user_unload() send_command('unbind ^`') send_command('unbind !`') send_command('unbind !p') send_command('unbind ^,') send_command('unbind !.') send_command('unbind @d') send_command('unbind @c') send_command('unbind @w') send_command('unbind @`') send_command('unbind ^numpad0') send_command('unbind #`') send_command('unbind #1') send_command('unbind #2') send_command('unbind #3') send_command('unbind #4') send_command('unbind #5') send_command('unbind #6') send_command('unbind #7') send_command('unbind #8') send_command('unbind #9') send_command('unbind #0') 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['Mana Wall'] = { feet="Wicce Sabots +1", back=gear.BLM_Death_Cape, } sets.precast.JA.Manafont = {body="Arch. Coat +1"} -- Fast cast sets for spells sets.precast.FC = { -- /RDM --15 /SCH --10 main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Clerisy Strap", ammo="Sapience Orb", head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+15','"Fast Cast"+5','Mag. Acc.+5',}}, neck="Sanctity Necklace", ear1="Enchanter Earring +1", ear2="Loquacious Earring", body="Vanir Cotehardie", hands="Loagaeth Cuffs", ring1="Prolix Ring", ring2="Kishar Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Channeler's Stone", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, } sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Clerisy Strap", ammo="Impatiens", head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+15','"Fast Cast"+5','Mag. Acc.+5',}}, neck="Sanctity Necklace", ear1="Enchanter Earring +1", ear2="Loquacious Earring", body="Vanir Cotehardie", hands="Loagaeth Cuffs", ring1="Prolix Ring", ring2="Lebeche Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Witful Belt", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, }) sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, { legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, waist="Channeler's Stone", --2 }) sets.precast.FC.Cure = set_combine(sets.precast.FC, { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Clerisy Strap", ammo="Impatiens", head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+15','"Fast Cast"+5','Mag. Acc.+5',}}, neck="Sanctity Necklace", ear1="Enchanter Earring +1", ear2="Loquacious Earring", body="Vanir Cotehardie", hands="Loagaeth Cuffs", ring1="Prolix Ring", ring2="Lebeche Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Witful Belt", legs="Doyen Pants", feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, }) sets.precast.FC.Curaga = sets.precast.FC.Cure sets.precast.FC.Impact = { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Clerisy Strap", ammo="Sapience Orb", head=empty, neck="Sanctity Necklace", ear1="Enchanter Earring +1", ear2="Loquacious Earring", body="Twilight Cloak", hands="Loagaeth Cuffs", ring1="Prolix Ring", ring2="Kishar Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Channeler's Stone", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, } sets.precast.Storm = set_combine(sets.precast.FC, { ring2="Levia. Ring +1", waist="Channeler's Stone"}) -- stop quick cast sets.precast.FC.DeathMode = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Clerisy Strap", ammo="Psilomene", head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, neck="Sanctity Necklace", ear1="Etiolation Earring", ear2="Loquacious Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands="Loagaeth Cuffs", ring1="Kishar Ring", ring2="Mephitas's Ring +1", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Channeler's Stone", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, } sets.precast.FC.Impact.DeathMode = set_combine(sets.precast.FC.DeathMode, {head=empty, body="Twilight Cloak"}) -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = { ammo="Psilomene", head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, neck="Sanctity Necklace", ear1="Barkaro. Earring", ear2="Loquac. Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands="Telchine Gloves", ring1="Lebeche Ring", ring2="Prolix Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet="Telchine Pigaches" } -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Vidohunir'] = { ammo="Pemphredo Tathlum", head="Mallquis Chapeau +1", neck="Fotia Gorget", ear1="Moonshade Earring", ear2="Lugra Earring", body="Jhakri Robe +2", hands="Mallquis Cuffs +1", ring1="Shiva Ring +1", ring2="Shiva Ring +1", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Fotia Belt", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet="Mallquis Clogs +1" } -- INT sets.precast.WS['Myrkr'] = { ammo="Psilomene", head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, neck="Sanctity Necklace", ear1="Barkaro. Earring", ear2="Loquac. Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands="Telchine Gloves", ring1="Lebeche Ring", ring2="Prolix Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet="Telchine Pigaches" } -- Max MP ---- Midcast Sets ---- sets.midcast.FastRecast = { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Clerisy Strap", ammo="Impatiens", head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, neck="Sanctity Necklace", ear1="Enchanter Earring +1", ear2="Loquacious Earring", body="Vanir Cotehardie", hands="Mallquis Cuffs +1", ring1="Kishar Ring", ring2="Lebeche Ring", back="Perimede Cape", waist="Witful Belt", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}}, } -- Haste sets.midcast.Cure = { main="Bolelabunga", sub="Sors Shield", ammo="Hydrocera", head="Befouled Crown", neck="Nuna Gorget +1", ear1="Mendicant's Earring", ear2="Roundel Earring", body="Vanir Cotehardie", hands="Loagaeth Cyffs", ring1="Stikini Ring +1", ring2="Stikini Ring +1", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Witful Belt", legs="Doyen Pants", feet="Regal Pumps +1 +1" } sets.midcast.Curaga = set_combine(sets.midcast.Cure, { main="Bolelabunga", sub="Sors Shield", ammo="Hydrocera", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Nuna Gorget +1", ear1="Mendicant's Earring", ear2="Roundel Earring", body="Vanir Cotehardie", hands="Mallquis Cuffs +1", ring1="Lebeche Ring", ring2="Levia. Ring +1", back="Perimede Cape", waist="Luminary Sash", legs="Doyen Pants", feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}}, }) sets.midcast.Cursna = set_combine(sets.midcast.Cure, { main="Bolelabunga", sub="Sors Shield", ammo="Pemphredo Tathlum", head="Befouled Crown", neck="Malison Medallion", ear1="Beatific Earring", ear2="Enchanter Earring +1", body="Vanir Cotehardie", hands="Loagaeth Cuffs", ring1="Haoma's Ring", ring2="Haoma's Ring", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Luminary Sash", legs="Doyen Pants", feet="Regal Pumps +1" }) sets.midcast['Enhancing Magic'] = { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Enki Strap", ammo="Hydrocera", head="Befouled Crown", body="Telchine Chas.", hands="Telchine Gloves", legs="Assiduity Pants +1", feet="Regal Pumps +1", neck="Loricate Torque +1", waist="Cascade Belt", ear1="Augmenting Earring", ear1="Andoaa Earring", ring1="Stikini Ring +1", ring2="Stikini Ring +1", back="Perimede Cape",} sets.midcast.EnhancingDuration = { main="Gada", sub="Ammurapi Shield", head="Telchine Cap", body="Telchine Chas.", hands="Telchine Gloves", legs="Telchine Braconi", feet="Telchine Pigaches", } sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], { main="Bolelabunga", sub="Sors Shield", ammo="Hydrocera", body="Telchine Chas.", }) sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], { head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, --feet="Inspirited Boots", --waist="Gishdubar Sash", --back="Grapevine Cape", }) sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], { main={ name="Gada", augments={'Enh. Mag. eff. dur. +6','MND+1','Mag. Acc.+19','DMG:+5',}}, sub="Genmei Shield", ammo="Hydrocera", head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +9',}}, neck="Nodens Gorget", ear1="Andoaa Earring", ear2="Earthcry Earring", body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +9',}}, hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +10',}}, ring1="Stikini Ring +1", ring2="Stikini Ring +1", back="Perimede Cape", waist="Siegel Sash", legs="Shedir Seraweels", feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +10',}}, }) sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], { --main="Vadose Rod", --sub="Ammurapi Shield", head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, --waist="Emphatikos Rope", legs="Shedir Seraweels", }) sets.midcast.Protect = set_combine(sets.midcast.EnhancingDuration, { ring1="Sheltered Ring", }) sets.midcast.Protectra = sets.midcast.Protect sets.midcast.Shell = sets.midcast.Protect sets.midcast.Shellra = sets.midcast.Protect sets.midcast.MndEnfeebles = { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Enki Strap", ammo="Hydrocera", head="Befouled Crown", neck="Erra Pendant", ear1="Barkarole Earring", ear2="Dignitary's Earring", body="Spae. Coat +1", hands="Mallquis Cuffs +1", ring1="Levia. Ring +1", ring2="Kishar Ring", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Luminary Sash", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet="Mallquis Clogs +1" } -- MND/Magic accuracy sets.midcast.IntEnfeebles = set_combine(sets.midcast.MndEnfeebles, { ring1="Shiva Ring +1", ring2="Shiva Ring +1", }) -- INT/Magic accuracy sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles sets.midcast['Dark Magic'] = { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Enki Strap", ammo="Pemphredo Tathlum", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Erra Pendant", ear1="Barkarole Earring", ear2="Dignitary's Earring", body="Jhakri Robe +2", hands="Archmage's Gloves +1", ring1="Evanescence Ring", ring2="Stikini Ring +1", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet="Mallquis Clogs +1" } sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Enki Strap", ammo="Pemphredo Tathlum", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Erra Pendant", ear1="Barkaro. Earring", ear2="Hirudinea Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands="Jhakri Cuffs +1", ring1="Evanescence Ring", ring2="Kishar Ring", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Fucho-no-Obi", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}}, }) sets.midcast.Aspir = sets.midcast.Drain sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], { feet="Regal Pumps +1", waist="Channeler's Stone", }) sets.midcast.Death = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Psilomene", head="Pixie Hairpin +1", neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Static Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Shiva Ring +1", ring2="Mujin Band", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14', }}} sets.midcast.Death.Resistant = set_combine(sets.midcast.Death, { main={ name="Grioavolr", augments={'"Fast Cast"+7','MND+1','Mag. Acc.+30','"Mag.Atk.Bns."+3','Magic Damage +1',}}, sub="Enki Strap", head="Pixie Hairpin +1", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, ring2="Shiva Ring +1", }) sets.midcast.Death.Occult = set_combine(sets.midcast.Death, { sub="Niobid Strap", head="Pixie Hairpin +1", neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Static Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Shiva Ring +1", ring2="Mujin Band", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14', }}}) -- Elemental Magic sets sets.midcast['Elemental Magic'] = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Pemphredo Tathlum", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Friomisi Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Mujin Band", ring2="Shiva Ring +1", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}}, } sets.midcast['Elemental Magic'].DeathMode = set_combine(sets.midcast['Elemental Magic'], { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Psilomene", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Static Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Shiva Ring +1", ring2="Mujin Band", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14', }}}) sets.midcast['Elemental Magic'].Resistant = set_combine(sets.midcast['Elemental Magic'], { main=gear.Grioavolr_MB, sub="Clerisy Strap", neck="Sanctity Necklace", waist="Luminary Sash", }) sets.midcast['Elemental Magic'].Spaekona = set_combine(sets.midcast['Elemental Magic'], { body="Spae. Coat +1", }) sets.midcast['Elemental Magic'].Occult = set_combine(sets.midcast['Elemental Magic'], { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Pemphredo Tathlum", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Friomisi Earring", body="Spae. Coat +1", hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Mujin Band", ring2="Shiva Ring +1", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}}, }) sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Enki Strap", ammo="Pemphredo Tathlum", head=empty, neck="Sanctity Necklace", ear1="Barkaro. Earring", ear2="Friomisi Earring", body="Twilight Cloak", hands="Jhakri Cuffs +1", ring1="Shiva Ring +1", ring2="Shiva Ring +1", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}} }) sets.midcast.Impact.Resistant = set_combine(sets.midcast['Elemental Magic'].Resistant, { sub="Enki Strap", head=empty, body="Twilight Cloak", }) sets.midcast.Impact.Occult = set_combine(sets.midcast.Impact, { }) -- Initializes trusts at iLvl 119 sets.midcast.Trust = sets.precast.FC sets.resting = { main="Chatoyant Staff", sub="Oneiros Grip", ammo="Psilomene", head="Orvail Corona +1", neck="Eidolon Pendant +1", ear1="Relaxing Earring", ear2="Genmei Earring", body="Jhakri Robe +2", hands="Serpentes Cuffs", ring1="Stikini Ring +1", ring2="Stikini Ring +1", back="Kumbira Cape", waist="Shinjutsu-no-Obi", legs="Assiduity Pants +1", feet="Serpentes Sabots" } -- Idle sets sets.idle = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Oneiros Strap", ammo="Psilomene", head="Befouled Crown", neck="Bathy Choker +1", ear1="Etiolation Earring", ear2="Loquacious Earring", body="Jhakri Robe +2", hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Stikini Ring +1", ring2="Stikini Ring +1", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet = "Crier's Gaiters", } sets.idle.DT = set_combine(sets.idle, { main="Terra's Staff", sub="Oneiros Strap", ammo="Staunch Tathlum +1", head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, neck="Loricate Torque +1", ear1="Etiolation Earring", ear2="Genmei Earring", body="Jhakri Robe +2", hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1={ name="Dark Ring", augments={'Magic dmg. taken -5%','Phys. dmg. taken -4%',}}, ring2="Defending Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet = "Crier's Gaiters", }) sets.idle.ManaWall = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Oneiros Strap", ammo="Staunch Tathlum +1", head="Pixie Hairpin +1", neck="Loricate Torque +1", ear1="Etiolation Earring", ear2="Genmei Earring", body="Jhakri Robe +2", hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Defending Ring", ring2={ name="Dark Ring", augments={'Magic dmg. taken -5%','Phys. dmg. taken -4%',}}, back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet = "Crier's Gaiters", } sets.idle.DeathMode = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Oneiros Strap", ammo="Psilomene", head="Pixie Hairpin +1", neck="Sanctity Necklace", ear1="Etiolation Earring", ear2="Loquacious Earring", body="Jhakri Robe +2", hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Lebeche Ring", ring2="Prolix Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, feet = "Crier's Gaiters", } sets.idle.Town = set_combine(sets.idle, { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Pemphredo Tathlum", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Friomisi Earring", body="Jhakri Robe +2", hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Kishar Ring", ring2="Mujin Band", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet = "Crier's Gaiters", }) sets.idle.Weak = sets.idle.DT -- Defense sets sets.defense.PDT = sets.idle.DT sets.defense.MDT = sets.idle.DT sets.Kiting = {feet="Herald's Gaiters"} sets.latent_refresh = {waist="Fucho-no-obi"} sets.latent_dt = {ear2="Sorcerer's Earring"} sets.magic_burst = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Pemphredo Tathlum", head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic Damage +9','Mag. Acc.+14','"Mag.Atk.Bns."+15',}}, neck="Mizukage-no-Kubikazari", ear1="Barkaro. Earring", ear2="Friomisi Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Mujin Band", ring2="Shiva Ring +1", back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}, waist="Refoccilation Stone", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+22','Magic burst dmg.+10%','Mag. Acc.+14',}}, } sets.magic_burst.Resistant = {} -- 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 = { main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}}, sub="Niobid Strap", ammo="Psilomene", head="Nahtirah Hat", neck="Lissome Necklace", ear1="Etiolation Earring", ear2="Loquacious Earring", body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}, ring1="Lebeche Ring", ring2="Prolix Ring", back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}}, waist="Shinjutsu-no-Obi", legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+4 "Mag.Atk.Bns."+4','Magic burst dmg.+10%','MND+1','Mag. Acc.+5','"Mag.Atk.Bns."+10',}}, feet="Regal Pumps +1 +1", } sets.buff.Doom = {--ring1="Eshmun's Ring", ring2="Eshmun's Ring", waist="Gishdubar Sash" } sets.DarkAffinity = {head="Pixie Hairpin +1",ring2="Archon Ring"} sets.Obi = {waist="Hachirin-no-Obi"} sets.CP = {back="Mecisto. 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) check_equip_lock() if spell.action_type == 'Magic' and state.DeathMode.value then eventArgs.handled = true equip(sets.precast.FC.DeathMode) if spell.english == "Impact" then equip(sets.precast.FC.Impact.DeathMode) end end if buffactive['Mana Wall'] then equip(sets.precast.JA['Mana Wall']) end end function job_post_precast(spell, action, spellMap, eventArgs) if spell.name == 'Impact' then equip(sets.precast.FC.Impact) end end -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_midcast(spell, action, spellMap, eventArgs) check_equip_lock() if spell.action_type == 'Magic' and state.DeathMode.value then eventArgs.handled = true if spell.skill == 'Elemental Magic' then equip(sets.midcast['Elemental Magic'].DeathMode) else if state.CastingMode.value == "Resistant" then equip(sets.midcast.Death.Resistant) else equip(sets.midcast.Death) end end end if buffactive['Mana Wall'] then equip(sets.precast.JA['Mana Wall']) end end function job_post_midcast(spell, action, spellMap, eventArgs) check_equip_lock() if spell.skill == 'Enhancing Magic' and classes.NoSkillSpells:contains(spell.english) and not state.DeathMode.value then equip(sets.midcast.EnhancingDuration) if spellMap == 'Refresh' then equip(sets.midcast.Refresh) end end if spell.skill == 'Elemental Magic' and spell.english == "Comet" then equip(sets.DarkAffinity) end if spell.skill == 'Elemental Magic' then if state.MagicBurst.value and spell.english ~= 'Death' then if state.CastingMode.value == "Resistant" then equip(sets.magic_burst.Resistant) else equip(sets.magic_burst) end if spell.english == "Impact" then equip(sets.midcast.Impact) end end if (spell.element == world.day_element or spell.element == world.weather_element) then equip(sets.Obi) end end if buffactive['Mana Wall'] then equip(sets.precast.JA['Mana Wall']) end end function job_midcast(spell, action, spellMap, eventArgs) check_equip_lock() if spell.skill == 'Elemental Magic' and state.Spaek.value then equipSet = set_combine(equipSet,sets.midcast['Elemental Magic'].Spaekona) end end function job_aftercast(spell, action, spellMap, eventArgs) check_equip_lock() if not spell.interrupted then if spell.english == "Sleep II" or spell.english == "Sleepga II" then send_command('@timers c "Sleep II ['..spell.target.name..']" 90 down spells/00259.png') elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown -- send_command('@timers c "Sleep ['..spell.target.name..']" 60 down spells/00253.png') elseif spell.english == "Break" or spell.english == "Breakga" then send_command('@timers c "Break ['..spell.target.name..']" 30 down spells/00255.png') end end end function pretarget(spell,action) if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced -- cancel_spell() windower.send_command('input /item "Echo Drops" <me>') 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) -- Unlock armor when Mana Wall buff is lost. if buff== "Mana Wall" then if gain then --send_command('gs enable all') equip(sets.precast.JA['Mana Wall']) --send_command('gs disable all') else --send_command('gs enable all') handle_equipping_gear(player.status) end end if buff == "doom" then if gain then equip(sets.buff.Doom) send_command('@input /p doom halp pls') disable(' ','ring2','waist') else enable(' ','ring2','waist') handle_equipping_gear(player.status) end end end -- Handle notifications of general user state change. function job_state_change(stateField, newValue, oldValue) if state.WeaponLock.value == true then disable('main','sub') else enable('main','sub') end end -- latent DT set auto equip on HP% change windower.register_event('hpp change', function(new, old) if new<=25 then equip(sets.latent_dt) end end) ------------------------------------------------------------------------------------------------------------------- -- User code that supplements standard library decisions. ------------------------------------------------------------------------------------------------------------------- -- Custom spell mapping. function job_get_spell_map(spell, default_spell_map) if spell.action_type == 'Magic' then if spell.skill == "Enfeebling Magic" then if spell.type == "WhiteMagic" then return "MndEnfeebles" else return "IntEnfeebles" end end end end -- Modify the default idle set after it was constructed. function customize_idle_set(idleSet) if state.DeathMode.value then idleSet = sets.idle.DeathMode end if player.mpp < 51 then idleSet = set_combine(idleSet, sets.latent_refresh) end if player.hpp <= 25 then idleSet = set_combine(idleSet, sets.latent_dt) end if state.CP.current == 'on' then equip(sets.CP) disable('back') else enable('back') end if buffactive['Mana Wall'] then idleSet = set_combine(idleSet, sets.precast.JA['Mana Wall']) end return idleSet end -- Modify the default melee set after it was constructed. function customize_melee_set(meleeSet) if buffactive['Mana Wall'] then meleeSet = set_combine(meleeSet, sets.precast.JA['Mana Wall']) end return meleeSet end function customize_defense_set(defenseSet) if buffactive['Mana Wall'] then defenseSet = set_combine(defenseSet, sets.precast.JA['Mana Wall']) end return defenseSet end -- Function to display the current relevant user state when doing an update. function display_current_job_state(eventArgs) display_current_caster_state() eventArgs.handled = true end function check_equip_lock() -- Lock Equipment Here -- if player.equipment.ring1 == "Warp Ring" or player.equipment.ring1 == "Capacity Ring" or player.equipment.ring1 == "Trizek Ring" or player.equipment.ring1 == "Dim. Ring (Dem)" or player.equipment.ring1 == "Dim. Ring (Mea)" or player.equipment.ring1 == "Dim. Ring (Holla)" or player.equipment.ring1 == "Echad Ring" or player.equipment.ring1 == "Emperor Band" or player.equipment.ring1 == "Reraise Ring" or player.equipment.ring1 == "Tavnazian Ring" or player.equipment.ring1 == "Caliber Ring" or player.equipment.ring1 == "Olduum Ring" or player.equipment.ring1 == "Facility Ring" then disable('ring1') else enable('ring1') end if player.equipment.ring2 == "Warp Ring" or player.equipment.ring2 == "Capacity Ring" or player.equipment.ring2 == "Trizek Ring" or player.equipment.ring2 == "Dim. Ring (Dem)" or player.equipment.ring2 == "Dim. Ring (Mea)" or player.equipment.ring2 == "Dim. Ring (Holla)" or player.equipment.ring2 == "Echad Ring" or player.equipment.ring2 == "Emperor Band" or player.equipment.ring2 == "Reraise Ring" or player.equipment.ring2 == "Tavnazian Ring" or player.equipment.ring2 == "Caliber Ring" or player.equipment.ring2 == "Olduum Ring" or player.equipment.ring2 == "Facility Ring" then disable('ring2') else enable('ring2') end if player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Aptitude Mantle +1" or player.equipment.back == "Aptitude Mantle" then disable('back') else enable('back') end if player.equipment.ear1 == "Terminus Earring" or player.equipment.ear1 == "Liminus Earring" or player.equipment.ear1 == "Reraise Earring" then disable('ear1') else enable('ear1') end if player.equipment.ear2 == "Terminus Earring" or player.equipment.ear2 == "Liminus Earring" or player.equipment.ear2 == "Reraise Earring" then disable('ear2') else enable('ear2') end if player.equipment.body == "Trench Tunic" then disable('body') else enable('body') end if player.equipment.hands == "Treefeller Gloves" then disable('hands') else enable('hands') end if player.equipment.legs == "Dredger Hose" then disable('legs') else enable('legs') end if player.equipment.feet == "Agrarian Boots" then disable('feet') else enable('feet') end end ------------------------------------------------------------------------------------------------------------------- -- Utility functions specific to this job. ------------------------------------------------------------------------------------------------------------------- -- Select default macro book on initial load or subjob change. function select_default_macro_book() set_macro_page(1, 3) end function set_lockstyle() send_command('wait 2; input /lockstyleset 6') end Bismarck.Syuevil said: » I'm stumped and was hoping to get some guidance. I noticed that when I cast Aspir III on GEO that my aspir set wasn't loading. I went into Mote-Mappings.lua and saw that Aspir III wasn't listed, which I thought was strange since I saw other Job Point spells like Drain III and all the Threnody IIs. So I went ahead and added it to the mappings and the specific line in the Mote-Mappings.lua should be this: Code ['Holy']='Holy',['Holy II']='Holy',['Drain']='Drain',['Drain II']='Drain',['Drain III']='Drain',['Aspir']='Aspir',['Aspir II']='Aspir',['Aspir III']='Aspir', Tried again and the issue persisted. I did an unload and load of GearSwap and nothing changed (logged and reload Windower too). So I entered DebugMode to try to figure out what was happening and Aspir III is being listed as Dark Magic (which it is) and using my DarkMagic midcast set. Any ideas on what might be behind this issue? I'm at work unfortunately and cannot list my GEO.lua at the moment. I do not have an Aspir mapping made in the GEO.lua (I have not tried this yet). I have one rule set that changes my Aspir spell to the next one if I try to cast a spell that is currently on cooldown but asides from that there isn't anything else happening. I don't have Dark Knight to test Drain III or Bard setup to test Threnody IIs, perhaps it's an issue with the Job Point spells? I'm pretty sure that my Full-Cure works correctly on my White Mage. Any ideas? Thanks so much! Not the prettiest way I think, but this is how I do it in my luas, Code sets.midcast.Drain = {main="Lathi", ammo="Pemphredo Tathlum", head="Pixie Hairpin +1", body=gear.DrainBody, hands=gear.DrainHands, legs="Spaekona's Tonban +3", feet=gear.DrainFeet, neck="Erra Pendant", waist="Fucho-no-Obi", left_ear="Hirudinea Earring", right_ear="Regal Earring", left_ring="Archon Ring", right_ring="Evanescence Ring", back=gear.FCCape,} sets.midcast.Aspir = sets.midcast.Drain sets.midcast["Aspir II"] = sets.midcast.Drain sets.midcast["Aspir III"] = sets.midcast.Drain Shiva.Hiep said: » Not the prettiest way I think, but this is how I do it in my luas, I just ended up defining a custom spell set and made a gear set for it. This is how I went about it: Code function job_setup() dark_magic_maps = {} dark_magic_maps.DrainAspir = S{ 'Drain', 'Aspir', 'Aspir II', 'Aspir III' } end function init_gear_sets() sets.midcast['Dark Magic'].DrainAspir = {whatever your set is} end function job_get_spell_map(spell, default_spell_map) if spell.skill == 'Dark Magic' then for category,spell_list in pairs(dark_magic_maps) do if spell_list:contains(spell.english) then return category end end end end Just perplexed that I couldn't get it universally defined in the Motes-Mappings.lua /shrug I just ported this from my Blue Mage lua. I'm having issues with Gearswap. I keep getting errors for inexplicable reasons with Mote libraries. Gear isn't swapping. I have been building sets with no issues using export... until just now. I tried exporting my current gear set and this is what was spit out.
Code { main="Contemplator +1", sub="Oneiros Grip", ammo="Homiliary", head="Ea Hat +1", body="Shamash Robe", hands={ name="Chironic Gloves", augments={'STR+7','Accuracy+3','"Refresh"+2','Accuracy+18 Attack+18','Mag. Acc.+9 "Mag.Atk.Bns."+9',}}, legs="Ea Slops +1", feet={ name="Arch. Sabots +3", augments={'Reduces Ancient Magic II MP cost',}}, neck="Loricate Torque +1", waist="Slipor Sash", left_ear="Lugalbanda Earring", right_ear="Sanare Earring", left_ring="Stikini Ring +1", right_ring="Stikini Ring +1", back="Moonlight Cape", } Not only is this gear different from what's equipped, you can't even have this particular amalgamation of gear equipped at once. I have tried downloading a fresh copy of mote libraries, gearswap, and banging my head against the wall. I've recently returned and am rewriting all my luas from what I can find online and attempt to recreate my old system. I have downloaded a lot of the new HD mod packs, which are awesome! Now I'm curious if I'm having issues on account of those dat mods. I have a small brain and limited reasoning abilities, so that only makes sense. If anyone could lend me a hand here I'd really appreciate it. https://pastebin.com/kyhp93iw Asura.Warusha said: » I'm having issues with Gearswap. I keep getting errors for inexplicable reasons with Mote libraries. Gear isn't swapping. I have been building sets with no issues using export... until just now. I tried exporting my current gear set and this is what was spit out. Code { main="Contemplator +1", sub="Oneiros Grip", ammo="Homiliary", head="Ea Hat +1", body="Shamash Robe", hands={ name="Chironic Gloves", augments={'STR+7','Accuracy+3','"Refresh"+2','Accuracy+18 Attack+18','Mag. Acc.+9 "Mag.Atk.Bns."+9',}}, legs="Ea Slops +1", feet={ name="Arch. Sabots +3", augments={'Reduces Ancient Magic II MP cost',}}, neck="Loricate Torque +1", waist="Slipor Sash", left_ear="Lugalbanda Earring", right_ear="Sanare Earring", left_ring="Stikini Ring +1", right_ring="Stikini Ring +1", back="Moonlight Cape", } Not only is this gear different from what's equipped, you can't even have this particular amalgamation of gear equipped at once. I have tried downloading a fresh copy of mote libraries, gearswap, and banging my head against the wall. I've recently returned and am rewriting all my luas from what I can find online and attempt to recreate my old system. I have downloaded a lot of the new HD mod packs, which are awesome! Now I'm curious if I'm having issues on account of those dat mods. I have a small brain and limited reasoning abilities, so that only makes sense. If anyone could lend me a hand here I'd really appreciate it. https://pastebin.com/kyhp93iw https://github.com/Windower/Lua/issues because gear export is handled by gearswap internally not by any include So, finally get back into 11 and all, My gearswap files work but I can't remember if there's a way to use them in actual macros ingame? I've tried stuff like //gs c equip but nothing seems to work? c:
/console gs c equip sets.engaged.Acc
The sets are case sensitive Shiva.Znitch said: » /console gs c equip sets.engaged.Acc The sets are case sensitive Carbuncle.Kigensuro said: » Asura.Warusha said: » I'm having issues with Gearswap. I keep getting errors for inexplicable reasons with Mote libraries. Gear isn't swapping. I have been building sets with no issues using export... until just now. I tried exporting my current gear set and this is what was spit out. Code { main="Contemplator +1", sub="Oneiros Grip", ammo="Homiliary", head="Ea Hat +1", body="Shamash Robe", hands={ name="Chironic Gloves", augments={'STR+7','Accuracy+3','"Refresh"+2','Accuracy+18 Attack+18','Mag. Acc.+9 "Mag.Atk.Bns."+9',}}, legs="Ea Slops +1", feet={ name="Arch. Sabots +3", augments={'Reduces Ancient Magic II MP cost',}}, neck="Loricate Torque +1", waist="Slipor Sash", left_ear="Lugalbanda Earring", right_ear="Sanare Earring", left_ring="Stikini Ring +1", right_ring="Stikini Ring +1", back="Moonlight Cape", } Not only is this gear different from what's equipped, you can't even have this particular amalgamation of gear equipped at once. I have tried downloading a fresh copy of mote libraries, gearswap, and banging my head against the wall. I've recently returned and am rewriting all my luas from what I can find online and attempt to recreate my old system. I have downloaded a lot of the new HD mod packs, which are awesome! Now I'm curious if I'm having issues on account of those dat mods. I have a small brain and limited reasoning abilities, so that only makes sense. If anyone could lend me a hand here I'd really appreciate it. https://pastebin.com/kyhp93iw https://github.com/Windower/Lua/issues because gear export is handled by gearswap internally not by any include From my experience, as long as you remember to right click the file tab in note++, and click save, you're good. Any issue i've had with changes not being applied properly all stemmed from the fact that im a dumbass, and had forgotten to click save after modding. Rule that out before anything else. Human error is lame ><
when using notepad++ with gearswap for editing you still need to remember to reload your gearswap file with //gs reload after you save your edited file
i forgot to mention if you load a file in notepad++ with the read-only flag you can clear it by going to Edit/Clear Read-Only Flag
How would I go about adding a debuff countdown to a non-Mote lua?
Specific situation: I want some way to track and alter sets based on whether or not the cumulative magic debuff is active from BLM -jas/Comet, and want the timer to include the time extension from empyrean pants. Basically, I just want to use a specific set for the first cast to place the debuff, then normal nuking gear for future casts until the debuff wears off. You could set a variable to os.clock(), then check the different between that variable and os.clock() to get the elapsed time, and use that in your logic to determine which set you cast in.
Trying to make it so that if I'm engaged and cast an offensive spell, e.g. Lullaby, it goes to stnpc instead of <t>. This is what I tried, but it doesn't seem to work... Any help appreciated because I'm at a loss for ideas to try next.
Code if player.status=='Engaged' and spell.target.is_npc then cancel_spell() send_command('input "' .. spell.name .. '" '<stnpc>';') end Thanks in advance for any ideas! Edit: Also tried the following, adding in ==true. Code if player.status=='Engaged' and spell.target.is_npc=="true" then cancel_spell() send_command('input "' .. spell.name .. '" '<stnpc>';') end Asura.Kazaki said: » Trying to make it so that if I'm engaged and cast an offensive spell, e.g. Lullaby, it goes to stnpc instead of <t>. This is what I tried, but it doesn't seem to work... Any help appreciated because I'm at a loss for ideas to try next. Code if player.status=='Engaged' and spell.target.is_npc then cancel_spell() send_command('input "' .. spell.name .. '" '<stnpc>';') end Thanks in advance for any ideas! Edit: Also tried the following, adding in ==true. Code if player.status=='Engaged' and spell.target.is_npc=="true" then cancel_spell() send_command('input "' .. spell.name .. '" '<stnpc>';') end Code if player.status=='Engaged' and spell.target.is_npc then change_target("<stnpc>") end but your biggest issue is this you need to send the same command you would in chat send_command('input /ma "' .. spell.name .. '" <stnpc>') send_command('input /ja "' .. spell.name .. '" <stnpc>') |
||
All FFXI content and images © 2002-2025 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|