Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ Info
- Commands
- //gs debugmode
- //gs showswaps
- //gs validate - looks for gear in your sets that isnt in inventory.
- -- Scythe Light:
- Insurgency > Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency
- Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency
- Entropy > Guillotine > Entropy > Insurgency
- Guillotine > Entropy > Insurgency
- -- Scythe Darkness:
- Insurgency (M) > Vorpal Scythe > Vorpal Scythe > Insurgency (M) > Entropy (MM) > Cross Reaper
- Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
- Cross Reaper > Insurgency (M) > Entropy (MM) > Cross Reaper
- Insurgency (M) > Entropy (MM) > Cross Reaper
- Cross Reaper > Entropy (MM)
- Entropy (MM) > Cross Reaper
- -- Apoc Darkness
- Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM) > Catastrophe (R)
- Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
- Insurgency (M) > Entropy (MM) > Cross Reaper > Catastrophe (R)
- Insurgency (M) > Catastrophe (R) > Cross Reaper > Catastrophe (R)
- Cross Reaper > Insurgency (M) > Catastrophe (R) > Cross Reaper
- Catastrophe (R) > Cross Reaper > Catastrophe (R)
- Insurgency (M) > Catastrophe (R) > Cross Reaper
- Cross Reaper > Catastrophe (R) > Catastrophe (R)
- Cross Reaper > Entropy (MM) > Catastrophe (R)
- Entropy (MM) > Cross Reaper > Catastrophe (R)
- Catastrophe (R) > Catastrophe (R)
- Catastrophe (R) > Cross Reaper
- Cross Reaper > Catastrophe (R)
- -- Other Light
- Catastrophe (R) > Savage Blade (Q) > Insurgency (M)
- Entropy (MM) > Savage Blade (Q) > Insurgency (M)
- Savage Blade (Q) > Insurgency (M)
- Chant du Cygne (E) > Torcleaver (E)
- -- Other Dark
- Atonement (M) > Entropy (MM) > Cross Reaper
- Savage Blade (Q) > Cross Reaper > Entropy (MM)
- Chant du Cygne (E) > Catastrophe (R)
- Chant du Cygne (E) > Entropy (MM)
- Requiescat (MM) > Cross Reaper
- Requiescat (MM) > Torcleaver (E)
- -- GreatSword
- Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM) > Torcleaver (E)
- Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM)
- Resolution (MM) > Scourge (R) > Torcleaver (E)
- Scourge (R) > Resolution (MM) > Torcleaver (E)
- Torcleaver (E) > Torcleaver (E)
- Scourge (R) > Resolution (MM)
- --]]
- -- Initialization function for this job file.
- function get_sets()
- mote_include_version = 2
- -- Load and initialize the include file.
- include('Mote-Include.lua')
- end
- -- Binds
- function binds_on_load()
- -- F9-F12
- send_command('bind f9 gs c cycle OffenseMode')
- send_command('bind f10 gs c cycle HybridMode')
- send_command('bind f11 gs c cycle CastingMode')
- send_command('bind f12 gs c cycle IdleMode')
- -- ALT F9-12
- send_command('bind !f9 gs c update user')
- send_command('bind !f10 gs c cycle RangedMode')
- send_command('bind !f11 gs c cycle WeaponskillMode')
- send_command('bind !f12 gs c cycle Kiting')
- end
- -- Called when this job file is unloaded (eg: job change)
- function file_unload()
- if binds_on_unload then
- binds_on_unload()
- end
- end
- -- Setup vars that are user-independent.
- function job_setup()
- --state.Buff.Aftermath = buffactive.Aftermath or false
- state.Buff.Souleater = buffactive.Souleater or false
- state.Buff['Dark Seal'] = buffactive['Dark Seal'] or false
- state.Buff['Last Resort'] = buffactive['Last Resort'] or false
- state.Buff['Doom'] = buffactive['Doom'] or false
- state.Buff['Curse'] = buffactive['Curse'] or false
- -- new code
- --state.Buff['Afermath: Lv.3'] = buffactive['Aftermath: Lv.3'] or false
- Apoc_weapons = S{'Apocalypse'}
- GS_weapons = S{'Ragnarok', 'Raetic Algol +1', 'Caladbolg'}
- Anguta_weapons = S{'Anguta'}
- Lib_weapons = S{'Liberator'}
- LowTierNuke = 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'}
- -- Mote has capitalization errors in the default Absorb mappings, so we use our own.
- Absorbs = S{'Absorb-STR', 'Absorb-DEX', 'Absorb-VIT', 'Absorb-AGI', 'Absorb-INT', 'Absorb-MND', 'Absorb-CHR', 'Absorb-Attri', 'Absorb-ACC', 'Absorb-TP'}
- get_combat_form()
- get_combat_weapon()
- update_melee_groups()
- end
- -- Setup vars that are user-dependent.
- function user_setup()
- state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc')
- state.HybridMode:options('Normal', 'DamageTaken')
- state.CastingMode:options('Normal', 'Resistant', 'Enmity')
- state.IdleMode:options('Normal','DamageTaken')
- state.WeaponskillMode:options('Normal', 'Attack')
- -- new
- war_js = player.sub_job == 'WAR' or false
- select_default_macro_book()
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- -- Precast sets
- sets.Enmity = {
- ammo="Sapience Orb",
- head="Loess Barbuta +1", body="Emet Harness +1",
- back="Reiki Cloak", neck="Unmoving Collar +1",
- legs=Ody_Enmity_legs, feet="Eschite Greaves",
- ring1="Pernicious Ring", ring2="Begrudging Ring",
- ear1="Trux Earring", ear2="Cryptic Earring"}
- sets.precast.JA['Diabolic Eye'] = {hands="Fallen's Finger Gauntlets +3"}
- sets.precast.JA['Nether Void'] = {legs="Heathen's Flanchard +1"}
- sets.precast.JA['Dark Seal'] = {head="Fallen's Burgeonet +3"}
- sets.precast.JA['Souleater'] = {head="Ignominy Burgeonet +3"}
- sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets +3"}
- sets.precast.JA['Last Resort'] = {feet="Fallen's Sollerets +3", back=Ank_STP}
- sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass +3"}
- sets.precast.JA['Arcane Circle'] = {feet="Ignominy Sollerets +3"}
- sets.precast.JA['Provoke'] = sets.Enmity
- -- Earring considerations, given Lugra's day/night stats
- sets.BrutalLugra = { ear1="Brutal Earring", ear2="Lugra Earring +1" }
- sets.Lugra = { ear1="Lugra Earring +1" }
- -- New sets
- --sets.IshvaraLugra = { ear1="Thrud Earring", ear2="Lugra Earring +1" }
- --sets.Brutal = { ear1="Brutal Earring" }
- --sets.Ishvara = { ear1="Thrud Earring" }
- -- Fast cast sets for spells
- sets.precast.FC = {
- ammo="Sapience Orb",
- head="Carmine Mask +1", body="Fallen's Cuirass +3",
- back=Ank_FC, neck="Baetyl Pendant",
- hands="Leyline Gloves", waist="Tempus Fugit +1",
- legs="Eschite Cuisses", feet=Ody_FC_feet,
- ring1="Rahab Ring", ring2="Kishar Ring",
- ear1="Malignance Earring", ear2="Enchanter's Earring +1"}
- sets.precast.FC.Impact = set_combine(sets.precast.FC, {
- head=empty, body="Twilight Cloak"})
- -- Midcast Sets
- sets.midcast.FastRecast = {
- ammo="Sapience Orb",
- head="Carmine Mask +1", body="Fallen's Cuirass +3",
- back=Ank_FC, neck="Baetyl Pendant",
- hands="Leyline Gloves", waist="Tempus Fugit +1",
- legs="Eschite Cuisses", feet=Ody_FC_feet,
- ring1="Rahab Ring", ring2="Kishar Ring",
- ear1="Malignance Earring", ear2="Enchanter's Earring +1"}
- -- Specific spells
- sets.midcast['Enfeebling Magic'] = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1", body="Nyame Mail",
- back=Ank_FC, neck="Erra Pendant",
- hands="Nyame Gauntlets", waist="Eschan Stone",
- legs="Nyame Flanchard", feet="Nyame Sollerets",
- ring1="Stikini Ring +1", Ring2="Kishar Ring",
- ear1="Malignance Earring", ear2="Dignitary's Earring"}
- sets.midcast['Enfeebling Magic'].Resistant = sets.midcast['Enfeebling Magic']
- sets.midcast['Enfeebling Magic'].Enmity = sets.Enmity
- -- Based on HP when casted.
- sets.midcast['Dread Spikes'] = {
- ammo="Staunch Tathlum +1",
- head="Ratri Sallet +1", body="Heathen's Cuirass +1",
- back="Moonlight Cape", neck="Dualism Collar +1",
- hands="Ratri Gadlings +1", waist="Oneiros Belt",
- legs="Ratri Cuisses +1", feet="Ratri Sollerets +1",
- ring1="Moonlight Ring", Ring2="Gelatinous Ring +1",
- ear1="Odnowa Earring +1", ear2="Tuisto Earring"}
- -- Absorbs - Dark magic does not affect potency, use macc.
- sets.midcast.Absorb = {
- ammo="Pemphredo Tathlum",
- head="Ignominy Burgeonet +3", body="Nyame Mail",
- back="Chuparrosa Mantle", neck="Erra Pendant",
- hands="Pavor Gauntlets", waist="Eschan Stone",
- legs="Onyx Cuisses", feet="Ratri Sollerets +1",
- Ring1="Stikini Ring +1", Ring2="Kishar Ring",
- ear1="Malignance Earring", ear2="Dignitary's Earring"}
- sets.midcast.Absorb.Resistant = set_combine(sets.midcast.Absorb, {
- head="Carmine Mask +1", legs="Nyame Flanchard"})
- sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb, {hands="Heathen's Gauntlets +1"})
- sets.midcast['Absorb-TP'].Resistant = set_combine(sets.midcast.Absorb.Resistant, {hands="Heathen's Gauntlets +1"})
- sets.midcast['Dark Magic'] = {
- ammo="Pemphredo Tathlum",
- head="Ignominy Burgeonet +3", body="Carmine Scale Mail",
- back=Ank_FC, neck="Erra Pendant",
- hands="Fallen's Finger Gauntlets +3", waist="Eschan Stone",
- legs="Fallen's Flanchard +3", feet="Ratri Sollerets +1",
- ring1="Stikini Ring +1", Ring2="Evanescence Ring",
- ear1="Malignance Earring", ear2="Dignitary's Earring"}
- sets.midcast['Dark Magic'].Resistant = set_combine(sets.midcast['Dark Magic'], {
- head="Carmine Mask +1", body="Nyame Mail",
- hands="Nyame Gauntlets",
- legs="Nyame Flanchard", feet="Nyame Sollerets"})
- sets.midcast['Dark Magic'].Enmity = sets.Enmity
- sets.midcast.Endark = set_combine(sets.midcast['Dark Magic'], {
- head="Ignominy Burgeonet +3",
- hands="Fallen's Finger Gauntlets +3"})
- sets.midcast.Stun = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1", body="Fallen's Cuirass +3",
- back=Ank_FC, neck="Erra Pendant",
- hands="Leyline Gloves", waist="Tempus Fugit +1",
- legs="Eschite Cuisses", feet=Ody_FC_feet,
- Ring1="Stikini Ring +1", Ring2="Stikini Ring +1",
- ear1="Malignance Earring", ear2="Dignitary's Earring"}
- sets.midcast.Stun.Resistant =set_combine(sets.midcast.Stun, {
- hands="Nyame Gauntlets",
- legs="Nyame Flanchard", feet="Nyame Sollerets"})
- sets.midcast.Stun.Enmity = sets.Enmity
- sets.midcast.Drain = {
- ammo="Pemphredo Tathlum",
- head="Pixie Hairpin +1", body="Carmine Scale Mail",
- back="Niht Mantle", neck="Erra Pendant",
- hands="Fallen's Finger Gauntlets +3", waist="Austerity Belt +1",
- legs="Fallen's Flanchard +3", feet="Ratri Sollerets +1",
- ring1="Stikini Ring +1", Ring2="Evanescence Ring",
- ear1="Malignance Earring", ear2="Hirudinea Earring"}
- sets.midcast.Drain.Resistant = set_combine(sets.midcast.Drain, {
- body="Nyame Mail", legs="Nyame Flanchard"})
- sets.midcast['Drain III'] = sets.midcast.Drain
- sets.midcast['Drain III'].Resistant = sets.midcast.Drain.Resistant
- sets.midcast.Aspir = sets.midcast.Drain
- sets.midcast.Aspir.Resistant = sets.midcast.Drain.Resistant
- sets.midcast.Impact = set_combine(sets.midcast['Dark Magic'], {head=empty, body="Twilight Cloak"})
- sets.midcast.Impact.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {head=empty, body="Twilight Cloak"})
- -- Elemental Magic sets are default for handling low-tier nukes.
- sets.midcast.LowTierNuke = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1", body="Carmine Scale Mail",
- back="Izdubar Mantle", neck="Sanctity Necklace",
- hands="Fallen's Finger Gauntlets +3", waist="Eschan Stone",
- legs="Eschite Cuisses",feet="Nyame Sollerets",
- ring1="Shiva Ring +1", ring2="Shiva Ring +1",
- ear1="Malignance Earring", ear2="Friomisi Earring"}
- sets.midcast.LowTierNuke.Resistant = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1", body="Carmine Scale Mail",
- back=Ank_FC, neck="Sanctity Necklace",
- hands="Leyline Gloves", waist="Eschan Stone",
- legs="Eschite Cuisses",feet="Nyame Sollerets",
- ring1="Shiva Ring +1", ring2="Shiva Ring +1",
- ear1="Malignance Earring", ear2="Friomisi Earring"}
- sets.midcast.LowTierNuke.Enmity = sets.Enmity
- -- Custom classes for high-tier nukes.
- sets.midcast.HighTierNuke = sets.midcast.LowTierNuke
- sets.midcast.HighTierNuke.Resistant = sets.midcast.LowTierNuke.Resistant
- sets.midcast.HighTierNuke.Enmity = sets.Enmity
- -- Resting sets
- sets.resting = {
- ammo="Staunch Tathlum +1",
- head=Val_Refresh_head, body="Sakpata's Breastplate",
- back="Moonlight Cape", neck="Coatl Gorget +1",
- hands=Ody_Refresh_hands, waist="Carrier's Sash",
- legs=Ody_Refresh_legs, feet=Val_Refresh_feet,
- ring1="Stikini Ring +1", ring2="Stikini Ring +1",
- ear1="Etiolation Earring", ear2="Genmei Earring"}
- -- Idle sets
- sets.idle = {
- ammo="Staunch Tathlum +1",
- head=Val_Refresh_head, body="Sakpata's Breastplate",
- back="Moonlight Cape", neck="Coatl Gorget +1",
- hands=Ody_Refresh_hands, waist="Carrier's Sash",
- legs=Ody_Refresh_legs, feet=Val_Refresh_feet,
- ring1="Stikini Ring +1", ring2="Stikini Ring +1",
- ear1="Etiolation Earring", ear2="Genmei Earring"}
- sets.idle.DamageTaken = {
- ammo="Staunch Tathlum +1",
- head="Nyame Helm", body="Sakpata's Breastplate",
- back="Moonlight Cape", neck="Coatl Gorget +1",
- hands="Nyame Gauntlets", waist="Carrier's Sash",
- legs="Nyame Flanchard", feet="Nyame Sollerets",
- ring1="Moonlight Ring", ring2="Gelatinous Ring +1",
- ear1="Odnowa Earring +1", ear2="Tuisto Earring"}
- sets.idle.Town = {
- ammo="Staunch Tathlum +1",
- head="Hjarrandi Helm", body="Hjarrandi Breastplate",
- back="Moonlight Cape", neck="Abyssal Beads +2",
- hands="Sakpata's Gauntlets", waist="Tempus Fugit +1",
- legs="Carmine Cuisses +1", feet="Ratri Sollerets +1",
- ring1="Niqmaddu Ring", ring2="Regal Ring",
- ear1="Telos Earring", ear2="Lugra Earring +1"}
- sets.idle.Weak = {
- ammo="Staunch Tathlum +1",
- head="Twilight Helm", body="Twilight Mail",
- back="Moonlight Cape", neck="Loricate Torque +1",
- hands="Nyame Gauntlets", waist="Carrier's Sash",
- legs="Nyame Flanchard", feet="Nyame Sollerets",
- ring1="Moonlight Ring", ring2="Defending Ring",
- ear1="Odnowa Earring +1", ear2="Tuisto Earring"}
- sets.Kiting = {legs="Carmine Cuisses +1"}
- -- Custom buff sets
- sets.Souleater = {head="Ignominy Burgeonet +3"}
- sets['Last Resort'] = {}
- sets.Doom = {head="Twilight Helm", body="Twilight Mail", ring2="Purity Ring"}
- sets['Dark Seal'] = {head="Fallen's Burgeonet +3"}
- --removed for now, not sure how it interacts.
- --sets.Aftermath = {}
- -- Engaged Sets
- -- Any weapon not defined will use these sets.
- --1044acc
- sets.engaged = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu ring", ring2="Hetairoi Ring",
- ear1="Brutal Earring", ear2="Cessance Earring"}
- --1103acc
- sets.engaged.LowAcc = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu ring", ring2="Regal Ring",
- ear1="Brutal Earring", ear2="Cessance Earring"}
- --1165acc
- sets.engaged.MidAcc = {
- ammo="Coiste Bodhar",
- head=Arg_HQ_head, body=Val_STP_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Niqmaddu ring", ring2="Regal ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1225acc
- sets.engaged.HighAcc = {
- ammo="Seething Bomblet +1",
- head="Ignominy Burgeonet +3", body="Ignominy Cuirass +3",
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Ignominy Gauntlets +3", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Moonlight Ring", ring2="Regal ring",
- ear1="Telos Earring", ear2="Mache Earring +1"}
- sets.engaged.Haste = set_combine(sets.engaged, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.LowAcc = set_combine(sets.engaged.LowAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.MidAcc = set_combine(sets.engaged.MidAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.HighAcc = set_combine(sets.engaged.HighAcc, {
- waist="Windbuffet Belt +1"})
- -- Liberator - Need 29stp for 5 hit. 76stp for 4hit.
- --1116acc 31stp 43da 8ta 8qa 22haste
- sets.engaged.Liberator = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Brutal Earring", ear2="Cessance Earring"}
- --1157acc 32stp 44da 4ta 8qa 24haste
- sets.engaged.Liberator.LowAcc = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1212acc 33stp 36da 4ta 5qa 21haste
- sets.engaged.Liberator.MidAcc = {
- ammo="Seething Bomblet +1",
- head=Arg_HQ_head, body=Val_STP_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1297acc 33stp 12da 22haste
- sets.engaged.Liberator.HighAcc = {
- ammo="Seething Bomblet +1",
- head="Ignominy Burgeonet +3", body="Ignominy Cuirass +3",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Ignominy Gauntlets +3", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Moonlight Ring", ring2="Regal ring",
- ear1="Telos Earring", ear2="Mache Earring +1"}
- -- Liberator AM3
- --69stp in gear + 15 from sam = 84 total.
- sets.engaged.Liberator.AM3 = set_combine(sets.engaged.Liberator, {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body="Hjarrandi Breastplate",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs=Ody_STP_legs, feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Brutal Earring", ear2="Cessance Earring"})
- sets.engaged.Liberator.LowAcc.AM3 = set_combine(sets.engaged.Liberator.AM3, {})
- sets.engaged.Liberator.MidAcc.AM3 = set_combine(sets.engaged.Liberator.AM3, {})
- sets.engaged.Liberator.HighAcc.AM3 = set_combine(sets.engaged.Liberator.AM3, {})
- -- LIberator Capped Delay
- sets.engaged.Haste.Liberator = set_combine(sets.engaged.Liberator, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Liberator.LowAcc = set_combine(sets.engaged.Liberator.LowAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Liberator.MidAcc = set_combine(sets.engaged.Liberator.MidAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Liberator.HighAcc = set_combine(sets.engaged.Liberator.HighAcc, {
- waist="Windbuffet Belt +1"})
- -- Liberator AM3 Capped Delay
- sets.engaged.Haste.Liberator.AM3 = set_combine(sets.engaged.Liberator.AM3, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Liberator.LowAcc.AM3 = set_combine(sets.engaged.Liberator.LowAcc.AM3, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Liberator.MidAcc.AM3 = set_combine(sets.engaged.Liberator.MidAcc.AM3, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Liberator.HighAcc.AM3 = set_combine(sets.engaged.Liberator.HighAcc.AM3, {
- waist="Windbuffet Belt +1"})
- -- Anguta - Need 26stp for 5 hit. 72stp for 4 hit.
- --1093acc 73stp 23da 8ta 6qa 22haste
- sets.engaged.Anguta = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs=Ody_STP_legs, feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Brutal Earring"}
- --1155acc 73stp 27da 2ta 6qa 24haste
- sets.engaged.Anguta.LowAcc = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs=Ody_STP_legs, feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Chirich Ring +1",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1212acc 43stp 36da 4ta 5qa 21haste
- sets.engaged.Anguta.MidAcc = {
- ammo="Seething Bomblet +1",
- head=Arg_HQ_head, body=Val_STP_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1297acc 43stp 12da 22haste
- sets.engaged.Anguta.HighAcc = {
- ammo="Seething Bomblet +1",
- head="Ignominy Burgeonet +3", body="Ignominy Cuirass +3",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Ignominy Gauntlets +3", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Moonlight Ring", ring2="Regal ring",
- ear1="Telos Earring", ear2="Mache Earring +1"}
- -- Anguta capped delay.
- sets.engaged.Haste.Anguta = set_combine(sets.engaged.Anguta, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Anguta.LowAcc = set_combine(sets.engaged.Anguta.LowAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Anguta.MidAcc = set_combine(sets.engaged.Anguta.MidAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Anguta.HighAcc = set_combine(sets.engaged.Anguta.HighAcc, {
- waist="Windbuffet Belt +1"})
- -- Apocalypse - Need 33stp for 5 hit. 82stp for 4hit.
- --1180acc 33stp 41da 8ta 8qa 22haste
- sets.engaged.Apocalypse = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Brutal Earring"}
- --1207acc 37stp 44da 4ta 8qa 24haste
- sets.engaged.Apocalypse.LowAcc = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1272acc 33stp 36da 4ta 5qa 21haste
- sets.engaged.Apocalypse.MidAcc = {
- ammo="Seething Bomblet +1",
- head=Arg_HQ_head, body=Val_STP_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1357acc 33stp 12da 22haste
- sets.engaged.Apocalypse.HighAcc = {
- ammo="Seething Bomblet +1",
- head="Ignominy Burgeonet +3", body="Ignominy Cuirass +3",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Ignominy Gauntlets +3", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Moonlight Ring", ring2="Regal ring",
- ear1="Telos Earring", ear2="Mache Earring +1"}
- -- Apocalypse AM
- sets.engaged.Apocalypse.AM = set_combine(sets.engaged.Apocalypse, {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body="Hjarrandi Breastplate",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs=Ody_STP_legs, feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Brutal Earring", ear2="Cessance Earring"})
- sets.engaged.Apocalypse.LowAcc.AM = set_combine(sets.engaged.Apocalypse.AM, {})
- sets.engaged.Apocalypse.MidAcc.AM = set_combine(sets.engaged.Apocalypse.AM, {})
- sets.engaged.Apocalypse.HighAcc.AM = set_combine(sets.engaged.Apocalypse.AM, {})
- -- Apocalypse capped delay.
- sets.engaged.Haste.Apocalypse = set_combine(sets.engaged.Apocalypse, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Apocalypse.LowAcc = set_combine(sets.engaged.Apocalypse.LowAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Apocalypse.MidAcc = set_combine(sets.engaged.Apocalypse.MidAcc, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Apocalypse.HighAcc = set_combine(sets.engaged.Apocalypse.HighAcc, {
- waist="Windbuffet Belt +1"})
- -- Apocalypse AM capped delay.
- sets.engaged.Haste.Apocalypse.AM = set_combine(sets.engaged.Apocalypse.AM, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Apocalypse.LowAcc.AM = set_combine(sets.engaged.Apocalypse.LowAcc.AM, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Apocalypse.MidAcc.AM = set_combine(sets.engaged.Apocalypse.MidAcc.AM, {
- waist="Windbuffet Belt +1"})
- sets.engaged.Haste.Apocalypse.HighAcc.AM = set_combine(sets.engaged.Apocalypse.HighAcc.AM, {
- waist="Windbuffet Belt +1"})
- -- GreatSword
- -- No Roll
- -- sub war @ 130 tp ws, need 79 stp for 5 hit.
- -- sub war @ 130 tp ws. need 43 stp for 6 hit.
- -- sub sam @ 148 tp ws, need 60 stp for 5 hit.
- -- sub sam @ 148 tp ws, need 26 stp for 6 hit.
- -- With Roll
- -- sub war @ 150 tp ws, need 59 stp+ sam roll 7+ for 5 hit.
- -- sub war @ 150 tp ws, need 24 stp+ sam roll 7+ for 6 hit.
- -- sub sam @ 168 tp ws, need 40 stp+ sam roll 7+ for 5 hit.
- -- sub sam @ 168 tp ws, need 6 stp+ sam roll 7+ for 6 hit.
- -- This probably all needs adjusted for -10stp ring.
- -- New #s when using -10 STP ring. -- More has changed, since the TP per WS is higher then before the ring??????
- -- Previous calculations did not include roll gear, which add 4 step per +1 roll.
- -- So 28 more stp for regal necklace.
- -- No Roll
- --NOT CHECKED YET sub war @ 130 tp ws, need 79 stp for 5 hit.
- --NOT CHECKED YET sub war @ 130 tp ws. need 43 stp for 6 hit.
- -- sub sam @ 142 tp ws, need 62 stp for 5 hit.
- -- sub sam @ 142 tp ws, need 26 stp for 6 hit.
- -- With Roll
- --NOT CHECKED YET sub war @ 150 tp ws, need 59 stp+ sam roll 7+ for 5 hit.
- --NOT CHECKED YET sub war @ 150 tp ws, need 24 stp+ sam roll 7+ for 6 hit.
- -- sub sam @ 196 tp ws, need 61 stp+ sam roll 7+ for 4 hit.
- -- sub sam @ 196 tp ws, need 0 stp+ sam roll 7+ for 5 hit.
- --1142acc 60stp 29da 9ta 3qa 26haste = 56 extra hits per 100 swings.
- sets.engaged.GreatSword = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_STP_body,
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1200acc 61stp 28da 7ta 3qa 26haste = 51 extra hits per 100 swings, but 1 less hit overall to WS.
- sets.engaged.GreatSword.LowAcc = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_STP_body,
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet=Val_STP_feet,
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1246acc 33stp 53da 3qa 28haste = 62 extra hits per 100 swings.
- -- recheck these stats
- sets.engaged.GreatSword.MidAcc = {
- ammo="Coiste Bodhar",
- head=Arg_HQ_head, body="Sakpata's Breastplate",
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Regal Ring",
- ear1="Telos Earring", ear2="Cessance Earring"}
- --1319acc 28stp 29da 26haste
- sets.engaged.GreatSword.HighAcc = {
- ammo="Seething Bomblet +1",
- head="Ignominy Burgeonet +3", body="Ignominy Cuirass +3",
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands="Ignominy Gauntlets +3", waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Moonlight Ring", ring2="Regal ring",
- ear1="Mache Earring +1", ear2="Mache Earring +1"}
- -- Greatsword capped delay.
- sets.engaged.Haste.GreatSword = set_combine(sets.engaged.GreatSword, {waist="Windbuffet Belt +1"})
- sets.engaged.Haste.GreatSword.LowAcc = set_combine(sets.engaged.GreatSword.LowAcc, {waist="Windbuffet Belt +1"})
- sets.engaged.Haste.GreatSword.MidAcc = set_combine(sets.engaged.GreatSword.MidAcc, {waist="Ioskeha Belt +1"})
- sets.engaged.Haste.GreatSword.HighAcc = set_combine(sets.engaged.GreatSword.HighAcc, {waist="Ioskeha Belt +1"})
- --1176acc 29stp 40da 9ta 9qa 26haste
- sets.engaged.GreatSword.SamRoll = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands=Val_QA_hands, waist="Sailfi Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Cessance Earring", ear2="Brutal Earring"}
- sets.engaged.GreatSword.LowAcc.SamRoll = {
- ammo="Coiste Bodhar",
- head="Flamma Zucchetto +2", body=Val_QA_body,
- back=Ank_DA_TP, neck="Abyssal Bead Necklace +2",
- hands=Val_QA_hands, waist="Ioskeha Belt +1",
- legs="Ignominy Flanchard +3", feet="Flamma Gambieras +2",
- ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
- ear1="Cessance Earring", ear2="Brutal Earring"}
- sets.engaged.GreatSword.MidAcc.SamRoll = sets.engaged.GreatSword.MidAcc
- sets.engaged.GreatSword.HighAcc.SamRoll = sets.engaged.GreatSword.HighAcc
- sets.engaged.Haste.GreatSword.SamRoll = set_combine(sets.engaged.GreatSword.SamRoll, {waist="Windbuffet Belt +1"})
- sets.engaged.Haste.GreatSword.LowAcc.SamRoll = set_combine(sets.engaged.GreatSword.LowAcc.SamRoll, {waist="Windbuffet Belt +1"})
- sets.engaged.Haste.GreatSword.MidAcc.SamRoll = set_combine(sets.engaged.GreatSword.MidAcc.SamRoll, {waist="Ioskeha Belt +1"})
- sets.engaged.Haste.GreatSword.HighAcc.SamRoll = set_combine(sets.engaged.GreatSword.HighAcc.SamRoll, {waist="Ioskeha Belt +1"})
- -- DamageTaken
- sets.engaged.DamageTaken = {
- ammo="Coiste Bodhar",
- head="Hjarrandi Helm", body="Sakpata's Breastplate",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Tempus Fugit +1",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings",
- ring1="Niqmaddu Ring", ring2="Moonlight Ring",
- ear1="Telos Earring", ear2="Dignitary's Earring"}
- sets.engaged.LowAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {})
- sets.engaged.MidAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {})
- sets.engaged.HighAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {})
- -- With capped delay.
- sets.engaged.Haste.DamageTaken = set_combine(sets.engaged.DamageTaken, {waist="Ioskeha Belt +1"})
- sets.engaged.Haste.LowAcc.DamageTaken = set_combine(sets.engaged.LowAcc.DamageTaken, {waist="Ioskeha Belt +1"})
- sets.engaged.Haste.MidAcc.DamageTaken = set_combine(sets.engaged.MidAcc.DamageTaken, {waist="Ioskeha Belt +1"})
- sets.engaged.Haste.HighAcc.DamageTaken = set_combine(sets.engaged.HighAcc.DamageTaken, {waist="Ioskeha Belt +1"})
- -- Liberator DamageTaken
- sets.engaged.Liberator.DamageTaken = {
- ammo="Coiste Bodhar",
- head="Hjarrandi Helm", body="Hjarrandi Breastplate",
- back=Ank_STP, neck="Abyssal Bead Necklace +2",
- hands="Sakpata's Gauntlets", waist="Tempus Fugit +1",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings",
- ring1="Niqmaddu Ring", ring2="Moonlight Ring",
- ear1="Telos Earring", ear2="Dignitary's Earring"}
- sets.engaged.Liberator.LowAcc.DamageTaken = set_combine(sets.engaged.Liberator.DamageTaken, {})
- sets.engaged.Liberator.MidAcc.DamageTaken = set_combine(sets.engaged.Liberator.DamageTaken, {})
- sets.engaged.Liberator.HighAcc.DamageTaken = set_combine(sets.engaged.Liberator.DamageTaken, {})
- -- Liberator AM3
- sets.engaged.Liberator.DamageTaken.AM3 = sets.engaged.Liberator.DamageTaken
- sets.engaged.Liberator.LowAcc.DamageTaken.AM3 = sets.engaged.Liberator.LowAcc.DamageTaken
- sets.engaged.Liberator.MidAcc.DamageTaken.AM3 = sets.engaged.Liberator.MidAcc.DamageTaken
- sets.engaged.Liberator.HighAcc.DamageTaken.AM3 = sets.engaged.Liberator.HighAcc.DamageTaken
- -- With capped delay.
- sets.engaged.Haste.Liberator.DamageTaken = sets.engaged.Haste.DamageTaken
- sets.engaged.Haste.Liberator.LowAcc.DamageTaken = sets.engaged.Haste.LowAcc.DamageTaken
- sets.engaged.Haste.Liberator.MidAcc.DamageTaken = sets.engaged.Haste.MidAcc.DamageTaken
- sets.engaged.Haste.Liberator.HighAcc.DamageTaken = sets.engaged.Haste.HighAcc.DamageTaken
- -- Liberator AM3 with capped delay.
- sets.engaged.Haste.Liberator.DamageTaken.AM3 = sets.engaged.Haste.DamageTaken
- sets.engaged.Haste.Liberator.LowAcc.DamageTaken.AM3 = sets.engaged.Haste.LowAcc.DamageTaken
- sets.engaged.Haste.Liberator.MidAcc.DamageTaken.AM3 = sets.engaged.Haste.MidAcc.DamageTaken
- sets.engaged.Haste.Liberator.HighAcc.DamageTaken.AM3 = sets.engaged.Haste.HighAcc.DamageTaken
- -- Anguta DamageTaken
- sets.engaged.Anguta.DamageTaken = sets.engaged.DamageTaken
- sets.engaged.Anguta.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
- sets.engaged.Anguta.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
- sets.engaged.Anguta.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
- -- With capped delay.
- sets.engaged.Haste.Anguta.DamageTaken = sets.engaged.Haste.DamageTaken
- sets.engaged.Haste.Anguta.LowAcc.DamageTaken = sets.engaged.Haste.LowAcc.DamageTaken
- sets.engaged.Haste.Anguta.MidAcc.DamageTaken = sets.engaged.Haste.MidAcc.DamageTaken
- sets.engaged.Haste.Anguta.HighAcc.DamageTaken = sets.engaged.Haste.HighAcc.DamageTaken
- -- Apocalypse DamageTaken
- sets.engaged.Apocalypse.DamageTaken = sets.engaged.DamageTaken
- sets.engaged.Apocalypse.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
- sets.engaged.Apocalypse.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
- sets.engaged.Apocalypse.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
- -- Apocalypse AM
- sets.engaged.Apocalypse.DamageTaken.AM = sets.engaged.DamageTaken
- sets.engaged.Apocalypse.LowAcc.DamageTaken.AM = sets.engaged.LowAcc.DamageTaken
- sets.engaged.Apocalypse.MidAcc.DamageTaken.AM = sets.engaged.MidAcc.DamageTaken
- sets.engaged.Apocalypse.HighAcc.DamageTaken.AM = sets.engaged.HighAcc.DamageTaken
- -- With capped delay.
- sets.engaged.Haste.Apocalypse.DamageTaken = sets.engaged.Haste.DamageTaken
- sets.engaged.Haste.Apocalypse.LowAcc.DamageTaken = sets.engaged.Haste.LowAcc.DamageTaken
- sets.engaged.Haste.Apocalypse.MidAcc.DamageTaken = sets.engaged.Haste.MidAcc.DamageTaken
- sets.engaged.Haste.Apocalypse.HighAcc.DamageTaken = sets.engaged.Haste.HighAcc.DamageTaken
- -- Apocalypse AM with capped delay.
- sets.engaged.Haste.Apocalypse.DamageTaken.AM = sets.engaged.Haste.DamageTaken
- sets.engaged.Haste.Apocalypse.LowAcc.DamageTaken.AM = sets.engaged.Haste.LowAcc.DamageTaken
- sets.engaged.Haste.Apocalypse.MidAcc.DamageTaken.AM = sets.engaged.Haste.MidAcc.DamageTaken
- sets.engaged.Haste.Apocalypse.HighAcc.DamageTaken.AM = sets.engaged.Haste.HighAcc.DamageTaken
- -- GreatSword DamageTaken
- sets.engaged.GreatSword.DamageTaken =sets.engaged.DamageTaken
- sets.engaged.GreatSword.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
- sets.engaged.GreatSword.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
- sets.engaged.GreatSword.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
- -- With capped delay.
- sets.engaged.Haste.GreatSword.DamageTaken = sets.engaged.Haste.DamageTaken
- sets.engaged.Haste.GreatSword.LowAcc.DamageTaken = sets.engaged.Haste.LowAcc.DamageTaken
- sets.engaged.Haste.GreatSword.MidAcc.DamageTaken = sets.engaged.Haste.MidAcc.DamageTaken
- sets.engaged.Haste.GreatSword.HighAcc.DamageTaken = sets.engaged.Haste.HighAcc.DamageTaken
- -- str 46, dex 29, vit 39, acc 50, atk 48, wsd 10 - AF3 Body
- -- str 35, dex 24, vit 35, acc 40, atk 55, wsd 10, da 3 - Nyame
- -- Weaponskill sets
- sets.precast.WS = {
- ammo="Coiste Bodhar",
- head="Nyame Helm", body="Ignominy Cuirass +3",
- back=Ank_DA_STR, neck="Abyssal Beads +2",
- hands="Nyame Gauntlets", waist="Sailfi Belt +1",
- legs="Fallen's Flanchard +3", feet="Nyame Sollerets",
- ring1="Karieyh Ring +1", ring2="Regal Ring",
- ear1="Brutal Earring", ear2="Moonshade Earring"}
- sets.precast.WS.Attack = set_combine(sets.precast.WS, {
- ammo="Crepuscular Pebble",
- head="Sakpata's Helm", body="Sakpata's Breastplate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings"})
- -- WSD SET
- sets.precast.WS.WSD = {
- ammo="Knobkierrie",
- head="Nyame Helm", body="Ignominy Cuirass +3",
- back=Ank_WSdmg_STR, neck="Abyssal Beads +2",
- hands="Nyame Gauntlets", waist="Sailfi Belt +1",
- legs="Fallen's Flanchard +3", feet="Nyame Sollerets",
- ring1="Karieyh Ring +1", ring2="Epaminondas's Ring",
- ear1="Thrud Earring", ear2="Moonshade Earring"}
- sets.precast.WS.WSD.Attack = set_combine(sets.precast.WS.WSD, {
- ammo="Crepuscular Pebble",
- head="Sakpata's Helm", body="Sakpata's Breastplate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings"})
- -- SCYTHE WSD
- sets.precast.WS.WSD.Scythe = {
- ammo="Knobkierrie",
- head="Nyame Helm", body="Ignominy Cuirass +3",
- back=Ank_WSdmg_STR, neck="Abyssal Beads +2",
- hands="Nyame Gauntlets", waist="Sailfi Belt +1",
- legs="Ratri Cuisses +1", feet="Nyame Sollerets",
- ring1="Karieyh Ring +1", ring2="Epaminondas's Ring",
- ear1="Brutal Earring", ear2="Moonshade Earring"}
- sets.precast.WS.WSD.Scythe.Attack = set_combine(sets.precast.WS.WSD.Scythe, {
- ammo="Crepuscular Pebble", legs="Fallen's Flanchard +3"})
- -- MultiHit
- sets.precast.WS.MultiHit = {
- ammo="Coiste Bodhar",
- head="Sakpata's Helm", body="Sakpata's Breastplate",
- back=Ank_DA_STR, neck="Abyssal Beads +2",
- hands="Sakpata's Gauntlets", waist="Sailfi Belt +1",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings",
- ring1="Niqmaddu Ring", ring2="Regal Ring",
- ear1="Brutal Earring", ear2="Moonshade Earring"}
- sets.precast.WS.MultiHit.Attack = set_combine(sets.precast.WS.MultiHit, {
- ammo="Crepuscular Pebble",
- head="Sakpata's Helm", body="Sakpata's Breastplate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings"})
- -- Crit WS
- sets.precast.WS.Crit = {
- ammo="Coiste Bodhar",
- head="Nyame Helm", body="Hjarrandi Breastplate",
- back=Ank_WSdmg_STR, neck="Abyssal Beads +2",
- hands="Nyame Gauntlets", waist="Sailfi Belt +1",
- legs="Nyame Flanchard", feet="Nyame Sollerets",
- ring1="Karieyh Ring +1", ring2="Regal Ring",
- ear1="Thrud Earring", ear2="Moonshade Earring"}
- sets.precast.WS.Crit.Attack = set_combine(sets.precast.WS.Crit, {
- ammo="Crepuscular Pebble",
- head="Sakpata's Helm", body="Sakpata's Breastplate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses", feet="Sakpata's Leggings"})
- -- FTP WS's to use fotia on = Resolution, Entropy, CDC, Requiescat, Vorpal Blade, all HTH, Decimation, Rampage, and Ruinator
- -- Insurgency, 4 hit - FTP 0.5, 3.25, 6 - STR/INT 20% -- Fusion/Compression
- sets.precast.WS['Insurgency'] = set_combine(sets.precast.WS.MultiHit, {
- back=Ank_DA_INT,})
- sets.precast.WS['Insurgency'].Attack = set_combine(sets.precast.WS.MultiHit.Attack, {
- back=Ank_DA_INT,})
- -- Entropy, 4 hit - FTP 0.75, 1.25, 2, - INT 85% - Dark/Gravitation/Reverberation
- --FTP transfers, can use gorget.
- sets.precast.WS['Entropy'] = set_combine(sets.precast.WS.MultiHit, {
- back=Ank_DA_INT, waist="Fotia Belt"})
- sets.precast.WS['Entropy'].Attack = set_combine(sets.precast.WS.MultiHit.Attack, {
- back=Ank_DA_INT, waist="Fotia Belt"})
- -- Catastrophe, 1 hit - FTP 2.75 - STR/INT 40% - Darkness/Gravitation
- sets.precast.WS['Catastrophe'] = set_combine(sets.precast.WS.WSD.Scythe, {
- ear2="Brutal Earring"})
- sets.precast.WS['Catastrophe'].Attack = set_combine(sets.precast.WS.WSD.Scythe.Attack, {
- ear2="Brutal Earring"})
- -- Cross Reaper, 2 hit - FTP 2, 4, 7 - STR/INT 60% - Distortion
- sets.precast.WS['Cross Reaper'] = set_combine(sets.precast.WS.WSD.Scythe, {})
- sets.precast.WS['Cross Reaper'].Attack = set_combine(sets.precast.WS.WSD.Scythe.Attack, {})
- -- Quietus, 1 hit - FTP 3.0, - STR/MMD 60% - Darkness/Distortion
- sets.precast.WS['Quietus'] = set_combine(sets.precast.WS.WSD.Scythe, {})
- sets.precast.WS['Quietus'].Attack = set_combine(sets.precast.WS.WSD.Scythe.Attack, {})
- -- Resolution, 5 hit - FTP .71, 1.5, 2.25, - STR 85% - Frag/Scission
- --FTP transfers, can use gorget.
- sets.precast.WS['Resolution'] = set_combine(sets.precast.WS.MultiHit, {})
- sets.precast.WS['Resolution'].Attack = set_combine(sets.precast.WS.MultiHit.Attack, {})
- -- Torcleaver - FTP 4.75, 7.5, 10, - VIT 80% -- Light/Distortion
- sets.precast.WS['Torcleaver'] = set_combine(sets.precast.WS.WSD, {
- back=Ank_Wsdmg_VIT})
- sets.precast.WS['Torcleaver'].Attack = set_combine(sets.precast.WS.WSD.Attack, {
- back=Ank_Wsdmg_VIT})
- -- Scourge, 1 hit - FTP 3.0, - STR/VIT 40% - Light/Fusion
- sets.precast.WS['Scourge'] = sets.precast.WS['Torcleaver']
- sets.precast.WS['Scourge'].Attack = sets.precast.WS['Torcleaver'].Attack
- -- Savage Blade - 50% STR/MND 2 hit, use WSD.
- sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS.WSD, {})
- sets.precast.WS['Savage Blade'].Attack = set_combine(sets.precast.WS.WSD.Attack, {})
- -- Judgment, 1 hit - FTP 3.5, 8.75, 12.01 - STR/MND 50% - Impaction
- sets.precast.WS['Judgment'] = set_combine(sets.precast.WS.WSD, {})
- sets.precast.WS['Judgment'].Acc = set_combine(sets.precast.WS.WSD.Attack, {})
- -- Sanguine Blade
- sets.precast.WS['Sanguine Blade'] = {
- ammo="Knobkierrie",
- head="Pixie Hairpin +1", body="Nyame Mail",
- back=Ank_WSdmg_STR, neck="Abyssal Beads +2",
- hands="Nyame Gauntlets", waist="Eschan Stone",
- legs="Nyame Flanchard", feet="Nyame Sollerets",
- ring1="Karieyh Ring +1", ring2="Regal Ring",
- ear1="Thrud Earring", ear2="Moonshade Earring"}
- sets.precast.WS['Sanguine Blade'].Attack = set_combine(sets.precast.WS['Sanguine Blade'], {
- ammo="Crepuscular Pebble"})
- end
- function job_pretarget(spell, action, spellMap, eventArgs)
- if spell.type:endswith('Magic') and buffactive.silence then
- eventArgs.cancel = true
- send_command('input /item "Echo Drops" <me>')
- end
- end
- -- 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)
- get_combat_weapon()
- aw_custom_aftermath_timers_precast(spell)
- end
- function job_post_precast(spell, action, spellMap, eventArgs)
- local recast = windower.ffxi.get_ability_recasts()
- -- Make sure abilities using head gear don't swap
- if spell.type:lower() == 'weaponskill' then
- if player.tp > 2999 then
- equip(sets.BrutalLugra)
- else -- use Lugra + moonshade
- if world.time >= (17*60) or world.time <= (7*60) then
- equip(sets.Lugra)
- else
- -- do nothing.
- end
- end
- end
- end
- -- Is this function even needed?
- function select_earring()
- if world.time >= (17*60) or world.time <= (7*60) then
- return sets.Lugra
- else
- -- do nothing
- end
- end
- -- Job-specific hooks for standard casting events.
- function job_midcast(spell, action, spellMap, eventArgs)
- end
- -- Run after the default midcast() is done.
- -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
- function job_post_midcast(spell, action, spellMap, eventArgs)
- if buffactive['Dark Seal'] and S{"Drain III"}:contains(spell.english)then
- equip({head="Fallen's Burgeonet +3"})
- end
- -- Weather Rules
- if spell.skill == 'Elemental Magic' then
- if spell.element == world.day_element or spell.element == world.weather_element then
- equip({waist="Hachirin-No-Obi"})
- end
- end
- if spell.skill == 'Dark Magic' then
- if spell.element == world.day_element or spell.element == world.weather_element then
- equip({waist="Hachirin-No-Obi"})
- end
- 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)
- aw_custom_aftermath_timers_aftercast(spell)
- if state.Buff[spell.english] ~= nil then
- state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
- end
- end
- function job_post_aftercast(spell, action, spellMap, eventArgs)
- end
- ---------------------------------------------------------------------
- -- Customization hooks for idle and melee sets, after they've been automatically constructed.
- ---------------------------------------------------------------------
- -- Called before the Include starts constructing melee/idle/resting sets.
- -- Can customize state or custom melee class values at this point.
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- function job_handle_equipping_gear(status, eventArgs)
- end
- -- Modify the default idle set after it was constructed.
- function customize_idle_set(idleSet)
- --if buffactive['Doom'] or state.Buff.Curse then
- -- idleSet = set_combine(idleSet, sets.Doom)
- -- send_command('@input /p Doomed.')
- --end
- return idleSet
- end
- -- Modify the default melee set after it was constructed.
- function customize_melee_set(meleeSet)
- if state.Buff.Souleater then
- meleeSet = set_combine(meleeSet, sets.Souleater)
- end
- --if buffactive['Doom'] or state.Buff.Curse then
- -- meleeSet = set_combine(meleeSet, sets.Doom)
- -- send_command('@input /p Doomed.')
- --end
- return meleeSet
- end
- ---------------------------------------------------------------------
- -- General hooks for other events.
- ---------------------------------------------------------------------
- -- Called when the player's status changes.
- function job_status_change(newStatus, oldStatus, eventArgs)
- if newStatus == "Engaged" then
- if Apoc_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('Apocalypse')
- elseif Anguta_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('Anguta')
- elseif GS_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('GreatSword')
- elseif Lib_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('Liberator')
- else
- state.CombatWeapon:reset()
- end
- end
- end
- -- 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)
- handle_equipping_gear(player.status)
- if state.Buff[buff] ~= nil then
- handle_equipping_gear(player.status)
- end
- if buff == "Souleater" then
- handle_equipping_gear(player.status)
- end
- if S{'haste','march','embrava','honor march', 'haste II', 'geo-haste', 'indi-haste', 'Last Resort'}:contains(buff:lower()) then
- if (buffactive['Last Resort']) then
- if (buffactive.embrava or buffactive.haste) and buffactive.march then
- state.CombatForm:set("Haste")
- if not midaction() then
- handle_equipping_gear(player.status)
- end
- end
- end
- end
- if buff == "Samurai Roll" then
- --classes.CustomMeleeGroups:clear()
- if (buff == "Samurai Roll" and gain) or buffactive['Samurai Roll'] then
- classes.CustomMeleeGroups:append('SamRoll')
- end
- end
- if buff == "Last Resort" then
- if gain then
- send_command('@wait 1.0;cancel hasso')
- else
- if not midaction() then
- send_command('@wait 1.0;input /ja "Hasso" <me>')
- end
- end
- end
- -- AM custom groups
- if buff:startswith('Aftermath') then
- if player.equipment.main == 'Liberator' then
- classes.CustomMeleeGroups:clear()
- if (buff == "Aftermath: Lv.3" and gain) or buffactive['Aftermath: Lv.3'] then
- classes.CustomMeleeGroups:append('AM3')
- add_to_chat(8, '-------------Mythic AM3 UP-------------')
- elseif (buff == "Aftermath: Lv.3" and not gain) then
- add_to_chat(8, '-------------Mythic AM3 DOWN-------------')
- end
- if not midaction() then
- handle_equipping_gear(player.status)
- end
- else
- classes.CustomMeleeGroups:clear()
- if buff == "Aftermath" and gain or buffactive.Aftermath then
- classes.CustomMeleeGroups:append('AM')
- end
- if not midaction() then
- handle_equipping_gear(player.status)
- end
- end
- end
- end
- ----------------------------------------------------------------------
- -- User code that supplements self-commands.
- -----------------------------------------------------------------------
- -- Called by the 'update' self-command, for common needs.
- -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
- function job_update(cmdParams, eventArgs)
- war_sj = player.sub_job == 'WAR' or false
- get_combat_form()
- get_combat_weapon()
- update_melee_groups()
- --select_default_macro_book()
- end
- -- 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 {})
- eventArgs.handled = true
- end
- end
- ----------------------------------------------------------------------
- -- Utility functions specific to this job.
- -----------------------------------------------------------------------
- function get_combat_form()
- if buffactive['Last Resort'] then
- if (buffactive.embrava or buffactive.haste) and buffactive.march then
- add_to_chat(8, '-------------Delay Capped-------------')
- state.CombatForm:set("Haste")
- else
- state.CombatForm:reset()
- end
- end
- -- Check Weapontype
- --if Apoc_weapons:contains(player.equipment.main) then
- -- state.CombatForm:set('Apocalypse')
- -- elseif Anguta_weapons:contains(player.equipment.main) then
- -- state.CombatForm:set('Anguta')
- -- elseif GS_weapons:contains(player.equipment.main) then
- -- state.CombatForm:set('GreatSword')
- -- elseif Lib_weapons:contains(player.equipment.main) then
- -- state.CombatForm:set('Liberator')
- -- else
- -- state.CombatForm:reset()
- -- end
- end
- function get_combat_weapon()
- state.CombatWeapon:reset()
- if Apoc_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('Apocalypse')
- elseif Anguta_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('Anguta')
- elseif GS_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('GreatSword')
- elseif Lib_weapons:contains(player.equipment.main) then
- state.CombatWeapon:set('Liberator')
- end
- --else -- Use regular set.
- -- state.CombatWeapon:reset()
- --end
- end
- function aw_custom_aftermath_timers_precast(spell)
- if spell.type == 'WeaponSkill' then
- info.aftermath = {}
- local mythic_ws = "Insurgency"
- info.aftermath.weaponskill = mythic_ws
- info.aftermath.duration = 0
- info.aftermath.level = math.floor(player.tp / 1000)
- if info.aftermath.level == 0 then
- info.aftermath.level = 1
- end
- if spell.english == mythic_ws and player.equipment.main == 'Liberator' then
- -- nothing can overwrite lvl 3
- if buffactive['Aftermath: Lv.3'] then
- return
- end
- -- only lvl 3 can overwrite lvl 2
- if info.aftermath.level ~= 3 and buffactive['Aftermath: Lv.2'] then
- return
- end
- if info.aftermath.level == 1 then
- info.aftermath.duration = 90
- elseif info.aftermath.level == 2 then
- info.aftermath.duration = 120
- else
- info.aftermath.duration = 180
- end
- end
- end
- end
- -- Call from job_aftercast() to create the custom aftermath timer.
- function aw_custom_aftermath_timers_aftercast(spell)
- if not spell.interrupted and spell.type == 'WeaponSkill' and
- info.aftermath and info.aftermath.weaponskill == spell.english and info.aftermath.duration > 0 then
- local aftermath_name = 'Aftermath: Lv.'..tostring(info.aftermath.level)
- send_command('timers d "Aftermath: Lv.1"')
- send_command('timers d "Aftermath: Lv.2"')
- send_command('timers d "Aftermath: Lv.3"')
- send_command('timers c "'..aftermath_name..'" '..tostring(info.aftermath.duration)..' down abilities/aftermath'..tostring(info.aftermath.level)..'.png')
- info.aftermath = {}
- end
- end
- function display_current_job_state(eventArgs)
- local msg = ''
- msg = msg .. 'Offense: '..state.OffenseMode.current
- msg = msg .. ', Hybrid: '..state.HybridMode.current
- if state.CombatForm.current ~= '' then
- msg = msg .. ', Form: ' .. state.CombatForm.current
- end
- if state.CombatWeapon.current ~= '' then
- msg = msg .. ', Weapon: ' .. state.CombatWeapon.current
- end
- --if state.SouleaterMode.value then
- -- msg = msg .. ', SE Cancel, '
- --end
- add_to_chat(123, msg)
- eventArgs.handled = true
- end
- -- Set eventArgs.handled to true if we don't want the automatic display to be run.
- -- Handle notifications of general user state change.
- function job_state_change(stateField, newValue, oldValue)
- end
- -- Custom spell mapping.
- function job_get_spell_map(spell, default_spell_map)
- if spell.skill == 'Dark Magic' and Absorbs:contains(spell.english) then
- return 'Absorb'
- end
- if spell.skill == 'Elemental Magic' then
- if LowTierNuke:contains(spell.english) then
- return 'LowTierNuke'
- else
- return 'HighTierNuke'
- end
- end
- end
- function update_melee_groups()
- classes.CustomMeleeGroups:clear()
- -- mythic AM
- if player.equipment.main == 'Liberator' then
- if buffactive['Aftermath: Lv.3'] then
- classes.CustomMeleeGroups:append('AM3')
- end
- else
- -- relic AM
- if buffactive['Aftermath'] then
- classes.CustomMeleeGroups:append('AM')
- end
- end
- -- Sam Roll
- if buffactive['Samurai Roll'] then
- classes.CustomMeleeGroups:append('SamRoll')
- 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(1, 2)
- elseif player.sub_job == 'RDM' then
- set_macro_page(2, 2)
- elseif player.sub_job == 'NIN' then
- set_macro_page(3, 2)
- elseif player.sub_job == 'THF' then
- set_macro_page(4, 2)
- else
- set_macro_page(1, 2)
- end
- end
Add Comment
Please, Sign In to add comment