Scholar Gearswap .lua

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » FFXI » Jobs » Scholar » Scholar Gearswap .lua
Scholar Gearswap .lua
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 19:45:42  
Code
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.  Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
include('Obi_Check')
include('organizer-lib')
organizer_items = {
  echos="Echo Drops",
  shihei="Shihei",
  orb="Macrocosmic Orb"

}
--[[
        Custom commands:

        Shorthand versions for each strategem type that uses the version appropriate for
        the current Arts.

                                        Light Arts              Dark Arts

        gs c scholar light              Light Arts/Addendum
        gs c scholar dark                                       Dark Arts/Addendum
        gs c scholar cost               Penury                  Parsimony
        gs c scholar speed              Celerity                Alacrity
        gs c scholar aoe                Accession               Manifestation
        gs c scholar power              Rapture                 Ebullience
        gs c scholar duration           Perpetuance
        gs c scholar accuracy           Altruism                Focalization
        gs c scholar enmity             Tranquility             Equanimity
        gs c scholar skillchain                                 Immanence
        gs c scholar addendum           Addendum: White         Addendum: Black
--]]



-- 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()
    info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
        "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}

    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
    update_active_strategems()
end

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

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('None', 'Normal')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal', 'PDT')
	
	state.MagicBurst = M(false, 'Magic Burst')

    info.low_nukes = S{"Stone", "Water", "Aero", "Fire", "Blizzard", "Thunder"}
    info.mid_nukes = S{"Stone II", "Water II", "Aero II", "Fire II", "Blizzard II", "Thunder II",
                       "Stone III", "Water III", "Aero III", "Fire III", "Blizzard III", "Thunder III",
                       "Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",}
    info.high_nukes = S{"Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}

    send_command('bind ^` input /ma Stun <t>')

    select_default_macro_book()
end

function user_unload()
    send_command('unbind ^`')
end


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

    -- Precast Sets

    -- Precast sets to enhance JAs

    sets.precast.JA['Tabula Rasa'] = {}
    sets.precast.JA['Dark Arts'] = {body="Acad. Gown +1"}
	sets.precast.JA['Light Arts'] = {legs="Acad. Pants +1"}

    -- Fast cast sets for spells

    sets.precast.FC ={
	main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Incantor Stone",
    head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    body={ name="Merlinic Jubbah", augments={'"Fast Cast"+6','CHR+6','Mag. Acc.+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+19','"Fast Cast"+6','MND+5','Mag. Acc.+5',}},
    neck="Orunmila's torque",
    waist="Witful Belt",
    left_ear="Loquac. Earring",
    right_ear="Etiolation Earring",
    left_ring="Prolix Ring",
    right_ring="Rehab Ring",
    back="Perimede Cape",}

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

    sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {})

    sets.precast.FC.Cure = set_combine(sets.precast.FC, {main={ name="Serenity", augments={'MP+50','Enha.mag. skill +10','"Cure" potency +5%','"Cure" spellcasting time -10%',}},
	ear2="Mendicant's Earring",ear1="Loquacious Earring",back="Pahtli Cape",feet="Vanya Clogs"})

    sets.precast.FC.Curaga = sets.precast.FC.Cure

    sets.precast.FC.Impact = set_combine(sets.precast.FC['Elemental Magic'], {head=empty,body=""})

   -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {}

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Myrkr'] = {
	 ammo="Pemphredo Tathlum",
    head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Luminary Sash",
    left_ear="Loquac. Earring",
    right_ear="Etiolation Earring",
    left_ring="Fortified Ring",
    right_ring="Mephitas's Ring",
    back="Pahtli Cape",}
	
	
    -- Midcast Sets

    sets.midcast.FastRecast = {}

    sets.midcast.Cure = {
    main={ name="Serenity", augments={'MP+50','Enha.mag. skill +10','"Cure" potency +5%','"Cure" spellcasting time -10%',}},
    sub="Niobid Strap",
    ammo="Kalboron Stone",
    head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
    hands={ name="Kaykaus Cuffs", augments={'MP+60','MND+10','Mag. Acc.+15',}},
    legs={ name="Vanya Slops", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    neck="Incanter's Torque",
    waist="Luminary Sash",
    left_ear="Magnetic Earring",
    right_ear="Mendi. Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back="Pahtli Cape",}

    sets.midcast.CureWithLightWeather = {
    main={ name="Serenity", augments={'MP+50','Enha.mag. skill +10','"Cure" potency +5%','"Cure" spellcasting time -10%',}},
    sub="Niobid Strap",
    ammo="Kalboron Stone",
    head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
    hands={ name="Kaykaus Cuffs", augments={'MP+60','MND+10','Mag. Acc.+15',}},
    legs={ name="Vanya Slops", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    neck="Incanter's Torque",
    waist="Hachirin-no-Obi",
    left_ear="Magnetic Earring",
    right_ear="Mendi. Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back="Pahtli Cape",}

    sets.midcast.Curaga = sets.midcast.Cure

    sets.midcast.Regen = {
	head="Arbatel Bonnet +1",
	body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +5',}},
    hands={ name="Telchine Gloves", augments={'"Fast Cast"+5','Enh. Mag. eff. dur. +6',}},
    legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
    feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +9',}},}

    sets.midcast.Cursna = {
    main={ name="Serenity", augments={'MP+50','Enha.mag. skill +10','"Cure" potency +5%','"Cure" spellcasting time -10%',}},
    sub="Niobid Strap",
    ammo="Kalboron Stone",
    head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
    hands={ name="Kaykaus Cuffs", augments={'MP+60','MND+10','Mag. Acc.+15',}},
    legs={ name="Vanya Slops", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    neck="Incanter's Torque",
    waist="Luminary Sash",
    left_ear="Magnetic Earring",
    right_ear="Mendi. Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back="Pahtli Cape",}

    sets.midcast['Enhancing Magic'] = { 
	main="Oranyan",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +6',}},
    body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +5',}},
    hands={ name="Telchine Gloves", augments={'"Fast Cast"+5','Enh. Mag. eff. dur. +6',}},
    legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
    feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +9',}},
    neck="Incanter's Torque",
    waist="Siegel Sash",
    left_ear="Loquac. Earring",
    right_ear="Etiolation Earring",
    left_ring="Sheltered Ring",
    right_ring="Prolix Ring",
    back="Perimede Cape",}


    sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {neck="Nodens Gorget",waist="Siegel Sash",})

    sets.midcast.Storm = set_combine(sets.midcast['Enhancing Magic'], {feet={ name="Peda. Loafers +1", augments={'Enhances "Stormsurge" effect',}},})
	
	sets.midcast.Klimaform = set_combine(sets.midcast['Enhancing Magic'], {feet="Arbatel Loafers +1"})
	
	sets.midcast.Protect = set_combine(sets.midcast['Enhancing Magic'],{left_ring="Sheltered ring"})
    sets.midcast.Protectra = sets.midcast.Protect

    sets.midcast.Shell = set_combine(sets.midcast['Enhancing Magic'], {left_ring="Sheltered ring"})
    sets.midcast.Shellra = sets.midcast.Shell
	
	sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'],{
	head={ name="Amalric Coif", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
	feet="Inspirited Boots"})

	sets.midcast.Haste = set_combine(sets.midcast['Enhancing Magic'], {})
	
	sets.midcast.Storm = {
    main="Oranyan",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +6',}},
    body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +5',}},
    hands={ name="Telchine Gloves", augments={'"Fast Cast"+5','Enh. Mag. eff. dur. +6',}},
    legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
    feet={ name="Peda. Loafers +1", augments={'Enhances "Stormsurge" effect',}},
    neck="Incanter's Torque",
    waist="Siegel Sash",
    left_ear="Loquac. Earring",
    right_ear="Etiolation Earring",
    left_ring="Sheltered Ring",
    right_ring="Prolix Ring",
    back="Perimede Cape",}

    -- Custom spell classes
    sets.midcast.MndEnfeebles = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
    hands="Lurid Mitts",
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Medium's Sabots", augments={'MP+30','MND+8','"Cure" potency +2%',}},
    neck="Incanter's Torque",
    waist="Luminary Sash",
    right_ear="Barkaro. Earring",
    right_ear="Gwati Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back="Izdubar Mantle",}

    sets.midcast.IntEnfeebles = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
    hands="Lurid Mitts",
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Medium's Sabots", augments={'MP+30','MND+8','"Cure" potency +2%',}},
    neck="Incanter's Torque",
    waist="Luminary Sash",
    right_ear="Barkaro. Earring",
    right_ear="Gwati Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back="Izdubar Mantle",}

    sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles
	
	sets.midcast.Kaustra = {
    ammo="Pemphredo Tathlum",
    head="Pixie Hairpin +1",
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','DEX+7','Mag. Acc.+7','"Mag.Atk.Bns."+13',}},
    hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+29','Magic burst mdg.+9%','INT+6','Mag. Acc.+12',}},
    feet="Arbatel Loafers +1",
    neck="Mizu. Kubikazari",
    waist="Hachirin-no-Obi",
    left_ear="Barkaro. Earring",
    right_ear="Static Earring",
    left_ring="Mujin Band",
    right_ring="Archon Ring",
    back="Seshaw Cape",}

    sets.midcast['Dark Magic'] = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Chironic Hat", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','CHR+1','Mag. Acc.+12',}},
    body={ name="Psycloth Vest", augments={'Mag. Acc.+10','Spell interruption rate down +15%','MND+7',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','INT+6','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
    legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
	feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Incanter's Torque",
    waist="Luminary Sash",
    right_ear="Barkaro. Earring",
    right_ear="Digni. Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back={ name="Bookworm's Cape", augments={'INT+3','MND+1','Helix eff. dur. +20',}},}
	

    sets.midcast.Drain = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Chironic Hat", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','CHR+1','Mag. Acc.+12',}},
    body={ name="Psycloth Vest", augments={'Mag. Acc.+10','Spell interruption rate down +15%','MND+7',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','INT+6','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
    legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Incanter's Torque",
    waist="Fucho-no-Obi",
    right_ear="Barkaro. Earring",
    right_ear="Digni. Earring",
    right_ring="Archon Ring",
    right_ring="Perception Ring",
    back={ name="Bookworm's Cape", augments={'INT+3','MND+1','Helix eff. dur. +20',}},}

    sets.midcast.Aspir = sets.midcast.Drain

    sets.midcast.Stun = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Chironic Hat", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','CHR+1','Mag. Acc.+12',}},
    body={ name="Psycloth Vest", augments={'Mag. Acc.+10','Spell interruption rate down +15%','MND+7',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','INT+6','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
    legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Incanter's Torque",
    waist="Luminary Sash",
    right_ear="Barkaro. Earring",
    right_ear="Digni. Earring",
    left_ring="Levia. Ring +1",
    right_ring="Perception Ring",
    back={ name="Bookworm's Cape", augments={'INT+3','MND+1','Helix eff. dur. +20',}},}

    sets.midcast.Stun.Resistant = set_combine(sets.midcast.Stun, {})


    -- Elemental Magic sets are default for handling low-tier nukes.
    sets.midcast['Elemental Magic'] ={
	main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst mdg.+10%','INT+5','Mag. Acc.+13','"Mag.Atk.Bns."+14',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','DEX+7','Mag. Acc.+7','"Mag.Atk.Bns."+13',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','INT+6','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','"Conserve MP"+4','DEX+9','Mag. Acc.+13','"Mag.Atk.Bns."+10',}},
    feet="Arbatel Loafers +1",
    neck="Sanctity Necklace",
    waist="Hachirin-no-Obi",
    left_ear="Friomisi Earring",
    right_ear="Barkarole Earring",
    left_ring="Acumen Ring",
    right_ring="Shiva Ring +1",
    back="Toro Cape",}

    sets.midcast['Elemental Magic'].Resistant = {
	main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst mdg.+10%','INT+5','Mag. Acc.+13','"Mag.Atk.Bns."+14',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','DEX+7','Mag. Acc.+7','"Mag.Atk.Bns."+13',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','INT+6','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','"Conserve MP"+4','DEX+9','Mag. Acc.+13','"Mag.Atk.Bns."+10',}},
    feet="Arbatel Loafers +1",
    neck="Sanctity Necklace",
    waist="Hachirin-no-Obi",
    left_ear="Friomisi Earring",
    right_ear="Barkarole Earring",
    left_ring="Acumen Ring",
    right_ring="Shiva Ring +1",
    back="Toro Cape",}
	

    -- Custom refinements for certain nuke tiers
    sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {sub="Niobid Strap"})

    sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'].Resistant, {sub="Niobid Strap"})

	sets.midcast.Impact = {}
	
	sets.midcast.Helix ={
	ammo="Pemphredo Tathlum",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst mdg.+10%','INT+5','Mag. Acc.+13','"Mag.Atk.Bns."+14',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','DEX+7','Mag. Acc.+7','"Mag.Atk.Bns."+13',}},
    hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','"Conserve MP"+4','DEX+9','Mag. Acc.+13','"Mag.Atk.Bns."+10',}},
    feet="Arbatel Loafers +1",
    neck="Mizu. Kubikazari",
    waist="Hachirin-no-Obi",
    left_ear="Barkaro. Earring",
    right_ear="Friomisi Earring",
    left_ring="Mujin Band",
    right_ring="Locus Ring",
    back="Seshaw Cape",}
	
	sets.midcast.Noctohelix = {
    ammo="Pemphredo Tathlum",
    head="Pixie Hairpin +1",
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','DEX+7','Mag. Acc.+7','"Mag.Atk.Bns."+13',}},
    hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+29','Magic burst mdg.+9%','INT+6','Mag. Acc.+12',}},
    feet="Arbatel Loafers +1",
    neck="Mizu. Kubikazari",
    waist="Hachirin-no-Obi",
    left_ear="Barkaro. Earring",
    right_ear="Static Earring",
    left_ring="Mujin Band",
    right_ring="Archon Ring",
    back="Seshaw Cape",}

    -- Sets to return to when not performing an action.

    -- Resting sets
		sets.resting = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Magnetic Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}


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

    sets.idle.Town ={
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}

    sets.idle.Field = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}
	
    sets.idle.Field.PDT = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Loricate torque +1",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Defending Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}

    sets.idle.Field.Stun = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}

    sets.idle.Weak = {
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}
	
    -- Defense sets

    sets.defense.PDT = {main=gear.Staff.PDT,
	sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Loricate torque +1",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Defending Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}

    sets.defense.MDT = {main=gear.Staff.PDT,
	sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -4%','Magic dmg. taken -2%','"Cure" spellcasting time -3%',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Loricate torque +1",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered Ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}

    sets.Kiting = {feet="Herald's Gaiters"}

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

    -- Engaged sets

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

    -- Normal melee group
    sets.engaged = { main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Chironic Hat", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','CHR+1','Mag. Acc.+12',}},
    body={ name="Witching Robe", augments={'MP+40','Mag. Acc.+12','"Mag.Atk.Bns."+8',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','INT+6','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
    legs="Assid. Pants +1",
    feet={ name="Amalric Nails", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    neck="Sanctity Necklace",
    waist="Luminary Sash",
    left_ear="Magnetic Earring",
    right_ear="Infused Earring",
    left_ring="Sheltered ring",
    right_ring="Shneddick Ring",
    back="Solemnity Cape",}



    -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
    sets.buff['Ebullience'] = {head="Arbatel Bonnet +1"}
	sets.buff['Rapture'] = {head="Arbatel Bonnet +1"}
	sets.buff['Perpetuance'] = {hands="Arbatel Bracers +1"}
	sets.buff['Immanence'] = {hands="Arbatel Bracers +1"}
	sets.buff['Penury'] = {legs="Arbatel Pants +1"}
	sets.buff['Parsimony'] = {legs="Arbatel Pants +1"}
	sets.buff['Celerity'] = {feet={ name="Peda. Loafers +1", augments={'Enhances "Stormsurge" effect',}},}
	sets.buff['Alacrity'] = {head="Nahtirah Hat",feet="Pedagogy Loafers +1"}
	sets.buff['Stormsurge'] = {feet={ name="Peda. Loafers +1", augments={'Enhances "Stormsurge" effect',}},}
	sets.buff['Klimaform'] = {feet="Arbatel Loafers +1"}

    sets.buff.FullSublimation = {head="Academic's Mortarboard +1",ear1="Savant's Earring",body="Pedagogy Gown +1"}
    sets.buff.PDTSublimation = {head="Academic's Mortarboard +1",ear1="Savant's Earring"}

	sets.magic_burst ={ 
    main={ name="Grioavolr", augments={'Magic burst mdg.+9%','INT+13','Mag. Acc.+30','"Mag.Atk.Bns."+26','Magic Damage +4',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst mdg.+10%','INT+5','Mag. Acc.+13','"Mag.Atk.Bns."+14',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','DEX+7','Mag. Acc.+7','"Mag.Atk.Bns."+13',}},
    hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','"Conserve MP"+4','DEX+9','Mag. Acc.+13','"Mag.Atk.Bns."+10',}},
    feet="Arbatel Loafers +1",
    neck="Mizu. Kubikazari",
    waist="Hachirin-no-Obi",
    left_ear="Barkaro. Earring",
    right_ear="Static Earring",
    left_ring="Mujin Band",
    right_ring="Locus Ring",
    back="Seshaw Cape",}
	
    --sets.buff['Sandstorm'] = {feet="Desert Boots"}
end

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

-- Run after the general midcast() is done.
function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.action_type == 'Magic' then
        apply_grimoire_bonuses(spell, action, spellMap, eventArgs)
    end
	if spell.element == world.day_element or spell.element == world.weather_element then
        if info.low_nukes:contains(spell.english) then 
		equip(sets.midcast['Elemental Magic'], {ring1="Zodiac Ring",back="Twilight Cape"})
		    elseif info.high_nukes:contains(spell.english) then
		    equip(sets.midcast['Elemental Magic'].HighTierNuke, {ring1="Zodiac Ring",back="Twilight Cape"})
		end
    end
	if spell.skill == 'Elemental Magic' then
        if state.MagicBurst.value then
        equip(sets.magic_burst)
        end
	end
	if spell.skill == 'Enhancing Magic' then
        equip(sets.midcast.EnhancingDuration)
    end
    if spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.midcast.CureSelf)
    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 buff == "Sublimation: Activated" then
        handle_equipping_gear(player.status)
    end
end

-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'Normal' then
            disable('main','sub','range')
        else
            enable('main','sub','range')
        end
    end
end

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

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
    if spell.action_type == 'Magic' then
        if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
            if world.weather_element == 'Light' then
                return 'CureWithLightWeather'
            end
        elseif spell.skill == 'Enfeebling Magic' then
            if spell.type == 'WhiteMagic' then
                return 'MndEnfeebles'
            else
                return 'IntEnfeebles'
            end
        elseif spell.skill == 'Elemental Magic' then
            if info.low_nukes:contains(spell.english) then
                return 'LowTierNuke'
            elseif info.mid_nukes:contains(spell.english) then
                return 'MidTierNuke'
            elseif info.high_nukes:contains(spell.english) then
                return 'HighTierNuke'
            end
        end
    end
end

function customize_idle_set(idleSet)
    if state.Buff['Sublimation: Activated'] then
        if state.IdleMode.value == 'Normal' then
            idleSet = set_combine(idleSet, sets.buff.FullSublimation)
        elseif state.IdleMode.value == 'PDT' then
            idleSet = set_combine(idleSet, sets.buff.PDTSublimation)
        end
    end

    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end

    return idleSet
end

-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
    if cmdParams[1] == 'user' and not (buffactive['light arts']      or buffactive['dark arts'] or
                       buffactive['addendum: white'] or buffactive['addendum: black']) then
        if state.IdleMode.value == 'Stun' then
            send_command('@input /ja "Dark Arts" <me>')
        else
            send_command('@input /ja "Light Arts" <me>')
        end
    end

    update_active_strategems()
    update_sublimation()
end

-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
    display_current_caster_state()
    eventArgs.handled = true
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------

-- Called for direct player commands.
function job_self_command(cmdParams, eventArgs)
    if cmdParams[1]:lower() == 'scholar' then
        handle_strategems(cmdParams)
        eventArgs.handled = true
    end
end

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

-- Reset the state vars tracking strategems.
function update_active_strategems()
    state.Buff['Ebullience'] = buffactive['Ebullience'] or false
    state.Buff['Rapture'] = buffactive['Rapture'] or false
    state.Buff['Perpetuance'] = buffactive['Perpetuance'] or false
    state.Buff['Immanence'] = buffactive['Immanence'] or false
    state.Buff['Penury'] = buffactive['Penury'] or false
    state.Buff['Parsimony'] = buffactive['Parsimony'] or false
    state.Buff['Celerity'] = buffactive['Celerity'] or false
    state.Buff['Alacrity'] = buffactive['Alacrity'] or false

    state.Buff['Klimaform'] = buffactive['Klimaform'] or false
end

function update_sublimation()
    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
end

-- Equip sets appropriate to the active buffs, relative to the spell being cast.
function apply_grimoire_bonuses(spell, action, spellMap)
    if state.Buff.Perpetuance and spell.type =='WhiteMagic' and spell.skill == 'Enhancing Magic' then
        equip(sets.buff['Perpetuance'])
    end
    if state.Buff.Rapture and (spellMap == 'Cure' or spellMap == 'Curaga') then
        equip(sets.buff['Rapture'])
    end
    if spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then
        if state.Buff.Ebullience and spell.english ~= 'Impact' then
            equip(sets.buff['Ebullience'])
        end
        if state.Buff.Immanence then
            equip(sets.buff['Immanence'])
        end
        if state.Buff.Klimaform and spell.element == world.weather_element then
            equip(sets.buff['Klimaform'])
        end
    end

    if state.Buff.Penury then equip(sets.buff['Penury']) end
    if state.Buff.Parsimony then equip(sets.buff['Parsimony']) end
    if state.Buff.Celerity then equip(sets.buff['Celerity']) end
    if state.Buff.Alacrity then equip(sets.buff['Alacrity']) end
end


function display_current_caster_state()
	local msg = ''

	if state.OffenseMode.value ~= 'None' then
		msg = msg .. 'Melee'

		if state.CombatForm.has_value then
			msg = msg .. ' (' .. state.CombatForm.value .. ')'
		end
        
		msg = msg .. ', '
	end

	msg = msg .. 'Idle ['..state.IdleMode.value..'], Casting ['..state.CastingMode.value..']'

	add_to_chat(122, msg)
	local currentStrats = get_current_strategem_count()
	local arts
	if buffactive['Light Arts'] or buffactive['Addendum: White'] then
		arts = 'Light Arts'
	elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
		arts = 'Dark Arts'
	else
		arts = 'No Arts Activated'
	end
	add_to_chat(122, 'Current Available Strategems: ['..currentStrats..'], '..arts..'')
end

-- General handling of strategems in an Arts-agnostic way.
-- Format: gs c scholar <strategem>
function handle_strategems(cmdParams)
    -- cmdParams[1] == 'scholar'
    -- cmdParams[2] == strategem to use
	if not cmdParams[2] then
		add_to_chat(123,'Error: No strategem command given.')
		return
	end

	local currentStrats = get_current_strategem_count()
	local newStratCount = currentStrats - 1
	local strategem = cmdParams[2]:lower()
	
	if currentStrats > 0 and strategem ~= 'light' and strategem ~= 'dark' then
		add_to_chat(122, '***Current Charges Available: ['..newStratCount..']***')
	elseif currentStrats == 0 then
		add_to_chat(122, '***Out of strategems! Canceling...***')
		return
	end

	if strategem == 'light' then
		if buffactive['light arts'] then
			send_command('input /ja "Addendum: White" <me>')
			add_to_chat(122, '***Current Charges Available: ['..newStratCount..']***')
		elseif buffactive['addendum: white'] then
			add_to_chat(122,'Error: Addendum: White is already active.')
		elseif buffactive['dark arts']  or buffactive['addendum: black'] then
			send_command('input /ja "Light Arts" <me>')
			add_to_chat(122, '***Changing Arts! Current Charges Available: ['..currentStrats..']***')
		else
			send_command('input /ja "Light Arts" <me>')
		end
	elseif strategem == 'dark' then
		if buffactive['dark arts'] then
			send_command('input /ja "Addendum: Black" <me>')
			add_to_chat(122, '***Current Charges Available: ['..newStratCount..']***')
        elseif buffactive['addendum: black'] then
			add_to_chat(122,'Error: Addendum: Black is already active.')
		elseif buffactive['light arts'] or buffactive['addendum: white'] then
			send_command('input /ja "Dark Arts" <me>')
			add_to_chat(122, '***Changing Arts! Current Charges Available: ['..currentStrats..']***')
		else
			send_command('input /ja "Dark Arts" <me>')
		end
	elseif buffactive['light arts'] or buffactive['addendum: white'] then
		if strategem == 'cost' then
			send_command('@input /ja Penury <me>')
		elseif strategem == 'speed' then
			send_command('@input /ja Celerity <me>')
		elseif strategem == 'aoe' then
			send_command('@input /ja Accession <me>')
		elseif strategem == 'power' then
			send_command('@input /ja Rapture <me>')
		elseif strategem == 'duration' then
			send_command('@input /ja Perpetuance <me>')
		elseif strategem == 'accuracy' then
			send_command('@input /ja Altruism <me>')
		elseif strategem == 'enmity' then
			send_command('@input /ja Tranquility <me>')
		elseif strategem == 'skillchain' then
			add_to_chat(122,'Error: Light Arts does not have a skillchain strategem.')
		elseif strategem == 'addendum' then
			send_command('@input /ja "Addendum: White" <me>')
		else
			add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
		end
	elseif buffactive['dark arts']  or buffactive['addendum: black'] then
		if strategem == 'cost' then
			send_command('@input /ja Parsimony <me>')
		elseif strategem == 'speed' then
			send_command('@input /ja Alacrity <me>')
		elseif strategem == 'aoe' then
			send_command('@input /ja Manifestation <me>')
		elseif strategem == 'power' then
			send_command('@input /ja Ebullience <me>')
		elseif strategem == 'duration' then
			add_to_chat(122,'Error: Dark Arts does not have a duration strategem.')
		elseif strategem == 'accuracy' then
			send_command('@input /ja Focalization <me>')
		elseif strategem == 'enmity' then
			send_command('@input /ja Equanimity <me>')
		elseif strategem == 'skillchain' then
			send_command('@input /ja Immanence <me>')
		elseif strategem == 'addendum' then
			send_command('@input /ja "Addendum: Black" <me>')
		else
			add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
		end
	else
		add_to_chat(123,'No arts has been activated yet.')
	end
end

function get_current_strategem_count()
	local allRecasts = windower.ffxi.get_ability_recasts()
	local stratsRecast = allRecasts[231]

	local maxStrategems = math.floor(player.main_job_level + 10) / 20

	local fullRechargeTime = 5*33

	local currentCharges = math.floor(maxStrategems - maxStrategems * stratsRecast / fullRechargeTime)
	
	return currentCharges
end




-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    set_macro_page(1, 8)
end

 Bismarck.Speedyjim
Offline
サーバ: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-05 19:55:44  
I had the same issue and this is what fixed it.

Change the and to an or on line 813, or completely remove the and spellMap ~= 'ElementalEnfeeble'
Code
if spell.skill == 'Elemental Magic' or spellMap ~= 'ElementalEnfeeble' then
        if state.Buff.Ebullience and spell.english ~= 'Impact' then
            equip(sets.buff['Ebullience'])
        end
        if state.Buff.Immanence then
            equip(sets.buff['Immanence'])
        end
        if state.Buff.Klimaform and spell.element == world.weather_element then
            equip(sets.buff['Klimaform'])
        end
    end
 Bismarck.Speedyjim
Offline
サーバ: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-05 19:57:58  
You should also look into creating aliases for all your augmented gear and use set_combine to not repeat gear so often, as when it comes down to replace a piece, you'll have to edit tons of lines.
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 20:38:25  
It still isn't working seem as though Storm as a set wont activate do i need to add something somewhere else to make Storm as a set work?
 Bismarck.Speedyjim
Offline
サーバ: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-05 21:09:39  
Are you talking about Stormsurge, or Storm-spells i.e. Thunderstorm II?
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 21:33:32  
Storm-spells yes
 Bismarck.Speedyjim
Offline
サーバ: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-05 21:38:40  
Could be that you have 2 sets.midcast.Storm sets. Also, your second storm set is identical to your Enhancing Magic set, thus it's redundant. Remove them both and try again.
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 22:21:24  
ya tried none tried one at at a time and nada no loafers I'm lost
 Bismarck.Speedyjim
Offline
サーバ: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-05 22:45:45  
Hopefully somebody else, like Flippant, can find your issue. In the meantime, you can try my LUA and paste your gear sets over mine and test.
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 22:51:00  
Do you equip your Ped Loafers when you cast storm spells or am I just off on some tangent and its not suppose to happen.
 Bismarck.Radec
Offline
サーバ: Bismarck
Game: FFXI
user: Radec
Posts: 132
By Bismarck.Radec 2016-06-05 22:59:12  
Re: Problems with stormspells not equipping feet correctly - this is because the equip for them is in the mote-* libs, but the libs don't map the storm2's as type 'storm' - see line 194 in gearswap/libs/Mote-Mappings for the maps for storm1's.

You can duplicate that line, ie

['Firestorm II']='Storm', ...

or explicitly define a set for firestorm that uses your storm gear:

sets.midcast['Firestorm II'] = sets.midcast.Storm
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-06-05 23:01:16  
What is equipping when you use a storm spell? You can use '//gs showswaps' to be certain.

Also, I'm not sure if it affects it because I use the augments attribute as little as possible, but you can take that part out for the feet because you only own one pair of them anyway.
 Bismarck.Speedyjim
Offline
サーバ: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-06-05 23:06:37  
Bismarck.Radec said: »
Re: Problems with stormspells not equipping feet correctly - this is because the equip for them is in the mote-* libs, but the libs don't map the storm2's as type 'storm' - see line 194 in gearswap/libs/Mote-Mappings for the maps for storm1's.

You can duplicate that line, ie

['Firestorm II']='Storm', ...

or explicitly define a set for firestorm that uses your storm gear:

sets.midcast['Firestorm II'] = sets.midcast.Storm
Very true, forgot about this.
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 23:23:45  
Its just Equipping my normal Enhancing set i did showswaps of course
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-05 23:27:59  
Bismarck.Radec said: »
Re: Problems with stormspells not equipping feet correctly - this is because the equip for them is in the mote-* libs, but the libs don't map the storm2's as type 'storm' - see line 194 in gearswap/libs/Mote-Mappings for the maps for storm1's.

You can duplicate that line, ie

['Firestorm II']='Storm', ...

or explicitly define a set for firestorm that uses your storm gear:

sets.midcast['Firestorm II'] = sets.midcast.Storm

Adding it to the Mote file worked thanks so much it was driving me crazy
 Bahamut.Neb
Offline
サーバ: Bahamut
Game: FFXI
user: Neb
Posts: 189
By Bahamut.Neb 2016-06-06 00:15:10  
If anyone else reads this I was just told by an LS mate who saw this you need to do the same thing with the Helix II spells in the Mote-Mappings.lua File and if you are a BLM add Aspir III as well.

Thanks for you help Everyone.
 Odin.Lygre
Offline
サーバ: Odin
Game: FFXI
user: Dylaudid
Posts: 89
By Odin.Lygre 2016-06-08 23:23:31  
Code
-------------------------------------------------------------------------------------------------------------------
-- Mappings, lists and sets to describe game relationships that aren't easily determinable otherwise.
-------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------
-- Elemental mappings for element relationships and certain types of spells and gear.
-------------------------------------------------------------------------------------------------------------------

elements = {}

elements.list = S{'Light','Dark','Fire','Ice','Wind','Earth','Lightning','Water'}

elements.weak_to = {['Light']='Dark', ['Dark']='Light', ['Fire']='Ice', ['Ice']='Wind', ['Wind']='Earth', ['Earth']='Lightning',
        ['Lightning']='Water', ['Water']='Fire'}

elements.strong_to = {['Light']='Dark', ['Dark']='Light', ['Fire']='Water', ['Ice']='Fire', ['Wind']='Ice', ['Earth']='Wind',
        ['Lightning']='Earth', ['Water']='Lightning'}


storms = S{"Aurorastorm", "Aurorastorm II", "Voidstorm", "Voidstorm II", "Firestorm", "Firestorm II", "Sandstorm", "Sandstorm II", "Rainstorm", "Rainstorm II", 
		"Windstorm", "Windstorm II", "Hailstorm", "Hailstorm II", "Thunderstorm", "Thunderstorm II"}
elements.storm_of = {['Light']="Aurorastorm","Aurorastorm II", ['Dark']="Voidstorm","Voidstorm II", ['Fire']="Firestorm","Firestorm II", ['Earth']="Sandstorm","Sandstorm II",
        ['Water']="Rainstorm","Rainstorm II", ['Wind']="Windstorm","Windstorm II", ['Ice']="Hailstorm","Hailstorm II", ['Lightning']="Thunderstorm","Thunderstorm II"}

spirits = S{"LightSpirit", "DarkSpirit", "FireSpirit", "EarthSpirit", "WaterSpirit", "AirSpirit", "IceSpirit", "ThunderSpirit"}
elements.spirit_of = {['Light']="Light Spirit", ['Dark']="Dark Spirit", ['Fire']="Fire Spirit", ['Earth']="Earth Spirit",
        ['Water']="Water Spirit", ['Wind']="Air Spirit", ['Ice']="Ice Spirit", ['Lightning']="Thunder Spirit"}

runes = S{'Lux', 'Tenebrae', 'Ignis', 'Gelus', 'Flabra', 'Tellus', 'Sulpor', 'Unda'}
elements.rune_of = {['Light']='Lux', ['Dark']='Tenebrae', ['Fire']='Ignis', ['Ice']='Gelus', ['Wind']='Flabra',
     ['Earth']='Tellus', ['Lightning']='Sulpor', ['Water']='Unda'}

elements.obi_of = {['Light']='Korin Obi', ['Dark']='Anrin Obi', ['Fire']='Karin Obi', ['Ice']='Hyorin Obi', ['Wind']='Furin Obi',
     ['Earth']='Dorin Obi', ['Lightning']='Rairin Obi', ['Water']='Suirin Obi'}

elements.gorget_of = {['Light']='Light Gorget', ['Dark']='Shadow Gorget', ['Fire']='Flame Gorget', ['Ice']='Snow Gorget',
    ['Wind']='Breeze Gorget', ['Earth']='Soil Gorget', ['Lightning']='Thunder Gorget', ['Water']='Aqua Gorget'}

elements.belt_of = {['Light']='Light Belt', ['Dark']='Shadow Belt', ['Fire']='Flame Belt', ['Ice']='Snow Belt',
    ['Wind']='Breeze Belt', ['Earth']='Soil Belt', ['Lightning']='Thunder Belt', ['Water']='Aqua Belt'}

elements.fastcast_staff_of = {['Light']='Arka I', ['Dark']='Xsaeta I', ['Fire']='Atar I', ['Ice']='Vourukasha I',
    ['Wind']='Vayuvata I', ['Earth']='Vishrava I', ['Lightning']='Apamajas I', ['Water']='Haoma I', ['Thunder']='Apamajas I'}

elements.recast_staff_of = {['Light']='Arka II', ['Dark']='Xsaeta II', ['Fire']='Atar II', ['Ice']='Vourukasha II',
    ['Wind']='Vayuvata II', ['Earth']='Vishrava II', ['Lightning']='Apamajas II', ['Water']='Haoma II', ['Thunder']='Apamajas II'}

elements.perpetuance_staff_of = {['Light']='Arka III', ['Dark']='Xsaeta III', ['Fire']='Atar III', ['Ice']='Vourukasha III',
    ['Wind']='Vayuvata III', ['Earth']='Vishrava III', ['Lightning']='Apamajas III', ['Water']='Haoma III', ['Thunder']='Apamajas III'}


-- Elements for skillchain names
skillchain_elements = {}
skillchain_elements.Light = S{'Light','Fire','Wind','Lightning'}
skillchain_elements.Darkness = S{'Dark','Ice','Earth','Water'}
skillchain_elements.Fusion = S{'Light','Fire'}
skillchain_elements.Fragmentation = S{'Wind','Lightning'}
skillchain_elements.Distortion = S{'Ice','Water'}
skillchain_elements.Gravitation = S{'Dark','Earth'}
skillchain_elements.Transfixion = S{'Light'}
skillchain_elements.Compression = S{'Dark'}
skillchain_elements.Liquification = S{'Fire'}
skillchain_elements.Induration = S{'Ice'}
skillchain_elements.Detonation = S{'Wind'}
skillchain_elements.Scission = S{'Earth'}
skillchain_elements.Impaction = S{'Lightning'}
skillchain_elements.Reverberation = S{'Water'}


-------------------------------------------------------------------------------------------------------------------
-- Mappings for weaponskills
-------------------------------------------------------------------------------------------------------------------

-- REM weapons and their corresponding weaponskills
data = {}
data.weaponskills = {}
data.weaponskills.relic = {
    ["Spharai"] = "Final Heaven",
    ["Mandau"] = "Mercy Stroke",
    ["Excalibur"] = "Knights of Round",
    ["Ragnarok"] = "Scourge",
    ["Guttler"] = "Onslaught",
    ["Bravura"] = "Metatron Torment",
    ["Apocalypse"] = "Catastrophe",
    ["Gungnir"] = "Gierskogul",
    ["Kikoku"] = "Blade: Metsu",
    ["Amanomurakumo"] = "Tachi: Kaiten",
    ["Mjollnir"] = "Randgrith",
    ["Claustrum"] = "Gates of Tartarus",
    ["Annihilator"] = "Coronach",
    ["Yoichinoyumi"] = "Namas Arrow"}
data.weaponskills.mythic = {
    ["Conqueror"] = "King's Justice",
    ["Glanzfaust"] = "Ascetic's Fury",
    ["Yagrush"] = "Mystic Boon",
    ["Laevateinn"] = "Vidohunir",
    ["Murgleis"] = "Death Blossom",
    ["Vajra"] = "Mandalic Stab",
    ["Burtgang"] = "Atonement",
    ["Liberator"] = "Insurgency",
    ["Aymur"] = "Primal Rend",
    ["Carnwenhan"] = "Mordant Rime",
    ["Gastraphetes"] = "Trueflight",
    ["Kogarasumaru"] = "Tachi: Rana",
    ["Nagi"] = "Blade: Kamu",
    ["Ryunohige"] = "Drakesbane",
    ["Nirvana"] = "Garland of Bliss",
    ["Tizona"] = "Expiacion",
    ["Death Penalty"] = "Leaden Salute",
    ["Kenkonken"] = "Stringing Pummel",
    ["Terpsichore"] = "Pyrrhic Kleos",
    ["Tupsimati"] = "Omniscience",
    ["Idris"] = "Exudation",
    ["Epeolatry"] = "Dimidiation"}
data.weaponskills.empyrean = {
    ["Verethragna"] = "Victory Smite",
    ["Twashtar"] = "Rudra's Storm",
    ["Almace"] = "Chant du Cygne",
    ["Caladbolg"] = "Torcleaver",
    ["Farsha"] = "Cloudsplitter",
    ["Ukonvasara"] = "Ukko's Fury",
    ["Redemption"] = "Quietus",
    ["Rhongomiant"] = "Camlann's Torment",
    ["Kannagi"] = "Blade: Hi",
    ["Masamune"] = "Tachi: Fudo",
    ["Gambanteinn"] = "Dagann",
    ["Hvergelmir"] = "Myrkr",
    ["Gandiva"] = "Jishnu's Radiance",
    ["Armageddon"] = "Wildfire"}

-- Weaponskills that can be used at range.
data.weaponskills.ranged = S{"Flaming Arrow", "Piercing Arrow", "Dulling Arrow", "Sidewinder", "Arching Arrow",
    "Empyreal Arrow", "Refulgent Arrow", "Apex Arrow", "Namas Arrow", "Jishnu's Radiance",
    "Hot Shot", "Split Shot", "Sniper Shot", "Slug Shot", "Heavy Shot", "Detonator", "Last Stand",
    "Coronach", "Trueflight", "Leaden Salute", "Wildfire",
    "Myrkr"}

ranged_weaponskills = data.weaponskills.ranged

-------------------------------------------------------------------------------------------------------------------
-- Spell mappings allow defining a general category or description that each of sets of related
-- spells all fall under.
-------------------------------------------------------------------------------------------------------------------

spell_maps = {
    ['Cure']='Cure',['Cure II']='Cure',['Cure III']='Cure',['Cure IV']='Cure',['Cure V']='Cure',['Cure VI']='Cure',
    ['Cura']='Curaga',['Cura II']='Curaga',['Cura III']='Curaga',
    ['Curaga']='Curaga',['Curaga II']='Curaga',['Curaga III']='Curaga',['Curaga IV']='Curaga',['Curaga V']='Curaga',
    -- Status Removal doesn't include Esuna or Sacrifice, since they work differently than the rest
    ['Poisona']='StatusRemoval',['Paralyna']='StatusRemoval',['Silena']='StatusRemoval',['Blindna']='StatusRemoval',['Cursna']='StatusRemoval',
    ['Stona']='StatusRemoval',['Viruna']='StatusRemoval',['Erase']='StatusRemoval',
    ['Barfire']='BarElement',['Barstone']='BarElement',['Barwater']='BarElement',['Baraero']='BarElement',['Barblizzard']='BarElement',['Barthunder']='BarElement',
    ['Barfira']='BarElement',['Barstonra']='BarElement',['Barwatera']='BarElement',['Baraera']='BarElement',['Barblizzara']='BarElement',['Barthundra']='BarElement',
	['Baramnesia']='BarStatus',['Barvirus']='BarStatus',['Barparalyze']='BarStatus',['Barsilence']='BarStatus',['Barpetrify']='BarStatus',['Barpoison']='BarStatus',['Barblind']='BarStatus',['Barsleep']='BarStatus',
	['Baramnesra']='BarStatus',['Barvira']='BarStatus',['Barparalyzra']='BarStatus',['Barsilencra']='BarStatus',['Barpetra']='BarStatus',['Barpoisonra']='BarStatus',['Barblindra']='BarStatus',['Barsleepra']='BarStatus',
    ['Raise']='Raise',['Raise II']='Raise',['Raise III']='Raise',['Arise']='Raise',
    ['Reraise']='Reraise',['Reraise II']='Reraise',['Reraise III']='Reraise',
    ['Protect']='Protect',['Protect II']='Protect',['Protect III']='Protect',['Protect IV']='Protect',['Protect V']='Protect',
    ['Shell']='Shell',['Shell II']='Shell',['Shell III']='Shell',['Shell IV']='Shell',['Shell V']='Shell',
    ['Protectra']='Protectra',['Protectra II']='Protectra',['Protectra III']='Protectra',['Protectra IV']='Protectra',['Protectra V']='Protectra',
    ['Shellra']='Shellra',['Shellra II']='Shellra',['Shellra III']='Shellra',['Shellra IV']='Shellra',['Shellra V']='Shellra',
    ['Regen']='Regen',['Regen II']='Regen',['Regen III']='Regen',['Regen IV']='Regen',['Regen V']='Regen',
    ['Refresh']='Refresh',['Refresh II']='Refresh',['Refresh III']='Refresh',
    ['Teleport-Holla']='Teleport',['Teleport-Dem']='Teleport',['Teleport-Mea']='Teleport',['Teleport-Altep']='Teleport',['Teleport-Yhoat']='Teleport',
    ['Teleport-Vahzl']='Teleport',['Recall-Pashh']='Teleport',['Recall-Meriph']='Teleport',['Recall-Jugner']='Teleport',
    ['Valor Minuet']='Minuet',['Valor Minuet II']='Minuet',['Valor Minuet III']='Minuet',['Valor Minuet IV']='Minuet',['Valor Minuet V']='Minuet',
    ["Knight's Minne"]='Minne',["Knight's Minne II"]='Minne',["Knight's Minne III"]='Minne',["Knight's Minne IV"]='Minne',["Knight's Minne V"]='Minne',
    ['Advancing March']='March',['Victory March']='March',['Honor March']='March', --Whether you want this mapped or not is highly dependent on your BRD lua
    ['Sword Madrigal']='Madrigal',['Blade Madrigal']='Madrigal',
    ["Hunter's Prelude"]='Prelude',["Archer's Prelude"]='Prelude',
    ['Sheepfoe Mambo']='Mambo',['Dragonfoe Mambo']='Mambo',
    ['Raptor Mazurka']='Mazurka',['Chocobo Mazurka']='Mazurka',
    ['Sinewy Etude']='Etude',['Dextrous Etude']='Etude',['Vivacious Etude']='Etude',['Quick Etude']='Etude',['Learned Etude']='Etude',['Spirited Etude']='Etude',['Enchanting Etude']='Etude',
    ['Herculean Etude']='Etude',['Uncanny Etude']='Etude',['Vital Etude']='Etude',['Swift Etude']='Etude',['Sage Etude']='Etude',['Logical Etude']='Etude',['Bewitching Etude']='Etude',
    ["Mage's Ballad"]='Ballad',["Mage's Ballad II"]='Ballad',["Mage's Ballad III"]='Ballad',
    ["Army's Paeon"]='Paeon',["Army's Paeon II"]='Paeon',["Army's Paeon III"]='Paeon',["Army's Paeon IV"]='Paeon',["Army's Paeon V"]='Paeon',["Army's Paeon VI"]='Paeon',
    ['Fire Carol']='Carol',['Ice Carol']='Carol',['Wind Carol']='Carol',['Earth Carol']='Carol',['Lightning Carol']='Carol',['Water Carol']='Carol',['Light Carol']='Carol',['Dark Carol']='Carol',
    ['Fire Carol II']='Carol',['Ice Carol II']='Carol',['Wind Carol II']='Carol',['Earth Carol II']='Carol',['Lightning Carol II']='Carol',['Water Carol II']='Carol',['Light Carol II']='Carol',['Dark Carol II']='Carol',
    ['Foe Lullaby']='Lullaby',['Foe Lullaby II']='Lullaby',['Horde Lullaby']='Lullaby',['Horde Lullaby II']='Lullaby',
    ['Fire Threnody']='Threnody',['Ice Threnody']='Threnody',['Wind Threnody']='Threnody',['Earth Threnody']='Threnody',['Lightning Threnody']='Threnody',['Water Threnody']='Threnody',['Light Threnody']='Threnody',['Dark Threnody']='Threnody',
    ['Fire Threnody II']='Threnody',['Ice Threnody II']='Threnody',['Wind Threnody II']='Threnody',['Earth Threnody II']='Threnody',['Lightning Threnody II']='Threnody',['Water Threnody II']='Threnody',['Light Threnody II']='Threnody',['Dark Threnody II']='Threnody',
    ['Battlefield Elegy']='Elegy',['Carnage Elegy']='Elegy',
    ['Foe Requiem']='Requiem',['Foe Requiem II']='Requiem',['Foe Requiem III']='Requiem',['Foe Requiem IV']='Requiem',['Foe Requiem V']='Requiem',['Foe Requiem VI']='Requiem',['Foe Requiem VII']='Requiem',
    ['Utsusemi: Ichi']='Utsusemi',['Utsusemi: Ni']='Utsusemi',['Utsusemi: San']='Utsusemi',
    ['Katon: Ichi'] = 'ElementalNinjutsu',['Suiton: Ichi'] = 'ElementalNinjutsu',['Raiton: Ichi'] = 'ElementalNinjutsu',
    ['Doton: Ichi'] = 'ElementalNinjutsu',['Huton: Ichi'] = 'ElementalNinjutsu',['Hyoton: Ichi'] = 'ElementalNinjutsu',
    ['Katon: Ni'] = 'ElementalNinjutsu',['Suiton: Ni'] = 'ElementalNinjutsu',['Raiton: Ni'] = 'ElementalNinjutsu',
    ['Doton: Ni'] = 'ElementalNinjutsu',['Huton: Ni'] = 'ElementalNinjutsu',['Hyoton: Ni'] = 'ElementalNinjutsu',
    ['Katon: San'] = 'ElementalNinjutsu',['Suiton: San'] = 'ElementalNinjutsu',['Raiton: San'] = 'ElementalNinjutsu',
    ['Doton: San'] = 'ElementalNinjutsu',['Huton: San'] = 'ElementalNinjutsu',['Hyoton: San'] = 'ElementalNinjutsu',
    ['Banish']='Banish',['Banish II']='Banish',['Banish III']='Banish',['Banishga']='Banish',['Banishga II']='Banish',
    ['Holy']='Holy',['Holy II']='Holy',['Drain']='Drains',['Drain II']='Drains',['Aspir']='Aspirs',['Aspir II']='Aspirs',['Aspir III']='Aspirs',
    ['Absorb-STR']='Absorb',['Absorb-DEX']='Absorb',['Absorb-VIT']='Absorb',['Absorb-AGI']='Absorb',['Absorb-INT']='Absorb',['Absorb-MND']='Absorb',['Absorb-CHR']='Absorb',
    ['Absorb-ACC']='Absorb',['Absorb-TP']='Absorb',['Absorb-Attri']='Absorb',
    ['Burn']='ElementalEnfeeble',['Frost']='ElementalEnfeeble',['Choke']='ElementalEnfeeble',['Rasp']='ElementalEnfeeble',['Shock']='ElementalEnfeeble',['Drown']='ElementalEnfeeble',
    ['Pyrohelix']='Helix',['Cryohelix']='Helix',['Anemohelix']='Helix',['Geohelix']='Helix',['Ionohelix']='Helix',['Hydrohelix']='Helix',['Luminohelix']='Helix',['Noctohelix']='Helix',
    ['Pyrohelix II']='Helix',['Cryohelix II']='Helix',['Anemohelix II']='Helix',['Geohelix II']='Helix',['Ionohelix II']='Helix',['Hydrohelix II']='Helix',['Luminohelix II']='Helix',['Noctohelix II']='Helix',
    ['Firestorm']='Storm',['Hailstorm']='Storm',['Windstorm']='Storm',['Sandstorm']='Storm',['Thunderstorm']='Storm',['Rainstorm']='Storm',['Aurorastorm']='Storm',['Voidstorm']='Storm',
    ['Firestorm II']='Storm',['Hailstorm II']='Storm',['Windstorm II']='Storm',['Sandstorm II']='Storm',['Thunderstorm II']='Storm',['Rainstorm II']='Storm',['Aurorastorm II']='Storm',['Voidstorm II']='Storm',
    ['Fire Maneuver']='Maneuver',['Ice Maneuver']='Maneuver',['Wind Maneuver']='Maneuver',['Earth Maneuver']='Maneuver',['Thunder Maneuver']='Maneuver',
    ['Water Maneuver']='Maneuver',['Light Maneuver']='Maneuver',['Dark Maneuver']='Maneuver',
}

no_skill_spells_list = S{'Haste', 'Flurry', 'Refresh', 'Regen', 'Protect', 'Protectra', 'Shell', 'Shellra',
        'Raise', 'Reraise', 'Sneak', 'Invisible', 'Deodorize'}


-------------------------------------------------------------------------------------------------------------------
-- Tables to specify general area groupings.  Creates the 'areas' table to be referenced in job files.
-- Zone names provided by world.area/world.zone are currently in all-caps, so defining the same way here.
-------------------------------------------------------------------------------------------------------------------

areas = {}

-- City areas for town gear and behavior.
areas.Cities = S{
    "Ru'Lude Gardens",
    "Upper Jeuno",
    "Lower Jeuno",
    "Port Jeuno",
    "Port Windurst",
    "Windurst Waters",
    "Windurst Woods",
    "Windurst Walls",
    "Heavens Tower",
    "Port San d'Oria",
    "Northern San d'Oria",
    "Southern San d'Oria",
    "Port Bastok",
    "Bastok Markets",
    "Bastok Mines",
    "Metalworks",
    "Aht Urhgan Whitegate",
    "Tavanazian Safehold",
    "Nashmau",
    "Selbina",
    "Mhaura",
    "Norg",
    "Eastern Adoulin",
    "Western Adoulin",
    "Kazham"
}
-- Adoulin areas, where Ionis will grant special stat bonuses.
areas.Adoulin = S{
    "Yahse Hunting Grounds",
    "Ceizak Battlegrounds",
    "Foret de Hennetiel",
    "Morimar Basalt Fields",
    "Yorcia Weald",
    "Yorcia Weald [U]",
    "Cirdas Caverns",
    "Cirdas Caverns [U]",
    "Marjami Ravine",
    "Kamihr Drifts",
    "Sih Gates",
    "Moh Gates",
    "Dho Gates",
    "Woh Gates",
    "Rala Waterways",
    "Rala Waterways [U]",
    "Outer Ra'Kaznar",
    "Outer Ra'Kaznar [U]"
}


-------------------------------------------------------------------------------------------------------------------
-- Lists of certain NPCs.
-------------------------------------------------------------------------------------------------------------------

npcs = {}
npcs.Trust = S{'Ajido-Marujido','Aldo','Ayame','Cherukiki','Curilla','D.Shantotto','Elivira','Excenmille',
        'Fablinix','FerreousCoffin','Gadalar','Gessho','Ingrid','IronEater','Joachim','Klara','Kupipi',
        'LehkoHabhoka','LhuMhakaracca','Lion','Luzaf','Maat','MihliAliapoh','Mnejing','Moogle','Mumor',
        'NajaSalaheem','Najelith','Naji','NanaaMihgo','Nashmeira','Noillurie','Ovjang','Prishe','Rainemard',
        'RomaaMihgo','Sakura','Shantotto','StarSibyl','Tenzen','Trion','UkaTotlihn','Ulmia','Valaineral',
        'Volker','Zazarg','Zeid'}



This is my Mote-Mappings.lua. It has quite a few things updated/fixed. May be missing some things irrelevant to the jobs I play, feel free to point them out.
[+]
 Carbuncle.Silverio
Offline
サーバ: Carbuncle
Game: FFXI
user: silverio
Posts: 8
By Carbuncle.Silverio 2016-06-10 20:36:20  
https://github.com/Silvxiii/gearswap-scholarFFxi
 Odin.Speedyjim
Offline
サーバ: Odin
Game: FFXI
user: speedyjim
Posts: 177
By Odin.Speedyjim 2016-06-10 21:49:47  
Nice LUA, Silverio.

It may be easier to remove Haste/Refresh/Regen from the no skill list, as you'd want to put your Enhancing Duration gear in your midcast['EnhancingMagic'] sets. If you don't remove them, you'll need spell-specific sets with the duration gear.

Mine looks like this:
Code
no_skill_spells_list = S{
        'Raise', 'Reraise', 'Arise', 'Teleport', 'Warp', 'Blink', 'Dia', 'Animus', 'Tractor'}
 Asura.Alkk
Offline
サーバ: Asura
Game: FFXI
user: Alkai
Posts: 38
By Asura.Alkk 2016-06-16 13:01:41  

I tried including your helix timer just to see how I like it but it doesnt appear to be doing anything. Do I need to activate it with some command perhaps?
 Carbuncle.Silverio
Offline
サーバ: Carbuncle
Game: FFXI
user: silverio
Posts: 8
By Carbuncle.Silverio 2016-07-09 15:22:57  
function job_aftercast(spell, action, spellMap, eventArgs)
-- helix timers
if (not spell.interrupted) then
if info.Helix:contains(spell.english) then
createTimerHelix(spell.english)
end
if (spell.english=='Modus Veritas' or spell.english=='Stone') then
createTimerModusVeritas()
end
end -- end of helix timers
end
Offline
Posts: 3
By Upstartgoblin 2016-08-06 13:33:32  
So I am having an issue where I will nuke and it equips my 2 hand staff and grip. But when going back to idle it only quips Sors shield. Any help appreciated. Also is there any way someone can help me add strat counter to this?
Code
----- Credit: Krystela of Asura | Last Update: 27 July 2016 ---->
---- .:: This was entirely created by me, it's not based off anyone's file ::. ---->
---- Always visit http://pastebin.com/u/KrystelaRose to look for possible updates ---->
---- .:: Please leave credit where it's due ::. ---->
---- .:: If you have any problem contact me via ffxiah: http://www.ffxiah.com/player/Asura/Krystela ::. ---->

function user_unload()
    send_command('unbind ^f1')
    send_command('unbind ^f10')
    send_command('unbind ^f11')		
end	
function get_sets()
-- Binds for modes
    send_command('bind ^f1 gs c C1')
	send_command('bind ^f10 gs c C10')
	send_command('bind ^f11 gs c C11')
-- Modes --
    MagicIndex = 1
    MagicArray = {"Normal","Magic Burst"} -- Press ctrl +F1 to circle through Magic modes --
	WeaponLock = 'OFF' -- Press ctrl + F10 to Lock Weapon/sub/range/ammo --	
	Capacity = 'OFF' -- Press Ctrl +F11 to have Capacity cape on while Idle --
-- Gears --
    gear = {}
	gear.Debuff_Staff = { name="Grioavolr", augments={'"Conserve MP"+1','INT+2','Mag. Acc.+30',}}	
	gear.FC_Body = { name="Merlinic Jubbah", augments={'"Fast Cast"+6',}}
	gear.FC_Feet = { name="Amalric Nails",}
	gear.Macc_Body = { name="Jhakri Robe",}
    gear.MB_Head = { name="Jhakri Coronal +1",}
	gear.MB_Body = { name="Count's Garb",}
    gear.MB_Feet = { name="Jhakri Pigaches +1",}	
    gear.Death_Hands = { name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}
    gear.MB_Hands =	{ name="Jhakri Cuffs +1",}	
-- Set macro book/set --
    send_command('input /macro book 1;wait .1;input /macro set 1') -- set macro book/set here --
---- .::Spellmaps::. ---->		
    enfMND = S{'Paralyze','Slow'}
    enfINT = S{'Blind'}		
	-- Area mapping --	
    Town = S{"Ru'Lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno","Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
	         "Port San d'Oria","Northern San d'Oria","Southern San d'Oria","Port Bastok","Bastok Markets","Bastok Mines","Metalworks","Aht Urhgan Whitegate",
	         "Tavnazian Safehold","Nashmau","Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham","Heavens Tower"}
    Assault = S{"Leujaoam Sanctum","Mamool Ja Training Grounds","Lebros Cavern","Periqia","Ilrusi Atoll",
                "Nyzul Isle","Bhaflau Remnants","Arrapago Remnants","Silver Sea Remnants","Zhayolm Remnants"}
---- Precast ----
    sets.precast = {}
    sets.precast.FC = {
	    main="Grioavolr",
		sub="Clerisy Strap +1",
        ammo="Impatiens",
        head="Amalric Coif",
        neck="Voltsurge Torque",
        ear1="Loquac. Earring",
        ear2="Etiolation Earring",
        body=gear.FC_Body,
        hands="Gende. Gages +1",
        ring1="Prolix Ring",
		ring2="Renaye Ring",
        back="Swith Cape +1",
        waist="Witful Belt",
		legs="Psycloth Lappas",
        feet=gear.FC_Feet}
    sets.precast.Cure = set_combine(sets.precast.FC, {
	    main="Gada",
		sub="Sors Shield"})		
    sets.precast.Enhancing = set_combine(sets.precast.FC, {})
    sets.precast['Stoneskin'] = set_combine(sets.precast.FC, {})
	sets.precast.Elemental = set_combine(sets.precast.FC, {})
	sets.precast['Impact'] = {
	    main="Mindmelter",
		sub="Elder's Grip",
		ammo="Impatiens",
        head=empty,
		neck="Voltsurge Torque",
        ear1="Loquac. Earring",
        ear2="Enchntr. Earring +1",
        body="Twilight Cloak",
        hands="Gende. Gages +1",
        ring1="Prolix Ring",
        ring2="Lebeche Ring",
        back="Perimede Cape",
        waist="Witful Belt",
		legs="Psycloth Lappas",
        feet=gear.FC_Feet}	
-- Job Abilities --
	sets.JA = {}
	sets.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}
-- WS sets --
	sets.WS = {}
	sets.WS['Myrkr'] = {
	    ammo="Psilomene",
        head="Pixie Hairpin +1",
		neck="Dualism Collar +1",
	    ear1="Gifted Earring",
	    ear2="Etiolation Earring",
	    body="Weather. Robe +1",
	    hands="Otomi Gloves",
	    ring1="Mephitas's Ring +1",
	    ring2="Mephitas's Ring",
	    back="Pahtli Cape",
	    waist="Shinjutsu-no-Obi",
	    legs="Amalric Slops",
	    feet="Psycloth Boots"}
    sets.midcast = {}
-- Base Set --
    sets.midcast.Recast = {
	    main="Grioavolr",
		sub="Clerisy Strap +1",
        ammo="Sapience Orb",
        head="Amalric Coif",
        neck="Voltsurge Torque",
        ear1="Loquac. Earring",
        ear2="Enchntr. Earring +1",
        body=gear.FC_Body,
        hands="Merlinic Dastanas",
        ring1="Prolix Ring",
        back="Lugh's Cape",
        waist="Witful Belt",
		legs="Psycloth Lappas",
        feet=gear.FC_Feet}
    sets.midcast.ConserveMP = {
	    main="Grioavolr",
		sub="Clerisy Strap +1",
		ammo="Pemphredo Tathlum",
		head="Ipoca Beret",
		neck="Incanter's Torque",
		ear1="Gwati Earring",
		ear2="Gifted Earring",
		body="Witching Robe",
		back="Seshaw Cape +1",
		waist="Luminary Sash",
		legs="Vanya Slops",
		feet="Kaykaus Boots +1"}
-- Healing Magic --
    sets.midcast.Cure = {
	    main="Tamaxchi",
		sub="Sors Shield",	
		ammo="Pemphedro Tathlum",
		head="Kaykaus Mitra +1",
        neck="Incanter's Torque",
		ear1="Healing Earring",
        ear2="Beatific Earring",		
        body="Kaykaus Bliaut +1",
        hands="Telchine Gloves",
        ring1="Haoma's Ring",
        ring2="Janniston Ring",
        back="Tempered Cape +1",
        waist="Luminary Sash",
        legs="Vanya Slops",
        feet="Kaykaus Boots +1"}
    sets.midcast.Cure.WeaponLock = {	
		ammo="Pemphedro Tathlum",
		head="Kaykaus Mitra +1",
        neck="Incanter's Torque",	
		ear1="Healing Earring",
        ear2="Beatific Earring",		
        body="Chironic Doublet",
        hands="Telchine Gloves",
        ring1="Janniston Ring",
        ring2="Lebeche Ring",
        back="Tempered Cape +1",
        waist="Luminary Sash",
        legs="Chironic Hose",
        feet="Kaykaus Boots +1"}
	sets.midcast.Cure.Weather =  {
	    main="Chatoyant Staff",
		sub="Achaq Grip",	
		ammo="Pemphedro Tathlum",
		head="Kaykaus Mitra +1",
        neck="Incanter's Torque",	
		ear1="Healing Earring",
        ear2="Beatific Earring",		
        body="Kaykaus Bliaut +1",
        hands="Telchine Gloves",
        ring1="Haoma's Ring",
        ring2="Janniston Ring",
        back="Twilight Cape",
        waist="Hachirin-no-Obi",
        legs="Chironic Hose",
        feet="Kaykaus Boots +1"}
    sets.midcast.Enhancing = set_combine(sets.midcast.ConserveMP, {
	    main="Oranyan",
	    sub="Clerisy Strap",	
	    head="Telchine Cap",
		neck="Incanter's Torque",
		ear1="Andoaa Earring",
		body="Telchine Chasuble",
		hands="Telchine Gloves",
        ring1="Stikini Ring",
        ring2="Stikini Ring",
        back="Perimede Cape",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})	
	sets.midcast.Regen = set_combine(sets.midcast.ConserveMP, {
	    main="Bolelabunga",
        sub="Genmei Shield",		
		head="Telchine Cap",
		body="Telchine Chasuble",
		hands="Telchine Gloves",
	    back="Lugh's Cape",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})		
    sets.midcast['Stoneskin'] = set_combine(sets.midcast.ConserveMP, {
	    main="Oranyan",	
	    head="Telchine Cap",
		body="Telchine Chasuble",
		hands="Telchine Gloves",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})	
	sets.midcast['Aquaveil'] = set_combine(sets.midcast.ConserveMP, { 
 	    main="Oranyan",	
	    head="Amalric Coif",
		body="Telchine Chasuble",
		hands="Telchine Gloves",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})     
	sets.midcast['Refresh'] = set_combine(sets.midcast.ConserveMP, { 
 	    main="Oranyan",	
	    head="Amalric Coif",
		body="Telchine Chasuble",
		hands="Telchine Gloves",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})  		
-- Enfeebling Magic --	
    sets.midcast.Enfeebling = {
	    main=gear.Debuff_Staff,
        sub="Clerisy Strap +1",
        ammo="Pemphredo Tathlum",
	    head="Amalric Coif",		
        neck="Incanter's Torque",			
	    ear1="Dignitary's Earring",
	    ear2="Gwati Earring",
        body=gear.Macc_Body,
        hands="Kaykaus Cuffs +1",
	    ring1="Stikini Ring",
	    ring2="Stikini Ring",
		back="Lugh's Cape",
	    waist="Porous Rope",
		legs="Psycloth Lappas",
	    feet="Skaoi Boots"}	
    sets.midcast.Enfeebling.MND = set_combine(sets.midcast.Enfeebling, {Head="Befouled Crown", waist="Luminary Sash"})
    sets.midcast.Enfeebling.INT = set_combine(sets.midcast.Enfeebling, {})		
-- Dark Magic --
    sets.midcast.Dark = {}
    sets.midcast.Drain = set_combine(sets.midcast.Recast, {legs="Merlinic Shalwar"})
    sets.midcast['Stun'] = set_combine(sets.midcast.Recast, {
	    main=gear.Debuff_Staff,
        sub="Clerisy Strap +1",
        ammo="Pemphredo Tathlum",
	    ring2="Stikini Ring",
		back="Lugh's Cape"})	
-- Elemental Magic --
    sets.midcast.Elemental = {
	    main="Mindmelter",
	    sub="Elder's Grip",
        ammo="Impatiens",		
	    head=gear.MB_Head,	
	    neck="Saevus Pendant +1",
	    ear1="Etiolation Earring",
	    ear2="Friomisi Earring",
	    body=gear.MB_Body,		
	    hands=gear.MB_Hands,
		ring1="Tamas Ring",
		ring2="Mujin Band",
	    back="Lugh's Cape",
	    waist="Aswang Sash",
	    legs="Amalric Slops",
	    feet=gear.MB_Feet}
	sets.midcast.Elemental.Weather = set_combine(sets.midcast.Elemental, {
	    back="Twilight Cape",
		waist="Hachirin-no-Obi"})
    sets.midcast.Elemental.Weather.Klimaform = set_combine(sets.midcast.Elemental.Weather, {
	    ear1="Static Earring",
		feet="Arbatel Loafers +1"})	
	sets.midcast.Elemental.Helix = set_combine(sets.midcast.Elemental, {back="Bookworm's Cape"})
    sets.midcast.Elemental.Helix.Weather = set_combine(sets.midcast.Elemental.Helix, {waist="Hachirin-no-Obi"})
    sets.midcast.Elemental.Helix.Weather.Klimaform = set_combine(sets.midcast.Elemental.Helix.Weather, {
	    ear1="Static Earring",
		feet="Arbatel Loafers +1"})	
	sets.midcast.Elemental.MB = set_combine(sets.midcast.Elemental, {})	
	sets.midcast.Elemental.MB.Weather = set_combine(sets.midcast.Elemental.MB, {
	    back="Twilight Cape",
		waist="Hachirin-no-Obi"})	
	sets.midcast.Elemental.MB.Weather.Klimaform = set_combine(sets.midcast.Elemental.MB.Weather, {
	    ear1="Static Earring",
		feet="Arbatel Loafers +1"})		
	sets.midcast['Impact'] = {
        main="Akademos", 
	    sub="Niobid Strap",
        range=empty,
        ammo="Pemphredo Tathlum",
	    head=empty,
	    neck="Mizukage-noKubikazari",
	    ear1="Barkarole Earring",
	    ear2="Friomisi Earring",
	    body="Twilight Cloak",
	    hands=gear.MB_Hands,
	    ring1="Locus Ring",
		ring2="Mujin Band",
	    back="Seshaw Cape +1",
	    waist="Refoccilation Stone",
	    legs="Merlinic Shalwar",
	    feet=gear.MB_Feet}			
---- Aftercast ----
    sets.aftercast = {}
    sets.aftercast.Idle = {
	    main="Tamaxchi",
	    sub="Sors Shield",
		ammo="Impatiens",
	    head="Befouled Crown",			
        neck="Saevus Pendant +1",
	    ear1="Etiolation Earring",
        ear2="Loquac. Earring",
        body="Jhakri Robe",
        hands="Jhakri Cuffs +1",
        ring1="Tamas Ring",
        ring2="Renaye Ring",		
	    back="Umbra Cape",
	    waist="Aswang Sash",
	    legs="Amalric Slops",
	    feet="Jhakri Pigaches +1",}
    sets.aftercast['Sublimation'] = set_combine(sets.aftercast.Idle, {})		
    sets.aftercast.Defense = set_combine(sets.aftercast.Idle, {
	    main="Terra's Staff",
	    ammo="Staunch Tathlum",		
	    ear1="Etiolation Earring",
	    feet="Herald's Gaiters"})		
    sets.aftercast.Town = {
	    head="Kaykaus Mitra +1",
		body="kaykaus Bliaut +1",
        hands="Kaykaus Cuffs +1",
		feet="Herald's Gaiters"}
    sets.resting = {}
end	
function pretarget(spell,action)
-- Auto-Echo drop :D --
    if spell.action_type == 'Magic' and buffactive['Silence'] then 
        cancel_spell()
        send_command('input /item "Echo Drops" <me>')
	end
end
---- .::Precast Functions::. ---->
-- Spells --
function precast(spell)	
    if spell.action_type == 'Magic' then
-- Healing Magic --	
        if string.find(spell.english,'Cure') then
	        equip(sets.precast.Cure)
	    elseif string.find(spell.english,'Cura') then
		    equip(sets.precast.Cure)
-- Enhancing Magic --		
        elseif spell.skill == 'Enhancing Magic' then
  	        equip(sets.precast.Enhancing) 
            if spell.english == 'Stoneskin' then
                equip(sets.precast[spell.english])
            end	
-- Elemental Magic --		
	    elseif spell.skill == 'Elemental Magic' then
	        equip(sets.precast.Elemental)
			if spell.english == 'Impact' then
			    equip(sets.precast.Impact)
			end				
        else
		    equip(sets.precast.FC)
		end	
-- Job Abilities --	
    elseif spell.type == 'JobAbility' then
        equip(sets.JA[spell.english])	
-- Weapon skills --
    elseif spell.type == 'WeaponSkill' then
        equip(sets.WS[spell.english])
    end		
end	
---- .::Midcast Functions::. ---->
function midcast(spell)
    if spell.action_type == 'Magic' then
-- Healing Magic --	
        if string.find(spell.english,'Cure') then
		    if WeaponLock == 'ON' then
	            equip(sets.midcast.Cure.WeaponLock)
	            if spell.element == world.weather_element or spell.element == world.day_element then
                    equip(sets.midcast.Cure.WeaponLock, {waist="Hachirin-no-Obi"})	
				end	
	        elseif spell.element == world.weather_element or spell.element == world.day_element then
                equip(sets.midcast.Cure.Weather)
            else
                equip(sets.midcast.Cure)			
			end					
-- Enhancing Magic --		
	    elseif spell.skill == 'Enhancing Magic' then		
            if buffactive['Perpetuance'] then
		    	equip(sets.midcast.Enhancing, {hands="Arbatel Bracers +1"})
                if string.find(spell.english, 'Regen') then
                    equip(sets.midcast.Regen, {hands="Arbatel Bracers +1"})	
                elseif spell.english == 'Aquaveil' then
                    equip(sets.midcast[spell.english], {hands="Arbatel Bracers +1"})	
                elseif spell.english == 'Refresh' then
                    equip(sets.midcast[spell.english], {hands="Arbatel Bracers +1"})						
                end
            elseif string.find(spell.english, 'Regen') then
                equip(sets.midcast.Regen)
            elseif string.find(spell.english, 'Aquaveil') then
                equip(sets.midcast[spell.english])
            elseif spell.english == 'Refresh' then
                equip(sets.midcast[spell.english])					
            elseif spell.english == 'Stoneskin'then	
                equip(sets.midcast[spell.english])	
            else
                equip(sets.midcast.Enhancing)			
            end
-- Enfeebling Magic --		
        elseif spell.skill == 'Enfeebling Magic' then
            equip(sets.midcast.Enfeebling)
            if enfMND:contains(spell.name) then
                equip(sets.midcast.Enfeebling.MND)	
            elseif enfINT:contains(spell.name) then
                equip(sets.midcast.Enfeebling.INT)					
		    end	
-- Dark Magic --		
        elseif string.find(spell.english, 'Aspir') then
            equip(sets.midcast.Drain)
        elseif string.find(spell.english, 'Drain') then
            equip(sets.midcast.Drain)
        elseif spell.english == 'Stun' then
            if buffactive['Alacrity'] then
                equip(sets.midcast.Dark.Stun, {feet="Pedagogy Loafers +1"})	
			else
                equip(sets.midcast['Stun'])			
			end   
-- Elemental Magic --		
        elseif spell.skill == 'Elemental Magic' then
		    if spell.english == 'Impact' then
				equip(sets.midcast['Impact'])		
	        elseif MagicArray[MagicIndex] == 'Normal' then
		        equip(sets.midcast.Elemental)				
	            if spell.element == world.weather_element or spell.element == world.day_element then	
                    equip(sets.midcast.Elemental.Weather)
					if buffactive['Klimaform'] then
                        equip(sets.midcast.Elemental.Weather.Klimaform)					    
				    elseif string.find(spell.english,'helix') then
	                    equip(sets.midcast.Elemental.Helix.Weather)
					    if buffactive['Klimaform'] then
                            equip(sets.midcast.Helix.Weather.Klimaform)	
						end	
				    end				
				elseif string.find(spell.english,'helix') then
                    equip(sets.midcast.Elemental.Helix)	
				end						
	        elseif MagicArray[MagicIndex] == 'Magic Burst' then
                equip(sets.midcast.Elemental.MB)			
	            if spell.element == world.weather_element or spell.element == world.day_element then	
                    equip(sets.midcast.Elemental.MB.Weather)
					if buffactive['Klimaform'] then
					    equip(sets.midcast.Elemental.MB.Weather.Klimaform)	
				    elseif string.find(spell.english,'helix') then
	                    equip(sets.midcast.Elemental.Helix.Weather)
					    if buffactive['Klimaform'] then
					        equip(sets.midcast.Elemental.Helix.Weather.Klimaform)
						end	
				    end	
			    elseif buffactive['Klimaform'] then
					equip(sets.midcast.Elemental.MB.Klimaform)					
				elseif string.find(spell.english,'helix') then
                    equip(sets.midcast.Elemental.Helix)						
				end	
			end	
		end	
	end
end			
---- .::Aftercast Sets::. ---->
function aftercast(spell,action)
    equip(sets.aftercast.Defense)
-- Capacity Idle Rule --	
	if Capacity == 'ON' then
	    equip(sets.aftercast.Defense, {back="Mecisto. Mantle"})	
        if buffactive['Sublimation: Activated'] then
            equip(sets.aftercast.Sublimation, {back="Mecisto. Mantle"})		
		elseif player.mpp <80 then
            equip(sets.aftercast.Idle, {back="Mecisto. Mantle"})
            if player.mpp <50 then
                equip(sets.aftercast.Idle, {back="Mecisto. Mantle",waist="Fucho-no-obi"})   
		    end
	    end	
	    status_change(player.status)	
    elseif buffactive['Sublimation: Activated'] then
        equip(sets.aftercast.Sublimation)
	    status_change(player.status)			
	elseif player.mpp <80 then
            equip(sets.aftercast.Idle)
        if player.mpp <50 then
            equip(sets.aftercast.Idle, {waist="Fucho-no-obi"})    
		end
	    status_change(player.status)		
	elseif Town:contains(world.zone) then
        equip(sets.aftercast.Idle.Town)
    end	
	status_change(player.status)	
end			
---- .::Status Changes::. ---->
function status_change(new,tab,old)
    if new == 'Idle' then
	    if Capacity == 'ON' then
	        equip(sets.aftercast.Defense, {back="Mecisto. Mantle"})	
            if buffactive['Sublimation: Activated'] then
                equip(sets.aftercast.Sublimation, {back="Mecisto. Mantle"})				
		    elseif player.mpp <80 then
                equip(sets.aftercast.Idle, {back="Mecisto. Mantle"})
                if player.mpp <50 then
                    equip(sets.aftercast.Idle, {back="Mecisto. Mantle",waist="Fucho-no-obi"})   
		        end
	        end	
        elseif buffactive['Sublimation: Activated'] then
            equip(sets.aftercast.Sublimation)			
	    elseif player.mpp <80 then
            equip(sets.aftercast.Idle)
            if player.mpp <50 then
                equip(sets.aftercast.Idle, {waist="Fucho-no-obi"})    
		    end	
	    elseif Town:contains(world.zone) then
            equip(sets.aftercast.Town)
        end	
	end	
	if new == 'Resting' then
		equip(sets.resting)	
    end
end
--- ..:: Modes functions ::.. --->
function self_command(command)	
	if command == 'C1' then -- Magic Acc Cycle --		
        MagicIndex = (MagicIndex % #MagicArray) + 1
        add_to_chat(158,'Magic Set: ' .. MagicArray[MagicIndex])
        status_change(player.status)
    elseif command == 'C10' then -- Weapon Lock toggle --
        if WeaponLock == 'ON' then
            WeaponLock = 'OFF'
            enable('main', 'sub' ,'range')				
            add_to_chat(123,'Weapon Lock: [OFF]')
        else
            WeaponLock = 'ON'
            disable('main', 'sub' ,'range')			
            add_to_chat(158,'Weapon Lock: [ON]')
        end
        status_change(player.status)		
    elseif command == 'C11' then -- Capacity toggle --
        if Capacity == 'ON' then
            Capacity = 'OFF'
            add_to_chat(123,'Capacity Set: [OFF]')
        else
            Capacity = 'ON'
            add_to_chat(158,'Capacity Set: [ON]')
        end
        status_change(player.status)
	end	
end	
-- Automatically changes Idle gears if you zone in or out of town --
windower.register_event('zone change', function()
	if Town:contains(world.zone) then
        equip(sets.aftercast.Town)
    else
        equip(sets.aftercast.Defense)
    end	
end)
Offline
Posts: 3
By Upstartgoblin 2016-08-06 13:38:48  
Upstartgoblin said: »
So I am having an issue where I will nuke and it equips my 2 hand staff and grip. But when going back to idle it only quips Sors shield. Any help appreciated. Also is there any way someone can help me add strat counter to this?
Code
----- Credit: Krystela of Asura | Last Update: 27 July 2016 ---->
---- .:: This was entirely created by me, it's not based off anyone's file ::. ---->
---- Always visit http://pastebin.com/u/KrystelaRose to look for possible updates ---->
---- .:: Please leave credit where it's due ::. ---->
---- .:: If you have any problem contact me via ffxiah: http://www.ffxiah.com/player/Asura/Krystela ::. ---->

function user_unload()
    send_command('unbind ^f1')
    send_command('unbind ^f10')
    send_command('unbind ^f11')		
end	
function get_sets()
-- Binds for modes
    send_command('bind ^f1 gs c C1')
	send_command('bind ^f10 gs c C10')
	send_command('bind ^f11 gs c C11')
-- Modes --
    MagicIndex = 1
    MagicArray = {"Normal","Magic Burst"} -- Press ctrl +F1 to circle through Magic modes --
	WeaponLock = 'OFF' -- Press ctrl + F10 to Lock Weapon/sub/range/ammo --	
	Capacity = 'OFF' -- Press Ctrl +F11 to have Capacity cape on while Idle --
-- Gears --
    gear = {}
	gear.Debuff_Staff = { name="Grioavolr", augments={'"Conserve MP"+1','INT+2','Mag. Acc.+30',}}	
	gear.FC_Body = { name="Merlinic Jubbah", augments={'"Fast Cast"+6',}}
	gear.FC_Feet = { name="Amalric Nails",}
	gear.Macc_Body = { name="Jhakri Robe",}
    gear.MB_Head = { name="Jhakri Coronal +1",}
	gear.MB_Body = { name="Count's Garb",}
    gear.MB_Feet = { name="Jhakri Pigaches +1",}	
    gear.Death_Hands = { name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}}
    gear.MB_Hands =	{ name="Jhakri Cuffs +1",}	
-- Set macro book/set --
    send_command('input /macro book 1;wait .1;input /macro set 1') -- set macro book/set here --
---- .::Spellmaps::. ---->		
    enfMND = S{'Paralyze','Slow'}
    enfINT = S{'Blind'}		
	-- Area mapping --	
    Town = S{"Ru'Lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno","Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
	         "Port San d'Oria","Northern San d'Oria","Southern San d'Oria","Port Bastok","Bastok Markets","Bastok Mines","Metalworks","Aht Urhgan Whitegate",
	         "Tavnazian Safehold","Nashmau","Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham","Heavens Tower"}
    Assault = S{"Leujaoam Sanctum","Mamool Ja Training Grounds","Lebros Cavern","Periqia","Ilrusi Atoll",
                "Nyzul Isle","Bhaflau Remnants","Arrapago Remnants","Silver Sea Remnants","Zhayolm Remnants"}
---- Precast ----
    sets.precast = {}
    sets.precast.FC = {
	    main="Grioavolr",
		sub="Clerisy Strap +1",
        ammo="Impatiens",
        head="Amalric Coif",
        neck="Voltsurge Torque",
        ear1="Loquac. Earring",
        ear2="Etiolation Earring",
        body=gear.FC_Body,
        hands="Gende. Gages +1",
        ring1="Prolix Ring",
		ring2="Renaye Ring",
        back="Swith Cape +1",
        waist="Witful Belt",
		legs="Psycloth Lappas",
        feet=gear.FC_Feet}
    sets.precast.Cure = set_combine(sets.precast.FC, {
	    main="Gada",
		sub="Sors Shield"})		
    sets.precast.Enhancing = set_combine(sets.precast.FC, {})
    sets.precast['Stoneskin'] = set_combine(sets.precast.FC, {})
	sets.precast.Elemental = set_combine(sets.precast.FC, {})
	sets.precast['Impact'] = {
	    main="Mindmelter",
		sub="Elder's Grip",
		ammo="Impatiens",
        head=empty,
		neck="Voltsurge Torque",
        ear1="Loquac. Earring",
        ear2="Enchntr. Earring +1",
        body="Twilight Cloak",
        hands="Gende. Gages +1",
        ring1="Prolix Ring",
        ring2="Lebeche Ring",
        back="Perimede Cape",
        waist="Witful Belt",
		legs="Psycloth Lappas",
        feet=gear.FC_Feet}	
-- Job Abilities --
	sets.JA = {}
	sets.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}
-- WS sets --
	sets.WS = {}
	sets.WS['Myrkr'] = {
	    ammo="Psilomene",
        head="Pixie Hairpin +1",
		neck="Dualism Collar +1",
	    ear1="Gifted Earring",
	    ear2="Etiolation Earring",
	    body="Weather. Robe +1",
	    hands="Otomi Gloves",
	    ring1="Mephitas's Ring +1",
	    ring2="Mephitas's Ring",
	    back="Pahtli Cape",
	    waist="Shinjutsu-no-Obi",
	    legs="Amalric Slops",
	    feet="Psycloth Boots"}
    sets.midcast = {}
-- Base Set --
    sets.midcast.Recast = {
	    main="Grioavolr",
		sub="Clerisy Strap +1",
        ammo="Sapience Orb",
        head="Amalric Coif",
        neck="Voltsurge Torque",
        ear1="Loquac. Earring",
        ear2="Enchntr. Earring +1",
        body=gear.FC_Body,
        hands="Merlinic Dastanas",
        ring1="Prolix Ring",
        back="Lugh's Cape",
        waist="Witful Belt",
		legs="Psycloth Lappas",
        feet=gear.FC_Feet}
    sets.midcast.ConserveMP = {
	    main="Grioavolr",
		sub="Clerisy Strap +1",
		ammo="Pemphredo Tathlum",
		head="Ipoca Beret",
		neck="Incanter's Torque",
		ear1="Gwati Earring",
		ear2="Gifted Earring",
		body="Witching Robe",
		back="Seshaw Cape +1",
		waist="Luminary Sash",
		legs="Vanya Slops",
		feet="Kaykaus Boots +1"}
-- Healing Magic --
    sets.midcast.Cure = {
	    main="Tamaxchi",
		sub="Sors Shield",	
		ammo="Pemphedro Tathlum",
		head="Kaykaus Mitra +1",
        neck="Incanter's Torque",
		ear1="Healing Earring",
        ear2="Beatific Earring",		
        body="Kaykaus Bliaut +1",
        hands="Telchine Gloves",
        ring1="Haoma's Ring",
        ring2="Janniston Ring",
        back="Tempered Cape +1",
        waist="Luminary Sash",
        legs="Vanya Slops",
        feet="Kaykaus Boots +1"}
    sets.midcast.Cure.WeaponLock = {	
		ammo="Pemphedro Tathlum",
		head="Kaykaus Mitra +1",
        neck="Incanter's Torque",	
		ear1="Healing Earring",
        ear2="Beatific Earring",		
        body="Chironic Doublet",
        hands="Telchine Gloves",
        ring1="Janniston Ring",
        ring2="Lebeche Ring",
        back="Tempered Cape +1",
        waist="Luminary Sash",
        legs="Chironic Hose",
        feet="Kaykaus Boots +1"}
	sets.midcast.Cure.Weather =  {
	    main="Chatoyant Staff",
		sub="Achaq Grip",	
		ammo="Pemphedro Tathlum",
		head="Kaykaus Mitra +1",
        neck="Incanter's Torque",	
		ear1="Healing Earring",
        ear2="Beatific Earring",		
        body="Kaykaus Bliaut +1",
        hands="Telchine Gloves",
        ring1="Haoma's Ring",
        ring2="Janniston Ring",
        back="Twilight Cape",
        waist="Hachirin-no-Obi",
        legs="Chironic Hose",
        feet="Kaykaus Boots +1"}
    sets.midcast.Enhancing = set_combine(sets.midcast.ConserveMP, {
	    main="Oranyan",
	    sub="Clerisy Strap",	
	    head="Telchine Cap",
		neck="Incanter's Torque",
		ear1="Andoaa Earring",
		body="Telchine Chasuble",
		hands="Telchine Gloves",
        ring1="Stikini Ring",
        ring2="Stikini Ring",
        back="Perimede Cape",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})	
	sets.midcast.Regen = set_combine(sets.midcast.ConserveMP, {
	    main="Bolelabunga",
        sub="Genmei Shield",		
		head="Telchine Cap",
		body="Telchine Chasuble",
		hands="Telchine Gloves",
	    back="Lugh's Cape",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})		
    sets.midcast['Stoneskin'] = set_combine(sets.midcast.ConserveMP, {
	    main="Oranyan",	
	    head="Telchine Cap",
		body="Telchine Chasuble",
		hands="Telchine Gloves",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})	
	sets.midcast['Aquaveil'] = set_combine(sets.midcast.ConserveMP, { 
 	    main="Oranyan",	
	    head="Amalric Coif",
		body="Telchine Chasuble",
		hands="Telchine Gloves",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})     
	sets.midcast['Refresh'] = set_combine(sets.midcast.ConserveMP, { 
 	    main="Oranyan",	
	    head="Amalric Coif",
		body="Telchine Chasuble",
		hands="Telchine Gloves",		
		legs="Telchine Braconi",
		feet="Telchine Pigaches"})  		
-- Enfeebling Magic --	
    sets.midcast.Enfeebling = {
	    main=gear.Debuff_Staff,
        sub="Clerisy Strap +1",
        ammo="Pemphredo Tathlum",
	    head="Amalric Coif",		
        neck="Incanter's Torque",			
	    ear1="Dignitary's Earring",
	    ear2="Gwati Earring",
        body=gear.Macc_Body,
        hands="Kaykaus Cuffs +1",
	    ring1="Stikini Ring",
	    ring2="Stikini Ring",
		back="Lugh's Cape",
	    waist="Porous Rope",
		legs="Psycloth Lappas",
	    feet="Skaoi Boots"}	
    sets.midcast.Enfeebling.MND = set_combine(sets.midcast.Enfeebling, {Head="Befouled Crown", waist="Luminary Sash"})
    sets.midcast.Enfeebling.INT = set_combine(sets.midcast.Enfeebling, {})		
-- Dark Magic --
    sets.midcast.Dark = {}
    sets.midcast.Drain = set_combine(sets.midcast.Recast, {legs="Merlinic Shalwar"})
    sets.midcast['Stun'] = set_combine(sets.midcast.Recast, {
	    main=gear.Debuff_Staff,
        sub="Clerisy Strap +1",
        ammo="Pemphredo Tathlum",
	    ring2="Stikini Ring",
		back="Lugh's Cape"})	
-- Elemental Magic --
    sets.midcast.Elemental = {
	    main="Mindmelter",
	    sub="Elder's Grip",
        ammo="Impatiens",		
	    head=gear.MB_Head,	
	    neck="Saevus Pendant +1",
	    ear1="Etiolation Earring",
	    ear2="Friomisi Earring",
	    body=gear.MB_Body,		
	    hands=gear.MB_Hands,
		ring1="Tamas Ring",
		ring2="Mujin Band",
	    back="Lugh's Cape",
	    waist="Aswang Sash",
	    legs="Amalric Slops",
	    feet=gear.MB_Feet}
	sets.midcast.Elemental.Weather = set_combine(sets.midcast.Elemental, {
	    back="Twilight Cape",
		waist="Hachirin-no-Obi"})
    sets.midcast.Elemental.Weather.Klimaform = set_combine(sets.midcast.Elemental.Weather, {
	    ear1="Static Earring",
		feet="Arbatel Loafers +1"})	
	sets.midcast.Elemental.Helix = set_combine(sets.midcast.Elemental, {back="Bookworm's Cape"})
    sets.midcast.Elemental.Helix.Weather = set_combine(sets.midcast.Elemental.Helix, {waist="Hachirin-no-Obi"})
    sets.midcast.Elemental.Helix.Weather.Klimaform = set_combine(sets.midcast.Elemental.Helix.Weather, {
	    ear1="Static Earring",
		feet="Arbatel Loafers +1"})	
	sets.midcast.Elemental.MB = set_combine(sets.midcast.Elemental, {})	
	sets.midcast.Elemental.MB.Weather = set_combine(sets.midcast.Elemental.MB, {
	    back="Twilight Cape",
		waist="Hachirin-no-Obi"})	
	sets.midcast.Elemental.MB.Weather.Klimaform = set_combine(sets.midcast.Elemental.MB.Weather, {
	    ear1="Static Earring",
		feet="Arbatel Loafers +1"})		
	sets.midcast['Impact'] = {
        main="Akademos", 
	    sub="Niobid Strap",
        range=empty,
        ammo="Pemphredo Tathlum",
	    head=empty,
	    neck="Mizukage-noKubikazari",
	    ear1="Barkarole Earring",
	    ear2="Friomisi Earring",
	    body="Twilight Cloak",
	    hands=gear.MB_Hands,
	    ring1="Locus Ring",
		ring2="Mujin Band",
	    back="Seshaw Cape +1",
	    waist="Refoccilation Stone",
	    legs="Merlinic Shalwar",
	    feet=gear.MB_Feet}			
---- Aftercast ----
    sets.aftercast = {}
    sets.aftercast.Idle = {
	    main="Tamaxchi",
	    sub="Sors Shield",
		ammo="Impatiens",
	    head="Befouled Crown",			
        neck="Saevus Pendant +1",
	    ear1="Etiolation Earring",
        ear2="Loquac. Earring",
        body="Jhakri Robe",
        hands="Jhakri Cuffs +1",
        ring1="Tamas Ring",
        ring2="Renaye Ring",		
	    back="Umbra Cape",
	    waist="Aswang Sash",
	    legs="Amalric Slops",
	    feet="Jhakri Pigaches +1",}
    sets.aftercast['Sublimation'] = set_combine(sets.aftercast.Idle, {})		
    sets.aftercast.Defense = set_combine(sets.aftercast.Idle, {
	    main="Terra's Staff",
	    ammo="Staunch Tathlum",		
	    ear1="Etiolation Earring",
	    feet="Herald's Gaiters"})		
    sets.aftercast.Town = {
	    head="Kaykaus Mitra +1",
		body="kaykaus Bliaut +1",
        hands="Kaykaus Cuffs +1",
		feet="Herald's Gaiters"}
    sets.resting = {}
end	
function pretarget(spell,action)
-- Auto-Echo drop :D --
    if spell.action_type == 'Magic' and buffactive['Silence'] then 
        cancel_spell()
        send_command('input /item "Echo Drops" <me>')
	end
end
---- .::Precast Functions::. ---->
-- Spells --
function precast(spell)	
    if spell.action_type == 'Magic' then
-- Healing Magic --	
        if string.find(spell.english,'Cure') then
	        equip(sets.precast.Cure)
	    elseif string.find(spell.english,'Cura') then
		    equip(sets.precast.Cure)
-- Enhancing Magic --		
        elseif spell.skill == 'Enhancing Magic' then
  	        equip(sets.precast.Enhancing) 
            if spell.english == 'Stoneskin' then
                equip(sets.precast[spell.english])
            end	
-- Elemental Magic --		
	    elseif spell.skill == 'Elemental Magic' then
	        equip(sets.precast.Elemental)
			if spell.english == 'Impact' then
			    equip(sets.precast.Impact)
			end				
        else
		    equip(sets.precast.FC)
		end	
-- Job Abilities --	
    elseif spell.type == 'JobAbility' then
        equip(sets.JA[spell.english])	
-- Weapon skills --
    elseif spell.type == 'WeaponSkill' then
        equip(sets.WS[spell.english])
    end		
end	
---- .::Midcast Functions::. ---->
function midcast(spell)
    if spell.action_type == 'Magic' then
-- Healing Magic --	
        if string.find(spell.english,'Cure') then
		    if WeaponLock == 'ON' then
	            equip(sets.midcast.Cure.WeaponLock)
	            if spell.element == world.weather_element or spell.element == world.day_element then
                    equip(sets.midcast.Cure.WeaponLock, {waist="Hachirin-no-Obi"})	
				end	
	        elseif spell.element == world.weather_element or spell.element == world.day_element then
                equip(sets.midcast.Cure.Weather)
            else
                equip(sets.midcast.Cure)			
			end					
-- Enhancing Magic --		
	    elseif spell.skill == 'Enhancing Magic' then		
            if buffactive['Perpetuance'] then
		    	equip(sets.midcast.Enhancing, {hands="Arbatel Bracers +1"})
                if string.find(spell.english, 'Regen') then
                    equip(sets.midcast.Regen, {hands="Arbatel Bracers +1"})	
                elseif spell.english == 'Aquaveil' then
                    equip(sets.midcast[spell.english], {hands="Arbatel Bracers +1"})	
                elseif spell.english == 'Refresh' then
                    equip(sets.midcast[spell.english], {hands="Arbatel Bracers +1"})						
                end
            elseif string.find(spell.english, 'Regen') then
                equip(sets.midcast.Regen)
            elseif string.find(spell.english, 'Aquaveil') then
                equip(sets.midcast[spell.english])
            elseif spell.english == 'Refresh' then
                equip(sets.midcast[spell.english])					
            elseif spell.english == 'Stoneskin'then	
                equip(sets.midcast[spell.english])	
            else
                equip(sets.midcast.Enhancing)			
            end
-- Enfeebling Magic --		
        elseif spell.skill == 'Enfeebling Magic' then
            equip(sets.midcast.Enfeebling)
            if enfMND:contains(spell.name) then
                equip(sets.midcast.Enfeebling.MND)	
            elseif enfINT:contains(spell.name) then
                equip(sets.midcast.Enfeebling.INT)					
		    end	
-- Dark Magic --		
        elseif string.find(spell.english, 'Aspir') then
            equip(sets.midcast.Drain)
        elseif string.find(spell.english, 'Drain') then
            equip(sets.midcast.Drain)
        elseif spell.english == 'Stun' then
            if buffactive['Alacrity'] then
                equip(sets.midcast.Dark.Stun, {feet="Pedagogy Loafers +1"})	
			else
                equip(sets.midcast['Stun'])			
			end   
-- Elemental Magic --		
        elseif spell.skill == 'Elemental Magic' then
		    if spell.english == 'Impact' then
				equip(sets.midcast['Impact'])		
	        elseif MagicArray[MagicIndex] == 'Normal' then
		        equip(sets.midcast.Elemental)				
	            if spell.element == world.weather_element or spell.element == world.day_element then	
                    equip(sets.midcast.Elemental.Weather)
					if buffactive['Klimaform'] then
                        equip(sets.midcast.Elemental.Weather.Klimaform)					    
				    elseif string.find(spell.english,'helix') then
	                    equip(sets.midcast.Elemental.Helix.Weather)
					    if buffactive['Klimaform'] then
                            equip(sets.midcast.Helix.Weather.Klimaform)	
						end	
				    end				
				elseif string.find(spell.english,'helix') then
                    equip(sets.midcast.Elemental.Helix)	
				end						
	        elseif MagicArray[MagicIndex] == 'Magic Burst' then
                equip(sets.midcast.Elemental.MB)			
	            if spell.element == world.weather_element or spell.element == world.day_element then	
                    equip(sets.midcast.Elemental.MB.Weather)
					if buffactive['Klimaform'] then
					    equip(sets.midcast.Elemental.MB.Weather.Klimaform)	
				    elseif string.find(spell.english,'helix') then
	                    equip(sets.midcast.Elemental.Helix.Weather)
					    if buffactive['Klimaform'] then
					        equip(sets.midcast.Elemental.Helix.Weather.Klimaform)
						end	
				    end	
			    elseif buffactive['Klimaform'] then
					equip(sets.midcast.Elemental.MB.Klimaform)					
				elseif string.find(spell.english,'helix') then
                    equip(sets.midcast.Elemental.Helix)						
				end	
			end	
		end	
	end
end			
---- .::Aftercast Sets::. ---->
function aftercast(spell,action)
    equip(sets.aftercast.Defense)
-- Capacity Idle Rule --	
	if Capacity == 'ON' then
	    equip(sets.aftercast.Defense, {back="Mecisto. Mantle"})	
        if buffactive['Sublimation: Activated'] then
            equip(sets.aftercast.Sublimation, {back="Mecisto. Mantle"})		
		elseif player.mpp <80 then
            equip(sets.aftercast.Idle, {back="Mecisto. Mantle"})
            if player.mpp <50 then
                equip(sets.aftercast.Idle, {back="Mecisto. Mantle",waist="Fucho-no-obi"})   
		    end
	    end	
	    status_change(player.status)	
    elseif buffactive['Sublimation: Activated'] then
        equip(sets.aftercast.Sublimation)
	    status_change(player.status)			
	elseif player.mpp <80 then
            equip(sets.aftercast.Idle)
        if player.mpp <50 then
            equip(sets.aftercast.Idle, {waist="Fucho-no-obi"})    
		end
	    status_change(player.status)		
	elseif Town:contains(world.zone) then
        equip(sets.aftercast.Idle.Town)
    end	
	status_change(player.status)	
end			
---- .::Status Changes::. ---->
function status_change(new,tab,old)
    if new == 'Idle' then
	    if Capacity == 'ON' then
	        equip(sets.aftercast.Defense, {back="Mecisto. Mantle"})	
            if buffactive['Sublimation: Activated'] then
                equip(sets.aftercast.Sublimation, {back="Mecisto. Mantle"})				
		    elseif player.mpp <80 then
                equip(sets.aftercast.Idle, {back="Mecisto. Mantle"})
                if player.mpp <50 then
                    equip(sets.aftercast.Idle, {back="Mecisto. Mantle",waist="Fucho-no-obi"})   
		        end
	        end	
        elseif buffactive['Sublimation: Activated'] then
            equip(sets.aftercast.Sublimation)			
	    elseif player.mpp <80 then
            equip(sets.aftercast.Idle)
            if player.mpp <50 then
                equip(sets.aftercast.Idle, {waist="Fucho-no-obi"})    
		    end	
	    elseif Town:contains(world.zone) then
            equip(sets.aftercast.Town)
        end	
	end	
	if new == 'Resting' then
		equip(sets.resting)	
    end
end
--- ..:: Modes functions ::.. --->
function self_command(command)	
	if command == 'C1' then -- Magic Acc Cycle --		
        MagicIndex = (MagicIndex % #MagicArray) + 1
        add_to_chat(158,'Magic Set: ' .. MagicArray[MagicIndex])
        status_change(player.status)
    elseif command == 'C10' then -- Weapon Lock toggle --
        if WeaponLock == 'ON' then
            WeaponLock = 'OFF'
            enable('main', 'sub' ,'range')				
            add_to_chat(123,'Weapon Lock: [OFF]')
        else
            WeaponLock = 'ON'
            disable('main', 'sub' ,'range')			
            add_to_chat(158,'Weapon Lock: [ON]')
        end
        status_change(player.status)		
    elseif command == 'C11' then -- Capacity toggle --
        if Capacity == 'ON' then
            Capacity = 'OFF'
            add_to_chat(123,'Capacity Set: [OFF]')
        else
            Capacity = 'ON'
            add_to_chat(158,'Capacity Set: [ON]')
        end
        status_change(player.status)
	end	
end	
-- Automatically changes Idle gears if you zone in or out of town --
windower.register_event('zone change', function()
	if Town:contains(world.zone) then
        equip(sets.aftercast.Town)
    else
        equip(sets.aftercast.Defense)
    end	
end)

Also doesnt seem to like the idle set at all doesnt equip random items ie feet or hands
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-08-06 14:37:41  
Your aftercast is equipping sets.aftercast.Defense, which has both Terra's Staff and Sors Shield. Sub is equipped after main, so this would remove your Terra's Staff. You don't hit any of your other rules unless your MP is less than 80%, you have Sublimation: Activated on, you're in CP mode, or you're in town. Should be fine if you just add a grip or sub=empty

By the way, your status_change function equips nothing unless you meet any of the aforementioned conditions. I also recommend cleaning up your aftercast/status_change:
Code
function aftercast(spell,action)
    status_change(player.status)
end

function status_change(new,tab,old)
    if new == 'Idle' then
        if player.mpp>80 then
            equip(sets.aftercast.Defense)
            if Town:contains(world.zone) then
                equip(sets.aftercast.Town)
            end 
        else    
            equip(sets.aftercast.Idle)
            if player.mpp<50 then
                equip({waist="Fucho-no-obi"})
            end
        end
        if Capacity == 'ON' then
            equip({back="Mecisto. Mantle"})
        end
        if buffactive['Sublimation: Activated'] then
            equip(sets.aftercast.Sublimation) 
        end
    elseif new == 'Resting' then
        equip(sets.resting) 
    end
end
 Ragnarok.Zuhra
Offline
サーバ: Ragnarok
Game: FFXI
user: azura84
Posts: 16
By Ragnarok.Zuhra 2016-08-11 16:07:38  
Bismarck.Speedyjim said: »
Hopefully somebody else, like Flippant, can find your issue. In the meantime, you can try my LUA and paste your gear sets over mine and test.


Hey I've been trying out your lua here and it seems to load ok but no matter how I change the macro books they always seem to load book 1,20. Any ideas?
 Ragnarok.Zuhra
Offline
サーバ: Ragnarok
Game: FFXI
user: azura84
Posts: 16
By Ragnarok.Zuhra 2016-08-11 16:17:08  
nevermind, after zoning it seemed to work fine.
 Asura.Yamoman
Offline
サーバ: Asura
Game: FFXI
user: Yamoman
Posts: 20
By Asura.Yamoman 2016-08-20 02:19:49  
Got some issues, i added all the files in Silvxiii/gearswap-scholarFFxi to my GS folder and just kept my SCH_gear should work no problems i assume,i load it says loaded succesfully but when i cast any spell ie sneak, i get
Gearswap lua runtime rror: gearswap/flow.lua:336
Gearswap has detected an error in the user function aftercast:
,,,, files x86)windower4/addons........../sch.lua:928: attemp to index global 'soloSC' (a nil value) error message
also did /console gs solosc1 fusion to see if working got same error cept last line was get_current_'strategem_count' (a nil value)
where did i mess up? thx
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-08-20 11:24:54  
There appears to be a table (soloSC) and function (get_current_strategem_count) missing in the files. Based on dates, it looks like he may have only updated one file without updating the other.
Log in to post.