Gearswap Support Thread

Eorzea Time
1:57 AM
 
 
 
言語: JP EN FR DE
日本語版のFFXIVPRO利用したい場合は、上記の"JP"を設定して、又はjp.ffxivpro.comを直接に利用してもいいです
users online
フォーラム » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 185 186
 Asura.Wizzykid
Offline
サーバ: Asura
Game: FFXI
Posts: 17
By Asura.Wizzykid 2025-04-03 13:49:28  
Hello all, I am having an issue with my RDM lua only, wherein all the spells are suddenly not casting in midcast gear. I see the lua processing sets appropriately, using equipviewer I can see that I am swapping into midcast gear, though the gear will then immediately swap back into idle. So I end up casting everything in idle before the spell actually fires in midcast, like it should.

This is only happening with my RDM lua, and my other jobs are not having this problem. I attempted researching this issue and came across an old SMN post which said to change the line 776 in helperfunctions.lua to change the 5 to a 6, as below. This seems to have done nothing.
Code
            local lim = (type(v) == 'table' and (v.spell and v.spell.cast_time and v.spell.cast_time*1.1+2 or
                v.spell and v.spell.prefix=='/pet' and 5 or


My RDM lua is linked here if anyone has any thoughts...


Thank you !
 Carbuncle.Yiazmaat
Offline
サーバ: Carbuncle
Game: FFXI
user: Rudra
Posts: 199
By Carbuncle.Yiazmaat 2025-04-09 03:35:45  
Hello,
I was wondering if anyone ever experienced instant crash, via Selindrile SCH lua's, by interrupting an SC or by using SC during Tabula Rasa. And i mean by using the gearswap SC command.
Im experiencing some of these lately, ive No idea of what could cause this.
Offline
Posts: 1
By Nightfall123 2025-04-13 05:07:27  
Is there anyone who could help me out via discord, setting up gearswap?
I have used it in the past and it was OK, but now it's just got a mind of its own and I don't know where to start.. I left the game because of it and I've recently came back again and the game is just unbearable.. I've even resorted to using in game equipment swaps but it's just not the same..
I've deleated the whole scripts, copied and pasted new ones from various templates, but it still selects the same gear when I engage.. even though the gear is nowhere in the script.
I don't mind paying for someone's time
Offline
Posts: 5
By Nedavets1 2025-04-13 14:56:00  
Hello!

I’m struggling with this lua I’ve been using from finanx. I can’t seem to get spae coat to equip when free nuking/MB when mp is low. I’m not sure how to turn mp coat mode on either. Any ideas how to fix this? Thank you!
Code
 -- Haste/DW Detection Requires Gearinfo Addon
-- Dressup is setup to auto load with this Lua
-- Itemizer addon is required for auto gear sorting / Warp Scripts / Range Scripts
--
-------------------------------------------------------------------------------------------------------------------
--  Keybinds (Global Binds for all Jobs)
-------------------------------------------------------------------------------------------------------------------
--  Modes:      	[ F9 ]              	Cycle Offense Mode
--              	[ F10 ]             	Cycle Idle Mode
--              	[ F11 ]             	Cycle Casting Mode
--              	[ F12 ]             	Update Current Gear / Report Current Status
--					[ CTRL + F9 ]			Cycle Weapon Skill Mode
--					[ ALT + F9 ]			Cycle Range Mode
--              	[ Windows + F9 ]    	Cycle Hybrid Modes
--			    	[ Windows + W ]         Toggles Weapon Lock OFF
--  				[ Windows + R ]         Toggles RegenMode
--					[ Windows + T ]			Toggles Treasure Hunter Mode
--              	[ Windows + C ]     	Toggle Capacity Points Mode
--              	[ Windows + I ]     	Pulls all items in Gear Retrieval
--
-- Warp Scripts:	[ CTRL + Numpad+ ]		Warp Ring
--					[ ALT + Numpad+ ]		Dimensional Ring Dem
--					[ Windows + Numpad+ ]	Dimensional Ring Holla
--					[ Shift + Numpad+ ]		Dimensional Ring Mea
--
-- Range Script:	[ CTRL + Numpad0 ] 		Ranged Attack
--
-- Toggles:			[ Windows + U ]			Stops Gear Swap from constantly updating gear
--					[ Windows + D ]			Unloads Dressup then reloads to change lockstyle
--
-------------------------------------------------------------------------------------------------------------------
--  Job Specific Keybinds (Scholar Binds)
-------------------------------------------------------------------------------------------------------------------
--
--	Modes:			[ Windows + M ]			Toggles Magic Burst Mode
--					[ Windows + S ]			Toggles Subtle Blow Mode
--					[ Windows + 1 ]			Sets Weapon to Maxentius then locks Main/Sub Slots
--					[ Windows + 2 ]			Sets Weapon to Xoanon then locks Main/Sub Slots
--					[ Windows + 3 ]			Sets Weapon to Musa then locks Main/Sub Slots
--
--	Echo Binds:		[ CTRL + Numpad- ]		Shows Main Weaponskill Binds in game
--					[ ALT + Numpad- ]		Shows Alternate Weaponskill Binds in game
--					[ Shift + Numpad- ]		Shows Item Binds in game
--					[ Windows + Numpad- ]	Shows Food/Weapon/Misc. Binds in game
--
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.
-------------------------------------------------------------------------------------------------------------------

-- 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()
    info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
        "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}

    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
	state.Buff['Mana Wall'] = buffactive['mana wall']  or false
	state.CoatMode = M{['description']='Coat Mode', 'Off', 'On'}
    state.CP = M(false, "Capacity Points Mode")
	
	include('Mote-TreasureHunter')

    no_swap_gear = S{"Warp Ring", "Dim. Ring (Dem)", "Dim. Ring (Holla)", "Dim. Ring (Mea)",
					"Trizek Ring", "Echad Ring", "Facility Ring", "Capacity Ring", "Emporox's Ring",}

    degrade_array = {
        ['Aspirs'] = {'Aspir','Aspir II'}
        }

    lockstyleset = 14

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.HybridMode:options('Normal', 'DT')
    state.WeaponskillMode:options('Normal')
    state.CastingMode:options('Normal', 'MACC')
    state.IdleMode:options('Normal', 'Death')
	state.TreasureMode:options('Tag', 'None')
	state.WeaponSet = M{['description']='Weapon Set', 'None', 'Mpaca', 'Hvergelmir', 'Laevateinn', 'Opashoro', 'Maxentius'}
	state.Element = M{['description']='Element', 'Fire', 'Blizzard', 'Aero', 'Stone', 'Thunder', 'Water'}
	
	state.MagicBurst = M{['description']='Magic Burst', 'Off', 'On'}

	--Includes Global Bind keys
	
	send_command('wait 2; exec Global-Binds.txt')

    --Scholar binds	

	send_command('wait 2; exec /BLM/BLM-Binds.txt')

	--Gear Retrieval Scripts
	
	send_command('wait 10; exec /BLM/BLM-Gear-Retrieval.txt')
	
	--Job settings

    select_default_macro_book()
    set_lockstyle()
	
	--Gearinfo Functions
	
    state.Auto_Kite = M(false, 'Auto_Kite')
    moving = false
	
end

-- Called when this job file is unloaded (eg: job change)
function user_unload()
	enable('main','sub','range','ammo','head','body','hands','legs','feet','neck','waist','left_ear','right_ear','left_ring','right_ring','back')

	--Remove Global Binds

	send_command('wait 1; exec Global-UnBinds.txt')
	
	--Gear Removal Script
	
	send_command('wait 1; exec /BLM/BLM-Gear-Removal.txt')
	
end

-- Define sets and vars used by this job file.
function init_gear_sets()

    ------------------------------------------------------------------------------------------------
    ---------------------------------------- Precast Sets ------------------------------------------
    ------------------------------------------------------------------------------------------------

    -- Precast sets to enhance JAs

    sets.precast.JA['Sublimation'] = {waist="Embla Sash",} --5
	sets.precast.JA['Manafont'] = {body={ name="Arch. Coat +3", augments={'Enhances "Manafont" effect',}},}

    -- Fast cast sets for spells
    sets.precast.FC = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Sapience Orb",
		head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
		body="Zendik Robe",
		hands={ name="Agwu's Gages", augments={'Path: A',}},
		legs={ name="Agwu's Slops", augments={'Path: A',}},
		feet={ name="Agwu's Pigaches", augments={'Path: A',}},
		neck="Orunmila's Torque",
		waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
		left_ear="Loquac. Earring",
		right_ear="Malignance Earring",
		left_ring="Prolix Ring",
		right_ring="Kishar Ring",
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}

    sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty, body="Crepuscular Cloak"})
    sets.precast.FC.Dispelga = set_combine(sets.precast.FC, {main="Daybreak", sub="Ammurapi Shield"})

	sets.precast.FC.Death = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Sapience Orb",
		head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
		body={ name="Ros. Jaseran +1", augments={'Path: A',}},
		hands={ name="Agwu's Gages", augments={'Path: A',}},
		legs={ name="Agwu's Slops", augments={'Path: A',}},
		feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
		neck="Orunmila's Torque",
		waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
		left_ear="Loquac. Earring",
		right_ear="Etiolation Earring",
		left_ring="Kishar Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
	
	sets.precast.RA = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		range="Trollbane",
		head={ name="Nyame Helm", augments={'Path: B',}},
		body={ name="Nyame Mail", augments={'Path: B',}},
		hands={ name="Nyame Gauntlets", augments={'Path: B',}},
		legs={ name="Nyame Flanchard", augments={'Path: B',}},
		feet={ name="Nyame Sollerets", augments={'Path: B',}},
		neck={ name="Loricate Torque +1", augments={'Path: A',}},
		waist="Cornelia's Belt",
		left_ear="Eabani Earring",
		right_ear="Mimir Earring",
		left_ring="Stikini Ring +1",
		right_ring="Stikini Ring +1",
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
		
		--Set used for Icarus Wing to maximize TP gain
	sets.precast.Wing = {}

    ------------------------------------------------------------------------------------------------
    ------------------------------------- Weapon Skill Sets ----------------------------------------
    ------------------------------------------------------------------------------------------------

    sets.precast.WS = {}

    sets.precast.WS['Vidohunir'] = {
		ammo="Pemphredo Tathlum",
		head="Pixie Hairpin +1",
		body={ name="Nyame Mail", augments={'Path: B',}},
		hands={ name="Nyame Gauntlets", augments={'Path: B',}},
		legs={ name="Nyame Flanchard", augments={'Path: B',}},
		feet={ name="Nyame Sollerets", augments={'Path: B',}},
		neck="Sibyl Scarf",
		waist="Hachirin-no-Obi",
		left_ear="Malignance Earring",
		right_ear="Regal Earring",
		left_ring="Archon Ring",
		right_ring="Freke Ring",
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}

	sets.precast.WS['Myrkr'] = {}
	
	sets.precast.WS['Starlight'] = {}
	
	sets.precast.WS['Shell Crusher'] = {}
	
	sets.precast.WS['Rock Crusher'] = {}
	
	sets.precast.WS['Shining Strike'] = {}
	
	sets.precast.WS['Cataclysm'] = {}


    ------------------------------------------------------------------------------------------------
    ---------------------------------------- Midcast Sets ------------------------------------------
    ------------------------------------------------------------------------------------------------

    sets.midcast.FastRecast = sets.precast.FC

    sets.midcast.Cure = {    
		main="Daybreak",
		sub="Ammurapi Shield",
		ammo="Staunch Tathlum +1",
		head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
		body="Shamash Robe",
		hands="Wicce Gloves +2",
		legs={ name="Agwu's Slops", augments={'Path: A',}},
		feet="Wicce Sabots +3",
		neck="Incanter's Torque",
		waist="Luminary Sash",
		left_ear="Mendi. Earring",
		right_ear="Meili Earring",
		left_ring="Menelaus's Ring",
		right_ring="Stikini Ring +1",
		back={ name="Fi Follet Cape +1", augments={'Path: A',}},}

	sets.midcast.CureSelf = {
	    main="Daybreak",
		sub="Ammurapi Shield",
		ammo="Staunch Tathlum +1",
		head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
		body="Shamash Robe",
		hands="Wicce Gloves +2",
		legs={ name="Agwu's Slops", augments={'Path: A',}},
		feet="Wicce Sabots +3",
		neck="Incanter's Torque",
		waist="Luminary Sash",
		left_ear="Mendi. Earring",
		right_ear="Meili Earring",
		left_ring="Menelaus's Ring",
		right_ring="Kunaji Ring",
		back={ name="Fi Follet Cape +1", augments={'Path: A',}},}

    sets.midcast.Curaga = {    
		main="Daybreak",
		sub="Ammurapi Shield",
		ammo="Staunch Tathlum +1",
		head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
		body="Shamash Robe",
		hands="Wicce Gloves +2",
		legs={ name="Agwu's Slops", augments={'Path: A',}},
		feet="Wicce Sabots +3",
		neck="Incanter's Torque",
		waist="Luminary Sash",
		left_ear="Mendi. Earring",
		right_ear="Meili Earring",
		left_ring="Menelaus's Ring",
		right_ring="Stikini Ring +1",
		back={ name="Fi Follet Cape +1", augments={'Path: A',}},}

    sets.midcast.StatusRemoval = sets.precast.FC

    sets.midcast['Enhancing Magic'] = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Sapience Orb",
		head={ name="Telchine Cap", augments={'"Fast Cast"+4','Enh. Mag. eff. dur. +10',}},
		body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +10',}},
		hands={ name="Telchine Gloves", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +9',}},
		legs={ name="Telchine Braconi", augments={'"Fast Cast"+3','Enh. Mag. eff. dur. +10',}},
		feet={ name="Telchine Pigaches", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
		neck="Incanter's Torque",
		waist="Embla Sash",
		left_ear="Mimir Earring",
		right_ear="Andoaa Earring",
		left_ring="Stikini Ring +1",
		right_ring="Stikini Ring +1",
		back={ name="Fi Follet Cape +1", augments={'Path: A',}},}

    sets.midcast.EnhancingDuration = {
	    main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Sapience Orb",
		head={ name="Telchine Cap", augments={'"Fast Cast"+4','Enh. Mag. eff. dur. +10',}},
		body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +10',}},
		hands={ name="Telchine Gloves", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +9',}},
		legs={ name="Telchine Braconi", augments={'"Fast Cast"+3','Enh. Mag. eff. dur. +10',}},
		feet={ name="Telchine Pigaches", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
		neck="Incanter's Torque",
		waist="Olympus Sash",
		left_ear="Mimir Earring",
		right_ear="Andoaa Earring",
		left_ring="Stikini Ring +1",
		right_ring="Stikini Ring +1",
		back={ name="Fi Follet Cape +1", augments={'Path: A',}},}

    sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},back="Grapevine Cape",})
	
	sets.midcast.RefreshSelf = set_combine(sets.midcast['Enhancing Magic'], {head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},waist="Olympus Sash",back="Grapevine Cape",})

    sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},hands="Regal Cuffs",})

    sets.midcast['Enfeebling Magic'] = {
	    main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Pemphredo Tathlum",
		body={ name="Cohort Cloak +1", augments={'Path: A',}},
		hands="Regal Cuffs",
		legs="Spae. Tonban +3",
		feet="Wicce Sabots +3",
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Malignance Earring",
		right_ear="Regal Earring",
		left_ring="Kishar Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Aurist's Cape +1", augments={'Path: A',}},}
	
	sets.midcast['Dia II'] = set_combine(sets.midcast['Enfeebling Magic'], {ammo="Per. Lucky Egg",body="Volte Jupon",waist="Chaac Belt",})
	
    sets.midcast['Dark Magic'] = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Pemphredo Tathlum",
		head="Wicce Petasos +3",
		body="Wicce Coat +3",
		hands="Spae. Gloves +3",
		legs="Spae. Tonban +3",
		feet="Wicce Sabots +3",
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Malignance Earring",
		right_ear="Regal Earring",
		left_ring="Kishar Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Aurist's Cape +1", augments={'Path: A',}},}

    sets.midcast.Drain = {
	    main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Pemphredo Tathlum",
		head="Wicce Petasos +3",
		body="Wicce Coat +3",
		hands="Wicce Gloves +2",
		legs="Spae. Tonban +3",
		feet={ name="Agwu's Pigaches", augments={'Path: A',}},
		neck="Erra Pendant",
		waist="Fucho-no-Obi",
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Evanescence Ring",
		right_ring="Archon Ring",
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}

    sets.midcast.Aspir = {
	    main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Pemphredo Tathlum",
		head="Wicce Petasos +3",
		body="Wicce Coat +3",
		hands="Wicce Gloves +2",
		legs="Spae. Tonban +3",
		feet={ name="Agwu's Pigaches", augments={'Path: A',}},
		neck="Erra Pendant",
		waist="Fucho-no-Obi",
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Evanescence Ring",
		right_ring="Archon Ring",
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}

    -- Elemental Magic
    sets.midcast['Elemental Magic'] = {
		main={ name="Bunzi's Rod", augments={'Path: A',}},
		sub="Ammurapi Shield",
		ammo="Pemphredo Tathlum",
		head="Wicce Petasos +3",
		body="Wicce Coat +3",
		hands="Wicce Gloves +2",
		legs="Wicce Chausses +3",
		feet="Wicce Sabots +3",
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Freke Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
		
	sets.midcast['Elemental Magic'].MPCoat = set_combine(sets.midcast['Elemental Magic'],{body="Spaekona's Coat +3",})

	sets.midcast['Elemental Magic'].MagicBurst = {
		main={ name="Bunzi's Rod", augments={'Path: A',}},
		sub="Ammurapi Shield",
		ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
		head="Wicce Petasos +3",
		body="Wicce Coat +3",
		hands={ name="Agwu's Gages", augments={'Path: A',}},
		legs="Wicce Chausses +3",
		feet={ name="Agwu's Pigaches", augments={'Path: A',}},
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Freke Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}

	sets.midcast['Elemental Magic'].MPCoatBurst = set_combine(sets.midcast['Elemental Magic'].MagicBurst,{body="Spaekona's Coat +3",})
		
    sets.midcast['Elemental Magic'].Resistant = {
		main={ name="Bunzi's Rod", augments={'Path: A',}},
		sub="Ammurapi Shield",
		ammo="Pemphredo Tathlum",
		head="Wicce Petasos +3",
		body="Wicce Coat +3",
		hands="Wicce Gloves +2",
		legs="Wicce Chausses +3",
		feet="Wicce Sabots +3",
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Freke Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
		
    sets.midcast['Elemental Magic'].Manawall = set_combine(sets.midcast['Elemental Magic'],{
		head="Wicce Petasos +3",
		body="Spaekona's Coat +3",
		hands="Wicce Gloves +2",
		feet="Wicce Sabots +3",
		right_ring="Defending Ring",
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},})
		
    sets.midcast['Elemental Magic'].ManawallBurst = set_combine(sets.midcast['Elemental Magic'].MagicBurst,{
		head="Wicce Petasos +3",
		body="Spaekona's Coat +3",
		hands="Wicce Gloves +2",
		feet="Wicce Sabots +3",
		right_ring="Defending Ring",
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},})
		
	sets.midcast.Death = {
	    main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
		head="Pixie Hairpin +1",
		body="Wicce Coat +3",
		hands={ name="Agwu's Gages", augments={'Path: A',}},
		legs="Wicce Chausses +3",
		feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Barkaro. Earring",
		right_ear="Etiolation Earring",
		left_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		right_ring="Archon Ring",
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
		
	sets.midcast.DeathMB = sets.midcast.Death
		
	sets.midcast.Comet = set_combine(sets.midcast['Elemental Magic'], {head="Pixie Hairpin +1",})
	sets.midcast.CometMB = set_combine(sets.midcast['Elemental Magic'].MagicBurst, {head="Pixie Hairpin +1",})

    sets.midcast.Impact = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Enki Strap",
		ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
		head=empty,
		body="Crepuscular Cloak",
		hands={ name="Agwu's Gages", augments={'Path: A',}},
		legs="Wicce Chausses +3",
		feet={ name="Agwu's Pigaches", augments={'Path: A',}},
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Freke Ring",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
	
    sets.midcast.Dispelga = set_combine(sets.midcast['Enfeebling Magic'], {main="Daybreak", sub="Ammurapi Shield"})
	
	sets.midcast.ElementalEnfeeble = {
		main={ name="Bunzi's Rod", augments={'Path: A',}},
		sub="Ammurapi Shield",
		ammo="Pemphredo Tathlum",
		head="Wicce Petasos +3",
		body="Spaekona's Coat +3",
		hands="Spae. Gloves +3",
		legs={ name="Arch. Tonban +3", augments={'Increases Elemental Magic debuff time and potency',}},
		feet={ name="Arch. Sabots +3", augments={'Increases Aspir absorption amount',}},
		neck={ name="Src. Stole +2", augments={'Path: A',}},
		waist={ name="Acuity Belt +1", augments={'Path: A',}},
		left_ear="Regal Earring",
		right_ear="Malignance Earring",
		left_ring="Stikini Ring +1",
		right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}

	sets.midcast.RA = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		range="Trollbane",
		head={ name="Nyame Helm", augments={'Path: B',}},
		body={ name="Nyame Mail", augments={'Path: B',}},
		hands={ name="Nyame Gauntlets", augments={'Path: B',}},
		legs={ name="Nyame Flanchard", augments={'Path: B',}},
		feet={ name="Nyame Sollerets", augments={'Path: B',}},
		neck={ name="Loricate Torque +1", augments={'Path: A',}},
		waist="Cornelia's Belt",
		left_ear="Eabani Earring",
		right_ear="Mimir Earring",
		left_ring="Stikini Ring +1",
		right_ring="Stikini Ring +1",
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
	
    -- Initializes trusts at iLvl 119
    sets.midcast.Trust = sets.precast.FC


    ------------------------------------------------------------------------------------------------
    ----------------------------------------- Idle Sets --------------------------------------------
    ------------------------------------------------------------------------------------------------

    sets.idle = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo="Staunch Tathlum +1",
		head="Wicce Petasos +3",
		body="Shamash Robe",
		hands={ name="Nyame Gauntlets", augments={'Path: B',}},
		legs={ name="Agwu's Slops", augments={'Path: A',}},
		feet="Wicce Sabots +3",
		neck="Sibyl Scarf",
		waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
		left_ear="Etiolation Earring",
		right_ear="Loquac. Earring",
		left_ring="Stikini Ring +1",
		right_ring="Stikini Ring +1",
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}
		
    sets.idle.Death = {
		main={ name="Mpaca's Staff", augments={'Path: A',}},
		sub="Khonsu",
		ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
		head="Wicce Petasos +3",
		body={ name="Ros. Jaseran +1", augments={'Path: A',}},
		hands={ name="Nyame Gauntlets", augments={'Path: B',}},
		legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
		feet="Wicce Sabots +3",
		neck="Sanctity Necklace",
		waist={ name="Shinjutsu-no-Obi +1", augments={'Path: A',}},
		left_ear="Etiolation Earring",
		right_ear="Loquac. Earring",
		left_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
		right_ring="Prolix Ring",
		back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10','Phys. dmg. taken-10%',}},}

    ------------------------------------------------------------------------------------------------
    ---------------------------------------- Defense Sets ------------------------------------------
    ------------------------------------------------------------------------------------------------

    sets.latent_refresh = {waist="Fucho-no-obi"}

    ------------------------------------------------------------------------------------------------
    ---------------------------------------- Engaged Sets ------------------------------------------
    ------------------------------------------------------------------------------------------------

    sets.engaged = {
	    ammo="Crepuscular pebble",
		head={ name="Nyame Helm", augments={'Path: B',}},
		body={ name="Nyame Mail", augments={'Path: B',}},
		hands={ name="Nyame Gauntlets", augments={'Path: B',}},
		legs={ name="Nyame Flanchard", augments={'Path: B',}},
		feet={ name="Nyame Sollerets", augments={'Path: B',}},
		neck="Combatant's Torque",
		waist="Eschan Stone",
		left_ear="Crep. Earring",
		right_ear="Mache Earring +1",
		left_ring="Chirich Ring +1",
		right_ring="Chirich Ring +1",
		back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}

    ------------------------------------------------------------------------------------------------
    ---------------------------------------- Special Sets ------------------------------------------
    ------------------------------------------------------------------------------------------------

	sets.Kiting = {left_ring="Shneddick Ring"}

    sets.buff.FullSublimation = {
       waist="Embla Sash", --5
       }

	sets.TreasureHunter = {
		ammo="Per. Lucky Egg", 		--TH1
		body="Volte Jupon",			--TH2
		waist="Chaac Belt",} 	 	--TH1
	
    sets.buff.Doom = {
		neck="Nicander's Necklace",
		waist="Gishdubar Sash", --10
        }

    sets.Obi = {waist="Hachirin-no-Obi"}
    sets.CP = {neck={ name="Argute Stole +2", augments={'Path: A',}},}
	
	--Weapon Sets

	sets.Maxentius = {main="Maxentius", sub="Daybreak",}
	sets.Maxentius.SW = {main="Maxentius", sub="Genmei Shield"}

	sets.Mpaca = {main={ name="Mpaca's Staff", augments={'Path: A',}}, sub="Khonsu",}
	
	sets.Hvergelmir = {main={ name="Mpaca's Staff", augments={'Path: A',}}, sub="Khonsu"}
	
	sets.Laevateinn = {main={ name="Mpaca's Staff", augments={'Path: A',}}, sub="Khonsu"}
	
	sets.Opashoro = {main="Opashoro", sub="Khonsu"}

end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific Functions
-------------------------------------------------------------------------------------------------------------------

function job_precast(spell, action, spellMap, eventArgs)
    if spell.name:startswith('Aspir') then
        refine_various_spells(spell, action, spellMap, eventArgs)
    end
end

function job_post_precast(spell, action, spellMap, eventArgs)
	if spell.name == 'Impact' then
        equip(sets.precast.FC.Impact)
    end
end

-- Run after the general midcast() is done.
function job_post_midcast(spell, action, spellMap, eventArgs)

    if spell.skill == 'Elemental Magic' then
		if state.MagicBurst.value == 'On' then
			if spell.english == "Death" then 
				equip(sets.midcast.DeathMB)
			elseif spell.english == "Comet" then
				equip(sets.midcast.CometMB)
			else
				if state.Buff['Mana Wall'] then
					equip(sets.midcast['Elemental Magic'].ManawallBurst)
				elseif state.CoatMode.value == 'On' then
					equip(sets.midcast['Elemental Magic'].MPCoatBurst)
				elseif player.mpp < 40 then
					equip(sets.midcast['Elemental Magic'].MPCoatBurst)
				else
					equip(sets.midcast['Elemental Magic'].MagicBurst)
				end
			end
		else
			if state.CoatMode.value == 'On' then
				equip(sets.midcast['Elemental Magic'].MPCoat)
			end
			
			if state.Buff['Mana Wall'] then
				equip(sets.midcast['Elemental Magic'].Manawall)
			end
		end

			--Equips gearset to cast Impact
		if spell.english == "Impact" then
                equip(sets.midcast.Impact)
        end
		
			--Equips gearset to cast Impact
		if spell.english == "Dispelga" then
                equip(sets.midcast.Dispelga)
        end
    end	

		--Changes Cure set if Curing yourself
    if spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.midcast.CureSelf)
    end
	
    if spell.skill == 'Elemental Magic' or spell.english == "Death" then
        if (spell.element == world.weather_element and (get_weather_intensity() == 2 and spell.element ~= elements.weak_to[world.day_element])) and spellMap ~= 'Helix' then
            equip(sets.Obi)
        -- Target distance under 1.7 yalms.
        elseif spell.target.distance < (1.7 + spell.target.model_size) then
            equip({waist="Orpheus's Sash"})
        -- Matching day and weather.
       elseif (spell.element == world.day_element and spell.element == world.weather_element) then
            equip(sets.Obi)
        -- Target distance under 8 yalms.
        elseif spell.target.distance < (8 + spell.target.model_size) then
            equip({waist="Orpheus's Sash"})
        -- Match day or weather.
       elseif (spell.element == world.day_element or spell.element == world.weather_element) then
            equip(sets.Obi)
        end
    end
	
    if spell.skill == 'Enhancing Magic' then
        if classes.NoSkillSpells:contains(spell.english) then
            equip(sets.midcast.EnhancingDuration)

			if spellMap == 'Refresh' then
				equip(sets.midcast.Refresh)
				if spell.target.type == 'SELF' then
					equip (sets.midcast.RefreshSelf)
				end
			end
			
        end
    end
end


function job_buff_change(buff,gain)

		--Handles Sublimation gear
    if buff == "Sublimation: Activated" then
        handle_equipping_gear(player.status)
    end

		--Auto equips Cursna Recieved doom set when doom debuff is on
    if buff == "doom" then
        if gain then
            equip(sets.buff.Doom)
            --send_command('@input /p Doomed.')
            disable('neck','waist')
        else
            enable('neck','waist')
            handle_equipping_gear(player.status)
        end
    end
	
end


-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------

function job_handle_equipping_gear(playerStatus, eventArgs)
    check_gear()
    check_moving()
	update_combat_form()
end

-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
    handle_equipping_gear(player.status)
    update_sublimation()
end

	--Adjusts Melee/Weapon sets for Dual Wield or Single Wield
function update_combat_form()

	if state.WeaponSet.value == 'Mpaca' then
		enable('main','sub')
		equip(sets.Mpaca)
		disable('main','sub')
	elseif state.WeaponSet.value == 'Hvergelmir' then
		enable('main','sub')
		equip(sets.Hvergelmir)
		disable('main','sub')
	elseif state.WeaponSet.value == 'Laevateinn' then
		enable('main','sub')
		equip(sets.Laevateinn)
		disable('main','sub')
	elseif state.WeaponSet.value == 'Opashoro' then
		enable('main','sub')
		equip(sets.Opashoro)
		disable('main','sub')
	elseif state.WeaponSet.value == 'Maxentius' then
		if player.sub_job == 'DNC' or player.sub_job == 'NIN' then
			enable('main','sub')
			equip(sets.Maxentius)
			disable('main','sub')
		else
			enable('main','sub')
			equip(sets.Maxentius.SW)
			disable('main','sub')
		end
	elseif state.WeaponSet.value == 'None' then
		enable('main','sub')
	end

end

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
    if spell.action_type == 'Magic' then
        if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
            if (world.weather_element == 'Light' or world.day_element == 'Light') then
                return 'CureWeather'
            end
        end
    end
end

function customize_idle_set(idleSet)

    if state.Buff['Sublimation: Activated'] then
        idleSet = set_combine(idleSet, sets.buff.FullSublimation)
    end
	
    if player.mpp < 51 and state.IdleMode.value == 'Normal' then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
	
    if state.CP.current == 'on' then
		equip(sets.CP)
		disable('back')
	else
	enable('back')
	end
	
    if state.Auto_Kite.value == true then
       idleSet = set_combine(idleSet, sets.Kiting)
    end

    return idleSet
end

-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)

    local c_msg = state.CastingMode.value

    local i_msg = state.IdleMode.value

    local co_msg = state.CoatMode.value
	
	local th_msg = state.TreasureMode.value

	local mb_msg = state.MagicBurst.value
	
    local e_msg = state.Element.value
    local e_color = ''
    if state.Element.current == 'Fire' then e_color = 167
    elseif state.Element.current == 'Blizzard' then e_color = 210
    elseif state.Element.current == 'Aero' then e_color = 204
    elseif state.Element.current == 'Stone' then e_color = 050
    elseif state.Element.current == 'Thunder' then e_color = 215
    elseif state.Element.current == 'Water' then e_color = 207 end

    local msg = ''

    add_to_chat(e_color, string.char(129,121).. '  ' ..string.upper(e_msg).. '  ' ..string.char(129,122) ..string.char(31,002)..  ' | '
		..string.char(31,060).. '| Magic: ' ..string.char(31,001)..c_msg.. string.char(31,002)..  ' |'
        ..string.char(31,040).. ' CoatMode: ' ..string.char(31,001)..co_msg.. string.char(31,002)..  ' |'
		..string.char(31,040).. ' Burst: ' ..string.char(31,001)..mb_msg.. string.char(31,002)..  ' |'
        ..string.char(31,008).. ' Idle: ' ..string.char(31,001)..i_msg.. string.char(31,002)..  ' |'
		..string.char(31,002).. ' TH: ' ..string.char(31,001)..th_msg.. string.char(31,002)..  ' |'
        ..string.char(31,002)..msg)

    eventArgs.handled = true
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------

-- Called for direct player commands.
function job_self_command(cmdParams, eventArgs)
    gearinfo(cmdParams, eventArgs)
	if cmdParams[1]:lower() == 'element1' then
        send_command('@input /ma "'..state.Element.value..'" <t>')
	elseif cmdParams[1]:lower() == 'element2' then
        send_command('@input /ma "'..state.Element.value..' II" <t>')
	elseif cmdParams[1]:lower() == 'element3' then
        send_command('@input /ma "'..state.Element.value..' III" <t>')
	elseif cmdParams[1]:lower() == 'element4' then
        send_command('@input /ma "'..state.Element.value..' IV" <t>')
	elseif cmdParams[1]:lower() == 'element5' then
        send_command('@input /ma "'..state.Element.value..' V" <t>')
	elseif cmdParams[1]:lower() == 'element6' then
        send_command('@input /ma "'..state.Element.value..' VI" <t>')
	end
	if cmdParams[1]:lower() == 'elementja' then
		if state.Element.value == 'Fire' then
			send_command('@input /ma "Firaja" <t>')
		elseif state.Element.value == 'Blizzard' then
			send_command('@input /ma "Blizzaja" <t>')
		elseif state.Element.value == 'Thunder' then
			send_command('@input /ma "Thundaja" <t>')
		else
			send_command('@input /ma "'..state.Element.value..'ja" <t>')
		end
	end
	if cmdParams[1]:lower() == 'elementga1' then
		if state.Element.value == 'Fire' then
			send_command('@input /ma "Firaga" <t>')
		elseif state.Element.value == 'Blizzard' then
			send_command('@input /ma "Blizzaga" <t>')
		elseif state.Element.value == 'Thunder' then
			send_command('@input /ma "Thundaga" <t>')
		else
			send_command('@input /ma "'..state.Element.value..'ga" <t>')
		end
	end
	if cmdParams[1]:lower() == 'elementga2' then
		if state.Element.value == 'Fire' then
			send_command('@input /ma "Firaga II" <t>')
		elseif state.Element.value == 'Blizzard' then
			send_command('@input /ma "Blizzaga II" <t>')
		elseif state.Element.value == 'Thunder' then
			send_command('@input /ma "Thundaga II" <t>')
		else
			send_command('@input /ma "'..state.Element.value..'ga II" <t>')
		end
	end
	if cmdParams[1]:lower() == 'elementga3' then
		if state.Element.value == 'Fire' then
			send_command('@input /ma "Firaga III" <t>')
		elseif state.Element.value == 'Blizzard' then
			send_command('@input /ma "Blizzaga III" <t>')
		elseif state.Element.value == 'Thunder' then
			send_command('@input /ma "Thundaga III" <t>')
		else
			send_command('@input /ma "'..state.Element.value..'ga III" <t>')
		end
	end
	if cmdParams[1]:lower() == 'elementam1' then
		if state.Element.value == 'Fire' then
			send_command('@input /ma "Flare" <t>')
		elseif state.Element.value == 'Blizzard' then
			send_command('@input /ma "Freeze" <t>')
		elseif state.Element.value == 'Aero' then
			send_command('@input /ma "Tornado" <t>')
		elseif state.Element.value == 'Stone' then
			send_command('@input /ma "Quake" <t>')
		elseif state.Element.value == 'Thunder' then
			send_command('@input /ma "Burst" <t>')
		elseif state.Element.value == 'Water' then
			send_command('@input /ma "Flood" <t>')
		end
	end
	if cmdParams[1]:lower() == 'elementam2' then
		if state.Element.value == 'Fire' then
			send_command('@input /ma "Flare II" <t>')
		elseif state.Element.value == 'Blizzard' then
			send_command('@input /ma "Freeze II" <t>')
		elseif state.Element.value == 'Aero' then
			send_command('@input /ma "Tornado II" <t>')
		elseif state.Element.value == 'Stone' then
			send_command('@input /ma "Quake II" <t>')
		elseif state.Element.value == 'Thunder' then
			send_command('@input /ma "Burst II" <t>')
		elseif state.Element.value == 'Water' then
			send_command('@input /ma "Flood II" <t>')
		end
	end
end

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

function gearinfo(cmdParams, eventArgs)
    if cmdParams[1] == 'gearinfo' then
        if type(cmdParams[4]) == 'string' then
            if cmdParams[4] == 'true' then
                moving = true
            elseif cmdParams[4] == 'false' then
                moving = false
            end
        end
        if not midaction() then
            job_update()
        end
    end
end

function update_sublimation()
    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
end

function refine_various_spells(spell, action, spellMap, eventArgs)
    local newSpell = spell.english
    local spell_recasts = windower.ffxi.get_spell_recasts()
    local cancelling = 'All '..spell.english..' are on cooldown. Cancelling.'

    local spell_index

    if spell_recasts[spell.recast_id] > 0 then
        if spell.name:startswith('Aspir') then
            spell_index = table.find(degrade_array['Aspirs'],spell.name)
            if spell_index > 1 then
                newSpell = degrade_array['Aspirs'][spell_index - 1]
                send_command('@input /ma '..newSpell..' '..tostring(spell.target.raw))
                eventArgs.cancel = true
            end
        end
    end
end

function check_moving()
    if state.DefenseMode.value == 'None'  and state.Kiting.value == false then
        if state.Auto_Kite.value == false and moving then
            state.Auto_Kite:set(true)
        elseif state.Auto_Kite.value == true and moving == false then
            state.Auto_Kite:set(false)
        end
    end
end

	--Allows equipping of warp/exp rings without auto swapping back to current set
function check_gear()
    if no_swap_gear:contains(player.equipment.left_ring) then
        disable("ring1")
    else
        enable("ring1")
    end
    if no_swap_gear:contains(player.equipment.right_ring) then
        disable("ring2")
    else
        enable("ring2")
    end
end

windower.register_event('zone change',
    function()
        if no_swap_gear:contains(player.equipment.left_ring) then
            enable("ring1")
            equip(sets.idle)
        end
        if no_swap_gear:contains(player.equipment.right_ring) then
            enable("ring2")
            equip(sets.idle)
        end
    end
)

-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    set_macro_page(1, 15)
end

function set_lockstyle()
    send_command('wait 2; input /lockstyleset ' .. lockstyleset)
end
 Valefor.Erhagorn
Offline
サーバ: Valefor
Game: FFXI
Posts: 14
By Valefor.Erhagorn 2025-04-13 21:10:04  
No Spae Coat mode binds that I see

Try adding
state.SpaeCoat = M('Auto', 'On') --'On'

-- Additional local binds
send_command('bind ^` input //gs c cycle SpaeCoat')

Line 95ish

Need Event arguments too


if not buffactive['Manafont'] and spell.skill == "Elemental Magic" and spellMap ~= "ElementalEnfeeble" and spell.english ~= "Impact" and spell.english ~= "Death" then
if state.SpaeCoat.current == 'On' or (state.SpaeCoat.current == 'Auto' and player.mpp <= 30) then -- .mpp was 60 before
equip({body = "Spaekona's Coat +2"})
if state.CastingMode.current == 'Burst' then
--

end
end
end


But I'd start with another LUA and plug your gear in
 Bahamut.Ayasha
Offline
サーバ: Bahamut
Game: FFXI
user: Ayasha
Posts: 97
By Bahamut.Ayasha 2025-04-14 09:31:18  
That Lua already has a "Coat Mode" and code to handle it. Can just set a bind to cycle CoatMode - Reference lines 65 and 697-699. To use the example above, can use the below binding and it should work out of the box without adding additional language - just will need to ensure you have the correct coat specified in the gear section - line 426, possibly elsewhere as well.

send_command('bind ^` input //gs c cycle CoatMode')

This lua tries to load some external files for binds and such - lines 98 - 108. The additional binds (to include the weapon locking and MP coat stuff) can probably be found in the Global-Binds or BLM-Binds text files.
[+]
 Asura.Jsmooth
Offline
サーバ: Asura
Game: FFXI
Posts: 3
By Asura.Jsmooth 2025-04-14 19:24:38  
I'm testing different staves with different ninjutsu spells. Does anybody have the logic / rules I can add to my nin.lua to auto switch staves when casting various ninjutsu elemental spells?
 Quetzalcoatl.Darthjohnboy
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: johnno25
Posts: 31
By Quetzalcoatl.Darthjohnboy 2025-04-25 08:20:03  
Posting for a friend since he can't post yet:

Hello all,

Need assistance with a Gearswap related endeavor, I've tried my best to figure this out on my own but to no avail.
I generally use Arislan Gearswaps and they all have this built in function where if you manually unequip a piece of gear
it will automatically re-equip the relevant gear for that slot. Sort of like an infinite self auto-updating feature.

However, my PLD Gearswap is not from the Arislan eco-system and for this update to occur I have to hit F12 manually.
This is undesireable as sometimes I will get stuck in a FC set for an extended period of time and likely results in death.
How or would it be possible to add this feature from Arislan Gearswaps into my PLD gearswap?

Any assistance would be greatly appreciated, apologies if this was already addressed and I missed it in my searches.

Thank you
Offline
Posts: 73
By Genoxd 2025-04-25 10:15:00  
Why are you ever manually swapping in gear during a fight if you're using gearswap?

I think you should just put your fastcast set in instead
Offline
Posts: 2
By Magicturd 2025-04-25 11:24:42  
Quetzalcoatl.Darthjohnboy said: »
Posting for a friend since he can't post yet:

Hello all,

Need assistance with a Gearswap related endeavor, I've tried my best to figure this out on my own but to no avail.
I generally use Arislan Gearswaps and they all have this built in function where if you manually unequip a piece of gear
it will automatically re-equip the relevant gear for that slot. Sort of like an infinite self auto-updating feature.

However, my PLD Gearswap is not from the Arislan eco-system and for this update to occur I have to hit F12 manually.
This is undesireable as sometimes I will get stuck in a FC set for an extended period of time and likely results in death.
How or would it be possible to add this feature from Arislan Gearswaps into my PLD gearswap?

Any assistance would be greatly appreciated, apologies if this was already addressed and I missed it in my searches.

Thank you

Hey all, got my forum access now, I'm the one who requested this, thanks for posting on my behalf in the interim!

Genoxd said: »
Why are you ever manually swapping in gear during a fight if you're using gearswap?

I think you should just put your fastcast set in instead

I do have my fastcast in, it's just sometimes it hangs on it while swapping. This auto-swap that refreshes instantly would prevent that from happening with my other jobs but the function doesn't exist on my PLD LUA. There is something unique to Arislan LUA's that has this that I cannot figure out how to port over. This is my struggle.
Offline
Posts: 2
By Magicturd 2025-04-25 14:03:47  
Magicturd said: »
Quetzalcoatl.Darthjohnboy said: »
Posting for a friend since he can't post yet:

Hello all,

Need assistance with a Gearswap related endeavor, I've tried my best to figure this out on my own but to no avail.
I generally use Arislan Gearswaps and they all have this built in function where if you manually unequip a piece of gear
it will automatically re-equip the relevant gear for that slot. Sort of like an infinite self auto-updating feature.

However, my PLD Gearswap is not from the Arislan eco-system and for this update to occur I have to hit F12 manually.
This is undesireable as sometimes I will get stuck in a FC set for an extended period of time and likely results in death.
How or would it be possible to add this feature from Arislan Gearswaps into my PLD gearswap?

Any assistance would be greatly appreciated, apologies if this was already addressed and I missed it in my searches.

Thank you

Hey all, got my forum access now, I'm the one who requested this, thanks for posting on my behalf in the interim!

Genoxd said: »
Why are you ever manually swapping in gear during a fight if you're using gearswap?

I think you should just put your fastcast set in instead

I do have my fastcast in, it's just sometimes it hangs on it while swapping. This auto-swap that refreshes instantly would prevent that from happening with my other jobs but the function doesn't exist on my PLD LUA. There is something unique to Arislan LUA's that has this that I cannot figure out how to port over. This is my struggle.

Cancel this request, it was solved by a friend! The function is tied to gearinfo, once we added that into the LUA it worked.

Thank you for support!
Offline
Posts: 5
By Nedavets1 2025-04-25 16:13:37  
Thanks Erhagorn and Ayasha.

edit:
Coat Mode seems to work when typing in the specific script //gs c cycle CoatMode.
I'm unable to bind this to a key, keeps coming up as error and when trying to use function, it uses previously set function, ex. "hybrid mode"

any ideas how to bind to a key?
First Page 2 3 ... 185 186