Thief Lua Not Activating Pdt Set Possible Glitch

Langues: JP EN DE FR
users online
Forum » Windower » General » thief lua not activating pdt set possible glitch
thief lua not activating pdt set possible glitch
Offline
Posts: 88
By vpmarche 2020-10-23 23:49:44
Link | Citer | R
 
thief lua not activating pdt set possible glitch
Code
 -------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.  Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------

--[[
    Custom commands:

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

--]]

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

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

    -- For th_action_check():
    -- JA IDs for actions that always have TH: Provoke, Animated Flourish
    info.default_ja_ids = S{35, 204}
    -- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
    info.default_u_ja_ids = S{201, 202, 203, 205, 207}
end
function job_handle_equipping_gear(playerStatus, eventArgs)
    local lockables = T{'Mecisto. Mantle', 'Shobuhouou Kabuto', 'Aptitude Mantle', 'Nexus Cape', 'Aptitude Mantle +1', 'Warp Ring', 'Vocation Ring', 'Reraise Earring', 'Capacity Ring', 'Trizek Ring', 'Echad Ring', 'Facility Ring', 'Dim. Ring (Holla)', 'Dim. Ring (Dem)', 'Dim. Ring (Mea)'}
    local watch_slots = T{'ear1','ear2','ring1','ring2','back','head'}
 
    for _,v in pairs(watch_slots) do
        if lockables:contains(player.equipment[v]) then
            disable(v)
            if has_charges(player.equipment[v]) and (not is_enchant_ready(player.equipment[v])) then
                enable(v)
            end
        else
            enable(v)
        end
    end
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('Normal', 'Acc', 'Mod')
    state.HybridMode:options('Normal', 'Evasion', 'PDT')
    state.RangedMode:options('Normal', 'Acc')
    state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
    state.PhysicalDefenseMode:options('Evasion', 'PDT', 'MDT')


    gear.default.weaponskill_neck = "Fotia gorget"
    gear.default.weaponskill_waist = "Fotia Belt"
    --gear.AugQuiahuiz = {name="Quiahuiz Trousers", augments={'Haste+2','"Snapshot"+2','STR+8'}}

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

    select_default_macro_book()
end

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

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

    sets.TreasureHunter = {
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
     body={ name="Adhemar Jacket +1", augments={'STR+12','DEX+12','Attack+20',}},
    hands={ name="Plun. Armlets +2", augments={'Enhances "Perfect Dodge" effect',}},
    legs={ name="Samnuha Tights", augments={'STR+8','DEX+9','"Dbl.Atk."+3','"Triple Atk."+2',}},
    feet="Skulk. Poulaines +1",
    neck="Lissome Necklace",
    waist="Chaac Belt",
    left_ear="Brutal Earring",
    right_ear="Suppanomimi",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
    }
	sets.ExtraRegen = {}
    sets.buff['Sneak Attack'] = {
		
    head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
    body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},
    hands="Skulk. Armlets +1",
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','Accuracy+14','Attack+10',}},
    feet={ name="Herculean Boots", augments={'Weapon skill damage +4%','DEX+2','Accuracy+9','Attack+4',}},
    neck="Caro Necklace",
    waist="Grunfeld Rope",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +25',}},
    left_ring="Ramuh Ring +1",
    right_ring="Ramuh Ring +1",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},
	}

    sets.buff['Trick Attack'] = {
	   
    head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
    body={ name="Herculean Vest", augments={'Accuracy+15 Attack+15','Weapon skill damage +3%','AGI+8','Attack+9',}},
    hands="Pill. Armlets +3",
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','Accuracy+14','Attack+10',}},
    feet={ name="Herculean Boots", augments={'Weapon skill damage +4%','DEX+2','Accuracy+9','Attack+4',}},
    neck="Caro Necklace",
    waist="Grunfeld Rope",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +25',}},
    left_ring="Garuda Ring +1",
    right_ring="Garuda Ring +1",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},
	}

    -- Actions we want to use to tag TH.
    sets.precast.Step = set_combine(sets.TreasureHunter, {waist="Chaac Belt",feet="Skulk. Poulaines +1",hands={ name="Plun. Armlets +2", augments={'Enhances "Perfect Dodge" effect',}},})
    sets.precast.Flourish1 = set_combine(sets.TreasureHunter, {waist="Chaac Belt",feet="Skulk. Poulaines +1",hands={ name="Plun. Armlets +2", augments={'Enhances "Perfect Dodge" effect',}},})
    sets.precast.JA.Provoke = set_combine(sets.TreasureHunter, {waist="Chaac Belt",feet="Skulk. Poulaines +1",hands={ name="Plun. Armlets +2", augments={'Enhances "Perfect Dodge" effect',}},})


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

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

    sets.precast.JA['Sneak Attack'] = set_combine(sets.buff['Sneak Attack'], {hands="Skulk. Armlets +1"},{back={ name="Toutatis's Cape", augments={'DEX+10','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},},{left_ring="Ramuh Ring +1"},{right_ring="Ramuh Ring +1"})
    sets.precast.JA['Trick Attack'] = set_combine(sets.buff['Trick Attack'], {hands="Pill. Armlets +3"},{left_ring="Garuda Ring +1"},{right_ring="Garuda Ring +1"})


    -- Waltz set (chr and vit)
    sets.precast.Waltz = {head="Kheper Bonnet",
     body={ name="Herculean Vest", augments={'Accuracy+25 Attack+25','"Waltz" potency +10%','AGI+7',}},
    hands="Pill. Armlets +3",
    legs="Dashing Subligar",
    feet="Rawhide Boots",
    neck="Lissome Necklace",
    waist="Windbuffet Belt +1",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Asklepian Ring",
    right_ring="Petrov Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	}

    -- Don't need any special gear for Healing Waltz.
    sets.precast.Waltz['Healing Waltz'] = {head="Kheper Bonnet",
     body={ name="Herculean Vest", augments={'Accuracy+25 Attack+25','"Waltz" potency +10%','AGI+7',}},
    hands="Pill. Armlets +3",
    legs="Dashing Subligar",
    feet="Rawhide Boots",
    neck="Lissome Necklace",
    waist="Windbuffet Belt +1",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Asklepian Ring",
    right_ring="Petrov Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	}


    -- Fast cast sets for spells
    sets.precast.FC = {
	head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
    --head="Heidrek Mask",
	body={ name="Samnuha Coat", augments={'Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+5','"Dual Wield"+5',}},
    hands={ name="Leyline Gloves", augments={'Accuracy+12','Mag. Acc.+14','"Mag.Atk.Bns."+15','"Fast Cast"+2',}},
    legs="Limbo Trousers",
    feet="Pill. Poulaines +3",
    neck="Nefarious Collar +1",
    waist="Isa Belt",
    left_ear="Etiolation Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Prolix Ring",
    right_ring="Lebeche Ring",
	back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},
	}

    sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {body= "Pillager's Vest +3", neck="Magoraga Beads"})


    -- Ranged snapshot gear
   sets.precast.RA = {
   
   range="Exalted C.bow +1",
    ammo="Gashing Bolt",
    head="Meghanada Visor +2",
   body="Meghanada Cuirie +2",
   hands="Meghanada gloves +2",
    legs="Meg. Chausses +2",
    feet="Meg. Jam. +2",
    neck="Fotia Gorget",
    waist="Fotia Belt",
    left_ear="Brutal Earring",
    right_ear="Suppanomimi",
    left_ring="Cacoethic Ring",
   right_ring="Petrov Ring",
   back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},}
    -- Weaponskill sets

    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
	    ammo="Gashing Bolt",
    head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
    body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},
    hands={ name="Herculean Gloves", augments={'Weapon skill damage +5%',}},
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','Accuracy+14','Attack+10',}},
    feet={ name="Herculean Boots", augments={'Weapon skill damage +4%','DEX+2','Accuracy+9','Attack+4',}},
    neck="Fotia Necklace",
    waist="Fotia Gorget",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +25',}},
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},}
	
    sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Falcon eye", back="Kayapa cape"})

  -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, {head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
    body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},
    hands={ name="Herculean Gloves", augments={'Weapon skill damage +5%',}},
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','Accuracy+14','Attack+10',}},
    feet={ name="Herculean Boots", augments={'Weapon skill damage +4%','DEX+2','Accuracy+9','Attack+4',}},
    neck="Fotia Gorget",
    waist="Fotia Belt",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Garuda Ring +1",
    right_ring="Garuda Ring +1",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},})
    sets.precast.WS['Exenterator'].Acc = set_combine(sets.precast.WS['Exenterator'], {})
   sets.precast.WS['Exenterator'].Mod = set_combine(sets.precast.WS['Exenterator'], {})
    sets.precast.WS['Exenterator'].SA = set_combine(sets.precast.WS['Exenterator'].Mod, {})
   sets.precast.WS['Exenterator'].TA = set_combine(sets.precast.WS['Exenterator'].Mod, {})
    sets.precast.WS['Exenterator'].SATA = set_combine(sets.precast.WS['Exenterator'].Mod, {})

    sets.precast.WS['Dancing Edge'] = set_combine(sets.precast.WS, {right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},})
    sets.precast.WS['Dancing Edge'].Acc = set_combine(sets.precast.WS['Dancing Edge'], {})
    sets.precast.WS['Dancing Edge'].Mod = set_combine(sets.precast.WS['Dancing Edge'], {neck="Fotia Gorget" ,waist="Fotia Belt"})
    sets.precast.WS['Dancing Edge'].SA = set_combine(sets.precast.WS['Dancing Edge'].Mod, {})
    sets.precast.WS['Dancing Edge'].TA = set_combine(sets.precast.WS['Dancing Edge'].Mod, {})
    sets.precast.WS['Dancing Edge'].SATA = set_combine(sets.precast.WS['Dancing Edge'].Mod, {})

    sets.precast.WS['Evisceration'] = {	body="Pill. Bonnet +3",
    body="Pillager's Vest +3",
    hands="Pill. Armlets +3",
    legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Fotia Gorget",
    waist="Fotia Belt",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Ramuh Ring +1",
    right_ring="Ramuh Ring +1",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},
}
	
	
		
    sets.precast.WS['Evisceration'].Acc = set_combine(sets.precast.WS['Evisceration'], {})
    sets.precast.WS['Evisceration'].Mod = set_combine(sets.precast.WS['Evisceration'], {})
    sets.precast.WS['Evisceration'].SA = set_combine(sets.precast.WS['Evisceration'].Mod, {})
    sets.precast.WS['Evisceration'].TA = set_combine(sets.precast.WS['Evisceration'].Mod, {})
    sets.precast.WS['Evisceration'].SATA = set_combine(sets.precast.WS['Evisceration'].Mod, {})

    sets.precast.WS["Rudra's Storm"] = {
    head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
   body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},
    hands={ name="Herculean Gloves", augments={'Weapon skill damage +5%',}},
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','Accuracy+14','Attack+10',}},
    feet={ name="Herculean Boots", augments={'Weapon skill damage +4%','DEX+2','Accuracy+9','Attack+4',}},
    --feet="Heidrek Boots",
	neck="Caro Necklace",
    waist="Grunfeld Rope",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Ramuh Ring +1",
    right_ring="Ramuh Ring +1",
   back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},}
	
    sets.precast.WS["Rudra's Storm"].Acc = set_combine(sets.precast.WS["Rudra's Storm"], {right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},})
    sets.precast.WS["Rudra's Storm"].Mod = set_combine(sets.precast.WS["Rudra's Storm"], {head="Pill. Bonnet +2"})
    sets.precast.WS["Rudra's Storm"].SA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {
      body="Pillager's Vest +3",legs="Pillager's Culottes +3",hands="Skulker's Armlets +1"})
    sets.precast.WS["Rudra's Storm"].TA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {
      body="Pillager's Vest +3",legs="Pillager's Culottes +3",hands="Pillager's Armlets +3"})
    sets.precast.WS["Rudra's Storm"].SATA = set_combine(sets.precast.WS["Rudra's Storm"].Mod, {
     body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},legs="Pillager's Culottes +3", hands="Skulker's Armlets +1"})

    sets.precast.WS["Shark Bite"] = set_combine(sets.precast.WS, {head="Pillager's Bonnet +1",right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},})
    sets.precast.WS['Shark Bite'].Acc = set_combine(sets.precast.WS['Shark Bite'], {})
    sets.precast.WS['Shark Bite'].Mod = set_combine(sets.precast.WS['Shark Bite'], {waist="Fotia Belt"})
    sets.precast.WS['Shark Bite'].SA = set_combine(sets.precast.WS['Shark Bite'].Mod, {
        body="Pillager's Vest +3",legs="Pillager's Culottes +2"})
    sets.precast.WS['Shark Bite'].TA = set_combine(sets.precast.WS['Shark Bite'].Mod, {
        body="Pillager's Vest +3",legs="Pillager's Culottes +2"})
    sets.precast.WS['Shark Bite'].SATA = set_combine(sets.precast.WS['Shark Bite'].Mod, {
       body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},legs="Pillager's Culottes +3"})

    sets.precast.WS['Mandalic Stab'] = set_combine(sets.precast.WS, 
	{head="Pill. Bonnet +3",
    body="Pillager's Vest +3",
    hands="Pill. Armlets +3",
    legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Fotia Necklace",
    waist="Fotia Belt",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Ramuh Ring +1",
    right_ring="Ramuh Ring +1",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},})
    sets.precast.WS['Mandalic Stab'].Acc = set_combine(sets.precast.WS['Mandalic Stab'], {})
    sets.precast.WS['Mandalic Stab'].Mod = set_combine(sets.precast.WS['Mandalic Stab'], {})
    sets.precast.WS['Mandalic Stab'].SA = set_combine(sets.precast.WS['Mandalic Stab'].Mod, {
        })
    sets.precast.WS['Mandalic Stab'].TA = set_combine(sets.precast.WS['Mandalic Stab'].Mod, {
        })
    sets.precast.WS['Mandalic Stab'].SATA = set_combine(sets.precast.WS['Mandalic Stab'].Mod, {
       })

    sets.precast.WS['Aeolian Edge'] = {
     head={ name="Herculean Helm", augments={'Mag. Acc.+13 "Mag.Atk.Bns."+13','Weapon skill damage +3%','Mag. Acc.+4',}},
    body={ name="Samnuha Coat", augments={'Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+5','"Dual Wield"+5',}},
    hands={ name="Plun. Armlets +2", augments={'Enhances "Perfect Dodge" effect',}},
     legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','STR+9','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    feet={ name="Herculean Boots", augments={'Mag. Acc.+12','Weapon skill damage +5%','MND+6','"Mag.Atk.Bns."+4',}},
    neck="Nefarious Collar +1",
    waist="Skrymir Cord",
	--waist="Chaac Belt",
    left_ear="Friomisi Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back={ name="Toutatis's Cape", augments={'INT+20','Magic Damage +10','Weapon skill damage +10%',}},
}

	
sets.precast.WS['Mercy Stroke'] = {    ammo="Gashing Bolt",
    head={ name="Herculean Helm", augments={'Weapon skill damage +5%','DEX+9','Accuracy+13',}},
    body={ name="Herculean Vest", augments={'Accuracy+16 Attack+16','Weapon skill damage +4%','DEX+9',}},
    hands={ name="Herculean Gloves", augments={'Weapon skill damage +5%',}},
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','Accuracy+14','Attack+10',}},
    feet={ name="Herculean Boots", augments={'Weapon skill damage +4%','DEX+2','Accuracy+9','Attack+4',}},
    neck="Caro Necklace",
    waist="Grunfeld Rope",
    left_ear="Brutal Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +25',}},
    left_ring="Ifrit Ring",
    right_ring="Ifrit Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+3','Weapon skill damage +10%',}},}
	--sets.precast.WS['Aeolian Edge'].TH = set_combine(sets.precast.WS['Aeolian Edge'], sets.TreasureHunter)

sets.precast.WS['Aeolian Edge'].TH = {
 
   head={ name="Herculean Helm", augments={'Mag. Acc.+13 "Mag.Atk.Bns."+13','Weapon skill damage +3%','Mag. Acc.+4',}},
    body={ name="Samnuha Coat", augments={'Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+5','"Dual Wield"+5',}},
    hands={ name="Plun. Armlets +2", augments={'Enhances "Perfect Dodge" effect',}},
    legs={ name="Herculean Trousers", augments={'Weapon skill damage +4%','STR+9','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
   feet={ name="Herculean Boots", augments={'Mag. Acc.+12','Weapon skill damage +5%','MND+6','"Mag.Atk.Bns."+4',}},
    neck="Nefarious Collar +1",
   waist="Skrymir Cord",
	--waist="Chaac Belt",
    left_ear="Friomisi Earring",
    right_ear={ name="Moonshade Earring", augments={'"Mag.Atk.Bns."+4','TP Bonus +250',}},
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back={ name="Toutatis's Cape", augments={'INT+20','Magic Damage +10','Weapon skill damage +10%',}},
}
    --------------------------------------
    -- Midcast sets
    --------------------------------------

    --[[sets.midcast.FastRecast = {
        head="Herculean helm",ear1="Ethereal earring", ear2="Loquacious Earring",
        neck="Orunmila's torque", body="Lapidary tunic",hands="Thaumas gloves",
		ring1="Defending ring", ring2="Prolix ring",
        back="Canny cape",waist="Hurch'lan sash", legs="Enif Cosciales",feet="Taeon boots"}]]

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

    -- Ranged gear
    sets.midcast.RA = {
    head="Meghanada Visor +2",
    body="Meghanada Cuirie +2",
    hands="Meghanada Gloves +2",
    legs="Meg. Chausses +2",
    feet="Meg. Jam. +2",
    neck="Sancity Necklace",
    waist="Chaac Belt",
    left_ear="Brutal Earring",
    right_ear="Suppanomimi",
    left_ring="Cacoethic Ring",
    right_ring="Petrov Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+4','Crit.hit rate+10',}},
}
    --    head="Whirlpool Mask",neck="Ej Necklace",ear1="Clearview Earring",ear2="Volley Earring",
    --    body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Beeline Ring",ring2="Hajduk Ring",
    --    back="Libeccio Mantle",waist="Aquiline Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}

    sets.midcast.RA.Acc = {
    head="Malignance Chapeau",
    body="Malignance Tabard",
    hands="Malignance Gloves",
    legs="Meg. Chausses +2",
    feet="Meg. Jam. +2",
    neck="Sanctity Necklace",
    waist="Chaac Belt",
    left_ear="Brutal Earring",
    right_ear="Suppanomimi",
    left_ring="Cacoethic Ring",
    right_ring="Petrov Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+4','Crit.hit rate+10',}},
}
    --    head="Pillager's Bonnet +1",neck="Ej Necklace",ear1="Clearview Earring",ear2="Volley Earring",
    --    body="Iuitl Vest",hands="Buremte Gloves",ring1="Beeline Ring",ring2="Hajduk Ring",
    --    back="Libeccio Mantle",waist="Aquiline Belt",legs="Thurandaut Tights +1",feet="Pillager's Poulaines +1"}


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

    -- Resting sets
    sets.resting = {
        ring1="Sheltered Ring"}


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

    sets.idle = {
     head="Pill. Bonnet +3",
    body="Pillager's Vest +3",
	hands="Pill. Armlets +3",
	legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    --waist="Shetal Stone",
	waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
   -- right_ear="Suppanomimi",
   right_ear="Brutal Earring",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	
	}

    sets.idle.Town = {
     head="Pill. Bonnet +3",
    body="Pillager's Vest +3",
    hands="Pill. Armlets +3",
    legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    --waist="Shetal Stone",
	waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
   -- right_ear="Suppanomimi",
   right_ear="Brutal Earring",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
}
    sets.idle.Weak = {
    head="Malignance Chapeau",
    body="Malignance Tabard",
    hands="Pill. Armlets +3",
	--hands="Pill. Armlets +3",
    legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Twilight Torque",
    waist="Shetal Stone",
	--waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
    --right_ear="Suppanomimi",
	right_ear="Brutal Earring",
    left_ring="Defending Ring",
    right_ring={ name="Dark Ring", augments={'Phys. dmg. taken -4%','Magic dmg. taken -3%',}},
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	}


    -- Defense sets

    sets.defense.Evasion = {    
		
    head="Pill. Bonnet +3",
    body="Pillager's Vest +3",
    hands="Pill. Armlets +3",
    legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    --waist="Shetal Stone",
	waist="Windbuffet Belt +1",
    left_ear="Eabani Earring",
     right_ear="Brutal Earring",
    left_ring="Defending Ring",
    right_ring="Epona's Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
}
    sets.defense.PDT = {
    head="Malignance Chapeau",
   body="Malignance Tabard",
    hands="Malignance Gloves",
    legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    --waist="Shetal Stone",
	waist="Windbuffet Belt +1",
	left_ear="Sherida Earring",
    --left_ear="Eabani Earring",
    --right_ear="Suppanomimi",
	 right_ear="Brutal Earring",
    left_ring="Epona's Ring",
    right_ring="Defending Ring",
   back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	}



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

    -- Normal melee group
    sets.engaged = {
     head="Pill. Bonnet +3",
    --head="Heidrek Mask",
	body="Pillager's Vest +3",
	-- body={ name="Adhemar Jacket +1", augments={'STR+12','DEX+12','Attack+20',}},
	--Body="Heidrek Harness",
    hands="Pill. Armlets +3",
	--hands="Heidrek Gloves",
    	legs="Pill. Culottes +3",
    --legs="Heidrek Brais",
	--feet="Heidrek Boots",
	feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    --waist="Shetal Stone",
	waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
	--right_ear="Suppanomimi",
	right_ear="Brutal Earring",
    --right_ear="Cessance Earring",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	
	}
    
	sets.engaged.Acc = {
     head="Pill. Bonnet +3",
    body="Pillager's Vest +3",
	hands="Pill. Armlets +3",
	legs="Pill. Culottes +3",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    waist="Shetal Stone",
	--waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
    --right_ear="Suppanomimi",
	right_ear="Brutal Earring",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	
	}
    -- Mod set for trivial mobs (Skadi+1)
    sets.engaged.Mod = {
     head="Pill. Bonnet +3",
    --head="Heidrek Mask",
	body="Pillager's Vest +3",
	--Body="Heidrek Harness",
    hands="Pill. Armlets +3",
	--hands="Heidrek Gloves",
    	legs="Pill. Culottes +3",
    --legs="Heidrek Brais",
	--feet="Heidrek Boots",
	feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
   --waist="Shetal Stone",
	waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
    --right_ear="Suppanomimi",
	right_ear="Brutal Earring",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	
	}

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

    sets.engaged.Evasion = {
     head="Pill. Bonnet +3",
    --head="Heidrek Mask",
	body="Pillager's Vest +3",
	--Body="Heidrek Harness",
    hands="Pill. Armlets +3",
	--hands="Heidrek Gloves",
    	legs="Pill. Culottes +3",
    --legs="Heidrek Brais",
	--feet="Heidrek Boots",
	feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    waist="Shetal Stone",
	--waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
    --right_ear="Suppanomimi",
	right_ear="Brutal Earring",
    left_ring="Epona's Ring",
    right_ring="Petrov Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
	
	}
    --sets.engaged.Acc.Evasion = {ammo="Jukukik feather",
    --    head="Whirlpool Mask",neck="Ej Necklace",ear1="Sherida Earring",ear2="Telos Earring",
    --    body="Pillager's Vest +1",hands="Pillager's Armlets +1",ring1="Beeline Ring",ring2="Epona's Ring",
    --    back="Canny Cape",waist="Hurch'lan Sash",legs="Kaabnax Trousers",feet="Qaaxo Leggings"}

    sets.engaged.PDT = {
    head="Malignance Chapeau",
    body="Malignance Tabard",
    hands="Malignance Gloves",
	--hands="Pill. Armlets +3",
    legs="Pill. Culottes +2",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    waist="Shetal Stone",
	--waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
    --right_ear="Suppanomimi",
	right_ear="Brutal Earring",
    left_ring="Defending Ring",
    right_ring="Epona's Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
    }
	sets.engaged.Acc.PDT = {
    head="Malignance Chapeau",
    body="Malignance Tabard",
    hands="Malignance Gloves",
	--hands="Pill. Armlets +3",
    legs="Pill. Culottes +2",
    feet="Pill. Poulaines +3",
    neck="Lissome Necklace",
    waist="Shetal Stone",
	--waist="Windbuffet Belt +1",
    left_ear="Sherida Earring",
    --right_ear="Suppanomimi",
	right_ear="Brutal Earring",
	left_ring="Defending Ring",
    right_ring="Epona's Ring",
     back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Store TP"+10','"Regen"+5',}},
    
	organizer_items = {
	weapon1 = "Aeneas",
	weapon2 = "Sandung",
	weapon3 = "Exalted C.bow +1",
	warpring = "Warp Ring",
	sub = "Joiner's Shield",
	neck = "Carver's Torque",
	body = "Carpenter's Smock",
	hands = "Carpenter's Gloves",
	ring1 = "Orvail Ring",
	ring2 = "Craftmaster's Ring",
	
	}
}
end


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

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

-- Run after the general midcast() set is constructed.
function job_post_midcast(spell, action, spellMap, eventArgs)
    if state.TreasureMode.value ~= 'None' and spell.action_type == 'Ranged Attack' then
        equip(sets.TreasureHunter)
    end
end

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
    -- Weaponskills wipe SATA/Feint.  Turn those state vars off before default gearing is attempted.
    if spell.type == 'WeaponSkill' and not spell.interrupted then
        state.Buff['Sneak Attack'] = false
        state.Buff['Trick Attack'] = false
        state.Buff['Feint'] = false
    end
end

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

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

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


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

function get_custom_wsmode(spell, spellMap, defaut_wsmode)
    local wsmode

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

    return wsmode
end


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

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


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

    return idleSet
end


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

    return meleeSet
end


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

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

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

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

    add_to_chat(122, msg)

    eventArgs.handled = true
end

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

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

res = require('resources')
extdata = require('extdata')
 
-- Item must be equipped for it to return any meaningful value.
function is_enchant_ready(--[[name of item]]item)
    local item_id, item = res.items:find(function(v) if v.name == item then return true end end)
    local inventory = windower.ffxi.get_items()
    local usable_bags = T{'inventory','wardrobe','wardrobe2','wardrobe3','wardrobe4'}
    local itemdata = {}
     
    for i,v in pairs(inventory) do
        if usable_bags:contains(i) then
            for key,val in pairs(v) do
                if type(val) == 'table' and val.id == item_id then
                    itemdata = extdata.decode(val)
                end
            end
        end
    end
     
    if itemdata and itemdata.charges_remaining then
        if itemdata.activation_time - itemdata.next_use_time > item.cast_delay then
            return true
        end
    end
    return false
end
 
function has_charges(--[[name of item]]item)
    local item_id, item = res.items:find(function(v) if v.name == item then return true end end)
    local inventory = windower.ffxi.get_items()
    local bags = T{'inventory','safe','safe2','storage','satchel','locker','sack','case','wardrobe','wardrobe2','wardrobe3','wardrobe4'}
    local itemdata = {}
     
    for i,v in pairs(inventory) do
        if bags:contains(i) then
            for key,val in pairs(v) do
                if type(val) == 'table' and val.id == item_id then
                    itemdata = extdata.decode(val)
                end
            end
        end
    end
     
    if itemdata and itemdata.charges_remaining then
        if itemdata.charges_remaining > 0 then
            return true
        end
    end
    return false
end
-- Check for various actions that we've specified in user code as being used with TH gear.
-- This will only ever be called if TreasureMode is not 'None'.
-- Category and Param are as specified in the action event packet.
function th_action_check(category, param)
    if category == 2 or -- any ranged attack
        --category == 4 or -- any magic action
        (category == 3 and param == 30) or -- Aeolian Edge
        (category == 6 and info.default_ja_ids:contains(param)) or -- Provoke, Animated Flourish
        (category == 14 and info.default_u_ja_ids:contains(param)) -- Quick/Box/Stutter Step, Desperate/Violent Flourish
        then return true
    end
end


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


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



 Asura.Zidaner
Offline
Serveur: Asura
Game: FFXI
user: Xavierr
Posts: 167
By Asura.Zidaner 2020-10-24 00:57:23
Link | Citer | R
 
You don't have PDT option in offenseMode. I am no expert with lua so maybe this isn't what you need.
Offline
Posts: 88
By vpmarche 2020-10-24 04:38:01
Link | Citer | R
 
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('Normal', 'Acc', 'Mod')
state.HybridMode:options('Normal', 'Evasion', 'PDT')
state.RangedMode:options('Normal', 'Acc')
state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
state.PhysicalDefenseMode:options('Evasion', 'PDT', 'MDT')



figured it out thx
Log in to post.