-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
-- Initialization function for this job file.
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Include.lua')
end
include('Include/AugmentedGear.lua')
-------------------------------------------------------------------------------------------------------------------
-- 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('Rag', 'RagACC', 'Apoc', 'ApocACC', "Omen")
state.HybridMode:options ('Reraise')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT')
state.MagicalDefenseMode:options('MDT')
select_default_macro_book()
end
-- Elements for skillchain names
skillchain_elements = {}
skillchain_elements.Light = S{'Light','Fire','Wind','Lightning'}
skillchain_elements.Darkness = S{'Dark','Ice','Earth','Water'}
skillchain_elements.Fusion = S{'Light','Fire'}
skillchain_elements.Fragmentation = S{'Wind','Lightning'}
skillchain_elements.Distortion = S{'Ice','Water'}
skillchain_elements.Gravitation = S{'Dark','Earth'}
skillchain_elements.Transfixion = S{'Light'}
skillchain_elements.Compression = S{'Dark'}
skillchain_elements.Liquification = S{'Fire'}
skillchain_elements.Induration = S{'Ice'}
skillchain_elements.Detonation = S{'Wind'}
skillchain_elements.Scission = S{'Earth'}
skillchain_elements.Impaction = S{'Lightning'}
skillchain_elements.Reverberation = S{'Water'}
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
sets.WSDayBonus = {head="Gavialis Helm"}
-- add here to the ws list those you want moonshade on when less than 3000tp
moonshade_WS = S{"Resolution", "Torcleaver", "Cross Reaper", "Quietus", "Entropy", "Insurgency", "Savage Blade", "Vorpal Blade", "Requiescat", "Sanguine Blade"}
-- Precast sets to enhance JAs
sets.precast.JA['Diabolic Eye'] = {hands="Fallen's finger gauntlets +1"}
sets.precast.JA['Arcane Circle'] = {feet="Chaos Sollerets"}
sets.precast.JA['Nether Void'] = {legs="Heath. Flanchard +1"}
sets.precast.JA['Souleater'] = {head="Ignominy Burgeonet +1"}
sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets"}
sets.precast.JA['Last Resort'] = {back="Ankou's Mantle",feet="Fallen's Sollerets"}
sets.precast.JA['Dark Seal'] = {head="Fallen's Burgeonet"}
sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass"}
sets.buff.Doom = {waist="Gishdubar sash",ring1="Saida Ring",ring2="Saida Ring"}
Ankou={}
Ankou.WSDSTR= { name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
Ankou.DA= { name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}
Ankou.WSDVIT= { name="Ankou's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}}
Ankou.ACC= { name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
Ankou.FC= { name="Ankou's Mantle", augments={'Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10',}}
-- Precast Sets
sets.precast.FC = {
ammo="Staunch Tathlum",
head="Carmine Mask",
neck="Voltsurge Torque",
ear1="Loquacious Earring",
ear2="Enchanter Earring +1",
body=OdysBody.FC,
hands="Leyline Gloves",
ring1="Kishar Ring",
ring2="Rahab Ring",
back=Ankou.FC,
waist="Tempus Fugit",
legs="Eschite cuisses",
feet=OdysFeet.FC,}
-- Specific spells
sets.midcast.Utsusemi = set_combine(sets.precast.FC,{})
sets.midcast.Endark = {
head="Ignominy Burgeonet +1",
neck="Deceiver's Torque",
ear2="Halasz Earring",
ear1="Loquacious Earring",
body="Carmine Scale Mail",
hands="Fallen's finger gauntlets +1",
left_ring="Stikini Ring",
right_ring="Evanescence Ring",
waist="Casso sash",
legs="Eschite cuisses",
feet=OdysFeet.FC,
back="Niht Mantle",}
sets.midcast['Endark II'] = set_combine(sets.midcast.Endark, {})
sets.midcast['Dread Spikes'] = {
ammo="Egoist's Tathlum",
head=OdysHead.WSD,
body="Heathen's Cuirass +1",
hands="Emicho Gauntlets",
legs=ValoLegs.MAB,
feet="Amm greaves",
neck="Sanctity necklace",
waist="Eschan Stone",
left_ear="Odnowa Earring",
right_ear="Odnowa Earring +1",
left_ring="Etana Ring",
right_ring="Meridian Ring",
back="Aenoth. Mantle +1",}
sets.midcast['Elemental Magic'] = {
ammo="Pemphredo Tathlum",
head="Jumalik Helm",
body="Carmine Scale Mail",
hands="Leyline gloves",
legs=ValoLegs.MAB,
feet=OdysFeet.MACC,
neck="Sanctity necklace",
waist="Eschan Stone",
left_ear="Hecate's Earring",
right_ear="Friomisi Earring",
left_ring="Acumen Ring",
right_ring="Shiva Ring",
back=Ankou.FC,}
sets.midcast['Enfeebling Magic'] = {
ammo="Pemphredo Tathlum",
head="Carmine Mask",
body="Flamma Korazin +1",
hands="Leyline Gloves",
legs="Eschite cuisses",
feet=OdysFeet.MACC,
neck="Sanctity necklace",
waist="Eschan Stone",
left_ear="Enchntr. Earring +1",
right_ear="Hermetic Earring",
left_ring="Stikini Ring",
right_ring="Stikini Ring",
back=Ankou.FC,}
sets.midcast.DarkMagic = {
ammo="Pemphredo Tathlum",
head="Carmine Mask",
body="Carmine Scale Mail",
hands="Fallen's finger gauntlets +1",
legs="Eschite cuisses",
feet=OdysFeet.MACC,
neck="Deceiver's torque",
waist="Casso sash",
left_ear="Hermetic Earring",
right_ear="Halasz Earring",
left_ring="Stikini Ring",
right_ring="Evanescence Ring",
back="Niht Mantle",}
sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {
hands="Leyline Gloves",
waist="Eschan Stone",
legs="Eschite cuisses",
feet=OdysFeet.MACC,
back=Ankou.FC})
sets.midcast.Absorb = {
ammo="Pemphredo Tathlum",
head="Carmine Mask",
body="Carmine Scale Mail",
legs="Eschite cuisses",
feet=OdysFeet.MACC,
neck="Deceiver's torque",
waist="Casso sash",
left_ear="Hermetic Earring",
right_ear="Halasz Earring",
right_ring="Evanescence Ring",
hands="Pavor Gauntlets",
right_ring="Kishar Ring",
back="Chuparrosa Mantle",}
sets.midcast.Drain = {
ammo="Pemphredo Tathlum",
neck="Deceiver's torque",
left_ear="Hermetic Earring",
right_ear="Hirudinea Earring",
head="Pixie Hairpin +1",
body="Carmine Scale Mail",
hands="Fallen's finger gauntlets +1",
left_ring="Stikini Ring",
right_ring="Evanescence Ring",
back="Niht Mantle",
waist="Austerity belt +1",
legs="Eschite cuisses",
feet=OdysFeet.MACC}
sets.midcast.Aspir = set_combine(sets.midcast.Drain, {})
-- Weaponskill sets
-- FOR ANY WS NOT DEFINED WILL USE BELOW
sets.precast.WS ={
ammo="Seething Bomblet",
head="Argosy Celata +1",
body="Ignominy Cuirass +2",
hands="Argosy Mufflers +1",
legs="Argosy Breeches +1",
feet="Argosy Sollerets +1",
neck="Fotia Gorget",
waist="Grunfeld rope",
left_ear="Cessance earring",
right_ear="Brutal earring",
left_ring="Ifrit Ring +1",
right_ring="Rufescent Ring",
back=Ankou.WSDSTR}
-------------------------------------------------------------- SCYTHE -----------------------------------------------------------------------
-- Stat Modifier: 40% STR / 40% INT fTP: 2.75
--Relic Aftermath: 10% Equipment Haste (+102/1024) AG 10% Ability
sets.precast.WS['Catastrophe'] = {
ammo="Seething Bomblet",
head=OdysHead.WSD,
body="Ignominy Cuirass +2",
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSDSTR,
feet="Sulev. Leggings +1",
neck="Fotia Gorget",
waist="Metalsinger Belt",
left_ear="Ishvara earring",
right_ear="Telos Earring",
left_ring="Petrov Ring",
right_ring="Rajas Ring",
back=Ankou.WSDSTR}
sets.precast.WS['Catastrophe'].Acc = set_combine(sets.precast.WS['Catastrophe'], {
head="Argosy Celata +1",
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSDSTR,
left_ear="Cessance earring",
left_ring="Apate Ring",
right_ring="Ifrit Ring +1",
back=Ankou.WSDSTR})
-- Delivers a two-hit attack. Damage varies with TP.
-- Stat Modifier: 60% STR / 60% MND fTP: 2.0 4.0 7.0
sets.precast.WS['Cross Reaper'] = {
ammo="Seething Bomblet",
head="Argosy Celata +1",
body="Ignominy Cuirass +2",
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSD,
feet="Sulev. Leggings +1",
neck="Fotia Gorget",
waist="Grunfeld rope",
left_ear="Ishvara earring",
right_ear="Brutal earring",
left_ring="Apate Ring",
right_ring="Rufescent Ring",
back=Ankou.WSDSTR}
sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
head="Argosy Celata +1",
body=ValoBody.DA,
hands="Emicho Gauntlets",
legs="Argosy Breeches +1",
left_ear="Telos Earring",
right_ring="Ramuh Ring +1",
left_ring="Cacoethic Ring",})
-- Delivers a triple damage attack that ignores target's defense. Amount ignored varies with TP.
--Stat Modifier: 60% STR / 60% MND Defense ignored: 10% 30% 50% fTP: 3.0
sets.precast.WS['Quietus'] = {
ammo="Seething Bomblet",
head=OdysHead.WSD,
body="Ignominy Cuirass +2",
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSDSTR,
feet="Sulev. Leggings +1",
neck="Fotia Gorget",
waist="Metalsinger Belte",
left_ear="Ishvara earring",
right_ear="Brutal earring",
left_ring="Petrov Ring",
right_ring="Rajas Ring",
back=Ankou.WSDSTR}
sets.precast.WS['Quietus'].Acc = set_combine(sets.precast.WS['Quietus'], {
head=ValoHead.WSD,
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSDSTR,
right_ear="Telos Earring",
left_ear="Cessance earring",})
-- Delivers a fourfold attack. Converts some of the damage into MP. Damage varies with TP.
-- Stat Modifier: 73~85% INT fTP: 0.75 1.25 2.0
-- This weaponskill has its fTP transferred across all hits, making Elemental
-- Gorgets and Elemental Belts excellent neck and waist gear options.
sets.precast.WS['Entropy'] = {
ammo="Seething Bomblet",
head="Lustratio Cap",
body=ValoBody.DA,
hands="Emicho Gauntlets",
legs=OdysLegs.DA,
feet="Argosy Sollerets +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Cessance earring",
right_ear="Telos Earring",
left_ring="Ramuh Ring +1",
right_ring="Shiva Ring",
back=Ankou.ACC}
sets.precast.WS['Entropy'].Acc = set_combine(sets.precast.WS['Entropy'], {
legs="Sulvia's Cuisses +1",
ammo="Seething Bomblet",
head="Argosy Celata +1",
left_ear="Telos Earring",
back=Ankou.ACC})
--Delivers a fourfold attack. Damage varies with TP.
-- Stat Modifier: 20% STR / 20% INT fTP: 0.5 3.25 6.0
sets.precast.WS['Insurgency'] = {
ammo="Seething Bomblet",
head="Argosy Celata +1",
body=ValoBody.DA,
hands="Argosy Mufflers +1",
legs="Argosy Breeches +1",
feet="Argosy Sollerets +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Cessance earring",
right_ear="Brutal earring",
left_ring="Rufescent Ring",
right_ring="Ifrit Ring +1",
back=Ankou.DA}
sets.precast.WS['Insurgency'].Acc = set_combine(sets.precast.WS['Insurgency'], {
left_ear="Telos Earring",
left_ring="Cacoethic Ring",
right_ring="Ramuh Ring +1",
back=Ankou.ACC})
-------------------------------------------------------------------- SWORD ---------------------------------------------------------------------------------
-- Stat Modifier: 50% MND / 30% STR fTP: 2.75
-- dSTAT: (pINT-mINT)*2
sets.precast.WS['Sanguine Blade'] = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body="Carmine Scale Mail",
hands="Leyline gloves",
legs=ValoLegs.MAB,
feet=OdysFeet.MACC,
neck="Sanctity necklace",
waist="Eschan Stone",
left_ear="Ishvara Earring",
right_ear="Friomisi Earring",
left_ring="Acumen Ring",
right_ring="Shiva Ring",
back=Ankou.WSDSTR}
-- Delivers an aerial attack comprised of two hits. Damage varies with TP.
-- Stat Modifier: 50% MND / 50% STR fTP: 4.0 10.25 13.75
sets.precast.WS['Savage Blade'] = {
ammo="Seething Bomblet",
head=OdysHead.WSD,
body="Ignominy Cuirass +2",
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSDSTR,
feet="Sulev. Leggings +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara earring",
right_ear="Brutal Earring",
left_ring="Rufescent Ring",
right_ring="Ifrit Ring +1",
back=Ankou.WSDSTR}
-- Delivers a fivefold attack, non-elemental damage. Attack power varies with TP.
-- Stat Modifier: 73~85% MND
sets.precast.WS['Requiescat'] = {
ammo="Seething Bomblet",
head="Argosy Celata +1",
body="Carmine Scale Mail",
hands="Argosy Mufflers +1",
legs="Argosy Breeches +1",
feet="Argosy Sollerets +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Cessance earring",
right_ear="Telos earring",
left_ring="Rufescent Ring",
right_ring="Ifrit Ring +1",
back=Ankou.DA}
-- Delivers a fourfold attack. Chance of critical hit varies with TP.
-- Stat Modifier: 60% STR fTP: 1.375
-- This weaponskill has its fTP transferred across all hits, making Elemental Gorgets
-- and Elemental Belts excellent neck and waist gear options.
sets.precast.WS['Vorpal Blade'] = {
ammo="Seething Bomblet",
head="Argosy Celata +1",
body="Argosy Hauberk",
hands="Argosy Mufflers +1",
legs="Argosy Breeches +1",
feet="Thereoid greaves",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Cessance earring",
right_ear="Telos earring",
left_ring="Ifrit Ring +1",
right_ring="Begrudging Ring",
back=Ankou.DA}
----------------------------------------------------------------- GREAT SWORD ---------------------------------------------------------------------------
-- Description: Deals triple damage. Damage varies with TP.
-- Stat Modifier: 80% VIT fTP: 4.75 7.5 10
sets.precast.WS['Torcleaver'] = {
ammo="Brigantia pebble",
head=OdysHead.WSD,
body="Ignominy Cuirass +2",
hands=OdysHands.WSDVIT,
legs=OdysLegs.WSD,
feet="Sulev. Leggings +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara earring",
right_ear="Cessance Earring",
left_ring="Titan Ring",
right_ring="Titan Ring +1",
back=Ankou.WSDVIT}
sets.precast.WS['Torcleaver'].Acc = set_combine(sets.precast.WS['Torcleaver'], {
ammo="Seething bomblet",
head=ValoHead.WSD,
hands=OdysHands.WSDVITACC,
left_ring="Ramuh Ring +1",
right_ring="Titan Ring +1",
left_ear="Telos earring",})
--Relic Aftermath: +5% Critical Hit Rate
-- Stat Modifier: 40% STR / 40% VIT fTP: 3.0
sets.precast.WS['Scourge'] = {
ammo="Seething bomblet",
head=OdysHead.WSD,
body="Ignominy Cuirass +2",
hands=OdysHands.WSDVIT,
legs=OdysLegs.WSDSTR,
feet="Sulev. Leggings +1",
neck="Fotia Gorget",
waist="Metalsinger Belt",
left_ear="Ishvara earring",
right_ear="Cessance Earring",
left_ring="Rufescent Ring",
right_ring="Ifrit Ring +1",
back=Ankou.WSDSTR}
sets.precast.WS['Scourge'].Acc = set_combine(sets.precast.WS['Scourge'], {
hands=OdysHands.WSDSTR,
legs=OdysLegs.WSD,
waist="Grunfeld Rope",
left_ear="Telos earring",
right_ear="Cessance Earring",
left_ring="Apate Ring",
right_ring="Ramuh Ring +1",})
--Description: Delivers a fivefold attack. Damage varies with TP.
--Stat Modifier: 73~85% STR fTP: 0.71875 1.5 2.25
-- This weaponskill has its fTP transferred across all hits, making
-- Elemental Gorgets and Elemental Belts excellent neck and waist gear options.
sets.precast.WS['Resolution'] = {
ammo="Seething Bomblet",
head="Argosy Celata +1",
body="Argosy Hauberk",
hands="Argosy Mufflers +1",
legs="Argosy Breeches +1",
feet="Argosy Sollerets +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Telos earring",
right_ear="Cessance earring",
left_ring="Rufescent Ring",
right_ring="Ifrit Ring +1",
back=Ankou.DA}
sets.precast.WS['Resolution'].Acc = set_combine(sets.precast.WS['Resolution'], {
body=ValoBody.DA,
hands=OdysHands.WSDSTR,
right_ring="Cacoethic Ring",
left_ring="Ramuh Ring +1",
back=Ankou.ACC})
-- Idle sets
sets.idle = {
neck="Sanctity necklace",
ammo="Staunch Tathlum",
ear1="Infused Earring",
ear2="Genmei Earring",
body="Lugra cloak +1",
hands="Sulevia's gauntlets +1",
ring1="Defending Ring",
ring2="Shneddick Ring",
back="Agema cape",
waist="Flume belt",
legs="Sulevia's cuisses +1",
feet="Amm greaves"}
sets.enmity = {
neck="Sanctity necklace",
ammo="Staunch Tathlum",
ear1="Infused Earring",
ear2="Genmei Earring",
body="Lugra cloak +1",
hands="Sulevia's gauntlets +1",
ring1="Defending Ring",
ring2="Shneddick Ring",
back="Agema cape",
waist="Flume belt",
legs="Sulevia's cuisses +1",
feet="Amm greaves"}
sets.resting = set_combine(sets.idle, {})
-- Defense sets
sets.defense.PDT = {
ammo="Staunch Tathlum",
head="Sulevia's Mask +1",
body="Sulevia's Plate. +1",
hands="Sulev. Gauntlets +1",
legs="Sulevi. Cuisses +1",
feet="Amm greaves",
neck="Loricate Torque +1",
waist="Flume belt",
right_ear="Eabani Earring",
left_ear="Odnowa earring +1",
left_ring="Shadow Ring",
right_ring="Defending Ring",
back="Shadow mantle",}
sets.defense.Reraise = set_combine(sets.defense.PDT,{head="Twilight Helm",body="Twilight Mail",})
sets.defense.MDT = set_combine(sets.defense.PDT,{
back="Agema cape",})
-- Engaged sets
-- rag with 20 stp on ws, need 57 stp on tp /sam for 5 hit
-- 14 / 58 61/5
-- 1182 acc 61 stp 48 DA
sets.engaged.Rag = {
ammo="Ginsen",
head="Argosy Celata +1",
hands="Argosy Mufflers +1",
legs=OdysLegs.DA,
feet=ValoFeet.STP,
neck="Ainia Collar",
body=ValoBody.DA,
--body="Founder's Breastplate",
waist="Ioskeha belt",
right_ear="Telos Earring",
left_ear="Brutal earring",
left_ring="Petrov Ring",
right_ring="Chirich Ring",
back=Ankou.ACC}
-- 1256 61 stp 34 DA
sets.engaged.RagACC = {
--sub="Bloodrain strap",
left_ring="Chirich Ring",
ammo="Ginsen",
head="Argosy Celata +1",
body=ValoBody.DA,
--body="Founder's Breastplate",
hands="Emicho Gauntlets",
legs=OdysLegs.ACC,
feet=ValoFeet.STPACC,
neck="Lissome necklace",
waist="Ioskeha belt",
left_ear="Telos earring",
right_ear="Cessance Earring",
right_ring="Chirich Ring",
back=Ankou.ACC}
sets.engaged.Omen = {
ammo="Staunch Tathlum",
head="Sulevia's Mask +1",
body="Founder's Breastplate",
hands="Sulev. Gauntlets +1",
legs="Sulevi. Cuisses +1",
feet="Amm greaves",
neck="Loricate Torque +1",
waist="Tempus Fugit",
right_ear="Telos Earring",
left_ear="Cessance earring",
left_ring="Petrov Ring",
right_ring="Defending Ring",
back=Ankou.ACC,}
-- 4 hit if ws with 21 stp /sam requires 75 stp in tp gear, only 28stp if 5 hit w/ 21 on ws
-- 15/77 14/78 17/76
-- 1194 acc 77 stp 30 DA
sets.engaged.Apoc = {
ammo="Ginsen",
head="Argosy Celata +1",
hands=ValoHands.STP,
legs=OdysLegs.STP,
feet=ValoFeet.STP,
neck="Ainia Collar",
body=ValoBody.STP,
--body="Founder's Breastplate",
waist="Ioskeha belt",
right_ear="Telos Earring",
left_ear="Cessance earring",
left_ring="Petrov Ring",
right_ring="Chirich Ring",
back=Ankou.ACC}
-- 5/32 ... 41 DA 4 TA 1248 acc 5 hit (4 hit is 77)
sets.engaged.ApocACC = set_combine(sets.engaged.Apoc, {
ammo="Seething",
head="Flamma Zucchetto +1",
body=ValoBody.DA,
-- body="Founder's Breastplate",
hands="Sulevia's Gauntlets +1",
legs=OdysLegs.STPACC,
feet="Flamma Gambieras +1",
neck="Lissome necklace",
waist="Ioskeha belt",
right_ear="Telos Earring",
left_ear="Cessance Earring",
left_ring="Cacoethic Ring",
right_ring="Ramuh Ring +1",
back=Ankou.ACC})
sets.engaged.DW = {
ammo="Ginsen",
head="Flam. Zucchetto +1",
hands="Sulev. Gauntlets +1",
legs=OdysLegs.DA,
feet=ValoFeet.STP,
neck="Lissome Necklace",
body="Emicho haubert",
waist="Ioskeha belt",
right_ear="Suppanomimi",
left_ear="Eabani earring",
left_ring="Petrov Ring",
right_ring="Chirich Ring",
back=Ankou.DA}
sets.engaged.DWACC = set_combine(sets.engaged.DW, {
ammo="Seething bomblet",
head=ValoHead.CRIT,
hands="Emicho Gauntlets",
neck="Subtlety Spec.",
left_ring="Chirich Ring",
back=Ankou.ACC})
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.skill == 'Elemental Magic' then
if spell.element == world.day_element or spell.element == world.weather_element then
equip(sets.midcast['Elemental Magic'], {waist="Hachirin-no-Obi"})
end
end
if S{"Torcleaver","Resolution","Catastrophe","Scourge","Cross Reaper"}:contains(spell.english) and (spell.element==world.day_element or spell.element==world.weather_element) then
equip({head="Gavialis Helm"})
end
if S{"Drain","Drain II","Drain III", "Aspir", "Aspir II", "Aspir III"}:contains(spell.english) and (spell.element==world.day_element or spell.element==world.weather_element) then
equip({waist="Hachirin-no-obi"})
end
end
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if world.time >= 17*60 or world.time < 7*60 then -- Dusk to Dawn time.
equip({ear1="Lugra Earring +1", ear2="Lugra Earring"})
end
end
if spell.action_type=="Magic" and buffactive.Silence then
eventArgs.cancel = true
send_command('input /item "Echo Drops" <me>')
end
if spell.type=='WeaponSkill' then
if moonshade_WS:contains(spell.english) and player.tp<2850 then
equip({ear2="Moonshade Earring"})
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if buff:lower()=='terror' or buff:lower()=='petrification' or buff:lower()=='sleep' or buff:lower()=='stun' then
if gain then
equip(sets.defense.PDT)
elseif not gain then
handle_equipping_gear(player.status)
end
end
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
if buff:lower()=='sleep' then
if gain and player.hp > 120 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep
equip({head="Frenzy Sallet"})
elseif not gain then -- Take Berserker's off
handle_equipping_gear(player.status)
end
end
if buff:lower()=='Reive Mark' then
if gain then
equip({neck="Adoulin's Refuge +1"}) disable('neck')
else
enable('neck')
end
end
end
ninjaTools = {
Utsusemi = S{"Shihei",},--"Shikanofuda"
Hojo = S{"Kaginawa",},--"Chonofuda"
Migawari = S{"Mokujin",},
Kakka = S{"Ryuno",},
Tonko = S{"Shinobi-tabi",},
Kurayami = S{"Sairui-Ran",},
Raiton = S{"Hiraishin",},
Hyoton = S{"Tsurara",},
Monomi = S{"Sanjaku-Tenugui",},
}
function job_precast(spell, action, spellMap, eventArgs)
if spell.type=="Ninjutsu" then check_tools(spell) end
end
function check_tools(spell)
for prefix,tools in pairs(ninjaTools) do
if spell.english:startswith(prefix) then
for tool in tools:it() do
if not player.inventory[tool] then
add_to_chat(100,'WARNING: You are out of '..tool..'.')
elseif player.inventory[tool].count < 10 then
add_to_chat(100,'WARNING: You are low on '..tool..'. '..player.inventory[tool].count..' remaining.')
end
end
end
end
end
function customize_melee_set(meleeSet)
if state.Buff.Sleep and player.hp > 120 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep
meleeSet = set_combine(meleeSet,{head="Frenzy Sallet"})
end
if state.Buff.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
function customize_idle_set(idleSet)
if state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
if S{"Eastern Adoulin","Western Adoulin"}:contains(world.area) then
idleSet = set_combine(idleSet,{body="Councilor's Garb", head="Jumalik helm"})
end
return idleSet
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(2, 7)
end