Item Search
     
BG-Wiki Search
Page 279 of 302 FirstFirst ... 229 269 277 278 279 280 281 289 ... LastLast
Results 5561 to 5580 of 6036

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

  1. #5561
    Smells like Onions
    Join Date
    Jan 2014
    Posts
    2
    BG Level
    0

    lol just saw this answer from 2 years ago, feel bad for ppl who replyed...

  2. #5562
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    Quote Originally Posted by Upinsmoke View Post
    lol just saw this answer from 2 years ago, feel bad for ppl who replyed...
    what answer?

  3. #5563
    HABS SUCK!!!!!
    Sepukku is my Hero
    Therrien's Cum Dumpster

    Join Date
    Mar 2005
    Posts
    37,884
    BG Level
    10
    FFXI Server
    Gilgamesh

    Quote Originally Posted by Trumpy View Post
    what answer?
    Quote Originally Posted by Upinsmoke View Post
    Question: What do i need to get started with gearswap? And what commands do i use to load files?
    and it was closer to 3 yrs ago

  4. #5564
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

  5. #5565
    HABS SUCK!!!!!
    Sepukku is my Hero
    Therrien's Cum Dumpster

    Join Date
    Mar 2005
    Posts
    37,884
    BG Level
    10
    FFXI Server
    Gilgamesh

    I'm trying to make a toggle for my PLD GS to cast in spell interruption gear for situations where I cant stack mobs properly, or got too much stuff on me to hope for shield blocks. I wont paste my entire GS, but just the relevant snippets of code. Could someone point out where I'm going wrong if possible pls?

    function job_setup()
    state.SpellInterrupt = M{['description']='Spell Interrupt','Off','On'}
    end

    function user_setup()
    send_command('bind @` gs c cycle SpellInterrupt')
    end

    function init_gear_sets()
    sets.spellinterrupt = {legs="Founder's Hose",feet="Odyssean Greaves"} (I'll add more, I'm just testing to see if I can make it work)
    end

    function job_midcast(spell, action, spellMap, eventArgs)
    if state.DefenseMode.value ~= 'None' and spell.type ~= 'JobAbility' then
    handle_equipping_gear(player.status)
    eventArgs.handled = true
    end

    if spell.skill == 'Magic' and state.SpellInterrupt.value == 'On' then
    equip(sets.spellinterrupt)
    end
    end

    I dont know if the silver code above is blocking the spell interrupt code from executing, so I included it for show. I copied the formatting from my MB set on SCH, which does work, but isnt entirely the same (the gear equip goes under function job_post_midcast there)

  6. #5566
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    from what i know of motes setup it looks like it should work
    but im realy not the one to ask about it

  7. #5567
    HABS SUCK!!!!!
    Sepukku is my Hero
    Therrien's Cum Dumpster

    Join Date
    Mar 2005
    Posts
    37,884
    BG Level
    10
    FFXI Server
    Gilgamesh

    Its not working
    I tried creating a function job_post_midcast and putting it there
    I changed:
    if spell.skill == 'Magic' and state.SpellInterrupt.value == 'On' then
    equip(sets.spellinterrupt)
    end

    to

    if spell.skill == 'Magic' then
    equip(sets.spellinterrupt)
    end

    as well as
    if state.SpellInterrupt.value == 'On' then
    equip(sets.spellinterrupt)
    end

    and it still didnt work. Stumped.

  8. #5568
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    now i see whats going on
    it should be
    spell.action_type == "Magic"

    spell.skill only has
    Hand-to-Hand,Dagger,Sword,Great Sword,Axe,Great Axe,Scythe,Polearm,Katana,Great Katana,Club,Staff,Archery,Marksmanship,Throwing,Di vine Magic,Healing Magic,Enhancing Magic,Enfeebling Magic,Elemental Magic,Dark Magic,Summoning Magic,Ninjutsu,Singing,Blue Magic

  9. #5569
    HABS SUCK!!!!!
    Sepukku is my Hero
    Therrien's Cum Dumpster

    Join Date
    Mar 2005
    Posts
    37,884
    BG Level
    10
    FFXI Server
    Gilgamesh

    yeah, that works!

    function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == 'Magic' and state.SpellInterrupt.value == 'On' then
    equip(sets.spellinterrupt)
    end
    end

    and the toggle works like a charm. Thanks dlsmd!

  10. #5570
    TIME OUT MOTHERFUCKER

    Join Date
    Nov 2007
    Posts
    3,885
    BG Level
    7
    FFXI Server
    Ragnarok

    I've had this problem for a long time, but I so rarely use my laptop that it doesn't affect me much, but now it's annoying as hell. Gearswap doesn't work correctly on my Windows XP machine. It spams an error on equip_processing line 255. It has two other errors but they scroll by so fast that I can't see them. I've re-downloaded the resource file and re-downloaded gearswap but it doesn't fix it.

    Nevermind, I found the fix here: https://github.com/Windower/Issues/issues/839

  11. #5571
    BG Content
    Join Date
    Jul 2007
    Posts
    22,369
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Obligatory notification that the real fix is to stop using Windows XP on any device (particularly those that are not airgapped.)

  12. #5572
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    for thoes that dont know "air gap" refers to those computers that have no way to connect to any computer that connects to the internet (both ethernet and WIFI)
    the reason Win xp should be one of these is because MS no longer supports/updates the OS

  13. #5573
    i should really shut up
    You can safely ignore me I am a troll

    Join Date
    Sep 2011
    Posts
    6,827
    BG Level
    8
    FFXI Server
    Asura

    Need to add a command to my .lua for RUN that prevents me from trying to do a WS or Spell while asleep, terrored, stunned, petrified, etc. This causes me to switch to that set and not swap back until I resume actions when able to. Tanking while being hit wearing taeon body and things for FC is a problem :/

    I just don't know what that command should be. I mean I have one that switches me to a set when under those statuses. But, I imagine I wouldn't add on to that command.

    Here is my current GS:
    Spoiler: show
    Code:
    --Built off of my BLU GS
    
    ------------------------------------------
    -- Macro and Style Change on Job Change
    ------------------------------------------
    function set_macros(sheet,book)
        if book then 
            send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(sheet))
            return
        end
        send_command('@input /macro set '..tostring(sheet))
    end
    
    function set_style(sheet)
        send_command('@input ;wait 5.0;input /lockstyleset '..sheet)
    	add_to_chat (21, 'Your lockstyle looks like shit, and you should feel bad')
    	add_to_chat (121, 'You are on RUN btw, macros set')
    --	add_to_chat (60, 'Eat tendies in moderation')
    end
    
    --Page, Book--
    set_macros(1,10)
    --Use the Lockstyle Number-- 
    set_style(100) 
    ------------------------------------------
    -- Variables
    ------------------------------------------
    SetLocked = false --Used to Check if set is locked before changing equipment
    LockedEquipSet = {} --Placeholder to store desired lock set
    LockGearSet = {}
    equipSet = {} --Currently Equiped Gearset
    LockGearIndex = false
    LockGearIndex = false
    TargetDistance = 0
    ------------------------------------------
    -- Windower Hooks              --
    ------------------------------------------
    
    function buff_change(n, gain, buff_table)
    	local name
    	name = string.lower(n)
    	if name == "terror" or name == "petrification" or name == "sleep" or name == "stun" then
    		if gain == true then
    			ChangeGear(sets.TP.Tank)
    		else
    			ChangeGear(sets.TP[sets.TP.index[TP_ind]])
    		end
    	end
    	if buffactive['Embolden'] then
            ChangeGear({back="Evasionist's Cape"})
        end
    end
    
    ------------------------------------------
    -- Binds                  --
    ------------------------------------------
    send_command('bind f9 gs c toggle TP set') --This means if you hit cntrl and f9 it toggles the sets
    send_command('bind f10 gs c toggle Reso set')
    send_command('bind f11 gs c toggle Req set')
    send_command('bind f12 gs c toggle Idle set')
    send_command('bind ^f9 input /ws "Resolution" <t>') --^ means cntrl
    send_command('bind ^f10 input /ws "Dimidiation" <t>')
    send_command('bind ^f11 input /ws "Sanguine Blade" <t>')
    send_command('bind ^f12 input /ws "Savage Blade" <t>') --Sanguine Blade
    send_command('bind !f9 gs c changemaccmab') --! means alt
    send_command('bind !f10 gs c toggle Dimidiation set')
    send_command('bind !f11 gs c toggle Rea set')
    send_command('bind !f12 gs c lockgearindex')
    
    ------------------------------------------
    -- Console Commands             --
    ------------------------------------------
    function self_command(command)
    	if command == 'togglelock' then
    		if SetLocked == false then
    			msg("Equipment Set LOCKED!")
    		else
    			SetLocked = false
    			msg("Equipment Set UNLOCKED!")
    		end
    	elseif command == 'lockgearindex' then
    		if LockGearIndex == false then
    			LockGearIndex = true
    			LockGearSet = {
    				ammo = player.equipment.ammo,
    				head = player.equipment.head,
    				neck = player.equipment.neck,
    				ear1 = player.equipment.left_ear,
    				ear2 = player.equipment.right_ear,
    				body = player.equipment.body,
    				hands = player.equipment.hands,
    				ring1 = player.equipment.left_ring,
    				ring2 = player.equipment.right_ring,
    				back = player.equipment.back,
    				waist = player.equipment.waist,
    				legs = player.equipment.legs,
    				feet = player.equipment.feet
    			}
    			msg("Gear Index Locked")
    		else
    			LockGearIndex = false
    			msg("Gear Index Unlocked")
    			if player.status == 'Engaged' then
    				equip(sets.TP[sets.TP.index[TP_ind]])
    			else
    				equip(sets.Idle[sets.Idle.index[Idle_ind]])
    			end
    		end
    	end
    	if command == 'toggle TP set' then
    		TP_ind = TP_ind + 1
    		if TP_ind > #sets.TP.index then TP_ind = 1 end
    		send_command('@input /echo <----- TP Set changed to ' .. sets.TP.index[TP_ind] .. ' ----->')
    		ChangeGear(sets.TP[sets.TP.index[TP_ind]])
    	elseif command == 'toggle Idle set' then
    		Idle_ind = Idle_ind + 1
    		if Idle_ind > #sets.Idle.index then Idle_ind = 1 end
    		send_command('@input /echo <----- Idle Set changed to ' .. sets.Idle.index[Idle_ind] .. ' ----->')
    		ChangeGear(sets.Idle[sets.Idle.index[Idle_ind]])
    	elseif command == 'toggle Req set' then
    		Requiescat_ind = Requiescat_ind + 1
    		if Requiescat_ind > #sets.Requiescat.index then Requiescat_ind = 1 end
    		send_command('@input /echo <----- Requiescat Set changed to ' .. sets.Requiescat.index[Requiescat_ind] .. ' ----->')
    	elseif command == 'toggle Savage set' then
    		SavageBlade_ind = SavageBlade_ind + 1
    		if SavageBlade_ind > #sets.SavageBlade.index then SavageBlade_ind = 1 end
    		send_command('@input /echo <----- Savage Blade Set changed to ' .. sets.SavageBlade.index[SavageBlade_ind] .. ' ----->')
    	elseif command == 'toggle Dimidiation set' then
    		Dimidiation_ind = Dimidiation_ind + 1
    		if Dimidiation_ind > #sets.Dimidiation.index then Dimidiation_ind = 1 end
    		send_command('@input /echo <----- Dimidiation Set changed to ' .. sets.Dimidiation.index[Dimidiation_ind] .. ' ----->')
    	elseif command == 'toggle Reso set' then
    		Resolution_ind = Resolution_ind + 1
    		if Resolution_ind > #sets.Resolution.index then Resolution_ind = 1 end
    		send_command('@input /echo <----- Resolution Set changed to ' .. sets.Resolution.index[Resolution_ind] .. ' ----->')
    	elseif command == 'toggle Realm set' then
    		Realmrazer_ind = Realmrazer_ind + 1
    		if Realmrazer_ind > #sets.Realmrazer.index then Realmrazer_ind = 1 end
    	elseif command == 'toggle FlashNova set' then
    		FlashNova_ind = FlashNova_ind + 1
    		if FlashNova_ind > #sets.FlashNova.index then FlashNova_ind = 1 end
    		send_command('@input /echo <----- Savage Blade Set changed to ' .. sets.FlashNova.index[FlashNova_ind] .. ' ----->')
    	elseif command == 'equip TP set' then
    		ChangeGear(sets.TP[sets.TP.index[TP_ind]])
    	elseif command == 'equip Idle set' then
    		ChangeGear(sets.Idle[sets.Idle.index[Idle_ind]])
    	end
    end
    
    ------------------------------------------
    -- Character States                     --
    ------------------------------------------
    function IdleState()
        ChangeGear(sets.Idle[sets.Idle.index[Idle_ind]])
        if player.mpp <= 50 then
            ChangeGear({waist = "Fucho-no-obi"})
        end
    end
    
    function RestingState()
    
    end
    
    function EngagedState()
    	ChangeGear(sets.TP[sets.TP.index[TP_ind]])
    end
    
    ------------------------------------------
    -- Precast                 --
    ------------------------------------------
    function pc_JA(spell, act)
    	IgnoreWS = S { "Sanguine Blade" }
    	if spell.english == 'Elemental Sforzo' then
    		ChangeGear(sets.JA.Sforzo)
    	elseif spell.english == 'Swordplay' then
    		ChangeGear(sets.JA.Swordplay)
    	elseif spell.english == 'Vallation' or spell.english == 'Valiance' then
    		ChangeGear(sets.JA.Vallation)
    	elseif spell.english == 'Pflug' then
    		ChangeGear(sets.JA.Pflug)
    	elseif spell.english == 'Embolden' then
    		ChangeGear(sets.JA.Embolden)
    	elseif spell.english == 'Vivacious Pulse' then
    		ChangeGear(sets.JA.Pulse)
    	elseif spell.english == 'Gambit' then
    		ChangeGear(sets.JA.Gambit)
    	elseif spell.english == 'Battuta' then
    		ChangeGear(sets.JA.Battuta)
    	elseif spell.english == 'Rayke' then
    		ChangeGear(sets.JA.Rayke)
    	elseif spell.english == 'Liement' then
    		ChangeGear(sets.JA.Liement)
    	elseif spell.english == 'One For All' then
    		ChangeGear(sets.JA.One)
    	elseif spell.english == 'Odyllic Subterfuge' then
    		ChangeGear(sets.JA.Subterfuge)
    	elseif spell.english == 'Meditate' then
    		ChangeGear(sets.JA.Meditate)
    	elseif spell.english == 'Provoke' then
    		ChangeGear(sets.JA.Provoke)
    	elseif spell.english == 'Warcry' then
    		ChangeGear(sets.JA.Warcry)
    	end
    	if spell.type == 'WeaponSkill' and player.tp >= 1000 and player.target.distance <= 6 then
    		if spell.english == 'Requiescat' then
    			ChangeGear(sets.Requiescat[sets.Requiescat.index[Requiescat_ind]])
    		elseif spell.english == 'Dimidiation' or spell.english == 'Vorpal Blade' then
    			ChangeGear(sets.Dimidiation[sets.Dimidiation.index[Dimidiation_ind]])
    		elseif spell.english == 'Resolution' then
    			ChangeGear(sets.Resolution[sets.Resolution.index[Resolution_ind]])
    		elseif spell.english == 'Savage Blade' then
    			ChangeGear(sets.SavageBlade[sets.SavageBlade.index[SavageBlade_ind]])
    		elseif spell.english == 'Realmrazer' then
    			ChangeGear(sets.Realmrazer[sets.Realmrazer.index[Realmrazer_ind]])
    		elseif spell.english == 'Flash Nova' then
    			ChangeGear(sets.FlashNova[sets.FlashNova.index[FlashNova_ind]])
    		elseif spell.english == 'Circle Blade' then
    			ChangeGear(sets.WS.CircleBlade)
    		elseif spell.english == 'Sanguine Blade' or spell.english == 'Red Lotus Blade' then
    			ChangeGear(sets.WS.SanguineBlade)
    		end
    		if player.tp > 2749 then
    			if IgnoreWS:contains(spell.english) then
    				do return end
    			else
    				equip(set_combine(equipSet, { ear1 = "Ishvara Earring" }))
    				msg("Ishvara Earring equiped")
    			end
    		end
    	elseif player.tp >= 1000 and player.target and player.target.distance and player.target.distance > 6 and spell.type == 'WeaponSkill' then
    		cancel_spell()
    		msg("Weapon Skill Canceled  Target Out of Range")
    	end
    
    	if spell.english == 'Box Step' then
    		ChangeGear(sets.Utility.Steps)
    	elseif spell.english == 'Quick Step' then
    		ChangeGear(sets.Utility.Steps)
    	elseif spell.english == 'Animated Flourish' then
    		ChangeGear(sets.Utility.Enmity)
    	end
    end
    
    function pc_Magic(spell, act)
    	if spell.type == 'BlueMagic' then
    		ChangeGear(sets.precast.FC.Standard)
    	else
    		ChangeGear(sets.precast.FC.Standard)
    	end
    end
    
    function pc_Item(spell, act)
    end
    
    
    ------------------------------------------
    -- Midcast                 --
    ------------------------------------------
    function mc_JA(spell, act)
    end
    
    function mc_Magic(spell, act)
    	if spell.skill == 'Enhancing Magic' then
    		if spell.english == 'Refresh' then
    			ChangeGear(sets.Enhancing.Refresh)
    		elseif string.find(spell.english,'Regen')then
    			ChangeGear(sets.Enhancing.Regen)
    		elseif string.find(spell.english,'Bar') or spell.english=="Temper" then
    			ChangeGear(sets.Enhancing.Skill)
    		elseif spell.english=="Phalanx" then
    			ChangeGear(sets.Enhancing.Phalanx)
    		elseif string.find(spell.english,'Shell') then
    			ChangeGear(sets.Enhancing.ProShell)
    		else
    			ChangeGear(sets.Enhancing.Duration)
    		end
    		if buffactive['Embolden'] then
                ChangeGear({back="Evasionist's Cape"})
            end
    	end
    	
    	if PhysicalSpells:contains(spell.english) then
    		ChangeGear(sets.BlueMagic.STR)
    	end
    
    	if MagicalSpells:contains(spell.english) then
    		if RUNMagic_Enmity:contains(spell.english) then
    			ChangeGear(sets.Utility.Enmity)
    		end
    	end
    
    	if BlueMagic_Enmity:contains(spell.english) then
    		ChangeGear(sets.Utility.Enmity)
    	elseif BlueMagic_Buffs:contains(spell.english) then
    		ChangeGear(sets.TP.Tank)
    	elseif BlueMagic_Healing:contains(spell.english) or string.find(spell.english,'Cure')then
    		ChangeGear(sets.BlueMagic.Cures)
    	end
    end
    
    function mc_Item(spell, act)
    end
    
    
    ------------------------------------------
    -- After Cast               --
    ------------------------------------------
    function ac_JA(spell)
    end
    
    function ac_Magic(spell)
    end
    
    function ac_Item(spell)
    end
    
    function ac_Global()
        if LockGearIndex == true then
            ChangeGear(LockGearSet)
            msg("Lock Gear is ON -- Swapping Gear")
        else
            if player.status == 'Engaged' then
                EngagedState()
            else
                IdleState()
            end
        end
    end
    
    ------------------------------------------
    -- Framework Core            --
    ------------------------------------------
    function status_change(new, old)
    	if new == 'Idle' then
    		IdleState()
    	elseif new == 'Resting' then
    		RestingState()
    	elseif new == 'Engaged' then
    		EngagedState()
    	end
    end
    
    function precast(spell, act)
    	if spell.action_type == 'Ability' then
    		pc_JA(spell, act)
    	elseif spell.action_type == 'Magic' then
    		pc_Magic(spell, act)
    	else
    		pc_Item(spell, act)
    	end
    end
    
    function midcast(spell, act)
    	if spell.action_type == 'Ability' then
    		mc_JA(spell, act)
    	elseif spell.action_type == 'Magic' then
    		mc_Magic(spell, act)
    	else
    		mc_Item(spell, act)
    	end
    end
    
    function aftercast(spell)
    	if spell.action_type == 'Ability' then
    		ac_JA(spell)
    	elseif spell.action_type == 'Magic' then
    		ac_Magic(spell)
    	else
    		ac_Item(spell)
    	end
    	ac_Global()
    end
    
    function ChangeGear(GearSet)
    
    	equipSet = GearSet
    	equip(GearSet)
    end
    
    function LockGearSet(GearSet)
    	LockedEquipSet = GearSet
    	equip(GearSet)
    	SetLocked = true
    end
    
    function UnlockGearSet()
    	locked = false
    	equip(equipSet)
    end
    
    --Unload Binds
    function file_unload()
    	send_command('unbind ^f9')
    	send_command('unbind ^f10')
    	send_command('unbind ^f11')
    	send_command('unbind ^f12')
    	send_command('unbind !f9')
    	send_command('unbind !f10')
    	send_command('unbind !f11')
    	send_command('unbind !f12')
    	send_command('unbind f9')
    	send_command('unbind f10')
    	send_command('unbind f11')
    	send_command('unbind f12')
    end
    
    --Start of Augmented Gear--
    
    function get_sets()
    	maps()
    
    	HerculeanHelm = {}
    	HerculeanHelm.Nuke = { name = "Herculean Helm", augments = { 'Mag. Acc.+18 "Mag.Atk.Bns."+18', '"Fast Cast"+1', 'INT+9', 'Mag. Acc.+9', '"Mag.Atk.Bns."+12', } }
    	HerculeanHelm.DT = { name = "Herculean Helm", augments = { 'Attack+12', 'Phys. dmg. taken -4%', 'STR+9', 'Accuracy+8', } }
    	HerculeanHelm.Refesh = { name = "Herculean Helm", augments = { 'Weapon skill damage +2%','Pet: Accuracy+11 Pet: Rng. Acc.+11','"Refresh"+2', } }
    	HerculeanHelm.WSD = { name = "Herculean Helm", augments = { 'Attack+30','Weapon skill damage +5%', } }
    	HerculeanHelm.WSDAcc = { name = "Herculean Helm", augments = { 'Accuracy+23 Attack+23','Weapon skill damage +3%','STR+3','Accuracy+13','Attack+11', } }
    	
    	HerculeanGloves = {}
    	HerculeanGloves.WSD = { name = "Herculean Gloves", augments = { 'Accuracy+21 Attack+21', 'Weapon skill damage +4%', 'Accuracy+9', 'Attack+10', } }
    	HerculeanGloves.DT = { name = "Herculean Gloves", augments = { 'Accuracy+13', 'Damage taken-3%', 'AGI+1', 'Attack+5', } }
    	HerculeanGloves.HighAcc = { name = "Herculean Gloves", augments = { 'Accuracy+23 Attack+23', '"Triple Atk."+2', 'DEX+15', 'Accuracy+11', 'Attack+13', } }
    	HerculeanGloves.Refresh = { name = "Herculean Gloves", augments = { 'DEX+7', 'Weapon skill damage +2%', '"Refresh"+1', } }
    	HerculeanGloves.Crit = { name = "Herculean Gloves", augments = { 'Attack+23', 'Crit. hit damage +4%', 'DEX+8', 'Accuracy+11', } }
    	HerculeanGloves.Reso ={ name="Herculean Gloves", augments={'Accuracy+11 Attack+11','"Triple Atk."+2','STR+10','Accuracy+15','Attack+5', } }
    	
    	HerculeanLegs = {}
    	HerculeanLegs.DT = { name = "Herculean Trousers", augments = { 'Accuracy+22', 'Damage taken-2%', 'VIT+6', } }
    	HerculeanLegs.WSD = { name = "Herculean Trousers", augments = { 'Attack+28', 'Weapon skill damage +3%', 'STR+10', 'Accuracy+9', } }
    
    	TaeonBoots = {}
    	TaeonBoots.TA = { name = "Taeon Boots", augments = { 'STR+6 DEX+6', 'Accuracy+15 Attack+15', '"Triple Atk."+2' } }
    	TaeonBoots.Regen ={ name="Taeon Boots", augments = {'Mag. Acc.+9','"Conserve MP"+5','"Regen" potency+3',} }
    	
    	HerculeanFeet = {}
    	HerculeanFeet.QA = { name = "Herculean Boots", augments = { 'AGI+4', '"Dbl.Atk."+2', 'Quadruple Attack +3', 'Accuracy+4 Attack+4', } }
    	HerculeanFeet.TA = { name = "Herculean Boots", augments = { 'Accuracy+14 Attack+14', '"Triple Atk."+4', 'DEX+3', 'Accuracy+2', 'Attack+15' } }
    	HerculeanFeet.DT = { name = "Herculean Boots", augments = { 'Accuracy+23', 'Damage taken -3%' } }
    	HerculeanFeet.Idle = { name = "Herculean Boots", augments = { 'Crit. hit damage +1%','STR+10','"Refresh"+2','Accuracy+15 Attack+15','Mag. Acc.+17 "Mag.Atk.Bns."+17', } }
    	HerculeanFeet.CritDmg = { name = "Herculean Boots", augments = { 'Accuracy+28', 'Crit. hit damage +5%', 'DEX+9', } }
    	HerculeanFeet.WSD = { name = "Herculean Boots", augments = { 'Attack+22', 'Weapon skill damage +4%', 'Accuracy+15', } }
    
    	Ogma = {}
    	Ogma.TP = { name="Ogma's cape", augments = {'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10', } }
    	Ogma.Tank = { name="Ogma's cape", augments={ 'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10', } }
    	Ogma.WSD = { name = "Ogma's Cape", augments = { 'DEX+20', 'Accuracy+20 Attack+20', 'Weapon skill damage +10%', } }
    	Ogma.Reso = { name="Ogma's cape", augments={  } }
    	Ogma.FC = { name = "Ogma's Cape", augments = { 'HP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10', } }
    	
    	--End of Augmented Gear--
    	
    	sets.Idle = {}
    	--Idle Sets--
    	sets.Idle.index = { 'BuffDuration', 'DT', 'Town' }
    	Idle_ind = 3
    	sets.Idle.BuffDuration = {
    		ammo = "Staunch Tathlum",
    		head = "Erilaz Galea +1",
    		neck = "Wiglen Gorget",
    		ear1 = "Infused Earring",
    		ear2 = "Ethereal earring",
    		body = "Vrikodara Jupon",
    		hands = HerculeanGloves.Refresh,
    		ring1 = "Sheltered ring",
    		ring2 = "Paguroidea Ring",
    		back = "Shadow Mantle",
    		waist = "Flume Belt",
    		legs = "Futhark Trousers +1",
    		feet = HerculeanFeet.Idle
    	}
    
    	sets.Idle.DT = {
    		ammo = "Staunch Tathlum",
    		head = "Blistering Sallet +1",
    		neck = "Loricate Torque +1",
    		ear1 = "Etiolation Earring",
    		ear2 = "Odnowa Earring +1",
    		body = "Futhark Coat +1",
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Gelatinous Ring +1",
    		back = "Shadow Mantle",
    		waist = "Flume Belt",
    		legs = "Carmine Cuisses +1",
    		feet = "Erilaz Greaves +1"
    	}
    
    	sets.Idle.Town = {
    		ammo = "Staunch Tathlum",
    		head = HerculeanHelm.Refesh,
    		neck = "Wiglen Gorget",
    		ear1 = "Infused Earring",
    		ear2 = "Ethereal earring",
    		body = "Vrikodara Jupon",
    		hands = HerculeanGloves.Refresh,
    		ring1 = "Sheltered ring",
    		ring2 = "Matrimony ring",
    		back = "Agema Cape",
    		waist = "Flume Belt",
    		legs = "Carmine Cuisses +1",
    		feet = HerculeanFeet.Idle
    	}
    
    
    	--TP Sets--
    	sets.TP = {}
    	sets.TP.index = { 'Tank', 'TankHyb', 'CappedHaste', 'AccuracyLite', 'AccuracyMid', 'AccuracyFull' }
    	--1=Tank gear, uncapped haste, 2=CappedHaste, 3=AccuracyLite, 4=AccuracyMid, 5=AccuracyFull--
    	TP_ind = 1
    
    	sets.TP.Tank = {
    		ammo = "Staunch Tathlum",
    		head = "Blistering Sallet +1",
    		neck = "Loricate Torque +1",
    		ear1 = "Etiolation Earring",
    		ear2 = "Odnowa Earring +1",
    		body = "Erilaz Surcoat +1",
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Gelatinous Ring +1",
    		back = Ogma.Tank,
    		waist = "Engraved Belt",
    		legs = "Erilaz Leg Guards +1",
    		feet = "Erilaz Greaves +1"
    	}
    	
    	sets.TP.TankHyb = {
    		ammo = "Falcon Eye",
    		head = "Meghanada Visor +1",
    		neck = "Loricate Torque +1",
    		ear1 = "Telos Earring",
    		ear2 = "Odnowa Earring +1",
    		body = "Meghanada cuirie +1",
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Patricius Ring",
    		back = Ogma.TP,
    		waist = "Ioskeha Belt",
    		legs = "Meghanada Chausses +1",
    		feet = HerculeanFeet.DT
    	}
    
    	sets.TP.CappedHaste = {
    		ammo = "Ginsen",
    		head = "Adhemar Bonnet",
    		neck = "Asperity necklace",
    	--	ear1 = "Suppanomimi",
    		ear1 = "Cessance Earring",
    		ear2 = "Brutal Earring",
    		body = "Adhemar Jacket",
    		hands = "Adhemar Wristbands",
    		ring1 = "Epona's ring",
    		ring2 = "Petrov Ring",
    		back = Ogma.TP,
    		waist = "Windbuffet Belt +1",
    		legs = "Samnuha Tights",
    		feet = HerculeanFeet.QA
    	}
    
    	sets.TP.AccuracyLite = {
    		ammo = "Ginsen",
    		head = "Adhemar Bonnet",
    		neck = "Lissome Necklace",
    		--ear1 = "Suppanomimi",
    		ear1 = "Cessance Earring",
    		ear2 = "Brutal Earring",
    		body = "Adhemar Jacket",
    		hands = "Adhemar Wristbands",
    		ring1 = "Epona's ring",
    		ring2 = "Hetairoi Ring",
    		back = Ogma.TP,
    		waist = "Windbuffet Belt +1",
    		legs = "Samnuha Tights",
    		feet = HerculeanFeet.TA
    	}
    
    	sets.TP.AccuracyMid = {
    		ammo = "Seething Bomblet +1",
    		head = "Dampening Tam",
    		neck = "Lissome Necklace",
    		ear1 = "Cessance Earring",
    		ear2 = "Telos Earring",
    		body = "Adhemar Jacket",
    		hands = "Adhemar Wristbands",
    		ring1 = "Epona's ring",
    		ring2 = "Ramuh Ring +1",
    		back = Ogma.TP,
    		waist = "Olseni Belt",
    		legs = "Samnuha Tights",
    		feet = HerculeanFeet.TA
    	}
    
    	sets.TP.AccuracyFull = {
    		ammo = "Seething Bomblet +1",
    		head = "Carmine Mask +1",
    		neck = "Subtlety Spectacles",
    		ear1 = "Dignitary's Earring",
    		ear2 = "Telos Earring",
    		body = "Adhemar Jacket",
    		hands = HerculeanGloves.HighAcc,
    		ring1 = "Cacoethic Ring +1",
    		ring2 = "Ramuh Ring +1",
    		back = Ogma.WSD,
    		waist = "Olseni Belt",
    		legs = "Carmine Cuisses +1",
    		feet = HerculeanFeet.CritDmg
    	}
    
    
    	--Weaponskill Sets-- Cornflower for Requiescat because it saves a spot as it is the ONLY thing I would need to carry Bleating Mantle for...
    	sets.WS = {}
    
    	sets.Requiescat = {}
    
    	sets.Requiescat.index = { 'Attack', 'Accuracy' }
    	Requiescat_ind = 1
    
    	sets.Requiescat.Attack = {
    		ammo = "Hydrocera",
    		head = "Carmine Mask",
    		neck = "Fotia Gorget",
    		ear1 = "Moonshade Earring",
    		ear2 = "Brutal Earring",
    		body = "Adhemar Jacket",
    		hands = "Adhemar Wristbands",
    		ring1 = "Epona's ring",
    		ring2 = "Rufescent Ring",
    		back = Ogma.WSD,
    		waist = "Fotia Belt",
    		legs = "Telchine Braconi",
    		feet = "Carmine Greaves +1"
    	}
    
    	sets.Requiescat.Accuracy = {
    		ammo = "Falcon Eye",
    		head = "Carmine Mask",
    		neck = "Fotia Gorget",
    		ear1 = "Cessance Earring",
    		ear2 = "Zennaroi Earring",
    		body = "Adhemar Jacket",
    		hands = "Adhemar Wristbands",
    		ring1 = "Epona's ring",
    		ring2 = "Ramuh Ring +1",
    		back = " ",
    		waist = "Fotia Belt",
    		legs = "Telchine Braconi",
    		feet = "Carmine Greaves +1"
    	}
    
    	sets.Resolution = {}
    
    	sets.Resolution.index = { 'Attack', 'Accuracy' }
    	Resolution_ind = 1
    
    	sets.Resolution.Attack = {
    		ammo = "Seething Bomblet +1",
    		head = "Adhemar Bonnet",
    		neck = "Fotia Gorget",
    		ear1 = "Moonshade Earring",
    		ear2 = "Brutal Earring",
    		body = "Herculean Vest",
    		hands = HerculeanGloves.Reso,
    		ring1 = "Epona's Ring",
    		ring2 = "Ifrit Ring +1",
    		back = Ogma.WSD,
    		waist = "Fotia Belt",
    		legs = HerculeanLegs.WSD,
    		feet = HerculeanFeet.WSD
    	}
    
    	sets.Resolution.Accuracy = {
    		ammo = "Seething Bomblet +1",
    		head = "Adhemar Bonnet",
    		neck = "Fotia Gorget",
    		ear1 = "Moonshade Earring",
    		ear2 = "Brutal Earring",
    		body = "Herculean Vest",
    		hands = HerculeanGloves.Reso,
    		ring1 = "Epona's Ring",
    		ring2 = "Rufescent Ring",
    		back = Ogma.WSD,
    		waist = "Fotia Belt",
    		legs = HerculeanLegs.WSD,
    		feet = HerculeanFeet.WSD
    	}
    
    	sets.WS.SanguineBlade = {}
    
    	sets.WS.SanguineBlade = {
    		ammo = "Pemphredo Tathlum",
    		head = "Pixie Hairpin +1",
    		neck = "Sanctity Necklace",
    		ear1 = "Friomisi Earring",
    		ear2 = "Hecate's earring",
    		body = "Amalric Doublet",
    		hands = "Jhakri Cuffs +1",
    		ring1 = "Archon Ring",
    		ring2 = "Rufescent Ring",
    		back = "Cornflower cape",
    		waist = "Grunfeld Rope",
    		legs = "Amalric Slops",
    		feet = "Hashishin Basmak +1"
    	}
    
    	sets.WS.CircleBlade = set_combine(sets.Resolution.Attack[sets.Resolution.index[Resolution_ind]], {
    	})
    
    	sets.SavageBlade = {}
    
    	sets.SavageBlade.index = { 'Attack', 'Accuracy' }
    	SavageBlade_ind = 1
    	sets.SavageBlade.Attack = {
    		ammo = "Seething Bomblet +1",
    		head = HerculeanHelm.WSD,
    		neck = "Caro Necklace",
    		ear1 = "Moonshade Earring",
    		ear2 = "Brutal Earring",
    		body = "Herculean Vest",
    		hands = HerculeanGloves.WSD,
    		ring1 = "Rufescent Ring",
    		ring2 = "Ifrit Ring +1",
    		back = Ogma.WSD,
    		waist = "Prosilio Belt +1",
    		legs = HerculeanLegs.WSD,
    		feet = HerculeanFeet.WSD
    	}
    
    	sets.SavageBlade.Accuracy = {
    		ammo = "Falcon Eye",
    		head = HerculeanHelm.WSD,
    		neck = "Fotia Gorget",
    		ear1 = "Ishvara Earring",
    		ear2 = "Cessance Earring",
    		body = "Adhemar Jacket",
    		hands = HerculeanGloves.WSD,
    		ring1 = "Rufescent Ring",
    		ring2 = "Ramuh ring +1",
    		back = Ogma.WSD,
    		waist = "Grunfeld Rope",
    		legs = HerculeanLegs.WSD,
    		feet = HerculeanFeet.WSD
    	}
    
    	sets.Dimidiation = {}
    
    	sets.Dimidiation.index = { 'Attack', 'Accuracy', 'AccuracyHigh' }
    	Dimidiation_ind = 1
    
    	sets.Dimidiation.Attack = {
    		ammo="Jukukik Feather",
    		head="Adhemar Bonnet",
    		neck="Fotia Gorget",
    		ear1="Moonshade earring",ear2="Brutal Earring",
    		body="Herculean Vest",
    		hands="Meghanada gloves +1",
    		ring1="Epona's ring",ring2="Ifrit Ring +1",
    		back=Ogma.WSD,
    		waist="Fotia Belt",
    		legs="Samnuha Tights",
    		feet=HerculeanFeet.TA
    	}
    					
    	sets.Dimidiation.Accuracy = {
    		ammo="Falcon Eye",
    		head="Adhemar Bonnet",
    		neck="Fotia Gorget",
    		ear1="Moonshade earring",ear2="Cessance Earring",
    		body="Abnoba Kaftan",
    		hands="Meghanada gloves +1",
    		ring1="Epona's ring",ring2="Begrudging Ring",
    		back=Ogma.WSD,
    		waist="Fotia Belt",
    		legs="Samnuha Tights",
    		feet=HerculeanFeet.CritDmg
    	}						   
    							   
    	sets.Dimidiation.AccuracyHigh = {
    		ammo="Falcon Eye",
    		head="Dampening Tam",
    		neck="Fotia Gorget",
    		ear1="Moonshade earring",ear2="Zennaroi earring",
    		body="Abnoba Kaftan",
    		hands=HerculeanGloves.WSD,
    		ring1="Begrudging Ring",ring2="Ramuh Ring +1",
    		back="Evasionist's Cape",
    		waist="Fotia Belt",
    		legs="Samnuha Tights",
    		feet=HerculeanFeet.CritDmg
    	}
    	
    	sets.Realmrazer = {}
    
    	sets.Realmrazer.index = { 'Attack', 'Accuracy' }
    	Realmrazer_ind = 1
    	sets.Realmrazer.Attack = {
    		ammo = "Hydrocera",
    		head = "Carmine Mask",
    		neck = "Fotia Gorget",
    		ear1 = "Moonshade Earring",
    		ear2 = "Brutal Earring",
    		body = "Adhemar Jacket",
    		hands = HerculeanGloves.WSD,
    		ring1 = "Epona's ring",
    		ring2 = "Rufescent Ring",
    		back = "Cornflower Cape",
    		waist = "Fotia Belt",
    		legs = "Telchine Braconi",
    		feet = "Carmine Greaves +1"
    	}
    
    	sets.Realmrazer.Accuracy = {
    		ammo = "",
    		head = "",
    		neck = "",
    		ear1 = "",
    		ear2 = "",
    		body = "",
    		hands = "",
    		ring1 = "",
    		ring2 = "",
    		back = "",
    		waist = "",
    		legs = "",
    		feet = ""
    	}
    
    	sets.FlashNova = {}
    
    	sets.FlashNova.index = { 'Attack', 'Accuracy' }
    	FlashNova_ind = 1
    	sets.FlashNova.Attack = {
    		ammo = "",
    		head = "Helios Band",
    		neck = "Sanctity Necklace",
    		ear1 = "Hecate's Earring",
    		ear2 = "Friomisi Earring",
    		body = "Amalric Doublet",
    		hands = "Amalric Gages",
    		ring1 = "Shiva Ring +1",
    		ring2 = "Weatherspoon Ring",
    		back = "Cornflower Cape",
    		waist = "Eschan Stone",
    		legs = "Amalric Slops",
    		feet = "Hashishin Basmak +1"
    	}
    
    	sets.FlashNova.Accuracy = {
    		ammo = "",
    		head = "",
    		neck = "",
    		ear1 = "",
    		ear2 = "",
    		body = "",
    		hands = "",
    		ring1 = "",
    		ring2 = "",
    		back = "",
    		waist = "",
    		legs = "",
    		feet = ""
    	}
    
    
    	--Blue Magic Sets--
    	sets.BlueMagic = {}
    
    	sets.BlueMagic.STR = {
    		ammo = "Floestone",
    		head = "Adhemar Bonnet",
    		neck = "Caro Necklace",
    		ear1 = "Mache Earring",
    		ear2 = "Kuwunga Earring",
    		body = "Adhemar Jacket",
    		hands = "Adhemar Wristbands",
    		ring1 = "Ifrit Ring +1",
    		ring2 = "Apate Ring",
    		back = Ogma.WSD,
    		waist = "Prosilio Belt +1",
    		legs = HerculeanLegs.WSD,
    		feet = HerculeanFeet.TA
    	}
    
    	sets.BlueMagic.Cures = {
    		ammo = "Hydrocera",
    		head = "Carmine Mask",
    		neck = "Phalaina Locket",
    		ear1 = "Mendicant's Earring",
    		ear2 = "Flashward Earring",
    		body = "Vrikodara Jupon",
    		hands = "Telchine Gloves",
    		ring1 = "Kunaji Ring",
    		ring2 = "Rufescent Ring",
    		back = "Solemnity Cape",
    		waist = "Gishdubar Sash",
    		legs = "Gyve Trousers",
    		feet = "Medium's Sabots"
    	}
    
    	--Utility Sets--
    
    	sets.Utility = {}
    
    	sets.Utility.Steps = set_combine(sets.TP.AccuracyFull, {})
    
    	sets.Utility.MDTank =  {
    		ammo = "Staunch Tathlum",
    		head = "Erilaz Galea +1",
    		neck = "Warder's Charm +1",
    		ear1 = "Etiolation Earring",
    		ear2 = "Odnowa Earring +1",
    		body = "Erilaz Surcoat +1",
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Gelatinous Ring +1",
    		back = Ogma.Tank,
    		waist = "Engraved Belt",
    		legs = "Erilaz Leg Guards +1",
    		feet = "Erilaz Greaves +1"
    	}
    	
    	--Shell V on. Need 23% when 5/5 with pants, 21% with sheltered (23 again with sheltered and trust)--
    	sets.Utility.MDTV = {
    		ammo = "Floestone",
    		head = "Amalric Coif",
    		neck = "Warder's Charm +1",
    		ear1 = "Flashward Earring",
    		ear2 = "Etiolation Earring",
    		body = "Amalric Doublet",
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Shadow Ring",
    		back = "Mubvumbamiri Mantle",
    		waist = "Carrier's Sash",
    		legs = "Amalric Slops",
    		feet = "Hashishin Basmak +1"
    	}
    
    	--Shell II only--
    	sets.Utility.MDTII = {
    		ammo = "Floestone",
    		head = "Dampening Tam",
    		neck = "Loricate Torque +1",
    		ear1 = "Etiolation Earring",
    		ear2 = "Odnowa Earring +1",
    		body = "Amalric Doublet",
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Dark ring",
    		back = "Engulfer Cape +1",
    		waist = "Carrier's Sash",
    		legs = HerculeanLegs.DT,
    		feet = HerculeanFeet.DT
    	}
    
    	--No Shell--
    	sets.Utility.MDTNO = {
    		ammo = "Floestone",
    		head = "Dampening Tam",
    		neck = "Loricate Torque +1",
    		ear1 = "Etiolation Earring",
    		ear2 = "Odnowa Earring +1",
    		body = "Amalric Doublet", 
    		hands = HerculeanGloves.DT,
    		ring1 = "Defending ring",
    		ring2 = "Dark ring",
    		back = "Engulfer Cape +1",
    		waist = "Carrier's Sash",
    		legs = HerculeanLegs.DT,
    		feet = HerculeanFeet.DT
    	}
    
    	--Telchine with proper ball busting augments is the best for magic evasion--
    	sets.Utility.MEVA = {
    		ammo = "Floestone",
    		head = "Amalric Coif",
    		neck = "Loricate Torque +1",
    		ear1 = "Flashward Earring",
    		ear2 = "Hearty Earring",
    		body = "Amalric Doublet",
    		hands = "Leyline Gloves",
    		ring1 = "Shiva Ring +1",
    		ring2 = "Purity Ring",
    		back = "Mubvumbamiri Mantle",
    		waist = "Carrier's Sash",
    		legs = "Amalric Slops",
    		feet = "Ahosi Leggings"
    	}
    
    	--Set I made for something niche--
    	sets.Utility.RSleep = {
    		ammo = "Shadow Satchel",
    		head = "Amalric Coif",
    		neck = "Invidia Torque",
    		ear1 = "Flashward Earring",
    		ear2 = "Hearty Earring",
    		body = "Amalric Doublet",
    		hands = "Leyline Gloves",
    		ring1 = "Wuji Ring",
    		ring2 = "Purity Ring",
    		back = "Mubvumbamiri Mantle",
    		waist = "Acipayam Belt",
    		legs = "Amalric Slops",
    		feet = "Ahosi Leggings"
    	}
    	---------------------------------------------------------------
    	
    	sets.Utility.Enmity = {
    		ammo = "Sapience Orb",
    		head = "Rabid Visor",
    		neck = "Unmoving Collar +1",
    		ear1 = "Friomisi Earring",
    		ear2 = "Cryptic Earring",
    		body = "Emet Harness +1",
    		hands = "Kurys Gloves",
    		ring1 = "Supershear Ring",
    		ring2 = "Pernicious Ring",
    		back = Ogma.Tank,
    		waist = "Sinew Belt",
    		legs = "Erilaz Leg Guards +1",
    		Feet = "Ahosi Leggings"
    	}
    	
    	------------------------------------------------
    	
    	sets.Utility.Charm = {
    		neck = "Unmoving Collar +1",
    		ear2 = "Hearty Earring",
    		hands = "Erilaz Gauntlets",
    		ring2 = "Wuji Ring",
    		back = "Solemnity Cape",
    		legs = "Runeist Trousers +1"	
    	}
    	
    	--Enhancing Sets--
    	
    	sets.Enhancing = {}
    	
    	sets.Enhancing.Skill = {
    		ammo = "Sapience Orb",
    		head = "Carmine Mask +1",
    		neck = "Incanter's Torque",
    		ear1 = "Etiolation Earring",
    		ear2 = "Loquacious Earring",
    		body = "Futhark Coat +1",
    		hands = "Runeist Mitons +1",
    		ring1 = "Defending Ring",
    		ring2 = "Dark ring",
    		back = "Solemnity Cape",
    		waist = "Flume Belt",
    		legs = "Carmine Cuisses +1",
    		feet = "Erilaz Greaves +1"
    	}
    	
    	sets.Enhancing.Duration = {	
    		ammo = "Sapience Orb",
    		head = "Erilaz Galea +1",
    		neck = "Incanter's Torque",
    		ear1 = "Etiolation Earring",
    		ear2 = "Loquacious Earring",
    		body = "Futhark Coat +1",
    		hands = "Runeist Mitons +1",
    		ring1 = "Defending Ring",
    		ring2 = "Dark ring",
    		back = "Solemnity Cape",
    		waist = "Flume Belt",
    		legs = "Futhark Trousers +1",
    		feet = "Erilaz Greaves +1"
    	}
    	
    	sets.Enhancing.Phalanx = set_combine(sets.Enhancing.Duration, {
    		head = "Futhark Bandeau +1",
    	})
    	
    	sets.Enhancing.Refresh = set_combine(sets.Enhancing.Duration, {
    		waist = "Gishdubar Sash",
    	})
    	
    	sets.Enhancing.Regen = set_combine(sets.Enhancing.Duration, {
    		head = "Runeist Bandeau +1",
    	})
    	
    	sets.Enhancing.ProShell = set_combine(sets.Enhancing.Duration, {
    		Ring2 = "Sheltered Ring",
    	})
    	
    	sets.Enhancing.Foil = set_combine(sets.Utility.Enmity, {
    		head = "Erilaz Galea +1",
    		legs = "Futhark Trousers +1"
    	})
    	
    	--Job Ability Sets--
    
    	sets.JA = {}
    	
    	sets.JA.Swipe = set_combine(sets.Utility.Enmity, {
    		ammo = "Pemphredo Tathlum",
    		head = "",
    		neck = "",
    		ear1 = "Friomisi Earring",
    		ear2 = "",
    		body = "",
    		hands = "",
    		ring1 = "",
    		ring2 = "",
    		back = "",
    		waist = "",
    		legs = "",
    		feet = ""
    	})
    	
    	sets.JA.Lunge = set_combine(sets.Utility.Enmity, {
    		ammo = "Pemphredo Tathlum",
    		head = "",
    		neck = "",
    		ear1 = "Friomisi Earring",
    		ear2 = "",
    		body = "",
    		hands = "",
    		ring1 = "",
    		ring2 = "",
    		back = "",
    		waist = "",
    		legs = "",
    		feet = ""
    	})
    
    	sets.JA.Sforzo = set_combine(sets.Utility.Enmity, {
    		body = "Futhark Coat +1"
    	})
    
    	sets.JA.Swordplay = set_combine(sets.Utility.Enmity, {
    		hands = "Futhark Mitons"
    	})
    	
    	sets.JA.Vallation = set_combine(sets.Utility.Enmity, {
    		body = "Runeist Coat",
    		legs = "Futhark Trousers +1",
    		back = "Ogma's Cape"
    	})
    	
    	sets.JA.Pflug = set_combine(sets.Utility.Enmity, {
    		feet = "Runeist Bottes"
    	})
    	
    	sets.JA.Valiance = set_combine(sets.Utility.Enmity, {
    		body = "Runeist Coat",
    		legs = "Futhark Trousers +1",
    		back = "Ogma's Cape"
    	})
    	
    	sets.JA.Embolden = set_combine(sets.Utility.Enmity, {
    	})
    	
    	sets.JA.Pulse = set_combine(sets.Utility.Enmity, {
    		head = "Erilaz Galea +1"
    	})
    	
    	sets.JA.Gambit = set_combine(sets.Utility.Enmity, {
    		hands = "Runeist Mitons +1"
    	})
    	
    	sets.JA.Battuta = set_combine(sets.Utility.Enmity, {
    		head =  "Futhark Bandeau +1"
    	})
    	
    	sets.JA.Rayke = set_combine(sets.Utility.Enmity, {
    		feet = "Futhark Boots"
    	})
    	
    	sets.JA.Liement = set_combine(sets.Utility.Enmity, {
    		body = "Futhark Coat +1"
    	})
    	
    	sets.JA.One = set_combine(sets.Utility.Enmity, {})
    	
    	sets.JA.Subterfuge = set_combine(sets.Utility.Enmity, {})
    	
    	---SAM---
    	sets.JA.Meditate = set_combine(sets.Utility.Enmity, {})
    	
    	---WAR---
    	sets.JA.Provoke = set_combine(sets.Utility.Enmity, {})
    
    	sets.JA.Warcry = set_combine(sets.Utility.Enmity, {})
    	
    	--Precast Sets--
    	sets.precast = {}
    
    	sets.precast.FC = {}
    
    	sets.precast.FC.Standard = {
    		ammo = "Impatiens",
    		head = "Carmine Mask +1",
    		neck = "Voltsurge Torque",
    		ear1 = "Etiolation Earring",
    		ear2 = "Loquac. Earring",
    		body = "Taeon Tabard",
    		hands = "Leyline Gloves",
    		ring1 = "Prolix Ring",
    		ring2 = "Weatherspoon Ring",
    		back = Ogma.FC,
    		waist = "Witful Belt",
    		legs = "Erilaz Leg Guards +1",
    		feet = "Carmine Greaves +1"
    	}
    end
    
    function maps()
    	PhysicalSpells = S {
    		'Bludgeon', 'Body Slam', 'Feather Storm', 'Mandibular Bite', 'Queasyshroom',
    		'Power Attack', 'Screwdriver', 'Sickle Slash', 'Smite of Rage',
    		'Terror Touch', 'Battle Dance', 'Claw Cyclone', 'Foot Kick', 'Grand Slam', 
    		'Sprout Smack', 'Helldive', 'Jet Stream', 'Pinecone Bomb', 'Wild Oats', 'Uppercut'
    	}
    
    	MagicalSpells = S {}
    	
    	BlueMagic_Buffs = S {
    		'Cocoon', 'Refueling'
    	}
    
    	BlueMagic_Healing = S {
    		'Healing Breeze', 'Pollen', 'Wild Carrot'
    	}
    
    	BlueMagic_Enmity = S {
    		'Blank Gaze', 'Jettatura', 'Geist Wall', 'Sheep Song', 'Soporific'
    	}
    	
    	RUNMagic_Enmity = S {
    		'Foil', 'Flash', 'Crusade'
    	}
    end
    
    function msg(str)
    	send_command('@input /echo <----- ' .. str .. ' ----->')
    end

  14. #5574
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Spicyryan View Post
    Need to add a command to my .lua for RUN that prevents me from trying to do a WS or Spell while asleep, terrored, stunned, petrified, etc. This causes me to switch to that set and not swap back until I resume actions when able to. Tanking while being hit wearing taeon body and things for FC is a problem :/

    I just don't know what that command should be. I mean I have one that switches me to a set when under those statuses. But, I imagine I wouldn't add on to that command.

    ...
    like this
    Code:
    --put this at the top of pretarget/precast functions
    if has_any_buff_of({'Petrification','Sleep','Stun','Terror'}) then cancel_spell() return end
    
    function has_any_buff_of(buff_set)--returns true if you have any of the buffs given
        for i,v in pairs(buff_set) do
            if buffactive[v] ~= nil then return true end
        end
    end

  15. #5575
    TIME OUT MOTHERFUCKER

    Join Date
    Nov 2007
    Posts
    3,885
    BG Level
    7
    FFXI Server
    Ragnarok

    Quote Originally Posted by Byrthnoth View Post
    Obligatory notification that the real fix is to stop using Windows XP on any device (particularly those that are not airgapped.)
    My laptop is old as fuck and I use it sparingly, IE only when visiting the 'rents. Fite me.

  16. #5576
    i should really shut up
    You can safely ignore me I am a troll

    Join Date
    Sep 2011
    Posts
    6,827
    BG Level
    8
    FFXI Server
    Asura

    Quote Originally Posted by dlsmd View Post
    like this
    Code:
    --put this at the top of pretarget/precast functions
    if has_any_buff_of({'Petrification','Sleep','Stun','Terror'}) then cancel_spell() return end
    
    function has_any_buff_of(buff_set)--returns true if you have any of the buffs given
        for i,v in pairs(buff_set) do
            if buffactive[v] ~= nil then return true end
        end
    end

    Thanks, I will try that out

  17. #5577
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    Quote Originally Posted by Trumpy View Post
    So I was tryin to change gears when I used phantom roll on Corsair, It wasnt changin rings for phantom roll but would for double up. But after double up it wouldnt put my idle rings back on afterward. (I'll figure that out, but the followin issue i noticed... ) So I turned on showswaps and debugmode and found i am gettin error messages regardless of job file on any gearswap trigger (abilities, magic, status changes...). I get these for every non armor item in my gobbie bag.

    "GearSwap (Debug Mode): GearSwap (Debug Mode): Item Bullet Pouch does not have a jobs field in the resources."

    Bullet pouch, phil. stone, pearlsack, pearlsack, water card, fire card, trump card case, miser's die, fenrite, carbite, void crystal, h kindred crest, ifritite. for all these items.

    Any idea how I could fix this?



    In another issue, when I change jobs at Moogles for some reason the lua file for that job loads twice 99% of the time. gs reloading just loads it the one time. Also fairly often when I change job/reload file the game just crashes for some reason.
    well I thought this error was a Windows XP problem but it seems to come up on this Win 10 machine. I just happened to turn on debug mode tonight and saw it. thankfully i found my original post to see how to fix it.


    Also was there a way to check the recast on usin an item like a warp ring? I tried to find where I thought I remember seeing it before in this thread but having no luck.

  18. #5578
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Trumpy View Post
    Also was there a way to check the recast on usin an item like a warp ring? I tried to find where I thought I remember seeing it before in this thread but having no luck.
    (ask the one who wrote it)
    here
    Code:
    --put this at the top of your file
    function gearswap.refresh_item_list(itemlist)
        retarr = gearswap.make_user_table()
        for i,v in pairs(itemlist) do
            if type(v) == 'table' and v.id and v.id ~= 0 then
                if gearswap.res.items[v.id] and gearswap.res.items[v.id][language] and not retarr[gearswap.res.items[v.id][language]] then
                    retarr[gearswap.res.items[v.id][language]] = {id=v.id,count=v.count,shortname=gearswap.res.items[v.id][language]:lower(),extdata = gearswap.extdata.decode(v)}
                    if gearswap.res.items[v.id][language..'_log'] and gearswap.res.items[v.id][language..'_log']:lower() ~= gearswap.res.items[v.id][language]:lower() then
                        retarr[gearswap.res.items[v.id][language]].longname = gearswap.res.items[v.id][language..'_log']:lower()
                        retarr[gearswap.res.items[v.id][language..'_log']] = retarr[gearswap.res.items[v.id][language]]
                    end
                elseif gearswap.res.items[v.id] and gearswap.res.items[v.id][language] then
                    retarr[gearswap.res.items[v.id][language]].count = retarr[gearswap.res.items[v.id][language]].count + v.count
                end
            end
        end
        return retarr
    end
    
    -- find item in bag
    function find_item_in_bag(name)
        for _,bag in ipairs({"inventory","wardrobe","wardrobe2","wardrobe3","wardrobe4"}) do
            local item = player[bag][name]
            if item then
                return bag
            end
        end
    end
    
    
    --[[use this to get ring reuse time (if return is - you can use it, if return is nil it is out of charges,
     if its a + number you need to wait that long to use it)]]
    function get_item_reuse_time(item)
        local ring_time,ex = 1,nil
        ex = player[find_item_in_bag(item)][item].extdata
        if ex and ex.charges_remaining and ex.charges_remaining >= 1 then
            ring_time = os.time(os.date("!*t", ex.next_use_time))-os.time()
        else
            return nil
        end
    end

  19. #5579
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    thank you dlsmd for replying.

    im not sure how to utilize this tho. everything I have tried doesnt work. I just dont know what terms to put in my command to get the time i guess. Or how to get it to look at the time of warp ring specifically (which once I know that I can later utilize for maybe exp rings or whatevers). if i want to make a command that displays the time remaining on warp ring for example... (am I on the right track?) If I need to use another format of the command lemme know.

    Code:
    if command == 'warpring' then
    	get_item_reuse_time(item)
    	if  then
    		add_to_chat(50, 'Warp Ring is ready!')
    	else
    		add_to_chat(50, 'Warp Ring recast is ___ .')
    	end
    end

  20. #5580
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Trumpy View Post
    thank you dlsmd for replying.

    im not sure how to utilize this tho. everything I have tried doesnt work. I just dont know what terms to put in my command to get the time i guess. Or how to get it to look at the time of warp ring specifically (which once I know that I can later utilize for maybe exp rings or whatevers). if i want to make a command that displays the time remaining on warp ring for example... (am I on the right track?) If I need to use another format of the command lemme know.

    ...
    sorry i messed up this part
    Code:
    --[[use this to get ring reuse time (if return is - you can use it, if return is nil it is out of charges,  if its a + number you need to wait that long to use it)]] 
    function get_item_reuse_time(item)
        local ring_time,ex = 1,nil
        ex = player[find_item_in_bag(item)][item].extdata
        if ex and ex.charges_remaining and ex.charges_remaining >= 1 then
            ring_time = os.time(os.date("!*t", ex.next_use_time))-os.time()
        else
            ring_time = nil
        end
        return ring_time
    end
    the answer to your question is
    Code:
    if command == 'warpring' then
        local ringtime = get_item_reuse_time('Warp Ring')
        if ringtime > 0 then
            add_to_chat(50, 'Warp Ring recast is in '..ringtime..' seconds.')
        else
            add_to_chat(50, 'Warp Ring is ready!')
        end
    end
    you can also check my include code to see how i do it automatically for xp/cp rings
    here: https://github.com/smd111/Gearswap/blob/master/SMDinclude/includes/extra.lua

Page 279 of 302 FirstFirst ... 229 269 277 278 279 280 281 289 ... LastLast

Similar Threads

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