Gearswap Support Thread

Langues: JP EN DE FR
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 61 62 63 ... 182 183 184
 Asura.Vafruvant
Offline
Serveur: Asura
Game: FFXI
user: Vafruvant
Posts: 363
By Asura.Vafruvant 2015-04-15 14:28:11
Link | Citer | R
 
Odin.Quixacotl said: »
However Motensen has been MIA for a year now and there's no telling if or when he will ever update his files again.
He can't be completely gone, and the files must update somewhat automatically because I've never touched any of the Mote-*.lua files and my Mote-Mappings.lua has Hachirin-no-Obi for all the elements.obi_of table.

Maybe he just hasn't updated the Kinematics repository on GitHub?
 Quetzalcoatl.Orestes
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2015-04-15 16:48:41
Link | Citer | R
 
Odin.Quixacotl said: »
Kinematics is a separate component from Gearswap. Think of it as an addon to an addon. Gearswap will update itself but it won't do anything to Kinematic's Libs. You have to manually update Kinematics.

However Motensen has been MIA for a year now and there's no telling if or when he will ever update his files again.

My guess is he got a cushy job over at Google with Aurieus.

Not the case. Kinematics luas have been included with gearswap for quite a while now, so nobody has to download them. (they're in the libs folder)

With that said, downloading them is only bad practice if he were actually updating the files, since your copies that reside in data would override his and you wouldn't get bug fixes/changes. His last change was 6 months ago though, so it likely doesn't matter.
 Sylph.Ashiya
Offline
Serveur: Sylph
Game: FFXI
user: Ashee
Posts: 144
By Sylph.Ashiya 2015-04-19 00:14:57
Link | Citer | R
 
Would this be the correct way to address multiple augmented gear? This is from my blm set.

for Drain/Aspir:
Code
 -- feet={name="Helios Boots", augments={'"Drain" and "Aspir" potency +10',}}
	
    sets.midcast.Drain = {main="Baqil Staff",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Helios Band",neck="Dark Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
        body="Helios Jacket",hands="Helios Gloves",ring1="Sangoma Ring",ring2=gear.DarkRing.physical,
        back="Bane Cape",waist="Fucho-no-obi",legs="Artsieq Hose",feet="Helios Boots"}


for Nuking, since they share the same type of gear but different augments:
Code
-- Elemental Magic sets
	
	-- feet={ name="Helios Boots", augments={'"Mag.Atk.Bns."+25','"Occult Acumen"+10','Mag. crit. hit dmg. +5%',}}
	
    sets.midcast['Elemental Magic'] = {main="Keraunos",sub="Wizzan Grip",ammo="Witchstone",
        head="Helios Band",neck="Eddy Necklace",ear1="Hecate's Earring",ear2="Friomisi Earring",
        body="Hagondes Coat +1",hands="Helios Gloves",ring1="Shiva Ring",ring2="Shiva Ring",
        back="Toro Cape",waist="Oneiros Sash",legs="Telchine Braconi",feet="Helios Boots"}


Edit: Did some testing and apparently it's not switching out my feet. It keeps putting on the Drain/Aspir Augmented ones.
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-19 00:40:34
Link | Citer | R
 
Code
function user_setup()
    -- Augmented Gear --
    gear.DrainFeet = {name="Helios Boots", augments={'"Drain" and "Aspir" potency +10'}}
    gear.NukeFeet = {name="Helios Boots", augments={'"Mag.Atk.Bns."+25','"Occult Acumen"+10','Mag. crit. hit dmg. +5%'}}
end

sets.midcast.Drain = {main="Baqil Staff",
    sub="Mephitis Grip", ammo="Kalboron Stone",
    head="Helios Band", neck="Dark Torque",
    ear1="Psystorm Earring", ear2="Lifestorm Earring",
    body="Helios Jacket", hands="Helios Gloves",
    ring1="Sangoma Ring", ring2=gear.DarkRing.physical,
    back="Bane Cape", waist="Fucho-no-obi",
    legs="Artsieq Hose", feet=gear.DrainFeet}

sets.midcast.Aspir = sets.midcast.Drain

sets.midcast['Elemental Magic'] = {main="Keraunos",
    sub="Wizzan Grip", ammo="Witchstone",
    head="Helios Band", neck="Eddy Necklace",
    ear1="Hecate's Earring", ear2="Friomisi Earring",
    body="Hagondes Coat +1", hands="Helios Gloves",
    ring1="Shiva Ring", ring2="Shiva Ring",
    back="Toro Cape", waist="Oneiros Sash",
    legs="Telchine Braconi", feet=gear.NukeFeet}
Offline
By ClaudeusXI 2015-04-19 14:38:57
Link | Citer | R
 
Hi, I'm basing this off of Bokura's GEO.lua, and I was wondering how to implement code that differentiates between low tier nukes (T1-2) and higher tier (T3+) so I can use different sets for this.

Also, how do I get it to differntiate between Geo- and Indicolure spells on midcast? I want to get those "indi-spell duration+" pieces in for those spells.

I was also having issues with staff/grip in midcast set; it won't equip them if I was wearing club/Shield. (staff/grip are removed in the version under).

Any comments about improvements (not related to gear) are also welcome.
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-19 19:06:03
Link | Citer | R
 
I didn't see any staff or grip in your lua so I can't help with that.

As for the low-tier nukes and Indi spells I'm sure you can work this into your lua somehow.
Offline
By ClaudeusXI 2015-04-19 19:10:51
Link | Citer | R
 
Thanks, I will try. I'm not so good with this :-)
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-19 22:36:02
Link | Citer | R
 
I haven't tested it but this should work for you. Just add your own gear in LowTierNuke and Geomancy midcast sets. http://pastebin.com/Ps14tRp9
 Cerberus.Tidis
MSPaint Winner
Offline
Serveur: Cerberus
Game: FFXI
user: tidis
Posts: 3927
By Cerberus.Tidis 2015-04-23 13:21:08
Link | Citer | R
 
I set up a PLD lua file based on Motenn's PLD file and I would like to get dual wielding properly set up, however I can't work out how it works, I can't see a toggle for DW at all but it was already there in the original PLD file before I edited it.

I just thought I'd try it and see if it would equip the right gear, just because it was there but it doesn't, does anyone know how the dual wielding is supposed to work in Motenn's files or alternatively, how I can set up dual wielding? It's not a huge deal since it's just a case of using heartseeker + dudgeon earrings.
Code
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.  Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------

-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2

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

-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()
    state.Buff.Sentinel = buffactive.sentinel or false
    state.Buff.Cover = buffactive.cover or false
    state.Buff.Doom = buffactive.Doom or false
end

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

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('Normal', 'Acc')
    state.HybridMode:options('Normal', 'PDT', 'Reraise')
    state.WeaponskillMode:options('Normal', 'Acc')
    state.CastingMode:options('Normal', 'Resistant')
    state.PhysicalDefenseMode:options('PDT', 'HP', 'Reraise', 'Charm')
    state.MagicalDefenseMode:options('MDT', 'HP', 'Reraise', 'Charm')
    
    state.ExtraDefenseMode = M{['description']='Extra Defense Mode', 'None', 'MP', 'Knockback', 'MP_Knockback'}
    state.EquipShield = M(false, 'Equip Shield w/Defense')

    update_defense_mode()
    
    send_command('bind ^f11 gs c cycle MagicalDefenseMode')
    send_command('bind !f11 gs c cycle ExtraDefenseMode')
    send_command('bind @f10 gs c toggle EquipShield')
    send_command('bind @f11 gs c toggle EquipShield')

    select_default_macro_book()
end

function user_unload()
    send_command('unbind ^f11')
    send_command('unbind !f11')
    send_command('unbind @f10')
    send_command('unbind @f11')
end


-- Define sets and vars used by this job file.
function init_gear_sets()
    --------------------------------------
    -- Precast sets
    --------------------------------------
    
    -- Precast sets to enhance JAs
    sets.precast.JA['Invincible'] = {legs="Caballarius Breeches +1"}
    sets.precast.JA['Holy Circle'] = {feet="Reverence Leggings +1"}
    sets.precast.JA['Shield Bash'] = {hands="Caballarius Gauntlets +1"}
    sets.precast.JA['Sentinel'] = {feet="Caballarius Leggings +1"}
    sets.precast.JA['Rampart'] = {head="Caballarius Coronet +1"}
    sets.precast.JA['Fealty'] = {body="Caballarius Surcoat +1"}
    sets.precast.JA['Divine Emblem'] = {feet="Creed Sabatons +2"}
    sets.precast.JA['Cover'] = {head="Reverence Coronet +1"}

    -- add mnd for Chivalry
    sets.precast.JA['Chivalry'] = {
        head="Reverence Coronet +1",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Aquasoul Ring",ring2="Aquasoul Ring",
        back="Weard Mantle",legs="Reverence Breeches +1",feet="Whirlpool Greaves"}
    

    -- Waltz set (chr and vit)
    sets.precast.Waltz = {
        head="Reverence Coronet +1",
        hands="Reverence Gauntlets +1",
        legs="Reverence Breeches +1",feet="Whirlpool Greaves"}
        
    -- Don't need any special gear for Healing Waltz.
    sets.precast.Waltz['Healing Waltz'] = {}
    
    sets.precast.Step = {waist="Chaac Belt"}
    sets.precast.Flourish1 = {waist="Chaac Belt"}

    -- Fast cast sets for spells
    
    sets.precast.FC = {ammo="Incantor Stone",
        head="Cizin Helm +1",ear2="Loquacious Earring",legs="Enif Cosciales"}

    sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})

       
    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {ammo="Ginsen",
        head="Otomi Helm",neck=gear.ElementalGorget,ear1="Brutal Earring",ear2="Moonshade Earring",
        body="Xaddi Mail",hands="Cizin Mufflers +1",ring1="Rajas Ring",ring2="Karieyh Ring",
        back="Bleating Mantle",waist=gear.ElementalBelt,legs="Cizin Breeches +1",feet="Whirlpool Greaves"}

    sets.precast.WS.Acc = {ammo="Ginsen",
        head="Yaoyotl Helm",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Xaddi Mail",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Patricius Ring",
        back="Bleating Mantle",waist=gear.ElementalBelt,legs="Cizin Breeches +1",feet="Whirlpool Greaves"}

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ring1="Aquasoul Ring",ring2="Aquasoul Ring"})
    sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS.Acc, {ring1="Aquasoul Ring"})

	sets.precast.WS['Savage Blade'] = {ammo="Cheruski Needle",
		head="Otomi Helm",neck="Breeze Gorget",ear1="Moonshade Earring",ear2="Brutal Earring",
		body="Phorcys Korazin",hands="Cab. Gauntlets +1",ring1="Ifrit Ring",ring2="Ifrit Ring",
		back="Bleating Mantle",waist="Windbuffet Belt +1",legs="Cab. Breeches +1",feet="Whirlpool Greaves"}
	sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {head="Yaoyotl Helm",body="Xaddi Mail",hands="Buremte Gloves"})
	
    sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {ammo="Jukikuk Feather",
		neck="Breeze Gorget",legs="Mikinaak Cuisses",ring1="Ramuh Ring",ring2="Ramuh Ring",waist="Chiner's Belt +1"})
    sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'], {head="Yaoyotl Helm",body="Xaddi Mail",hand="Buremte Gloves"})

    sets.precast.WS['Sanguine Blade'] = {ammo="Ginsen",
        head="Reverence Coronet +1",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Karieyh Ring",ring2="K'ayres Ring",
        legs="Reverence Breeches +1",feet="Reverence Leggings +1"}
    
    sets.precast.WS['Atonement'] = {
        head="Reverence Coronet +1",neck=gear.ElementalGorget,ear1="Creed Earring",ear2="Steelflash Earring",
        body="Phorcys Korazin",hands="Reverence Gauntlets +1",ring1="Karieyh Ring",
        waist=gear.ElementalBelt,legs="Reverence Breeches +1",feet="Caballarius Leggings +1"}
    
    --------------------------------------
    -- Midcast sets
    --------------------------------------

    sets.midcast.FastRecast = {ammo="Incantor Stone",
        head="Cizin Helm +1",
        body="Nuevo Coselete",hands="Reverence Gauntlets +1",
        waist="Zoran's Belt",legs="Enif Cosciales",feet="Reverence Leggings +1"}
        
    sets.midcast.Enmity = {
        head="Reverence Coronet +1",neck="Invidia Torque",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Odium Ring",ring2="Hercules' Ring",
        waist="Goading Belt",legs="Reverence Breeches +1",feet="Caballarius Leggings +1"}

    sets.midcast.Flash = set_combine(sets.midcast.Enmity, {ammo="Incantor Stone",head="Cizin Helm +1",body="Nuevo Coselete",legs="Enif Cosciales"})
    
    sets.midcast.Stun = sets.midcast.Flash
    
    sets.midcast.Cure = {
        head="Adaman Barbuta",neck="Invidia Torque",ear1="Hospitaler Earring",ear2="Bloodgem Earring",
        body="Reverence Surcoat +1",hands="Buremte Gloves",
        legs="Reverence Breeches +1",feet="Caballarius Leggings +1"}

    sets.midcast['Enhancing Magic'] = {legs="Reverence Breeches +1"}
    
    sets.midcast.Protect = {ring1="Sheltered Ring"}
    sets.midcast.Shell = {ring1="Sheltered Ring"}
    
    --------------------------------------
    -- Idle/resting/defense/etc sets
    --------------------------------------

    sets.Reraise = {head="Twilight Helm", body="Twilight Mail"}
    
    sets.resting = {head="Twilight Helm",neck="Creed Collar",
        body="Ares' Cuirass +1"}
    

    -- Idle sets
    sets.idle = {ammo="Iron Gobbet",
        head="Reverence Coronet +1",neck="Creed Collar",ear1="Creed Earring",ear2="Bloodgem Earring",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="K'ayres Ring",ring2="Meridian Ring",
        back="Weard Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Reverence Leggings +1"}

    sets.idle.Town = {main="Burtgang",sub="Ochain",ammo="Incantor Stone",
        head="Reverence Coronet +1",neck="Creed Collar",ear1="Creed Earring",ear2="Bloodgem Earring",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="K'ayres Ring",ring2="Meridian Ring",
        back="Weard Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
    
    sets.idle.Weak = {ammo="Iron Gobbet",
        head="Reverence Coronet +1",neck="Creed Collar",ear1="Creed Earring",ear2="Bloodgem Earring",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="K'ayres Ring",ring2="Meridian Ring",
        back="Weard Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Reverence Leggings +1"}
    
    sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
    
    sets.Kiting = {legs="Crimson Cuisses"}

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


    --------------------------------------
    -- Defense sets
    --------------------------------------
    
    -- Extra defense sets.  Apply these on top of melee or defense sets.
    sets.Knockback = {back="Repulse Mantle"}
    sets.MP = {neck="Creed Collar",waist="Flume Belt"}
    sets.MP_Knockback = {neck="Creed Collar",waist="Flume Belt",back="Repulse Mantle"}
    
    -- If EquipShield toggle is on (Win+F10 or Win+F11), equip the weapon/shield combos here
    -- when activating or changing defense mode:
    sets.PhysicalShield = {main="Burtgang",sub="Ochain"} -- Ochain
    sets.MagicalShield = {main="Burtgang",sub="Aegis"} -- Aegis

    -- Basic defense sets.
        
    sets.defense.PDT = {ammo="Brigantia Pebble",
        head="Reverence Coronet +1",neck="Twilight Torque",ear1="Creed Earring",ear2="Ethereal Earring",
        body="Reverence Surcoat +1",hands="Cizin Mufflers +1",ring1="Patricius Ring",ring2=gear.DarkRing.physical,
        back="Repulse Mantle",waist="Flume Belt",legs="Reverence Breeches +1",feet="Cizin Greaves +1"}
    sets.defense.HP = {ammo="Brigantia Pebble",
        head="Reverence Coronet +1",neck="Twilight Torque",ear1="Creed Earring",ear2="Bloodgem Earring",
        body="Reverence Surcoat +1",hands="Caballarius Gauntlets +1",ring1="Patricius Ring",ring2="Meridian Ring",
        back="Weard Mantle",waist="Creed Baudrier",legs="Reverence Breeches +1",feet="Reverence Leggings +1"}
    sets.defense.Reraise = {ammo="Brigantia Pebble",
        head="Twilight Helm",neck="Twilight Torque",ear1="Creed Earring",ear2="Bloodgem Earring",
        body="Twilight Mail",hands="Cizin Mufflers +1",ring1="Patricius Ring",ring2=gear.DarkRing.physical,
        back="Repulse Mantle",waist="Flume Belt",legs="Reverence Breeches +1",feet="Cizin Greaves +1"}
    sets.defense.Charm = {ammo="Brigantia Pebble",
        head="Reverence Coronet +1",neck="Twilight Torque",ear1="Creed Earring",ear2="Ethereal Earring",
        body="Reverence Surcoat +1",hands="Cizin Mufflers +1",ring1="Patricius Ring",ring2=gear.DarkRing.physical,
        back="Repulse Mantle",waist="Flume Belt",legs="Reverence Breeches +1",feet="Cizin Greaves +1"}
    -- To cap MDT with Shell IV (52/256), need 76/256 in gear.
    -- Shellra V can provide 75/256, which would need another 53/256 in gear.
    sets.defense.MDT = {ammo="Demonry Stone",
        head="Reverence Coronet +1",neck="Twilight Torque",ear1="Creed Earring",ear2="Bloodgem Earring",
        body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Patricius Ring",ring2="Shadow Ring",
        back="Weard Mantle",waist="Creed Baudrier",legs="Caballarius Breeches +1",feet="Caballarius Leggings +1"}


    --------------------------------------
    -- Engaged sets
    --------------------------------------
    
    sets.engaged = {ammo="Ginsen",
        head="Otomi Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Xaddi Mail",hands="Cizin Mufflers +1",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Bleating Mantle",waist="Windbuffet Belt +1",legs="Cizin Breeches +1",feet="Whirlpool Greaves"}

    sets.engaged.Acc = {ammo="Ginsen",
        head="Yaoyotl Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Xaddi Mail",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Weard Mantle",waist="Windbuffet Belt +1",legs="Cizin Breeches +1",feet="Whirlpool Greaves"}

    sets.engaged.DW = {ammo="Ginsen",
        head="Otomi Helm",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Xaddi Mail",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Bleating Mantle",waist="Windbuffet Belt +1",legs="Cizin Breeches +1",feet="Whirlpool Greaves"}

    sets.engaged.DW.Acc = {ammo="Ginsen",
        head="Yaoyotl Helm",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
        body="Xaddi Mail",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Weard Mantle",waist="Windbuffet Belt +1",legs="Cizin Breeches +1",feet="Whirlpool Greaves"}

    sets.engaged.PDT = set_combine(sets.engaged, {body="Reverence Surcoat +1",neck="Twilight Torque",ring1="Patricius Ring"})
    sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, {body="Reverence Surcoat +1",neck="Twilight Torque",ring1="Patricius Ring"})
    sets.engaged.Reraise = set_combine(sets.engaged, sets.Reraise)
    sets.engaged.Acc.Reraise = set_combine(sets.engaged.Acc, sets.Reraise)

    sets.engaged.DW.PDT = set_combine(sets.engaged.DW, {body="Reverence Surcoat +1",neck="Twilight Torque",ring1="Patricius Ring"})
    sets.engaged.DW.Acc.PDT = set_combine(sets.engaged.DW.Acc, {body="Reverence Surcoat +1",neck="Twilight Torque",ring1="Patricius Ring"})
    sets.engaged.DW.Reraise = set_combine(sets.engaged.DW, sets.Reraise)
    sets.engaged.DW.Acc.Reraise = set_combine(sets.engaged.DW.Acc, sets.Reraise)


    --------------------------------------
    -- Custom buff sets
    --------------------------------------

    sets.buff.Doom = {ring2="Ephedra Ring"}
    sets.buff.Cover = {head="Reverence Coronet +1", body="Caballarius Surcoat +1"}
end


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

function job_midcast(spell, action, spellMap, eventArgs)
    -- If DefenseMode is active, apply that gear over midcast
    -- choices.  Precast is allowed through for fast cast on
    -- spells, but we want to return to def gear before there's
    -- time for anything to hit us.
    -- Exclude Job Abilities from this restriction, as we probably want
    -- the enhanced effect of whatever item of gear applies to them,
    -- and only one item should be swapped out.
    if state.DefenseMode.value ~= 'None' and spell.type ~= 'JobAbility' then
        handle_equipping_gear(player.status)
        eventArgs.handled = true
    end
end

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

-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
    classes.CustomDefenseGroups:clear()
    classes.CustomDefenseGroups:append(state.ExtraDefenseMode.current)
    if state.EquipShield.value == true then
        classes.CustomDefenseGroups:append(state.DefenseMode.current .. 'Shield')
    end

    classes.CustomMeleeGroups:clear()
    classes.CustomMeleeGroups:append(state.ExtraDefenseMode.current)
end

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

-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
    update_defense_mode()
end

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
    if state.Buff.Doom then
        idleSet = set_combine(idleSet, sets.buff.Doom)
    end
    
    return idleSet
end

-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
    if state.Buff.Doom then
        meleeSet = set_combine(meleeSet, sets.buff.Doom)
    end
    
    return meleeSet
end

function customize_defense_set(defenseSet)
    if state.ExtraDefenseMode.value ~= 'None' then
        defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
    end
    
    if state.EquipShield.value == true then
        defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
    end
    
    if state.Buff.Doom then
        defenseSet = set_combine(defenseSet, sets.buff.Doom)
    end
    
    return defenseSet
end


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.ExtraDefenseMode.value ~= 'None' then
        msg = msg .. ', Extra: ' .. state.ExtraDefenseMode.value
    end
    
    if state.EquipShield.value == true then
        msg = msg .. ', Force Equip Shield'
    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

    add_to_chat(122, msg)

    eventArgs.handled = true
end

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

function update_defense_mode()
    if player.equipment.main == 'Kheshig Blade' and not classes.CustomDefenseGroups:contains('Kheshig Blade') then
        classes.CustomDefenseGroups:append('Kheshig Blade')
    end
    
    if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
        if player.equipment.sub and not player.equipment.sub:contains('Shield') and
           player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
            state.CombatForm:set('DW')
        else
            state.CombatForm:reset()
        end
    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(1, 1)
    elseif player.sub_job == 'NIN' then
        set_macro_page(1, 1)
    elseif player.sub_job == 'RDM' then
        set_macro_page(1, 1)
    else
        set_macro_page(1, 1)
    end
end
 Quetzalcoatl.Orestes
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2015-04-23 16:02:12
Link | Citer | R
 
Cerberus.Tidis said: »
I set up a PLD lua file based on Motenn's PLD file and I would like to get dual wielding properly set up, however I can't work out how it works, I can't see a toggle for DW at all but it was already there in the original PLD file before I edited it.

I just thought I'd try it and see if it would equip the right gear, just because it was there but it doesn't, does anyone know how the dual wielding is supposed to work in Motenn's files or alternatively, how I can set up dual wielding? It's not a huge deal since it's just a case of using heartseeker + dudgeon earrings.

With the way it's written, you need to have an offhand weapon equipped when you change jobs, or subjob to NIN or DNC. i.e. When the PLD lua is first loaded it will check, and assign DW mode.

If that doesn't occur, you can press F12 anytime you want, and Mote's file will check your offhand slot again. You could probably get around pressing F12 by adding a call to update_defense_mode() in job_handle_equipping_gear()
Code
function job_handle_equipping_gear(status, eventArgs)
    update_defense_mode()
end
 Cerberus.Tidis
MSPaint Winner
Offline
Serveur: Cerberus
Game: FFXI
user: tidis
Posts: 3927
By Cerberus.Tidis 2015-04-23 16:07:59
Link | Citer | R
 
Ah ok thanks, I found it peculiar that it was all of a sudden working just now, nice to know I can manually make it re-check my equipment.
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-25 01:29:02
Link | Citer | R
 
getting a syntax error when trying to load lua file.

error reads: Eithin_BLU.lua:2: syntax error near '2'

Only place I can think of that the problem may be is here

1 -------------------------------------------------------------------------------------------------------------------
2 -- Setup functions for this job. Generally should not be modified.
3 -------------------------------------------------------------------------------------------------------------------
4

5 -- Initialization function for this job file.
6 function get_sets()
7 mote_include_version = 2
8
9 -- Load and initialize the include file.
10 include('Mote-Include.lua')
11 end
12


I can paste more if needed just didn't want to flood the whole board with the full file. Thanks in advance!
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-25 03:37:13
Link | Citer | R
 
Just what you posted looks fine to me. Your lua seems to not load because it cannot find the correct library files (motes includes version 2).

1. Are your main luas and the lib files in the GearSwap/data folder?
2. Are you using a sidecar?
3. Are you using Kinematics latest library files (version 2) from here? There are 7 files and you need them all to work.

It might be better just to post your entire lua.

When posting codes be sure to contain it within the [code ] [/code ] tags (minus the spaces) so that it shows in a sized window rather than half the forum page which would be painful to read. Better yet, use pastebin.com and post the link.
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-25 09:04:50
Link | Citer | R
 
1. the lib files are in the libs folder, and the job lua is in the data folder.
2.no idea what a sidecar is.
3.yes I am, and I have loaded a Kinematics file successfully within the last couple of days.

I will paste the full file. perhaps the error is somewhere else.
Code
1 ------------------------------------------------------------------------------------------------------------------- 
2 -- Setup functions for this job.  Generally should not be modified. 
3 ------------------------------------------------------------------------------------------------------------------- 
4 
 
5 -- Initialization function for this job file. 
6 function get_sets() 
7     mote_include_version = 2 
8      
9     -- Load and initialize the include file. 
10     include('Mote-Include.lua') 
11 end 
12 
 
13 
 
14 -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked. 
15 function job_setup() 
16     state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false 
17     state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false 
18     state.Buff.Convergence = buffactive.Convergence or false 
19     state.Buff.Diffusion = buffactive.Diffusion or false 
20     state.Buff.Efflux = buffactive.Efflux or false 
21      
22     state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false 
23 
 
24 
 
25     blue_magic_maps = {} 
26      
27     -- Mappings for gear sets to use for various blue magic spells. 
28     -- While Str isn't listed for each, it's generally assumed as being at least 
29     -- moderately signficant, even for spells with other mods. 
30      
31     -- Physical Spells -- 
32      
33     -- Physical spells with no particular (or known) stat mods 
34     blue_magic_maps.Physical = S{ 
35         'Bilgestorm' 
36     } 
37 
 
38     -- Spells with heavy accuracy penalties, that need to prioritize accuracy first. 
39     blue_magic_maps.PhysicalAcc = S{ 
40         'Heavy Strike', 
41     } 
42 
 
43     -- Physical spells with Str stat mod 
44     blue_magic_maps.PhysicalStr = S{ 
45         'Battle Dance','Bloodrake','Death Scissors','Dimensional Death', 
46         'Empty Thrash','Quadrastrike','Sinker Drill','Spinal Cleave', 
47         'Uppercut','Vertical Cleave' 
48     } 
49          
50     -- Physical spells with Dex stat mod 
51     blue_magic_maps.PhysicalDex = S{ 
52         'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone','Disseverment', 
53         'Foot Kick','Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad', 
54         'Seedspray','Sickle Slash','Smite of Rage','Terror Touch','Thrashing Assault', 
55         'Vanity Dive' 
56     } 
57          
58     -- Physical spells with Vit stat mod 
59     blue_magic_maps.PhysicalVit = S{ 
60         'Body Slam','Cannonball','Delta Thrust','Glutinous Dart','Grand Slam', 
61         'Power Attack','Quad. Continuum','Sprout Smack','Sub-zero Smash' 
62     } 
63          
64     -- Physical spells with Agi stat mod 
65     blue_magic_maps.PhysicalAgi = S{ 
66         'Benthic Typhoon','Feather Storm','Helldive','Hydro Shot','Jet Stream', 
67         'Pinecone Bomb','Spiral Spin','Wild Oats' 
68     } 
69 
 
70     -- Physical spells with Int stat mod 
71     blue_magic_maps.PhysicalInt = S{ 
72         'Mandibular Bite','Queasyshroom' 
73     } 
74 
 
75     -- Physical spells with Mnd stat mod 
76     blue_magic_maps.PhysicalMnd = S{ 
77         'Ram Charge','Screwdriver','Tourbillion' 
78     } 
79 
 
80     -- Physical spells with Chr stat mod 
81     blue_magic_maps.PhysicalChr = S{ 
82         'Bludgeon' 
83     } 
84 
 
85     -- Physical spells with HP stat mod 
86     blue_magic_maps.PhysicalHP = S{ 
87         'Final Sting' 
88     } 
89 
 
90     -- Magical Spells -- 
91 
 
92     -- Magical spells with the typical Int mod 
93     blue_magic_maps.Magical = S{ 
94         'Blastbomb','Blazing Bound','Bomb Toss','Cursed Sphere','Dark Orb','Death Ray', 
95         'Diffusion Ray','Droning Whirlwind','Embalming Earth','Firespit','Foul Waters', 
96         'Ice Break','Leafstorm','Maelstrom','Rail Cannon','Regurgitation','Rending Deluge', 
97         'Retinal Glare','Subduction','Tem. Upheaval','Water Bomb' 
98     } 
99 
 
100     -- Magical spells with a primary Mnd mod 
101     blue_magic_maps.MagicalMnd = S{ 
102         'Acrid Stream','Evryone. Grudge','Magic Hammer','Mind Blast' 
103     } 
104 
 
105     -- Magical spells with a primary Chr mod 
106     blue_magic_maps.MagicalChr = S{ 
107         'Eyes On Me','Mysterious Light' 
108     } 
109 
 
110     -- Magical spells with a Vit stat mod (on top of Int) 
111     blue_magic_maps.MagicalVit = S{ 
112         'Thermal Pulse' 
113     } 
114 
 
115     -- Magical spells with a Dex stat mod (on top of Int) 
116     blue_magic_maps.MagicalDex = S{ 
117         'Charged Whisker','Gates of Hades' 
118     } 
119              
120     -- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage. 
121     -- Add Int for damage where available, though. 
122     blue_magic_maps.MagicAccuracy = S{ 
123         '1000 Needles','Absolute Terror','Actinic Burst','Auroral Drape','Awful Eye', 
124         'Blank Gaze','Blistering Roar','Blood Drain','Blood Saber','Chaotic Eye', 
125         'Cimicine Discharge','Cold Wave','Corrosive Ooze','Demoralizing Roar','Digest', 
126         'Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar', 
127         'Geist Wall','Hecatomb Wave','Infrasonics','Jettatura','Light of Penance', 
128         'Lowing','Mind Blast','Mortal Ray','MP Drainkiss','Osmosis','Reaving Wind', 
129         'Sandspin','Sandspray','Sheep Song','Soporific','Sound Blast','Stinking Gas', 
130         'Sub-zero Smash','Venom Shell','Voracious Trunk','Yawn' 
131     } 
132          
133     -- Breath-based spells 
134     blue_magic_maps.Breath = S{ 
135         'Bad Breath','Flying Hip Press','Frost Breath','Heat Breath', 
136         'Hecatomb Wave','Magnetite Cloud','Poison Breath','Radiant Breath','Self-Destruct', 
137         'Thunder Breath','Vapor Spray','Wind Breath' 
138     } 
139 
 
140     -- Stun spells 
141     blue_magic_maps.Stun = S{ 
142         'Blitzstrahl','Frypan','Head Butt','Sudden Lunge','Tail slap','Temporal Shift', 
143         'Thunderbolt','Whirl of Rage' 
144     } 
145          
146     -- Healing spells 
147     blue_magic_maps.Healing = S{ 
148         'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','Restoral','White Wind', 
149         'Wild Carrot' 
150     } 
151      
152     -- Buffs that depend on blue magic skill 
153     blue_magic_maps.SkillBasedBuff = S{ 
154         'Barrier Tusk','Diamondhide','Magic Barrier','Metallic Body','Plasma Charge', 
155         'Pyric Bulwark','Reactor Cool', 
156     } 
157 
 
158     -- Other general buffs 
159     blue_magic_maps.Buff = S{ 
160         'Amplification','Animating Wail','Battery Charge','Carcharian Verve','Cocoon', 
161         'Erratic Flutter','Exuviation','Fantod','Feather Barrier','Harden Shell', 
162         'Memento Mori','Nat. Meditation','Occultation','Orcish Counterstance','Refueling', 
163         'Regeneration','Saline Coat','Triumphant Roar','Warm-Up','Winds of Promyvion', 
164         'Zephyr Mantle' 
165     } 
166      
167      
168     -- Spells that require Unbridled Learning to cast. 
169     unbridled_spells = S{ 
170         'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve', 
171         'Crashing Thunder','Droning Whirlwind','Gates of Hades','Harden Shell','Polar Roar', 
172         'Pyric Bulwark','Thunderbolt','Tourbillion','Uproot' 
173     } 
174 end 
175 
 
176 ------------------------------------------------------------------------------------------------------------------- 
177 -- User setup functions for this job.  Recommend that these be overridden in a sidecar file. 
178 ------------------------------------------------------------------------------------------------------------------- 
179 
 
180 -- Setup vars that are user-dependent.  Can override this function in a sidecar file. 
181 function user_setup() 
182     state.OffenseMode:options('Normal', 'Acc', 'Refresh', 'Learning') 
183     state.WeaponskillMode:options('Normal', 'Acc') 
184     state.CastingMode:options('Normal', 'Resistant') 
185     state.IdleMode:options('Normal', 'PDT', 'Learning') 
186 
 
187     gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -4%','Mag. Atk. Bns +26'}} 
188 
 
189     -- Additional local binds 
190     send_command('bind ^` input /ja "Chain Affinity" <me>') 
191     send_command('bind !` input /ja "Efflux" <me>') 
192     send_command('bind @` input /ja "Burst Affinity" <me>') 
193 
 
194     update_combat_form() 
195     select_default_macro_book() 
196 end 
197 
 
198 
 
199 -- Called when this job file is unloaded (eg: job change) 
200 function user_unload() 
201     send_command('unbind ^`') 
202     send_command('unbind !`') 
203     send_command('unbind @`') 
204 end 
205 
 
206 
 
207 -- Set up gear sets. 
208 function init_gear_sets() 
209     -------------------------------------- 
210     -- Start defining the sets 
211     -------------------------------------- 
212 
 
213     sets.buff['Burst Affinity'] = {feet="Mavi Basmak +1"} 
214     sets.buff['Chain Affinity'] = {head="Mavi Kavuk +1"}
215     sets.buff.Convergence = {head="Luhlaza Keffiyeh"} 
216     sets.buff.Diffusion = {feet="Luhlaza Charuqs"} 
217     sets.buff.Enchainment = {body="Luhlaza Jubbah"} 
218     sets.buff.Efflux = {legs="Mavi Tayt +1"} 
219 
 
220      
221     -- Precast Sets 
222      
223     -- Precast sets to enhance JAs 
224     sets.precast.JA['Azure Lore'] = {hands="Mirage Bazubands +2"} 
225 
 
226 
 
227     -- Waltz set (chr and vit) 
228     sets.precast.Waltz = {ammo="Sonia's Plectrum", 
229         head="Uk'uxkaj Cap", 
230         body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Spiral Ring", 
231         back="Iximulew Cape",waist="Caudata Belt",legs="Hagondes Pants",feet="Iuitl Gaiters +1"} 
232          
233     -- Don't need any special gear for Healing Waltz. 
234     sets.precast.Waltz['Healing Waltz'] = {} 
235 
 
236     -- Fast cast sets for spells 
237      
238     sets.precast.FC = {ammo="Impatiens", 
239         head="Haruspex Hat",ear1="Loquacious Earring",ear2="Enchanter Earring +1", 
240         body="Helios Jacket",hands="Helios Gloves",ring1="Prolix Ring", 
241         back="Swith Cape +1",waist="Witful Belt",legs="Enif Cosciales",feet="Chelona Boots +1"} 
242          
243     sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Mavi Mintan +2"}) 
244 
 
245         
246     -- Weaponskill sets 
247     -- Default set for any weaponskill that isn't any more specifically defined 
248     sets.precast.WS = { 
249         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
250         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
251         back="Atheling Mantle",waist="Twilight Belt",legs="Taeon Tights",feet="Iaeon Boots"} 
252      
253     sets.precast.WS.acc = set_combine(sets.precast.WS, {hands="Taeon Gloves"}) 
254 
 
255     -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found. 
256     sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ring1="Aquasoul Ring",feet="Helios Boots"}) 
257 
 
258     sets.precast.WS['Sanguine Blade'] = { 
259         head="Helios Band",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring", 
260         body="Hagondes Coat +1",hands="Helios Gloves",ring1="Fenrir Ring +1",ring2="Adoulin Ring", 
261         back="Cornflower Cape",legs="Hagondes Pants +1",feet="Helios Boots"} 
262      
263      
264     -- Midcast Sets 
265     sets.midcast.FastRecast = { 
266         head="Haruspex Hat",ear1="Loquacious Earring",ear2="Enchanter Earring +1", 
267         body="Helios Jacket",hands="Helios Gloves",ring1="Prolix Ring", 
268         back="Swith Cape +1",waist="Witful Belt",legs="Hagondes Pants +1",feet="Helios Boots"} 
269          
270     sets.midcast['Blue Magic'] = {} 
271      
272     -- Physical Spells -- 
273      
274     sets.midcast['Blue Magic'].Physical = {ammo="Mavi Tathlum", 
275         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring", 
276         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
277         back="Atheling Mantle",waist="Twilight Belt",legs="Taeon Tights",feet="Taeon Boots"} 
278 
 
279     sets.midcast['Blue Magic'].PhysicalAcc = {ammo="Jukukik Feather", 
280         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring", 
281         body="Mavi Mintan +2",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Adoulin Ring", 
282         back="Cornflower Cape",waist="Twilight Belt",legs="Taeon Tights",feet="Taeon Boots"} 
283 
 
284     sets.midcast['Blue Magic'].PhysicalStr = set_combine(sets.midcast['Blue Magic'].Physical, 
285         {body="Taeon Tabard",hands="Taeon Gloves"}) 
286 
 
287     sets.midcast['Blue Magic'].PhysicalDex = set_combine(sets.midcast['Blue Magic'].Physical, 
288         {ammo="Jukukik Feather",body="Taeon Tabard",hands="Taeon Gloves", 
289          waist="Chiner's Belt +1",legs="Taeon Boots"}) 
290 
 
291     sets.midcast['Blue Magic'].PhysicalVit = set_combine(sets.midcast['Blue Magic'].Physical, 
292         {body="Taeon Tabard",hands="Taeon Gloves",back="Oneiros Cappa"}) 
293 
 
294     sets.midcast['Blue Magic'].PhysicalAgi = set_combine(sets.midcast['Blue Magic'].Physical, 
295         {body="Taeon Tabard",hands="Hagondes Cuffs",ring2="Stormsoul Ring", 
296          waist="Scouter's Rope",feet="Taeon Boots"}) 
297 
 
298     sets.midcast['Blue Magic'].PhysicalInt = set_combine(sets.midcast['Blue Magic'].Physical, 
299         {ear1="Friomisi Earring",body="Hagondes Coat +1",hands="Helios Gloves", 
300          ring2="Icesoul Ring",back="Cornflower Cape",feet="Telchine Pigaches"}) 
301 
 
302     sets.midcast['Blue Magic'].PhysicalMnd = set_combine(sets.midcast['Blue Magic'].Physical, 
303         {ear1="Lifestorm Earring",body="Telchine Chasuble",hands="Telchine Gloves", 
304          ring2="Aquasoul Ring",back="Swith Cape +1"}) 
305 
 
306     sets.midcast['Blue Magic'].PhysicalChr = set_combine(sets.midcast['Blue Magic'].Physical, 
307         {body="Telchine Chasuble",hands="Telchine Gloves",back="Swith Cape +1", 
308          waist="Chaac Belt"}) 
309 
 
310     sets.midcast['Blue Magic'].PhysicalHP = set_combine(sets.midcast['Blue Magic'].Physical) 
311 
 
312 
 
313     -- Magical Spells -- 
314      
315     sets.midcast['Blue Magic'].Magical = {ammo="Dosis Tathlum", 
316         head="Helios Band",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring", 
317         body="Hagondes Coat +1",hands="Helios Gloves",ring1="Fenrir Ring +1",ring2="Adoulin Ring", 
318         back="Cornflower Cape",waist="Aswang Sash",legs="Hagondes Pants +1",feet="Helios Boots"} 
319 
 
320     sets.midcast['Blue Magic'].Magical.Resistant = set_combine(sets.midcast['Blue Magic'].Magical, 
321         {body="Hagondes Coat +1",ring1="Sangoma Ring",legs="Hagondes Pants +1",feet="Helios Boots"}) 
322      
323     sets.midcast['Blue Magic'].MagicalMnd = set_combine(sets.midcast['Blue Magic'].Magical, 
324         {ring1="Aquasoul Ring"}) 
325 
 
326     sets.midcast['Blue Magic'].MagicalChr = set_combine(sets.midcast['Blue Magic'].Magical) 
327 
 
328     sets.midcast['Blue Magic'].MagicalVit = set_combine(sets.midcast['Blue Magic'].Magical, 
329         {ring1="Spiral Ring"}) 
330 
 
331     sets.midcast['Blue Magic'].MagicalDex = set_combine(sets.midcast['Blue Magic'].Magical) 
332 
 
333     sets.midcast['Blue Magic'].MagicAccuracy = {ammo="Mavi Tathlum", 
334         head="Telchine Cap",neck="Stoicheion Medal",ear1="Enchanter Earring +1",ear2="Psystorm Earring", 
335         body="Mavi Mintan +2",hands="Hagondes Cuffs",ring1="Adoulin Ring",ring2="Fenrir Ring +1" 
336         back="Cornflower Cape",legs="Iuitl Tights",feet="Helios Boots"} 
337 
 
338     -- Breath Spells -- 
339      
340     sets.midcast['Blue Magic'].Breath = {ammo="Mavi Tathlum", 
341         head="Telchine Cap",neck="Ej Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring", 
342         body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",ring1="K'ayres Ring",ring2="Beeline Ring", 
343         back="Refraction Cape",legs="Enif Cosciales",feet="Iuitl Gaiters +1"} 
344 
 
345     -- Other Types -- 
346      
347     sets.midcast['Blue Magic'].Stun = set_combine(sets.midcast['Blue Magic'].MagicAccuracy, 
348         {waist="Chaac Belt"}) 
349          
350     sets.midcast['Blue Magic']['White Wind'] = { 
351         head="Whirlpool Mask",neck="Lavalier +1",ear1="Bloodgem Earring",ear2="Loquacious Earring", 
352         body="Vanir Cotehardie",hands="Buremte Gloves",ring1="K'ayres Ring",ring2="Meridian Ring", 
353         back="Fravashi Mantle",waist="Hurch'lan Sash",legs="Enif Cosciales",feet="Hagondes Sabots"} 
354 
 
355     sets.midcast['Blue Magic'].Healing = { 
356         head="Telchine Cap",ear1="Lifestorm Earring",ear2="Loquacious Earring", 
357         body="Telchine Chasuble",hands="Telchine Gloves",ring1="Aquasoul Ring",ring2="Asklepian Ring", 
358         back="Swith Cape +1"waist="Chuq'aba Belt",legs="Telchine Braconi",feet="Telchine Pigaches"} 
359 
 
360     sets.midcast['Blue Magic'].SkillBasedBuff = {ammo="Mavi Tathlum", 
361         head="Luhlaza Keffiyeh", 
362         body="Assimilator's Jubbah", 
363         back="Cornflower Cape",legs="Mavi Tayt +1",feet="Luhlaza Charuqs"} 
364 
 
365     sets.midcast['Blue Magic'].Buff = {} 
366      
367     sets.midcast.Protect = {ring1="Sheltered Ring"} 
368     sets.midcast.Protectra = {ring1="Sheltered Ring"} 
369     sets.midcast.Shell = {ring1="Sheltered Ring"} 
370     sets.midcast.Shellra = {ring1="Sheltered Ring"} 
371      
372 
 
373      
374      
375     -- Sets to return to when not performing an action. 
376 
 
377     -- Gear for learning spells: +skill and AF hands. 
378     sets.Learning = {ammo="Mavi Tathlum",hands="Assimilator's Bazubands +1"} 
379         --head="Luhlaza Keffiyeh",   
380         --body="Assimilator's Jubbah",hands="Assimilator's Bazubands +1", 
381         --back="Cornflower Cape",legs="Mavi Tayt +1",feet="Luhlaza Charuqs"} 
382 
 
383 
 
384     sets.latent_refresh = {waist="Fucho-no-obi"} 
385 
 
386     -- Resting sets 
387     sets.resting = { 
388         head="Ocelomeh Headpiece",neck="Wiglen Gorget", 
389         body="Hagondes Coat +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
390         waist="Austerity Belt",feet="Chelona Boots +1"} 
391      
392     -- Idle sets 
393     sets.idle = {ammo="Impatiens", 
394         head="Helios Band",neck="Wiglen Gorget",ear1="Enchanter Earring +1",ear2="Loquacious Earring", 
395         body="Hagondes Coat +1",hands="Hagondes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
396         back="Cornflower Cape",waist="Aswang Sash",legs="Crimson Cuisses",feet="Helios Boots"} 
397 
 
398     sets.idle.PDT = {ammo="Impatiens", 
399         head="Helios Band",neck="Wiglen Gorget",ear1="Enchanter Earring +1",ear2="Loquacious Earring", 
400         body="Hagondes Coat +1",hands="Hagondes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
401         back="Cornflower Cape",waist="Aswang Sash",legs="Crimson Cuisses",feet="Helios Boots"} 
402 
 
403     sets.idle.Town = {main="Buramenk'ah",ammo="Impatiens", 
404         head="Mavi Kavuk +2",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring", 
405         body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
406         back="Atheling Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Luhlaza Charuqs"} 
407 
 
408     sets.idle.Learning = set_combine(sets.idle, sets.Learning) 
409 
 
410      
411     -- Defense sets 
412     sets.defense.PDT = {ammo="Iron Gobbet", 
413         head="Whirlpool Mask",neck="Wiglen Gorget",ear1="Bloodgem Earring", 
414         body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Defending Ring",ring2=gear.DarkRing.physical, 
415         back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"} 
416 
 
417     sets.defense.MDT = {ammo="Demonry Stone", 
418         head="Whirlpool Mask",neck="Twilight Torque",ear1="Bloodgem Earring", 
419         body="Hagondes Coat",hands="Iuitl Wristbands",ring1="Defending Ring",ring2="Shadow Ring", 
420         back="Engulfer Cape",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"} 
421 
 
422     sets.Kiting = {legs="Crimson Cuisses"} 
423 
 
424     -- Engaged sets 
425 
 
426     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous 
427     -- sets if more refined versions aren't defined. 
428     -- If you create a set with both offense and defense modes, the offense mode should be first. 
429     -- EG: sets.engaged.Dagger.Accuracy.Evasion 
430      
431     -- Normal melee group 
432     sets.engaged = {ammo="Focal Orb", 
433         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
434         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
435         back="Atheling Mantle",waist="Chiner's Belt +1",legs="Taeon Tights",feet="Taeon Boots"} 
436 
 
437     sets.engaged.Acc = {ammo="Mavi Tathlum", 
438         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
439         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
440         back="Cornflower Cape",waist="Chiner's Belt +1",legs="Taeon Tights",feet="Taeon Boots"} 
441 
 
442     sets.engaged.Refresh = {ammo="Dosis Tathlum", 
443         head="Helios Band",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
444         body="Hagondes Coat +1",hands="Helios Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
445         back="Atheling Mantle",waist="Aswang Sash",legs="Hagondes Pants +1",feet="Helios Boots"} 
446 
 
447     sets.engaged.DW = {ammo="Jukukik Feather", 
448         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring", 
449         body="Luhlaza Jubbah",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
450         back="Atheling Mantle",waist="Windbuffet Belt",legs="Manibozho Brais",feet="Iuitl Gaiters +1"} 
451 
 
452     sets.engaged.DW.Acc = {ammo="Jukukik Feather", 
453         head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring", 
454         body="Luhlaza Jubbah",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
455         back="Letalis Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Qaaxo Leggings"} 
456 
 
457     sets.engaged.DW.Refresh = {ammo="Jukukik Feather", 
458         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring", 
459         body="Hagondes Coat +1",hands="Assimilator's Bazubands +1",ring1="Rajas Ring",ring2="Epona's Ring", 
460         back="Letalis Mantle",waist="Windbuffet Belt",legs="Manibozho Brais",feet="Qaaxo Leggings"} 
461 
 
462     sets.engaged.Learning = set_combine(sets.engaged, sets.Learning) 
463     sets.engaged.DW.Learning = set_combine(sets.engaged.DW, sets.Learning) 
464 
 
465 
 
466     sets.self_healing = {ring1="Aquasoul Ring",ring2="Asklepian Ring"} 
467 end 
468 
 
469 ------------------------------------------------------------------------------------------------------------------- 
470 -- Job-specific hooks for standard casting events. 
471 ------------------------------------------------------------------------------------------------------------------- 
472 
 
473 -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. 
474 -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast. 
475 function job_precast(spell, action, spellMap, eventArgs) 
476     if unbridled_spells:contains(spell.english) and not state.Buff['Unbridled Learning'] then 
477         eventArgs.cancel = true 
478         windower.send_command('@input /ja "Unbridled Learning" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name) 
479     end 
480 end 
481 
 
482 -- Run after the default midcast() is done. 
483 -- eventArgs is the same one used in job_midcast, in case information needs to be persisted. 
484 function job_post_midcast(spell, action, spellMap, eventArgs) 
485     -- Add enhancement gear for Chain Affinity, etc. 
486     if spell.skill == 'Blue Magic' then 
487         for buff,active in pairs(state.Buff) do 
488             if active and sets.buff[buff] then 
489                 equip(sets.buff[buff]) 
490             end 
491         end 
492         if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then 
493             equip(sets.self_healing) 
494         end 
495     end 
496 
 
497     -- If in learning mode, keep on gear intended to help with that, regardless of action. 
498     if state.OffenseMode.value == 'Learning' then 
499         equip(sets.Learning) 
500     end 
501 end 
502 
 
503 
 
504 ------------------------------------------------------------------------------------------------------------------- 
505 -- Job-specific hooks for non-casting events. 
506 ------------------------------------------------------------------------------------------------------------------- 
507 
 
508 -- Called when a player gains or loses a buff. 
509 -- buff == buff gained or lost 
510 -- gain == true if the buff was gained, false if it was lost. 
511 function job_buff_change(buff, gain) 
512     if state.Buff[buff] ~= nil then 
513         state.Buff[buff] = gain 
514     end 
515 end 
516 
 
517 ------------------------------------------------------------------------------------------------------------------- 
518 -- User code that supplements standard library decisions. 
519 ------------------------------------------------------------------------------------------------------------------- 
520 
 
521 -- Custom spell mapping. 
522 -- Return custom spellMap value that can override the default spell mapping. 
523 -- Don't return anything to allow default spell mapping to be used. 
524 function job_get_spell_map(spell, default_spell_map) 
525     if spell.skill == 'Blue Magic' then 
526         for category,spell_list in pairs(blue_magic_maps) do 
527             if spell_list:contains(spell.english) then 
528                 return category 
529             end 
530         end 
531     end 
532 end 
533 
 
534 -- Modify the default idle set after it was constructed. 
535 function customize_idle_set(idleSet) 
536     if player.mpp < 51 then 
537         set_combine(idleSet, sets.latent_refresh) 
538     end 
539     return idleSet 
540 end 
541 
 
542 -- Called by the 'update' self-command, for common needs. 
543 -- Set eventArgs.handled to true if we don't want automatic equipping of gear. 
544 function job_update(cmdParams, eventArgs) 
545     update_combat_form() 
546 end 
547 
 
548 
 
549 ------------------------------------------------------------------------------------------------------------------- 
550 -- Utility functions specific to this job. 
551 ------------------------------------------------------------------------------------------------------------------- 
552 
 
553 function update_combat_form() 
554     -- Check for H2H or single-wielding 
555     if player.equipment.sub == "Genbu's Shield" or player.equipment.sub == 'empty' then 
556         state.CombatForm:reset() 
557     else 
558         state.CombatForm:set('DW') 
559     end 
560 end 
561 
 
562 
 
563 -- Select default macro book on initial load or subjob change. 
564 function select_default_macro_book() 
565     -- Default macro set/book 
566     if player.sub_job == 'DNC' then 
567         set_macro_page(2, 7) 
568     else 
569         set_macro_page(1, 7) 
570     end 
571 end 
572 
 
573  
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-25 09:32:43
Link | Citer | R
 
Oh! perhaps the double column of line numbers? was a copy paste just noticed it :/

Going to edit the second column out. will update shortly.
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-25 10:00:57
Link | Citer | R
 
Fixed the problem! thank you for your help @Quixacotl
 Quetzalcoatl.Orestes
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2015-04-25 10:44:34
Link | Citer | R
 
Odin.Quixacotl said: »
Just what you posted looks fine to me. Your lua seems to not load because it cannot find the correct library files (motes includes version 2).

1. Are your main luas and the lib files in the GearSwap/data folder?
2. Are you using a sidecar?
3. Are you using Kinematics latest library files (version 2) from here? There are 7 files and you need them all to work.

It might be better just to post your entire lua.

When posting codes be sure to contain it within the [code ] [/code ] tags (minus the spaces) so that it shows in a sized window rather than half the forum page which would be painful to read. Better yet, use pastebin.com and post the link.

Motes luas have been included with windower for almost a year now. No need to tell people they have to download them.
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-25 11:06:16
Link | Citer | R
 
I actually have another issue hopefully someone can help me with.

I've noticed when I play that the gearswapping seems to be inconsistent, for example, casting restoral GS goes to my cure set no problem, but then going back to my idle set it will miss certain pieces. Now if I cast restoral again, upon returning to my idle set it will get the pieces it missed the first time but miss different pieces this time.

I have checked all of my spelling and made sure all pieces are in my inventory/wardrobe.
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-26 01:30:30
Link | Citer | R
 
Quetzalcoatl.Orestes said: »
Odin.Quixacotl said: »
Just what you posted looks fine to me. Your lua seems to not load because it cannot find the correct library files (motes includes version 2).

1. Are your main luas and the lib files in the GearSwap/data folder?
2. Are you using a sidecar?
3. Are you using Kinematics latest library files (version 2) from here? There are 7 files and you need them all to work.

It might be better just to post your entire lua.

When posting codes be sure to contain it within the [code ] [/code ] tags (minus the spaces) so that it shows in a sized window rather than half the forum page which would be painful to read. Better yet, use pastebin.com and post the link.

Motes luas have been included with windower for almost a year now. No need to tell people they have to download them.
Motes may be included with Windower but time and time again the same question gets asked, "Why won't my Motes lua load?" and for the most part, the answer lies in one of those 3 options I gave. So I stand by my answer.

I like to believe people post here because they need help... no matter how trivial that question may seem to some others. I like to help, not to put any feather on my cap or to prove anything. I once posted a SpellCast question back in the heyday and got a reply to the effect that it was a stupid question to ask. Well it wasn't stupid to me it was a big deal. Fortunately I had one truly helpful, knowledgeable and sympathetic person point me in the right direction. Now I find helping others with GS intriguing. It's like solving a puzzle. It's also my way of returning a favor.
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-26 02:17:26
Link | Citer | R
 
Quetzalcoatl.Eithin said: »
I actually have another issue hopefully someone can help me with.

I've noticed when I play that the gearswapping seems to be inconsistent, for example, casting restoral GS goes to my cure set no problem, but then going back to my idle set it will miss certain pieces. Now if I cast restoral again, upon returning to my idle set it will get the pieces it missed the first time but miss different pieces this time.

I have checked all of my spelling and made sure all pieces are in my inventory/wardrobe.
Just eyeballing it, line 410 - "sets.midcast['Blue Magic'].Healing" you're missing a comma after back="Swith Cape +1". Should be back="Swith Cape +1", (note the comma).
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-26 09:30:04
Link | Citer | R
 
Thank you. However, that is not the problem.
 Quetzalcoatl.Orestes
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2015-04-26 12:47:44
Link | Citer | R
 
Odin.Quixacotl said: »
Quetzalcoatl.Orestes said: »
Odin.Quixacotl said: »
Just what you posted looks fine to me. Your lua seems to not load because it cannot find the correct library files (motes includes version 2).

1. Are your main luas and the lib files in the GearSwap/data folder?
2. Are you using a sidecar?
3. Are you using Kinematics latest library files (version 2) from here? There are 7 files and you need them all to work.

It might be better just to post your entire lua.

When posting codes be sure to contain it within the [code ] [/code ] tags (minus the spaces) so that it shows in a sized window rather than half the forum page which would be painful to read. Better yet, use pastebin.com and post the link.

Motes luas have been included with windower for almost a year now. No need to tell people they have to download them.
Motes may be included with Windower but time and time again the same question gets asked, "Why won't my Motes lua load?" and for the most part, the answer lies in one of those 3 options I gave. So I stand by my answer.

I like to believe people post here because they need help... no matter how trivial that question may seem to some others. I like to help, not to put any feather on my cap or to prove anything. I once posted a SpellCast question back in the heyday and got a reply to the effect that it was a stupid question to ask. Well it wasn't stupid to me it was a big deal. Fortunately I had one truly helpful, knowledgeable and sympathetic person point me in the right direction. Now I find helping others with GS intriguing. It's like solving a puzzle. It's also my way of returning a favor.

I commend you for all the help you do. Sorry if that seemed like a jab at you. I didn't post that without reason though.

If somebody is saying Mote's luas won't load, there's only a few likely reasons. They either don't have the gearswap addon loaded. Their resources are horribly outdated, or they have old copies of mote's libs residing in their data folder (from downloading them).

Tossing Mote's files in your data folder can actually do harm to the user. Gearswap's lua include path checks lib, then data. Anything inside data will take precedence over Mote's files inside lib. If Mote was to fix something critical, any user who tossed his files in data would come here looking for fixes to their broken gearswap, as their files would block them from loading his.

None of this technically matters since Mote has been MIA for 6 months. That doesn't mean he will never update them again though, and following good practice is worthwhile.
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-26 16:21:37
Link | Citer | R
 
Quetzalcoatl.Orestes said: »
Odin.Quixacotl said: »
Quetzalcoatl.Orestes said: »
Odin.Quixacotl said: »
Just what you posted looks fine to me. Your lua seems to not load because it cannot find the correct library files (motes includes version 2).

1. Are your main luas and the lib files in the GearSwap/data folder?
2. Are you using a sidecar?
3. Are you using Kinematics latest library files (version 2) from here? There are 7 files and you need them all to work.

It might be better just to post your entire lua.

When posting codes be sure to contain it within the [code ] [/code ] tags (minus the spaces) so that it shows in a sized window rather than half the forum page which would be painful to read. Better yet, use pastebin.com and post the link.

Motes luas have been included with windower for almost a year now. No need to tell people they have to download them.
Motes may be included with Windower but time and time again the same question gets asked, "Why won't my Motes lua load?" and for the most part, the answer lies in one of those 3 options I gave. So I stand by my answer.

I like to believe people post here because they need help... no matter how trivial that question may seem to some others. I like to help, not to put any feather on my cap or to prove anything. I once posted a SpellCast question back in the heyday and got a reply to the effect that it was a stupid question to ask. Well it wasn't stupid to me it was a big deal. Fortunately I had one truly helpful, knowledgeable and sympathetic person point me in the right direction. Now I find helping others with GS intriguing. It's like solving a puzzle. It's also my way of returning a favor.

I commend you for all the help you do. Sorry if that seemed like a jab at you. I didn't post that without reason though.

If somebody is saying Mote's luas won't load, there's only a few likely reasons. They either don't have the gearswap addon loaded. Their resources are horribly outdated, or they have old copies of mote's libs residing in their data folder (from downloading them).

Tossing Mote's files in your data folder can actually do harm to the user. Gearswap's lua include path checks lib, then data. Anything inside data will take precedence over Mote's files inside lib. If Mote was to fix something critical, any user who tossed his files in data would come here looking for fixes to their broken gearswap, as their files would block them from loading his.

None of this technically matters since Mote has been MIA for 6 months. That doesn't mean he will never update them again though, and following good practice is worthwhile.
Orestes you are absolutely correct and once again I have to admit that I stand corrected. I knew about the libs folder but didn't see the check paths as you had just explained it. Thank you for enlightening me.
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-26 16:45:10
Link | Citer | R
 
Quetzalcoatl.Eithin said: »
Thank you. However, that is not the problem.
It would be more helpful to us if you can post your lua since we don't have much else to go on.
 Quetzalcoatl.Eithin
Offline
Serveur: Quetzalcoatl
Game: FFXI
Posts: 10
By Quetzalcoatl.Eithin 2015-04-26 20:24:59
Link | Citer | R
 
Code
 ------------------------------------------------------------------------------------------------------------------- 
 -- Setup functions for this job.  Generally should not be modified. 
 ------------------------------------------------------------------------------------------------------------------- 
 
 
 -- Initialization function for this job file. 
 function get_sets() 
     mote_include_version = 2 
      
     -- Load and initialize the include file. 
     include('Mote-Include.lua') 
 end 
 
 
 
 
 -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked. 
 function job_setup() 
     state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false 
     state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false 
     state.Buff.Convergence = buffactive.Convergence or false 
     state.Buff.Diffusion = buffactive.Diffusion or false 
     state.Buff.Efflux = buffactive.Efflux or false 
      
     state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false 
 
 
 
 
     blue_magic_maps = {} 
      
     -- Mappings for gear sets to use for various blue magic spells. 
     -- While Str isn't listed for each, it's generally assumed as being at least 
     -- moderately signficant, even for spells with other mods. 
      
     -- Physical Spells -- 
      
     -- Physical spells with no particular (or known) stat mods 
     blue_magic_maps.Physical = S{ 
         'Bilgestorm' 
     } 
 
 
     -- Spells with heavy accuracy penalties, that need to prioritize accuracy first. 
     blue_magic_maps.PhysicalAcc = S{ 
         'Heavy Strike', 
     } 
 
 
     -- Physical spells with Str stat mod 
     blue_magic_maps.PhysicalStr = S{ 
         'Battle Dance','Bloodrake','Death Scissors','Dimensional Death', 
         'Empty Thrash','Quadrastrike','Sinker Drill','Spinal Cleave', 
         'Uppercut','Vertical Cleave' 
     } 
          
     -- Physical spells with Dex stat mod 
     blue_magic_maps.PhysicalDex = S{ 
         'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone','Disseverment', 
         'Foot Kick','Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad', 
         'Seedspray','Sickle Slash','Smite of Rage','Terror Touch','Thrashing Assault', 
         'Vanity Dive' 
     } 
          
     -- Physical spells with Vit stat mod 
     blue_magic_maps.PhysicalVit = S{ 
         'Body Slam','Cannonball','Delta Thrust','Glutinous Dart','Grand Slam', 
         'Power Attack','Quad. Continuum','Sprout Smack','Sub-zero Smash' 
     } 
          
     -- Physical spells with Agi stat mod 
     blue_magic_maps.PhysicalAgi = S{ 
         'Benthic Typhoon','Feather Storm','Helldive','Hydro Shot','Jet Stream', 
         'Pinecone Bomb','Spiral Spin','Wild Oats' 
     } 
 
 
     -- Physical spells with Int stat mod 
     blue_magic_maps.PhysicalInt = S{ 
         'Mandibular Bite','Queasyshroom' 
     } 
 
 
     -- Physical spells with Mnd stat mod 
     blue_magic_maps.PhysicalMnd = S{ 
         'Ram Charge','Screwdriver','Tourbillion' 
     } 
 
 
     -- Physical spells with Chr stat mod 
     blue_magic_maps.PhysicalChr = S{ 
         'Bludgeon' 
     } 
 
 
     -- Physical spells with HP stat mod 
     blue_magic_maps.PhysicalHP = S{ 
         'Final Sting' 
     } 
 
 
     -- Magical Spells -- 
 
 
     -- Magical spells with the typical Int mod 
     blue_magic_maps.Magical = S{ 
         'Blastbomb','Blazing Bound','Bomb Toss','Cursed Sphere','Dark Orb','Death Ray', 
         'Diffusion Ray','Droning Whirlwind','Embalming Earth','Firespit','Foul Waters', 
         'Ice Break','Leafstorm','Maelstrom','Rail Cannon','Regurgitation','Rending Deluge', 
         'Retinal Glare','Subduction','Tem. Upheaval','Water Bomb' 
     } 
 
 
     -- Magical spells with a primary Mnd mod 
     blue_magic_maps.MagicalMnd = S{ 
         'Acrid Stream','Evryone. Grudge','Magic Hammer','Mind Blast' 
     } 
 
 
     -- Magical spells with a primary Chr mod 
     blue_magic_maps.MagicalChr = S{ 
         'Eyes On Me','Mysterious Light' 
     } 
 
 
     -- Magical spells with a Vit stat mod (on top of Int) 
     blue_magic_maps.MagicalVit = S{ 
         'Thermal Pulse' 
     } 
 
 
     -- Magical spells with a Dex stat mod (on top of Int) 
     blue_magic_maps.MagicalDex = S{ 
         'Charged Whisker','Gates of Hades' 
     } 
              
     -- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage. 
     -- Add Int for damage where available, though. 
     blue_magic_maps.MagicAccuracy = S{ 
         '1000 Needles','Absolute Terror','Actinic Burst','Auroral Drape','Awful Eye', 
         'Blank Gaze','Blistering Roar','Blood Drain','Blood Saber','Chaotic Eye', 
         'Cimicine Discharge','Cold Wave','Corrosive Ooze','Demoralizing Roar','Digest', 
         'Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar', 
         'Geist Wall','Hecatomb Wave','Infrasonics','Jettatura','Light of Penance', 
         'Lowing','Mind Blast','Mortal Ray','MP Drainkiss','Osmosis','Reaving Wind', 
         'Sandspin','Sandspray','Sheep Song','Soporific','Sound Blast','Stinking Gas', 
         'Sub-zero Smash','Venom Shell','Voracious Trunk','Yawn' 
     } 
          
     -- Breath-based spells 
     blue_magic_maps.Breath = S{ 
         'Bad Breath','Flying Hip Press','Frost Breath','Heat Breath', 
         'Hecatomb Wave','Magnetite Cloud','Poison Breath','Radiant Breath','Self-Destruct', 
         'Thunder Breath','Vapor Spray','Wind Breath' 
     } 
 
 
     -- Stun spells 
     blue_magic_maps.Stun = S{ 
         'Blitzstrahl','Frypan','Head Butt','Sudden Lunge','Tail slap','Temporal Shift', 
         'Thunderbolt','Whirl of Rage' 
     } 
          
     -- Healing spells 
     blue_magic_maps.Healing = S{ 
         'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','Restoral','White Wind', 
         'Wild Carrot' 
     } 
      
     -- Buffs that depend on blue magic skill 
     blue_magic_maps.SkillBasedBuff = S{ 
         'Barrier Tusk','Diamondhide','Magic Barrier','Metallic Body','Plasma Charge', 
         'Pyric Bulwark','Reactor Cool', 
     } 
 
 
     -- Other general buffs 
     blue_magic_maps.Buff = S{ 
         'Amplification','Animating Wail','Battery Charge','Carcharian Verve','Cocoon', 
         'Erratic Flutter','Exuviation','Fantod','Feather Barrier','Harden Shell', 
         'Memento Mori','Nat. Meditation','Occultation','Orcish Counterstance','Refueling', 
         'Regeneration','Saline Coat','Triumphant Roar','Warm-Up','Winds of Promyvion', 
         'Zephyr Mantle' 
     } 
      
      
     -- Spells that require Unbridled Learning to cast. 
     unbridled_spells = S{ 
         'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve', 
         'Crashing Thunder','Droning Whirlwind','Gates of Hades','Harden Shell','Polar Roar', 
         'Pyric Bulwark','Thunderbolt','Tourbillion','Uproot' 
     } 
 end 
 
 
 ------------------------------------------------------------------------------------------------------------------- 
 -- User setup functions for this job.  Recommend that these be overridden in a sidecar file. 
 ------------------------------------------------------------------------------------------------------------------- 
 
 
 -- Setup vars that are user-dependent.  Can override this function in a sidecar file. 
 function user_setup() 
     state.OffenseMode:options('Normal', 'Acc', 'Refresh', 'Learning') 
     state.WeaponskillMode:options('Normal', 'Acc') 
     state.CastingMode:options('Normal', 'Resistant') 
     state.IdleMode:options('Normal', 'PDT', 'Learning') 
 
 
     gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -4%','Mag. Atk. Bns +26'}} 
 
 
     -- Additional local binds 
     send_command('bind ^` input /ja "Chain Affinity" <me>') 
     send_command('bind !` input /ja "Efflux" <me>') 
     send_command('bind @` input /ja "Burst Affinity" <me>') 
 
 
     update_combat_form() 
     select_default_macro_book() 
 end 
 
 
 
 
 -- Called when this job file is unloaded (eg: job change) 
 function user_unload() 
     send_command('unbind ^`') 
     send_command('unbind !`') 
     send_command('unbind @`') 
 end 
 
 
 
 
 -- Set up gear sets. 
 function init_gear_sets() 
     -------------------------------------- 
     -- Start defining the sets 
     -------------------------------------- 
 
 
     sets.buff['Burst Affinity'] = {feet="Mavi Basmak +1"} 
     sets.buff['Chain Affinity'] = {head="Mavi Kavuk +1"}
     sets.buff.Convergence = {head="Luhlaza Keffiyeh"} 
     sets.buff.Diffusion = {feet="Luhlaza Charuqs"} 
     sets.buff.Enchainment = {body="Luhlaza Jubbah"} 
     sets.buff.Efflux = {legs="Mavi Tayt +1"} 
 
 
      
     -- Precast Sets 
      
     -- Precast sets to enhance JAs 
     sets.precast.JA['Azure Lore'] = {hands="Mirage Bazubands +2"} 
 
 
 
 
     -- Waltz set (chr and vit) 
     sets.precast.Waltz = {ammo="Sonia's Plectrum", 
         head="Uk'uxkaj Cap", 
         body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Spiral Ring", 
         back="Iximulew Cape",waist="Caudata Belt",legs="Hagondes Pants",feet="Iuitl Gaiters +1"} 
          
     -- Don't need any special gear for Healing Waltz. 
     sets.precast.Waltz['Healing Waltz'] = {} 
 
 
     -- Fast cast sets for spells 
      
     sets.precast.FC = {ammo="Impatiens", 
         head="Haruspex Hat",ear1="Loquacious Earring",ear2="Enchanter Earring +1", 
         body="Helios Jacket",hands="Helios Gloves",ring1="Prolix Ring", 
         back="Swith Cape +1",waist="Witful Belt",legs="Enif Cosciales",feet="Chelona Boots +1"} 
          
     sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Mavi Mintan +2"}) 
 
 
         
     -- Weaponskill sets 
     -- Default set for any weaponskill that isn't any more specifically defined 
     sets.precast.WS = { 
         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Atheling Mantle",waist="Twilight Belt",legs="Taeon Tights",feet="Iaeon Boots"} 
      
     sets.precast.WS.acc = set_combine(sets.precast.WS, {hands="Taeon Gloves"}) 
 
 
     -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found. 
     sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ring1="Aquasoul Ring",feet="Helios Boots"}) 
 
 
     sets.precast.WS['Sanguine Blade'] = { 
         head="Helios Band",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring", 
         body="Hagondes Coat +1",hands="Helios Gloves",ring1="Fenrir Ring +1",ring2="Adoulin Ring", 
         back="Cornflower Cape",legs="Hagondes Pants +1",feet="Helios Boots"} 
      
      
     -- Midcast Sets 
     sets.midcast.FastRecast = { 
         head="Haruspex Hat",ear1="Loquacious Earring",ear2="Enchanter Earring +1", 
         body="Helios Jacket",hands="Helios Gloves",ring1="Prolix Ring", 
         back="Swith Cape +1",waist="Witful Belt",legs="Hagondes Pants +1",feet="Helios Boots"} 
          
     sets.midcast['Blue Magic'] = {} 
      
     -- Physical Spells -- 
      
     sets.midcast['Blue Magic'].Physical = {ammo="Mavi Tathlum", 
         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring", 
         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Atheling Mantle",waist="Twilight Belt",legs="Taeon Tights",feet="Taeon Boots"} 
 
 
     sets.midcast['Blue Magic'].PhysicalAcc = {ammo="Jukukik Feather", 
         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring", 
         body="Mavi Mintan +2",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Adoulin Ring", 
         back="Cornflower Cape",waist="Twilight Belt",legs="Taeon Tights",feet="Taeon Boots"} 
 
 
     sets.midcast['Blue Magic'].PhysicalStr = set_combine(sets.midcast['Blue Magic'].Physical, 
         {body="Taeon Tabard",hands="Taeon Gloves"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalDex = set_combine(sets.midcast['Blue Magic'].Physical, 
         {ammo="Jukukik Feather",body="Taeon Tabard",hands="Taeon Gloves", 
          waist="Chiner's Belt +1",legs="Taeon Boots"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalVit = set_combine(sets.midcast['Blue Magic'].Physical, 
         {body="Taeon Tabard",hands="Taeon Gloves",back="Oneiros Cappa"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalAgi = set_combine(sets.midcast['Blue Magic'].Physical, 
         {body="Taeon Tabard",hands="Hagondes Cuffs",ring2="Stormsoul Ring", 
          waist="Scouter's Rope",feet="Taeon Boots"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalInt = set_combine(sets.midcast['Blue Magic'].Physical, 
         {ear1="Friomisi Earring",body="Hagondes Coat +1",hands="Helios Gloves", 
          ring2="Icesoul Ring",back="Cornflower Cape",feet="Telchine Pigaches"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalMnd = set_combine(sets.midcast['Blue Magic'].Physical, 
         {ear1="Lifestorm Earring",body="Telchine Chasuble",hands="Telchine Gloves", 
          ring2="Aquasoul Ring",back="Swith Cape +1"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalChr = set_combine(sets.midcast['Blue Magic'].Physical, 
         {body="Telchine Chasuble",hands="Telchine Gloves",back="Swith Cape +1", 
          waist="Chaac Belt"}) 
 
 
     sets.midcast['Blue Magic'].PhysicalHP = set_combine(sets.midcast['Blue Magic'].Physical) 
 
 
 
 
     -- Magical Spells -- 
      
     sets.midcast['Blue Magic'].Magical = {ammo="Dosis Tathlum", 
         head="Helios Band",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring", 
         body="Hagondes Coat +1",hands="Helios Gloves",ring1="Fenrir Ring +1",ring2="Adoulin Ring", 
         back="Cornflower Cape",waist="Aswang Sash",legs="Hagondes Pants +1",feet="Helios Boots"} 
 
 
     sets.midcast['Blue Magic'].Magical.Resistant = set_combine(sets.midcast['Blue Magic'].Magical, 
         {body="Hagondes Coat +1",ring1="Sangoma Ring",legs="Hagondes Pants +1",feet="Helios Boots"}) 
      
     sets.midcast['Blue Magic'].MagicalMnd = set_combine(sets.midcast['Blue Magic'].Magical, 
         {ring1="Aquasoul Ring"}) 
 
 
     sets.midcast['Blue Magic'].MagicalChr = set_combine(sets.midcast['Blue Magic'].Magical) 
 
 
     sets.midcast['Blue Magic'].MagicalVit = set_combine(sets.midcast['Blue Magic'].Magical, 
         {ring1="Spiral Ring"}) 
 
 
     sets.midcast['Blue Magic'].MagicalDex = set_combine(sets.midcast['Blue Magic'].Magical) 
 
 
     sets.midcast['Blue Magic'].MagicAccuracy = {ammo="Mavi Tathlum", 
         head="Telchine Cap",neck="Stoicheion Medal",ear1="Enchanter Earring +1",ear2="Psystorm Earring", 
         body="Mavi Mintan +2",hands="Hagondes Cuffs",ring1="Adoulin Ring",ring2="Fenrir Ring +1", 
         back="Cornflower Cape",legs="Iuitl Tights",feet="Helios Boots"} 
 
 
     -- Breath Spells -- 
      
     sets.midcast['Blue Magic'].Breath = {ammo="Mavi Tathlum", 
         head="Telchine Cap",neck="Ej Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring", 
         body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",ring1="K'ayres Ring",ring2="Beeline Ring", 
         back="Refraction Cape",legs="Enif Cosciales",feet="Iuitl Gaiters +1"} 
 
 
     -- Other Types -- 
      
     sets.midcast['Blue Magic'].Stun = set_combine(sets.midcast['Blue Magic'].MagicAccuracy, 
         {waist="Chaac Belt"}) 
          
     sets.midcast['Blue Magic']['White Wind'] = { 
         head="Whirlpool Mask",neck="Lavalier +1",ear1="Bloodgem Earring",ear2="Loquacious Earring", 
         body="Vanir Cotehardie",hands="Buremte Gloves",ring1="K'ayres Ring",ring2="Meridian Ring", 
         back="Fravashi Mantle",waist="Hurch'lan Sash",legs="Enif Cosciales",feet="Hagondes Sabots"} 
 
 
     sets.midcast['Blue Magic'].Healing = { 
         head="Telchine Cap",ear1="Lifestorm Earring",ear2="Loquacious Earring", 
         body="Telchine Chasuble",hands="Telchine Gloves",ring1="Aquasoul Ring",ring2="Asklepian Ring", 
         back="Swith Cape +1",waist="Chuq'aba Belt",legs="Telchine Braconi",feet="Telchine Pigaches"} 
 
 
     sets.midcast['Blue Magic'].SkillBasedBuff = {ammo="Mavi Tathlum", 
         head="Luhlaza Keffiyeh", 
         body="Assimilator's Jubbah", 
         back="Cornflower Cape",legs="Mavi Tayt +1",feet="Luhlaza Charuqs"} 
 
 
     sets.midcast['Blue Magic'].Buff = {} 
      
     sets.midcast.Protect = {ring1="Sheltered Ring"} 
     sets.midcast.Protectra = {ring1="Sheltered Ring"} 
     sets.midcast.Shell = {ring1="Sheltered Ring"} 
     sets.midcast.Shellra = {ring1="Sheltered Ring"} 
      
 
 
      
      
     -- Sets to return to when not performing an action. 
 
 
     -- Gear for learning spells: +skill and AF hands. 
     sets.Learning = {ammo="Mavi Tathlum",hands="Assimilator's Bazubands +1"} 
         --head="Luhlaza Keffiyeh",   
         --body="Assimilator's Jubbah",hands="Assimilator's Bazubands +1", 
         --back="Cornflower Cape",legs="Mavi Tayt +1",feet="Luhlaza Charuqs"} 
 
 
 
 
     sets.latent_refresh = {waist="Fucho-no-obi"} 
 
 
     -- Resting sets 
     sets.resting = { 
         head="Ocelomeh Headpiece",neck="Wiglen Gorget", 
         body="Hagondes Coat +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
         waist="Austerity Belt",feet="Chelona Boots +1"} 
      
     -- Idle sets 
     sets.idle = {ammo="Impatiens", 
         head="Helios Band",neck="Wiglen Gorget",ear1="Enchanter Earring +1",ear2="Loquacious Earring", 
         body="Hagondes Coat +1",hands="Hagondes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
         back="Cornflower Cape",waist="Aswang Sash",legs="Crimson Cuisses",feet="Helios Boots"} 
 
 
     sets.idle.PDT = {ammo="Impatiens", 
         head="Helios Band",neck="Wiglen Gorget",ear1="Enchanter Earring +1",ear2="Loquacious Earring", 
         body="Hagondes Coat +1",hands="Hagondes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
         back="Cornflower Cape",waist="Aswang Sash",legs="Crimson Cuisses",feet="Helios Boots"} 
 
 
     sets.idle.Town = {main="Buramenk'ah",ammo="Impatiens", 
         head="Mavi Kavuk +2",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring", 
         body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Sheltered Ring",ring2="Paguroidea Ring", 
         back="Atheling Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Luhlaza Charuqs"} 
 
 
     sets.idle.Learning = set_combine(sets.idle, sets.Learning) 
 
 
      
     -- Defense sets 
     sets.defense.PDT = {ammo="Iron Gobbet", 
         head="Whirlpool Mask",neck="Wiglen Gorget",ear1="Bloodgem Earring", 
         body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Defending Ring",ring2=gear.DarkRing.physical, 
         back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"} 
 
 
     sets.defense.MDT = {ammo="Demonry Stone", 
         head="Whirlpool Mask",neck="Twilight Torque",ear1="Bloodgem Earring", 
         body="Hagondes Coat",hands="Iuitl Wristbands",ring1="Defending Ring",ring2="Shadow Ring", 
         back="Engulfer Cape",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"} 
 
 
     sets.Kiting = {legs="Crimson Cuisses"} 
 
 
     -- Engaged sets 
 
 
     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous 
     -- sets if more refined versions aren't defined. 
     -- If you create a set with both offense and defense modes, the offense mode should be first. 
     -- EG: sets.engaged.Dagger.Accuracy.Evasion 
      
     -- Normal melee group 
     sets.engaged = {ammo="Focal Orb", 
         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Atheling Mantle",waist="Chiner's Belt +1",legs="Taeon Tights",feet="Taeon Boots"} 
 
 
     sets.engaged.Acc = {ammo="Mavi Tathlum", 
         head="Taeon Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
         body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Cornflower Cape",waist="Chiner's Belt +1",legs="Taeon Tights",feet="Taeon Boots"} 
 
 
     sets.engaged.Refresh = {ammo="Dosis Tathlum", 
         head="Helios Band",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", 
         body="Hagondes Coat +1",hands="Helios Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Atheling Mantle",waist="Aswang Sash",legs="Hagondes Pants +1",feet="Helios Boots"} 
 
 
     sets.engaged.DW = {ammo="Jukukik Feather", 
         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring", 
         body="Luhlaza Jubbah",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Atheling Mantle",waist="Windbuffet Belt",legs="Manibozho Brais",feet="Iuitl Gaiters +1"} 
 
 
     sets.engaged.DW.Acc = {ammo="Jukukik Feather", 
         head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring", 
         body="Luhlaza Jubbah",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Letalis Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Qaaxo Leggings"} 
 
 
     sets.engaged.DW.Refresh = {ammo="Jukukik Feather", 
         head="Whirlpool Mask",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring", 
         body="Hagondes Coat +1",hands="Assimilator's Bazubands +1",ring1="Rajas Ring",ring2="Epona's Ring", 
         back="Letalis Mantle",waist="Windbuffet Belt",legs="Manibozho Brais",feet="Qaaxo Leggings"} 
 
 
     sets.engaged.Learning = set_combine(sets.engaged, sets.Learning) 
     sets.engaged.DW.Learning = set_combine(sets.engaged.DW, sets.Learning) 
 
 
 
 
     sets.self_healing = {ring1="Aquasoul Ring",ring2="Asklepian Ring"} 
 end 
 
 
 ------------------------------------------------------------------------------------------------------------------- 
 -- Job-specific hooks for standard casting events. 
 ------------------------------------------------------------------------------------------------------------------- 
 
 
 -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. 
 -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast. 
 function job_precast(spell, action, spellMap, eventArgs) 
     if unbridled_spells:contains(spell.english) and not state.Buff['Unbridled Learning'] then 
         eventArgs.cancel = true 
         windower.send_command('@input /ja "Unbridled Learning" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name) 
     end 
 end 
 
 
 -- Run after the default midcast() is done. 
 -- eventArgs is the same one used in job_midcast, in case information needs to be persisted. 
 function job_post_midcast(spell, action, spellMap, eventArgs) 
     -- Add enhancement gear for Chain Affinity, etc. 
     if spell.skill == 'Blue Magic' then 
         for buff,active in pairs(state.Buff) do 
             if active and sets.buff[buff] then 
                 equip(sets.buff[buff]) 
             end 
         end 
         if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then 
             equip(sets.self_healing) 
         end 
     end 
 
 
     -- If in learning mode, keep on gear intended to help with that, regardless of action. 
     if state.OffenseMode.value == 'Learning' then 
         equip(sets.Learning) 
     end 
 end 
 
 
 
 
 ------------------------------------------------------------------------------------------------------------------- 
 -- Job-specific hooks for non-casting events. 
 ------------------------------------------------------------------------------------------------------------------- 
 
 
 -- Called when a player gains or loses a buff. 
 -- buff == buff gained or lost 
 -- gain == true if the buff was gained, false if it was lost. 
 function job_buff_change(buff, gain) 
     if state.Buff[buff] ~= nil then 
         state.Buff[buff] = gain 
     end 
 end 
 
 
 ------------------------------------------------------------------------------------------------------------------- 
 -- User code that supplements standard library decisions. 
 ------------------------------------------------------------------------------------------------------------------- 
 
 
 -- Custom spell mapping. 
 -- Return custom spellMap value that can override the default spell mapping. 
 -- Don't return anything to allow default spell mapping to be used. 
 function job_get_spell_map(spell, default_spell_map) 
     if spell.skill == 'Blue Magic' then 
         for category,spell_list in pairs(blue_magic_maps) do 
             if spell_list:contains(spell.english) then 
                 return category 
             end 
         end 
     end 
 end 
 
 
 -- Modify the default idle set after it was constructed. 
 function customize_idle_set(idleSet) 
     if player.mpp < 51 then 
         set_combine(idleSet, sets.latent_refresh) 
     end 
     return idleSet 
 end 
 
 
 -- Called by the 'update' self-command, for common needs. 
 -- Set eventArgs.handled to true if we don't want automatic equipping of gear. 
 function job_update(cmdParams, eventArgs) 
     update_combat_form() 
 end 
 
 
 
 
 ------------------------------------------------------------------------------------------------------------------- 
 -- Utility functions specific to this job. 
 ------------------------------------------------------------------------------------------------------------------- 
 
 
 function update_combat_form() 
     -- Check for H2H or single-wielding 
     if player.equipment.sub == "Genbu's Shield" or player.equipment.sub == 'empty' then 
         state.CombatForm:reset() 
     else 
         state.CombatForm:set('DW') 
     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, 7) 
     else 
         set_macro_page(1, 7) 
     end 
 end 
 
 
  


This is my lua after the fixes I have made.

Are you saying this file needs to be in the lib folder and not the data folder?
 Odin.Quixacotl
Offline
Serveur: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-04-27 01:11:35
Link | Citer | R
 
Your JOB.lua file is fine in the data folder.

I actually tested your BLU.lua and it's working just fine for me, except that I don't own any augmented Helios or Telchine gear.

Do you own any augmented Helios or Telchine gear? There's been reports that augmented Skirmish gear hasn't been equipping correctly but I'm not sure if that's been fixed or not.
Offline
Posts: 42
By inkydo 2015-04-27 09:00:08
Link | Citer | R
 
If this has been asked before Sorry.... However, I am swapping gear to fast when skill chaining with others and myself. I don’t see the Animation and others say the same thing, but I know I am doing it at the proper time.
An example would be great thanks!
 Odin.Tamoa
Offline
Serveur: Odin
Game: FFXI
user: Tamoa
Posts: 197
By Odin.Tamoa 2015-04-27 09:35:20
Link | Citer | R
 
inkydo said: »
If this has been asked before Sorry.... However, I am swapping gear to fast when skill chaining with others and myself. I don’t see the Animation and others say the same thing, but I know I am doing it at the proper time.
An example would be great thanks!

The animation won't show up if you have effects off during battle. Skillchain damage doesn't show up in chat log if you blink. Check your settings and try when having lockstyle on.

Edit: actually, when rereading your post I'm a little confused what you mean. It doesn't matter if you swap gear too fast, you will still skillchain.
Offline
Posts: 42
By inkydo 2015-04-27 10:12:48
Link | Citer | R
 
Odin.Tamoa said: »
inkydo said: »
If this has been asked before Sorry.... However, I am swapping gear to fast when skill chaining with others and myself. I don’t see the Animation and others say the same thing, but I know I am doing it at the proper time.
An example would be great thanks!

The animation won't show up if you have effects off during battle. Skillchain damage doesn't show up in chat log if you blink. Check your settings and try when having lockstyle on.

Edit: actually, when rereading your post I'm a little confused what you mean. It doesn't matter if you swap gear too fast, you will still skillchain.

I cannot see the animation of the skillchain... I am also not seeing the dmg.
Lockstyle only works if I don’t use Shurikens, as I still blink even if lockstyle is on. So before I used GS I use to give my In-game macros a wait command to allow the animation catch-up to the gear swaps even the in game will cause this to happen.

It is a simple fix to allow a wait before you switch back to TP gear.

Does that clear it up, Sorry I confuse many people all the time, especially when typing.
First Page 2 3 ... 61 62 63 ... 182 183 184
Log in to post.