Gearswap Support Thread

Language: JP EN DE FR
New Items
2023-11-19
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 99 100 101 ... 181 182 183
Offline
Posts: 25
By Echodiz 2016-05-24 03:21:45
Link | Quote | Reply
 
So random but I cannot, for whatever reason, get my ranged/ammo slots to obey!!!
For instance:

When engaged in normal mode, my THF should be equipping Ginsen-- instead it equips Raider's Boomerang. If I switch to Acc mode for Honed Tathlum, same failure and Boomerang reigns supreme....I don't know what going on. Help and thank you!
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-24 10:15:19
Link | Quote | Reply
 
Bismarck.Speedyjim said: »
Thanks, that worked. Add_to_chat is a bit late to actually add to the chat, sometimes appearing 20secs after the buff wore.
That's...strange. Is it only late when the buff wears, or also when it is received? Either way, I'm fairly certain it's not an issue on your side.

Echodiz said: »
So random but I cannot, for whatever reason, get my ranged/ammo slots to obey!!!
For instance:

When engaged in normal mode, my THF should be equipping Ginsen-- instead it equips Raider's Boomerang. If I switch to Acc mode for Honed Tathlum, same failure and Boomerang reigns supreme....I don't know what going on. Help and thank you!
I'd need to see your code. You can use pastebin.com or the code tags on here.
Offline
Posts: 25
By Echodiz 2016-05-24 12:28:03
Link | Quote | Reply
 
Here's the bloody thing
Code
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.  Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------

--[[
    Custom commands:
    gs c cycle treasuremode (set on ctrl-= by default): Cycles through the available treasure hunter modes.
    
    Treasure hunter modes:
        None - Will never equip TH gear
        Tag - Will equip TH gear sufficient for initial contact with a mob (either melee, ranged hit, or Aeolian Edge AOE)
        SATA - Will equip TH gear sufficient for initial contact with a mob, and when using SATA
        Fulltime - Will keep TH gear equipped fulltime
--]]

-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2
    
    -- Load and initialize the include file.
    include('Mote-Include.lua')
	include('organizer-lib')
end

-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()
    state.Buff['Sneak Attack'] = buffactive['sneak attack'] or false
    state.Buff['Trick Attack'] = buffactive['trick attack'] or false
    state.Buff['Feint'] = buffactive['feint'] or false
    
    include('Mote-TreasureHunter')

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

-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
organizer_items = {
						"Echo Drops",
						"Holy Water",
						"Capacity Ring",
						"Trizek Ring",
						"Mecisto. Mantle",
						"Sole Sushi",
						"Reraise Earring",
						"Sole Sushi +1",
						"Jugo kukri +1",
						"Ipetam",
						"Samba Sushi",
						item="Riverfin Soup",
						item="Reraise Earring",
						item="Red Curry Bun"
						}
-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('Normal', 'Acc', 'Mod')
    state.HybridMode:options('Normal', 'Evasion', 'PDT')
    state.RangedMode:options('Normal', 'Acc')
    state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
    state.PhysicalDefenseMode:options('Evasion', 'PDT')


    gear.default.weaponskill_neck = "Asperity Necklace"
    gear.default.weaponskill_waist = "Caudata Belt"
    gear.AugQuiahuiz = {name="Quiahuiz Trousers", augments={'Haste+2','"Snapshot"+2','STR+8'}}

    -- Additional local binds
    send_command('bind ^` input /ja "Flee" <me>')
    send_command('bind ^= gs c cycle treasuremode')
    send_command('bind !- gs c cycle targetmode')

    select_default_macro_book()
end

-- Called when this job file is unloaded (eg: job change)
function user_unload()
    send_command('unbind ^`')
    send_command('unbind !-')
end

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

    sets.TreasureHunter = {hands="Plunderer's Armlets +1", waist="Chaac Belt", feet="Skulker's Poulaines"}
    sets.ExtraRegen = {head="Ocelomeh Headpiece +1"}
    sets.Kiting = {feet="Skadi's Jambeaux +1"}

    sets.buff['Sneak Attack'] = {ammo="Qirmiz Tathlum",
        head="Pillager's Bonnet +1",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Pillager's Vest +1",hands="Plunderer's Armlet's +1",ring1="Rajas Ring",ring2="Epona's Ring",
        back="Atheling Mantle",waist="Patentia Sash",legs="Pillager's Culottes +1",feet="Plunderer's Poulaines +1"}

    sets.buff['Trick Attack'] = {ammo="Qirmiz Tathlum",
        head="Pillager's Bonnet +1",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Pillager's Vest +1",hands="Plunderer's Armlet's +1",ring1="Stormsoul Ring",ring2="Epona's Ring",
        back="Atheling Mantle",waist="Patentia Sash",legs="Pillager's Culottes +1",feet="Plunderer's Poulaines +1"}

    -- Actions we want to use to tag TH.
    sets.precast.Step = sets.TreasureHunter
    sets.precast.Flourish1 = sets.TreasureHunter
    sets.precast.JA.Provoke = sets.TreasureHunter


    --------------------------------------
    -- Precast sets
    --------------------------------------

    -- Precast sets to enhance JAs
    sets.precast.JA['Collaborator'] = {head="Skulker's Bonnet +1"}
    sets.precast.JA['Accomplice'] = {head="Skulker's Bonnet +1"}
    sets.precast.JA['Flee'] = {feet="Pillager's Poulaines +1"}
    sets.precast.JA['Hide'] = {body="Pillager's Vest +1"}
    sets.precast.JA['Conspirator'] = {body="Raider's Vest +2"}
    sets.precast.JA['Steal'] = {head="Plunderer's Bonnet",hands="Plunderer's Armlet's +1",legs="Pillager's Culottes +1",feet="Pillager's Poulaines +1"}
    sets.precast.JA['Despoil'] = {legs="Raider's Culottes +2",feet="Raider's Poulaines +2"}
    sets.precast.JA['Perfect Dodge'] = {hands="Plunderer's Armlets +1"}
    sets.precast.JA['Feint'] = {legs="Plunderer's Culottes"}

    sets.precast.JA['Sneak Attack'] = sets.buff['Sneak Attack']
    sets.precast.JA['Trick Attack'] = sets.buff['Trick Attack']


    -- Waltz set (chr and vit)
    sets.precast.Waltz = {
									ammo="Sonia's Plectrum",
									head="Skulker's Bonnet +1",
									body="Pillager's Vest +1",
									hands="Plunderer's Armlet's +1",
									ring1="Asklepian Ring",
									back="Iximulew Cape",
									waist="Caudata Belt",
									legs="Pillager's Culottes +1",
									feet="Plunderer's Poulaines +1"}

    -- Don't need any special gear for Healing Waltz.
    sets.precast.Waltz['Healing Waltz'] = {}


    -- Fast cast sets for spells
    sets.precast.FC = {head="Haruspex Hat",ear2="Loquacious Earring",hands="Thaumas Gloves",ring1="Prolix Ring",legs="Enif Cosciales"}

    sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads"})


    -- Ranged snapshot gear
    sets.precast.RA = {head="Aurore Beret",hands="Iuitl Wristbands",legs="Nahtirah Trousers",feet="Wurrukatte Boots"}


    -- Weaponskill sets

    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
						head="Skulker's Bonnet +1",
						neck="Fotia Gorget",
						ear1="Jupiter's Pearl",
						ear2="Jupiter's Pearl",
						body="Pillager's Vest +1",
						hands="Herculean Gloves",
						ring1="Ramuh Ring",
						ring2="Ramuh Ring",
						back="Atheling Mantle",
						waist="Prosilio Belt +1",
						legs="Samnuha Tights",
						feet="Taeon Boots"}
						
    sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Honed Tathlum", back="Letalis Mantle"})

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, {ring1="Stormsoul Ring",legs="Nahtirah Trousers"})
    sets.precast.WS['Exenterator'].Acc = set_combine(sets.precast.WS['Exenterator'], {ammo="Honed Tathlum", back="Letalis Mantle"})
    sets.precast.WS['Exenterator'].Mod = set_combine(sets.precast.WS['Exenterator'], {head="Felistris Mask",waist=gear.ElementalBelt})
    sets.precast.WS['Exenterator'].SA = set_combine(sets.precast.WS['Exenterator'].Mod, {ammo="Qirmiz Tathlum"})
    sets.precast.WS['Exenterator'].TA = set_combine(sets.precast.WS['Exenterator'].Mod, {ammo="Qirmiz Tathlum"})
    sets.precast.WS['Exenterator'].SATA = set_combine(sets.precast.WS['Exenterator'].Mod, {ammo="Qirmiz Tathlum"})

    sets.precast.WS['Dancing Edge'] = set_combine(sets.precast.WS, {})
    sets.precast.WS['Dancing Edge'].Acc = set_combine(sets.precast.WS['Dancing Edge'], {ammo="Honed Tathlum", back="Letalis Mantle"})
    sets.precast.WS['Dancing Edge'].Mod = set_combine(sets.precast.WS['Dancing Edge'], {waist=gear.ElementalBelt})
    sets.precast.WS['Dancing Edge'].SA = set_combine(sets.precast.WS['Dancing Edge'].Mod, {ammo="Qirmiz Tathlum"})
    sets.precast.WS['Dancing Edge'].TA = set_combine(sets.precast.WS['Dancing Edge'].Mod, {ammo="Qirmiz Tathlum"})
    sets.precast.WS['Dancing Edge'].SATA = set_combine(sets.precast.WS['Dancing Edge'].Mod, {ammo="Qirmiz Tathlum"})

	
	
    sets.precast.WS['Evisceration'] = set_combine(sets.precast.WS, {	head="Whirlpool Mask",
																		neck="Rancor Collar",
																		body="Pillager's Vest +1",
																		hands="Pillager's Armlet's +1",
																		ear1="Brutal Earring",
																		ear2="Moonshade Earring"})
																		
																		
																		
																		
    sets.precast.WS['Evisceration'].Acc = set_combine(sets.precast.WS['Evisceration'], {ammo="Honed Tathlum", back="Letalis Mantle"})
    sets.precast.WS['Evisceration'].Mod = set_combine(sets.precast.WS['Evisceration'], {back="Kayapa Cape",waist=gear.ElementalBelt})
    sets.precast.WS['Evisceration'].SA = set_combine(sets.precast.WS['Evisceration'].Mod, {})
    sets.precast.WS['Evisceration'].TA = set_combine(sets.precast.WS['Evisceration'].Mod, {})
    sets.precast.WS['Evisceration'].SATA = set_combine(sets.precast.WS['Evisceration'].Mod, {})

    sets.precast.WS["Rudra's Storm"] = set_combine(sets.precast.WS, {head="Pillager's Bonnet +1",ear1="Brutal Earring",ear2="Moonshade Earring"})
    sets.precast.WS["Rudra's Storm"].Acc = set_combine(sets.precast.WS["Rudra's Storm"], {ammo="Honed Tathlum", back="Letalis Mantle"})
    sets.precast.WS["Rudra's Storm"].Mod = set_combine(sets.precast.WS["Rudra's Storm"], {back="Kayapa Cape",waist=gear.ElementalBelt})
    sets.precast.WS["Rudra's Storm"].SA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})
    sets.precast.WS["Rudra's Storm"].TA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})
    sets.precast.WS["Rudra's Storm"].SATA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})

    sets.precast.WS["Shark Bite"] = set_combine(sets.precast.WS, {head="Pillager's Bonnet +1",ear1="Brutal Earring",ear2="Moonshade Earring"})
    sets.precast.WS['Shark Bite'].Acc = set_combine(sets.precast.WS['Shark Bite'], {ammo="Honed Tathlum", back="Letalis Mantle"})
    sets.precast.WS['Shark Bite'].Mod = set_combine(sets.precast.WS['Shark Bite'], {back="Kayapa Cape",waist=gear.ElementalBelt})
    sets.precast.WS['Shark Bite'].SA = set_combine(sets.precast.WS['Shark Bite'].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})
    sets.precast.WS['Shark Bite'].TA = set_combine(sets.precast.WS['Shark Bite'].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})
    sets.precast.WS['Shark Bite'].SATA = set_combine(sets.precast.WS['Shark Bite'].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})

    sets.precast.WS['Mandalic Stab'] = set_combine(sets.precast.WS, {head="Pillager's Bonnet +1",ear1="Brutal Earring",ear2="Moonshade Earring"})
    sets.precast.WS['Mandalic Stab'].Acc = set_combine(sets.precast.WS['Mandalic Stab'], {ammo="Honed Tathlum", back="Letalis Mantle"})
    sets.precast.WS['Mandalic Stab'].Mod = set_combine(sets.precast.WS['Mandalic Stab'], {back="Kayapa Cape",waist=gear.ElementalBelt})
    sets.precast.WS['Mandalic Stab'].SA = set_combine(sets.precast.WS['Mandalic Stab'].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})
    sets.precast.WS['Mandalic Stab'].TA = set_combine(sets.precast.WS['Mandalic Stab'].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})
    sets.precast.WS['Mandalic Stab'].SATA = set_combine(sets.precast.WS['Mandalic Stab'].Mod, {ammo="Qirmiz Tathlum",
        body="Pillager's Vest +1",legs="Pillager's Culottes +1"})

    sets.precast.WS['Aeolian Edge'] = {				neck="Fotia Gorget",
													ear1="Friomisi Earring",
													ear2="Moonshade Earring",
													body="Samnuha coat",
													hands="Leyline Gloves",
													ring1="Acumen Ring",
													ring2="Demon's Ring",
													back="Toro Cape",
													waist=gear.ElementalBelt,
													legs="Shneddick Tights +1",
													feet="Wayfarer Clogs"}

    sets.precast.WS['Aeolian Edge'].TH = set_combine(sets.precast.WS['Aeolian Edge'], sets.TreasureHunter)


    --------------------------------------
    -- Midcast sets
    --------------------------------------

    sets.midcast.FastRecast = {
        head="Whirlpool Mask",ear2="Loquacious Earring",
        body="Pillager's Vest +1",hands="Plunderer's Armlets +1",
        back="Canny Cape",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}

    -- Specific spells
    sets.midcast.Utsusemi = {
        head="Whirlpool Mask",neck="Ej Necklace",ear2="Loquacious Earring",
        body="Pillager's Vest +1",hands="Plunderer's Armlets +1",ring1="Beeline Ring",
        back="Canny Cape",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}

    -- Ranged gear
    sets.midcast.RA = {
        head="Whirlpool Mask",neck="Ej Necklace",ear1="Clearview Earring",ear2="Volley Earring",
        body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Hajduk Ring",
        back="Libeccio Mantle",waist="Aquiline Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}

    sets.midcast.RA.Acc = {
        head="Pillager's Bonnet +1",neck="Ej Necklace",ear1="Clearview Earring",ear2="Volley Earring",
        body="Iuitl Vest",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Hajduk Ring",
        back="Libeccio Mantle",waist="Aquiline Belt",legs="Thurandaut Tights +1",feet="Pillager's Poulaines +1"}


    --------------------------------------
    -- Idle/resting/defense sets	
    --------------------------------------

    -- Resting sets
 --   sets.resting = {
								ranged="Raider's boomerang",
								head="Skulker's Bonnet +1",
								neck="Asperity Necklace",
								ear1="Dudgeon Earring",
								ear2="Heartseeker Earring",
								body="Pillager's Vest +1",
								hands="Plunderer's Armlets +1",
								ring1="Epona's Ring",
								ring2="Rajas Ring",
								back="Canny Cape",
								waist="Flume Belt +1",
								legs="Pillager's Culottes +1",
								feet="Fajin boots"}


    -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)

    sets.idle = {
								ammo="Ginsen",
								head="Skulker's Bonnet +1",
								neck="Twilight Torque",
								ear1="Dudgeon Earring",
								ear2="Infused Earring",
								body="Pillager's Vest +1",
								hands="Plunderer's Armlets +1",
								ring1="Dark Ring",
								ring2="Dark Ring",
								back="Repulse Mantle",
								waist="Flume Belt +1",
								legs="Taeon Tights",
								feet="Fajin boots"}

    sets.idle.Town = {
								main="Odium",
								sub="Ternion Dagger +1",
								ammo="Ginsen",
								head="Skulker's Bonnet +1",
								neck="Asperity Necklace",
								ear1="Infused Earring",
								ear2="Heartseeker Earring",
								body="Councilor's garb",
								hands="Plunderer's Armlets +1",
								ring1="Craftmaster's Ring",
								ring2="Artificer's Ring",
								back="Canny Cape",
								waist="Windbuffet Belt +1",
								legs="Samnuha Tights",
								feet="Fajin boots"}

  --  sets.idle.Weak = {ammo="Thew Bomblet",
        head="Pillager's Bonnet +1",neck="Wiglen Gorget",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Pillager's Vest +1",hands="Plunderer's Armlet's +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
        back="Shadow Mantle",waist="Flume Belt",legs="Pillager's Culottes +1",feet="Skadi's Jambeaux +1"}


    -- Defense sets

  --  sets.defense.Evasion = {
        head="Pillager's Bonnet +1",neck="Ej Necklace",
        body="Qaaxo Harness",hands="Plunderer's Armlet's +1",ring1="Defending Ring",ring2="Beeline Ring",
        back="Canny Cape",waist="Flume Belt",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}

   -- sets.defense.PDT = {
								ranged="Raider's Boomerang",
								head="Felistris Mask",
								neck="Twilight Torque",
								ear1="Dudgeon Earring",
								ear2="Heartseeker Earring",
								body="Taeon Tabard",
								hands="Plunderer's Armlets +1",
								ring1="Dark Ring",
								ring2="Dark Ring",
								back="Repulse Mantle",
								waist="Flume Belt +1",
								legs="Taeon Tights",
								feet="Fajin Boots"}

  --  sets.defense.MDT = {ammo="Demonry Stone",
  --      head="Pillager's Bonnet +1",neck="Twilight Torque",
   --     body="Pillager's Vest +1",hands="Plunderer's Armlet's +1",ring1="Defending Ring",ring2="Shadow Ring",
  --      back="Engulfer Cape",waist="Flume Belt",legs="Pillager's Culottes +1",feet="Iuitl Gaiters +1"}


    --------------------------------------
    -- Melee sets
    --------------------------------------

    -- Normal melee group
    sets.engaged = {
								ammo="Ginsen",
								head="Skulker's Bonnet +1",
								neck="Asperity Necklace",
								ear1="Dudgeon Earring",
								ear2="Heartseeker Earring",
								body="Taeon Tabard",
								hands="Herculean Gloves",
								ring1="Rajas Ring",
								ring2="Epona's Ring",
								back="Canny Cape",
								waist="Windbuffet Belt +1",
								legs="Taeon Tights",
								feet="Taeon Boots"}
								
								
    sets.engaged.Acc = {
								ammo="Honed Tathlum",
								head="Skulker's Bonnet +1",
								neck="Ej Necklace",
								ear1="Zennaroi Earring",
								ear2="Heartseeker Earring",
								body="Taeon Tabard",
								hands="Herculean Gloves",
								ring1="Oneiros Ring",
								ring2="Rajas Ring",
								back="Canny Cape",
								waist="Hurch'lan sash",
								legs="Taeon Tights",
								feet="Taeon Boots"}
        
    -- Mod set for trivial mobs (Skadi+1)
 --   sets.engaged.Mod = {ammo="Thew Bomblet",
        head="Felistris Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Skadi's Cuirie +1",hands="Plunderer's Armlet's +1",ring1="Rajas Ring",ring2="Epona's Ring",
        back="Atheling Mantle",waist="Patentia Sash",legs=gear.AugQuiahuiz,feet="Plunderer's Poulaines +1"}

    -- Mod set for trivial mobs (Thaumas)
	
 --   sets.engaged.Mod2 = {
							ammo="Thew Bomblet",
							head="Felistris Mask",
							neck="Asperity Necklace",
							ear1="Dudgeon Earring",
							ear2="Heartseeker Earring",
							body="Thaumas Coat",
							hands="Plunderer's Armlet's +1",
							ring1="Rajas Ring",
							ring2="Epona's Ring",
							back="Atheling Mantle",
							waist="Patentia Sash",
							legs="Pillager's Culottes +1",
							feet="Plunderer's Poulaines +1"}

		
    sets.engaged.Evasion = {ammo="Thew Bomblet",
        head="Imperial Wing Hairpin",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Taeon Tabard",hands="Plunderer's Armlets +1",ring1="Rajas Ring",ring2="Epona's Ring",
        back="Canny Cape",waist="Patentia Sash",legs="Kaabnax Trousers",feet="Qaaxo Leggings"}
    sets.engaged.Acc.Evasion = {ammo="Honed Tathlum",
        head="Whirlpool Mask",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Pillager's Vest +1",hands="Plunderer's Armlet's +1",ring1="Beeline Ring",ring2="Epona's Ring",
        back="Canny Cape",waist="Hurch'lan Sash",legs="Kaabnax Trousers",feet="Qaaxo Leggings"}

    sets.engaged.PDT = {
								ranged="Raider's Boomerang",
								head="Skulker's Bonnet +1",
								neck="Twilight Torque",
								ranged="Raider's Boomerang",
								ear1="Dudgeon Earring",
								ear2="Heartseeker Earring",
								body="Taeon Tabard",
								hands="Herculean Gloves",
								ring1="Dark Ring",
								ring2="Dark Ring",
								back="Repulse Mantle",
								waist="Flume Belt +1",
								legs="Taeon Tights",
								feet="Taeon Boots"}
		
		
    sets.engaged.Acc.PDT = {ammo="Honed Tathlum",
        head="Whirlpool Mask",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Iuitl Vest",hands="Plunderer's Armlet's +1",ring1="Dark Ring",ring2="Dark Ring",
        back="Canny Cape",waist="Hurch'lan Sash",legs="Iuitl Tights",feet="Qaaxo Leggings"}

end


-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------

-- Run after the general precast() is done.
function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.english == 'Aeolian Edge' and state.TreasureMode.value ~= 'None' then
        equip(sets.TreasureHunter)
    elseif spell.english=='Sneak Attack' or spell.english=='Trick Attack' or spell.type == 'WeaponSkill' then
        if state.TreasureMode.value == 'SATA' or state.TreasureMode.value == 'Fulltime' then
            equip(sets.TreasureHunter)
        end
    end
end

-- Run after the general midcast() set is constructed.
function job_post_midcast(spell, action, spellMap, eventArgs)
    if state.TreasureMode.value ~= 'None' and spell.action_type == 'Ranged Attack' then
        equip(sets.TreasureHunter)
    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)
    -- Weaponskills wipe SATA/Feint.  Turn those state vars off before default gearing is attempted.
    if spell.type == 'WeaponSkill' and not spell.interrupted then
        state.Buff['Sneak Attack'] = false
        state.Buff['Trick Attack'] = false
        state.Buff['Feint'] = false
    end
end

-- Called after the default aftercast handling is complete.
function job_post_aftercast(spell, action, spellMap, eventArgs)
    -- If Feint is active, put that gear set on on top of regular gear.
    -- This includes overlaying SATA gear.
    check_buff('Feint', eventArgs)
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------

-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
    if state.Buff[buff] ~= nil then
        if not midaction() then
            handle_equipping_gear(player.status)
        end
    end
end


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

function get_custom_wsmode(spell, spellMap, defaut_wsmode)
    local wsmode

    if state.Buff['Sneak Attack'] then
        wsmode = 'SA'
    end
    if state.Buff['Trick Attack'] then
        wsmode = (wsmode or '') .. 'TA'
    end

    return wsmode
end


-- Called any time we attempt to handle automatic gear equips (ie: engaged or idle gear).
function job_handle_equipping_gear(playerStatus, eventArgs)
    -- Check that ranged slot is locked, if necessary
    check_range_lock()

    -- Check for SATA when equipping gear.  If either is active, equip
    -- that gear specifically, and block equipping default gear.
    check_buff('Sneak Attack', eventArgs)
    check_buff('Trick Attack', eventArgs)
end


function customize_idle_set(idleSet)
    if player.hpp < 80 then
        idleSet = set_combine(idleSet, sets.ExtraRegen)
    end

    return idleSet
end


function customize_melee_set(meleeSet)
    if state.TreasureMode.value == 'Fulltime' then
        meleeSet = set_combine(meleeSet, sets.TreasureHunter)
    end

    return meleeSet
end


-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
    th_update(cmdParams, eventArgs)
end

-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
    local msg = 'Melee'
    
    if state.CombatForm.has_value then
        msg = msg .. ' (' .. state.CombatForm.value .. ')'
    end
    
    msg = msg .. ': '
    
    msg = msg .. state.OffenseMode.value
    if state.HybridMode.value ~= 'Normal' then
        msg = msg .. '/' .. state.HybridMode.value
    end
    msg = msg .. ', WS: ' .. state.WeaponskillMode.value
    
    if state.DefenseMode.value ~= 'None' then
        msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
    end
    
    if state.Kiting.value == true then
        msg = msg .. ', Kiting'
    end

    if state.PCTargetMode.value ~= 'default' then
        msg = msg .. ', Target PC: '..state.PCTargetMode.value
    end

    if state.SelectNPCTargets.value == true then
        msg = msg .. ', Target NPCs'
    end
    
    msg = msg .. ', TH: ' .. state.TreasureMode.value

    add_to_chat(122, msg)

    eventArgs.handled = true
end

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

-- State buff checks that will equip buff gear and mark the event as handled.
function check_buff(buff_name, eventArgs)
    if state.Buff[buff_name] then
        equip(sets.buff[buff_name] or {})
        if state.TreasureMode.value == 'SATA' or state.TreasureMode.value == 'Fulltime' then
            equip(sets.TreasureHunter)
        end
        eventArgs.handled = true
    end
end


-- Check for various actions that we've specified in user code as being used with TH gear.
-- This will only ever be called if TreasureMode is not 'None'.
-- Category and Param are as specified in the action event packet.
function th_action_check(category, param)
    if category == 2 or -- any ranged attack
        --category == 4 or -- any magic action
        (category == 3 and param == 30) or -- Aeolian Edge
        (category == 6 and info.default_ja_ids:contains(param)) or -- Provoke, Animated Flourish
        (category == 14 and info.default_u_ja_ids:contains(param)) -- Quick/Box/Stutter Step, Desperate/Violent Flourish
        then return true
    end
end


-- Function to lock the ranged slot if we have a ranged weapon equipped.
function check_range_lock()
    if player.equipment.range ~= 'empty' then
        disable('range', 'ammo')
    else
        enable('range', 'ammo')
    end
end


-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    -- Default macro set/book
    if player.sub_job == 'DNC' then
        set_macro_page(2, 9)
    elseif player.sub_job == 'WAR' then
        set_macro_page(3, 5)
    elseif player.sub_job == 'NIN' then
        set_macro_page(2, 8)
    else
        set_macro_page(2, 5)
    end
end
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-24 13:25:15
Link | Quote | Reply
 
Any time you equip a ranged weapon (for example, if you put it on manually, or use your 'resting' set or PDT sets), your rules are disabling the range/ammo slots. The boomerang will stay equipped unless you manually remove the weapon yourself.

You could either remove the call to check_range_lock() on line 540, or reevaluate the sets that you put boomerang in.
 Gilgamesh.Pulsahr
Offline
Server: Gilgamesh
Game: FFXI
user: Pulsahr
Posts: 4
By Gilgamesh.Pulsahr 2016-05-25 10:15:42
Link | Quote | Reply
 
Hi !

I'm trying to customize my gearswap to my liking, but am having hard times figuring out how modes work.

I am a (web) developper with 8 years experience, so I have enough programming logic and vocabulary to understand most of lua files. However my knowledge regarding gearswap specifics is very limited, and the lack of exhaustive documentation prevents me to go forward in my needs.

Specific case question

Here is my need :

I'm trying to get some skills about the modes (DefenseMode, OffenseMode, ...). I managed to customize the options list, and how to cycle them. This is an example for my SMN :
Code
state.PetMode = M{['description']='Avatar mode', 'DD', 'Tank'}
send_command('bind f11 gs c cycle PetMode')


I'm stuck at the next step : where can I define sets regarding this options ? Or maybe I can't do this ?


I'd like to cycle between 2 sets regarding my avatar situation : need to tank (set will prioritize pet pdt, regen, ...), or can go full dd (prioritizing haste, tp, ...).

I have no idea where (in the SMN.lua) I have to define this.
sets.idle.Pet doesn't exist so no sets.idle.Pet.DD.


More in-depth understanding questions

The following questions are really technical, but these are the most important to me. If you have the knowledge, or you know where I should look, please help me :)

I have opened the Mote-included.lua file looking for answers regarding modes stuff, and I saw a lot of sets I never heard of. Here is the complete list I found :
OffenseMode, HybridMode, RangedMode, WeaponskillMode, CastingMode, IdleMode, RestingMode, DefenseMode, PhysicalDefenseMode, MagicalDefenseMode, Kiting, SelectNPCTargets, PCTargetMode, EquipStop, CombatWeapon, CombatForm

All properties are bound to the "state" object (state.OffenseMode, ...). My main problem is I have no clue on what property is attached to what. Let me show an example that rips me some hair :

A friend SMN's file contains :
Code
state.OffenseMode:options('None', 'Normal', 'Acc')

and somewhere in init_gear_set function :
Code
sets.midcast.Pet.PhysicalBloodPactRage.Acc = {stuff}


My issue is I found nowhere (documentation) to look to understand that the OffenseMode value is a property of the sets.midcast.Pet.MagicalBloodPactRage, which is a customised value returned by job_get_spell_map.

How or where can I get these informations ?
Like what is a property to what ?


You know, something like :
- job_get_spell_map returns an object that has the properties xxx, yyy, ... theses properties can be used in sets.midcast.Pet and [...].
- state.DefenseMode has options that can be used in sets.Idle to alter your idle set according to your option.
Etc..

Did I miss the right place to look ?
Is there maybe someone to contact ?
A dedicated forum to Gearswap devs ?
An IRC chan ?


Thanks for any help !
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-25 11:34:39
Link | Quote | Reply
 
Lua's syntax isn't really the same as, say, Javascript, so I think it might help a little to think of these as associative arrays ("tables" in Lua) and children, not objects and properties. Tables can be used like objects, but that's not really relevant to making equip sets.

In case you weren't aware, the documentation for Mote's files is here: https://github.com/Kinematics/GearSwap-Jobs/wiki. The 'Sets' section will explain the gist of the logic behind the set construction.

However, he doesn't have instructions for constructing pet gear sets, so looking at the Mote-Include file:
Code
function get_pet_midcast_set(spell, spellMap)
    -- If there are no midcast sets defined, bail out.
    if not sets.midcast or not sets.midcast.Pet then
        return {}
    end

    local equipSet = sets.midcast.Pet

    mote_vars.set_breadcrumbs:append('sets')
    mote_vars.set_breadcrumbs:append('midcast')
    mote_vars.set_breadcrumbs:append('Pet')

    if sets.midcast and sets.midcast.Pet then
        classes.SkipSkillCheck = false
        equipSet = select_specific_set(equipSet, spell, spellMap)

        -- We can only generally be certain about whether the pet's action is
        -- Magic (ie: it cast a spell of its own volition) or Ability (it performed
        -- an action at the request of the player).  Allow CastinMode and
        -- OffenseMode to refine whatever set was selected above.
        if spell.action_type == 'Magic' then
            if equipSet[state.CastingMode.current] then
                equipSet = equipSet[state.CastingMode.current]
                mote_vars.set_breadcrumbs:append(state.CastingMode.current)
            end
        elseif spell.action_type == 'Ability' then
            if equipSet[state.OffenseMode.current] then
                equipSet = equipSet[state.OffenseMode.current]
                mote_vars.set_breadcrumbs:append(state.OffenseMode.current)
            end
        end
    end

    return equipSet
end

First it will look for sets.midcast.Pet, then the select_specific_set function will look for a child of that set that is indexed by spell.name, or else the spellmap name. If neither of those children are found, then it will look for a child indexed by spell.skill, or else spell.type, then again look for spell.name, or else spellmap.

Then it will look for a child that is indexed either by the current casting mode if the pet initiated the action, or the current offense mode if the player initiated the action.

So:
1. sets.midcast.Pet
2. [spell.name] or [spellMap]
2b. OR [spell.skill] or [spell.type], then [spell.name] or [spellMap]
3. [CastingMode.current] or [OffenseMode.current]

Each step past #1 is optional. If the child doesn't exist, it will skip that and look for the next part. For example, if you just have sets.midcast.Pet.Acc, it'd still work (but of course having some of the children before that will help you refine your sets better).

In your friend's case, "PhysicalBloodPactRage" is a custom spellMap, using this function, which is provided by default in Mote's SMN lua:
Code
function job_get_spell_map(spell)
    if spell.type == 'BloodPactRage' then
        if magicalRagePacts:contains(spell.english) then
            return 'MagicalBloodPactRage'
        else
            return 'PhysicalBloodPactRage'
        end
    elseif spell.type == 'BloodPactWard' and spell.target.type == 'MONSTER' then
        return 'DebuffBloodPactWard'
    end
end
 Gilgamesh.Pulsahr
Offline
Server: Gilgamesh
Game: FFXI
user: Pulsahr
Posts: 4
By Gilgamesh.Pulsahr 2016-05-26 03:25:16
Link | Quote | Reply
 
Thank you very much !
That is a really helpful answer. I will study the ressources at Kinematics, those links looks really what I needed to find.
Thanks for the vocabulary update too, really helpful, once more (no sarcasm !).

If I understood correctly, I can't make my own options like I tried with "PetMode", because it won't be looked after in the gearswap equip process. The only way to exploit a custom Idle option would be to use the "state.CustomIdleGroups" and check the value "state.CustomIdleGroups.value" somewhere.

Thanks again for your answer, I have all the keys to do what I want to do now. Have a nice day :)
Offline
Posts: 105
By Dsuza 2016-05-27 20:12:12
Link | Quote | Reply
 
Hey guys, I'm pretty new to GearSwap in general, but have been learning pretty quickly (Well a lot more quickly that I was expecting to)

Anyway I can't figure out why certain/different gear isn't equiping in different Casting modes on BRD for song buffs. But it is working for Song Debuffs just fine in the different casting modes. I have a feeling it is the way it is defined and needs to be differently.

First I will post how it is worded for Song Debuffs (The one that is currently working)

The 2 Casting modes I have are 'Normal' and 'Resistant'

So I have:

sets.midcast.SongDebuff = (This is what equips when in Normal casting mode)

and

sets.midcast.ResistantSongDebuff = (This is what equips in Resistant casting mode.

So for Song buffs it is worded like:

sets.midcast.SongEffect = (This is the set that equips in Normal AND Resistant Casting modes even though I have another midcast set for Resistant, and here are the ways I've tried to word it)

sets.midcast.ResistantSongEffect =

sets.midcast.SongEffect.Resistant =

sets.midcast.SongEffectResistant =


The LUA loads fine, but for some reason when I'm in Resistant Casting mode, and cast a song buff, it will only equip the gear from the Normal casting mode in the sets.midcast.SongEffect line.

Anyone have any idea what's going on or how to make it so it works?

What I found odd is that I have another LUA for BLM, that has 4 different casting modes, and when I word/define a set for w/e specific casting mode like I did above, it works. Also I find it strange that it works for the Song Debuffs worded the way it is, just not the Buffs.

Thank you very much in advance for whoever takes the time to read/try to help.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-27 21:02:10
Link | Quote | Reply
 
I'm going to assume you are using Mote/Kinematic's GS files. The names of those sets are being determined by the get_song_class(spell) function (within the BRD.lua file). If you want to change the logic by which it determines which set to use for songs, you should do it within that function.

But I have to ask why you would want a different set for song effect. This is for march, madrigal, etc...I can't think of any reason you'd ever want to wear different gear for buff songs.


Gilgamesh.Pulsahr said: »
If I understood correctly, I can't make my own options like I tried with "PetMode", because it won't be looked after in the gearswap equip process. The only way to exploit a custom Idle option would be to use the "state.CustomIdleGroups" and check the value "state.CustomIdleGroups.value" somewhere.
Those are probably what he set them up for, so yes. Also note that these are just Mote/Kinematic's files, which are generally set up for people who just want to put their gear in, and maybe have a little bit of customization here and there. You are absolutely free to make your own files from scratch, if you feel comfortable doing that and need more control.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-27 22:32:48
Link | Quote | Reply
 
Unless you grabbed somebody's modified Mote LUA, the original one only has 5 real sets:
Code
sets.midcast.SongEffect
sets.midcast.SongDebuff
sets.midcast.ResistantSongDebuff
sets.midcast.DaurdablaDummy
sets.midcast.SongRecast
 Bismarck.Dunigs
Offline
Server: Bismarck
Game: FFXI
user: Dunigs
Posts: 83
By Bismarck.Dunigs 2016-05-30 13:22:07
Link | Quote | Reply
 
Anyone having issues with priority tags? Have been trying to iron out some issues with Death swaps in order to not lose MP as a result of non-ideal swap orders but it doesn't behave as expected at all, two sets I've been testing with:
Code
function get_sets()
	sets.set1 = {
		hands={name="Otomi Gloves",priority=1},
		head={name="Merlinic Hood",priority=2},
		neck={name="Voltsurge Torque",priority=3},
		ear1={name="Loquacious Earring",priority=4},
		body={name="Anhur Robe",priority=5},}
	
	sets.set2 = {
		body={name="Amalric Doublet",priority=1},
		head={name="Pixie Hairpin +1",priority=2}, 
		hands={name="Amalric Gages",priority=3},
		neck={name="Mizukage-no-Kubikazari",priority=4},
		ear1={name="Static Earring",priority=5},  
		waist=empty}
end


I believe this syntax is correct? My math says going from set1 > set2 I should be 101 undercap and going set2 > set1 I should end 41 over cap, assuming I start from max MP in both instances. This checks out if I use windower scripts in the proper order(same as outlined in the priority tags), but letting gearswap handle the above puts me something like ~70 under when ending in set1 and more like ~200 under in set2.

I'm not sure if showswaps literally shows the order or just prints out table contents randomized but if it is supposed to print in order, again it shows that its not functioning properly.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-30 14:14:14
Link | Quote | Reply
 
Priority works from highest to lowest and, without doing the math, it looks like you have it going the other way around.
[+]
 Bismarck.Dunigs
Offline
Server: Bismarck
Game: FFXI
user: Dunigs
Posts: 83
By Bismarck.Dunigs 2016-05-30 14:32:44
Link | Quote | Reply
 
Damnit, now I feel stupid. Thanks!
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 16:37:29
Link | Quote | Reply
 
Unable to implement this into my Mote_blu.LUA. Stolen from my Mote_thf.LUA. Any help is appreciated.
Code
function determine_haste_group()
classes.CustomMeleeGroups:clear()
    
    if buffactive.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) then
        classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.march == 2 and buffactive.haste then
        classes.CustomMeleeGroups:append('MaxHaste')
	elseif buffactive['Mighty Guard'] and buffactive.haste == 2 then
		classes.CustomMeleeGroups:append('MaxHaste')
    end
end
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-30 17:10:05
Link | Quote | Reply
 
I can't find that in Mote's original THF file, so I can't make very specific suggestions without seeing how it's being implemented in your file. Did you also copy where that function is being called?
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 17:20:29
Link | Quote | Reply
 
Mmm, it's possible I stole it from the Nin.lua instead. I don't believe I copied where the function is being called.

Just added it here:
Code
function job_update(cmdParams, eventArgs)
	determine_haste_group()
end
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-30 17:31:21
Link | Quote | Reply
 
Okay, I see it in the NIN file. Are you calling that function somewhere regularly too? Otherwise it seems that function is only called by Mote when you use a 'gs c' command that he handles.

In the NIN file, he also calls the function when you first load the file, and when you receive or lose any of those buffs.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 17:43:17
Link | Quote | Reply
 
I've now added it to the job_setup & job_buff_change functions. This should do it, I suppose?
 Bahamut.Gorion
Offline
Server: Bahamut
Game: FFXI
user: Gorion
Posts: 29
By Bahamut.Gorion 2016-05-30 18:56:13
Link | Quote | Reply
 
I would like to auto equip purity ring and Gishdubar sash when Cursed or doomed to make it easier for removal when i'm using holy waters or being cursna. not sure where or how to add these functions any help is appreciated
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-30 19:11:25
Link | Quote | Reply
 
Multitude of ways you can handle that, but the least effort method would be to use the buff_change function to track when you gain/lose Doom.
Code
function buff_change(buff,gain,buff_table)
	if buff=="Doom" then
		if gain then
			equip({waist="whatever",ring1="whatever"})
			disable('waist','ring1')
		else
			enable('waist','ring1')
		end
	end
end


If you're using Mote, then you would need to add the inside lines to the job_buff_change function in your file.
 Bahamut.Gorion
Offline
Server: Bahamut
Game: FFXI
user: Gorion
Posts: 29
By Bahamut.Gorion 2016-05-30 19:26:10
Link | Quote | Reply
 
thanks
Offline
Posts: 21
By Ineeedmoney 2016-05-30 19:26:27
Link | Quote | Reply
 
Would someone be able to explain to me why my GS keeps putting me back into DW set after I use Lunge.

Even when I have it set to Reg mode it puts me back into DW set
Spoiler Alert! Click to view.

Thanks for your help
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-30 20:12:44
Link | Quote | Reply
 
I cannot replicate this issue, nor do I see anything in the code that stands out to me. Can you start with a refreshed file (//gs r) and tell me step-by-step what you are doing?
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 20:18:39
Link | Quote | Reply
 
Flippant, I'm unsure what else I'm missing to get the haste_group working. Please take a look if you can spot it.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-05-30 20:27:46
Link | Quote | Reply
 
I'm fairly certain that custom classes come last in the set, so your equip sets would need to be named 'sets.engaged.SomeAcc.MaxHaste', etc. But if even your 'normal' set isn't working, then I'm not sure and I'll need to test out the file myself.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 20:52:45
Link | Quote | Reply
 
You're right, it does come last. I've adjusted, though still not working. I'm wondering if it's buffactive['Mighty Guard'] and buffactive.haste == 2 the issue?
 Quetzalcoatl.Orestes
Offline
Server: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2016-05-30 20:55:57
Link | Quote | Reply
 
Bismarck.Speedyjim said: »
You're right, it does come last. I've adjusted, though still not working. I'm wondering if it's buffactive['Mighty Guard'] and buffactive.haste == 2 the issue?

edit: It could be the buffactive.haste == 2. (not sure on that.. it could work for geo + regular haste, etc.)

Only other thing I can see, is you're referencing a few variables for agumented gear, and I couldn't see where they're being defined.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 21:00:49
Link | Quote | Reply
 
Quetzalcoatl.Orestes said: »
Only other thing I can see, is you're referencing a few variables for agumented gear, and I couldn't see where they're being defined.
They're in my Globals file.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 21:02:25
Link | Quote | Reply
 
Quetzalcoatl.Orestes said: »
Bismarck.Speedyjim said: »
You're right, it does come last. I've adjusted, though still not working. I'm wondering if it's buffactive['Mighty Guard'] and buffactive.haste == 2 the issue?

edit: It could be the buffactive.haste == 2. (not sure on that.. it could work for geo + regular haste, etc.)
OK so there's no way to differentiate between Haste 1 and 2?
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-05-30 21:16:05
Link | Quote | Reply
 
Thanks Orestes and Flippant for your help, it's all working now. Issue was indeed the haste == 2 part.

Edit: Issue appears to be it not auto-updating sets based on haste rules. I have to hit F12 everytime. Fix?
First Page 2 3 ... 99 100 101 ... 181 182 183
Log in to post.