Item Search
     
BG-Wiki Search
Closed Thread
Page 245 of 302 FirstFirst ... 195 235 243 244 245 246 247 255 295 ... LastLast
Results 4881 to 4900 of 6036

Thread: Gearswap Help Thread!     submit to reddit submit to twitter

  1. #4881
    Hydra
    Join Date
    May 2011
    Posts
    123
    BG Level
    3
    FFXI Server
    Siren

    I've been trying to figure this out/look it up with no success, can someone please let me know if Gearswap will equip items that are located in the Mog Wardrobe?

  2. #4882
    A gigantic waste of space
    Join Date
    Apr 2009
    Posts
    719
    BG Level
    5
    FFXIV Character
    Maurauc Baelfyr
    FFXIV Server
    Hyperion
    FFXI Server
    Valefor

    Yes, it will.

  3. #4883
    Hydra
    Join Date
    May 2011
    Posts
    123
    BG Level
    3
    FFXI Server
    Siren

    Is there a particular way it has to be scripted or will it just do it?

  4. #4884
    BG Content
    Join Date
    Jul 2007
    Posts
    21,135
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    It just does it.

  5. #4885
    New Spam Forum
    Join Date
    Jul 2008
    Posts
    180
    BG Level
    3
    FFXI Server
    Phoenix

    I created a new Sch.Lua and loaded it fine. No errors on loading, but when I go to cast an elemental spell I am getting this error and not changing into precast, midcast and after cast gear:

    GearSwap has detected an error in the user function aftercast:
    ....SCH.lua:444: attempt to index field 'low nukes' (a nil value)

    Here is the code lua link: http://pastebin.com/zaGg1Db9

    If anyone could help fix this I would be much appreciated.

  6. #4886

    change

    you never defined info.low_nukes you only defined low_nukes

  7. #4887
    New Spam Forum
    Join Date
    Jul 2008
    Posts
    180
    BG Level
    3
    FFXI Server
    Phoenix

    Where would I define these? In line 444 or different part?

  8. #4888

    Quote Originally Posted by Erlayn View Post
    Where would I define these? In line 444 or different part?
    here this file should work (at lest on that line)
    http://www.filedropper.com/zagg1db9_1

    ---i borked the for one sorry

  9. #4889
    New Spam Forum
    Join Date
    Jul 2008
    Posts
    180
    BG Level
    3
    FFXI Server
    Phoenix

    I am not seeing the change that was made in that coding. That line still looks to be the same.

  10. #4890

    Quote Originally Posted by Erlayn View Post
    I am not seeing the change that was made in that coding. That line still looks to be the same.
    for some reason that link wont open correctly here is the change from your original file
    change
    Code:
    function user_setup()
        state.OffenseMode:options('None', 'Normal')
        state.CastingMode:options('Normal','MB')
        state.IdleMode:options('Normal', 'PDT', 'MDT')
         
        gear.default.obi_waist = ""
        gear.default.obi_back = ""
        gear.default.obi_ring = ""
         
        select_default_macro_book()
         
    end
     
    lowtier = S{"Fire", "Fire II", "Stone", "Stone II", "Blizzard", "Blizzard II", "Aero", "Aero II", "Water", "Water II", "Thunder", "Thunder II", "Fira", "Blizzara", "Aerora", "Stonera", "Thundara", "Watera"}
    hightier = S{"Fire III", "Fire IV", "Stone IV", "Stone III", "Blizzard IV", "Blizzard III", "Aero IV", "Aero III", "Water IV", "Water III", "Thunder IV", "Thunder III", "Fira II", "Blizzara II", "Aerora II", "Stonera II", "Thundara II", "Watera II", "Fira III", "Blizzara III", "Aerora III", "Stonera III", "Thundara III", "Watera III"}
    to
    Code:
    function user_setup()
        state.OffenseMode:options('None', 'Normal')
        state.CastingMode:options('Normal','MB')
        state.IdleMode:options('Normal', 'PDT', 'MDT')
         
        gear.default.obi_waist = ""
        gear.default.obi_back = ""
        gear.default.obi_ring = ""
         
        select_default_macro_book()
     
        info.low_nukes = S{"Fire", "Fire II", "Stone", "Stone II", "Blizzard", "Blizzard II", "Aero", "Aero II", "Water", "Water II", "Thunder", "Thunder II", "Fira", "Blizzara", "Aerora", "Stonera", "Thundara", "Watera"}
        info.mid_nukes = S{""}
        info.high_nukes = S{"Fire III", "Fire IV", "Stone IV", "Stone III", "Blizzard IV", "Blizzard III", "Aero IV", "Aero III", "Water IV", "Water III", "Thunder IV", "Thunder III", "Fira II", "Blizzara II", "Aerora II", "Stonera II", "Thundara II", "Watera II", "Fira III", "Blizzara III", "Aerora III", "Stonera III", "Thundara III", "Watera III"}
         
    end
    motes include defines info but only after it load the main include file and you never added anything to the info table so you received a nil error

  11. #4891
    New Spam Forum
    Join Date
    Jul 2008
    Posts
    180
    BG Level
    3
    FFXI Server
    Phoenix

    Perfect, thanks I'll update the lua file and see if there is any other errors or things not working correctly. I appreciate the help.

  12. #4892

    Spent a few more hours trying to work on my gearswap but I'm still at a loss as to how to fix the thing. I can't figure out what to even do regarding the CombatMode line, no matter how I've tried to make it line up with the updated lines or how I've tried to change it to things like HybridMode, nothing is working.

    I looked at the upgrading page and tried to follow it too but nothing short of starting over seems like it'll help since that doesn't explain how to carry over the special stuff. I get stopped dead in the water at CombatMode regardless. ><;

    Spoiler: show
    Code:
    -------------------------------------------------------------------------------------------------------------------
    -- Initialization function that defines sets and variables to be used.
    -------------------------------------------------------------------------------------------------------------------
    
    -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
    
    -- Initialization function for this job file.
    function get_sets()
    	-- Load and initialize the include file.
    	include('Mote-Include.lua')
    end
    
    -- Setup vars that are user-independent.
    function job_setup()
    	state.Buff.Saboteur = buffactive.saboteur or false
        event_list = L{}
        event_list:append(windower.register_event('time change', time_change))
    end
    
    
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
    	-- Options: Override default values
    	options.CombatModes = {'Frontline', 'Backline'}
    	options.OffenseModes = {'Normal', 'Acc', 'TH'}
    	options.DefenseModes = {'Normal', 'DT'}
    	options.WeaponskillModes = {'Normal', 'Acc', 'TH'}
    	options.CastingModes = {'Normal', 'Acc', 'TH'}
    	options.IdleModes = {'Normal'}
    	options.RestingModes = {'Normal'}
    	options.PhysicalDefenseModes = {'PDT', 'RefreshPDT'}
    	options.MagicalDefenseModes = {'MDT'}
    
    	state.Defense.PhysicalMode = 'PDT'
    	state.CombatForm = nil
    	if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
            state.CombatForm = 'DW'
    	else
            state.CombatForm = nil
    	end
    	if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
    		state.CombatMode = 'Frontline'
    	else
    		state.CombatMode = 'Backline'
    	end
    	
    	EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
    	MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'}
    	INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
    	IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
    
    	send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
    	
    	HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
    	HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
    	
    	
    	if player.sub_job == 'BLM' then
    		set_macro_page(2, 5)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(4, 5)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(5, 5)
    	elseif player.sub_job == 'DRK' then
    		set_macro_page(7, 5)
    	elseif player.sub_job == 'PLD' then
    		set_macro_page(8, 5)
    	else
    		set_macro_page(1, 5)
    	end
    end
    
    
    -- Called when this job file is unloaded (eg: job change)
    function file_unload()
    	if binds_on_unload then
    		binds_on_unload()
    	end
        event_list:map(unregister_event)
    end
    
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
    	--------------------------------------
    	-- Start defining the sets
    	--------------------------------------
    	
    	-- Precast Sets
    	
    	-- Precast sets to enhance JAs
    	sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
    	
    
    	-- Waltz set (chr and vit)
    	sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    
    	-- Fast cast sets for spells
    	
    	-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
    	-- No other FC sets necessary.
    	sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    
    	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 = {ammo="Cheruski Needle",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS.Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS.TH= {ammo="Cheruski Needle",
    		head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Chaac Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    
    	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    	sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
    		head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
    		head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
    		head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
    
    	sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Vanir Boots"}
    		
    	sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
    
    	
    	-- Midcast Sets
    	
    	sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
    		back="Shadow Mantle",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    		
    	sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
    		head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
    		back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
    		head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
    		body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
    		back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
    		body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
    		back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
    		back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
    		
    	sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
    
    	sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
    	
    	sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
    	
    	sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    	
    	sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
    
    	sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Chaac Belt"})
    	
    	sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
    		head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
    		back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
    		
    	sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
    	
    	sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Ogapepo Cape +1",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    		
    	sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
    		head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
    		
    	sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
    	
    	sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    		
    	sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    
    	sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
    		head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
    		body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
    		
    	sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
    		
    	sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
    		head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
    		body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Chaac Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
    		
    	sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
    		
    	sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
    		
    	sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
    		
    	sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
    
    	sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    
    	sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    
    	--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
    	
    	--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
    
    	--sets.midcast.Aspir = sets.midcast.Drain
    
    
    	-- Sets for special buff conditions on spells.
    
    	sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
    		
    	sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
    		body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
    		back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
    
    	sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
    	
    
    	-- Sets to return to when not performing an action.
    	
    	-- Resting sets
    	sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    
    	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
    	sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    	sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    
    	sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    	-- Defense sets
    	sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
    
    	sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
    
    	-- 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="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
    		head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})	
    			
    	sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Chaac Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	-- Defensive melee group
    	
    	sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    		
        sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
    		
        sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Job-specific hooks that are called to process player actions at specific points in time.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
        if spell.action_type == 'Magic' then
    		-- Default base equipment layer of fast recast.
    		equip(sets.midcast.FastRecast)
    	end
    end
    
    -- Run after the default midcast() is done.
    -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
    function job_post_midcast(spell, action, spellMap, eventArgs)
    	if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
    		equip(sets.buff.Saboteur)
    	elseif spell.skill == 'Enhancing Magic' then
    		if buffactive.composure and spell.target.type == 'PLAYER' then
                if spell.english == 'Phalanx II' then
                    equip(sets.buff.EnhancingDuration)
                else
                    equip(sets.buff.ComposureOther)
                end
            else
                equip(sets.midcast.EnhancingDuration)
            end
    	end
    end
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_aftercast(spell, action, spellMap, eventArgs)
    	if not spell.interrupted then
    		if state.Buff[spell.english] ~= nil then
    			state.Buff[spell.english] = true
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Customization hooks for idle and melee sets, after they've been automatically constructed.
    -------------------------------------------------------------------------------------------------------------------
    
    -- 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 state.CombatMode == 'Frontline' then
    				return "FrontlineCure"
    			else
    				return "BacklineCure"
    			end
    		elseif MNDPotencySpells:contains(spell.english) then
    			return 'MNDPotency'
    		elseif spell.english == 'Silence' then
    			return 'MNDAccuracy'
    		elseif spell.english == 'Blind' then
    			return 'INTPotency'
    		elseif INTAccuracySpells:contains(spell.english) then
    			return 'INTAccuracy'
    		elseif EnhancingSpells:contains(spell.english) then
    			return 'Enhancing'
    		elseif IceSpells:contains(spell.english) then
    			return 'Blizzard'
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- General hooks for other 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 state.Buff[buff] ~= nil then
    		state.Buff[buff] = gain
    	end
    end
    
    function get_custom_wsmode(spell, action, spellMap, default_wsmode)
        if default_wsmode == 'Acc' and classes.Daytime then
            return 'DaytimeAcc'
        end
    end
    
    function job_time_change(new_time, old_time)
        classes.CustomMeleeGroups:clear()
        if classes.Daytime then
            classes.CustomMeleeGroups:append('Daytime')
        end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- User code that supplements self-commands.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called by the 'update' self-command, for common needs.
    -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
    function job_update(cmdParams, eventArgs)
        if weapons then
            equip(weapons)
            weapons = nil
            eventArgs.handled = true
        end
    end
    
    
    function job_state_change(stateField, newValue, oldValue)
        if stateField == 'CombatMode' then
            if newValue == 'Frontline' then
                weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
                send_command('wait 0.1; gs disable main sub')
            else
                enable('main', 'sub')
            end
        end
    end
    
    -- Set eventArgs.handled to true if we don't want the automatic display to be run.
    function display_current_job_state(eventArgs)
    	local defenseString = ''
    	if state.Defense.Active then
    		local defMode = state.Defense.PhysicalMode
    		if state.Defense.Type == 'Magical' then
    			defMode = state.Defense.MagicalMode
    		end
    
    		defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
    	end
    
    	local meleeString = ''
    	if state.OffenseMode == 'Normal' then
    		--meleeString = 'Melee: Weapons locked, '
    	end
    
    	add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString..
    	'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting])
    
    	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()
    	-- Default macro set/book
    	set_macro_page(1, 5)
    	
    
    	-- Default macro set/book
    	if player.sub_job == 'BLM' then
    		set_macro_page(2, 5)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(4, 5)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(5, 5)
    	elseif player.sub_job == 'DRK' then
    		set_macro_page(7, 5)
    	elseif player.sub_job == 'PLD' then
    		set_macro_page(8, 5)
    	end
    end

  13. #4893

    Quote Originally Posted by Demonjustin View Post
    Spent a few more hours trying to work on my gearswap but I'm still at a loss as to how to fix the thing. I can't figure out what to even do regarding the CombatMode line, no matter how I've tried to make it line up with the updated lines or how I've tried to change it to things like HybridMode, nothing is working.

    I looked at the upgrading page and tried to follow it too but nothing short of starting over seems like it'll help since that doesn't explain how to carry over the special stuff. I get stopped dead in the water at CombatMode regardless. ><;
    this is the part you need to look at

    Code:
    • In the user_setup function, where all the options lists are defined (this applies to both the main job lua, and the sidecar override), replace them in this manner:
    options.OffenseModes = {'Normal', 'Acc'} becomes state.OffenseMode:options('Normal', 'Acc')
    • Remove any old state.Defense.PhysicalMode = 'PDT' type lines in user_setup that simply set up the default state value to match the options list that was used. The new version of options automatically assigns the first value of a list as the default.
    • Any place you assign a value to a state variable in your rules code should be changed to something like the following, depending on how you were using it:
    state.OffenseMode:set('Acc') state.OffenseMode:reset() state.OffenseMode:reset() will set it to whatever the default value is (ie: the first value in the
    so all your options tables need to be changed from
    Code:
    options.<modestypes> = {<options>}
    to
    Code:
    state.<modestypes>:options(<options>)
    and

    Code:
    state.<modestypes> = <optionsetto>
    to
    Code:
    state.<modestypes>:set(<optionsetto>)
    and to reset to the first option
    Code:
    state.<modestypes>:reset()

  14. #4894

    Made those changes.
    Spoiler: show
    Code:
    -------------------------------------------------------------------------------------------------------------------
    -- Initialization function that defines sets and variables to be used.
    -------------------------------------------------------------------------------------------------------------------
    
    -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
    
    -- Initialization function for this job file.
    function get_sets()
    	-- Load and initialize the include file.
    	include('Mote-Include.lua')
    	
    	mote_include_version = 2
    end
    
    -- Setup vars that are user-independent.
    function job_setup()
    	state.Buff.Saboteur = buffactive.saboteur or false
        event_list = L{}
        event_list:append(windower.register_event('time change', time_change))
    end
    
    
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
    	-- Options: Override default values
    	state.CombatMode:options('Frontline', 'Backline')
    	state.OffenseMode:options('Normal', 'Acc', 'TH')
    	state.DefenseMode:options('Normal', 'DT')
    	state.WeaponskillMode:options('Normal', 'Acc', 'TH')
    	state.CastingMode:options('Normal', 'Acc', 'TH')
    	state.IdleModes:options('Normal')
    	state.RestingModes:options('Normal')
    	state.PhysicalDefenseModes:options('PDT', 'RefreshPDT')
    	state.MagicalDefenseModes:options('MDT')
    
    	state.Defense.PhysicalMode = 'PDT'
    	state.CombatForm = nil
    	if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
            state.CombatForm = 'DW'
    	else
            state.CombatForm = nil
    	end
    	if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
    		state.CombatMode = 'Frontline'
    	else
    		state.CombatMode = 'Backline'
    	end
    	
    	EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
    	MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'}
    	INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
    	IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
    
    	send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
    	
    	HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
    	HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
    	
    	
    	if player.sub_job == 'BLM' then
    		set_macro_page(2, 5)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(4, 5)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(5, 5)
    	elseif player.sub_job == 'DRK' then
    		set_macro_page(7, 5)
    	elseif player.sub_job == 'PLD' then
    		set_macro_page(8, 5)
    	else
    		set_macro_page(1, 5)
    	end
    end
    
    
    -- Called when this job file is unloaded (eg: job change)
    function file_unload()
    	if binds_on_unload then
    		binds_on_unload()
    	end
        event_list:map(unregister_event)
    end
    
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
    	--------------------------------------
    	-- Start defining the sets
    	--------------------------------------
    	
    	-- Precast Sets
    	
    	-- Precast sets to enhance JAs
    	sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
    	
    
    	-- Waltz set (chr and vit)
    	sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    
    	-- Fast cast sets for spells
    	
    	-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
    	-- No other FC sets necessary.
    	sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    
    	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 = {ammo="Cheruski Needle",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS.Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS.TH= {ammo="Cheruski Needle",
    		head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Chaac Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    
    	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    	sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
    		head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
    		head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
    		head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
    
    	sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Vanir Boots"}
    		
    	sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
    
    	
    	-- Midcast Sets
    	
    	sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
    		back="Shadow Mantle",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    		
    	sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
    		head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
    		back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
    		head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
    		body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
    		back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
    		body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
    		back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
    		back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
    		
    	sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
    
    	sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
    	
    	sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
    	
    	sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    	
    	sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
    
    	sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Chaac Belt"})
    	
    	sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
    		head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
    		back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
    		
    	sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
    	
    	sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Ogapepo Cape +1",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    		
    	sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
    		head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
    		
    	sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
    	
    	sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    		
    	sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    
    	sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
    		head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
    		body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
    		
    	sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
    		
    	sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
    		head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
    		body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Chaac Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
    		
    	sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
    		
    	sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
    		
    	sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
    		
    	sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
    
    	sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    
    	sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    
    	--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
    	
    	--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
    
    	--sets.midcast.Aspir = sets.midcast.Drain
    
    
    	-- Sets for special buff conditions on spells.
    
    	sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
    		
    	sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
    		body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
    		back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
    
    	sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
    	
    
    	-- Sets to return to when not performing an action.
    	
    	-- Resting sets
    	sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    
    	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
    	sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    	sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    
    	sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    	-- Defense sets
    	sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
    
    	sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
    
    	-- 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="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
    		head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})	
    			
    	sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Chaac Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	-- Defensive melee group
    	
    	sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    		
        sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
    		
        sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Job-specific hooks that are called to process player actions at specific points in time.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
        if spell.action_type == 'Magic' then
    		-- Default base equipment layer of fast recast.
    		equip(sets.midcast.FastRecast)
    	end
    end
    
    -- Run after the default midcast() is done.
    -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
    function job_post_midcast(spell, action, spellMap, eventArgs)
    	if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
    		equip(sets.buff.Saboteur)
    	elseif spell.skill == 'Enhancing Magic' then
    		if buffactive.composure and spell.target.type == 'PLAYER' then
                if spell.english == 'Phalanx II' then
                    equip(sets.buff.EnhancingDuration)
                else
                    equip(sets.buff.ComposureOther)
                end
            else
                equip(sets.midcast.EnhancingDuration)
            end
    	end
    end
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_aftercast(spell, action, spellMap, eventArgs)
    	if not spell.interrupted then
    		if state.Buff[spell.english] ~= nil then
    			state.Buff[spell.english] = true
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Customization hooks for idle and melee sets, after they've been automatically constructed.
    -------------------------------------------------------------------------------------------------------------------
    
    -- 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 state.CombatMode == 'Frontline' then
    				return "FrontlineCure"
    			else
    				return "BacklineCure"
    			end
    		elseif MNDPotencySpells:contains(spell.english) then
    			return 'MNDPotency'
    		elseif spell.english == 'Silence' then
    			return 'MNDAccuracy'
    		elseif spell.english == 'Blind' then
    			return 'INTPotency'
    		elseif INTAccuracySpells:contains(spell.english) then
    			return 'INTAccuracy'
    		elseif EnhancingSpells:contains(spell.english) then
    			return 'Enhancing'
    		elseif IceSpells:contains(spell.english) then
    			return 'Blizzard'
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- General hooks for other 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 state.Buff[buff] ~= nil then
    		state.Buff[buff] = gain
    	end
    end
    
    function get_custom_wsmode(spell, action, spellMap, default_wsmode)
        if default_wsmode == 'Acc' and classes.Daytime then
            return 'DaytimeAcc'
        end
    end
    
    function job_time_change(new_time, old_time)
        classes.CustomMeleeGroups:clear()
        if classes.Daytime then
            classes.CustomMeleeGroups:append('Daytime')
        end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- User code that supplements self-commands.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called by the 'update' self-command, for common needs.
    -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
    function job_update(cmdParams, eventArgs)
        if weapons then
            equip(weapons)
            weapons = nil
            eventArgs.handled = true
        end
    end
    
    
    function job_state_change(stateField, newValue, oldValue)
        if stateField == 'CombatMode' then
            if newValue == 'Frontline' then
                weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
                send_command('wait 0.1; gs disable main sub')
            else
                enable('main', 'sub')
            end
        end
    end
    
    -- Set eventArgs.handled to true if we don't want the automatic display to be run.
    function display_current_job_state(eventArgs)
    	local defenseString = ''
    	if state.Defense.Active then
    		local defMode = state.Defense.PhysicalMode
    		if state.Defense.Type == 'Magical' then
    			defMode = state.Defense.MagicalMode
    		end
    
    		defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
    	end
    
    	local meleeString = ''
    	if state.OffenseMode == 'Normal' then
    		--meleeString = 'Melee: Weapons locked, '
    	end
    
    	add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString..
    	'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting])
    
    	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()
    	-- Default macro set/book
    	set_macro_page(1, 5)
    	
    
    	-- Default macro set/book
    	if player.sub_job == 'BLM' then
    		set_macro_page(2, 5)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(4, 5)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(5, 5)
    	elseif player.sub_job == 'DRK' then
    		set_macro_page(7, 5)
    	elseif player.sub_job == 'PLD' then
    		set_macro_page(8, 5)
    	end
    end
    Windower4/addons/gearswap/data/Demonjustin_RDM.lua:26: attempt to index field 'CombatMode' (a nil value)

  15. #4895

    change

    Code:
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
        -- Options: Override default values
        state.CombatMode:options('Frontline', 'Backline')
        state.OffenseMode:options('Normal', 'Acc', 'TH')
        state.DefenseMode:options('Normal', 'DT')
        state.WeaponskillMode:options('Normal', 'Acc', 'TH')
        state.CastingMode:options('Normal', 'Acc', 'TH')
        state.IdleModes:options('Normal')
        state.RestingModes:options('Normal')
        state.PhysicalDefenseModes:options('PDT', 'RefreshPDT')
        state.MagicalDefenseModes:options('MDT')
    
        state.Defense.PhysicalMode = 'PDT'
        state.CombatForm = nil
        if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
            state.CombatForm = 'DW'
        else
            state.CombatForm = nil
        end
        if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
            state.CombatMode = 'Frontline'
        else
            state.CombatMode = 'Backline'
        end
    to

    Code:
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
        -- Options: Override default values
        state.CombatMode:options('Backline','Frontline')
        state.OffenseMode:options('Normal', 'Acc', 'TH')
        state.DefenseMode:options('Normal', 'DT')
        state.WeaponskillMode:options('Normal', 'Acc', 'TH')
        state.CastingMode:options('Normal', 'Acc', 'TH')
        state.IdleModes:options('Normal')
        state.RestingModes:options('Normal')
        state.PhysicalDefenseModes:options('PDT', 'RefreshPDT')
        state.MagicalDefenseModes:options('MDT')
        state.CombatForm:options('Normal','DW')
        
        if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
            state.CombatForm:set('DW')
        end
        if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
            state.CombatMode:set('Frontline')
        end

  16. #4896

    Still says the same thing. : /

    Spoiler: show
    Code:
    I keep including this with my changes since it doesn't take much space but helps to make sure I'm not messin stuff up in the changes I'm makin. :x
    
    -------------------------------------------------------------------------------------------------------------------
    -- Initialization function that defines sets and variables to be used.
    -------------------------------------------------------------------------------------------------------------------
    
    -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
    
    -- Initialization function for this job file.
    function get_sets()
    	-- Load and initialize the include file.
    	include('Mote-Include.lua')
    	
    	mote_include_version = 2
    end
    
    -- Setup vars that are user-independent.
    function job_setup()
    	state.Buff.Saboteur = buffactive.saboteur or false
        event_list = L{}
        event_list:append(windower.register_event('time change', time_change))
    end
    
    
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
        -- Options: Override default values
        state.CombatMode:options('Backline','Frontline')
        state.OffenseMode:options('Normal', 'Acc', 'TH')
        state.DefenseMode:options('Normal', 'DT')
        state.WeaponskillMode:options('Normal', 'Acc', 'TH')
        state.CastingMode:options('Normal', 'Acc', 'TH')
        state.IdleModes:options('Normal')
        state.RestingModes:options('Normal')
        state.PhysicalDefenseModes:options('PDT', 'RefreshPDT')
        state.MagicalDefenseModes:options('MDT')
        state.CombatForm:options('Normal','DW')
        state.PhysicalDefenseModes:set('PDT')
        
        if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
            state.CombatForm:set('DW')
        end
        if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then
            state.CombatMode:set('Frontline')
        end
    	
    	EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'}
    	MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'}
    	INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
    	IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
    
    	send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode')
    	
    	HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}}
    	HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}}
    	
    	
    	if player.sub_job == 'BLM' then
    		set_macro_page(2, 5)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(4, 5)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(5, 5)
    	elseif player.sub_job == 'DRK' then
    		set_macro_page(7, 5)
    	elseif player.sub_job == 'PLD' then
    		set_macro_page(8, 5)
    	else
    		set_macro_page(1, 5)
    	end
    end
    
    
    -- Called when this job file is unloaded (eg: job change)
    function file_unload()
    	if binds_on_unload then
    		binds_on_unload()
    	end
        event_list:map(unregister_event)
    end
    
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
    	--------------------------------------
    	-- Start defining the sets
    	--------------------------------------
    	
    	-- Precast Sets
    	
    	-- Precast sets to enhance JAs
    	sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
    	
    
    	-- Waltz set (chr and vit)
    	sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    
    	-- Fast cast sets for spells
    	
    	-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
    	-- No other FC sets necessary.
    	sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    
    	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 = {ammo="Cheruski Needle",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS.Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS.TH= {ammo="Cheruski Needle",
    		head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Chaac Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    
    	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    	sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
    		head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
    		head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
    		
    	sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
    		head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
    		
    	sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
    
    	sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Vanir Boots"}
    		
    	sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather",
    		head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
    
    	
    	-- Midcast Sets
    	
    	sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring",
    		back="Shadow Mantle",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    		
    	sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum",
    		head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
    		back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
    		head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
    		body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
    		back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
    		body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
    		back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"}
    		
    	sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
    		body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
    		back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
    		
    	sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"})
    
    	sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"}
    	
    	sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"})
    	
    	sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    	
    	sets.midcast['Dia III'] = {head="Viti. Chapeau +1"}
    
    	sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Chaac Belt"})
    	
    	sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
    		head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring",
    		back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
    		
    	sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
    	
    	sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Ogapepo Cape +1",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    		
    	sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
    		head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"}
    		
    	sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"})
    	
    	sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    		
    	sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    
    	sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
    		head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
    		body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"}
    		
    	sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"}
    		
    	sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
    		head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
    		body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Chaac Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
    		
    	sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
    		
    	sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
    		
    	sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"})
    		
    	sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
    
    	sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
    		head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
    		body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"}
    
    	sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
    		head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
    		body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring",
    		back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"}
    
    	--sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {})
    	
    	--sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"})
    
    	--sets.midcast.Aspir = sets.midcast.Drain
    
    
    	-- Sets for special buff conditions on spells.
    
    	sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
    		
    	sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
    		body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",
    		back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
    
    	sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
    	
    
    	-- Sets to return to when not performing an action.
    	
    	-- Resting sets
    	sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    
    	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
    	sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    	sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    
    	sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
    	
    	-- Defense sets
    	sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
    		back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
    
    	sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens",
    		head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
    		body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
    		back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
    
    	-- 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="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather",
    		head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Letalis Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})	
    			
    	sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
    		head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
    		back="Bleating Mantle",waist="Chaac Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"}
    		
    	sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"})
    	
    	-- Defensive melee group
    	
    	sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    	
    	sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque",
    		hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
    		
        sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
    		
        sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"}
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Job-specific hooks that are called to process player actions at specific points in time.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
        if spell.action_type == 'Magic' then
    		-- Default base equipment layer of fast recast.
    		equip(sets.midcast.FastRecast)
    	end
    end
    
    -- Run after the default midcast() is done.
    -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
    function job_post_midcast(spell, action, spellMap, eventArgs)
    	if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
    		equip(sets.buff.Saboteur)
    	elseif spell.skill == 'Enhancing Magic' then
    		if buffactive.composure and spell.target.type == 'PLAYER' then
                if spell.english == 'Phalanx II' then
                    equip(sets.buff.EnhancingDuration)
                else
                    equip(sets.buff.ComposureOther)
                end
            else
                equip(sets.midcast.EnhancingDuration)
            end
    	end
    end
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_aftercast(spell, action, spellMap, eventArgs)
    	if not spell.interrupted then
    		if state.Buff[spell.english] ~= nil then
    			state.Buff[spell.english] = true
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Customization hooks for idle and melee sets, after they've been automatically constructed.
    -------------------------------------------------------------------------------------------------------------------
    
    -- 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 state.CombatMode == 'Frontline' then
    				return "FrontlineCure"
    			else
    				return "BacklineCure"
    			end
    		elseif MNDPotencySpells:contains(spell.english) then
    			return 'MNDPotency'
    		elseif spell.english == 'Silence' then
    			return 'MNDAccuracy'
    		elseif spell.english == 'Blind' then
    			return 'INTPotency'
    		elseif INTAccuracySpells:contains(spell.english) then
    			return 'INTAccuracy'
    		elseif EnhancingSpells:contains(spell.english) then
    			return 'Enhancing'
    		elseif IceSpells:contains(spell.english) then
    			return 'Blizzard'
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- General hooks for other 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 state.Buff[buff] ~= nil then
    		state.Buff[buff] = gain
    	end
    end
    
    function get_custom_wsmode(spell, action, spellMap, default_wsmode)
        if default_wsmode == 'Acc' and classes.Daytime then
            return 'DaytimeAcc'
        end
    end
    
    function job_time_change(new_time, old_time)
        classes.CustomMeleeGroups:clear()
        if classes.Daytime then
            classes.CustomMeleeGroups:append('Daytime')
        end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- User code that supplements self-commands.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called by the 'update' self-command, for common needs.
    -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
    function job_update(cmdParams, eventArgs)
        if weapons then
            equip(weapons)
            weapons = nil
            eventArgs.handled = true
        end
    end
    
    
    function job_state_change(stateField, newValue, oldValue)
        if stateField == 'CombatMode' then
            if newValue == 'Frontline' then
                weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons
                send_command('wait 0.1; gs disable main sub')
            else
                enable('main', 'sub')
            end
        end
    end
    
    -- Set eventArgs.handled to true if we don't want the automatic display to be run.
    function display_current_job_state(eventArgs)
    	local defenseString = ''
    	if state.Defense.Active then
    		local defMode = state.Defense.PhysicalMode
    		if state.Defense.Type == 'Magical' then
    			defMode = state.Defense.MagicalMode
    		end
    
    		defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
    	end
    
    	local meleeString = ''
    	if state.OffenseMode == 'Normal' then
    		--meleeString = 'Melee: Weapons locked, '
    	end
    
    	add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString..
    	'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting])
    
    	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()
    	-- Default macro set/book
    	set_macro_page(1, 5)
    	
    
    	-- Default macro set/book
    	if player.sub_job == 'BLM' then
    		set_macro_page(2, 5)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(4, 5)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(5, 5)
    	elseif player.sub_job == 'DRK' then
    		set_macro_page(7, 5)
    	elseif player.sub_job == 'PLD' then
    		set_macro_page(8, 5)
    	end
    end

  17. #4897

    then i have no clue im sorry

  18. #4898
    Lior
    Guest

    Hey everyone, I need help with my COR.lua:
    Actually, I don't even know if my problem has something to do with the lua or anything else. My problem: I shot 2 Animikii Bullets so far. After I got a new computer I updated some of my gearswap luas. I don't know why my COR.lua didn't saved me from shooting these precious bullets. I tend to use Triple Shot more often these days, maybe it has something to do with that. Maybe it's server lag? Or lag from my higher ffxi settings?

    I am really clueless atm what caused it... Getting a new bullet isn't that funny when having limited playtime...
    So, I'd really like to keep using gearswap but if my .lua has nothing to do with that issue I need to see how can do a work around to be still able to use the Animikii Bullet (BiS for QD)
    Please Help :/

  19. #4899

    Quote Originally Posted by dlsmd View Post
    then i have no clue im sorry
    In that case, seems as though I either start from scratch with it or I ask Motenten directly since he's the one who helped me make my gearswap in the first place. Is he still around?

  20. #4900
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    Thats the problem, Mote disappeared a while back without word that I saw.

Similar Threads

  1. Replies: 6547
    Last Post: 2014-07-08, 22:45