Item Search
     
BG-Wiki Search
Page 250 of 302 FirstFirst ... 200 240 248 249 250 251 252 260 300 ... LastLast
Results 4981 to 5000 of 6036

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

  1. #4981
    Smells like Onions
    Join Date
    Mar 2011
    Posts
    2
    BG Level
    0
    FFXI Server
    Titan

    DNC lua issues, Climactic Flourish

    Hello all,
    Been having issues with motes dnc lua. Climactic Flourish doesn't swap Tiara when active. I'm not sure where the error lies. Any help is much appreciated. TY in advance
    Not able to share a link yet. Why i posted the actual file here.

    -------------------------------------------------------------------------------------------------------------------
    -- Setup functions for this job. Generally should not be modified.
    -------------------------------------------------------------------------------------------------------------------

    --[[
    Custom commands:

    gs c step
    Uses the currently configured step on the target, with either <t> or <stnpc> depending on setting.

    gs c step t
    Uses the currently configured step on the target, but forces use of <t>.


    Configuration commands:

    gs c cycle mainstep
    Cycles through the available steps to use as the primary step when using one of the above commands.

    gs c cycle altstep
    Cycles through the available steps to use for alternating with the configured main step.

    gs c toggle usealtstep
    Toggles whether or not to use an alternate step.

    gs c toggle selectsteptarget
    Toggles whether or not to use <stnpc> (as opposed to <t>) when using a step.
    --]]


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

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


    -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
    function job_setup()
    state.Buff['Climactic Flourish'] = buffactive['climactic flourish'] or false

    state.MainStep = M{['description']='Main Step', 'Box Step', 'Quickstep', 'Feather Step', 'Stutter Step'}
    state.AltStep = M{['description']='Alt Step', 'Quickstep', 'Feather Step', 'Stutter Step', 'Box Step'}
    state.UseAltStep = M(false, 'Use Alt Step')
    state.SelectStepTarget = M(false, 'Select Step Target')
    state.IgnoreTargetting = M(false, 'Ignore Targetting')

    state.CurrentStep = M{['description']='Current Step', 'Main', 'Alt'}
    state.SkillchainPending = M(false, 'Skillchain Pending')

    determine_haste_group()
    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.OffenseModeptions('Normal', 'Acc', 'Fodder')
    state.HybridModeptions('Normal', 'Evasion', 'PDT')
    state.WeaponskillModeptions('Normal', 'Acc', 'Fodder')
    state.PhysicalDefenseModeptions('Evasion', 'PDT')


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

    -- Additional local binds
    send_command('bind ^= gs c cycle mainstep')
    send_command('bind != gs c cycle altstep')
    send_command('bind ^- gs c toggle selectsteptarget')
    send_command('bind !- gs c toggle usealtstep')
    send_command('bind ^` input /ja "Chocobo Jig" <me>')
    send_command('bind !` input /ja "Chocobo Jig II" <me>')

    select_default_macro_book()
    end


    -- Called when this job file is unloaded (eg: job change)
    function user_unload()
    send_command('unbind ^`')
    send_command('unbind !`')
    send_command('unbind ^=')
    send_command('unbind !=')
    send_command('unbind ^-')
    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['No Foot Rise'] = {body="Horos Casaque"}

    sets.precast.JA['Trance'] = {head="Horos Tiara"}


    -- Waltz set (chr and vit)
    sets.precast.Waltz = {ammo="Sonia's Plectrum",
    head="Horos Tiara",ear1="Roundel Earring",
    body="Maxixi Casaque",hands="Buremte Gloves",ring1="Asklepian Ring",
    back="Toetapper Mantle",waist="Caudata Belt",legs="Nahtirah Trousers",feet="Maxixi Toe Shoes"}

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

    sets.precast.Samba = {head="Maxixi Tiara"}

    sets.precast.Jig = {legs="Horos Tights", feet="Maxixi Toe Shoes"}

    sets.precast.Step = {waist="Chaac Belt"}
    sets.precast.Step['Feather Step'] = {feet="Charis Shoes +2"}

    sets.precast.Flourish1 = {}
    sets.precast.Flourish1['Violent Flourish'] = {ear1="Psystorm Earring",ear2="Lifestorm Earring",
    body="Horos Casaque",hands="Buremte Gloves",ring2="Sangoma Ring",
    waist="Chaac Belt",legs="Iuitl Tights",feet="Iuitl Gaiters +1"} -- magic accuracy
    sets.precast.Flourish1['Desperate Flourish'] = {ammo="Charis Feather",
    head="Whirlpool Mask",neck="Ej Necklace",
    body="Horos Casaque",hands="Buremte Gloves",ring1="Beeline Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"} -- acc gear

    sets.precast.Flourish2 = {}
    sets.precast.Flourish2['Reverse Flourish'] = {hands="Charis Bangles +1",back="Toetapper Mantle"}

    sets.precast.Flourish3 = {}
    sets.precast.Flourish3['Striking Flourish'] = {body="Charis Casaque +2"}
    sets.precast.Flourish3['Climactic Flourish'] = {head="Maculele Tiara +1"}

    -- Fast cast sets for spells

    sets.precast.FC = {ammo="Impatiens",head="Haruspex Hat",ear2="Loquacious Earring",hands="Thaumas Gloves",ring1="Prolix Ring"}

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


    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {ammo="Thew Bomblet",
    head="Whirlpool Mask",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
    body="Qaaxo Harness",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist=gear.ElementalBelt,legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
    sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Honed Tathlum", back="Toetapper Mantle"})

    -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, {neck="Houyi's Gorget",
    hands="Iuitl Wristbands",ring1="Stormsoul Ring",
    waist="Caudata Belt",legs="Nahtirah Trousers"})
    sets.precast.WS['Exenterator'].Acc = set_combine(sets.precast.WS['Exenterator'], {ammo="Honed Tathlum", back="Toetapper Mantle"})
    sets.precast.WS['Exenterator'].Fodder = set_combine(sets.precast.WS['Exenterator'], {waist=gear.ElementalBelt})

    sets.precast.WS['Pyrrhic Kleos'] = set_combine(sets.precast.WS, {hands="Iuitl Wristbands"})
    sets.precast.WS['Pyrrhic Kleos'].Acc = set_combine(sets.precast.WS.Acc, {hands="Iuitl Wristbands"})

    sets.precast.WS['Evisceration'] = set_combine(sets.precast.WS, {
    main={ name="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Ginsen",
    head={ name="Taeon Chapeau", augments={'Accuracy+18 Attack+18','"Triple Atk."+2','STR+5 DEX+5',}},
    body={ name="Taeon Tabard", augments={'Accuracy+24','"Triple Atk."+2','Crit. hit damage +3%',}},
    hands={ name="Herculean Gloves", augments={'Accuracy+10','"Triple Atk."+3','DEX+9','Attack+13',}},
    legs={ name="Ta'lab Trousers", augments={'Accuracy+13','Mag. Evasion+14','Enmity-5','Crit.hit rate+2',}},
    feet={ name="Adhemar Gamashes", augments={'DEX+10','AGI+10','Accuracy+15',}},
    neck="Agasaya's Collar",
    waist="Windbuffet Belt +1",
    left_ear="Assuage Earring",
    right_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +25',}},
    left_ring="Ramuh Ring +1",
    right_ring="Epona's Ring",
    back="Grounded Mantle",})
    sets.precast.WS['Evisceration'].Acc = set_combine(sets.precast.WS['Evisceration'], {ammo="Honed Tathlum", back="Toetapper Mantle"})

    sets.precast.WS["Rudra's Storm"] = set_combine(sets.precast.WS, {
    main={ name="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Falcon Eye",
    head={ name="Lilitu Headpiece", augments={'STR+10','DEX+10','Attack+15','Weapon skill damage +3%',}},
    body={ name="Taeon Tabard", augments={'Accuracy+24','"Triple Atk."+2','Crit. hit damage +3%',}},
    hands={ name="Adhemar Wristbands", augments={'DEX+10','AGI+10','Accuracy+15',}},
    legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Tripl e Atk."+3',}},
    feet={ name="Adhemar Gamashes", augments={'DEX+10','AGI+10','Accuracy+15',}},
    neck="Caro Necklace",
    waist="Fotia Belt",
    left_ear="Ishvara Earring",
    right_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +25',}},
    left_ring="Ramuh Ring +1",
    right_ring="Apate Ring",
    back="Vespid Mantle",})
    sets.precast.WS["Rudra's Storm"].Acc = set_combine(sets.precast.WS["Rudra's Storm"], {ammo="Honed Tathlum", back="Toetapper Mantle"})

    sets.precast.WS['Aeolian Edge'] = {
    main={ name="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Ghastly Tathlum +1",
    head={ name="Herculean Helm", augments={'Accuracy+24','"Triple Atk."+3','Attack+15',}},
    body={ name="Samnuha Coat", augments={'Mag. Acc.+13','"Mag.Atk.Bns."+14','"Fast Cast"+3','"Dual Wield"+4',}},
    hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
    legs={ name="Herculean Trousers", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','Weapon skill damage +3%','INT+8','Mag. Acc.+7',}},
    feet={ name="Adhemar Gamashes", augments={'DEX+10','AGI+10','Accuracy+15',}},
    neck="Sanctity Necklace",
    waist="Chaac Belt",
    left_ear="Crematio Earring",
    right_ear="Hermetic Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back="Vespid Mantle",}

    sets.precast.Skillchain = {head="Maculele Tiara +1"}


    -- Midcast Sets

    sets.midcast.FastRecast = {
    head="Felistris Mask",ear2="Loquacious Earring",
    body="Iuitl Vest",hands="Iuitl Wristbands",
    legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}

    -- Specific spells
    sets.midcast.Utsusemi = {
    head="Felistris Mask",neck="Ej Necklace",ear2="Loquacious Earring",
    body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Beeline Ring",
    back="Toetapper Mantle",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}


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

    -- Resting sets
    sets.resting = {head="Ocelomeh Headpiece +1",neck="Wiglen Gorget",
    ring1="Sheltered Ring",ring2="Paguroidea Ring"}
    sets.ExtraRegen = {head="Ocelomeh Headpiece +1"}


    -- Idle sets

    sets.idle = {
    main={ name="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Falcon Eye",
    head={ name="Dampening Tam", augments={'DEX+9','Accuracy+13','Mag. Acc.+14','Quadruple Attack +2',}},
    body="Emet Harness +1",
    hands="Umuthi Gloves",
    legs={ name="Herculean Trousers", augments={'Accuracy+23 Attack+23','"Triple Atk."+3','Accuracy+9',}},
    feet="Skd. Jambeaux +1",
    neck="Twilight Torque",
    waist="Flume Belt",
    left_ear="Dudgeon Earring",
    right_ear="Heartseeker Earring",
    left_ring="Defending Ring",
    right_ring="Paguroidea Ring",
    back="Shadow Mantle",}

    sets.idle.Town = {main="Izhiikoh", sub="Sabebus",ammo="Charis Feather",
    head="Whirlpool Mask",neck="Charis Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs="Kaabnax Trousers",feet="Skadi's Jambeaux +1"}

    sets.idle.Weak = {ammo="Iron Gobbet",
    head="Felistris Mask",neck="Wiglen Gorget",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Buremte Gloves",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    back="Shadow Mantle",waist="Flume Belt",legs="Kaabnax Trousers",feet="Skadi's Jambeaux +1"}

    -- Defense sets

    sets.defense.Evasion = {
    head="Felistris Mask",neck="Ej Necklace",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2=gear.DarkRing.physical,
    back="Toetapper Mantle",waist="Flume Belt",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}

    sets.defense.PDT = {ammo="Iron Gobbet",
    head="Felistris Mask",neck="Twilight Torque",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Defending Ring",ring2=gear.DarkRing.physical,
    back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}

    sets.defense.MDT = {ammo="Demonry Stone",
    head="Wayfarer Circlet",neck="Twilight Torque",
    body="Qaaxo Harness",hands="Wayfarer Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
    back="Engulfer Cape",waist="Flume Belt",legs="Wayfarer Slops",feet="Wayfarer Clogs"}

    sets.Kiting = {feet="Skadi's Jambeaux +1"}

    -- 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="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Falcon Eye",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Rawhide Vest", augments={'HP+50','"Subtle Blow"+7','"Triple Atk."+2',}},
    hands={ name="Adhemar Wristbands", augments={'DEX+10','AGI+10','Accuracy+15',}},
    legs={ name="Taeon Tights", augments={'Accuracy+18 Attack+18','"Dual Wield"+5','DEX+4',}},
    feet={ name="Taeon Boots", augments={'Accuracy+17','"Triple Atk."+2','STR+10',}},
    neck="Asperity Necklace",
    waist="Patentia Sash",
    left_ear="Eabani Earring",
    right_ear="Suppanomimi",
    left_ring="Petrov Ring",
    right_ring="Epona's Ring",
    back="Bleating Mantle",}

    sets.engaged.Fodder = {ammo="Charis Feather",
    head="Felistris Mask",neck="Charis Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Charis Casaque +2",hands="Maxixi Bangles",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs=gear.AugQuiahuiz,feet="Horos Toe Shoes"}
    sets.engaged.Fodder.Evasion = {ammo="Charis Feather",
    head="Felistris Mask",neck="Charis Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Maxixi Bangles",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs=gear.AugQuiahuiz,feet="Horos Toe Shoes"}

    sets.engaged.Acc = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Charis Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Charis Casaque +2",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
    sets.engaged.Evasion = {ammo="Charis Feather",
    head="Felistris Mask",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Patentia Sash",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}
    sets.engaged.PDT = {ammo="Charis Feather",
    head="Felistris Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Patricius Ring",ring2="Epona's Ring",
    back="Shadow Mantle",waist="Patentia Sash",legs="Qaaxo Tights",feet="Iuitl Gaiters +1"}
    sets.engaged.Acc.Evasion = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
    sets.engaged.Acc.PDT = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Patricius Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}

    -- Custom melee group: High Haste (2x March or Haste)
    sets.engaged.HighHaste = {
    main={ name="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Ginsen",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Rawhide Vest", augments={'HP+50','"Subtle Blow"+7','"Triple Atk."+2',}},
    hands={ name="Herculean Gloves", augments={'Accuracy+10','"Triple Atk."+3','DEX+9','Attack+13',}},
    legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Tripl e Atk."+3',}},
    feet={ name="Taeon Boots", augments={'Accuracy+17','"Triple Atk."+2','STR+10',}},
    neck="Clotharius Torque",
    waist="Windbuffet Belt +1",
    left_ear="Dudgeon Earring",
    right_ear="Heartseeker Earring",
    left_ring="Petrov Ring",
    right_ring="Epona's Ring",
    back={ name="Toetapper Mantle", augments={'"Store TP"+4','"Dual Wield"+4','"Rev. Flourish"+18',}},}

    sets.engaged.Fodder.HighHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Charis Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Charis Casaque +2",hands="Maxixi Bangles",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs=gear.AugQuiahuiz,feet="Horos Toe Shoes"}
    sets.engaged.Fodder.Evasion.HighHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Charis Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Maxixi Bangles",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}

    sets.engaged.Acc.HighHaste = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
    sets.engaged.Evasion.HighHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Patentia Sash",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}
    sets.engaged.Acc.Evasion.HighHaste = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Ej Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
    sets.engaged.PDT.HighHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Patricius Ring",ring2="Epona's Ring",
    back="Shadow Mantle",waist="Patentia Sash",legs="Qaaxo Tights",feet="Iuitl Gaiters +1"}
    sets.engaged.Acc.PDT.HighHaste = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Twilight Torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Patricius Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}


    -- Custom melee group: Max Haste (2x March + Haste)
    sets.engaged.MaxHaste = {
    main={ name="Taming Sari", augments={'STR+10','DEX+10','DMG:+15','"Treasure Hunter"+1',}},
    sub={ name="Taming Sari", augments={'STR+9','DEX+8','DMG:+14',}},
    ammo="Ginsen",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Rawhide Vest", augments={'HP+50','"Subtle Blow"+7','"Triple Atk."+2',}},
    hands={ name="Herculean Gloves", augments={'Accuracy+10','"Triple Atk."+3','DEX+9','Attack+13',}},
    legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Tripl e Atk."+3',}},
    feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+2','Accuracy+10',}},
    neck="Clotharius Torque",
    waist="Windbuffet Belt +1",
    left_ear="Cessance Earring",
    right_ear="Brutal Earring",
    left_ring="Petrov Ring",
    right_ring="Epona's Ring",
    back="Bleating Mantle",}

    -- Getting Marches+Haste from Trust NPCs, doesn't cap delay.
    sets.engaged.Fodder.MaxHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Thaumas Coat",hands="Maxixi Bangles",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs=gear.AugQuiahuiz,feet="Horos Toe Shoes"}
    sets.engaged.Fodder.Evasion.MaxHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    body="Qaaxo Harness",hands="Maxixi Bangles",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Atheling Mantle",waist="Patentia Sash",legs="Kaabnax Trousers",feet="Manibozho Boots"}

    sets.engaged.Acc.MaxHaste = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}
    sets.engaged.Evasion.MaxHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Ej Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Windbuffet Belt",legs="Kaabnax Trousers",feet="Iuitl Gaiters +1"}
    sets.engaged.Acc.Evasion.MaxHaste = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Ej Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Kaabnax Trousers",feet="Qaaxo Leggings"}
    sets.engaged.PDT.MaxHaste = {ammo="Charis Feather",
    head="Felistris Mask",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    body="Qaaxo Harness",hands="Iuitl Wristbands",ring1="Patricius Ring",ring2="Epona's Ring",
    back="Shadow Mantle",waist="Windbuffet Belt",legs="Qaaxo Tights",feet="Iuitl Gaiters +1"}
    sets.engaged.Acc.PDT.MaxHaste = {ammo="Honed Tathlum",
    head="Whirlpool Mask",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Patricius Ring",ring2="Epona's Ring",
    back="Toetapper Mantle",waist="Hurch'lan Sash",legs="Qaaxo Tights",feet="Qaaxo Leggings"}



    -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
    sets.buff['Saber Dance'] = {legs="Horos Tights"}
    sets.buff['Climactic Flourish'] = {head="Maculele Tiara +1"}
    end


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

    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
    function job_precast(spell, action, spellMap, eventArgs)
    --auto_presto(spell)
    end


    function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.type == "WeaponSkill" then
    if state.Buff['Climactic Flourish'] then
    equip(sets.buff['Climactic Flourish'])
    end
    if state.SkillchainPending.value == true then
    equip(sets.precast.Skillchain)
    end
    end
    end


    -- Return true if we handled the aftercast work. Otherwise it will fall back
    -- to the general aftercast() code in Mote-Include.
    function job_aftercast(spell, action, spellMap, eventArgs)
    if not spell.interrupted then
    if spell.english == "Wild Flourish" then
    state.SkillchainPending:set()
    send_command('wait 5;gs c unset SkillchainPending')
    elseif spell.type:lower() == "weaponskill" then
    state.SkillchainPending:toggle()
    send_command('wait 6;gs c unset SkillchainPending')
    end
    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 we gain or lose any haste buffs, adjust which gear set we target.
    if S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then
    determine_haste_group()
    handle_equipping_gear(player.status)
    elseif buff == 'Saber Dance' or buff == 'Climactic Flourish' then
    handle_equipping_gear(player.status)
    end
    end


    function job_status_change(new_status, old_status)
    if new_status == 'Engaged' then
    determine_haste_group()
    end
    end


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

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


    function customize_idle_set(idleSet)
    if player.hpp < 80 and not areas.Cities:contains(world.area) then
    idleSet = set_combine(idleSet, sets.ExtraRegen)
    end

    return idleSet
    end

    function customize_melee_set(meleeSet)
    if state.DefenseMode.value ~= 'None' then
    if buffactive['saber dance'] then
    meleeSet = set_combine(meleeSet, sets.buff['Saber Dance'])
    end
    if state.Buff['Climactic Flourish'] then
    meleeSet = set_combine(meleeSet, sets.buff['Climactic Flourish'])
    end
    end

    return meleeSet
    end

    -- Handle auto-targetting based on local setup.
    function job_auto_change_target(spell, action, spellMap, eventArgs)
    if spell.type == 'Step' then
    if state.IgnoreTargetting.value == true then
    state.IgnoreTargetting:reset()
    eventArgs.handled = true
    end

    eventArgs.SelectNPCTargets = state.SelectStepTarget.value
    end
    end


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

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

    msg = msg .. ': '

    msg = msg .. state.OffenseMode.value
    if state.HybridMode.value ~= 'Normal' then
    msg = msg .. '/' .. state.HybridMode.value
    end
    msg = msg .. ', WS: ' .. state.WeaponskillMode.value

    if state.DefenseMode.value ~= 'None' then
    msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
    end

    if state.Kiting.value then
    msg = msg .. ', Kiting'
    end

    msg = msg .. ', ['..state.MainStep.current

    if state.UseAltStep.value == true then
    msg = msg .. '/'..state.AltStep.current
    end

    msg = msg .. ']'

    if state.SelectStepTarget.value == true then
    steps = steps..' (Targetted)'
    end

    add_to_chat(122, msg)

    eventArgs.handled = true
    end


    -------------------------------------------------------------------------------------------------------------------
    -- User self-commands.
    -------------------------------------------------------------------------------------------------------------------

    -- Called for custom player commands.
    function job_self_command(cmdParams, eventArgs)
    if cmdParams[1] == 'step' then
    if cmdParams[2] == 't' then
    state.IgnoreTargetting:set()
    end

    local doStep = ''
    if state.UseAltStep.value == true then
    doStep = state[state.CurrentStep.current..'Step'].current
    state.CurrentStep:cycle()
    else
    doStep = state.MainStep.current
    end

    send_command('@input /ja "'..doStep..'" <t>')
    end
    end

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

    function determine_haste_group()
    -- We have three groups of DW in gear: Charis body, Charis neck + DW earrings, and Patentia Sash.

    -- For high haste, we want to be able to drop one of the 10% groups (body, preferably).
    -- High haste buffs:
    -- 2x Marches + Haste
    -- 2x Marches + Haste Samba
    -- 1x March + Haste + Haste Samba
    -- Embrava + any other haste buff

    -- For max haste, we probably need to consider dropping all DW gear.
    -- Max haste buffs:
    -- Embrava + Haste/March + Haste Samba
    -- 2x March + Haste + Haste Samba

    classes.CustomMeleeGroups:clear()

    if buffactive.embrava and (buffactive.haste or buffactive.march) and buffactive['haste samba'] then
    classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.march == 2 and buffactive.haste and buffactive['haste samba'] then
    classes.CustomMeleeGroups:append('MaxHaste')
    elseif buffactive.embrava and (buffactive.haste or buffactive.march or buffactive['haste samba']) then
    classes.CustomMeleeGroups:append('HighHaste')
    elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
    classes.CustomMeleeGroups:append('HighHaste')
    elseif buffactive.march == 2 and (buffactive.haste or buffactive['haste samba']) then
    classes.CustomMeleeGroups:append('HighHaste')
    end
    end


    -- Automatically use Presto for steps when it's available and we have less than 3 finishing moves
    function auto_presto(spell)
    if spell.type == 'Step' then
    local allRecasts = windower.ffxi.get_ability_recasts()
    local prestoCooldown = allRecasts[236]
    local under3FMs = not buffactive['Finishing Move 3'] and not buffactive['Finishing Move 4'] and not buffactive['Finishing Move 5']

    if player.main_job_level >= 77 and prestoCooldown < 1 and under3FMs then
    cast_delay(1.1)
    send_command('@input /ja "Presto" <me>')
    end
    end
    end


    -- Select default macro book on initial load or subjob change.
    function select_default_macro_book()
    -- Default macro set/book
    if player.sub_job == 'WAR' then
    set_macro_page(3, 20)
    elseif player.sub_job == 'NIN' then
    set_macro_page(1, 20)
    elseif player.sub_job == 'SAM' then
    set_macro_page(2, 20)
    else
    set_macro_page(5, 20)
    end
    end

  2. #4982
    Relic Shield
    Join Date
    Sep 2007
    Posts
    1,740
    BG Level
    6
    FFXI Server
    Sylph

    Quote Originally Posted by Falkirk View Post
    It's true that Ready and Sic are "PetCommand"s - but what you actually want to check for is Tail Blow, Fireball, etc, which are "Monster" abilities.

    Change that section of your precast function so it reads:
    Code:
    elseif spell.type == "Monster" then
            equip(theReadyPrecastGearSetYouMade)
    end
    I swear I thought that I tried that code last night before making this post, I guess I didn't. This fixed it, thank you very much, kind sir.

  3. #4983
    RIDE ARMOR
    Join Date
    Dec 2015
    Posts
    11
    BG Level
    1

    Hello, i have a request please.

    I'm working on my lua BLM, i want to add a Cycle for use(or not) the AF Body during my nukes. I have 1 cycle already in CastingMode (Normal or MagicBurst) and i know than i could add 2 variables in for what i want (Normal, Magicburst, NormalBodyAF, MagicBurstBodyAF) but it's not very pleasant to use....

    So i would prefer to add a new cycle for choosing if i use the AFBody or not. I tried this :
    state.OffenseModeptions('Normal', 'None')
    state.CastingModeptions('Normal', 'MagicBurst')
    state.EquipBodyAFptions('BodyAF', 'AmalricBody')
    state.IdleModeptions('Normal', 'PDT')
    state.PhysicalDefenseModeptions('PDT')
    state.MagicalDefenseModeptions('MDT')

    I added " send_command('bind f3 gs c cycle EquipBodyAF')" in Mote-Globals and
    " state.EquipBodyAF = M{['description'] = 'EquipBodyAF'}" in Mote-include

    i created a set for using it : sets.midcast['Elemental Magic'].HighTierNuke.AmalricBody = set_combine( sets.midcast['Elemental Magic'].HighTierNuke, {body="Amalric Doublet +1"} )


    My problem is that when i cast HightierNuke, my body doesn't switch, it seems that GS doesn't recognize the set when i cast

    If you can help me, thanks a lot.

  4. #4984
    Relic Shield
    Join Date
    Feb 2012
    Posts
    1,909
    BG Level
    6

    So I got TH+2 on Herc boots, and have Chaac belt, which makes me want to utilize the "tag" function from my THF on my other jobs. But I can't find the code that's tagging things on my THF, I only see the fulltime/SATA code. So, what code do I need to use to toss a TH tagging function to my other jobs? I use Motenten's for all my jobs.

  5. #4985
    Bagel
    Join Date
    May 2010
    Posts
    1,277
    BG Level
    6
    FFXI Server
    Lakshmi

    Hello, my BLM script seems to have stopped working after I edited my gear earlier today. It doesn't change my gear to the midcast sets and immediately equips my aftercast sets. Could someone help me find out what happened?

    Code:
    -------------------------------------------------------------------------------------------------------------------
    -- Setup functions for this job.  Generally should not be modified.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Initialization function for this job file.
    function get_sets()
        mote_include_version = 2
        
        -- Load and initialize the include file.
        include('Mote-Include.lua')
    end
    
    
    -- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
    function job_setup()
    
    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', 'Proc')
        state.IdleMode:options('Normal', 'PDT')
        
        state.MagicBurst = M(false, 'Magic Burst')
    
        lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
            'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
            'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
            'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
            'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
    
        gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
        
        -- Additional local binds
        send_command('bind ^` input /ma Stun <t>')
        send_command('bind @` gs c activate MagicBurst')
    
        select_default_macro_book()
    end
    
    -- Called when this job file is unloaded (eg: job change)
    function user_unload()
        send_command('unbind ^`')
        send_command('unbind @`')
    end
    
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
        --------------------------------------
        -- Start defining the sets
        --------------------------------------
        
        ---- Precast Sets ----
        
        -- Precast sets to enhance JAs
        sets.precast.JA['Mana Wall'] = {feet="Wicce Sabots"}
    
        sets.precast.JA.Manafont = {body="Archmage's Coat"}
        
        -- equip to maximize HP (for Tarus) and minimize MP loss before using convert
        sets.precast.JA.Convert = {}
    
    
        -- Fast cast sets for spells
    
        sets.precast.FC = {ammo="Impatiens",
            head="Merlinic Hood",ear2="Loquacious Earring",
            body="Helios Jacket",hands="Helios Gloves",ring1="Lebeche Ring",ring2="Weatherspoon Ring",
            back="Swith Cape",waist="Witful Belt",legs="Psycloth Lappas",feet="Regal Pumps +1"}
    
        sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
    
        sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {head="Wicce Petasos", neck="Stoicheion Medal", feet="Spaekona's Sabots +1"})
    
        sets.precast.FC.Cure = set_combine(sets.precast.FC, {main="Serenity", body="Heka's Kalasiris", back="Pahtli Cape"})
    
        sets.precast.FC.Curaga = sets.precast.FC.Cure
    
        -- Weaponskill sets
        -- Default set for any weaponskill that isn't any more specifically defined
        sets.precast.WS = {
            head="Hagondes Hat +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
            body="Hagondes Coat +1",hands="Hagondes Cuffs +1",ring1="Rajas Ring",ring2="Icesoul Ring",
            back="Refraction Cape",waist="Cognition Belt",legs="Hagondes Pants +1",feet="Hagondes Sabots +1"}
    
        -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
        sets.precast.WS['Vidohunir'] = {ammo="Ghastly Tathlum",
            head="Merlinic Hood",neck="Serenity Necklace",ear1="Crematio Earring",ear2="Friomisi Earring",
            body="Witching Robe",hands="Helios Gloves",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
            back="Toro Cape",waist="Fotia Belt",legs="Merlinic Shalwar",feet="Helios Boots"}
        
        
        ---- Midcast Sets ----
    
        sets.midcast.FastRecast = {
            head="Merlinic Hood",ear2="Loquacious Earring",
            body="Helios Jacket",hands="Helios Gloves",ring1="Lebeche Ring",ring2="Weatherspoon Ring",
            back="Swith Cape",waist="Witful Belt",legs="Psycloth Lappas",feet="Regal Pumps +1"}
    
        sets.midcast.Cure = {main="Serenity",sub="Oneiros Grip",
            head="Merlinic Hood",neck="Phalaina Locket",ear1="Mendicant's Earring",ear2="Loquacious Earring",
            body="Heka's Kalasiris",hands="Helios Gloves",ring1="Lebeche Ring",ring2="Weatherspoon Ring",
            back="Pahtli Cape",waist=gear.ElementalObi,legs="Gyve Trousers",feet="Medium's Sabots"}
    
        sets.midcast.Curaga = sets.midcast.Cure
    
        sets.midcast['Enhancing Magic'] = {
            neck="Jeweled Collar",
            body="Telchine Chasuble",hands="Helios Gloves",
            legs="Gyve Trousers"}
        
        sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {head="Umuthi Hat",waist="Siegel Sash"})
    
        sets.midcast['Enfeebling Magic'] = {main="Keraunos",sub="Mephitis Grip",ammo="Hydrocera",
            head="Nahtirah Hat",neck="Sanctity Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
            body="Ischemia Chasu.",hands="Lurid Mitts",ring1="Weatherspoon Ring",ring2="Sangoma Ring",
            back="Bane Cape",legs="Psycloth Lappas",feet="Medium's Sabots"}
            
        sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
    
        sets.midcast['Dark Magic'] = {main="Rubicundity",sub="Genbu's Shield",ammo="Impatiens",
            head="Pixie Hairpin +1",neck="Jeweled Collar",ear1="Psystorm Earring",ear2="Lifestorm Earring",
            body="Helios Jacket",hands="Archmage's Gloves",ring1="Archon Ring",ring2="Weatherspoon Ring",
            back="Bane Cape",waist="Witful Belt",legs="Spaekona's Tonban +1",feet="Wicce Sabots"}
    
        sets.midcast.Drain = {main="Rubicundity",sub="Genbu's Shield",ammo="Impatiens",
            head="Pixie Hairpin +1",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
            body="Helios Jacket",hands="Archmage's Gloves",ring1="Archon Ring",ring2="Weatherspoon Ring",
            back="Bane Cape",waist="Fucho-no-Obi",legs="Spaekona's Tonban +1",feet="Wicce Sabots"}
        
        sets.midcast.Aspir = sets.midcast.Drain
    
        sets.midcast.Stun = {main="Keraunos",sub="Mephitis Grip",ammo="Impatiens",
            head="Merlinic Hood",neck="Jeweled Collar",ear1="Psystorm Earring",ear2="Lifestorm Earring",
            body="Helios Jacket",hands="Helios Gloves",ring1="Prolix Ring",ring2="Weatherspoon Ring",
            back="Swith Cape",waist="Witful Belt",legs="Psycloth  Lappas",feet="Regal Pumps +1"}
    
        sets.midcast.BardSong = {main="Keraunos",sub="Mephitis Grip",ammo="Impatiens",
            head="Nahtirah Hat",neck="Sanctity Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
            body="Helios Jacket",hands="Helios Gloves",ring1="Weatherspoon Ring",ring2="Sangoma Ring",
            back="Bane Cape",legs="Psycloth Lappas",feet="Helios Boots"}
    
    
        -- Elemental Magic sets
        
        sets.midcast['Elemental Magic'] = {main="Keraunos",sub="Niobid Strap",ammo="Ghastly Tathlum",
            head="Merlinic Hood",neck="Sanctity Necklace",ear1="Crematio Earring",ear2="Friomisi Earring",
            body="Spaekona's Coat +1",hands="Helios Gloves",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
            back="Toro Cape",waist=gear.ElementalObi,legs="Merlinic Shalwar",feet="Helios Boots"}
    
        sets.midcast['Elemental Magic'].Resistant = {main="Keraunos",sub="Niobid Strap",ammo="Ghastly Tathlum",
            head="Merlinic Hood",neck="Sanctity Necklace",ear1="Crematio Earring",ear2="Friomisi Earring",
            body="Psycloth Vest",hands="Helios Gloves",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
            back="Bane Cape",waist=gear.ElementalObi,legs="Merlinic Shalwar",feet="Helios Boots"}
    
        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'], {sub="Niobid Strap"})
    
    
        -- Minimal damage gear for procs.
        sets.midcast['Elemental Magic'].Proc = {main="Earth Staff", sub="Mephitis Grip",ammo="Impatiens",
            head="Nahtirah Hat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
            body="Ischemia Chasuble",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
            back="Swith Cape",waist="Witful Belt",legs="Nares Trews",feet="Regal Pumps +1"}
    
    
        
        -- Sets to return to when not performing an action.
        
        -- Resting sets
        sets.resting = {main="Keraunos",sub="Niobid Strap",ammo="Hydrocera",
            neck="Sanctity Necklace",
            body="Respite Cloak",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
            waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Herald's Gaiters"}
        
    
        -- Idle sets
        
        -- Normal refresh idle set
        sets.idle = {main="Keraunos",sub="Niobid Strap",ammo="Impatiens",
            neck="Sanctity Necklace",ear1="Mendicant's Earring",ear2="Loquacious Earring",
            body="Respite Cloak",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
            back="Umbra Cape",waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Herald's Gaiters"}
    
        -- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
        sets.idle.PDT = {main="Terra's Staff", sub="Oneiros Grip",ammo="Impatiens",
            head="Hagondes Hat +1",neck="Twilight Torque",ear1="Mendicant's Earring",ear2="Loquacious Earring",
            body="Hagondes Coat",hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
            back="Umbra Cape",waist="Fucho-no-Obi",legs="Hagondes Pants +1",feet="Herald's Gaiters"}
    
        -- Idle mode scopes:
        -- Idle mode when weak.
        sets.idle.Weak = {main="Terra's Staff",sub="Oneiros Grip",ammo="Impatiens",
            head="Hagondes Hat +1",neck="Twilight Torque",ear1="Mendicant's Earring",ear2="Loquacious Earring",
            body="Hagondes Coat +1",hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Paguroidea Ring",
            back="Umbra Cape",waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Hagondes Sabots +1"}
        
        -- Town gear.
        sets.idle.Town = {main="Keraunos", sub="Niobid Strap",ammo="Impatiens",
            neck="Sanctity Necklace",ear1="Mendicant's Earring",ear2="Loquacious Earring",
            body="Respite Cloak",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
            back="Umbra Cape",waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Herald's Gaiters"}
            
        -- Defense sets
    
        sets.defense.PDT = {main="Terra's Staff",sub="Oneiros Grip",
            head="Hagondes Hat +1",neck="Twilight Torque",
            body="Hagondes Coat +1",hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
            back="Umbra Cape",waist="Fucho-no-obi",legs="Hagondes Pants +1",feet="Hagondes Sabots +1"}
    
        sets.defense.MDT = {ammo="Ghastly Tathlum",
            head="Hagondes Hat +1",neck="Twilight Torque",
            body="Hagondes Coat +1",hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
            back="Solemnity Cape",waist="Fucho-no-Obi",legs="Hagondes Pants +1",feet="Hagondes Sabots +1"}
    
        sets.Kiting = {feet="Herald's Gaiters"}
    
        sets.latent_refresh = {waist="Fucho-no-obi"}
    
        -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
        
        sets.buff['Mana Wall'] = {feet="Wicce Sabots"}
    
        sets.magic_burst = {neck="Mizukage-no-Kubikazari"}
    
        -- 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 = {
            head="Hagondes Hat +1",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Cessance Earring",
            body="Hagondes Coat +1",hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
            back="Umbra Cape",waist="Ninurta's Sash",legs="Hagondes Pants +1",feet="Hagondes Sabots +1"}
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Job-specific hooks for standard casting events.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
    function job_precast(spell, action, spellMap, eventArgs)
        if spellMap == 'Cure' or spellMap == 'Curaga' then
            gear.default.obi_waist = "Witful Belt"
        elseif spell.skill == 'Elemental Magic' then
            gear.default.obi_waist = "Sekhmet Corset"
            if state.CastingMode.value == 'Proc' then
                classes.CustomClass = 'Proc'
            end
        end
    end
    
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
    
    end
    
    function job_post_midcast(spell, action, spellMap, eventArgs)
        if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
            equip(sets.magic_burst)
        end
    end
    
    function job_aftercast(spell, action, spellMap, eventArgs)
        -- Lock feet after using Mana Wall.
        if not spell.interrupted then
            if spell.english == 'Mana Wall' then
                enable('feet')
                equip(sets.buff['Mana Wall'])
                disable('feet')
            elseif spell.skill == 'Elemental Magic' then
                state.MagicBurst:reset()
            end
        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)
        -- Unlock feet when Mana Wall buff is lost.
        if buff == "Mana Wall" and not gain then
            enable('feet')
            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.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
            --[[ No real need to differentiate with current gear.
            if lowTierNukes:contains(spell.english) then
                return 'LowTierNuke'
            else
                return 'HighTierNuke'
            end
            --]]
        end
    end
    
    -- Modify the default idle set after it was constructed.
    function customize_idle_set(idleSet)
        if player.mpp < 51 then
            idleSet = set_combine(idleSet, sets.latent_refresh)
        end
        
        return idleSet
    end
    
    
    -- Function to display the current relevant user state when doing an update.
    function display_current_job_state(eventArgs)
        display_current_caster_state()
        eventArgs.handled = true
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Utility functions specific to this job.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Select default macro book on initial load or subjob change.
    function select_default_macro_book()
        set_macro_page(1, 15)
    end

  6. #4986
    Lygre
    Guest

    Code:
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
    
    end
    Assuming you're using Mote's includes, take this out and it should default back to Mote's midcast function which is appropriate for how your sets are defined.
    I think this blank midcast function is overwriting it.

  7. #4987
    Hydra
    Join Date
    Feb 2011
    Posts
    141
    BG Level
    3
    FFXI Server
    Odin

    Hey guys, it's probably something very menial, but I am trying Byrth's lua skill up file (https://github.com/smd111/Gearswap-Skillup), and it seems foolproof for everyone but myself, lol.

    I placed skillup.lua in Windower4 > AddOns > GearSwap > Data
    I go in to FFXI and type "//gs l skillup.lua" just as the description says.
    GearSwap says the file can't be found.

    I'm stuck, any help is appreciated. I've tried a couple things... but yeah.

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

    Quote Originally Posted by Fitch. View Post
    Hey guys, it's probably something very menial, but I am trying Byrth's lua skill up file (https://github.com/smd111/Gearswap-Skillup), and it seems foolproof for everyone but myself, lol.

    I placed skillup.lua in Windower4 > AddOns > GearSwap > Data
    I go in to FFXI and type "//gs l skillup.lua" just as the description says.
    GearSwap says the file can't be found.

    I'm stuck, any help is appreciated. I've tried a couple things... but yeah.
    1. its not byrth's its mine
    2. did you click on download ZIP
    3. the only file you need in your gearswap/data folder is skillup.lua for this to work do not have it in a sub folder unless it your in-game chars name
    -example: gearswap/data/Fitch/skillup.lua
    4. then you load it with:
    -in chat: "//gs l skillup.lua"
    -in windower command(when you press ~): "gs l skillup.lua"
    -from macro: "/command gs l skillup.lua"
    --no quotes

  9. #4989
    Bagel
    Join Date
    May 2010
    Posts
    1,277
    BG Level
    6
    FFXI Server
    Lakshmi

    Quote Originally Posted by Lygre View Post
    Code:
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
    
    end
    Assuming you're using Mote's includes, take this out and it should default back to Mote's midcast function which is appropriate for how your sets are defined.
    I think this blank midcast function is overwriting it.
    Thanks!

  10. #4990
    Hydra
    Join Date
    Feb 2011
    Posts
    141
    BG Level
    3
    FFXI Server
    Odin

    Spoiler: show
    Quote Originally Posted by dlsmd View Post
    1. its not byrth's its mine
    2. did you click on download ZIP
    3. the only file you need in your gearswap/data folder is skillup.lua for this to work do not have it in a sub folder unless it your in-game chars name
    -example: gearswap/data/Fitch/skillup.lua
    4. then you load it with:
    -in chat: "//gs l skillup.lua"
    -in windower command(when you press ~): "gs l skillup.lua"
    -from macro: "/command gs l skillup.lua"
    --no quotes


    Sorry, my mistake about the author!

    And the problem was I was trying to use the .lua in an old character's folder that had been left over for FFXI instead of the correct one. Your information lead me in to files, and I was like "wait a sec", lol. Thank you!

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

    Quote Originally Posted by Fitch. View Post
    Spoiler: show



    Sorry, my mistake about the author!

    And the problem was I was trying to use the .lua in an old character's folder that had been left over for FFXI instead of the correct one. Your information lead me in to files, and I was like "wait a sec", lol. Thank you!
    np and im glad its working now

  12. #4992
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Just noticed on my GEO lua that for some reason Bar spells aren't proccing the right set but the generic recast one instead

    Spoiler: show
    Code:
    function midcast(spell)
    	if sets.midcast[spell.english] then
    		equip(sets.midcast.recast, sets.midcast[spell.english])
    	elseif sets.midcast[spell.skill] then
    		equip(sets.midcast.recast, sets.midcast[spell.skill])
    	elseif spell.english:startswith('Cure') or spell.english:startswith('Cura') then
    		equip(sets.midcast.recast, sets.midcast.heal)
    	elseif spell.english:startswith('Bar') then
    		equip(sets.midcast.recast, sets.midcast['Phalanx'])
    	elseif 
    	
    		[cut]
    		
    	elseif spell.prefix == "/magic" then
    		equip(sets.midcast.recast)
    	end
    end


    Anybody got a clue what's wrong in there? I think it used to work, not sure when/how it broke but now that "elseif spell.english:startswith('Bar') then" produces a "false" result when I cast a bar spell and I don't understand why.

  13. #4993
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    As an alternate route I tried with "elseif string.find(spell.english,'Bar') then" instead of the startswith but the result is the same. I don't get it, what's wrong?

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

    Quote Originally Posted by Sechs View Post
    Just noticed on my GEO lua that for some reason Bar spells aren't proccing the right set but the generic recast one instead

    Spoiler: show
    Code:
    function midcast(spell)
        if sets.midcast[spell.english] then
            equip(sets.midcast.recast, sets.midcast[spell.english])
        elseif sets.midcast[spell.skill] then
            equip(sets.midcast.recast, sets.midcast[spell.skill])
        elseif spell.english:startswith('Cure') or spell.english:startswith('Cura') then
            equip(sets.midcast.recast, sets.midcast.heal)
        elseif spell.english:startswith('Bar') then
            equip(sets.midcast.recast, sets.midcast['Phalanx'])
        elseif 
        
            [cut]
            
        elseif spell.prefix == "/magic" then
            equip(sets.midcast.recast)
        end
    end


    Anybody got a clue what's wrong in there? I think it used to work, not sure when/how it broke but now that "elseif spell.english:startswith('Bar') then" produces a "false" result when I cast a bar spell and I don't understand why.
    1. do you have a set of sets.midcast["Enhancing Magic"] = {}
    2. elseif spell.english:startswith('Bar') then should work im betting its #1 not that it needs to be changed to string.find(spell.english,'Bar')

  15. #4995
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    DUH
    So dumb.
    Thanks for pointing that out, it was just a matter of ordering in the midcast.
    Of course the Bar line doesn't get processed, because the enhancing magic one is before that!

    Thanks, fixed it

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

    Quote Originally Posted by Sechs View Post
    DUH
    So dumb.
    Thanks for pointing that out, it was just a matter of ordering in the midcast.
    Of course the Bar line doesn't get processed, because the enhancing magic one is before that!

    Thanks, fixed it
    np i have done worse but im glad its fixed now

  17. #4997
    D. Ring
    Join Date
    Feb 2007
    Posts
    4,736
    BG Level
    7
    FFXI Server
    Quetzalcoatl

    I notice my blu capped haste set doesn't realize mighty guard exists. What is the check_buffs for that so I can fix it?

  18. #4998
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    When ever im writing or correcting my luas i constantly check the libs folder for things. check the buffs file there (i think its buff, just lookin at the lis tof luas or xmls there will let you know) search the file for mighty guard or similiar blue buffs and im sure you will find the specific name of the buff. This works for spells and other stuff as well (you have no idea how pissed i kept gettin when my code for temper wouldnt work properly til i realized the buff was called something else.). i am pretty sure the buff is the same name as the spell though.

    the other thing I would check is maybe your gearswap files didnt update properly. some people had the issue that mighty guard wasnt in the list of unbridled learning spells and had to add it. I know i had the problem when i used diffusion it would never equip the right armor for it when i used mighty guard only. i cant remember the specific file its in but u can just search "unbridaled" or something in each file and find it.

  19. #4999
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Ok, so I have to do something new that I've never done before. I can see multiple ways of doing it, need a bit of guidance and possibly tips on what would be the fastest way for Gearswap/addons to achieve this goal. Even half a second faster can mean a lot in this circumstance.

    Goal
    Make sure under a certain situation that strips my character of gear, the currently selected default TP set gets equipped again, like, instantly


    Trigger
    I can see two possible triggers that could make the action launch:
    1) TP Move name used in the chatlog (fastest way to read this would be? windower.raw_register_event() or windower.register_event()?)
    2) My HP falls under a certain %
    3) ??? something I didn't think of above?

    First method looks fine, but might not be enough. Because if it checks for the TP move in the chatlog, Gearswap might attempt to re-equip my set too fast (before it's actually been stripped).
    Second method looks ok but more dangerous (if I start being hit without gear, it might be too late for me to try to re-equip the set and hope to survive), it can also lead to some ambiguous situation (Gearswap attempting to re-equip my set even if it hasn't been stripped because my HP dropped for other reasons. Altough this by itself isn't really a big issue)


    With this be said, what do you guys suggest would be the most efficient way to achieve my goal? Any of the methods I thought of? Something else I didn't think of?

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

    Quote Originally Posted by Sechs View Post
    Ok, so I have to do something new that I've never done before. I can see multiple ways of doing it, need a bit of guidance and possibly tips on what would be the fastest way for Gearswap/addons to achieve this goal. Even half a second faster can mean a lot in this circumstance.

    Goal
    Make sure under a certain situation that strips my character of gear, the currently selected default TP set gets equipped again, like, instantly

    Trigger
    I can see two possible triggers that could make the action launch:
    1) TP Move name used in the chatlog (fastest way to read this would be? windower.raw_register_event() or windower.register_event()?)
    2) My HP falls under a certain %
    3) ??? something I didn't think of above?

    First method looks fine, but might not be enough. Because if it checks for the TP move in the chatlog, Gearswap might attempt to re-equip my set too fast (before it's actually been stripped).
    Second method looks ok but more dangerous (if I start being hit without gear, it might be too late for me to try to re-equip the set and hope to survive), it can also lead to some ambiguous situation (Gearswap attempting to re-equip my set even if it hasn't been stripped because my HP dropped for other reasons. Altough this by itself isn't really a big issue)


    With this be said, what do you guys suggest would be the most efficient way to achieve my goal? Any of the methods I thought of? Something else I didn't think of?


    if you can figure out which of these packets and what in it shows your info you can do it
    Code:
    windower.raw_register_event('incoming chunk', function (id, data, modified, injected, blocked)
        local triggered = false
        if id == 0x029 then
            local packet = packets.parse('incoming', data)
            --use triggered = true to cause it to reequip gear
        elseif id == 0x028 then
            local packet = packets.parse('incoming', data)
            --use triggered = true to cause it to reequip gear
        end
        if triggered then
            gearswap.equip_sets:schedule(delayyouwant, 'Triggered equip', nil, thesetyouwattoequip)
        end
    end)

Page 250 of 302 FirstFirst ... 200 240 248 249 250 251 252 260 300 ... LastLast

Similar Threads

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