Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- === Features ===
- If you want auto Reive detection for Ygnas Resolve+1, and Gavialis Helm for some of your WS, then you will need my User-Globals.lua
- Otherwise, you might be able to get away without it. (not tested)
- If you don't use organizer, then remove the include('organizer-lib') in get_sets() and remove sets.Organizer
- This lua has a few MODES you can toggle with hotkeys or macros, and there's a few situational RULES that activate without hotkeys
- ::MODES::
- SouleaterMode
- Status: OFF by default.
- Hotkey: Toggle this with @F9 (window key + F9).
- Macro: /console gs c togggle SouleaterMode
- Notes: This mode makes it possible to use Souleater in situations where you would normally avoid using it. When SouleaterMode
- is ON, Souleater will be canceled automatically after the first Weaponskill used. CAVEAT -. If Bloodweapon
- is active, or if Drain's HP Boost buff is active, then Souleater will remain active until the next WS used after
- either buff wears off.
- CapacityMode
- Status: OFF by default.
- Hotkey: with ALT + =
- Macro: /console cs c toggle CapacityMode
- Notes: It will full-time whichever piece of gear you specify in sets.CapacityMantle
- Extra Info: You can change the default (true|false) status of any MODE by changing their values in job_setup()
- ::RULES::
- Gavialis helm
- Status: enabled
- Setting: set use_gavialis = true below in job_setup.
- Notes: wslist defines weaponskills uused with Gavialis helm. This is a recent change Jan/2020, as it
- used to be the opposite, where you defined ws's that you didn't want to use it.
- Ygna's Resolve +1
- Status: enabled in Reive
- Setting: n/a
- Notes: Will automatically be used when you're in a reive. If you have my User-Globals.lua this will work
- with all your jobs that use mote's includes. Not just this one!
- Moonshade earring
- Status: Not used for WS's at 3000 TP.
- Setting: n/a
- You can hit F12 to display custom MODE status as well as the default stuff.
- Single handed weapons are handled in the sets.engaged.SW set. (sword + shield, etc.)
- ::NOTES::
- My sets have a specific order, or they will not function correctly.
- sets.engaged.[CombatForm][CombatWeapon][Offense or HybridMode][CustomMeleeGroups or CustomClass]
- CombatForm = Haste, DW, SW
- CombatWeapon = GreatSword, Scythe, Apocalypse, Ragnarok, Caladbolg, Liberator, Anguta
- OffenseMode = Mid, Acc
- HybridMode = PDT
- CustomMeleeGroups = AM3, AM, Haste
- CustomClass = OhShit
- CombatForm Haste is used when Last Resort + Hasso AND either Haste, March, Indi-Haste Geo-Haste is on you.
- CombatForm DW will activate with /dnc or /nin AND a weapon listed in drk_sub_weapons equipped offhand.
- SW is active with an empty sub-slot, or a shield listed in the shields = S{} list.
- CombatWeapon GreatSword will activate when you equip a GS listed in gsList in job_setup().
- CombatWeapon Scythe will activate when you equip a Scythe listed in scytheList in job_setup().
- Weapons that do not fall into these groups, or have sets by weapon name, will use default sets.engaged
- most gear sets derrive themselves from sets.engaged, so try to keep it updated. It's much smarter to derrive sets than to
- completely re-invent each gear set for every weapon. Let your gear inherit. Less code written means less errors.
- CustomMeleeGroups AM3 will activate when Aftermath lvl 3 is up, and CustomMeleeGroups AM will activate when relic Aftermath is up.
- There are no empy AM sets for now.
- --]]
- --
- -- 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')
- end
- -- Setup vars that are user-independent.
- function job_setup()
- state.CapacityMode = M(false, 'Capacity Point Mantle')
- include('Mote-TreasureHunter')
- state.TreasureMode:set('None')
- state.Buff.Souleater = buffactive.souleater or false
- state.Buff['Last Resort'] = buffactive['Last Resort'] or false
- -- Set the default to false if you'd rather SE always stay acitve
- state.SouleaterMode = M(true, 'Soul Eater Mode')
- -- state.LastResortMode = M(false, 'Last Resort Mode')
- -- Use Gavialis helm?
- use_gavialis = true
- -- Weaponskills you want Gavialis helm used with (only considered if use_gavialis = true)
- wsList = S{'Entropy', 'Resolution'}
- -- Greatswords you use.
- gsList = S{'Malfeasance', 'Macbain', 'Kaquljaan', 'Mekosuchus Blade', 'Ragnarok', 'Raetic Algol', 'Raetic Algol +1', 'Caladbolg', 'Montante +1', 'Albion' }
- scytheList = S{'Liberator', 'Apocalypse', 'Anguta', 'Raetic Scythe', 'Deathbane', 'Twilight Scythe' }
- remaWeapons = S{'Apocalypse', 'Anguta', 'Liberator', 'Caladbolg', 'Ragnarok', 'Redemption'}
- shields = S{'Rinda Shield'}
- -- 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'}
- -- Offhand weapons used to activate DW mode
- swordList = S{"Sangarius", "Sangarius +1", "Usonmunku", "Perun +1", "Tanmogayi"}
- get_combat_form()
- get_melee_groups()
- update_melee_groups()
- end
- -- Setup vars that are user-dependent. Can override this function in a sidecar file.
- function user_setup()
- -- Options: Override default values
- state.OffenseMode:options('Normal', 'Mid', 'Acc')
- state.HybridMode:options('Normal', 'PDT')
- state.WeaponskillMode:options('Normal', 'Mid', 'Acc')
- state.CastingMode:options('Normal', 'Acc')
- state.IdleMode:options('Normal', 'Sphere')
- state.RestingMode:options('Normal')
- state.PhysicalDefenseMode:options('PDT', 'Reraise')
- state.MagicalDefenseMode:options('MDT')
- state.CombatWeapon = M('Caladbolg', 'Apocalypse', 'Liberator','Naegling','Loxotic','Hepatizon')
- state.CombatWeapons = M('Utu','Blurred')
- war_sj = player.sub_job == 'WAR' or false
- -- Additional local binds
- send_command('bind !o input /equip ring2 "Warp Ring"; /echo Warping; wait 11; input /item "Warp Ring" <me>;')
- send_command('bind ^= gs c cycle treasuremode')
- send_command('bind != gs c toggle CapacityMode')
- send_command('bind @f9 gs c toggle SouleaterMode')
- send_command('bind !- gs equip sets.crafting')
- send_command('bind !m input /map')
- send_command('bind ^p gs c cycle CombatWeapon')
- send_command('bind !p gs c cycleback CombatWeapon')
- send_command('bind ^[ gs c cycle CombatWeapons')
- send_command('bind ![ gs c cycleback CombatWeapons')
- send_command('unbind m')
- select_default_macro_book(2)
- --send_command('bind ^` gs c toggle LastResortMode')
- target_distance = 8
- end
- -- Called when this job file is unloaded (eg: job change)
- function file_unload()
- send_command('unbind ^`')
- send_command('unbind !=')
- send_command('unbind ^[')
- send_command('unbind ![')
- send_command('unbind @f9')
- end
- -- Define sets and vars used by this job file.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- -- Precast Sets
- -- Precast sets to enhance JAs
- sets.precast.JA['Diabolic Eye'] = {hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}}}
- sets.precast.JA['Nether Void'] = {legs="Heathen's Flanchard +1"}
- sets.precast.JA['Dark Seal'] = {head={ name="Fall. Burgeonet +3", augments={'Enhances "Dark Seal" effect',}}}
- sets.precast.JA['Souleater'] = {head="Ig. Burgonet +3"}
- sets.precast.JA['Weapn Bash'] = {hands="Ig. Gauntlets +3"}
- sets.precast.JA['Blood Weapon'] = {body={ name="Fall. Cuirass +3", augments={'Enhances "Blood Weapon" effect',}}}
- sets.precast.JA['Last Resort'] = {feet={ name="Fall. Sollerets +3", augments={'Enhances "Desperate Blows" effect',}}}
- sets.precast.JA['Arcane Circle'] = {feet="Ig. Sollerets +3"}
- sets.precast.JA['Jump'] = sets.Jump
- sets.precast.JA['High Jump'] = sets.Jump
- sets.Jump = { feet="Ostro Greaves" }
- sets.CapacityMantle = { back="Mecistopins Mantle" }
- sets.WSDayBonus = { head="Gavialis Helm" }
- sets.WSBack = { back="Trepidity Mantle" }
- -- Earring considerations, given Lugra's day/night stats
- sets.BrutalLugra = { ear1="Brutal Earring", ear2="Lugra Earring +1" }
- sets.IshvaraLugra = { ear1="Ishvara Earring", ear2="Lugra Earring +1" }
- sets.Lugra = { ear1="Lugra Earring +1" }
- sets.Brutal = { ear1="Brutal Earring" }
- sets.Ishvara = { ear1="Ishvara Earring" }
- -- Waltz set (chr and vit)
- -- sets.precast.Waltz = {}
- -- Fast cast sets for spells
- sets.precast.FC = {
- ammo="Sapience Orb",
- head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
- body={ name="Fall. Cuirass +3", augments={'Enhances "Blood Weapon" effect',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
- feet={ name="Odyssean Greaves", augments={'"Fast Cast"+5','Attack+4',}},
- neck="Baetyl Pendant",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear=="Malignance Earring",
- right_ear="Loquac. Earring",
- left_ring="Kishar Ring",
- right_ring="Rahab Ring",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.precast.FC['Impact'] = {
- ammo="Sapience Orb",
- body="Twilight Cloak",
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
- feet={ name="Odyssean Greaves", augments={'"Fast Cast"+5','Attack+4',}},
- neck="Baetyl Pendant",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear=="Malignance Earring",
- right_ear="Loquac. Earring",
- left_ring="Kishar Ring",
- right_ring="Rahab Ring",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
- neck="Baetyl Pendant",
- ear1="Friomisi Earring",
- ear2="Malignance Earring",
- body="Fall. Cuirass +3",
- hands="Fall. Fin. Gaunt. +3",
- feet="Heath. Sollerets +1",
- })
- sets.precast.FC['Enfeebling Magic'] = set_combine(sets.precast.FC, {
- head="Cizin Helm +1",
- })
- -- Midcast Sets
- sets.midcast.FastRecast = {
- ammo="Sapience Orb",
- head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
- body={ name="Fall. Cuirass +3", augments={'Enhances "Blood Weapon" effect',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
- feet={ name="Odyssean Greaves", augments={'"Fast Cast"+5','Attack+4',}},
- neck="Baetyl Pendant",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear=="Malignance Earring",
- right_ear="Loquac. Earring",
- left_ring="Kishar Ring",
- right_ring="Rahab Ring",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}
- }
- sets.midcast.Trust = {ammo="Sapience Orb",
- head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
- body={ name="Fall. Cuirass +3", augments={'Enhances "Blood Weapon" effect',}},
- hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
- legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
- feet={ name="Odyssean Greaves", augments={'"Fast Cast"+5','Attack+4',}},
- neck="Baetyl Pendant",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear=="Malignance Earring",
- right_ear="Loquac. Earring",
- left_ring="Kishar Ring",
- right_ring="Rahab Ring",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- -- Specific spells
- sets.midcast['Dark Magic'] = {
- ammo="Pemphredo Tathlum",
- head="Ratri Sallet +1",
- neck="Erra Pendant",
- ear1="Malignance Earring",
- ear2="Dark Earring",
- body="Fallen's Cuirass +3",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- waist="Casso Sash",
- ring1="Evanescence Ring",
- ring2="Archon Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}},
- legs="Fallen's Flanchard +3",
- feet="Ratri Sollerets +1"}
- sets.midcast['Sleep II'] = {
- ammo="Pemphredo Tathlum",
- head="Ratri Sallet +1",
- neck="Erra Pendant",
- ear1="Malignance Earring",
- ear2="Dark Earring",
- body="Fallen's Cuirass +3",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- waist="Casso Sash",
- ring1="Evanescence Ring",
- ring2="Archon Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}},
- legs="Fallen's Flanchard +3",
- feet="Ratri Sollerets +1"}
- sets.midcast['Sleep II'].Acc = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1",
- neck="Erra Pendant",
- ear1="Digni. Earring",
- ear2="Malignance Earring",
- body="Ratri Plate +1",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Stikini Ring +1",
- ring2="Stikini Ring +1",
- waist="Eschan Stone",
- legs="Ratri Cuisses +1",
- feet="Ig. Sollerets +3",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.midcast['Break'] = {
- ammo="Pemphredo Tathlum",
- head="Ratri Sallet +1",
- neck="Erra Pendant",
- ear1="Malignance Earring",
- ear2="Dark Earring",
- body="Fallen's Cuirass +3",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- waist="Casso Sash",
- ring1="Evanescence Ring",
- ring2="Archon Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}},
- legs="Fallen's Flanchard +3",
- feet="Ratri Sollerets +1"}
- sets.midcast['Break'].Acc = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1",
- neck="Erra Pendant",
- ear1="Digni. Earring",
- ear2="Malignance Earring",
- body="Ratri Plate +1",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Stikini Ring +1",
- ring2="Stikini Ring +1",
- waist="Eschan Stone",
- legs="Ratri Cuisses +1",
- feet="Ig. Sollerets +3",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.midcast['Impact'] = {
- ammo="Pemphredo Tathlum",
- neck="Erra Pendant",
- ear1="Malignance Earring",
- ear2="Dark Earring",
- body="Twilight Cloak",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- waist="Casso Sash",
- ring1="Evanescence Ring",
- ring2="Archon Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}},
- legs="Fallen's Flanchard +3",
- feet="Ratri Sollerets +1"}
- sets.midcast['Impact'].Acc = {
- ammo="Pemphredo Tathlum",
- neck="Erra Pendant",
- ear1="Digni. Earring",
- ear2="Malignance Earring",
- body="Twilight Cloak",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Stikini Ring +1",
- ring2="Stikini Ring +1",
- waist="Eschan Stone",
- legs="Ratri Cuisses +1",
- feet="Ig. Sollerets +3",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.midcast.Endark = {
- ammo="Pemphredo Tathlum",
- head="Ig. Burgonet +3",
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- legs="Heath. Flanchard +1",
- feet="Rat. Sollerets +1",
- neck="Erra Pendant",
- waist="Casso Sash",
- left_ear="Mani Earring",
- right_ear="Dark Earring",
- left_ring="Evanescence Ring",
- right_ring="Stikini Ring +1",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}}
- }
- sets.midcast['Dark Magic'].Acc = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1",
- neck="Erra Pendant",
- ear1="Digni. Earring",
- ear2="Malignance Earring",
- body="Ratri Plate +1",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Stikini Ring +1",
- ring2="Stikini Ring +1",
- waist="Eschan Stone",
- legs="Ratri Cuisses +1",
- feet="Ig. Sollerets +3",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.midcast['Enfeebling Magic'] = {
- ammo="Pemphredo Tathlum",
- head="Befouled Crown",
- neck="Erra Pendant", -- 10 + 17 macc
- body="Ignominy Cuirass +3",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Kishar Ring",
- ring2="Regal Ring", -- 10 macc
- waist="Eschan Stone",
- legs="Fallen's Flanchard +3", -- 18 + 39macc
- back="Aput Mantle",
- feet="Flamma Gambieras +2"
- }
- sets.midcast['Elemental Magic'] = {
- ammo="Pemphredo Tathlum",
- head={ name="Jumalik Helm", augments={'MND+10','"Mag.Atk.Bns."+15','Magic burst dmg.+10%','"Refresh"+1',}},
- body={ name="Fall. Cuirass +3", augments={'Enhances "Blood Weapon" effect',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- legs="Augury Cuisses +1",
- feet="Heath. Sollerets +1",
- neck="Baetyl Pendant",
- waist="Eschan Stone",
- left_ear="Malignance Earring",
- right_ear="Friomisi Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- -- Mix of HP boost, -Spell interruption%, and Dark Skill
- sets.midcast['Dread Spikes'] = {
- ammo="Egoist's Tathlum",
- head="Ratri Sallet +1",
- body="Heath. Cuirass +1",
- hands="Rat. Gadlings +1",
- legs="Ratri Cuisses +1",
- feet="Rat. Sollerets +1",
- neck="Unmoving Collar +1",
- waist="Oneiros Belt",
- left_ear="Odnowa Earring +1",
- right_ear="Tuisto Earring",
- left_ring="Moonlight Ring",
- right_ring={ name="Gelatinous Ring +1", augments={'Path: A',}},
- back="Moonlight Cape",
- }
- -- Drain spells
- sets.midcast.Drain = {
- ammo="Pemphredo Tathlum",
- {head={ name="Fall. Burgeonet +3", augments={'Enhances "Dark Seal" effect',}}},
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Rat. Sollerets +1",
- neck="Erra Pendant",
- waist="Austerity Belt +1",
- left_ear="Hirudinea Earring",
- right_ear="Malignance Earring",
- left_ring="Archon Ring",
- right_ring="Evanescence Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}}}
- sets.midcast.Aspir = sets.midcast.Drain
- sets.midcast.Drain.Acc = {
- ammo="Pemphredo Tathlum",
- {head={ name="Fall. Burgeonet +3", augments={'Enhances "Dark Seal" effect',}}},
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Rat. Sollerets +1",
- neck="Erra Pendant",
- waist="Austerity Belt +1",
- left_ear="Hirudinea Earring",
- right_ear="Malignance Earring",
- left_ring="Archon Ring",
- right_ring="Evanescence Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}}}
- sets.midcast.Aspir.Acc = {
- ammo="Pemphredo Tathlum",
- {head={ name="Fall. Burgeonet +3", augments={'Enhances "Dark Seal" effect',}}},
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Rat. Sollerets +1",
- neck="Erra Pendant",
- waist="Austerity Belt +1",
- left_ear="Hirudinea Earring",
- right_ear="Malignance Earring",
- left_ring="Archon Ring",
- right_ring="Evanescence Ring",
- back={ name="Niht Mantle", augments={'Attack+7','Dark magic skill +9','"Drain" and "Aspir" potency +24',}}}
- -- Absorbs
- sets.midcast.Absorb = {
- ammo="Pemphredo Tathlum",
- head="Ig. Burgonet +3",
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands="Pavor Gauntlets",
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Rat. Sollerets +1",
- neck="Erra Pendant",
- waist="Casso Sash",
- left_ear="Mani Earring",
- right_ear="Dark Earring",
- left_ring="Kishar Ring",
- right_ring="Stikini Ring +1",
- back="Chuparrosa Mantle",}
- sets.midcast.Absorb.Acc = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1",
- neck="Erra Pendant",
- ear1="Digni. Earring",
- ear2="Malignance Earring",
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Stikini Ring +1",
- ring2="Stikini Ring +1",
- waist="Eschan Stone",
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Rat. Sollerets +1",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb,{
- hands="Heathen's Gauntlets +1",
- ring1="Evanescence Ring",
- hands="Pavor Gauntlets",
- ring2="Kishar Ring",
- })
- sets.midcast['Absorb-TP'].Acc = {
- ammo="Pemphredo Tathlum",
- head="Carmine Mask +1",
- neck="Erra Pendant",
- ear1="Digni. Earring",
- ear2="Malignance Earring",
- body={ name="Carm. Sc. Mail +1", augments={'MP+80','INT+12','MND+12',}},
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Stikini Ring +1",
- ring2="Stikini Ring +1",
- waist="Eschan Stone",
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Rat. Sollerets +1",
- back={ name="Ankou's Mantle", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-2%',}}}
- sets.midcast['Blue Magic'] = set_combine(sets.midcast['Dark Magic'], {
- ear2="Malignance Earring", -- 3
- waist="Eschan Stone", -- 5
- ring1="Sangoma Ring", -- 10
- ring2="Weatherspoon Ring", -- 10 macc
- back="Aput Mantle",
- legs="Fallen's Flanchard +3", -- 18 + 39macc
- feet="Ratri Sollerets +1" -- macc 33
- })
- --------------------------------------
- -- Weapons
- --------------------------------------
- sets.weapons = {}
- sets.weapons.Liberator = {main={ name="Liberator", augments={'Path: A',}}}
- sets.weapons.Caladbolg = {main={ name="Caladbolg", augments={'Path: A',}}}
- sets.weapons.Apocalypse = {main={ name="Apocalypse", augments={'Path: A',}}}
- sets.weapons.Naegling = {main={ name="Naegling"}}
- sets.weapons.Loxotic = {main={ name="Loxotic Mace +1", augments={'Path: A',}}}
- sets.weapons.Hepatizon = {main={ name="Hepatizon Axe +1"}}
- sets.weapons.Utu = {sub="Utu Grip",}
- sets.weapons.Blurred = {sub="Blurred Shield +1"}
- -- WEAPONSKILL SETS
- -- General sets
- sets.precast.WS = {
- ammo="Knobkierrie",
- head={ name="Sakpata's Helm", augments={'Path: A',}},
- body="Ignominy Cuirass +3",
- hands={ name="Nyame Gauntlets", augments={'Path: B',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Sulev. Leggings +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- right_ear="Thrud Earring",
- left_ring="Karieyh Ring +1",
- right_ring="Epaminondas's Ring",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}}
- sets.precast.WS.Mid = set_combine(sets.precast.WS, {
- legs="Fallen's Flanchard +3",
- })
- sets.precast.WS.Acc = set_combine(sets.precast.WS.Mid, {
- body="Fallen's Cuirass +3",
- waist="Olseni Belt",
- })
- -- RESOLUTION
- -- 86-100% STR
- sets.precast.WS.Resolution = set_combine(sets.precast.WS, {
- head="Sakpata's Helm",
- neck="Breeze Gorget",
- --body="Valorous Mail",
- hands="Sulevia's Gauntlets +2",
- waist="Soil Belt",
- legs="Fallen's Flanchard +3",
- feet="Sulevia's Leggings +2"
- })
- sets.precast.WS.Resolution.Mid = set_combine(sets.precast.WS.Resolution, {
- head="Flamma Zucchetto +2",
- })
- sets.precast.WS.Resolution.Acc = set_combine(sets.precast.WS.Resolution.Mid, {
- ammo={ name="Seeth. Bomblet +1", augments={'Path: A',}},
- legs="Fallen's Flanchard +3",
- feet="Sulevia's Leggings +2"
- })
- -- TORCLEAVER
- -- VIT 80%
- sets.precast.WS.Torcleaver = set_combine(sets.precast.WS, {
- ammo="Knobkierrie",
- head={ name="Odyssean Helm", augments={'Weapon skill damage +4%','VIT+11','Accuracy+15','Attack+6',}},
- body="Ignominy Cuirass +3",
- hands={ name="Odyssean Gauntlets", augments={'Accuracy+29','Weapon skill damage +5%','VIT+7','Attack+15',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Sulev. Leggings +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- right_ear="Thrud Earring",
- left_ring="Karieyh Ring +1",
- right_ring={ name="Gelatinous Ring +1", augments={'Path: A',}},
- back={ name="Ankou's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%','Phys. dmg. taken-10%',}}})
- sets.precast.WS.Torcleaver.Mid = set_combine(sets.precast.WS.Torcleaver, {
- head={ name="Sakpata's Helm", augments={'Path: A',}},
- })
- sets.precast.WS.Torcleaver.Acc = set_combine(sets.precast.WS.Torcleaver.Mid, {
- hands="Sakpata's Gauntlets",
- })
- --Judgement
- sets.precast.WS['Shockwave'] = {
- ammo="Pemphredo Tathlum",
- head={ name="Nyame Helm", augments={'Path: B',}},
- body={ name="Nyame Mail", augments={'Path: B',}},
- hands={ name="Nyame Gauntlets", augments={'Path: B',}},
- legs={ name="Nyame Flanchard", augments={'Path: B',}},
- feet={ name="Nyame Sollerets", augments={'Path: B',}},
- neck="Erra Pendant",
- waist="Luminary Sash",
- left_ear="Gwati Earring",
- right_ear="Digni. Earring",
- left_ring="Stikini Ring +1",
- right_ring="Stikini Ring +1",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}}
- sets.precast.WS['Judgement'] = {ammo="Knobkierrie",
- head={ name="Sakpata's Helm", augments={'Path: A',}},
- body="Ignominy Cuirass +3",
- hands={ name="Nyame Gauntlets", augments={'Path: B',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Sulev. Leggings +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- right_ear="Thrud Earring",
- left_ring="Karieyh Ring +1",
- right_ring="Epaminondas's Ring",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}}
- --Savage Blade
- sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS, {
- ammo="Knobkierrie",
- head={ name="Sakpata's Helm", augments={'Path: A',}},
- body="Ignominy Cuirass +3",
- hands={ name="Odyssean Gauntlets", augments={'Accuracy+29','Weapon skill damage +5%','VIT+7','Attack+15',}},
- legs={ name="Fall. Flanchard +3", augments={'Enhances "Muted Soul" effect',}},
- feet="Sulev. Leggings +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- right_ear="Thrud Earring",
- left_ring="Karieyh Ring +1",
- right_ring="Epaminondas's Ring",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}})
- sets.precast.WS['Full Break'] = set_combine(sets.precast.WS, {
- ammo="Knobkierrie",
- head="Sakpata's Helm",
- body="Ignominy Cuirass +3",
- hands="Rat. Gadlings +1",
- legs="Ratri Cuisses +1",
- feet="Rat. Sollerets +1",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear="Thrud Earring",
- right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- left_ring="Karieyh Ring +1",
- right_ring="Regal Ring",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}})
- sets.precast.WS['Armor Break'] = set_combine(sets.precast.WS, {
- ammo="Knobkierrie",
- head="Sakpata's Helm",
- body="Ignominy Cuirass +3",
- hands="Rat. Gadlings +1",
- legs="Ratri Cuisses +1",
- feet="Rat. Sollerets +1",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear="Thrud Earring",
- right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- left_ring="Karieyh Ring +1",
- right_ring="Regal Ring",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}})
- -- INSURGENCY
- -- 20% STR / 20% INT
- -- Base set only used at 3000TP to put AM3 up
- sets.precast.WS.Insurgency = set_combine(sets.precast.WS, {
- ammo="Knobkierrie",
- head="Sakpata's Helm",
- body="Ignominy Cuirass +3",
- hands="Rat. Gadlings +1",
- legs="Ratri Cuisses +1",
- feet="Rat. Sollerets +1",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Fotia Belt",
- left_ear="Thrud Earring",
- right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
- left_ring="Niqmaddu Ring",
- right_ring="Regal Ring",
- back={ name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%','Damage taken-5%',}}}
- )
- sets.precast.WS.Insurgency.Mid = set_combine(sets.precast.WS.Insurgency, {
- head="Sakpata's Helm",
- })
- sets.precast.WS.Insurgency.Acc = set_combine(sets.precast.WS.Insurgency.Mid, {
- ammo={ name="Seeth. Bomblet +1", augments={'Path: A',}},
- body="Ignominy Cuirass +3",
- })
- sets.precast.WS.Catastrophe = set_combine(sets.precast.WS, {
- ammo="Knobkierrie",
- head={ name="Nyame Helm", augments={'Path: B',}},
- body={ name="Nyame Mail", augments={'Path: B',}},
- hands={ name="Nyame Gauntlets", augments={'Path: B',}},
- legs={ name="Nyame Flanchard", augments={'Path: B',}},
- feet={ name="Nyame Sollerets", augments={'Path: B',}},
- neck="Abyssal Beads +2",
- ear1="Lugra Earring +1",
- ear2="Thrud Earring",
- ring1="Niqmaddu Ring",
- ring2="Epaminondas's Ring",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- })
- sets.precast.WS.Catastrophe.Mid = set_combine(sets.precast.WS.Catastrophe, {})
- sets.precast.WS.Catastrophe.Acc = set_combine(sets.precast.WS.Catastrophe.Mid, {
- --body="Ratri Breastplate +1",
- })
- sets.precast.WS['Fell Cleave'] = set_combine(sets.precast.WS.Catastrophe, {
- head="Valorous Mask",
- feet="Sulevia's Leggings +2"
- })
- -- CROSS REAPER
- -- 60% STR / 60% MND
- sets.precast.WS['Cross Reaper'] = set_combine(sets.precast.WS, {
- head="Ratri Sallet +1",
- body="Ignominy Cuirass +3",
- hands="Rat. Gadlings +1",
- legs="Ratri Cuisses +1",
- feet="Rat. Sollerets +1",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- })
- sets.precast.WS['Cross Reaper'].Mid = set_combine(sets.precast.WS['Cross Reaper'], {
- })
- sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'].Mid, {
- ammo={ name="Seeth. Bomblet +1", augments={'Path: A',}},
- body="Fallen's Cuirass +3",
- })
- -- ENTROPY
- -- 86-100% INT
- sets.precast.WS.Entropy = set_combine(sets.precast.WS, {
- head="Sakpata's Helm",
- neck="Abyssal Bead Necklace +2",
- body="Ignominy Cuirass +3",
- ear1="Lugra Earring +1",
- waist="Fotia Belt",
- ring1="Niqmaddu Ring",
- ring2="Regal Ring",
- legs="Ignominy Flanchard +3", -- 5% haste
- feet="Rat. Sollerets +1",
- })
- sets.precast.WS.Entropy.Mid = set_combine(sets.precast.WS.Entropy, {
- head="Sakpata's Helm",
- })
- sets.precast.WS.Entropy.Acc = set_combine(sets.precast.WS.Entropy.Mid, {
- body="Fallen's Cuirass +3",
- ammo={ name="Seeth. Bomblet +1", augments={'Path: A',}},
- })
- -- Quietus
- -- 60% STR / MND
- sets.precast.WS.Quietus = set_combine(sets.precast.WS, {
- head="Ratri Sallet +1",
- neck="Abyssal Bead Necklace +2",
- body="Ignominy Cuirass +3",
- -- body="Ratri Breastplate +1",
- hands="Ratri Gadlings +1",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- ring1="Karieyh Ring +1",
- feet="Ratri Cuisses +1",
- feet="Ratri Sollerets +1"
- })
- sets.precast.WS.Quietus.Mid = set_combine(sets.precast.WS.Quietus, {
- })
- sets.precast.WS.Quietus.Acc = set_combine(sets.precast.WS.Quietus.Mid, {
- })
- -- SPIRAL HELL
- -- 50% STR / 50% INT
- sets.precast.WS['Spiral Hell'] = set_combine(sets.precast.WS['Entropy'], {
- neck="Abyssal Bead Necklace +2",
- body="Ignominy Cuirass +3",
- legs="Fallen's Flanchard +3",
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- })
- sets.precast.WS['Spiral Hell'].Mid = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Mid, { })
- sets.precast.WS['Spiral Hell'].Acc = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Acc, { })
- -- SHADOW OF DEATH
- -- 40% STR 40% INT - Darkness Elemental
- sets.precast.WS['Shadow of Death'] = set_combine(sets.precast.WS['Entropy'], {
- ammo="Knobkierrie",
- head="Ig. Burgonet +3",
- neck="Baetyl Pendant",
- ear1="Friomisi Earring",
- ear2="Malignance Earring",
- body="Fall. Cuirass +3",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Archon Ring",
- ring2="Epaminondas's Ring",
- back="Ankou's Mantle",
- waist="Orpheus's Sash",
- legs="Augury Cuisses +1",
- feet="Rat. Sollerets +1",
- })
- sets.precast.WS['Infernal Scythe'] = set_combine(sets.precast.WS['Entropy'], {
- ammo="Knobkierrie",
- head="Ig. Burgonet +3",
- neck="Baetyl Pendant",
- ear1="Friomisi Earring",
- ear2="Malignance Earring",
- body="Fall. Cuirass +3",
- hands={ name="Fall. Fin. Gaunt. +3", augments={'Enhances "Diabolic Eye" effect',}},
- ring1="Archon Ring",
- ring2="Epaminondas's Ring",
- back="Ankou's Mantle",
- waist="Orpheus's Sash",
- legs="Augury Cuisses +1",
- feet="Rat. Sollerets +1",
- })
- sets.precast.WS['Shadow of Death'].Mid = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Mid, {
- })
- sets.precast.WS['Shadow of Death'].Acc = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Acc, {
- })
- -- DARK HARVEST
- -- 40% STR 40% INT - Darkness Elemental
- sets.precast.WS['Dark Harvest'] = sets.precast.WS['Shadow of Death']
- sets.precast.WS['Dark Harvest'].Mid = set_combine(sets.precast.WS['Shadow of Death'], {})
- sets.precast.WS['Dark Harvest'].Acc = set_combine(sets.precast.WS['Shadow of Death'], {})
- -- REQUISCAT
- -- 73% MND - breath damage
- sets.precast.WS.Requiescat = set_combine(sets.precast.WS, {
- head="Flamma Zucchetto +2",
- neck="Abyssal Bead Necklace +2",
- body="Ignominy Cuirass +3",
- hands="Odyssean Gauntlets",
- waist="Soil Belt",
- })
- sets.precast.WS.Requiescat.Mid = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Mid)
- sets.precast.WS.Requiescat.Acc = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Acc)
- -- Idle sets
- sets.idle = {
- ammo="Staunch Tathlum +1",
- head="Sakpata's Helm",
- body="Sacro Breastplate",
- hands="Sakpata's Gauntlets",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Etiolation Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Chirich Ring +1",
- back="Moonlight Cape",
- }
- sets.idle.Town = set_combine(sets.idle, {
- ammo="Staunch Tathlum +1",
- head="Sakpata's Helm",
- body= "Councilor's Garb",
- hands="Sakpata's Gauntlets",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Etiolation Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Chirich Ring +1",
- back="Moonlight Cape",
- })
- sets.idle.Regen = set_combine(sets.idle.Field, {
- neck="Bathy Choker +1",
- body="Sacro Breastplate",
- ear2="Infused Earring",
- ring1="Chirich Ring +1",
- ring2="Chirich Ring +1",
- })
- sets.idle.Refresh = set_combine(sets.idle.Regen, {
- body="Lugra Cloak +1",ring1="Stikini Ring +1",ring2="Stikini Ring +1"
- })
- sets.idle.Weak = set_combine(sets.defense.PDT, {
- ammo="Staunch Tathlum +1",
- head="Sakpata's Helm",
- body="Tartarus Platemail",
- hands="Sakpata's Gauntlets",
- legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Odnowa Earring",
- right_ear="Odnowa Earring +1",
- left_ring="Defending Ring",
- right_ring="Chirich Ring +1",
- back="Moonlight Cape",
- })
- -- Defense sets
- sets.defense.PDT = {
- ammo="Aurgelmir Orb +1",
- head="Sulevia's Mask +2",
- body="Sacro Breastplate",
- hands="Sakpata's Gauntlets",
- legs="Sulev. Cuisses +2",
- feet="Flam. Gambieras +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Cessance Earring",
- right_ear="Telos Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Chirich Ring +1",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}}
- sets.defense.Reraise = {
- ammo="Staunch Tathlum +1",
- head="Twilight Helm",
- body="Twilight Mail",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Cessance Earring",
- right_ear="Telos Earring",
- left_ring="Defending Ring",
- right_ring="Moonlight Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}}
- sets.defense.MDT = set_combine(sets.defense.PDT, {
- ammo={ name="Coiste Bodhar", augments={'Path: A',}},
- head="Sakpata's Helm",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Cessance Earring",
- right_ear="Telos Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}}
- )
- sets.Kiting = {
- legs="Carmine Cuisses +1",
- }
- sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
- -- sets.HighHaste = {
- -- ammo="Aurgelmir Orb +1",
- -- head="Argosy Celata",
- -- }
- -- Defensive sets to combine with various weapon-specific sets below
- -- These allow hybrid acc/pdt sets for difficult content
- -- do not specify a cape so that DA/STP capes are used appropriately
- sets.Defensive = {
- ammo="Aurgelmir Orb +1",
- head="Sakpata's Helm",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Schere Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}}
- sets.Defensive_Mid = {
- ammo="Staunch Tathlum +1",
- head="Sakpata's Helm",
- body="Tartarus Platemail",
- hands="Sulev. Gauntlets +2",
- legs="Sulev. Cuisses +2",
- feet="Sulev. Leggings +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Cessance Earring",
- left_ring="Defending Ring",
- right_ring="Chirich Ring +1",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}}
- -- Higher DT, less haste
- sets.DefensiveHigh = set_combine(sets.Defensive, {
- ammo="Hasty Pinion +1",
- head="Hjarrandi Helm", -- no haste
- body="Flamma Korazin +2",
- hands="Volte Moufles",
- ring1="Patricius Ring",
- ring2="Sulevia's Ring",
- waist="Sailfi Belt +1",
- legs="Sulevia's Cuisses +2", -- 7% dt
- feet="Volte Sollerets",
- })
- sets.Defensive_Acc = set_combine(sets.Defensive_Mid, sets.DefensiveHigh)
- -- Base set (global catch-all set)
- sets.engaged = {
- ammo={ name="Coiste Bodhar", augments={'Path: A',}},
- head="Flam. Zucchetto +2",
- body={ name="Valorous Mail", augments={'Accuracy+20','"Store TP"+8','Attack+15',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs="Ig. Flanchard +3",
- feet="Flam. Gambieras +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Dedition Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}}
- sets.engaged.Mid = set_combine(sets.engaged, {
- left_ear="Telos Earring",
- right_ring="Regal Ring",
- })
- sets.engaged.Acc = set_combine(sets.engaged.Mid, {
- body={ name="Emicho Haubert +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- right_ear="Cessance Earring",
- left_ear="Telos Earring",
- right_ring="Regal Ring",
- })
- -- These only apply when delay is capped.
- sets.engaged.Haste = set_combine(sets.engaged, {
- waist="Sailfi Belt +1",
- })
- sets.engaged.Haste.Mid = set_combine(sets.engaged.Mid, {
- waist="Sailfi Belt +1",
- --waist="Windbuffet Belt +1"
- })
- sets.engaged.Haste.Acc = set_combine(sets.engaged.Acc, {})
- -- Hybrid
- sets.engaged.PDT = set_combine(sets.engaged, sets.Defensive, {
- ammo="Aurgelmir Orb +1",
- head="Sakpata's Helm",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Cessance Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}})
- sets.engaged.Mid.PDT = set_combine(sets.engaged.Mid, sets.Defensive_Mid)
- sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, sets.Defensive_Acc)
- -- Hybrid with capped delay
- sets.engaged.Haste.PDT = set_combine(sets.engaged.PDT, sets.DefensiveHigh)
- sets.engaged.Haste.Mid.PDT = set_combine(sets.engaged.Mid.PDT, sets.DefensiveHigh)
- sets.engaged.Haste.Acc.PDT = set_combine(sets.engaged.Acc.PDT, sets.DefensiveHigh)
- -- Liberator
- sets.engaged.Liberator = set_combine(sets.engaged, {ammo={ name="Coiste Bodhar", augments={'Path: A',}},
- head="Flam. Zucchetto +2",
- body={ name="Valorous Mail", augments={'Accuracy+20','"Store TP"+8','Attack+15',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs={ name="Odyssean Cuisses", augments={'Accuracy+24','"Store TP"+8','Attack+9',}},
- feet={ name="Valorous Greaves", augments={'Accuracy+21 Attack+21','"Store TP"+8','AGI+8','Accuracy+9','Attack+12',}},
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Dedition Earring",
- right_ear="Balder Earring +1",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}})
- sets.engaged.Liberator.Mid = sets.engaged.Mid
- sets.engaged.Liberator.Acc = set_combine(sets.engaged.Acc, {
- body={ name="Emicho Haubert +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- })
- -- Liberator AM3
- sets.engaged.Liberator.AM3 = set_combine(sets.engaged.Liberator, {
- ammo="Aurgelmir Orb +1",
- head="Flam. Zucchetto +2",
- body={ name="Valorous Mail", augments={'Accuracy+20','"Store TP"+8','Attack+15',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs={ name="Odyssean Cuisses", augments={'Accuracy+24','"Store TP"+8','Attack+9',}},
- feet={ name="Valorous Greaves", augments={'Accuracy+21 Attack+21','"Store TP"+8','AGI+8','Accuracy+9','Attack+12',}},
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Dedition Earring",
- right_ear="Balder Earring +1",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}}
- )
- sets.engaged.Liberator.Mid.AM3 = set_combine(sets.engaged.Liberator.AM3, {
- ammo="Aurgelmir Orb +1",
- head="Flam. Zucchetto +2",
- body={ name="Emicho Haubert +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs={ name="Odyssean Cuisses", augments={'Accuracy+24','"Store TP"+8','Attack+9',}},
- feet="Flam. Gambieras +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Cessance Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Regal Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Physical Damage taken-10%',}}
- })
- sets.engaged.Liberator.Acc.AM3 = set_combine(sets.engaged.Liberator.Mid.AM3, {
- ammo="Seeth. Bomblet +1",
- head="Flam. Zucchetto +2",
- body={ name="Emicho Haubert +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs={ name="Odyssean Cuisses", augments={'Accuracy+24','"Store TP"+8','Attack+9',}},
- feet="Flam. Gambieras +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Cessance Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Regal Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Physical Damage taken-10%',}}
- })
- -- Hybrid
- sets.engaged.Liberator.PDT = set_combine(sets.engaged.Liberator.AM3, {
- ammo="Aurgelmir Orb +1",
- head="Sakpata's Helm",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- left_ear="Telos Earring",
- right_ear="Schere Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- })
- sets.engaged.Liberator.Mid.PDT = set_combine(sets.engaged.Liberator.PDT, {
- right_ear="Cessance Earring",
- })
- sets.engaged.Liberator.Acc.PDT = set_combine(sets.engaged.Liberator.Acc, sets.DefensiveHigh)
- -- Hybrid with AM3 up
- sets.engaged.Liberator.PDT.AM3 = set_combine(sets.engaged.Liberator.AM3, sets.Defensive)
- sets.engaged.Liberator.Mid.PDT.AM3 = set_combine(sets.engaged.Liberator.Mid.AM3, sets.Defensive_Mid)
- sets.engaged.Liberator.Acc.PDT.AM3 = set_combine(sets.engaged.Liberator.Acc.AM3, sets.DefensiveHigh)
- -- Hybrid with capped delay
- -- Apocalypse
- sets.engaged.Apocalypse = set_combine(sets.engaged, {ammo={ name="Coiste Bodhar", augments={'Path: A',}},
- head="Flam. Zucchetto +2",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Ig. Flanchard +3",
- feet="Flam. Gambieras +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Telos Earring",
- right_ear="Balder Earring +1",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}})
- sets.engaged.Apocalypse.Mid = set_combine(sets.engaged.Mid, {
- right_ear="Cessance Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Regal Ring",
- })
- sets.engaged.Apocalypse.Acc = set_combine(sets.engaged.Acc, {
- body={ name="Emicho Haubert +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs="Ig. Flanchard +3",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Cessance Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Regal Ring",
- })
- -- Hybrid
- sets.engaged.Apocalypse.PDT = set_combine(sets.engaged.Apocalypse, {
- ammo="Aurgelmir Orb +1",
- head="Sakpata's Helm",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- left_ear="Telos Earring",
- right_ear="Schere Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- })
- sets.engaged.Apocalypse.Mid.PDT = set_combine(sets.engaged.Apocalypse.Mid, sets.Defensive_Mid)
- sets.engaged.Apocalypse.Acc.PDT = set_combine(sets.engaged.Apocalypse.Acc, sets.Defensive_Acc)
- -- Hybrid with relic AM
- -- sets.engaged.Apocalypse.PDT.AM = set_combine(sets.engaged.Apocalypse, sets.Defensive)
- -- sets.engaged.Apocalypse.Mid.PDT.AM = set_combine(sets.engaged.Apocalypse.Mid, sets.Defensive_Mid)
- -- sets.engaged.Apocalypse.Acc.PDT.AM = set_combine(sets.engaged.Apocalypse.Acc, sets.Defensive_Acc)
- -- Hybrid with capped delay
- -- Caladbolg
- sets.engaged.Caladbolg = set_combine(sets.engaged, {ammo={ name="Coiste Bodhar", augments={'Path: A',}},
- head="Flam. Zucchetto +2",
- body="Sakpata's Plate",
- hands="Flam. Manopolas +2",
- legs="Ig. Flanchard +3",
- feet="Flam. Gambieras +2",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist={ name="Sailfi Belt +1", augments={'Path: A',}},
- left_ear="Telos Earring",
- right_ear="Balder Earring +1",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",
- back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}})
- sets.engaged.Caladbolg.Mid = set_combine(sets.engaged.Caladbolg, {
- })
- sets.engaged.Caladbolg.Acc = set_combine(sets.engaged.Caladbolg.Mid, {
- body={ name="Emicho Haubert +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- hands={ name="Emi. Gauntlets +1", augments={'HP+65','DEX+12','Accuracy+20',}},
- legs="Ig. Flanchard +3",
- neck={ name="Abyssal Beads +2", augments={'Path: A',}},
- waist="Ioskeha Belt +1",
- left_ear="Telos Earring",
- right_ear="Cessance Earring",
- left_ring="Niqmaddu Ring",
- right_ring="Regal Ring",
- })
- sets.engaged.Caladbolg.PDT = set_combine(sets.engaged.Caladbolg,{ammo="Aurgelmir Orb +1",
- head="Sakpata's Helm",
- body="Sakpata's Plate",
- hands="Sakpata's Gauntlets",
- legs="Sakpata's Cuisses",
- feet="Sakpata's Leggings",
- left_ring="Niqmaddu Ring",
- right_ring="Hetairoi Ring",})
- sets.engaged.Caladbolg.Mid.PDT = set_combine(sets.engaged.Caladbolg.Mid, sets.Defensive_Mid)
- sets.engaged.Caladbolg.Acc.PDT = set_combine(sets.engaged.Caladbolg.Acc, sets.Defensive_Acc)
- sets.engaged.Haste.Caladbolg = set_combine(sets.engaged.Caladbolg, {
- })
- sets.engaged.Haste.Caladbolg.Mid = set_combine(sets.engaged.Caladbolg.Mid, {
- })
- sets.engaged.Haste.Caladbolg.Acc = set_combine(sets.engaged.Caladbolg.Acc, {
- })
- sets.engaged.Haste.Caladbolg.PDT = set_combine(sets.engaged.Caladbolg.PDT, sets.DefensiveHigh)
- sets.engaged.Haste.Caladbolg.Mid.PDT = set_combine(sets.engaged.Caladbolg.Mid.PDT, sets.DefensiveHigh)
- sets.engaged.Haste.Caladbolg.Acc.PDT = set_combine(sets.engaged.Caladbolg.Acc.PDT, sets.DefensiveHigh)
- -- dual wield
- sets.engaged.DW = set_combine(sets.engaged, {
- ear1="Eabani Earring",
- ear2="Suppanomimi",
- hands="Emicho Gauntlets",
- waist="Patentia Sash",
- legs="Carmine Cuisses +1",
- })
- sets.engaged.DW.Mid = set_combine(sets.engaged.DW, {
- neck="Abyssal Bead Necklace +2",
- })
- sets.engaged.DW.Acc = set_combine(sets.engaged.DW.Mid, {
- ear2="Telos Earring",
- })
- -- single wield (sword + shield possibly)
- sets.engaged.SW = set_combine(sets.engaged, {
- ammo="Yetshila",
- })
- sets.engaged.SW.Mid = set_combine(sets.engaged.Mid, {})
- sets.engaged.SW.Acc = set_combine(sets.engaged.Acc, {})
- sets.engaged.Reraise = set_combine(sets.engaged, {
- head="Twilight Helm",
- body="Twilight Mail"
- })
- sets.buff.Souleater = {
- head="Ignominy Burgonet +3",
- --body="Ratri Breastplate",
- }
- sets.MadrigalBonus = {
- hands="Composer's Mitts"
- }
- -- sets.buff['Last Resort'] = {
- -- feet="Fallen's Sollerets +1"
- -- }
- sets.midcast.ExtraWSDMG = {right_ear={ name="Lugra Earring +1", augments={'Path: A',}}}
- sets.FrenzySallet = {head="Frenzy Sallet"}
- 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)
- aw_custom_aftermath_timers_precast(spell)
- end
- function job_precast(spell, action, spellMap, eventArgs)
- if spell.prefix == '/magic' or spell.prefix == '/ninjutsu' or spell.prefix == '/song' then
- equip(sets.precast.FC)
- end
- if spell.english == 'Diabolic Eye' then
- equip(sets.precast.JA['Diabolic Eye'])
- end
- if spell.english == 'Nether Void' then
- equip(sets.precast.JA['Nether Void'])
- end
- if spell.english == 'Weapon Bash' then
- equip(sets.precast.JA['Weapn Bash'])
- end
- if spell.english == 'Dark Seal' then
- equip(sets.precast.JA['Dark Seal'])
- end
- if spell.english == 'Souleater' then
- equip(sets.precast.JA['Souleater'])
- end
- if spell.english == 'Blood Weapon' then
- equip(s.precast.JA['Blood Weapon'])
- end
- if spell.english == 'Last Resort' then
- equip(sets.precast.JA['Last Resort'])
- end
- if spell.type == "WeaponSkill" and spell.name ~= 'Mistral Axe' and spell.name ~= 'Bora Axe' and spell.target.distance > target_distance then
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Out of Range]')
- handle_equipping_gear(player.status)
- return
- end
- 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
- -- handle Gavialis Helm
- if use_gavialis then
- if wsList:contains(spell.english) then
- equip(sets.WSDayBonus)
- end
- end
- end
- if state.CapacityMode.value then
- equip(sets.CapacityMantle)
- end
- if spell.english == 'Insurgency' then
- if world.time >= (17*60) or world.time <= (7*60) then
- equip(sets.Lugra)
- end
- end
- end
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- function job_midcast(spell, action, spellMap, eventArgs)
- end
- -- 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 spell.english:startswith('Drain') then
- if player.status == 'Engaged' and state.CastingMode.current == 'Normal' and player.hpp < 70 then
- classes.CustomClass = 'OhShit'
- end
- end
- if (state.HybridMode.current == 'PDT' and state.PhysicalDefenseMode.current == 'Reraise') then
- equip(sets.Reraise)
- 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 checkblocking(spell)
- if buffactive.sleep or buffactive.petrification or buffactive.terror then
- --add_to_chat(3,'Canceling Action - Asleep/Petrified/Terror!')
- cancel_spell()
- return
- end
- if spell.english == "Double-Up" then
- if not buffactive["Double-Up Chance"] then
- add_to_chat(3,'Canceling Action - No ability to Double Up')
- cancel_spell()
- return
- end
- end
- if spell.name ~= 'Ranged' and spell.type ~= 'WeaponSkill' and spell.type ~= 'Scholar' and spell.type ~= 'Monster' then
- if spell.action_type == 'Ability' then
- if buffactive.Amnesia then
- cancel_spell()
- add_to_chat(3,'Canceling Ability - Currently have Amnesia')
- return
- else
- recasttime = windower.ffxi.get_ability_recasts()[spell.recast_id]
- if spell and (recasttime >= 1) then
- --add_to_chat(3,'Ability Canceled:'..spell.name..' - Waiting on Recast:(seconds) '..recasttime..'')
- cancel_spell()
- return
- end
- end
- end
- end
- end
- function job_post_aftercast(spell, action, spellMap, eventArgs)
- if spell.type == 'WeaponSkill' then
- if state.Buff.Souleater and state.SouleaterMode.value then
- send_command('@wait 1.0;cancel souleater')
- --enable("head")
- end
- end
- end
- function job_post_aftercast(spell, action, spellMap, eventArgs)
- if spell.interrupted and spell.type == 'WeaponSkill' then
- equipset = {sets.engaged}
- return
- end
- 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 player.hpp < 50 then
- idleSet = set_combine(idleSet, sets.idle.Regen)
- elseif player.mpp < 50 then
- idleSet = set_combine(idleSet, sets.idle.Refresh)
- end
- if state.IdleMode.current == 'Sphere' then
- idleSet = set_combine(idleSet, sets.idle.Sphere)
- end
- if state.HybridMode.current == 'PDT' then
- idleSet = set_combine(idleSet, sets.defense.PDT)
- end
- if state.CombatWeapon.value == 'Liberator' then
- idleSet = set_combine(idleSet, sets.weapons.Liberator)
- end
- if state.CombatWeapon.value == 'Caladbolg' then
- idleSet = set_combine(idleSet, sets.weapons.Caladbolg)
- end
- if state.CombatWeapon.value == 'Apocalypse' then
- idleSet = set_combine(idleSet, sets.weapons.Apocalypse)
- end
- if state.CombatWeapon.value == 'Naegling' then
- idleSet = set_combine(idleSet, sets.weapons.Naegling)
- end
- if state.CombatWeapon.value == 'Loxotic' then
- idleSet = set_combine(idleSet, sets.weapons.Loxotic)
- end
- if state.CombatWeapon.value == 'Hepatizon' then
- idleSet = set_combine(idleSet, sets.weapons.Hepatizon)
- end
- if state.CombatWeapons.value == 'Utu' then
- idleSet = set_combine(idleSet, sets.weapons.Utu)
- end
- if state.CombatWeapons.value == 'Blurred' then
- idleSet = set_combine(idleSet, sets.weapons.Blurred)
- end
- return idleSet
- end
- -- Modify the default melee set after it was constructed.
- function customize_melee_set(meleeSet)
- if state.TreasureMode.value == 'Fulltime' then
- meleeSet = set_combine(meleeSet, sets.TreasureHunter)
- end
- if state.CapacityMode.value then
- meleeSet = set_combine(meleeSet, sets.CapacityMantle)
- end
- if state.Buff['Souleater'] then
- meleeSet = set_combine(meleeSet, sets.buff.Souleater)
- end
- if state.CombatWeapon.value == 'Liberator' then
- meleeSet = set_combine(meleeSet, sets.weapons.Liberator)
- end
- if state.CombatWeapon.value == 'Caladbolg' then
- meleeSet = set_combine(meleeSet, sets.weapons.Caladbolg)
- end
- if state.CombatWeapon.value == 'Apocalypse' then
- meleeSet = set_combine(meleeSet, sets.weapons.Apocalypse)
- end
- if state.CombatWeapon.value == 'Naegling' then
- meleeSet = set_combine(meleeSet, sets.weapons.Naegling)
- end
- if state.CombatWeapon.value == 'Loxotic' then
- meleeSet = set_combine(meleeSet, sets.weapons.Loxotic)
- end
- if state.CombatWeapon.value == 'Hepatizon' then
- meleeSet = set_combine(meleeSet, sets.weapons.Hepatizon)
- end
- if state.CombatWeapons.value == 'Utu' then
- meleeSet = set_combine(meleeSet, sets.weapons.Utu)
- end
- if state.CombatWeapons.value == 'Blurred' then
- idleSet = set_combine(idleSet, sets.weapons.Blurred)
- end
- --meleeSet = set_combine(meleeSet, select_earring())
- 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 state.Buff['Last Resort'] then
- -- send_command('@wait 1.0;cancel hasso')
- --end
- -- handle weapon sets
- if remaWeapons:contains(player.equipment.main) then
- state.CombatWeapon:set(player.equipment.main)
- end
- -- if gsList:contains(player.equipment.main) then
- -- state.CombatWeapon:set("GreatSword")
- -- elseif scytheList:contains(player.equipment.main) then
- -- state.CombatWeapon:set("Scythe")
- -- elseif remaWeapons:contains(player.equipment.main) then
- -- state.CombatWeapon:set(player.equipment.main)
- -- else -- use regular set, which caters to Liberator
- -- state.CombatWeapon:reset()
- -- end
- --elseif newStatus == 'Idle' then
- -- determine_idle_group()
- 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 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
- -- if buffactive['Samurai Roll'] then
- -- classes.CustomRangedGroups:append('SamRoll')
- -- end
- end
- end
- function job_buff_change(buff, gain)
- if state.Buff[buff] ~= nil then
- handle_equipping_gear(player.status)
- end
- if S{'madrigal'}:contains(buff:lower()) then
- if buffactive.madrigal and state.OffenseMode.value == 'Acc' then
- equip(sets.MadrigalBonus)
- end
- end
- if S{'haste', 'march', 'embrava', '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
- else
- if state.CombatForm.current ~= 'DW' and state.CombatForm.current ~= 'SW' then
- state.CombatForm:reset()
- end
- if not midaction() then
- handle_equipping_gear(player.status)
- end
- end
- end
- -- Drain II/III HP Boost. Set SE to stay on.
- -- if buff == "Max HP Boost" and state.SouleaterMode.value then
- -- if gain or buffactive['Max HP Boost'] then
- -- state.SouleaterMode:set(false)
- -- else
- -- state.SouleaterMode:set(true)
- -- end
- -- end
- -- Make sure SE stays on for BW
- if buff == 'Blood Weapon' and state.SouleaterMode.value then
- if gain or buffactive['Blood Weapon'] then
- state.SouleaterMode:set(false)
- else
- state.SouleaterMode:set(true)
- 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
- -- if buff == "Samurai Roll" then
- -- classes.CustomRangedGroups:clear()
- -- if (buff == "Samurai Roll" and gain) or buffactive['Samurai Roll'] then
- -- classes.CustomRangedGroups: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
- 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)
- get_combat_form()
- get_melee_groups()
- 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 {})
- if state.TreasureMode.value == 'SATA' or state.TreasureMode.value == 'Fulltime' then
- equip(sets.TreasureHunter)
- end
- eventArgs.handled = true
- end
- 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 get_custom_wsmode(spell, spellMap, default_wsmode)
- -- if state.OffenseMode.current == 'Mid' then
- -- if buffactive['Aftermath: Lv.3'] then
- -- return 'AM3Mid'
- -- end
- -- elseif state.OffenseMode.current == 'Acc' then
- -- if buffactive['Aftermath: Lv.3'] then
- -- return 'AM3Acc'
- -- end
- -- else
- -- if buffactive['Aftermath: Lv.3'] then
- -- return 'AM3'
- -- end
- -- end
- -- end
- function job_buff_change(status, gain, gain_or_loss)
- --Equip Frenzy Sallet if we're asleep and engaged.
- if (status == "sleep" and gain_or_loss) and player.status == 'Engaged' then
- if gain then
- equip(sets.FrenzySallet)
- else
- handle_equipping_gear(player.status)
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Current Job State Display
- -------------------------------------------------------------------------------------------------------------------
- -- Set eventArgs.handled to true if we don't want the automatic display to be run.
- function display_current_job_state(eventArgs)
- local msg = 'Melee'
- if state.CombatForm.has_value then
- msg = msg .. ' (' .. state.CombatForm.value .. ')'
- end
- msg = msg .. ': '
- msg = msg .. state.OffenseMode.value
- if state.HybridMode.value ~= 'Normal' then
- msg = msg .. '/' .. state.HybridMode.value
- end
- msg = msg .. ', WS: ' .. state.WeaponskillMode.value
- if state.DefenseMode.value ~= 'None' then
- msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
- end
- if state.Kiting.value then
- msg = msg .. ', Kiting'
- end
- msg = msg .. ', Corr.: '..state.CorrelationMode.value
- if state.JugMode.value ~= 'None' then
- add_to_chat(8,'-- Jug Pet: '.. PetName ..' -- (Pet Info: '.. PetInfo ..', '.. PetJob ..')')
- end
- add_to_chat(28,'Ready Moves: 1.'.. ReadyMoveOne ..' 2.'.. ReadyMoveTwo ..' 3.'.. ReadyMoveThree ..' 4.'.. ReadyMoveFour ..' 5.'.. ReadyMoveFive ..'')
- add_to_chat(122, msg)
- eventArgs.handled = true
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- function get_combat_form()
- if S{'NIN', 'DNC'}:contains(player.sub_job) and swordList:contains(player.equipment.main) then
- state.CombatForm:set("DW")
- --elseif player.equipment.sub == '' or shields:contains(player.equipment.sub) then
- elseif swordList:contains(player.equipment.main) then
- state.CombatForm:set("SW")
- elseif 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
- else
- state.CombatForm: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.DefenseMode.value ~= 'None' then
- local defMode = state[state.DefenseMode.value ..'DefenseMode'].current
- msg = msg .. ', Defense: '..state.DefenseMode.value..' '..defMode
- end
- 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.CapacityMode.value then
- msg = msg .. ', Capacity: ON, '
- end
- if state.SouleaterMode.value then
- msg = msg .. ', SE Cancel, '
- end
- -- if state.LastResortMode.value then
- -- msg = msg .. ', LR Defense, '
- -- end
- if state.PCTargetMode.value ~= 'default' then
- msg = msg .. ', Target PC: '..state.PCTargetMode.value
- end
- if state.SelectNPCTargets.value then
- msg = msg .. ', Target NPCs'
- end
- add_to_chat(123, msg)
- eventArgs.handled = true
- end
- function get_melee_groups()
- classes.CustomMeleeGroups:clear()
- if buffactive['Aftermath: Lv.3'] then
- classes.CustomMeleeGroups:append('Aftermath')
- end
- 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
- -- Creating a custom spellMap, since Mote capitalized absorbs incorrectly
- 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.type == 'Trust' then
- -- return 'Trust'
- -- end
- end
- function select_earring()
- if world.time >= (17*60) or world.time <= (7*60) then
- return sets.Lugra
- else
- return sets.Brutal
- end
- end
- function job_post_precast(spell, action, spellMap, eventArgs)
- if spell.english == "Insurgency" or spell.english == "Cross Reaper" or spell.english == "Entropy" or spell.english == "Quietus" then
- if player.sub_job == 'WAR' or player.sub_job == 'SAM' then
- if player.tp > 2750 then
- equip(sets.midcast.ExtraWSDMG)
- end
- else
- if player.tp > 2520 then
- equip(sets.midcast.ExtraWSDMG)
- end
- 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
- -- if buffactive['Samurai Roll'] then
- -- classes.CustomRangedGroups:append('SamRoll')
- -- end
- end
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book(reset)
- if reset == 'reset' then
- -- lost pet, or tried to use pact when pet is gone
- end
- -- Default macro set/book
- set_macro_page(1, 15)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement