Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------------------------------------------
- -- Setup functions for this job. Generally should not be modified.
- -------------------------------------------------------------------------------------------------------------------
- -- Initialization function for this job file.
- function get_sets()
- mote_include_version = 2
- sets.obi = {Fire = {waist="Karin Obi"},
- Earth = {waist="Dorin Obi"},
- Water = {waist="Suirin Obi"},
- Wind = {waist="Furin Obi"},
- Ice = {waist="Hyorin Obi"},
- Lightning = {waist="Rairin Obi"},
- Light = {waist="Korin Obi"},
- Dark = {waist="Anrin Obi"}}
- -- Load and initialize the include file.
- include('Mote-Include.lua')
- end
- -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
- function job_setup()
- state.Buff['Aftermath'] = buffactive['Aftermath: Lv.1'] or
- buffactive['Aftermath: Lv.2'] or
- buffactive['Aftermath: Lv.3']
- or false
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
- -------------------------------------------------------------------------------------------------------------------
- -- Setup vars that are user-dependent. Can override this function in a sidecar file.
- function user_setup()
- state.OffenseMode:options('None', 'Mod', 'Acc')
- state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef', 'None')
- state.CastingMode:options('Normal', 'Resistant')
- state.IdleMode:options('Normal', 'PDT', 'MDT')
- state.PhysicalDefenseMode:options('PDTTP', 'PDT')
- state.WeaponskillMode:options('None','Mod')
- select_default_macro_book()
- 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['Last Resort'] = {feet="Abyss Sollerets +1"}
- sets.precast.JA['Arcane Circle'] = {feet="Chaos Sollerets"}
- sets.buff['Souleater'] = {}
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {}
- -- Don't need any special gear for Healing Waltz.
- sets.precast.Waltz['Healing Waltz'] = {}
- -- Fast cast sets for spells
- -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
- -- No other FC sets necessary.
- sets.precast.FC = {ammo="Bibiki Seashell",
- head="Walahra Turban",neck="Evasion Torque",ear1="Loquacious Earring",ear2="Brutal Earring",
- body="Plastron",hands="Dusk Gloves +1",ring1="Blitz Ring",ring2="Defending Ring",
- back="Boxer's Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {ammo="Bomb Core",
- head="Hecatomb Cap +1",neck="Justice Torque",ear1="Abyssal Earring",ear2="Brutal earring",
- body="Armada Hauberk",hands="Alkyoneus's Bracelets",ring1="Harmonius Ring",ring2="Rajas Ring",
- back="Cerberus Mantle +1",waist="Warwolf Belt",legs="Onyx Cuisses",feet="Hecatomb Leggings +1"}
- sets.precast.WS.Acc = {ammo="Fire Bomblet",
- head="Ace's Helm",neck="Justice Torque",ear1="Abyssal Earring",ear2="Brutal earring",
- body="Armada Hauberk",hands="Hecatomb Mittens +1",ring1="Toreador's Ring",ring2="Rajas Ring",
- back="Abyss Cape",waist="Life Belt",legs="Onyx Cuisses",feet="Hecatomb Leggings +1"}
- sets.precast.WS.Souleater = sets.buff['Souleater']
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- sets.precast.WS['Catastrophe'] = set_combine(sets.precast.WS, {neck="Soil Gorget",back="Cerberus Mantle +1"})
- sets.precast.WS['Catastrophe'].Acc = set_combine(sets.precast.WS.Acc, {neck="Soil Gorget"})
- sets.precast.WS['Catastrophe'].Mod = {ammo="Fire Bomblet",
- head="Chaos Burgeonet",neck="Soil Gorget",ear1="Cassie Earring",ear2="Intruder earring",
- body="Galkan Surcoat",hands="Alkyoneus'Barcelets",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Gigant Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.precast.WS['Guillotine'] = set_combine(sets.precast.WS, {neck="Snow Gorget",ring1="Toreador's Ring",back="Abyss Cape"})
- sets.precast.WS['Guillotine'].Acc = set_combine(sets.precast.WS.Acc, {neck="Snow Gorget"})
- sets.precast.WS['Guillotine'].Mod = {ammo="Fire Bomblet",
- head="Chaos Burgeonet",neck="Snow Gorget",ear1="Cassie Earring",ear2="Intruder earring",
- body="Galkan Surcoat",hands="Alkyoneus'Barcelets",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Gigant Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.precast.WS['Spiral Hell'] = set_combine(sets.precast.WS, {neck="Snow Gorget",back="Cerberus Mantle +1"})
- sets.precast.WS['Spiral Hell'].Acc = set_combine(sets.precast.WS.Acc, {neck="Snow Gorget"})
- sets.precast.WS['Spiral Hell'].Mod = {ammo="Fire Bomblet",
- head="Chaos Burgeonet",neck="Snow Gorget",ear1="Cassie Earring",ear2="Intruder earring",
- body="Galkan Surcoat",hands="Alkyoneus'Barcelets",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Gigant Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.precast.WS['Entropy'] = set_combine(sets.precast.WS, {neck="Soil Gorget",ring1="Toreador's Ring",back="Abyss Cape"})
- sets.precast.WS['Entropy'].Acc = set_combine(sets.precast.WS.Acc, {neck="Soil Gorget"})
- sets.precast.WS['Entropy'].Mod = {ammo="Fire Bomblet",
- head="Chaos Burgeonet",neck="Soil Gorget",ear1="Cassie Earring",ear2="Intruder earring",
- body="Galkan Surcoat",hands="Alkyoneus'Barcelets",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Gigant Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- -- Midcast Sets
- sets.midcast.FastRecast = sets.precast.FC
- sets.midcast.Cure = sets.precast.FC
- sets.midcast.Curaga = sets.midcast.Cure
- sets.midcast.CureSelf = {}
- sets.midcast['Enhancing Magic'] = {}
- sets.midcast['Enfeebling Magic'] = {}
- sets.midcast['Elemental Magic'] = {}
- sets.midcast.Utsusemi = {ammo="Bibiki Seashell",
- head="Walahra Turban",neck="Orochi Nodowa",ear1="Loquacious Earring",ear2="Brutal Earring",
- body="Plastron",hands="Dusk Gloves +1",ring1="Blitz Ring",ring2="Defending Ring",
- back="Boxer's Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.midcast.DarkMagic = {ammo="Phantom Tathlum",
- head="Chaos Burgeonet",neck="Aesir Torque",ear1="Loquacious Earring",ear2="Abyssal earring",
- body="Crimson Scale Mail",hands="Blood Finger Gauntlets",ring1="Snow Ring",ring2="Snow Ring",
- back="Abyss Cape",waist="Velocious Belt",legs="Abyss Flanchard +1",feet="Homam Gambieras"}
- sets.midcast['Enfeebling Magic'] = {ammo="Phantom Tathlum",
- head="Crimson Mask",neck="Spider Torque",ear1="Loquacious Earring",ear2="Abyssal earring",
- body="Crimson Scale Mail",hands="Abyss Gauntlets +1",ring1="Snow Ring",ring2="Snow Ring",
- back="Abyss Cape",waist="Velocious Belt",legs="Abyss Flanchard +1",feet="Abyss Sollerets +1"}
- sets.midcast['Elemental Magic'] = {ammo="Phantom Tathlum",
- head="Maat's Cap",neck="Spider Torque",ear1="Loquacious Earring",ear2="Abyssal earring",
- body="Crimson Scale Mail",hands="Abyss Gauntlets +1",ring1="Snow Ring",ring2="Snow Ring",
- back="Abyss Cape",waist="Velocious Belt",legs="Abyss Flanchard +1",feet="Abyss Sollerets +1"}
- sets.midcast['Dread Spikes'] = {ammo="Bibiki Seashell",
- head="Walahra Turban",neck="Orochi Nodowa",ear1="Intruder Earring",ear2="Cassie earring",
- body="Galkan Surcoat",hands="Alkyoneus'Barcelets",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Abyss Cape",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.midcast.Absorb = {ammo="Phantom Tathlum",
- head="Chaos Burgeonet",neck="Aesir Torque",ear1="Loquacious Earring",ear2="Abyssal earring",
- body="Crimson Scale Mail",hands="Onyx Gadlings",ring1="Snow Ring",ring2="Snow Ring",
- back="Abyss Cape",waist="Velocious Belt",legs="Onyx Cuisses",feet="Onyx Sollerets"}
- sets.midcast.Stun = sets.midcast.DarkMagic
- sets.midcast.Drain = sets.midcast.DarkMagic
- sets.midcast.Aspir = sets.midcast.DarkMagic
- sets.midcast['Absorb'] = sets.midcast.Absorb
- sets.buff['Souleater'] = {ammo="Fire Bomblet",
- head="Chaos Burgeonet",neck="Justice Torque",ear1="Cassie Earring",ear2="Intruder earring",
- body="Galkan Surcoat",hands="Dusk Gloves +1",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Gigant Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- -- Sets for special buff conditions on spells.
- -- Sets to return to when not performing an action.
- -- Resting sets
- sets.resting = {ammo="Bibiki Seashell",
- head="Walahra Turban",neck="Orochi Nodowa",ear1="Loquacious Earring",ear2="Brutal Earring",
- body="Plastron",hands="Dusk Gloves +1",ring1="Jelly Ring",ring2="Defending Ring",
- back="Boxer's Mantle",waist="Velocious Belt",legs="Crimson Cuisses",feet="Homam Gambieras"}
- -- Idle sets
- sets.idle.Town = {ammo="Bibiki Seashell",
- head="Maat's Cap",neck="Chocobo Whistle",ear1="Ethereal Earring",ear2="Abyssal Earring",
- body="Abyss Cuirass +1",hands="Abyss Gauntlets +1",ring1="Defending Ring",ring2="Toreador's Ring",
- back="Nexus Cape",waist="Velocious Belt",legs="Abyss Flanchard +1",feet="Abyss Sollerets +1"}
- sets.idle.Field = {ammo="Bibiki Seashell",
- head="Maat's Cap",neck="Chocobo Whistle",ear1="Ethereal Earring",ear2="Abyssal Earring",
- body="Plastron",hands="Abyss Gauntlets +1",ring1="Defending Ring",ring2="Jelly Ring",
- back="Boxer's Mantle",waist="Velocious Belt",legs="Crimson Cuisses",feet="Abyss Sollerets +1"}
- sets.idle.Weak = sets.resting
- --F10 PDT/ *******ALT F12 to reset to TP*******
- sets.idle.PDT = {ammo="Bibiki Seashell",
- head="Darksteel Cap +1",neck="Evasion Torque",ear1="Triton Earring",ear2="Ethereal Earring",
- body="Valhalla Breastplate",hands="Darksteel Mittens +1",ring1="Defending Ring",ring2="Jelly Ring",
- back="Boxer's Mantle +1",waist="Scouter's Rope",legs="Darksteel Subligar +1",feet="Darksteel Leggings +1"}
- --F11 MDT
- sets.idle.MDT = {ammo="Bibiki Seashell",
- head="Coral Visor",neck="Justice Torque",ear1="Ethereal Earring",ear2="Merman's Earring",
- body="Valhalla Breastplate",hands="Coral Finger Gauntlets",ring1="Defending Ring",ring2="Merman's Ring",
- back="Resentment Cape",waist="Warwolf Belt",legs="Abyss Flanchard +1",feet="Coral Greaves"}
- --CTRL F10 Kite
- sets.Kiting = set_combine(sets.defense.PDT, {legs="Crimson Cuisses"})
- sets.Reraise = sets.resting
- -- Defense sets
- sets.defense.PDT = sets.idle.PDT
- sets.defense.PDTTP = {ammo="Bibiki Seashell",
- head="Darksteel Cap +1",neck="Justice Torque",ear1="Ethereal Earring",ear2="Brutal Earring",
- body="Valhalla Breastplate",hands="Darksteel Mittens +1",ring1="Defending Ring",ring2="Rajas Ring",
- back="Cuchulian's Mantle",waist="Velocious Belt",legs="Darksteel Subligar +1",feet="Darksteel Leggings +1"}
- sets.defense.MDT = sets.idle.MDT
- -- Engaged sets
- -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
- -- sets if more refined versions aren't defined.
- -- If you create a set with both offense and defense modes, the offense mode should be first.
- -- EG: sets.engaged.Dagger.Accuracy.Evasion
- --Store TP Calculations
- --Apocalypse 513 Delay. 139 TP per swing
- --/SAM (STP II) 5 Hit: 29 STP needed (4 Hit: 65 STP)
- --/WAR 5 Hit: 44 STP needed
- --Spaghetti Carbonara: 6 STP
- --Set Below: 22 STP | 19.8% Equipment Haste (Walahra Turban Augment: 7 STP)
- --sets.engaged = {ammo="Fire Bomblet",
- -- head="Walahra Turban",neck="Chivalrous Chain",ear1="Abyssal Earring",ear2="Brutal earring",
- -- body="Aurum Cuirass",hands="Dusk Gloves +1",ring1="Ecphoria Ring",ring2="Rajas Ring",
- -- back="Cerberus Mantle +1",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- -- Normal melee group
- sets.engaged = {ammo="Fire Bomblet",
- head="Ace's Helm",neck="Justice Torque",ear1="Abyssal Earring",ear2="Brutal earring",
- body="Armada Hauberk",hands="Dusk Gloves +1",ring1="Toreador's Ring",ring2="Rajas Ring",
- back="Cuchulian's Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.engaged.Acc = {ammo="Fire Bomblet",
- head="Walahra Turban",neck="Chivalrous Chain",ear1="Abyssal Earring",ear2="Brutal earring",
- body="Aurum Cuirass",hands="Dusk Gloves +1",ring1="Ecphoria Ring",ring2="Rajas Ring",
- back="Cuchulian's Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.engaged.Mod = {ammo="White Tathlum",
- head="Walahra Turban",neck="Chivalrous Chain",ear1="Abyssal Earring",ear2="Brutal earring",
- body="Aurum Cuirass",hands="Dusk Gloves +1",ring1="Toreador's Ring",ring2="Rajas Ring",
- back="Cuchulian's Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- sets.engaged.Defense = set_combine(sets.idle.PDT, {neck="Justice Torque",ear1="Abyssal Earring",ear2="Brutal Earring",waist="Velocious Belt"})
- sets.engaged.Souleater = {ammo="Fire Bomblet",
- head="Chaos Burgeonet",neck="Justice Torque",ear1="Cassie Earring",ear2="Intruder earring",
- body="Galkan Surcoat",hands="Dusk Gloves +1",ring1="Bloodbead Ring",ring2="Bomb Queen Ring",
- back="Gigant Mantle",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- --AM Set:
- sets.engaged.AM = {ammo="Fire Bomblet",
- head="Walahra Turband",neck="Chivalrous Chain",ear1="Abyssal Earring",ear2="Brutal earring",
- body="Armada Hauberk",hands="Onyx Gadlings",ring1="Ecphoria Ring",ring2="Toreador's Ring",
- back="Cuchulian's Mantle",waist="Velocious Belt",legs="Onyx Cuisses",feet="Aurum Sabatons"}
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for standard casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- 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 spellMap == 'Cure' and spell.target.type == 'SELF' then
- equip(sets.midcast.CureSelf)
- end
- if spell.action_type == "Magic" then
- if spell.element == world.weather_element or spell.element == world.day_element then
- equip(sets.obi[spell.element])
- end
- end
- end
- function precast(spell)
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- end
- if spell.english == 'Arcane Circle' then
- equip(sets.precast.JA['Arcane Circle'])
- end
- if spell.english == 'Last Resort' then
- equip(sets.precast.JA['Last Resort'])
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for non-casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Handle notifications of general user state change.
- -- Handle notifications of general user state change.
- function job_state_change(stateField, newValue, oldValue)
- if stateField == 'Offense Mode' then
- if newValue == 'None' then
- enable('main','sub','range')
- else
- disable('main','sub','range')
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Modify the default idle set after it was constructed.
- function customize_idle_set(idleSet)
- if state.Buff.Sandstorm then
- idleSet = set_combine(idleSet, sets.buff['Sandstorm'])
- end
- return idleSet
- end
- -- Set eventArgs.handled to true if we don't want the automatic display to be run.
- function display_current_job_state(eventArgs)
- display_current_caster_state()
- eventArgs.handled = true
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- -- Default macro set/book
- if player.sub_job == 'DNC' then
- set_macro_page(1, 14)
- elseif player.sub_job == 'WAR' then
- set_macro_page(1, 14)
- elseif player.sub_job == 'NIN' then
- set_macro_page(1, 14)
- else
- set_macro_page(1, 14)
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- function job_buff_change(buff,gain)
- state.Buff['Souleater'] = buffactive['Souleater'] or false
- end
- function job_buff_change(buff,gain)
- if buff == 'Souleater' then
- equip(sets.buff['Souleater'])
- end
- end
- function buff_change(status,gain_or_loss)
- if status == "Aftermath" then
- if gain_or_loss then
- equip(sets.engaged.AM)
- else
- equip(sets.engaged)
- end
- end
- end
- --[[Melee Notes
- Apocalypse: 513 Delay. STP Calc: =13+((513-480)*1.5)/50
- 8.55 seconds between attack (513/60)
- Post Catastrophe: 513*(608/1024)/1023 =3.473sec *needs verification
- 3.473 * 5 = 17.365 seconds to 1000 TP. Within Aftermath Lv.1
- Extra 2.635 seconds can account for miss
- Can be improved on with Double/Triple Attack
- --Store TP Calculations
- --Apocalypse 513 Delay. 139 TP per swing
- --/SAM (STP II) 5 Hit: 29 STP needed (4 Hit: 65 STP)
- --/WAR 5 Hit: 44 STP needed
- --Spaghetti Carbonara: 6 STP
- --Set Below: 22 STP | 19.8% Equipment Haste (Walahra Turban Augment: 7 STP)
- --sets.engaged = {ammo="Fire Bomblet",
- -- head="Walahra Turban",neck="Chivalrous Chain",ear1="Abyssal Earring",ear2="Brutal earring",
- -- body="Aurum Cuirass",hands="Dusk Gloves +1",ring1="Ecphoria Ring",ring2="Rajas Ring",
- -- back="Cerberus Mantle +1",waist="Velocious Belt",legs="Homam Cosciales",feet="Homam Gambieras"}
- Ideal post Catastrophe Set for haste?
- Cata (102)/Aces(40)/Dusk Gloves +1(40)/V Belt (61)/Onyx Cuisses?/Onyx Leggings?
- Aurum Feet (Not needed due to Brutal haste)
- Possible STP ^: Aurum (7)/Rajas(5)/Carbonara(6)/Brutal(1)/Walahra Turban (7-10. Need 10 for this set)
- Haste: Hard cap of 80% (Retail)
- Recast Cap:
- 50% of original recast OR
- 255 Seconds off
- Magic Cap: 448/1024 (43.75%)
- Haste (spell) 105/1024 (14.64%)
- Attack/Recast by ~15%
- Adv. March Tier:
- +0 Instrument: 64/1024
- +1 Instrument: 80/1024 (+16/1024)
- +2 Instrument: 96/1024 (+32/1024)
- 471/472 Wind+Sing Skill (Victory: 113 Advancing: 96)
- 505/506 Wind+Sing Skill (Victory: 118 Advancing: 96)
- 545/546 Wind+Sing Skill (Victory: 119 Advancing: 96)
- Victory March 113/1024 (No cieling)
- Advancing March 96/1024 (Hard Cap)
- Job Ability: 256/1024 (25%) (or 250/1024) *needs verification
- Desparate Blows 250/1024 (24.44%) (50/1024 Per Merit)
- Hasso 102/1024 (9.96%)
- Haste Samba 50/1024 (4.88%) (10/1024 Per Merit)
- Equipment Cap: 256/1024 (25%)
- Catastrophe 102/1024 (10%) (1000TP = 20sec, 2000TP= 40sec, 3000TP= 60sec)
- Walahra Turban 50/1024 (4.88%)
- Ace's Helm 40/1024 (3.90%)
- Blitz Ring 11/1024 (1.07%)
- Homam Manopolas 30/1024 (2.92%)
- Dusk Gloves +1 40/1024 (3.90%)
- Velocious Belt 61/1024 (5.95%)
- Black Belt 122/1024 (11.91%)
- Homam Cosciales 30/1024 (2.92%)
- Byakko's Haidate 50/1024 (4.88%)
- Homam Gambieras 30/1024 (2.92%)
- Brutal Earring +17 (2.02%) (.119% per +1 per Senna65) *needs verification
- Hecatomb Cap 93/1024
- Hecatomb Mittens 52/1024
- Hecatomb Leggings 41/1024
- Fast Cast:
- Fast Cast I 50/1024 or 51/1024 *Needs Verification
- Fast Cast II 72/1024
- Fast Cast III 102/1024
- Warlock's Chapeau 51/1024
- Duelist's Tabard 51/1024
- Loquacious Earring 10/1024
- Rostrum Pumps 9/1024
- Homam Cosciales 13/1024
- ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement