Gearswap Support Thread

Langues: JP EN DE FR
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 158 159 160 ... 181 182 183
 Bismarck.Xurion
Offline
Serveur: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2020-05-02 04:11:44
Link | Citer | R
 
Asura.Keja said: »
Asura.Keja said: »
Hey guys.
I use Motenten's gearswap as a base..
I was wondering if there's an easy way to code in a piece some gear depending on songs for certain TP sets?


Basically..

under sets.engaged={} , I would have something like "left_ear=gear.BardSong1" if Bard Songs were active?

shameless bump ^^;
This is possible - it's how motes handles the elemental obi.

I don't use/have experience with Motenten's files, but in motes you have a bunch of set customising functions, such as customize_melee_set, that allows you to add set logic. As an example, you can equip a specific set for Honor March like this:
Code
function customize_melee_set(meleeSet)
    if buffactive['Honor March'] and meleeSet.march then
        meleeSet = meleeSet.march
    end

    -- other conditions here...

    return meleeSet
end
 Asura.Keja
Offline
Serveur: Asura
Game: FFXI
user: Cleric
Posts: 50
By Asura.Keja 2020-05-03 20:28:34
Link | Citer | R
 
i'll try it out, thanks!
[+]
 Asura.Azagarth
Offline
Serveur: Asura
Game: FFXI
user: Azagarth
Posts: 1325
By Asura.Azagarth 2020-05-07 14:55:42
Link | Citer | R
 
Trying to figure out how to equip gear that enhances holy water, when i use holy water from the menue, not a macro. Possible?

If it cant be done with gs, can it be done with react?
 Bismarck.Xurion
Offline
Serveur: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2020-05-07 15:31:51
Link | Citer | R
 
Unless something changed in the past couple years, no - assuming this is still the answer: https://www.ffxiah.com/forum/topic/41580/gearswap-support-thread/136/#3344223

The conversation following that answer does suggest options though so worth checking out.
 Asura.Chrillix
Offline
Serveur: Asura
Game: FFXI
user: chrillix
Posts: 2
By Asura.Chrillix 2020-05-22 12:33:07
Link | Citer | R
 
Hello! (Long time observer, first time poster!)

I'm attempting to have GS equip my Councilor's Garb automatically when I enter an Adoulin Zone. I've got it to the point where if I update my status (cyclying TH Mode for example), the garb will equip. However, it won't just automatically happen on zone change.

I'm using Byrth's set of files to start from.

In Mote-Mappings.lua I added the following line:
Code
areas.AdoulinCity = S{'Eastern Adoulin','Western Adoulin','Mog Garden','Celennia Memorial Library'}

In my THF.lua I have the following:
Code
function customize_idle_set(idleSet)
    if player.hpp < 80 then
        idleSet = set_combine(idleSet, sets.ExtraRegen)
    end
    if areas.AdoulinCity:contains(world.area) then
        idleSet = set_combine(idleSet, {body="Councilor's Garb"})
    end
    return idleSet
end


Any suggestions? Also is there a better file I could put this under so it occurs not just when I'm on THF?

Thanks!
Offline
Posts: 8
By militades 2020-05-24 21:57:01
Link | Citer | R
 
Just realized this is a sticky post and all the gearswap questions come here, copying my query post I made and pasting it here

Hi All,

Not sure if this question has been asked before, if there is something similar and I didn't see it, you can refer me to that thread. I'm no programmer so I'm struggling to alter the lua I ripped of the internet to do the following: -

1. Change weapon based on keystroke

This is what I added not sure what I am doing wrong (bold are what I added)

function get_sets()
mote_include_version = 2

-- Load and initialize the include file.
include('Mote-Include.lua')
end
function user_setup()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'PDT', 'Reraise')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'HP', 'Reraise', 'Charm')
state.MagicalDefenseMode:options('MDT', 'HP', 'Reraise', 'Charm')
state.ExtraDefenseMode = M{['description']='Extra Defense Mode', 'None', 'MP', 'Knockback', 'MP_Knockback'}
state.CombatWeapon = M('KOTR','Savage')
state.EquipShield = M(false, 'Equip Shield w/Defense')

update_defense_mode()

-- Allows the use of Ctrl + ~ and Alt + ~ for 2 more macros of your choice.
send_command('bind !` input /ja "Intervene" <stnpc>') --Ctrl'~'
send_command('bind ^` input /ja "Invincible" <me>') --Alt'~'
send_command('bind ^f11 gs c cycle MagicalDefenseMode') --^ means ctrl
send_command('bind !f11 gs c cycle ExtraDefenseMode') -- ! means alt
send_command('bind @f1 gs c cycle CombatWeapon')
send_command('bind @f10 gs c toggle EquipShield') --@ means windows button
send_command('bind @f11 gs c toggle EquipShield')

select_default_macro_book()
end

function init_gear_sets()
--------------------------------------
-- Weapons
--------------------------------------

sets.weapon = {}
sets.weapon.KOTR = {main="Excalibur",}
sets.weapon.Savage = {main="Kaja Sword",}
end

-- Equip Weapon
function equip_weapon(weaponSet)
if state.weapon.value ~= 'KOTR' then
equip(sets.weapon.KOTR)
end

if state.weapon.value ~= 'Savage' then
equip(sets.weapon.Savage)
end

return weaponSet
end

Any help is greatly appreciated

My lua file if anyone needs it to see what went wrong
Offline
Posts: 1186
By Boshi 2020-05-26 20:32:36
Link | Citer | R
 
Does anyone know a way to modify a macro where if i press one button vs another I can add a certain piece of gear to the WS (or w/e) when it fires off.

basically just trying to figure out a way where one button Rudra goes off normal, but it I press another macro it fires off but just adds in Sacro MantLe.
 Shiva.Arislan
Offline
Serveur: Shiva
Game: FFXI
user: Arislan
Posts: 1052
By Shiva.Arislan 2020-05-26 21:04:32
Link | Citer | R
 
Set up a toggle:
Code
state.Sacro = M(false, 'Sacro Mantle')


Create a post precast check to equip mantle if toggle is true:
Code
function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.type == "WeaponSkill" then
        if state.Sacro.value == true then
            equip({back="Sacro Mantle"})
            state.Sacro:reset()
        end
    end
end


Then set up your macro like this:
Code
/console gs c set Sacro true
/ws "Rudra's Storm" <t>


Or you can use a keybind:
Code
send_command('bind ^YOURKEY gs c set Sacro true;input /ws "Rudra\'s Storm" <t>')
[+]
 Asura.Arico
Offline
Serveur: Asura
Game: FFXI
user: Tename
Posts: 535
By Asura.Arico 2020-05-26 21:08:20
Link | Citer | R
 
Boshi said: »
Does anyone know a way to modify a macro where if i press one button vs another I can add a certain piece of gear to the WS (or w/e) when it fires off.

basically just trying to figure out a way where one button Rudra goes off normal, but it I press another macro it fires off but just adds in Sacro MantLe.

The best way would be to not use a macro, but program into your gearswap the situations you want the Sacro mantle, and have it swap accordingly.

Otherwise you could make a toggle for using sacro mantle for rudras and add that to your macro. If you want to post your whole gearswap I can probably add it for you.
Offline
Posts: 1186
By Boshi 2020-05-26 22:11:14
Link | Citer | R
 
Shiva.Arislan said: »
Set up a toggle:
Code
state.Sacro = M(false, 'Sacro Mantle')


Create a post precast check to equip mantle if toggle is true:
Code
function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.type == "WeaponSkill" then
        if state.Sacro.value == true then
            equip({back="Sacro Mantle"})
            state.Sacro:reset()
        end
    end
end


Then set up your macro like this:
Code
/console gs c set Sacro true
/ws "Rudra's Storm" <t>


Or you can use a keybind:
Code
send_command('bind ^YOURKEY gs c set Sacro true;input /ws "Rudra\'s Storm" <t>')

Thanks! ill try it when i get on, tyvm
Offline
Posts: 1
By Thornhill21 2020-06-03 11:37:41
Link | Citer | R
 
Hi everyone, recently returned to Final Fantasy after 10+ years away. I have leveled and somewhat geared my Sch, but keep getting bad GS Luas off the internet ; ; i would like a completely automated GS Sch Lua, the closest one i have is added below. but i keep getting 2 errors! one is related to aftercast and the other is related to SoloSC. i know nothing about coding unfortunately and i have had enough after 3 weeks of trying to get a Lua working and keep failing please help!!

gearswap-scholarFFxi-master\SCH.lua from Github

not sure how to post it like others have in the thread sorry.
 Bismarck.Xurion
Offline
Serveur: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2020-06-04 05:38:16
Link | Citer | R
 
Thornhill21 said: »
Hi everyone, recently returned to Final Fantasy after 10+ years away. I have leveled and somewhat geared my Sch, but keep getting bad GS Luas off the internet ; ; i would like a completely automated GS Sch Lua, the closest one i have is added below. but i keep getting 2 errors! one is related to aftercast and the other is related to SoloSC. i know nothing about coding unfortunately and i have had enough after 3 weeks of trying to get a Lua working and keep failing please help!!

gearswap-scholarFFxi-master\SCH.lua from Github

not sure how to post it like others have in the thread sorry.
Do you have the link to it?

When you say completely automated, it sounds more like a bot - what is it you're looking for Gearswap to automate?
 Bahamut.Sephiran
Guildwork Premium
Offline
Serveur: Bahamut
Game: FFXI
user: Sephiran
Posts: 40
By Bahamut.Sephiran 2020-06-10 09:02:59
Link | Citer | R
 
This is a very general question. Is the equip(...) user function executed synchronously? There certain cases where I have macros in that execute self-commands for WS's under special circumstances that can't really fall into processing done in precast and I'd like to know if I need to call user_sleep(delay) after calling equip(...) to give the system time to actually swap my equipment before executing the next command in sequence.

As an example, the macro:
Code
/console gs c ExampleCommand


And the code behind the command:
Code
function self_command(command)
     if command == "ExampleCommand"
          equip(sets.set1)
          send_command('input /ws "Fast Blade" <t>"')
          equip(sets.set2)
     end
end


Could Fast Blade possibly execute if the logic going on in equip(sets.set1) is still actively "working" to equip the contents of set1? Or could set2 begin equipping before Fast Blade is executed?
 Ragnarok.Lowen
Offline
Serveur: Ragnarok
Game: FFXI
user: Rorrick
Posts: 316
By Ragnarok.Lowen 2020-06-12 06:00:36
Link | Citer | R
 
Using Motenten's gearswap for PLD, which is working fine except for I have no swaps at all happening for Enlight II. It's the only spell not doing any swapping and I don't have any specific set for it defined, but I would still expect to be equipping my fast cast gear for it at least.

Anyone have any ideas where I should look to try to fix this? I checked his mappings file but it's listed there, and in his utility file it equips precast.FC for anything classified as "Magic", but I can't figure out where that mapping lives. Using //gs debugmode shows zero events firing when casting Enlight II, but all the ones I would expect for Enlight.
 Ragnarok.Lowen
Offline
Serveur: Ragnarok
Game: FFXI
user: Rorrick
Posts: 316
By Ragnarok.Lowen 2020-06-15 14:02:10
Link | Citer | R
 
Figured out the issue.

If you're not using the shortcuts addon, wrapping your spell names in single quotes seems to prevent gearswap from parsing the action properly, and no events fire as a result (which means nothing is triggering a gear swap).

/ma "Enlight II" <me> will work fine

/ma 'Enlight II' <me> will break gearswap, even though it's legal syntax for a spell command in vanilla.
 Bismarck.Xurion
Offline
Serveur: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2020-06-16 19:00:36
Link | Citer | R
 
I'm no expert on the inner-workings of GS, but I'm pretty sure it reads outgoing/incoming packets to make decisions. I'd be interested to see how the quotes made any difference.

Could you share your file?
 Ragnarok.Lowen
Offline
Serveur: Ragnarok
Game: FFXI
user: Rorrick
Posts: 316
By Ragnarok.Lowen 2020-06-16 21:21:01
Link | Citer | R
 
My PLD lua is just the standard template from Motenten's github, slightly modified with my gear plugged in mostly.

It does have to read the text buffer to do things though. Byrth posted a bit on why it was happening in the BG gearswap help thread:

Quote:
So, when you use a spell from the magic menu, it actually creates a text command and sends it to the outgoing text buffer as if you had typed it.

GearSwap was intended to parse exactly that syntax, which uses double quotes (and is well defined).
Shortcuts was the one that was supposed to handle converting every other command format to the standard input format.

Arguably Shortcuts should only touch invalid commands and GearSwap should interpret any commands that the game would interpret, but that isn't how it was designed (and there isn't a description of what commands the vanilla game can interpret).
[+]
Offline
Posts: 42645
By Jetackuu 2020-06-16 22:07:51
Link | Citer | R
 
pretty sure you have to escape quotes, who uses single quotes in game?
 Ragnarok.Lowen
Offline
Serveur: Ragnarok
Game: FFXI
user: Rorrick
Posts: 316
By Ragnarok.Lowen 2020-06-18 16:13:05
Link | Citer | R
 
Using /item requires single quotes I believe.
 Ragnarok.Martel
Offline
Serveur: Ragnarok
Game: FFXI
Posts: 2899
By Ragnarok.Martel 2020-06-18 17:01:54
Link | Citer | R
 
Ragnarok.Lowen said: »
Using /item requires single quotes I believe.
I've never used single quotes for an item command, even before shortcuts, gearswap, and even spellcast.

So that can't possibly be an FFXI requirement. It could maybe be relevant if you're using gearswap, but not using shortcuts? I'd have to test. But seriously, just load shortcuts.
[+]
 Ragnarok.Lowen
Offline
Serveur: Ragnarok
Game: FFXI
user: Rorrick
Posts: 316
By Ragnarok.Lowen 2020-06-18 19:23:39
Link | Citer | R
 
Yeah I already have it all sorted. Just didn't want to be one of those people with an obscure problem and the next poor sap to run into it only finds a "yup, I figured it out" and gets blue-ball'd with no solution.

It's just that the cause and solution turned into a discussion of why I was doing it that way originally, to which I can only answer "because it worked," until it didn't.
 Bahamut.Leonof
Offline
Serveur: Bahamut
Game: FFXI
user: DethCody
Posts: 32
By Bahamut.Leonof 2020-06-27 05:45:56
Link | Citer | R
 
Anyone know what im doing wrong.
When i cast a geo/indi spell its giving the wrong value for the spell, ie indi str giving 33 str.

When i unload gearswap and just equip my geo/indi set it gives the correct value 35 str.
Code
-- 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()
    indi_timer = ''
    indi_duration = 180
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('None', 'Normal')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal', 'PDT')
 
    gear.default.weaponskill_waist = "Windbuffet Belt +1"
 
    select_default_macro_book()
end
 
 
-- Define sets and vars used by this job file.
function init_gear_sets()
 
    --------------------------------------
    -- Precast sets
    --------------------------------------
 
    -- Precast sets to enhance JAs-
    sets.precast.JA.Bolster = {body="Bagua Tunic +1"}
    sets.precast.JA['Life cycle'] = {body="Geomancy Tunic +1",back="Nantosuelta's Cape"}
    sets.precast.JA['Full Circle'] = {head="Azimuth Hood +1"}
    sets.precast.JA['Curative Recantation'] = {hands="Bagua Mitaines +1"}
    sets.precast.JA['Mending Halation'] = {legs="Bagua Pants +1"}
    sets.precast.JA['Radial Arcana'] = {feet="Bagua Sandals +1"}
     
    -- Fast cast sets for spells
 
    sets.precast.FC = {
		main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
		body="Geo. Tunic +1",
		hands="Geo. Mitaines +1",
		legs="Geo. Pants +1",
		feet="Regal Pumps +1",
		neck="Voltsurge Torque",
		waist="Austerity Belt",
		left_ear="Loquac. Earring",
		right_ear="Etiolation Earring",
		left_ring="Kishar Ring",
		right_ring="Defending Ring",
		back={ name="Lifestream Cape", augments={'Geomancy Skill +10','Indi. eff. dur. +13','Pet: Damage taken -3%',}},
}
	--Includes not gotten
    --sets.precast.FC.Cure = set_combine(sets.precast.FC, {main="Tamaxchi",sub="Genbu's Shield",body="Heka's Kalasiris",back="Pahtli Cape",legs="Doyen Pants",feet="Vanya Clogs"})
 
    --sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Stoicheion Medal",hands="Bagua Mitaines +1",ear1="Barkarole earring"})
 
    --sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
 
     
    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
        head="Nahtirah Hat",
		neck="Fotia Gorget",
		ear1="Bladeborn Earring",
		ear2="Steelflash Earring",
        body="Vanir Cotehardie",
		hands="Yaoyotl Gloves",
		ring1="Rajas Ring",
		ring2="K'ayres Ring",
        back="Refraction Cape",
		waist=gear.ElementalBelt,
		legs="Hagondes Pants",
		feet="Hagondes Sabots"
	}
 
    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Flash Nova'] = {ammo="Dosis Tathlum",
        head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
        body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Acumen Ring",ring2="Strendu Ring",
        back="Toro Cape",waist="Snow Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
 
    sets.precast.WS['Starlight'] = {ear2="Moonshade Earring"}
 
    sets.precast.WS['Moonlight'] = {ear2="Moonshade Earring"}
 
 
    --------------------------------------
    -- Midcast sets
    --------------------------------------
 
    -- Base fast recast for spells
    sets.midcast.FastRecast = {
		hands="Bagua Mitaines +1",
        back="Lifestream Cape",
		waist="Ninurta's Sash",
		legs="Assiduity Pants +1",
		feet="Azimuth Gaiters +1"
		}
 
    sets.midcast.Geomancy = {
		main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head="Azimuth Hood +1",
		body={ name="Bagua Tunic +1", augments={'Enhances "Bolster" effect',}},
		hands="Geo. Mitaines +1",
		legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
		feet="Regal Pumps +1",
		neck="Incanter's Torque",
		waist="Austerity Belt",
		left_ear="Loquac. Earring",
		right_ear="Etiolation Earring",
		left_ring="Vocane Ring",
		right_ring="Defending Ring",
		back="Lifestream Cape"
	}
     
    sets.midcast.Geomancy.Indi = {
		main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head="Azimuth Hood +1",
		body={ name="Bagua Tunic +1", augments={'Enhances "Bolster" effect',}},
		hands="Geo. Mitaines +1",
		legs={ name="Bagua Pants +1", augments={'Enhances "Mending Halation" effect',}},
		feet="Azimuth Gaiters +1",
		neck="Incanter's Torque",
		waist="Austerity Belt",
		left_ear="Loquac. Earring",
		right_ear="Etiolation Earring",
		left_ring="Vocane Ring",
		right_ring="Defending Ring",
		back="Lifestream Cape"
	}
     
    sets.midcast.Cure = {
		main="Gada",
		sub="Genbu Shield",
        head="Vanya Hood",
		neck="Incanter's Torque",
		body="Heka's Kalasiris",
		hands="Vanya Cuffs",
		left_ring="Haoma's Ring",
		right_ring="Sirona's Ring",
        back="Solemnity Cape",
		legs="Gyve Trousers",
		feet="Vanya Clogs"
	}
     
    sets.midcast.Curaga = sets.midcast.Cure
 
    sets.midcast.Protectra = {ring1="Sheltered Ring"}
 
    sets.midcast.Shellra = {ring1="Sheltered Ring"}
     
        -- Elemental Magic sets
     
    sets.midcast['Elemental Magic'] = {
		main="Idris",
		sub="Culminus",
		ammo="Pemphredo Tathlum",
		head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+27','Magic burst mdg.+11%','INT+8','Mag. Acc.+15',}},
		body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+10%','CHR+3','"Mag.Atk.Bns."+14',}},
		hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
		legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+28','Magic burst mdg.+11%','Mag. Acc.+4',}},
		feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','INT+5','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
		neck="Mizu. Kubikazari",
		waist="Refoccilation Stone",
		left_ear="Barkaro. Earring",
		right_ear="Friomisi Earring",
		left_ring="Shiva Ring",
		right_ring="Mujin Band",
		back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
	}
 
    sets.midcast['Elemental Magic'].Resistant = {
		main="Idris",
		sub="Culminus",
		ammo="Pemphredo Tathlum",
		head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+27','Magic burst mdg.+11%','INT+8','Mag. Acc.+15',}},
		body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+10%','CHR+3','"Mag.Atk.Bns."+14',}},
		hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
		legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+28','Magic burst mdg.+11%','Mag. Acc.+4',}},
		feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','INT+5','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
		neck="Mizu. Kubikazari",
		waist="Refoccilation Stone",
		left_ear="Barkaro. Earring",
		right_ear="Friomisi Earring",
		left_ring="Shiva Ring",
		right_ring="Mujin Band",
		back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
	}
 
    sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})
    sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})
     
    sets.midcast['Dark Magic'] = {main="Rubicundity",sub="Culminus",
        head="Amalric Coif",neck="Incanter's Torque",ear1="Barkaro Earring",ear2="Dignitary's Earring",
        body="Shango Robe",hands="Lurid mitts",ring1="sangoma ring",ring2="Evanescence Ring",
        back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
        waist="ovate robe",legs="Azimuth Tights +1",feet="Artsieq boots"
	}
         
         
    sets.midcast['Enfeebling Magic'] = {main="Idris",sub="m",ammo="Dunna",
        head="Befouled Crown",neck="Incanter's Torque",ear1="Barkaro Earring",ear2="Dignitary's Earring",
        body="Shango Robe",hands="Azimuth Gloves +1",ring1="sangoma ring",ring2="Perception ring",
        back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
        waist="Yamabuki-no-Obi",legs="Psycloth Lappas",feet="Medium's Sabots"
	}
         
         
    sets.midcast.Drain = {
		main={ name="Rubicundity", augments={'Mag. Acc.+10','"Mag.Atk.Bns."+10','Dark magic skill +10','"Conserve MP"+7',}},
		sub="Culminus",
		ammo="Pemphredo Tathlum",
		head="Pixie Hairpin +1",
		body={ name="Merlinic Jubbah", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','"Drain" and "Aspir" potency +8','Mag. Acc.+11','"Mag.Atk.Bns."+6',}},
		hands="Amalric Gages",
		legs="Azimuth Tights +1",
		feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','INT+5','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
		neck="Incanter's Torque",
		waist="Fucho-no-Obi",
		left_ear="Barkaro. Earring",
		right_ear="Dignitary's Earring",
		left_ring="Archon Ring",
		right_ring="Evanescence Ring",
		back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
	}
         
    sets.midcast.Aspir = sets.midcast.Drain
     
    sets.midcast['Aspir III'] = sets.midcast.Drain
     
             
             
    sets.midcast.Impact = {    main="A",
      sub="Wi",
      ammo="Pemphredo Tathlum",
      body="Twilight Cloak",
      hands="Azimuth Gloves +1",
      legs="Merlinic Shalwar",
      feet="Bagua Sandals +1",
      neck="Sanctity Necklace",
      waist="Yamabuki-no-Obi",
      left_ear="Barkaro. Earring",
      right_ear="Hecate's Earring",
      left_ring="Shiva Ring",
      right_ring="Shiva Ring",
      back="Toro Cape",}
         
 
     
 
 
    --------------------------------------
    -- Idle/resting/defense/etc sets
    --------------------------------------
 
    -- Resting sets
    --[[sets.resting = {head="Befouled Crown",neck="Loricate Torque",
        body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
        waist="Austerity Belt",legs="Assiduity Pants +1",feet="Chelona Boots +1"}]]--
 
 
    -- Idle sets
 
    sets.idle = {
		main="Bolelabunga",
		sub="Genbu's Shield",
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head="Azimuth Hood +1",
		body="Jhakri Robe +1",
		hands={ name="Bagua Mitaines", augments={'Enhances "Curative Recantation" effect',}},
		legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
		feet="Geo. Sandals +1",
		neck="Sanctity Necklace",
		waist="Eschan Stone",
		left_ear="Genmei Earring",
		right_ear="Etiolation Earring",
		left_ring="Vocane Ring",
		right_ring="Defending Ring",
		back="Solemnity Cape",
	}
 
    --[[sets.idle.PDT = {
		main="Idris",sub="Genmei Shield",range="Dunna",
        head="Nahtirah Hat",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Witching Robe",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2="Paguroidea Ring",
        back="Solemnity Cape",waist="Goading Belt",legs="Assiduity Pants +1",feet="Geomancy Sandals +1"
		}]]--
 
    -- .Pet sets are for when Luopan is present.
    sets.idle.Pet = {
		main="Mafic Cudgel",
		sub="Genbu's Shield",
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head="Azimuth Hood +1",
		body="Jhakri Robe +1",
		hands="Geo. Mitaines +1",
		legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
		feet={ name="Bagua Sandals +1", augments={'Enhances "Radial Arcana" effect',}},
		neck="Sanctity Necklace",
		waist="Eschan Stone",
		left_ear="Genmei Earring",
		right_ear="Etiolation Earring",
		left_ring="Vocane Ring",
		right_ring="Defending Ring",
		back={ name="Nantosuelta's Cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Pet: "Regen"+10',}},
	}
         
    --[[sets.idle.PDT.Pet = {main="Idris",sub="Genmei Shield",range="Dunna",
        head="Azimuth Hood +1",neck="Loricate Torque +1",ear1="Handler's Earring +1",ear2="Ethereal Earring",
        body="Witching Robe",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2="Warden's Ring",
        back="Lifestream Cape",waist="Ninurta's Sash",legs="Psycloth Lappas",feet="Azimuth Gaiters"}]]--        
 
 
    -- .Indi sets are for when an Indi-spell is active.
    sets.idle.Indi = sets.idle
    sets.idle.Pet.Indi = sets.idle.Pet
    --sets.idle.PDT.Indi = set_combine(sets.idle.PDT, {head="Azimuth Hood",body="Gyve Doublet",back="Lifestream Ca",legs="Bagua Pant",feet="Azimuth Gait"})
    --sets.idle.PDT.Pet.Indi = set_combine(sets.idle.PDT.Pet, {head="Azimuth Ho",body="Azimuth Co",back="Lifestream e",legs="Bagua Pan",feet="Azimuth G"})
 
    sets.idle.Town = {
		main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
		sub="Genbu's Shield",
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head="Azimuth Hood +1",
		body={ name="Bagua Tunic +1", augments={'Enhances "Bolster" effect',}},
		hands="Geo. Mitaines +1",
		legs="Geo. Pants +1",
		feet="Geo. Sandals +1",
		neck="Sanctity Necklace",
		waist="Eschan Stone",
		left_ear="Genmei Earring",
		right_ear="Etiolation Earring",
		left_ring="Vocane Ring",
		right_ring="Defending Ring",
		back={ name="Lifestream Cape", augments={'Geomancy Skill +10','Indi. eff. dur. +13','Pet: Damage taken -3%',}},
	}
 
    sets.idle.Weak = {
		main="Bolelabunga",
		sub="Genbu's Shield",
		range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
		head="Azimuth Hood +1",
		body="Jhakri Robe +1",
		hands={ name="Bagua Mitaines", augments={'Enhances "Curative Recantation" effect',}},
		legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
		feet="Geo. Sandals +1",
		neck="Sanctity Necklace",
		waist="Eschan Stone",
		left_ear="Genmei Earring",
		right_ear="Etiolation Earring",
		left_ring="Vocane Ring",
		right_ring="Defending Ring",
		back="Solemnity Cape",
	}
 
    -- Defense sets
 
    sets.defense.PDT = {range="Dunna",
        head="Hagondes Hat",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2=gear.DarkRing.physical,
        back="Solemnity Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
 
    sets.defense.MDT = {range="Dunna",
        head="Nahtirah Hat",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
        back="Solemnity Cape",waist="Goading Belt",legs="Bokwus Slops",feet="Hagondes Sabots"}
 
    sets.Kiting = {feet="Geomancy Sandals +1"}
 
    sets.latent_refresh = {waist="Fucho-no-obi"}
 
 
    --------------------------------------
    -- 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="Idris",sub="Genmei Shield",range="Dunna",
        head="Befouled Crown",neck="Lissome Necklace",ear1="Cessance Earring",ear2="Brutal Earring",
        body="Onca Suit",hands="Bokw",ring1="Petrov Ring",ring2="Paguroidea Ring",
        back="Solemnity Cape",waist="Windbuffet Belt +1",legs="Hagond",feet="Hagondes Sabots"}
 
    --------------------------------------
    -- Custom buff sets
    --------------------------------------
 
end
 
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
 
function job_aftercast(spell, action, spellMap, eventArgs)
    if not spell.interrupted then
        if spell.english:startswith('Indi') then
            if not classes.CustomIdleGroups:contains('Indi') then
                classes.CustomIdleGroups:append('Indi')
            end
            send_command('@timers d "'..indi_timer..'"')
            indi_timer = spell.english
            send_command('@timers c "'..indi_timer..'" '..indi_duration..' down spells/00136.png')
        elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
            send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
        elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
            send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
        end
    elseif not player.indi then
        classes.CustomIdleGroups:clear()
    end
end
 
 
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
 
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
    if player.indi and not classes.CustomIdleGroups:contains('Indi')then
        classes.CustomIdleGroups:append('Indi')
        handle_equipping_gear(player.status)
    elseif classes.CustomIdleGroups:contains('Indi') and not player.indi then
        classes.CustomIdleGroups:clear()
        handle_equipping_gear(player.status)
    end
end
 
function job_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'Normal' then
            disable('main','sub','range')
        else
            enable('main','sub','range')
        end
    end
end
 
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
 
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
        elseif spell.skill == 'Geomancy' then
            if spell.english:startswith('Indi') then
                return 'Indi'
            end
        end
    end
end
 
function customize_idle_set(idleSet)
    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
    return idleSet
end
 
-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
    classes.CustomIdleGroups:clear()
    if player.indi then
        classes.CustomIdleGroups:append('Indi')
    end
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
 
-------------------------------------------------------------------------------------------------------------------
-- 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, 15)
end

 Asura.Tilbert
Offline
Serveur: Asura
Game: FFXI
user: Zriley56
Posts: 1
By Asura.Tilbert 2020-06-27 19:28:19
Link | Citer | R
 
Does anyone know if there's a way for gearswap to recognize custom aliases from the addon "Shortcuts" and swap gear in response to them?

This isn't an immediate need, but sometime in the far future I'd like to build Gambanteinn for Cursna on White Mage. However, using Gambanteinn instead of Yagrush means I'll lose AoE so I'd only be using it in situations where only a single person is Cursed/Doomed.

Ideally I'd like to use my either my Shortcuts addon / Windower aliases / a combination of the two to be able to do something like "/cursna2" and have gearswap equip my Gambanteinn.

I realize it would be simpler to just make a hotkey that does that but I heal almost exclusively through typing shortcuts so I don't actually target anyone to heal. It would majorly interrupt my flow to use a hotkey especially in that time sensitive situation
 Bahamut.Leonof
Offline
Serveur: Bahamut
Game: FFXI
user: DethCody
Posts: 32
By Bahamut.Leonof 2020-06-29 19:34:58
Link | Citer | R
 
Nvm my issue seems to be with the fastfollow addon.

If anyone else is having the issue, theres a workaround on the fastfollow github page under issues.
Offline
Serveur: Asura
Game: FFXI
user: Hiraishin
Posts: 86
By Asura.Hiraishinsenna 2020-07-16 07:13:06
Link | Citer | R
 
Sorry if it has been asked before, how do you add consumable items in your lua to be moved in your inventory with organizer?
 Asura.Arico
Offline
Serveur: Asura
Game: FFXI
user: Tename
Posts: 535
By Asura.Arico 2020-07-16 08:38:48
Link | Citer | R
 
Code
organizer_items = {
food="Sublime Sushi",
food2="Sublime Sushi +1",
food3="Sole Sushi",
"Altana's Repast",
"Altana's Repast +1,}
Offline
Serveur: Asura
Game: FFXI
user: Hiraishin
Posts: 86
By Asura.Hiraishinsenna 2020-07-16 08:56:23
Link | Citer | R
 
thanks man
Offline
Posts: 70
By LightningHelix 2020-07-22 06:09:29
Link | Citer | R
 
I'm trying to get off the ground with a modified version of Mote's BLU lua and having zero success. Gearswap doesn't seem to "recognize" any of the sets in the file - by which I mean the file loads without any errors about indexing fields, but then when I try //gs equip sets.idle for instance, debug mode gives me "Entering equip_command" but doesn't change any of my gear. That's true for almost every set in the file, even the first one. Somehow sets.Kiting works and almost none of the others do. (Specific list available on request, but I'm not getting "that set does not exist" for any of them.) I've omitted the spell mapping at the beginning because I haven't changed a thing.
Code
-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2

    -- Load and initialize the include file.
    include('Mote-Include.lua')
end

-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()
    state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false
    state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
	state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
    state.Buff.Convergence = buffactive.Convergence or false
    state.Buff.Diffusion = buffactive.Diffusion or false
    state.Buff.Efflux = buffactive.Efflux or false

	--initialize    
	blue_magic_maps = {}

[magic maps omitted here]

    no_swap_gear = S{"Warp Ring", "Dim. Ring (Dem)", "Dim. Ring (Holla)", "Dim. Ring (Mea)",
              "Trizek Ring", "Echad Ring", "Facility Ring", "Capacity Ring", "Aptitude Mantle +1"}
    elemental_ws = S{'Flash Nova', 'Sanguine Blade'}

    include('Mote-TreasureHunter')

    -- For th_action_check():
    -- JA IDs for actions that always have TH: Provoke, Animated Flourish
    info.default_ja_ids = S{35, 204}
    -- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
    info.default_u_ja_ids = S{201, 202, 203, 205, 207}

    lockstyleset = 0
end

-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('STP', 'Normal', 'LowAcc', 'MidAcc', 'HighAcc')
    state.HybridMode:options('Normal', 'DT')
    state.RangedMode:options('Normal', 'Acc')
    state.WeaponskillMode:options('Normal', 'Acc')
    state.CastingMode:options('Normal', 'Resistant')
    state.PhysicalDefenseMode:options('PDT', 'MDT')
    state.IdleMode:options('Normal', 'DT')

    state.MagicBurst = M(false, 'Magic Burst')

    state.Auto_Kite = M(false, 'Auto_Kite')
    Haste = 0
    DW_needed = 0
    DW = false
    moving = false
    update_combat_form()
    determine_haste_group()
end

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

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

    --initialize with null sets, this seems to be fixing issues
	sets.precast = {}
	sets.precast.JA = {}
	sets.idle = {}
	sets.buff = {}
	sets.WS = {}
	
    --Enmity set?
    sets.Enmity = {} --{
        --ammo="Sapience Orb", --2
        --head="Halitus Helm", --8
        --body="Emet Harness +1", --10
        --hands="Kurys Gloves", --9
        --feet="Ahosi Leggings", --7
        --neck="Unmoving Collar +1", --10
        --left_ear="Cryptic Earring", --4
        --right_ear="Trux Earring", --5
        --left_ring="Pernicious Ring", --5
        --right_ring="Eihwaz Ring", --5
        --waist="Kasiri Belt", --3
        --}

    sets.buff['Burst Affinity'] = {legs="Assim. Shalwar +1"}
    sets.buff['Diffusion'] = {} --{feet="Luhlaza Charuqs +3"}
    sets.buff['Efflux'] = {} --{legs="Hashishin Tayt +1"}

    sets.precast.JA['Azure Lore'] = {} --{hands="Luh. Bazubands +1"}
    sets.precast.JA['Chain Affinity'] = {feet="Assim. Charuqs +1"}
    sets.precast.JA['Convergence'] = {} --{head="Luh. Keffiyeh +3"}
    sets.precast.JA['Enchainment'] = {} --{body="Luhlaza Jubbah +3"}

    sets.precast.FC = {
        --Colada 4
        --ammo="Sapience Orb", --2
        head="Haruspex Hat", --8
        body="Taeon Tabard", --4
        --hands="Leyline Gloves", --8
        legs="Orvail Pants +1", --5
        --feet="Carmine Greaves +1", --8
        --neck="Orunmila's Torque", --5
        --left_ear="Loquacious Earring", --2
        --right_ear="Enchntr. Earring +1", --2
        --left_ring="Kishar Ring", --4
        --right_ring="Weather. Ring +1", --6(4)
        back="Swith Cape", --3
        }

	--uncomment the below when I have these items
    sets.precast.FC['Blue Magic'] = sets.precast.FC --set_combine(sets.precast.FC, {body="Hashishin Mintan +1"})
    sets.precast.FC['Enhancing Magic'] = sets.precast.FC --set_combine(sets.precast.FC, {waist="Siegel Sash"})
    sets.precast.FC.Cure = sets.precast.FC --set_combine(sets.precast.FC, {ammo="Impatiens", left_ear="Mendi. Earring"})

	--this is Occultation too? maybe?
    sets.precast.FC.Utsusemi = sets.precast.FC --set_combine(sets.precast.FC, {ammo="Impatiens", left_ring="Lebeche Ring", waist="Rumination Sash",})
end


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

	sets.WS = {
        ammo="Cheruski Needle",
        --head=gear.Herc_WSD_head,
        body="Taeon Tabard",
        --hands="Jhakri Cuffs +2",
        --legs="Luhlaza Shalwar +3",
        --feet=gear.Herc_WS_feet,
        --neck="Fotia Gorget",
        --left_ear="Moonshade Earring",
        --right_ear="Ishvara Earring",
        --left_ring="Epaminondas's Ring",
        right_ring="Rajas Ring",
        back="Cornflower Cape",
        --waist="Fotia Belt",
        }

    sets.WS.Acc = sets.WS --set_combine(sets.WS, {
        --ammo="Voluspa Tathlum",
        --head="Dampening Tam",
        --hands=gear.Herc_WS_hands,
        --right_ear="Telos Earring",
    --    })

    sets.WS['Chant du Cygne'] = sets.WS --set_combine(sets.WS, {
        --head=gear.Adhemar_B_head,
        --body="Abnoba Kaftan",
        --hands=gear.Adhemar_B_hands,
        --legs="Zoar Subligar +1",
        --feet="Thereoid Greaves",
        --neck="Mirage Stole +2",
        --right_ear="Brutal Earring",
        --left_ring="Begrudging Ring",
        --right_ring="Rajas Ring",
        --back=gear.BLU_WS1_Cape,
    --    })

    sets.WS['Chant du Cygne'].Acc = sets.WS --set_combine(sets.WS['Chant du Cygne'], {
        --ammo="Voluspa Tathlum",
        --head="Dampening Tam",
        --body=gear.Adhemar_B_body,
        --hands=gear.Adhemar_A_hands,
        --feet=gear.Herc_STP_feet,
        --right_ear="Mache Earring +1",
    --    })

    sets.WS['Vorpal Blade'] = sets.WS --sets.WS['Chant du Cygne']
    sets.WS['Vorpal Blade'].Acc = sets.WS --sets.WS['Chant du Cygne'].Acc

	--uncomment "real" set when I have even one piece
    sets.WS['Savage Blade'] = sets.WS --set_combine(sets.WS, {
        --body="Assim. Jubbah +3",
        --neck="Mirage Stole +2",
        --right_ring="Rufescent Ring",
        --waist="Sailfi Belt +1",
    --    })

    sets.WS['Savage Blade'].Acc = sets.WS --set_combine(sets.WS['Savage Blade'], {
        --ammo="Voluspa Tathlum",
        --feet=gear.Herc_STP_feet,
        --right_ear="Telos Earring",
        --waist="Grunfeld Rope",
    --    })

    sets.WS['Requiescat'] = sets.WS --{
        --head="Luh. Keffiyeh +3",
        --body="Luhlaza Jubbah +3",
        --hands="Jhakri Cuffs +2",
        --legs="Luhlaza Shalwar +3",
        --feet="Luhlaza Charuqs +3",
        --neck="Fotia Gorget",
        --left_ear="Moonshade Earring",
        --right_ear="Brutal Earring",
        --left_ring="Rufescent Ring",
        --right_ring="Epona's Ring",
        --back=gear.BLU_WS1_Cape,
        --waist="Fotia Belt",
        --}

    sets.WS['Requiescat'].Acc = sets.WS --set_combine(sets.WS['Requiescat'], {
        --ammo="Voluspa Tathlum",
        --head="Dampening Tam",
        --feet=gear.Herc_STP_feet,
        --left_ear="Cessance Earring",
        --right_ear="Telos Earring",
        --})

    sets.WS['Expiacion'] = sets.WS --sets.WS['Savage Blade']

    sets.WS['Expiacion'].Acc = sets.WS --set_combine(sets.WS['Expiacion'], {
        --body=gear.Adhemar_B_body,
        --feet=gear.Herc_STP_feet,
        --right_ear="Telos Earring",
        --})

    sets.WS['Sanguine Blade'] = sets.WS --{
        --ammo="Pemphredo Tathlum",
        --head="Pixie Hairpin +1",
        --body="Amalric Doublet +1",
        --hands="Amalric Gages +1",
        --legs="Luhlaza Shalwar +3",
        --feet="Amalric Nails +1",
        --neck="Baetyl Pendant",
        --left_ear="Moonshade Earring",
        --right_ear="Regal Earring",
        --left_ring="Epaminondas's Ring",
        --right_ring="Archon Ring",
        --back=gear.BLU_MAB_Cape,
        --waist="Sacro Cord",
        --}

    sets.WS['True Strike'] = sets.WS['Savage Blade']
    sets.WS['True Strike'].Acc = sets.WS --sets.WS['Savage Blade'].Acc
    sets.WS['Judgment'] = sets.WS['True Strike']
    sets.WS['Judgment'].Acc = sets.WS['True Strike'].Acc

    sets.WS['Black Halo'] = sets.WS --set_combine(sets.WS['Savage Blade'], {
        --right_ear="Regal Earring",
        --waist="Sailfi Belt +1",
        --})

    sets.WS['Black Halo'].Acc = sets.WS --set_combine(sets.WS['Black Halo'], {
        --feet=gear.Herc_STP_feet,
        --right_ear="Telos Earring",
      --  })

    sets.WS['Realmrazer'] = sets.WS['Requiescat']
    sets.WS['Realmrazer'].Acc = sets.WS['Requiescat'].Acc

    sets.WS['Flash Nova'] = sets.WS --set_combine(sets.WS['Sanguine Blade'], {
        --head=gear.Herc_MAB_head,
        --right_ring="Weather. Ring +1",
        --})

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

    sets.midcast = {}

	sets.midcast.SpellInterrupt = {} --{
        --ammo="Impatiens", --10
        --left_ring="Evanescence Ring", --5
        --waist="Rumination Sash", --10
        --}
	
	--not currently referenced anywhere but hey, maybe someday
	--sets.midcast.FastRecast = sets.precast.FC

    sets.midcast['Blue Magic'] = {
        ammo="Mavi Tathlum",
        --head="Luh. Keffiyeh +3",
        body="Assim. Jubbah +1",
        --hands="Rawhide Gloves",
        --legs="Hashishin Tayt +1",
        --feet="Luhlaza Charuqs +3",
        --neck="Mirage Stole +2",
        --left_ear="Njordr Earring",
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        back="Cornflower Cape",
        }

    sets.midcast['Blue Magic'].Physical = sets.midcast['Blue Magic'] --{
        --ammo="Aurgelmir Orb +1",
        --head="Luh. Keffiyeh +3",
        --body="Luhlaza Jubbah +3",
        --hands="Jhakri Cuffs +2",
        --legs="Luhlaza Shalwar +3",
        --feet="Luhlaza Charuqs +3",
        --neck="Caro Necklace",
        --left_ring="Shukuyu Ring",
        --right_ring="Ilabrat Ring",
        --back=gear.BLU_WS2_Cape,
        --waist="Sailfi Belt +1",
        --}

    sets.midcast['Blue Magic'].PhysicalAcc = set_combine(sets.midcast['Blue Magic'].Physical, {
        --ammo="Voluspa Tathlum",
        --head="Carmine Mask +1",
        --hands=gear.Adhemar_A_hands,
        legs="Carmine Cuisses +1",
        feet="Assim. Charuqs +1",
        --neck="Mirage Stole +2",
        --right_ear="Telos Earring",
        --back="Cornflower Cape",
        --waist="Grunfeld Rope",
        })

    sets.midcast['Blue Magic'].PhysicalStr = sets.midcast['Blue Magic'].Physical

    sets.midcast['Blue Magic'].PhysicalDex = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
        --right_ear="Mache Earring +1",
        --right_ring="Ilabrat Ring",
        --back=gear.BLU_WS1_Cape,
        --waist="Grunfeld Rope",
        --})

    sets.midcast['Blue Magic'].PhysicalVit = sets.midcast['Blue Magic'].Physical

    sets.midcast['Blue Magic'].PhysicalAgi = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
        --hands=gear.Adhemar_B_hands,
        --right_ring="Ilabrat Ring",
        --})

    sets.midcast['Blue Magic'].PhysicalInt = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
        --right_ear="Regal Earring",
        --left_ring="Shiva Ring +1",
        --right_ring="Metamor. Ring +1",
        --back=gear.BLU_MAB_Cape,
        --waist="Acuity Belt +1",
        --})

    sets.midcast['Blue Magic'].PhysicalMnd = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
        --right_ear="Regal Earring",
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        --})

    sets.midcast['Blue Magic'].PhysicalChr = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {left_ear="Regal Earring", right_ear="Enchntr. Earring +1"})

	sets.midcast['Blue Magic'].Magical = {
        ammo="Mavi Tathlum",
        head="Assim. Keffiyeh +1",
        --body="Amalric Doublet +1",
        --hands="Amalric Gages +1",
        --legs="Amalric Slops +1",
        --feet="Amalric Nails +1",
        --neck="Baetyl Pendant",
        --left_ear="Friomisi Earring",
        --right_ear="Regal Earring",
        --left_ring="Shiva Ring +1",
        --right_ring="Metamor. Ring +1",
        --back=gear.BLU_MAB_Cape,
        --waist="Orpheus's Sash",
        }

    sets.midcast['Blue Magic'].Magical.Resistant = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
        --head="Assim. Keffiyeh +1",
        --hands="Jhakri Cuffs +2",
        --legs="Luhlaza Shalwar +3",
        --neck="Mirage Stole +2",
        --left_ear="Digni. Earring",
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        --waist="Acuity Belt +1",
        --})

    sets.midcast['Blue Magic'].MagicalDark = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
        --head="Pixie Hairpin +1",
        --right_ring="Archon Ring",
        --})

    
    sets.midcast['Blue Magic'].MagicalMnd = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        --})

    sets.midcast['Blue Magic'].MagicalDex = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
        --ammo="Aurgelmir Orb +1",
        --right_ear="Mache Earring +1",
        --right_ring="Ilabrat Ring", --lmao this is off kin, so I doubt I'll ever have it
        --})

    sets.midcast['Blue Magic'].MagicalVit = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
        --ammo="Aurgelmir Orb +1",
        --})

    sets.midcast['Blue Magic'].MagicalChr = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
        --ammo="Voluspa Tathlum",
        --left_ear="Regal Earring", --this drops off Ou, let's not assume I'll ever see it
        --right_ear="Enchntr. Earring +1"
        --})

    sets.midcast['Blue Magic'].MagicAccuracy = {
        --ammo="Pemphredo Tathlum",
        head="Assim. Keffiyeh +1",
        --body="Amalric Doublet +1",
        --hands="Malignance Gloves",
        legs="Orvail Pants +1",
        --feet="Malignance Boots",
        --neck="Mirage Stole +2",
        --left_ear="Digni. Earring",
        --right_ear="Regal Earring",
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        --back=gear.BLU_MAB_Cape,
        --waist="Acuity Belt +1",
        }

    sets.midcast['Blue Magic'].Breath = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {head="Luh. Keffiyeh +3"})

    sets.midcast['Blue Magic'].StunPhysical = sets.midcast['Blue Magic'].MagicAccuracy --set_combine(sets.midcast['Blue Magic'].MagicAccuracy, {
        --ammo="Voluspa Tathlum",
        --head="Malignance Chapeau",
        --body="Malignance Tabard",
        --hands="Malignance Gloves",
        --legs="Malignance Tights",
        --feet="Malignance Boots",
        --neck="Mirage Stole +2",
        --right_ear="Mache Earring +1",
        --back=gear.BLU_TP_Cape,
        --waist="Eschan Stone",
        --})

    sets.midcast['Blue Magic'].StunMagical = sets.midcast['Blue Magic'].MagicAccuracy

    sets.midcast['Blue Magic'].Healing = {
        --ammo="Staunch Tathlum +1",
        --head="Carmine Mask +1",
        --body="Vrikodara Jupon", -- 13
        --hands=gear.Telchine_ENH_hands, -- 10
        --legs="Assim. Shalwar +3",
        --feet="Medium's Sabots", -- 12
        neck="Nuna Gorget",
        --left_ear="Mendi. Earring", -- 5
        --right_ear="Regal Earring",
        --left_ring="Lebeche Ring", -- 3
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        --back="Oretan. Cape +1", --6
        --waist="Luminary Sash",
        }

    --uncomment the below lines when I have cure potency
    sets.midcast['Blue Magic'].HealingSelf = sets.midcast['Blue Magic'].Healing --set_combine(sets.midcast['Blue Magic'].Healing, {
        --hands="Buremte Gloves", -- (13)
        --legs="Gyve Trousers", -- 10
        --neck="Phalaina Locket", -- 4(4)
        --right_ring="Asklepian Ring", -- (3)
        --back="Solemnity Cape", --7
        --waist="Gishdubar Sash", -- (10)
        --})
		
	--max HP matters for white wind, so it's not just cure potency, but cure potency should still be king, right?
    sets.midcast['Blue Magic']['White Wind'] = set_combine(sets.midcast['Blue Magic'].Healing, {
        --head=gear.Adhemar_D_head,
        neck="Cuamiz Collar"
        --right_ear="Etiolation Earring",
        --left_ring="Eihwaz Ring",
        --back="Moonlight Cape",
        --waist="Kasiri Belt",
        })

    sets.midcast['Blue Magic'].Buff = sets.midcast['Blue Magic']
    sets.midcast['Blue Magic'].Refresh = sets.midcast['Blue Magic'] --set_combine(sets.midcast['Blue Magic'], {head="Amalric Coif +1", waist="Gishdubar Sash", back="Grapevine Cape"})
    sets.midcast['Blue Magic'].SkillBasedBuff = sets.midcast['Blue Magic']

    sets.midcast['Blue Magic']['Occultation'] = set_combine(sets.midcast['Blue Magic'], {
        --hands="Hashi. Bazu. +1",
        --left_ear="Njordr Earring",
        --right_ear="Enchntr. Earring +1",
        --right_ring="Weather. Ring +1",
		back="Cornflower Cape",
        })
		-- 1 shadow per 50 blue magic skill, so there are breakpoints that matter

    sets.midcast['Blue Magic']['Carcharian Verve'] = sets.midcast['Blue Magic'].Buff --set_combine(sets.midcast['Blue Magic'].Buff, {
        --head="Amalric Coif +1",
        --waist="Emphatikos Rope",
        --})

    sets.midcast['Enhancing Magic'] = {
        --ammo="Pemphredo Tathlum",
        --head="Carmine Mask +1",
        --body=gear.Telchine_ENH_body,
        --hands=gear.Telchine_ENH_hands,
        legs="Carmine Cuisses +1",
        --feet=gear.Telchine_ENH_feet,
        --neck="Incanter's Torque",
        --left_ear="Mimir Earring",
        --right_ear="Andoaa Earring",
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        --back="Fi Follet Cape +1",
        --waist="Olympus Sash",
        }

    sets.midcast.EnhancingDuration = sets.midcast['Enhancing Magic'] --{
        --head=gear.Telchine_ENH_head,
        --body=gear.Telchine_ENH_body,
        --hands=gear.Telchine_ENH_hands,
        --legs=gear.Telchine_ENH_legs,
        --feet=gear.Telchine_ENH_feet,
        --}

    sets.midcast.Refresh = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {head="Amalric Coif +1", waist="Gishdubar Sash", back="Grapevine Cape"})
    sets.midcast.Stoneskin = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {waist="Siegel Sash"})

    sets.midcast.Phalanx = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {
        --body=gear.Taeon_Phalanx_body, --3(10)
        --hands=gear.Taeon_Phalanx_hands, --3(10)
        --legs=gear.Taeon_Phalanx_legs, --3(10)
        --feet=gear.Taeon_Phalanx_feet, --3(10)
        --})

    sets.midcast.Aquaveil = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {
        --head="Amalric Coif +1",
        --hands="Regal Cuffs",
        --waist="Emphatikos Rope",
        --})

    sets.midcast.Protect = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {left_ring="Sheltered Ring"})
    sets.midcast.Protectra = sets.midcast.Protect
    sets.midcast.Shell = sets.midcast.Protect
    sets.midcast.Shellra = sets.midcast.Protect

    sets.midcast['Enfeebling Magic'] = sets.midcast['Blue Magic'].MagicAccuracy --set_combine(sets.midcast['Blue Magic'].MagicAccuracy, {
        --right_ear="Vor Earring",
        --})

    sets.midcast.Utsusemi = sets.midcast.SpellInterrupt

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

    -- Idle sets (defining them all but I don't know if it's actually needed?
    sets.idle = {
        --ammo="Staunch Tathlum +1",
        --head=gear.Herc_Idle_head,
        body="Assim. Jubbah +1", --refresh
        --hands="Malignance Gloves",
        legs="Carmine Cuisses +1", --movespeed
        --feet="Malignance Boots",
        --neck="Bathy Choker +1",
        --left_ear="Eabani Earring",
        --right_ear="Sanare Earring",
        --left_ring={name="Stikini Ring +1", bag="wardrobe3"},
        --right_ring={name="Stikini Ring +1", bag="wardrobe4"},
        back="Cornflower Cape", --no reason really, was testing whether it works this way
        --waist="Carrier's Sash",
        }

    --once I have any DT gear, uncomment this for use with later uncommented sets
    sets.idle.DT = sets.idle --set_combine(sets.idle, {
        --ammo="Staunch Tathlum +1", --3/3
        --head="Malignance Chapeau", --6/6
        --body="Malignance Tabard", --9/9
        --hands="Malignance Gloves", --5/5
        --legs="Malignance Tights", --7/7
        --feet="Malignance Boots", --4/4
        --neck="Warder's Charm +1",
        --left_ring="Purity Ring", --0/4
        --right_ring="Defending Ring", --10/10
        --back="Moonlight Cape", --6/6
        --})

	--this may not just be for bragging, this is weird
    sets.idle.town = sets.idle --set_combine(sets.idle, {
        --ammo="Aurgelmir Orb +1",
        --head="Luh. Keffiyeh +3",
        --body="Assim. Jubbah +1", --refresh
        --hands=gear.Adhemar_B_hands,
        --legs="Carmine Cuisses +1", --movespeed
        --feet="Luhlaza Charuqs +3",
        --neck="Mirage Stole +2",
        --left_ear="Eabani Earring",
        --right_ear="Telos Earring",
        --back="Cornflower Cape",
        --waist="Windbuffet Belt +1",
		--})

    --sets.idle.Weak = sets.idle.DT

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

    --once I have any DT gear, uncomment sets.idle.DT and then uncomment these
    --sets.defense.PDT = sets.idle.DT
    --sets.defense.MDT = sets.idle.DT

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

    -- Engaged sets

    -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
    -- sets if more refined versions aren't defined.
    -- If you create a set with both offense and defense modes, the offense mode should be first.
    -- EG: sets.engaged.Dagger.Accuracy.Evasion

    sets.engaged = {
        --ammo="Aurgelmir Orb +1",
        head="Taeon Chapeau",
        body="Taeon Tabard",
        --hands=gear.Adhemar_B_hands,
        legs="Carmine Cuisses +1",
        feet="Taeon Boots",
        --neck="Ainia Collar",
        left_ear="Suppanomimi",
        right_ear="Eabani Earring",
        --left_ring="Hetairoi Ring",
        --right_ring="Epona's Ring",
        back="Cornflower Cape",
        waist="Windbuffet Belt +1",
        }

    sets.engaged.LowAcc = sets.engaged --set_combine(sets.engaged, {
        --head="Dampening Tam-",
        --hands=gear.Adhemar_A_hands,
        --neck="Combatant's Torque",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --})

    sets.engaged.MidAcc = sets.engaged --set_combine(sets.engaged.LowAcc, {
        --ammo="Voluspa Tathlum",
        --right_ear="Telos Earring",
        --left_ring="Regal Ring",
        --right_ring="Ilabrat Ring",
        --waist="Kentarch Belt +1",
        --})

    sets.engaged.HighAcc = sets.engaged --set_combine(sets.engaged.MidAcc, {
        --head="Carmine Mask +1",
        --legs="Carmine Cuisses +1",
        --feet=gear.Herc_STP_feet,
        --neck="Mirage Stole +2",
        --right_ear="Mache Earring +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Olseni Belt",
        --})

    sets.engaged.STP = sets.engaged --set_combine(sets.engaged, {
        --head=gear.Herc_STP_head,
        --feet="Carmine Greaves +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --right_ring={name="Chirich Ring +1", bag="wardrobe4"},
        --})

    -- Base Dual-Wield Values:
    -- * DW6: +37%
    -- * DW5: +35%
    -- * DW4: +30%
    -- * DW3: +25% (NIN Subjob)
    -- * DW2: +15% (DNC Subjob)
    -- * DW1: +10%

    -- No Magic Haste (74% DW to cap)
	-- every one of these will require modifications for me to figure out what I'm rocking at every given point
    sets.engaged.DW = {
        --ammo="Aurgelmir Orb +1",
        --head=gear.Adhemar_B_head,
        body="Taeon Tabard", --0
        --hands=gear.Adhemar_B_hands,
        legs="Carmine Cuisses +1", --0
        --feet=gear.Taeon_DW_feet, --9
        --neck="Ainia Collar",
        left_ear="Suppanomimi", --5
		right_ear="Eabani Earring", --4
        --left_ring="Hetairoi Ring",
        --right_ring="Epona's Ring",
        --back=gear.BLU_TP_Cape,
        --waist="Reiki Yotai", --7
        } -- 37%

    sets.engaged.DW.LowAcc = sets.engaged.DW --set_combine(sets.engaged.DW, {
        --head="Dampening Tam",
        --hands=gear.Adhemar_A_hands,
        --neck="Combatant's Torque",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --})

    sets.engaged.DW.MidAcc = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc, {
        --ammo="Voluspa Tathlum",
        --right_ear="Telos Earring",
        --right_ring="Ilabrat Ring",
        --waist="Kentarch Belt +1",
        --})

    sets.engaged.DW.HighAcc = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc, {
        --head="Carmine Mask +1",
        --feet=gear.Herc_STP_feet,
        --neck="Mirage Stole +2",
        --left_ear="Cessance Earring",
        --right_ear="Mache Earring +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Olseni Belt",
        --})

    sets.engaged.DW.STP = sets.engaged.DW --set_combine(sets.engaged.DW, {
        --head=gear.Herc_STP_head,
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --right_ring={name="Chirich Ring +1", bag="wardrobe4"},
        --})

    -- 15% Magic Haste (67% DW to cap)
    sets.engaged.DW.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW, {
        --ammo="Aurgelmir Orb +1",
        --head=gear.Adhemar_B_head,
        --body=gear.Adhemar_B_body, --6
        --hands=gear.Adhemar_B_hands,
        --legs="Carmine Cuisses +1", --6
        --feet=gear.Taeon_DW_feet, --9
        --neck="Ainia Collar",
        --left_ear="Eabani Earring", --4
        --right_ear="Suppanomimi", --5
        --left_ring="Hetairoi Ring",
        --right_ring="Epona's Ring",
        --back=gear.BLU_TP_Cape,
        --waist="Reiki Yotai", --7
        --}) -- 37%

    sets.engaged.DW.LowAcc.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowHaste, {
        --head="Dampening Tam",
        --hands=gear.Adhemar_A_hands,
        --neck="Combatant's Torque",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --})

    sets.engaged.DW.MidAcc.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.LowHaste, {
        --ammo="Voluspa Tathlum",
        --right_ear="Telos Earring",
        --right_ring="Ilabrat Ring",
        --waist="Kentarch Belt +1",
        --})

    sets.engaged.DW.HighAcc.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.LowHaste, {
        --head="Carmine Mask +1",
        --feet=gear.Herc_STP_feet,
        --neck="Mirage Stole +2",
        --left_ear="Cessance Earring",
        --right_ear="Mache Earring +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Olseni Belt",
        --})

    sets.engaged.DW.STP.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowHaste, {
        --head=gear.Herc_STP_head,
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --right_ring={name="Chirich Ring +1", bag="wardrobe4"},
        --})

    -- 30% Magic Haste (56% DW to cap)
    sets.engaged.DW.MidHaste = sets.engaged.DW --{
        --ammo="Aurgelmir Orb +1",
        --head=gear.Adhemar_B_head,
        --body=gear.Adhemar_B_body, --6
        --hands=gear.Adhemar_B_hands,
        --legs="Samnuha Tights",
        --feet=gear.Taeon_DW_feet, --9
        --neck="Ainia Collar",
        --left_ear="Cessance Earring",
        --right_ear="Suppanomimi", --5
        --left_ring="Hetairoi Ring",
        --right_ring="Epona's Ring",
        --back=gear.BLU_TP_Cape,
        --waist="Reiki Yotai", --7
        --} -- 27%

    sets.engaged.DW.LowAcc.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidHaste, {
        --head="Dampening Tam",
        --hands=gear.Adhemar_A_hands,
        --neck="Combatant's Torque",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --})

    sets.engaged.DW.MidAcc.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.MidHaste, {
        --ammo="Voluspa Tathlum",
        --feet=gear.Herc_TA_feet,
        --right_ear="Telos Earring",
        --right_ring="Ilabrat Ring",
        --waist="Kentarch Belt +1",
        --})

    sets.engaged.DW.HighAcc.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.MidHaste, {
        --head="Carmine Mask +1",
        --legs="Carmine Cuisses +1",
        --feet=gear.Herc_STP_feet,
        --neck="Mirage Stole +2",
        --left_ear="Cessance Earring",
        --right_ear="Mache Earring +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Olseni Belt",
        --})

    sets.engaged.DW.STP.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidHaste, {
        --head=gear.Herc_STP_head,
        --left_ear="Dedition Earring",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --right_ring={name="Chirich Ring +1", bag="wardrobe4"},
        --})

    -- 35% Magic Haste (51% DW to cap)
    sets.engaged.DW.HighHaste = sets.engaged.DW --{
        --ammo="Aurgelmir Orb +1",
        --head=gear.Adhemar_B_head,
        --body=gear.Adhemar_B_body, --6
        --hands=gear.Adhemar_B_hands,
        --legs="Samnuha Tights",
        --feet=gear.Herc_TA_feet,
        --neck="Ainia Collar",
        --left_ear="Eabani Earring", --4
        --right_ear="Suppanomimi", --5
        --left_ring="Hetairoi Ring",
        --right_ring="Epona's Ring",
        --back=gear.BLU_TP_Cape,
        --waist="Reiki Yotai", --7
        --} -- 22%

    sets.engaged.DW.LowAcc.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.HighHaste, {
        --head="Dampening Tam",
        --hands=gear.Adhemar_A_hands,
        --neck="Combatant's Torque",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Kentarch Belt +1",
        --})

    sets.engaged.DW.MidAcc.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.HighHaste, {
        --ammo="Voluspa Tathlum",
        --right_ear="Telos Earring",
        --right_ring="Ilabrat Ring",
        --})

    sets.engaged.DW.HighAcc.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.HighHaste, {
        --head="Carmine Mask +1",
        --legs="Carmine Cuisses +1",
        --feet=gear.Herc_STP_feet,
        --neck="Mirage Stole +2",
        --left_ear="Cessance Earring",
        --right_ear="Mache Earring +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Olseni Belt",
        --})

    sets.engaged.DW.STP.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.HighHaste, {
        --head=gear.Herc_STP_head,
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --right_ring={name="Chirich Ring +1", bag="wardrobe4"},
        --})

    -- 45% Magic Haste (36% DW to cap)
    sets.engaged.DW.MaxHaste = sets.engaged.DW --{
        --ammo="Aurgelmir Orb +1",
        --head=gear.Adhemar_B_head,
        --body=gear.Adhemar_B_body, --6
        --hands=gear.Adhemar_B_hands,
        --legs="Samnuha Tights",
        --feet=gear.Herc_TA_feet,
        --neck="Ainia Collar",
        --left_ear="Cessance Earring",
        --right_ear="Telos Earring",
        --left_ring="Hetairoi Ring",
        --right_ring="Epona's Ring",
        --back=gear.BLU_TP_Cape,
        --waist="Windbuffet Belt +1",
        --} -- 6%

    sets.engaged.DW.LowAcc.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MaxHaste, {
        --head="Dampening Tam",
        --hands=gear.Adhemar_A_hands,
        --neck="Combatant's Torque",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --})

    sets.engaged.DW.MidAcc.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.MaxHaste, {
        --ammo="Voluspa Tathlum",
        --right_ring="Ilabrat Ring",
        --waist="Kentarch Belt +1",
        --})

    sets.engaged.DW.HighAcc.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.MaxHaste, {
        --head="Carmine Mask +1",
        --legs="Carmine Cuisses +1",
        --feet=gear.Herc_STP_feet,
        --neck="Mirage Stole +2",
        --right_ear="Mache Earring +1",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --waist="Olseni Belt",
        --})

    sets.engaged.DW.STP.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MaxHaste, {
        --head=gear.Herc_STP_head,
        --left_ear="Dedition Earring",
        --right_ear="Telos Earring",
        --left_ring={name="Chirich Ring +1", bag="wardrobe3"},
        --right_ring={name="Chirich Ring +1", bag="wardrobe4"},
        --waist="Kentarch Belt +1",
        --})

    ------------------------------------------------------------------------------------------------
    ---------------------------------------- Hybrid Sets -------------------------------------------
    ------------------------------------------------------------------------------------------------

    --honestly, I have no idea what hybrid sets are, this is the highest bang-for-buck DT pieces
	--maybe it's for AOE-heavy situations where you're nonetheless melee DPSing?
    sets.engaged.Hybrid = {} --{
        --head="Malignance Chapeau", --6/6
        --body="Malignance Tabard", --9/9
        --hands="Malignance Gloves", --5/5
        --legs="Malignance Tights", --7/7
        --feet="Malignance Boots", --4/4
        --right_ring="Defending Ring", --10/10
        --}

    sets.engaged.DT = set_combine(sets.engaged, sets.engaged.Hybrid)
    sets.engaged.LowAcc.DT = set_combine(sets.engaged.LowAcc, sets.engaged.Hybrid)
    sets.engaged.MidAcc.DT = set_combine(sets.engaged.MidAcc, sets.engaged.Hybrid)
    sets.engaged.HighAcc.DT = set_combine(sets.engaged.HighAcc, sets.engaged.Hybrid)
    sets.engaged.STP.DT = set_combine(sets.engaged.STP, sets.engaged.Hybrid)
	
    sets.engaged.DW.DT = set_combine(sets.engaged.DW, sets.engaged.Hybrid)
    sets.engaged.DW.LowAcc.DT = set_combine(sets.engaged.DW.LowAcc, sets.engaged.Hybrid)
    sets.engaged.DW.MidAcc.DT = set_combine(sets.engaged.DW.MidAcc, sets.engaged.Hybrid)
    sets.engaged.DW.HighAcc.DT = set_combine(sets.engaged.DW.HighAcc, sets.engaged.Hybrid)
    sets.engaged.DW.STP.DT = set_combine(sets.engaged.DW.STP, sets.engaged.Hybrid)
	
    sets.engaged.DW.DT.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.Hybrid)
    sets.engaged.DW.LowAcc.DT.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.Hybrid)
    sets.engaged.DW.MidAcc.DT.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.Hybrid)
    sets.engaged.DW.HighAcc.DT.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.Hybrid)
    sets.engaged.DW.STP.DT.LowHaste = set_combine(sets.engaged.DW.STP.LowHaste, sets.engaged.Hybrid)
	
    sets.engaged.DW.DT.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.Hybrid)
    sets.engaged.DW.LowAcc.DT.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.Hybrid)
    sets.engaged.DW.MidAcc.DT.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.Hybrid)
    sets.engaged.DW.HighAcc.DT.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.Hybrid)
    sets.engaged.DW.STP.DT.MidHaste = set_combine(sets.engaged.DW.STP.MidHaste, sets.engaged.Hybrid)
	
    sets.engaged.DW.DT.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.Hybrid)
    sets.engaged.DW.LowAcc.DT.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.Hybrid)
    sets.engaged.DW.MidAcc.DT.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.Hybrid)
    sets.engaged.DW.HighAcc.DT.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.Hybrid)
    sets.engaged.DW.STP.DT.HighHaste = set_combine(sets.engaged.DW.HighHaste.STP, sets.engaged.Hybrid)
	
    sets.engaged.DW.DT.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.Hybrid)
    sets.engaged.DW.LowAcc.DT.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.Hybrid)
    sets.engaged.DW.MidAcc.DT.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.Hybrid)
    sets.engaged.DW.HighAcc.DT.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.Hybrid)
    sets.engaged.DW.STP.DT.MaxHaste = set_combine(sets.engaged.DW.STP.MaxHaste, sets.engaged.Hybrid)


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

    sets.magic_burst = {} --set_combine(sets.midcast['Blue Magic'].Magical, {
        --body="Samnuha Coat", --(8)
        --hands="Amalric Gages +1", --(5)
        --legs="Assim. Shalwar +3", --10
        --feet="Jhakri Pigaches +2", --5
        --left_ring="Mujin Band", --(5)
        --back="Seshaw Cape", --5
        --})

    sets.Kiting = {legs="Carmine Cuisses +1"}
    
	--uncomment this when I have this
	sets.latent_refresh = {} --{waist="Fucho-no-obi"}

	--this is Holy Water buffing stuff to cure my own doom, uncomment when I have it
    --sets.buff.Doom = {
        --neck="Nicander's Necklace", --20
        --left_ring={name="Eshmun's Ring", bag="wardrobe3"}, --20
        --right_ring={name="Eshmun's Ring", bag="wardrobe4"}, --20
        --waist="Gishdubar Sash", --10
        --}

    sets.CP = {back="Aptitude Mantle +1"}

	--uncomment the following if I ever have a treasure hunter set
    --sets.TreasureHunter = {head="Volte Cap", hands=gear.Herc_TH_hands, waist="Chaac Belt"}
    --sets.midcast.Dia = sets.TreasureHunter
    --sets.midcast.Diaga = sets.TreasureHunter
    --sets.midcast.Bio = sets.TreasureHunter
	
	--uncomment this once I finish Adoulin
    --sets.Reive = {neck="Ygnas's Resolve +1"}
	
	--there's an end here and I don't know why but it threw an error when I had it:
	--end


edit: oh my god, it was literally the final line, I had an "end" too early and this was all supposed to be part of function init_gear_sets(), preserving this for my own idiocy but also in case anyone else Googles this six years later.
 Asura.Lunafreya
Offline
Serveur: Asura
Game: FFXI
user: Lunafreya
Posts: 657
By Asura.Lunafreya 2020-07-24 08:51:13
Link | Citer | R
 
My NIN lua is acting very odd. I have a magic burst on/off toggle, and the section that handles the equipping of my magic burst set looks like this:
Code
if default_spell_map == 'ElementalNinjutsu' then
        if state.MagicBurst.value then
            equip(sets.magic_burst)
        end
        if (spell.element == world.day_element or spell.element == world.weather_element) then
            equip(sets.Obi)
        end
        if state.Buff.Futae then
            equip(sets.precast.JA['Futae'])
        end
    end


Seems pretty straight forward right? For some reason when I toggle my burst mode to on, it doesn't equip sets.magic_burst.

First thing I thought was "it's gotta be the spell mappings". I checked Mote-Mappings.lua and scrolled towards the bottom of the spell_maps section:
Code
    ['Katon: Ichi'] = 'ElementalNinjutsu',['Suiton: Ichi'] = 'ElementalNinjutsu',['Raiton: Ichi'] = 'ElementalNinjutsu',
    ['Doton: Ichi'] = 'ElementalNinjutsu',['Huton: Ichi'] = 'ElementalNinjutsu',['Hyoton: Ichi'] = 'ElementalNinjutsu',
    ['Katon: Ni'] = 'ElementalNinjutsu',['Suiton: Ni'] = 'ElementalNinjutsu',['Raiton: Ni'] = 'ElementalNinjutsu',
    ['Doton: Ni'] = 'ElementalNinjutsu',['Huton: Ni'] = 'ElementalNinjutsu',['Hyoton: Ni'] = 'ElementalNinjutsu',
    ['Katon: San'] = 'ElementalNinjutsu',['Suiton: San'] = 'ElementalNinjutsu',['Raiton: San'] = 'ElementalNinjutsu',
    ['Doton: San'] = 'ElementalNinjutsu',['Huton: San'] = 'ElementalNinjutsu',['Hyoton: San'] = 'ElementalNinjutsu',




Odd. it should work then. But it's not recognizing the nukes as being in the spell map. So I changed the "if default_spell_map = elemental ninjutsu then" statement at the very top of that initial section to this:
Code
if spell.english == 'Raiton: San' or spell.english == 'Raiton: Ni' or spell.english == 'Hyoton: San' or spell.english == 'Hyoton: Ni' or spell.english == 'Katon: San' or spell.english == 'Katon: Ni' or spell.english == 'Suiton: San' or spell.english == 'Suiton: Ni' or spell.english == 'Doton: San' or spell.english == 'Doton: Ni' or spell.english == 'Huton: San' or spell.english == 'Huton: Ni' then



Basically just brute forced that if I cast a Ni or San nuke then check my toggle value and equip it if necessary. And it works just fine. I just don't get why the spell map isn't working properly. Not a huge deal but left me scratching my head.


EDIT:

Also realized that when under futae it isn't equipping the empy hands. Even with the brute force method above. Wtf??
First Page 2 3 ... 158 159 160 ... 181 182 183
Log in to post.