|
Current BLM.lua Gear Swap Files.
By Mijin1 2017-02-08 08:18:02
What is your opinion on the following?:
Code -- Local Settings, setting the zones prior to use
toau_zones = S{"Leujaoam Sanctum","Mamool Ja Training Grounds","Lebros Cavern","Periqia","Ilrusi Atoll",
"Nyzul Isle","Bhaflau Remnants","Arrapago Remnants","Silver Sea Remnants","Zhayolm Remnants"}
resSpells = S{"Barstonra","Barwatera","Baraera","Barfira","Barblizzara","Barthundra",
"Barstone","Barwater","Baraero","Barfire","Barblizzard","Barthunder"}
Cure_Spells = S{"Cure","Cure II","Cure III","Cure IV","Curaga","Curaga II"}
FC_Spells = S{"Haste","Utsusemi: Ichi","Utsusemi: Ni","Refresh","Regen","Regen II","Firestorm","Hailstorm","Windstorm","Rainstorm","Sandstorm",
"Thunderstorm","Voidstorm","Aurorastorm","Protect II","Protect III","Shell II"}
AF_Nukes = S{"Stone III","Water III","Aero III","Fire III","Blizzard III","Thunder III",
"Stonega","Stonega II","Stonega III","Waterga","Waterga II","Waterga III","Aeroga","Aeroga II","Aeroga III","Firaga","Firaga II","Firaga III",
"Blizzaga","Blizzaga II","Blizzaga III","Thundaga","Thundaga II","Thundaga III",
"Stoneja","Waterja","Aeroja","Firaja","Blizzaja","Thundaja","Quake II","Flood II","Tornado II","Flare II","Freeze II","Burst II"}
Big_Nukes = S{"Thunder V","Blizzard V","Fire V","Aero V","Water V","Stone V","Thunder VI","Blizzard VI","Fire VI","Aero VI","Water VI","Stone VI"}
Stone_Spells = S{"Stone","Stone II","Stone III","Stone IV","Stone V","Stone VI","Stonega","Stonega II","Stonega III","Stoneja"}
Dark_Spells = S{"Aspir","Aspir II","Aspir III","Drain"}
Temps = S{"Lucid Ether I","Lucid Ether II","Lucid Ether III","Lucid Elixir I","Lucid Elixir II","Mana Mist","Mana Powder","Megalixir",
"Super Revitalizer","Daedalus Wing","Lucid Wings I","Lucid Wings II","Braver's Drink","Oracle's Drink","Assassin's Drink",
"Soldier's Drink","Monarch's Drink","Steadfast Tonic","Mirror's Tonic","Charm Buffer"}
Gear_Debug = 0
AF_Body_On_ST = 0
MBB_Mode = 0
Death_Mode = 0
-- Start Functions here
-- Gear Sets
function get_sets()
sets.aftercast_Idle_refresh = {
main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
sub="Niobid Strap",
ammo="Kalboron Stone",
head={ name="Merlinic Hood", augments={'STR+2','Accuracy+8','"Refresh"+1',}},
body="Jhakri Robe +1",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Wiglen Gorget",
waist="Fucho-no-Obi",
left_ear={ name="Moonshade Earring", augments={'Mag. Acc.+4','Latent effect: "Refresh"+1',}},
right_ear="Barkaro. Earring",
left_ring="Woltaris Ring",
right_ring="Sheltered Ring",
back="Solemnity Cape",
}
sets.aftercast_death = {
main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
sub="Niobid Strap",
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs="Assid. Pants +1",
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Orunmila's Torque",
waist="Fucho-no-Obi",
left_ear="Loquac. Earring",
right_ear="Gifted Earring",
left_ring="Mephitas's Ring +1",
right_ring="Tamas Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.aftercast_Move = sets.aftercast_Idle_refresh
sets.aftercast_Idle = sets.aftercast_Idle_refresh
sets.precast_Cure = {
ammo="Sapience Orb",
head={ name="Merlinic Hood", augments={'Mag. Acc.+21','"Fast Cast"+4','CHR+6',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+8','"Fast Cast"+5','MND+6','"Mag.Atk.Bns."+4',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Prolix Ring",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.precast_FastCast = {
ammo="Sapience Orb",
head={ name="Merlinic Hood", augments={'Mag. Acc.+21','"Fast Cast"+4','CHR+6',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+8','"Fast Cast"+5','MND+6','"Mag.Atk.Bns."+4',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Prolix Ring",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.precast_Death = {
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
ffeet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Channeler's Stone",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Mephitas's Ring +1",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.precast_Haste = {
ammo="Sapience Orb",
head={ name="Merlinic Hood", augments={'Mag. Acc.+21','"Fast Cast"+4','CHR+6',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+8','"Fast Cast"+5','MND+6','"Mag.Atk.Bns."+4',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Prolix Ring",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.Resting = {
ammo="Kalboron Stone",
head={ name="Merlinic Hood", augments={'STR+2','Accuracy+8','"Refresh"+1',}},
body="Jhakri Robe +1",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Wiglen Gorget",
waist="Fucho-no-Obi",
left_ear="Gifted Earring",
right_ear={ name="Moonshade Earring", augments={'Mag. Acc.+4','Latent effect: "Refresh"+1',}},
left_ring="Woltaris Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.midcast_EnfeeblingMagic = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+8','Mag. Acc.+8',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Sanctity Necklace",
waist="Refoccilation Stone",
left_ear="Hermetic Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Acumen Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_DarkMagic = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Sanctity Necklace",
waist="Refoccilation Stone",
left_ear="Hermetic Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Evanescence Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_EnhancingMagic = {
ammo="Pemphredo Tathlum",
head={ name="Telchine Cap", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
body={ name="Telchine Chas.", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
hands={ name="Telchine Gloves", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
legs={ name="Telchine Braconi", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
feet={ name="Telchine Pigaches", augments={'"Cure" potency +6%','Enh. Mag. eff. dur. +8',}},
neck="Incanter's Torque",
waist="Siegel Sash",
left_ear="Hermetic Earring",
right_ear="Gifted Earring",
left_ring="Sirona's Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Duration = {
ammo="Pemphredo Tathlum",
head={ name="Telchine Cap", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
body={ name="Telchine Chas.", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
hands={ name="Telchine Gloves", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
legs={ name="Telchine Braconi", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
feet={ name="Telchine Pigaches", augments={'"Cure" potency +6%','Enh. Mag. eff. dur. +8',}},
neck="Incanter's Torque",
waist="Siegel Sash",
left_ear="Hermetic Earring",
right_ear="Gifted Earring",
left_ring="Sirona's Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_MAB = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+8','Mag. Acc.+8',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Saevus Pendant +1",
waist="Refoccilation Stone",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Acumen Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_MABB = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+19','Magic burst mdg.+9%','Mag. Acc.+11',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25','Magic burst mdg.+10%','"Mag.Atk.Bns."+11',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Death = {
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25','Magic burst mdg.+10%','"Mag.Atk.Bns."+11',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Mephitas's Ring +1",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Comet = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25','Magic burst mdg.+10%','"Mag.Atk.Bns."+11',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Static Earring",
left_ring="Mephitas's Ring +1",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_AF = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+8','Mag. Acc.+8',}},
body="Spae. Coat +1",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Saevus Pendant +1",
waist="Refoccilation Stone",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Acumen Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Impact = {
main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
body="Twilight Cloak",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Phys. dmg. taken -3%','Mag. Acc.+15',}},
neck="Saevus Pendant +1",
waist="Yamabuki-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back="Toro Cape",
}
sets.midcast_Cure = {
ammo="Kalboron Stone",
head={ name="Telchine Cap", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
body={ name="Telchine Chas.", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
hands={ name="Telchine Gloves", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
legs={ name="Telchine Braconi", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
feet={ name="Telchine Pigaches", augments={'"Cure" potency +6%','Enh. Mag. eff. dur. +8',}},
neck="Incanter's Torque",
waist="Siegel Sash",
left_ear="Hermetic Earring",
right_ear="Gifted Earring",
left_ring="Sirona's Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.stun = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands="Jhakri Cuffs +1",
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Sanctity Necklace",
waist="Refoccilation Stone",
left_ear="Hermetic Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Evanescence Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
--Weaponskill Sets--
sets.WS = {}
sets.WS.Myrkr = {
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs="Assid. Pants +1",
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Orunmila's Torque",
waist="Fucho-no-Obi",
left_ear="Loquac. Earring",
right_ear="Gifted Earring",
left_ring="Mephitas's Ring +1",
right_ring="Tamas Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
end
-- --- Precast ---
function precast(spell)
if Temps:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.aftercast_death)
send_command('@input /echo Death MP conserve Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif Cure_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_Cure)
send_command('@input /echo Cure Precast Set')
end
elseif FC_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_Haste)
send_command('@input /echo Haste Precast Set')
end
elseif spell.name == 'Impact' then
equip(sets.precast_FastCast)
equip({body="Twilight cloak"})
send_command('@input /echo Impact Precast Set')
elseif spell.name == 'Stun' then
equip(sets.stun)
send_command('@input /echo Stun Set')
elseif spell.type == 'JobAbility' then
if Death_Mode == 1 then
equip(sets.aftercast_death)
send_command('@input /echo Death JA MP Converse Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death FC Set')
end
elseif spell.name == 'Death' then
equip(sets.precast_Death)
send_command('@input /echo Death FC Set')
elseif spell.name == 'Comet' then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death FC Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif spell.name == 'Refresh' then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif spell.name == 'Haste' then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif spell.english == 'Myrkr' then
equip(sets.WS.Myrkr)
send_command('@input /echo Myrkr Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
end
--end
--end
-- --- MidCast ---
function midcast(spell)
--Healing magic--
if Cure_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_Cure)
send_command('@input /echo ST Cure Set')
weathercheck(spell.element)
end
end
--Enfeebling Magic--
if spell.skill == 'Enfeebling Magic' then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_EnfeeblingMagic)
send_command('@input /echo Enfeebling Set')
end
end
--Enhancing Magic--
if spell.skill == 'Enhancing Magic' then
if FC_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_Duration)
send_command('@input /echo Duration Set')
weathercheck(spell.element)
end
elseif spell.name == 'Refresh' then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_EnhancingMagic)
equip({head="Amalric coif"})
send_command('@input /echo Refresh Set')
end
else
equip(sets.midcast_EnhancingMagic)
send_command('@input /echo Enhancing Regular Set')
end
end
--Dark Magic--
if Death_Mode == 1 then
if spell.name == 'Death' then
equip(sets.midcast_Death)
send_command('@input /echo Death Set')
weathercheck(spell.element)
end
elseif Dark_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death Set')
weathercheck(spell.element)
else
equip(sets.midcast_Drain)
send_command('@input /echo Drain Set')
weathercheck(spell.element)
end
end
--Elemental Magic--
if spell.skill == 'Elemental Magic' then
if spell.name == 'Impact' then
equip(sets.midcast_Impact)
send_command('@input /echo Impact Set')
weathercheck(spell.element)
elseif spell.name == 'Comet' then
equip(sets.midcast_Comet)
send_command('@input /echo Comet MB Set')
weathercheck(spell.element)
elseif Stone_Spells:contains(spell.name) then
if MBB_Mode == 1 then
equip(sets.midcast_MABB)
equip({neck="Quanpur Necklace"})
send_command('@input /echo Stone Neck MBB Set')
weathercheck(spell.element)
else
equip(sets.midcast_MAB)
equip({neck="Quanpur Necklace"})
send_command('@input /echo Stone Set')
weathercheck(spell.element)
end
elseif AF_Body_On_ST == 1 then
if MBB_Mode == 1 then
equip(sets.midcast_MABB)
equip({body="Spaekona's coat +1"})
send_command('@input /echo AF Body MB Set')
weathercheck(spell.element)
else
equip(sets.midcast_MAB)
equip({body="Spaekona's coat +1"})
send_command('@input /echo AF Body Elemental Set')
weathercheck(spell.element)
end
elseif MBB_Mode == 1 then
equip(sets.midcast_MABB)
send_command('@input /echo Elemental MB Set')
weathercheck(spell.element)
elseif spell.name == 'Comet' then
equip(sets.midcast_Comet)
send_command('@input /echo Comet MB Set')
weathercheck(spell.element)
elseif Death_Mode == 1 then
if spell.name == 'Comet' then
equip(sets.midcast_Comet)
send_command('@input /echo Comet Set')
weathercheck(spell.element)
else
equip(sets.midcast_MABB)
send_command('@input /echo Elemental MB Set')
weathercheck(spell.element)
end
else
equip(sets.midcast_MAB)
send_command('@input /echo Elemental Set')
weathercheck(spell.element)
end
end
end
-- --- Aftercast ---
function aftercast(spell)
if Gear_Debug == 0 then
if Death_Mode == 0 then
equip(sets.aftercast_Idle)
send_command('@input /echo Idle Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death Idle Set')
end
end
end
-- Status Change - ie. Resting
function status_change(new,tab)
if new == 'Idle' then
if Death_Mode == 0 then
equip(sets.aftercast_Idle)
send_command('@input /echo Idle Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death Idle Set')
end
end
end
--function status_change(new,tab)
--if new == 'Resting' then
-- equip(sets['Resting'])
--else
-- equip(sets['aftercast_Idle'])
--end
--end
-- Self Commands -- ie. Defender
function self_command(command)
if command == 'equip Idle set' then
if Death_Mode == 0 then
equip(sets.aftercast_Idle)
send_command('@input /echo Idle Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death Idle Set')
end
elseif command == 'change debug mode' then
if Gear_Debug == 1 then
Gear_Debug = 0
send_command('@input /echo Debug Mode Set to 0')
else
Gear_Debug = 1
send_command('@input /echo Debug Mode Set to 1')
end
elseif command == 'change MP mode' then
if AF_Body_On_ST == 1 then
AF_Body_On_ST = 0
send_command('@input /echo MP Saving Mode off')
else
AF_Body_On_ST = 1
send_command('@input /echo MP Saving Mode on')
end
elseif command == 'change MBB mode' then
if MBB_Mode == 1 then
MBB_Mode = 0
send_command('@input /echo MBB Mode off')
else
MBB_Mode = 1
send_command('@input /echo MBB Mode on')
end
elseif command == 'change Death mode' then
if Death_Mode == 1 then
Death_Mode = 0
send_command('@input /echo Death Mode off')
else
Death_Mode = 1
send_command('@input /echo Death Mode on')
end
end
end
-- This function is user defined, but never called by GearSwap itself. It's just a user function that's only called from user functions. I wanted to check the weather and equip a weather-based set for some spells, so it made sense to make a function for it instead of replicating the conditional in multiple places.
function weathercheck(spell_element)
if spell_element == world.weather_element or spell_element == world.day_element then
equip({waist="Hachirin-no-Obi"})
send_command('@input /echo Using Element Obi')
else
end
end
Or is this one preferred?: Code -------------------------------------------------------------------------------------------------------------------
-- (Original: Motenten / Modified: Arislan)
-------------------------------------------------------------------------------------------------------------------
--[[ Custom Features:
Magic Burst Toggle Magic Burst Mode [Alt-`]
Death Mode Casting and Idle modes that maximize MP pool throughout precast/midcast/idle swaps
Capacity Pts. Mode Capacity Points Mode Toggle [WinKey-C]
Auto. Lockstyle Automatically locks desired equipset on file load
--]]
-------------------------------------------------------------------------------------------------------------------
-- 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
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.CP = M(false, "Capacity Points Mode")
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Spaekona', 'Resistant')
state.IdleMode:options('Normal', 'DT')
state.WeaponLock = M(false, 'Weapon Lock')
state.MagicBurst = M(false, 'Magic Burst')
state.DeathMode = M(false, 'Death Mode')
state.CP = M(false, "Capacity Points Mode")
lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder'}
-- Additional local binds
send_command('bind ^` input /ma Stun <t>;')--input /p <wstar> <ldangle> <circle1> Stun <rarr> <t> <rdangle> <wstar> <call14>')
send_command('bind !` gs c toggle MagicBurst')
send_command('bind !w input /ma "Aspir III" <t>')
send_command('bind !p input /ma "Shock Spikes" <me>')
send_command('bind ^, input /ma Sneak <stpc>')
send_command('bind ^. input /ma Invisible <stpc>')
send_command('bind @d gs c toggle DeathMode')
send_command('bind @c gs c toggle CP')
send_command('bind @w gs c toggle WeaponLock')
select_default_macro_book()
set_lockstyle()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind !`')
send_command('unbind !w')
send_command('unbind !p')
send_command('unbind ^,')
send_command('unbind !.')
send_command('unbind @d')
send_command('unbind @c')
send_command('unbind @w')
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['Mana Wall'] = {
feet="Wicce Sabots +1",
back=gear.BLM_Death_Cape,
}
sets.precast.JA.Manafont = {body="Arch. Coat"}
-- Fast cast sets for spells
sets.precast.FC = {
-- /RDM --15 /SCH --10
main="Oranyan", --7
sub="Clerisy Strap +1", --3
ammo="Sapience Orb", --2
head="Amalric Coif", --10
body="Shango Robe", --8
hands="Merlinic Dastanas", --6
legs="Psycloth Lappas", --7
feet="Regal Pumps +1", --7
neck="Orunmila's Torque", --5
ear1="Etiolation Earring", --1
ear2="Loquacious Earring", --2
ring1="Kishar Ring", --4
ring2="Weather. Ring", --5
back=gear.BLM_FC_Cape, --10
waist="Witful Belt", --3/(2)
}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {
waist="Siegel Sash",
back="Perimede Cape",
})
sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {legs="Doyen Pants"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
waist="Channeler's Stone", --2
})
sets.precast.FC.Cure = set_combine(sets.precast.FC, {
main="Oranyan", --7
sub="Clerisy Strap +1", --3
ammo="Impatiens",
legs="Doyen Pants", --15
ear1="Mendi. Earring", --5
ring1="Lebeche Ring", --(2)
back="Perimede Cape", --(4)
})
sets.precast.FC.Curaga = sets.precast.FC.Cure
sets.precast.FC.Impact = {head=empty, body="Twilight Cloak"}
sets.precast.Storm = set_combine(sets.precast.FC, {ring2="Levia. Ring +1", waist="Channeler's Stone"}) -- stop quick cast
sets.precast.FC.DeathMode = {
ammo="Ghastly Tathlum +1",
head="Amalric Coif", --10
body="Amalric Doublet",
hands="Amalric Gages",
legs="Psycloth Lappas", --7
feet="Regal Pumps +1", --7
neck="Orunmila's Torque", --5
ear1="Etiolation Earring", --1
ear2="Loquacious Earring", --2
ring1="Mephitas's Ring +1",
ring2="Weather. Ring", --5
back="Bane Cape", --4
waist="Witful Belt", --3/(2)
}
sets.precast.FC.Impact.DeathMode = {head=empty, body="Twilight Cloak"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Telchine Cap",
body="Onca Suit",
neck="Fotia Gorget",
ear1="Moonshade Earring",
ear2="Telos Earring",
ring1="Ramuh Ring +1",
ring2="Ramuh Ring +1",
back=gear.BLM_MAB_Cape,
waist="Fotia Belt",
}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Vidohunir'] = {
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands="Amalric Gages",
legs=gear.Merlinic_MB_legs,
feet="Merlinic Crackows",
neck="Imbodla Necklace",
ear1="Barkaro. Earring",
ear2="Moonshade Earring",
ring1="Shiva Ring +1",
ring2="Archon Ring",
back=gear.BLM_MAB_Cape,
waist="Yamabuki-no-Obi",
} -- INT
sets.precast.WS['Myrkr'] = {
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands="Telchine Gloves",
legs="Amalric Slops",
feet="Telchine Pigaches",
neck="Orunmila's Torque",
ear1="Etiolation Earring",
ear2="Loquacious Earring",
ring1="Mephitas's Ring +1",
ring2="Mephitas's Ring",
back="Bane Cape",
waist="Shinjutsu-no-Obi +1",
} -- Max MP
---- Midcast Sets ----
sets.midcast.FastRecast = {
head="Amalric Coif",
hands="Merlinic Dastanas",
legs=gear.Merlinic_MB_legs,
feet="Regal Pumps +1",
ear1="Etiolation Earring",
ear2="Loquacious Earring",
ring1="Kishar Ring",
back=gear.BLM_FC_Cape,
waist="Witful Belt",
} -- Haste
sets.midcast.Cure = {
main="Tamaxchi", --22/(-10)
sub="Sors Shield", --3/(-5)
ammo="Esper Stone +1", --0/(-5)
hands="Telchine Gloves", --10
legs="Gyve Trousers", --10
feet="Medium's Sabots", --12
neck="Nodens Gorget", --5
ear1="Mendi. Earring", --5
ear2="Roundel Earring", --5
ring1="Lebeche Ring", --3/(-5)
ring2="Haoma's Ring",
back="Oretan. Cape +1", --6
waist="Bishop's Sash",
}
sets.midcast.Curaga = set_combine(sets.midcast.Cure, {
ring1="Levia. Ring +1",
ring2="Levia. Ring +1",
waist="Luminary Sash",
})
sets.midcast.Cursna = set_combine(sets.midcast.Cure, {
main="Gada",
sub="Genmei Shield",
head="Vanya Hood",
feet="Vanya Clogs",
neck="Malison Medallion",
ear1="Beatific Earring",
ring1="Haoma's Ring",
ring2="Haoma's Ring",
})
sets.midcast['Enhancing Magic'] = {
main="Oranyan",
sub="Enki Strap",
head="Telchine Cap",
body="Telchine Chas.",
hands="Telchine Gloves",
legs="Telchine Braconi",
feet="Telchine Pigaches",
neck="Incanter's Torque",
ear2="Andoaa Earring",
ring1="Stikini Ring",
ring2="Stikini Ring",
back="Fi Follet Cape +1",
waist="Olympus Sash",
}
sets.midcast.EnhancingDuration = {
main="Oranyan",
sub="Enki Strap",
head="Telchine Cap",
body="Telchine Chas.",
hands="Telchine Gloves",
legs="Telchine Braconi",
feet="Telchine Pigaches",
}
sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
main="Bolelabunga",
sub="Genmei Shield",
body="Telchine Chas.",
})
sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {
head="Amalric Coif",
waist="Gishdubar Sash",
back="Grapevine Cape",
})
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {
neck="Nodens Gorget",
waist="Siegel Sash",
})
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {
main="Vadose Rod",
head="Amalric Coif",
waist="Emphatikos Rope",
})
sets.midcast.Protect = set_combine(sets.midcast.EnhancingDuration, {
ring1="Sheltered Ring",
})
sets.midcast.Protectra = sets.midcast.Protect
sets.midcast.Shell = sets.midcast.Protect
sets.midcast.Shellra = sets.midcast.Protect
sets.midcast.MndEnfeebles = {
main=gear.Grioavolr_MND,
sub="Enki Strap",
ammo="Quartz Tathlum +1",
head="Merlinic Hood",
body="Vanya Robe",
hands="Jhakri Cuffs +1",
legs=gear.Merlinic_MAcc_legs,
feet="Medium's Sabots",
neck="Imbodla Necklace",
ear1="Barkaro. Earring",
ear2="Digni. Earring",
ring1="Kishar Ring",
ring2="Stikini Ring",
back=gear.BLM_FC_Cape,
waist="Casso Sash",
} -- MND/Magic accuracy
sets.midcast.IntEnfeebles = set_combine(sets.midcast.MndEnfeebles, {
main=gear.Grioavolr_MB,
ammo="Pemphredo Tathlum",
back=gear.BLM_MAB_Cape,
}) -- INT/Magic accuracy
sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles
sets.midcast['Dark Magic'] = {
main=gear.Lathi_ENF,
sub="Enki Strap",
ammo="Pemphredo Tathlum",
head="Merlinic Hood",
body="Shango Robe",
hands="Jhakri Cuffs +1",
legs=gear.Merlinic_MAcc_legs,
feet="Merlinic Crackows",
neck="Incanter's Torque",
ear1="Barkaro. Earring",
ear2="Digni. Earring",
ring1="Stikini Ring",
ring2="Stikini Ring",
back=gear.BLM_MAB_Cape,
waist="Luminary Sash",
}
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
head="Pixie Hairpin +1",
feet="Merlinic Crackows",
ear2="Hirudinea Earring",
ring1="Evanescence Ring",
ring2="Archon Ring",
waist="Fucho-no-obi",
})
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {
feet="Regal Pumps +1",
waist="Channeler's Stone",
})
sets.midcast.Death = {
main=gear.Grioavolr_MP,
--main=gear.Grioavolr_MB, --5
sub="Elder's Grip +1",
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Merlinic Jubbah", --10
hands="Amalric Gages", --(5)
legs="Amalric Slops",
feet="Merlinic Crackows", --11
neck="Mizu. Kubikazari", --10
ear1="Barkaro. Earring",
ear2="Static Earring", --5
ring1="Mephitas's Ring +1",
ring2="Archon Ring",
back=gear.BLM_Death_Cape, --5
waist="Yamabuki-no-Obi",
}
-- Elemental Magic sets
sets.midcast['Elemental Magic'] = {
main=gear.Lathi_MAB,
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Merlinic Hood",
body="Merlinic Jubbah",
hands="Amalric Gages",
legs=gear.Merlinic_MB_legs,
feet="Merlinic Crackows",
neck="Baetyl Pendant",
ear1="Barkaro. Earring",
ear2="Friomisi Earring",
ring1="Shiva Ring +1",
ring2="Shiva Ring +1",
back=gear.BLM_MAB_Cape,
waist="Refoccilation Stone",
}
sets.midcast['Elemental Magic'].DeathMode = set_combine(sets.midcast['Elemental Magic'], {
main=gear.Grioavolr_MP,
sub="Elder's Grip +1",
ammo="Ghastly Tathlum +1",
legs="Amalric Slops",
neck="Sanctity Necklace",
back=gear.BLM_Death_Cape,
})
sets.midcast['Elemental Magic'].Resistant = set_combine(sets.midcast['Elemental Magic'], {
main=gear.Grioavolr_MB,
sub="Enki Strap",
legs=gear.Merlinic_MAcc_legs,
neck="Sanctity Necklace",
ear2="Hermetic Earring",
waist="Yamabuki-no-Obi",
})
sets.midcast['Elemental Magic'].Spaekona = set_combine(sets.midcast['Elemental Magic'], {
sub="Enki Strap",
body="Spae. Coat +1",
legs=gear.Merlinic_MAcc_legs,
neck="Sanctity Necklace",
})
sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {
main=gear.Lathi_MAB,
sub="Niobid Strap",
head=empty,
body="Twilight Cloak",
ring2="Archon Ring",
})
-- Initializes trusts at iLvl 119
sets.midcast.Trust = sets.precast.FC
sets.resting = {
main="Chatoyant Staff",
waist="Shinjutsu-no-Obi +1",
}
-- Idle sets
sets.idle = {
main="Bolelabunga",
sub="Genmei Shield",
ammo="Pemphredo Tathlum",
head="Befouled Crown",
body="Witching Robe",
hands="Amalric Gages",
legs="Assid. Pants +1",
feet="Herald's Gaiters",
neck="Sanctity Necklace",
ear1="Genmei Earring",
ear2="Infused Earring",
ring1="Paguroidea Ring",
ring2="Sheltered Ring",
back="Solemnity Cape",
waist="Refoccilation Stone",
}
sets.idle.DT = set_combine(sets.idle, {
main="Mafic Cudgel", --10/0
sub="Genmei Shield", --10/0
ammo="Staunch Tathlum", --2/2
body="Hagondes Coat +1", --4/4
hands="Hagondes Cuffs +1", --3/3
neck="Loricate Torque +1", --6/6
ear1="Genmei Earring", --2/0
ear2="Etiolation Earring", --0/3
ring1="Gelatinous Ring +1", --7/(-1)
ring2="Defending Ring", --10/10
back="Solemnity Cape", --4/4
waist="Lieutenant's Sash", --0/2
})
sets.idle.ManaWall = {
feet="Wicce Sabots +1",
back=gear.BLM_Death_Cape,
}
sets.idle.DeathMode = {
main=gear.Grioavolr_MP,
sub="Elder's Grip +1",
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands="Amalric Gages",
legs="Amalric Slops",
feet="Merlinic Crackows",
neck="Sanctity Necklace",
ear1="Barkaro. Earring",
ear2="Static Earring",
ring1="Mephitas's Ring +1",
ring2="Mephitas's Ring",
back=gear.BLM_Death_Cape,
waist="Shinjutsu-no-Obi +1",
}
sets.idle.Town = set_combine(sets.idle, {
main=gear.Lathi_MAB,
sub="Clerisy Strap +1",
head="Merlinic Hood",
body="Merlinic Jubbah",
legs=gear.Merlinic_MB_legs,
neck="Incanter's Torque",
ear1="Barkaro. Earring",
ear2="Friomisi Earring",
ring1="Shiva Ring +1",
ring2="Shiva Ring +1",
back=gear.BLM_MAB_Cape,
})
sets.idle.Weak = sets.idle.DT
-- Defense sets
sets.defense.PDT = sets.idle.DT
sets.defense.MDT = sets.idle.DT
sets.Kiting = {feet="Herald's Gaiters"}
sets.latent_refresh = {waist="Fucho-no-obi"}
sets.latent_dt = {ear2="Sorcerer's Earring"}
sets.magic_burst = {
body="Merlinic Jubbah", --10
hands="Amalric Gages", --(5)
legs=gear.Merlinic_MB_legs, --6
feet="Merlinic Crackows", --11
neck="Mizu. Kubikazari", --10
ring1="Mujin Band", --(5)
back=gear.BLM_MAB_Cape, --5
}
sets.magic_burst.Resistant = {
main=gear.Grioavolr_MB, --5
sub="Enki Strap",
body="Merlinic Jubbah", --10
hands="Amalric Gages", --(5)
legs=gear.Merlinic_MAcc_legs,
feet="Merlinic Crackows", --11
neck="Mizu. Kubikazari", --10
ring1="Mujin Band", --(5)
back=gear.BLM_MAB_Cape, --5
}
-- 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
-- Normal melee group
sets.engaged = {
sub="Bloodrain Strap",
head="Telchine Cap",
body="Onca Suit",
neck="Combatant's Torque",
ear1="Cessance Earring",
ear2="Telos Earring",
ring1="Chirich Ring",
ring2="Ramuh Ring +1",
waist="Grunfeld Rope",
back="Relucent Cape",
}
sets.buff.Doom = {ring1="Saida Ring", ring2="Saida Ring", waist="Gishdubar Sash"}
sets.DarkAffinity = {head="Pixie Hairpin +1",ring2="Archon Ring"}
sets.Obi = {waist="Hachirin-no-Obi"}
sets.CP = {back="Mecisto. Mantle"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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)
if spell.action_type == 'Magic' and state.DeathMode.value then
eventArgs.handled = true
equip(sets.precast.FC.DeathMode)
if spell.english == "Impact" then
equip(sets.precast.FC.Impact.DeathMode)
end
end
if buffactive['Mana Wall'] then
equip(sets.precast.JA['Mana Wall'])
end
end
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.name == 'Impact' then
equip(sets.precast.FC.Impact)
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)
if spell.action_type == 'Magic' and state.DeathMode.value then
eventArgs.handled = true
if spell.skill == 'Elemental Magic' then
equip(sets.midcast['Elemental Magic'].DeathMode)
else
equip(sets.midcast.Death)
end
end
if buffactive['Mana Wall'] then
equip(sets.precast.JA['Mana Wall'])
end
end
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enhancing Magic' and classes.NoSkillSpells:contains(spell.english) and not state.DeathMode.value then
equip(sets.midcast.EnhancingDuration)
end
if spell.skill == 'Elemental Magic' and spell.english == "Comet" then
equip(sets.DarkAffinity)
end
if spell.skill == 'Elemental Magic' then
if state.MagicBurst.value and spell.english ~= 'Death' then
if state.CastingMode.value == "Resistant" then
equip(sets.magic_burst.Resistant)
else
equip(sets.magic_burst)
end
if spell.english == "Impact" then
equip(sets.midcast.Impact)
end
end
if (spell.element == world.day_element or spell.element == world.weather_element) then
equip(sets.Obi)
end
end
if buffactive['Mana Wall'] then
equip(sets.precast.JA['Mana Wall'])
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
-- Unlock armor when Mana Wall buff is lost.
if buff== "Mana Wall" then
if gain then
--send_command('gs enable all')
equip(sets.precast.JA['Mana Wall'])
--send_command('gs disable all')
else
--send_command('gs enable all')
handle_equipping_gear(player.status)
end
end
if buff == "doom" then
if gain then
equip(sets.buff.Doom)
send_command('@input /p Doomed.')
disable('ring1','ring2','waist')
else
enable('ring1','ring2','waist')
handle_equipping_gear(player.status)
end
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if state.WeaponLock.value == true then
disable('main','sub')
else
enable('main','sub')
end
end
-- latent DT set auto equip on HP% change
windower.register_event('hpp change', function(new, old)
if new<=25 then
equip(sets.latent_dt)
end
end)
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if state.DeathMode.value then
idleSet = sets.idle.DeathMode
end
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if player.hpp <= 25 then
idleSet = set_combine(idleSet, sets.latent_dt)
end
if state.CP.current == 'on' then
equip(sets.CP)
disable('back')
else
enable('back')
end
if buffactive['Mana Wall'] then
idleSet = set_combine(idleSet, sets.precast.JA['Mana Wall'])
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if buffactive['Mana Wall'] then
meleeSet = set_combine(meleeSet, sets.precast.JA['Mana Wall'])
end
return meleeSet
end
function customize_defense_set(defenseSet)
if buffactive['Mana Wall'] then
defenseSet = set_combine(defenseSet, sets.precast.JA['Mana Wall'])
end
return defenseSet
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(1, 5)
end
function set_lockstyle()
send_command('wait 2; input /lockstyleset 10')
end
Pandemonium.Mijin
サーバ: Pandemonium
Game: FFXI
Posts: 7
By Pandemonium.Mijin 2017-02-23 11:22:42
Bumping to reflect changes to OP in hope of a response.
By fillerbunny9 2017-02-23 12:08:07
from what I have seen, Arislan knows his stuff when it comes to gearswap; it tends to be comprehensive and makes sense for editing. as for the sets themselves, I cannot really speak to what is going to be best, not to mention that since random augments are random, you will need to likely figure out a lot of that yourself.
Asura.Byrne
By Asura.Byrne 2017-02-23 13:25:01
Those both have a lot of toggles that are keybound rather than just self-handled--but they both look good, they have things I'll probably shoehorn into my lua at some point. I'm going to post mine here as well, I have a lot of MP based and Vorseal based functions that you can feel free to rip out of here if you like, or I can help you make new ones if you let me know what you want
Code
---------------------------------------------------------------------------------
-- This lua is based off of the Kinematics template and uses Motenten globals. --
-- --
-----------------------------Authors of this file--------------------------------
------ ****************************************** ------
--- ---
-- Byrne (Asura) --------------- [handling of sets and autoMP arguments] --
-- Gamergiving (Asura) ----------- [movement speed conversion mechanics] --
-- Verbannt (Asura) ------------------- [organization of job functions] --
-- Lygre(Odin) ------------------------ [Made what this is based off of] --
-- --
---------------------------------------------------------------------------------
-- This file should be treated as a work in progress, check back to The Black Sacrament Guide or Github for updates
-------------------------------------------------------------------------------------------------------------------
-- 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')
include('organizer-lib')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Setup which sets you want to contain which sets of gear.
-- By default my sets are: Normal is bursting gear, Occult_Acumen is Conserve MP/MP return body, FreeNuke_Effect self explanatory.
-- If you're new to gearswap, the F9~12 keys and CTRL keys in combination is how you activate this stuff.
function job_setup()
state.OffenseMode:options('None', 'Locked')
state.CastingMode:options('Normal', 'Occult_Acumen', 'FreeNuke_Effect')
state.IdleMode:options('Normal', 'PDT')
state.VorsealMode = M('Normal', 'Vorseal')
state.ManawallMode = M('Swaps', 'No_Swaps')
--Vorseal mode is handled simply when zoning into an escha zone--
state.Moving = M(false, "moving")
MagicBurstIndex = 0
state.MagicBurst = M(false, 'Magic Burst')
state.ConsMP = M(false, 'AF Body')
element_table = L{'Earth','Wind','Ice','Fire','Water','Lightning'}
state.AOE = M(false, 'AOE')
lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
degrade_array = {
['Fire'] = {'Fire','Fire II','Fire III','Fire IV','Fire V','Fire VI'},
['Firega'] = {'Firaga','Firaga II','Firaga III','Firaja'},
['Ice'] = {'Blizzard','Blizzard II','Blizzard III','Blizzard IV','Blizzard V','Blizzard VI'},
['Icega'] = {'Blizzaga','Blizzaga II','Blizzaga III','Blizzaja'},
['Wind'] = {'Aero','Aero II','Aero III','Aero IV','Aero V','Aero VI'},
['Windga'] = {'Aeroga','Aeroga II','Aeroga III','Aeroja'},
['Earth'] = {'Stone','Stone II','Stone III','Stone IV','Stone V','Stone VI'},
['Earthga'] = {'Stonega','Stonega II','Stonega III','Stoneja'},
['Lightning'] = {'Thunder','Thunder II','Thunder III','Thunder IV','Thunder V','Thunder VI'},
['Lightningga'] = {'Thundaga','Thundaga II','Thundaga III','Thundaja'},
['Water'] = {'Water', 'Water II','Water III', 'Water IV','Water V','Water VI'},
['Waterga'] = {'Waterga','Waterga II','Waterga III','Waterja'},
['Aspirs'] = {'Aspir','Aspir II','Aspir III'},
['Sleepgas'] = {'Sleepga','Sleepga II'}
}
send_command('bind f10 gs c cycle IdleMode')
send_command('bind f11 gs c cycle CastingMode')
send_command('bind f12 gs c cycle ManawallMode')
organizer_items = {aeonic="Khatvanga"}
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind @`')
send_command('unbind f10')
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['Mana Wall'] = {back="Taranus's cape",feet="Wicce Sabots +1"}
sets.precast.JA.Manafont = {body="Sorcerer's Coat +2"}
-- Can put HP/MP set here for convert
sets.precast.JA.Convert = {}
-- Base precast Fast Cast set, this set will have to show up many times in the function section of the lua
-- So dont forget to do that.
sets.precast.FC = {
main="Marin Staff",
ammo="Incantor Stone",
head="Nahtirah hat",
neck="Orunmila's Torque",
ear2="Loquacious Earring",
body="Anhur Robe",
hands="Helios gloves",
ring1="Prolix Ring",
ring2="Weatherspoon Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
waist="Witful Belt",
legs="Psycloth Lappas",
feet="Regal pumps +1"}
sets.precast.FC.HighMP = {
main="Lathi",ammo="Pemphredo Tathlum",
head="Nahtirah hat",
neck="Orunmila's Torque",
ear2="Loquacious Earring",
ear1="Evans Earring",
body="Helios Jacket",
hands="Helios gloves",
ring1="Sangoma Ring",
ring2="Mephitas's Ring +1",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
waist="Hachirin-no-Obi",
legs="Psycloth Lappas",
feet="Regal pumps +1"}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC['Enfeebling Magic'] = sets.precast.FC
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {ear1="Barkarole earring"})
sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {body="Heka's Kalasiris",legs="Doyen pants", back="Pahtli Cape"})
-- Midcast set for Death, Might as well only have one set, unless you plan on free-nuking death for some unexplainable reason.
sets.midcast['Death'] = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+10%','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Mizukage-no-Kubikazari",
waist="Eschan Stone",
left_ear="Barkaro. Earring",
right_ear="Static Earring",
left_ring="Archon Ring",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
-- Sets for WS, Feel free to add one for Vidohunir if you have Laevateinn
sets.precast.WS['Myrkr'] = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
hands="Amalric Gages",
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet="Psycloth Boots",
neck="Sanctity Necklace",
waist="Yamabuki-no-Obi",
left_ear="Evans Earring",
right_ear="Moonshade Earring",
left_ring="Mephitas's Ring +1",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
---- Midcast Sets ----
sets.midcast.FastRecast = {}
sets.midcast['Healing Magic'] = {}
sets.midcast['Enhancing Magic'] = {
main={ name="Grioavolr", augments={'MP+32','Mag. Acc.+30','"Mag.Atk.Bns."+30',}},
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +6',}},
body={ name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +4',}},
hands={ name="Telchine Gloves", augments={'"Fast Cast"+2','Enh. Mag. eff. dur. +10',}},
legs={ name="Lengo Pants", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +8',}},
neck="Loricate Torque +1",
waist="Gishdubar Sash",
left_ear="Hearty Earring",
right_ear="Dominance Earring",
left_ring="Stikini Ring",
right_ring="Stikini Ring",
back="Solemnity Cape",}
sets.midcast.Mana_Wall_No_Swap = {
main="Terra's Staff",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Kaabnax Hat",
body="Merlinic Jubbah",
hands="Hagondes Cuffs +1",
legs={ name="Hagondes Pants +1", augments={'Phys. dmg. taken -4%',}},
feet="Wicce Sabots +1",
neck="Loricate Torque +1",
waist="Slipor Sash",
left_ear="Merman's Earring",
right_ear="Merman's Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
-- I personally do not have gear to alter these abilities as of the time of disseminating this file, but
-- definitely add them here if you have them.
sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {})
sets.midcast.Haste = set_combine(sets.midcast['Enhancing Magic'], {})
sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'], {})
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {})
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {
waist="Siegel Sash",
neck="Stone Gorget",
hands="Telchine Gloves",
legs="Haven hose",
ear2="Earthcry Earring"})
sets.midcast['Enfeebling Magic'] = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Befouled Crown",
body="Merlinic Jubbah",
hands="Jhakri Cuffs +1",
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Jhakri Pigaches +1",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Barkaro. Earring",
right_ear="Dignitary's Earring",
left_ring="Stikini Ring",
right_ring="Stikini Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
sets.midcast['Enfeebling Magic'].FreeNuke_Effect = set_combine(sets.midcast['Enfeebling Magic'],{
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Vanya Robe",
hands="Lurid Mitts",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+8','"Conserve MP"+6','"Cure" potency +3%',}},
neck="Henic Torque",
waist="Eschan Stone",
left_ear="Barkaro. Earring",
right_ear="Digni. Earring",
left_ring="Stikini Ring",
right_ring="Stikini Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast['Enfeebling Magic'].Occult_Acumen = set_combine(sets.midcast['Enfeebling Magic'],{
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Vanya Robe",
hands="Lurid Mitts",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+8','"Conserve MP"+6','"Cure" potency +3%',}},
neck="Henic Torque",
waist="Eschan Stone",
left_ear="Barkaro. Earring",
right_ear="Digni. Earring",
left_ring="Stikini Ring",
right_ring="Stikini Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
sets.midcast['Dark Magic'] = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Merlinic Jubbah",
hands="Jhakri cuffs +1",
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Fucho-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Dignitary's Earring",
left_ring="Evanescence Ring",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
-- Elemental Magic sets
sets.midcast['Elemental Magic'] = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Merlinic Jubbah",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Mizu. Kubikazari",
waist="Eschan Stone",
left_ear="Static Earring",
right_ear="Barkaro. Earring",
left_ring="Mujin Band",
right_ring="Locus Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
sets.midcast['Elemental Magic'].FreeNuke_Effect = set_combine(sets.midcast['Elemental Magic'], {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Merlinic Jubbah",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Friomisi Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast['Elemental Magic'].Occult_Acumen = set_combine(sets.midcast['Elemental Magic'], {
main="Grioavolr",
sub="Niobid Strap",
ammo="Seraphic Ampulla",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24','"Occult Acumen"+10','INT+9',}},
body="Seidr Cotehardie",
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+20','"Occult Acumen"+11',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Occult Acumen"+9','INT+10','"Mag.Atk.Bns."+8',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Barkaro. Earring",
right_ear="Gwati Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {})
sets.midcast['Elemental Magic'].HighTierNuke.FreeNuke_Effect = set_combine(sets.midcast['Elemental Magic'].HighTierNuke, {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Merlinic Jubbah",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Friomisi Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast['Elemental Magic'].HighTierNuke.Occult_Acumen = set_combine(sets.midcast['Elemental Magic'].HighTierNuke, {
main="Grioavolr",
sub="Niobid Strap",
ammo="Seraphic Ampulla",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24','"Occult Acumen"+10','INT+9',}},
body="Seidr Cotehardie",
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+20','"Occult Acumen"+11',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Occult Acumen"+9','INT+10','"Mag.Atk.Bns."+8',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Barkaro. Earring",
right_ear="Gwati Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast.Impact = {
head=empty,body="Twilight Cloak",
hands="Jhakri cuffs +1",
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Hachirin-no-Obi",
left_ear="Dignitary's Earring",
right_ear="Barkaro. Earring",
left_ring="Stikini Ring",
right_ring="Stikini Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
sets.midcast['Comet'] = set_combine(sets.midcast['Elemental Magic'], {
sub="Niobid Strap",
ammo="Seraphic Ampulla",
head="Pixie Hairpin +1",
body="Merlinic Jubbah",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+10%','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Mizu. Kubikazari",
waist="Eschan Stone",
left_ear="Static Earring",
right_ear="Barkaro. Earring",
left_ring="Archon Ring",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
sets.midcast['Comet'].FreeNuke_Effect = set_combine(sets.midcast['Elemental Magic'], {
sub="Niobid Strap",
ammo="Seraphic Ampulla",
head="Pixie Hairpin +1",
body="Merlinic Jubbah",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+10%','Mag. Acc.+10','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Friomisi Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}})
-- These next two sets are used later in the functions to determine what gear will be used in High MP and Low MP situations
-- SPECIFICALLY for Aspir spells. In the LowMP set, put your best Aspir+ gear, in the other set put your best Max MP gear.
-- Find out how much your maximum MP is in each set, and adjust the MP values in the function area accordingly
-- (CTRL+F: Aspir Handling)
sets.midcast.HighMP = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
hands="Amalric Gages",
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet="Psycloth Boots",
neck="Sanctity Necklace",
waist="Yamabuki-no-Obi",
left_ear="Barkarole Earring",
right_ear="Evans Earring",
left_ring="Mephitas's Ring +1",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
sets.midcast.LowMP = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Merlinic Jubbah",
hands="Jhakri Cuffs +1",
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Sanctity Necklace",
waist="Fucho-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Gwati Earring",
left_ring="Evanescence Ring",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
--Set to be equipped when Day/Weather match current spell element
sets.Obi = {waist='Hachirin-no-Obi'}
-- I actually have two references to equip this item, just in case your globals are out of date.
-- Resting sets
sets.resting = {}
-- Idle sets: Make general idle set a max MP set, later hooks will handle the rest of your refresh sets, but
-- remember to alter the refresh sets (Ctrl+F to find them)
sets.idle = {
main="Grioavolr",
sub="Irenic Strap",
ammo="Pemphredo Tathlum",
head="Befouled Crown",
body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
hands="Amalric Gages",
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet="Psycloth boots",
neck="Sanctity Necklace",
waist="Yamabuki-no-Obi",
left_ear="Evans Earring",
right_ear="Loquac. Earring",
left_ring="Mephitas's Ring +1",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
-- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
sets.idle.PDT = {
main="Terra's Staff",
sub="Irenic Strap",
ammo="Pemphredo Tathlum",
head="Kaabnax Hat",
body="Mallquis Saio +1",
hands="Hagondes Cuffs +1",
legs={ name="Hagondes Pants +1", augments={'Phys. dmg. taken -4%',}},
feet="Mallquis Clogs +1",
neck="Loricate Torque +1",
waist="Slipor Sash",
left_ear="Merman's Earring",
right_ear="Merman's Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Solemnity Cape"}
sets.Adoulin = {body="Councilor's Garb",}
sets.MoveSpeed = {feet = "Herald's Gaiters",}
sets.TreasureHunter = {waist="Chaac Belt"}
-- Set for Conserve MP toggle, convert damage to MP body.
sets.ConsMP = {body="Seidr Cotehardie"}
--- PDT set is designed to be used for MP total set, MDT can be used for whatever you like but in MDT mode
--- the player.mp arguments will likely stop working properly
sets.defense.PDT = {
main="Terra's Staff",
sub="Irenic Strap",
ammo="Pemphredo Tathlum",
head="Kaabnax Hat",
body="Mallquis Saio +1",
hands="Hagondes Cuffs +1",
legs={ name="Hagondes Pants +1", augments={'Phys. dmg. taken -4%',}},
feet="Mallquis Clogs +1",
neck="Loricate Torque +1",
waist="Slipor Sash",
left_ear="Merman's Earring",
right_ear="Merman's Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Solemnity Cape"}
sets.defense.MDT = {
main="Grioavolr",
sub="Irenic Strap",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+8%','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
body="Merlinic Jubbah",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Mag. crit. hit dmg. +4%','MND+4','Mag. Acc.+11','"Mag.Atk.Bns."+14',}},
feet="Merlinic Crackows",
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Static Earring",
right_ear="Barkaro. Earring",
left_ring="Mujin Band",
right_ring="Locus Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
sets.Kiting = {feet="Herald's Gaiters"}
sets.latent_refresh = {waist="Fucho-no-Obi"}
sets.auto_refresh = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
hands={ name="Merlinic Dastanas", augments={'Pet: DEX+3','AGI+5','"Refresh"+1','Accuracy+16 Attack+16',}},
legs="Assid. Pants +1",
feet={ name="Merlinic Crackows", augments={'Accuracy+1 Attack+1','"Cure" spellcasting time -2%','"Refresh"+1',}},
neck="Sanctity Necklace",
waist="Yamabuki-no-Obi",
left_ear="Evans Earring",
right_ear="Loquac. Earring",
left_ring="Mephitas's Ring +1",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
-- Mana Wall idle set
sets.buff['Mana Wall'] = {
main="Terra's Staff",
sub="Irenic Strap",
ammo="Pemphredo Tathlum",
head="Kaabnax Hat",
body="Mallquis Saio +1",
hands="Hagondes Cuffs +1",
legs={ name="Hagondes Pants +1", augments={'Phys. dmg. taken -4%',}},
feet="Wicce Sabots +1",
neck="Loricate Torque +1",
waist="Slipor Sash",
left_ear="Merman's Earring",
right_ear="Merman's Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
sets.midcast.Cure = {
main="Tamaxchi",
sub="Genbu's Shield",
ammo="Vanir Battery",
head={ name="Kaabnax Hat", augments={'Phys. dmg. taken -2%','Magic dmg. taken -2%','Phys. dmg. taken -2%',}},
body={ name="Vanya Robe", augments={'MP+49','"Cure" potency +7%','Enmity-5',}},
hands={ name="Telchine Gloves", augments={'"Fast Cast"+2','Enh. Mag. eff. dur. +10',}},
legs={ name="Hagondes Pants +1", augments={'Phys. dmg. taken -4%',}},
feet="Battlecast Gaiters",
neck="Loricate Torque +1",
waist="Slipor Sash",
left_ear="Merman's Earring",
right_ear="Merman's Earring",
left_ring="Defending Ring",
right_ring="Kunaji Ring",
back="Solemnity Cape",}
sets.midcast.CureSelf = set_combine(sets.midcast.Cure, {waist="Gishdubar Sash"})
-- Engaged sets
-- Set is designed for engaging a monster before pop to ensure you are at maximum MP value when Geas Fete triggers an MP refill.
-- This is mostly used in this lua in situations where a fight is about to be initiated and you arent above whatever the maximum
-- value for your idle set is. Another simple way around this is to simply make a macro to equip the gear before the fight starts.
sets.engaged = {
main="Grioavolr",
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
hands="Amalric Gages",
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet="Psycloth Boots",
neck="Sanctity Necklace",
feet="Psycloth boots",
waist="Yamabuki-no-Obi",
left_ear="Evans Earring",
right_ear="Loquac. Earring",
left_ring="Mephitas's Ring +1",
right_ring="Sangoma Ring",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
--- Define MP and buff specific Fast Cast and Midcast sets for conservation of MP for death sets, most will be
--- handled on thier own. What you need to change is the player.mp value to match slightly under what your max
--- MP is in your standard fast cast set. The set is designed to Dynamically switch fast cast sets to sets that
--- preserve your MP total if you are above the amount at which equiping your standard set would decrease your
--- maximum MP. Due to a rework in how these arguments are organised, all gearsets are being handled above the
--- function block for this file.
function job_precast(spell, action, spellMap, eventArgs)
enable('feet','back')
end
function job_post_precast(spell, action, spellMap, eventArgs)
if player.mp > 2000 and state.VorsealMode.value == 'Vorseal' then
equip(sets.precast.FC.HighMP)
elseif player.mp < 2000 and state.VorsealMode.value == 'Vorseal' then
equip(sets.precast.FC)
elseif player.mp > 1650 and state.VorsealMode.value == 'Normal' then
equip(sets.precast.FC.HighMP)
elseif player.mp < 1650 and state.VorsealMode.value == 'Normal' then
equip(sets.precast.FC)
end
if spell.english == "Impact" then
equip({head=empty,body="Twilight Cloak"})
elseif spellMap == 'Cure' or spellMap == 'Curaga' then
gear.default.obi_waist = "Hachirin-no-obi"
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)
-- This section is for you to define at what value your Aspir sets will change. This is to let your aspirs
-- get you into your death idle and higher MP values. This number should be around 100 MP lower than the
-- Fast cast argument above this to prevent looping. The intent is to ensure that if you use aspir while you
-- are already above a value defined in this section then it will put on your highest MP set, capping you off
-- rather than simply capping you to whatever your Aspir potency set's max MP value happens to be.
if spell.action_type == 'Magic' then
if spell.element == world.weather_element or spell.element == world.day_element then
equip(set_combine(sets.midcast['Elemental Magic'], {waist="Hachirin-no-Obi",}))
end
if spell.english == 'Death' then
equip(sets.midcast['Death'])
end
end
end
-- Aspir Handling
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.english == 'Aspir' or spell.english == 'Aspir II' or spell.english == 'Aspir III' and state.VorsealMode.value == 'Vorseal' and player.mp > 1910 then
equip(sets.midcast.HighMP)
elseif spell.english == 'Aspir' or spell.english == 'Aspir II' or spell.english == 'Aspir III' and state.VorsealMode.value == 'Vorseal' and player.mp < 1910 then
equip(sets.midcast.LowMP)
elseif spell.english == 'Aspir' or spell.english == 'Aspir II' or spell.english == 'Aspir III' and state.VorsealMode.value == 'Normal' and player.mp > 1640 then
equip(sets.midcast.HighMP)
elseif spell.english == 'Aspir' or spell.english == 'Aspir II' or spell.english == 'Aspir III' and state.VorsealMode.value == 'Normal' and player.mp < 1640 then
equip(sets.midcast.LowMP)
end
if spell.element == world.day_element or spell.element == world.weather_element then
if string.find(spell.english,'helix') then
equip(sets.midcast.Helix)
else
equip(sets.Obi)
end
end
if spell.skill == 'Elemental Magic' and (player.mp-spell.mp_cost) < 436 then
equip(sets.ConsMP)
end
if spell.skill == 'Enfeebling Magic' and state.HybridMode ~= 'Resist' then
equip(sets.midcast['Enfeebling Magic'].Effect)
end
if spellMap == 'Cure' and state.ManawallMode.Value == 'No_Swaps' then
equip(sets.midcast.Mana_Wall_No_Swap)
elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
end
if spell.skill == 'Enhancing Magic' and state.ManawallMode.Value == 'No_Swaps' then
equip(sets.midcast.Mana_Wall_No_Swap)
end
end
-- Duration arguments
-- Below you can include wait inputs for all spells that you are interested in having timers for
-- For the sake of brevity, I've only included crowd control spells into this list, but following
-- the same general format you should be able to intuitively include whatever you like.
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock feet after using Mana Wall.
if buffactive['Mana Wall'] then
enable('feet','back')
equip(sets.buff['Mana Wall'])
disable('feet','back')
end
if not spell.interrupted then
if spell.english == "Sleep II" or spell.english == "Sleepga II" then -- Sleep II Countdown --
send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Break" or spell.english == "Breakga" then -- Break Countdown --
send_command('wait 25;input /echo Break Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Paralyze" then -- Paralyze Countdown --
send_command('wait 115;input /echo Paralyze Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Slow" then -- Slow Countdown --
send_command('wait 115;input /echo Slow Effect: [WEARING OFF IN 5 SEC.]')
end
end
--if buffactive['poison'] then
--send_command('input /item "antidote" <me>')
--end
end
function nuke(spell, action, spellMap, eventArgs)
if player.target.type == 'MONSTER' then
if state.AOE.value then
send_command('input /ma "'..degrade_array[element_table:append('ga')][#degrade_array[element_table:append('ga')]]..'" '..tostring(player.target.name))
else
send_command('input /ma "'..degrade_array[element_table][#degrade_array[element_table]]..'" '..tostring(player.target.name))
end
else
add_to_chat(5,'A Monster is not targetted.')
end
end
function job_self_command(commandArgs, eventArgs)
if commandArgs[1] == 'element' then
if commandArgs[2] then
if element_table:contains(commandArgs[2]) then
element_table = commandArgs[2]
add_to_chat(5, 'Current Nuke element ['..element_table..']')
else
add_to_chat(5,'Incorrect Element value')
return
end
else
add_to_chat(5,'No element specified')
end
elseif commandArgs[1] == 'nuke' then
nuke()
end
end
function refine_various_spells(spell, action, spellMap, eventArgs)
local aspirs = S{'Aspir','Aspir II','Aspir III'}
local sleeps = S{'Sleep','Sleep II'}
local sleepgas = S{'Sleepga','Sleepga II'}
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
local spell_index
end
mov = {counter=0}
if player and player.index and windower.ffxi.get_mob_by_index(player.index) then
mov.x = windower.ffxi.get_mob_by_index(player.index).x
mov.y = windower.ffxi.get_mob_by_index(player.index).y
mov.z = windower.ffxi.get_mob_by_index(player.index).z
end
mov = {counter=0}
if player and player.index and windower.ffxi.get_mob_by_index(player.index) then
mov.x = windower.ffxi.get_mob_by_index(player.index).x
mov.y = windower.ffxi.get_mob_by_index(player.index).y
mov.z = windower.ffxi.get_mob_by_index(player.index).z
end
moving = false
windower.raw_register_event('prerender',function()
mov.counter = mov.counter + 1;
if buffactive['Mana Wall'] then
moving = false
elseif mov.counter>15 then
local pl = windower.ffxi.get_mob_by_index(player.index)
if pl and pl.x and mov.x then
dist = math.sqrt( (pl.x-mov.x)^2 + (pl.y-mov.y)^2 + (pl.z-mov.z)^2 )
if dist > 1 and not moving then
state.Moving.value = true
send_command('gs c update')
send_command('gs equip sets.MoveSpeed')
if world.area:contains("Adoulin") then
send_command('gs equip sets.Adoulin')
end
moving = true
elseif dist < 1 and moving then
state.Moving.value = false
send_command('gs c update')
moving = false
end
end
if pl and pl.x then
mov.x = pl.x
mov.y = pl.y
mov.z = pl.z
end
mov.counter = 0
end
end)
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
--if buff == "poison" and gain then
--send_command('input /item "antidote" <me>')
--end
if buff == "Vorseal" then
send_command('gs c cycle VorsealMode')
elseif buff == "Vorseal" and not gain then
send_command('gs c cycle VorsealMode')
end
if buff == "Visitant" then
send_command('gs l blm3.lua')
end
-- Unlock feet when Mana Wall buff is lost.
if buff == "Mana Wall" then
send_command('wait 0.5;gs c update')
end
if buff == "Mana Wall" and not gain then
enable('feet','back')
handle_equipping_gear(player.status)
end
if buff == "Commitment" and not gain then
equip({ring2="Capacity Ring"})
if player.equipment.right_ring == "Capacity Ring" then
disable("ring2")
else
enable("ring2")
end
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Locked' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
if stateField == 'Death Mode' then
if newValue == true then
state.OffenseMode:set('Locked')
predeathcastmode = state.CastingMode.value
--[[Insert 'equip(<set consisting of Death weapon and sub, to have them automatically lock when changing into Death mode>)']]
elseif newValue == false then
state.CastingMode:set(predeathcastmode)
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
--[[function job_update(cmdParams, eventArgs)
job_display_current_state(eventArgs)
eventArgs.handled = true
end]]
function display_current_job_state(eventArgs)
eventArgs.handled = true
local msg = ''
if state.OffenseMode.value ~= 'None' then
msg = msg .. 'Combat ['..state.OffenseMode.value..']'
if state.CombatForm.has_value then
msg = msg .. ' (' .. state.CombatForm.value .. ')'
end
msg = msg .. ', '
end
--[[if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end]]
msg = msg .. 'Casting ['..state.CastingMode.value..'], Idle ['..state.IdleMode.value..']'
if state.MagicBurst.value then
msg = msg .. ', MB [ON]'
else
msg = msg .. ', MB [OFF]'
end
if state.ConsMP.value then
msg = msg .. ', AF Body [ON]'
else
msg = msg .. ', AF Body [OFF]'
end
if state.DeatCast.value then
msg = msg .. ', Death Mode [ON]'
else
msg = msg .. ', Death Mode [OFF]'
end
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 [ON]'
end
if state.PCTargetMode.value ~= 'default' then
msg = msg .. ', Target PC: '..state.PCTargetMode.value
end
if state.SelectNPCTargets.value == true then
msg = msg .. ', Target NPCs'
end
add_to_chat(122, msg)
end
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
if lowTierNukes:contains(spell.english) then
return 'LowTierNuke'
else
return 'HighTierNuke'
end
end
end
-- Modify the default idle set after it was constructed.
--- This is where I handle Death Mode Idle set construction, rather than weave it into the Idle state var
function customize_idle_set(idleSet)
if buffactive['Mana Wall'] then
idleSet = sets.buff['Mana Wall']
elseif player.mpp < 51 and state.IdleMode.value == 'PDT' then
idleSet = sets.idle.PDT
elseif player.mpp < 51 and state.IdleMode.value == 'Normal' then
idleSet = set_combine(sets.auto_refresh, sets.latent_refresh)
elseif player.mp < 2050 and state.VorsealMode.value == 'Vorseal' and state.IdleMode.value == 'PDT' then
idleSet = sets.idle.PDT
elseif player.mp < 2050 and state.VorsealMode.value == 'Vorseal' then
idleSet = sets.auto_refresh
elseif player.mp < 1650 and state.VorsealMode.value == 'Normal' and state.IdleMode.value == 'PDT' then
idleSet = sets.idle.PDT
elseif player.mp < 1650 and state.VorsealMode.value == 'Normal' and state.IdleMode.value == 'Normal' then
idleSet = sets.auto_refresh
end
return idleSet
end
--- This is where I handle Death Mode Melee set modifications
function customize_melee_set(meleeSet)
if buffactive['Mana Wall'] then
meleeSet = set_combine(meleeSet, sets.buff['Mana Wall'])
end
return meleeSet
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(9, 4)
-- Do not remove below argument or the file WILL NOT WORK PROPERLY when reloaded in an escha area--
if buffactive['Vorseal'] and state.VorsealMode.value == 'Normal' then
send_command('gs c cycle VorsealMode')
end
end
Necro Bump Detected!
[96 days between previous and next post]
Phoenix.Tiburon
サーバ: Phoenix
Game: FFXI
Posts: 43
By Phoenix.Tiburon 2017-05-30 15:57:15
Code sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
I've seen this in multiple BLM lua's, and just.... No.
Elemental Debuffs
Use either a Skill set or Macc set to reduce resists, since 150INT is a joke.
Bismarck.Speedyjim
サーバ: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2017-06-01 22:50:27
Good catch. Isn't an Enfeebling Magic set already pretty much a Macc set?
Asura.Byrne
By Asura.Byrne 2017-06-02 00:17:13
In most cases it would be, yes. Especially given that in most cases BLM's best INT options happen to also be it's best M.acc options. So it's pretty much a moot point.
On BLM, you're better off in many cases worrying less about the potency of the debuff, and just sticking the damn thing so you aren't wasting a full minute trying to land the same spell over and over.
Things are a tad different for RDM and to an extent SCH, but that's RDM's primary function... and also something that RDM has alot more flexibility with due to Immunobreak gear and varying levels of Frazzle that it can use
What is your opinion on the following?:
Code -- Local Settings, setting the zones prior to use
toau_zones = S{"Leujaoam Sanctum","Mamool Ja Training Grounds","Lebros Cavern","Periqia","Ilrusi Atoll",
"Nyzul Isle","Bhaflau Remnants","Arrapago Remnants","Silver Sea Remnants","Zhayolm Remnants"}
resSpells = S{"Barstonra","Barwatera","Baraera","Barfira","Barblizzara","Barthundra",
"Barstone","Barwater","Baraero","Barfire","Barblizzard","Barthunder"}
Cure_Spells = S{"Cure","Cure II","Cure III","Cure IV","Curaga","Curaga II"}
FC_Spells = S{"Haste","Utsusemi: Ichi","Utsusemi: Ni","Refresh","Regen","Regen II","Firestorm","Hailstorm","Windstorm","Rainstorm","Sandstorm",
"Thunderstorm","Voidstorm","Aurorastorm","Protect II","Protect III","Shell II"}
AF_Nukes = S{"Stone III","Water III","Aero III","Fire III","Blizzard III","Thunder III",
"Stonega","Stonega II","Stonega III","Waterga","Waterga II","Waterga III","Aeroga","Aeroga II","Aeroga III","Firaga","Firaga II","Firaga III",
"Blizzaga","Blizzaga II","Blizzaga III","Thundaga","Thundaga II","Thundaga III",
"Stoneja","Waterja","Aeroja","Firaja","Blizzaja","Thundaja","Quake II","Flood II","Tornado II","Flare II","Freeze II","Burst II"}
Big_Nukes = S{"Thunder V","Blizzard V","Fire V","Aero V","Water V","Stone V","Thunder VI","Blizzard VI","Fire VI","Aero VI","Water VI","Stone VI"}
Stone_Spells = S{"Stone","Stone II","Stone III","Stone IV","Stone V","Stone VI","Stonega","Stonega II","Stonega III","Stoneja"}
Dark_Spells = S{"Aspir","Aspir II","Aspir III","Drain"}
Temps = S{"Lucid Ether I","Lucid Ether II","Lucid Ether III","Lucid Elixir I","Lucid Elixir II","Mana Mist","Mana Powder","Megalixir",
"Super Revitalizer","Daedalus Wing","Lucid Wings I","Lucid Wings II","Braver's Drink","Oracle's Drink","Assassin's Drink",
"Soldier's Drink","Monarch's Drink","Steadfast Tonic","Mirror's Tonic","Charm Buffer"}
Gear_Debug = 0
AF_Body_On_ST = 0
MBB_Mode = 0
Death_Mode = 0
-- Start Functions here
-- Gear Sets
function get_sets()
sets.aftercast_Idle_refresh = {
main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
sub="Niobid Strap",
ammo="Kalboron Stone",
head={ name="Merlinic Hood", augments={'STR+2','Accuracy+8','"Refresh"+1',}},
body="Jhakri Robe +1",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Wiglen Gorget",
waist="Fucho-no-Obi",
left_ear={ name="Moonshade Earring", augments={'Mag. Acc.+4','Latent effect: "Refresh"+1',}},
right_ear="Barkaro. Earring",
left_ring="Woltaris Ring",
right_ring="Sheltered Ring",
back="Solemnity Cape",
}
sets.aftercast_death = {
main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
sub="Niobid Strap",
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs="Assid. Pants +1",
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Orunmila's Torque",
waist="Fucho-no-Obi",
left_ear="Loquac. Earring",
right_ear="Gifted Earring",
left_ring="Mephitas's Ring +1",
right_ring="Tamas Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.aftercast_Move = sets.aftercast_Idle_refresh
sets.aftercast_Idle = sets.aftercast_Idle_refresh
sets.precast_Cure = {
ammo="Sapience Orb",
head={ name="Merlinic Hood", augments={'Mag. Acc.+21','"Fast Cast"+4','CHR+6',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+8','"Fast Cast"+5','MND+6','"Mag.Atk.Bns."+4',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Prolix Ring",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.precast_FastCast = {
ammo="Sapience Orb",
head={ name="Merlinic Hood", augments={'Mag. Acc.+21','"Fast Cast"+4','CHR+6',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+8','"Fast Cast"+5','MND+6','"Mag.Atk.Bns."+4',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Prolix Ring",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.precast_Death = {
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
ffeet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Channeler's Stone",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Mephitas's Ring +1",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.precast_Haste = {
ammo="Sapience Orb",
head={ name="Merlinic Hood", augments={'Mag. Acc.+21','"Fast Cast"+4','CHR+6',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+8','"Fast Cast"+5','MND+6','"Mag.Atk.Bns."+4',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+28','"Fast Cast"+6','CHR+10',}},
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Loquac. Earring",
right_ear="Barkaro. Earring",
left_ring="Prolix Ring",
right_ring="Rahab Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.Resting = {
ammo="Kalboron Stone",
head={ name="Merlinic Hood", augments={'STR+2','Accuracy+8','"Refresh"+1',}},
body="Jhakri Robe +1",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Wiglen Gorget",
waist="Fucho-no-Obi",
left_ear="Gifted Earring",
right_ear={ name="Moonshade Earring", augments={'Mag. Acc.+4','Latent effect: "Refresh"+1',}},
left_ring="Woltaris Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
sets.midcast_EnfeeblingMagic = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+8','Mag. Acc.+8',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Sanctity Necklace",
waist="Refoccilation Stone",
left_ear="Hermetic Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Acumen Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_DarkMagic = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Sanctity Necklace",
waist="Refoccilation Stone",
left_ear="Hermetic Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Evanescence Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_EnhancingMagic = {
ammo="Pemphredo Tathlum",
head={ name="Telchine Cap", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
body={ name="Telchine Chas.", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
hands={ name="Telchine Gloves", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
legs={ name="Telchine Braconi", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
feet={ name="Telchine Pigaches", augments={'"Cure" potency +6%','Enh. Mag. eff. dur. +8',}},
neck="Incanter's Torque",
waist="Siegel Sash",
left_ear="Hermetic Earring",
right_ear="Gifted Earring",
left_ring="Sirona's Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Duration = {
ammo="Pemphredo Tathlum",
head={ name="Telchine Cap", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
body={ name="Telchine Chas.", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
hands={ name="Telchine Gloves", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
legs={ name="Telchine Braconi", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
feet={ name="Telchine Pigaches", augments={'"Cure" potency +6%','Enh. Mag. eff. dur. +8',}},
neck="Incanter's Torque",
waist="Siegel Sash",
left_ear="Hermetic Earring",
right_ear="Gifted Earring",
left_ring="Sirona's Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_MAB = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+8','Mag. Acc.+8',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Saevus Pendant +1",
waist="Refoccilation Stone",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Acumen Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_MABB = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+19','Magic burst mdg.+9%','Mag. Acc.+11',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25','Magic burst mdg.+10%','"Mag.Atk.Bns."+11',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Death = {
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25','Magic burst mdg.+10%','"Mag.Atk.Bns."+11',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Mephitas's Ring +1",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Comet = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25','Magic burst mdg.+10%','"Mag.Atk.Bns."+11',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Mizu. Kubikazari",
waist="Hachirin-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Static Earring",
left_ring="Mephitas's Ring +1",
right_ring="Mujin Band",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_AF = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +10','INT+8','Mag. Acc.+8',}},
body="Spae. Coat +1",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Saevus Pendant +1",
waist="Refoccilation Stone",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Acumen Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast_Impact = {
main={ name="Lathi", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
body="Twilight Cloak",
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Phys. dmg. taken -3%','Mag. Acc.+15',}},
neck="Saevus Pendant +1",
waist="Yamabuki-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring +1",
right_ring="Shiva Ring +1",
back="Toro Cape",
}
sets.midcast_Cure = {
ammo="Kalboron Stone",
head={ name="Telchine Cap", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
body={ name="Telchine Chas.", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
hands={ name="Telchine Gloves", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
legs={ name="Telchine Braconi", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
feet={ name="Telchine Pigaches", augments={'"Cure" potency +6%','Enh. Mag. eff. dur. +8',}},
neck="Incanter's Torque",
waist="Siegel Sash",
left_ear="Hermetic Earring",
right_ear="Gifted Earring",
left_ring="Sirona's Ring",
right_ring="Sheltered Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.stun = {
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands="Jhakri Cuffs +1",
legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','MND+8','Mag. Acc.+10','"Mag.Atk.Bns."+12',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Sanctity Necklace",
waist="Refoccilation Stone",
left_ear="Hermetic Earring",
right_ear="Barkaro. Earring",
left_ring="Shiva Ring +1",
right_ring="Evanescence Ring",
back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
--Weaponskill Sets--
sets.WS = {}
sets.WS.Myrkr = {
ammo="Kalboron Stone",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+10%','"Mag.Atk.Bns."+7',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs="Assid. Pants +1",
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst mdg.+8%','INT+8','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
neck="Orunmila's Torque",
waist="Fucho-no-Obi",
left_ear="Loquac. Earring",
right_ear="Gifted Earring",
left_ring="Mephitas's Ring +1",
right_ring="Tamas Ring",
back={ name="Taranus's Cape", augments={'MP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10',}},
}
end
-- --- Precast ---
function precast(spell)
if Temps:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.aftercast_death)
send_command('@input /echo Death MP conserve Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif Cure_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_Cure)
send_command('@input /echo Cure Precast Set')
end
elseif FC_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_Haste)
send_command('@input /echo Haste Precast Set')
end
elseif spell.name == 'Impact' then
equip(sets.precast_FastCast)
equip({body="Twilight cloak"})
send_command('@input /echo Impact Precast Set')
elseif spell.name == 'Stun' then
equip(sets.stun)
send_command('@input /echo Stun Set')
elseif spell.type == 'JobAbility' then
if Death_Mode == 1 then
equip(sets.aftercast_death)
send_command('@input /echo Death JA MP Converse Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death FC Set')
end
elseif spell.name == 'Death' then
equip(sets.precast_Death)
send_command('@input /echo Death FC Set')
elseif spell.name == 'Comet' then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death FC Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif spell.name == 'Refresh' then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif spell.name == 'Haste' then
if Death_Mode == 1 then
equip(sets.precast_Death)
send_command('@input /echo Death Precast Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
elseif spell.english == 'Myrkr' then
equip(sets.WS.Myrkr)
send_command('@input /echo Myrkr Set')
else
equip(sets.precast_FastCast)
send_command('@input /echo Precast Set')
end
end
--end
--end
-- --- MidCast ---
function midcast(spell)
--Healing magic--
if Cure_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_Cure)
send_command('@input /echo ST Cure Set')
weathercheck(spell.element)
end
end
--Enfeebling Magic--
if spell.skill == 'Enfeebling Magic' then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_EnfeeblingMagic)
send_command('@input /echo Enfeebling Set')
end
end
--Enhancing Magic--
if spell.skill == 'Enhancing Magic' then
if FC_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_Duration)
send_command('@input /echo Duration Set')
weathercheck(spell.element)
end
elseif spell.name == 'Refresh' then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death-Buff Set')
weathercheck(spell.element)
else
equip(sets.midcast_EnhancingMagic)
equip({head="Amalric coif"})
send_command('@input /echo Refresh Set')
end
else
equip(sets.midcast_EnhancingMagic)
send_command('@input /echo Enhancing Regular Set')
end
end
--Dark Magic--
if Death_Mode == 1 then
if spell.name == 'Death' then
equip(sets.midcast_Death)
send_command('@input /echo Death Set')
weathercheck(spell.element)
end
elseif Dark_Spells:contains(spell.name) then
if Death_Mode == 1 then
equip(sets.midcast_Death)
send_command('@input /echo Death Set')
weathercheck(spell.element)
else
equip(sets.midcast_Drain)
send_command('@input /echo Drain Set')
weathercheck(spell.element)
end
end
--Elemental Magic--
if spell.skill == 'Elemental Magic' then
if spell.name == 'Impact' then
equip(sets.midcast_Impact)
send_command('@input /echo Impact Set')
weathercheck(spell.element)
elseif spell.name == 'Comet' then
equip(sets.midcast_Comet)
send_command('@input /echo Comet MB Set')
weathercheck(spell.element)
elseif Stone_Spells:contains(spell.name) then
if MBB_Mode == 1 then
equip(sets.midcast_MABB)
equip({neck="Quanpur Necklace"})
send_command('@input /echo Stone Neck MBB Set')
weathercheck(spell.element)
else
equip(sets.midcast_MAB)
equip({neck="Quanpur Necklace"})
send_command('@input /echo Stone Set')
weathercheck(spell.element)
end
elseif AF_Body_On_ST == 1 then
if MBB_Mode == 1 then
equip(sets.midcast_MABB)
equip({body="Spaekona's coat +1"})
send_command('@input /echo AF Body MB Set')
weathercheck(spell.element)
else
equip(sets.midcast_MAB)
equip({body="Spaekona's coat +1"})
send_command('@input /echo AF Body Elemental Set')
weathercheck(spell.element)
end
elseif MBB_Mode == 1 then
equip(sets.midcast_MABB)
send_command('@input /echo Elemental MB Set')
weathercheck(spell.element)
elseif spell.name == 'Comet' then
equip(sets.midcast_Comet)
send_command('@input /echo Comet MB Set')
weathercheck(spell.element)
elseif Death_Mode == 1 then
if spell.name == 'Comet' then
equip(sets.midcast_Comet)
send_command('@input /echo Comet Set')
weathercheck(spell.element)
else
equip(sets.midcast_MABB)
send_command('@input /echo Elemental MB Set')
weathercheck(spell.element)
end
else
equip(sets.midcast_MAB)
send_command('@input /echo Elemental Set')
weathercheck(spell.element)
end
end
end
-- --- Aftercast ---
function aftercast(spell)
if Gear_Debug == 0 then
if Death_Mode == 0 then
equip(sets.aftercast_Idle)
send_command('@input /echo Idle Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death Idle Set')
end
end
end
-- Status Change - ie. Resting
function status_change(new,tab)
if new == 'Idle' then
if Death_Mode == 0 then
equip(sets.aftercast_Idle)
send_command('@input /echo Idle Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death Idle Set')
end
end
end
--function status_change(new,tab)
--if new == 'Resting' then
-- equip(sets['Resting'])
--else
-- equip(sets['aftercast_Idle'])
--end
--end
-- Self Commands -- ie. Defender
function self_command(command)
if command == 'equip Idle set' then
if Death_Mode == 0 then
equip(sets.aftercast_Idle)
send_command('@input /echo Idle Set')
else
equip(sets.aftercast_death)
send_command('@input /echo Death Idle Set')
end
elseif command == 'change debug mode' then
if Gear_Debug == 1 then
Gear_Debug = 0
send_command('@input /echo Debug Mode Set to 0')
else
Gear_Debug = 1
send_command('@input /echo Debug Mode Set to 1')
end
elseif command == 'change MP mode' then
if AF_Body_On_ST == 1 then
AF_Body_On_ST = 0
send_command('@input /echo MP Saving Mode off')
else
AF_Body_On_ST = 1
send_command('@input /echo MP Saving Mode on')
end
elseif command == 'change MBB mode' then
if MBB_Mode == 1 then
MBB_Mode = 0
send_command('@input /echo MBB Mode off')
else
MBB_Mode = 1
send_command('@input /echo MBB Mode on')
end
elseif command == 'change Death mode' then
if Death_Mode == 1 then
Death_Mode = 0
send_command('@input /echo Death Mode off')
else
Death_Mode = 1
send_command('@input /echo Death Mode on')
end
end
end
-- This function is user defined, but never called by GearSwap itself. It's just a user function that's only called from user functions. I wanted to check the weather and equip a weather-based set for some spells, so it made sense to make a function for it instead of replicating the conditional in multiple places.
function weathercheck(spell_element)
if spell_element == world.weather_element or spell_element == world.day_element then
equip({waist="Hachirin-no-Obi"})
send_command('@input /echo Using Element Obi')
else
end
end
Or is this one preferred?: Code -------------------------------------------------------------------------------------------------------------------
-- (Original: Motenten / Modified: Arislan)
-------------------------------------------------------------------------------------------------------------------
--[[ Custom Features:
Magic Burst Toggle Magic Burst Mode [Alt-`]
Death Mode Casting and Idle modes that maximize MP pool throughout precast/midcast/idle swaps
Capacity Pts. Mode Capacity Points Mode Toggle [WinKey-C]
Auto. Lockstyle Automatically locks desired equipset on file load
--]]
-------------------------------------------------------------------------------------------------------------------
-- 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
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.CP = M(false, "Capacity Points Mode")
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Spaekona', 'Resistant')
state.IdleMode:options('Normal', 'DT')
state.WeaponLock = M(false, 'Weapon Lock')
state.MagicBurst = M(false, 'Magic Burst')
state.DeathMode = M(false, 'Death Mode')
state.CP = M(false, "Capacity Points Mode")
lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder'}
-- Additional local binds
send_command('bind ^` input /ma Stun <t>;')--input /p <wstar> <ldangle> <circle1> Stun <rarr> <t> <rdangle> <wstar> <call14>')
send_command('bind !` gs c toggle MagicBurst')
send_command('bind !w input /ma "Aspir III" <t>')
send_command('bind !p input /ma "Shock Spikes" <me>')
send_command('bind ^, input /ma Sneak <stpc>')
send_command('bind ^. input /ma Invisible <stpc>')
send_command('bind @d gs c toggle DeathMode')
send_command('bind @c gs c toggle CP')
send_command('bind @w gs c toggle WeaponLock')
select_default_macro_book()
set_lockstyle()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind !`')
send_command('unbind !w')
send_command('unbind !p')
send_command('unbind ^,')
send_command('unbind !.')
send_command('unbind @d')
send_command('unbind @c')
send_command('unbind @w')
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['Mana Wall'] = {
feet="Wicce Sabots +1",
back=gear.BLM_Death_Cape,
}
sets.precast.JA.Manafont = {body="Arch. Coat"}
-- Fast cast sets for spells
sets.precast.FC = {
-- /RDM --15 /SCH --10
main="Oranyan", --7
sub="Clerisy Strap +1", --3
ammo="Sapience Orb", --2
head="Amalric Coif", --10
body="Shango Robe", --8
hands="Merlinic Dastanas", --6
legs="Psycloth Lappas", --7
feet="Regal Pumps +1", --7
neck="Orunmila's Torque", --5
ear1="Etiolation Earring", --1
ear2="Loquacious Earring", --2
ring1="Kishar Ring", --4
ring2="Weather. Ring", --5
back=gear.BLM_FC_Cape, --10
waist="Witful Belt", --3/(2)
}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {
waist="Siegel Sash",
back="Perimede Cape",
})
sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {legs="Doyen Pants"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
waist="Channeler's Stone", --2
})
sets.precast.FC.Cure = set_combine(sets.precast.FC, {
main="Oranyan", --7
sub="Clerisy Strap +1", --3
ammo="Impatiens",
legs="Doyen Pants", --15
ear1="Mendi. Earring", --5
ring1="Lebeche Ring", --(2)
back="Perimede Cape", --(4)
})
sets.precast.FC.Curaga = sets.precast.FC.Cure
sets.precast.FC.Impact = {head=empty, body="Twilight Cloak"}
sets.precast.Storm = set_combine(sets.precast.FC, {ring2="Levia. Ring +1", waist="Channeler's Stone"}) -- stop quick cast
sets.precast.FC.DeathMode = {
ammo="Ghastly Tathlum +1",
head="Amalric Coif", --10
body="Amalric Doublet",
hands="Amalric Gages",
legs="Psycloth Lappas", --7
feet="Regal Pumps +1", --7
neck="Orunmila's Torque", --5
ear1="Etiolation Earring", --1
ear2="Loquacious Earring", --2
ring1="Mephitas's Ring +1",
ring2="Weather. Ring", --5
back="Bane Cape", --4
waist="Witful Belt", --3/(2)
}
sets.precast.FC.Impact.DeathMode = {head=empty, body="Twilight Cloak"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Telchine Cap",
body="Onca Suit",
neck="Fotia Gorget",
ear1="Moonshade Earring",
ear2="Telos Earring",
ring1="Ramuh Ring +1",
ring2="Ramuh Ring +1",
back=gear.BLM_MAB_Cape,
waist="Fotia Belt",
}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Vidohunir'] = {
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands="Amalric Gages",
legs=gear.Merlinic_MB_legs,
feet="Merlinic Crackows",
neck="Imbodla Necklace",
ear1="Barkaro. Earring",
ear2="Moonshade Earring",
ring1="Shiva Ring +1",
ring2="Archon Ring",
back=gear.BLM_MAB_Cape,
waist="Yamabuki-no-Obi",
} -- INT
sets.precast.WS['Myrkr'] = {
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands="Telchine Gloves",
legs="Amalric Slops",
feet="Telchine Pigaches",
neck="Orunmila's Torque",
ear1="Etiolation Earring",
ear2="Loquacious Earring",
ring1="Mephitas's Ring +1",
ring2="Mephitas's Ring",
back="Bane Cape",
waist="Shinjutsu-no-Obi +1",
} -- Max MP
---- Midcast Sets ----
sets.midcast.FastRecast = {
head="Amalric Coif",
hands="Merlinic Dastanas",
legs=gear.Merlinic_MB_legs,
feet="Regal Pumps +1",
ear1="Etiolation Earring",
ear2="Loquacious Earring",
ring1="Kishar Ring",
back=gear.BLM_FC_Cape,
waist="Witful Belt",
} -- Haste
sets.midcast.Cure = {
main="Tamaxchi", --22/(-10)
sub="Sors Shield", --3/(-5)
ammo="Esper Stone +1", --0/(-5)
hands="Telchine Gloves", --10
legs="Gyve Trousers", --10
feet="Medium's Sabots", --12
neck="Nodens Gorget", --5
ear1="Mendi. Earring", --5
ear2="Roundel Earring", --5
ring1="Lebeche Ring", --3/(-5)
ring2="Haoma's Ring",
back="Oretan. Cape +1", --6
waist="Bishop's Sash",
}
sets.midcast.Curaga = set_combine(sets.midcast.Cure, {
ring1="Levia. Ring +1",
ring2="Levia. Ring +1",
waist="Luminary Sash",
})
sets.midcast.Cursna = set_combine(sets.midcast.Cure, {
main="Gada",
sub="Genmei Shield",
head="Vanya Hood",
feet="Vanya Clogs",
neck="Malison Medallion",
ear1="Beatific Earring",
ring1="Haoma's Ring",
ring2="Haoma's Ring",
})
sets.midcast['Enhancing Magic'] = {
main="Oranyan",
sub="Enki Strap",
head="Telchine Cap",
body="Telchine Chas.",
hands="Telchine Gloves",
legs="Telchine Braconi",
feet="Telchine Pigaches",
neck="Incanter's Torque",
ear2="Andoaa Earring",
ring1="Stikini Ring",
ring2="Stikini Ring",
back="Fi Follet Cape +1",
waist="Olympus Sash",
}
sets.midcast.EnhancingDuration = {
main="Oranyan",
sub="Enki Strap",
head="Telchine Cap",
body="Telchine Chas.",
hands="Telchine Gloves",
legs="Telchine Braconi",
feet="Telchine Pigaches",
}
sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
main="Bolelabunga",
sub="Genmei Shield",
body="Telchine Chas.",
})
sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {
head="Amalric Coif",
waist="Gishdubar Sash",
back="Grapevine Cape",
})
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {
neck="Nodens Gorget",
waist="Siegel Sash",
})
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {
main="Vadose Rod",
head="Amalric Coif",
waist="Emphatikos Rope",
})
sets.midcast.Protect = set_combine(sets.midcast.EnhancingDuration, {
ring1="Sheltered Ring",
})
sets.midcast.Protectra = sets.midcast.Protect
sets.midcast.Shell = sets.midcast.Protect
sets.midcast.Shellra = sets.midcast.Protect
sets.midcast.MndEnfeebles = {
main=gear.Grioavolr_MND,
sub="Enki Strap",
ammo="Quartz Tathlum +1",
head="Merlinic Hood",
body="Vanya Robe",
hands="Jhakri Cuffs +1",
legs=gear.Merlinic_MAcc_legs,
feet="Medium's Sabots",
neck="Imbodla Necklace",
ear1="Barkaro. Earring",
ear2="Digni. Earring",
ring1="Kishar Ring",
ring2="Stikini Ring",
back=gear.BLM_FC_Cape,
waist="Casso Sash",
} -- MND/Magic accuracy
sets.midcast.IntEnfeebles = set_combine(sets.midcast.MndEnfeebles, {
main=gear.Grioavolr_MB,
ammo="Pemphredo Tathlum",
back=gear.BLM_MAB_Cape,
}) -- INT/Magic accuracy
sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles
sets.midcast['Dark Magic'] = {
main=gear.Lathi_ENF,
sub="Enki Strap",
ammo="Pemphredo Tathlum",
head="Merlinic Hood",
body="Shango Robe",
hands="Jhakri Cuffs +1",
legs=gear.Merlinic_MAcc_legs,
feet="Merlinic Crackows",
neck="Incanter's Torque",
ear1="Barkaro. Earring",
ear2="Digni. Earring",
ring1="Stikini Ring",
ring2="Stikini Ring",
back=gear.BLM_MAB_Cape,
waist="Luminary Sash",
}
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
head="Pixie Hairpin +1",
feet="Merlinic Crackows",
ear2="Hirudinea Earring",
ring1="Evanescence Ring",
ring2="Archon Ring",
waist="Fucho-no-obi",
})
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {
feet="Regal Pumps +1",
waist="Channeler's Stone",
})
sets.midcast.Death = {
main=gear.Grioavolr_MP,
--main=gear.Grioavolr_MB, --5
sub="Elder's Grip +1",
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Merlinic Jubbah", --10
hands="Amalric Gages", --(5)
legs="Amalric Slops",
feet="Merlinic Crackows", --11
neck="Mizu. Kubikazari", --10
ear1="Barkaro. Earring",
ear2="Static Earring", --5
ring1="Mephitas's Ring +1",
ring2="Archon Ring",
back=gear.BLM_Death_Cape, --5
waist="Yamabuki-no-Obi",
}
-- Elemental Magic sets
sets.midcast['Elemental Magic'] = {
main=gear.Lathi_MAB,
sub="Niobid Strap",
ammo="Pemphredo Tathlum",
head="Merlinic Hood",
body="Merlinic Jubbah",
hands="Amalric Gages",
legs=gear.Merlinic_MB_legs,
feet="Merlinic Crackows",
neck="Baetyl Pendant",
ear1="Barkaro. Earring",
ear2="Friomisi Earring",
ring1="Shiva Ring +1",
ring2="Shiva Ring +1",
back=gear.BLM_MAB_Cape,
waist="Refoccilation Stone",
}
sets.midcast['Elemental Magic'].DeathMode = set_combine(sets.midcast['Elemental Magic'], {
main=gear.Grioavolr_MP,
sub="Elder's Grip +1",
ammo="Ghastly Tathlum +1",
legs="Amalric Slops",
neck="Sanctity Necklace",
back=gear.BLM_Death_Cape,
})
sets.midcast['Elemental Magic'].Resistant = set_combine(sets.midcast['Elemental Magic'], {
main=gear.Grioavolr_MB,
sub="Enki Strap",
legs=gear.Merlinic_MAcc_legs,
neck="Sanctity Necklace",
ear2="Hermetic Earring",
waist="Yamabuki-no-Obi",
})
sets.midcast['Elemental Magic'].Spaekona = set_combine(sets.midcast['Elemental Magic'], {
sub="Enki Strap",
body="Spae. Coat +1",
legs=gear.Merlinic_MAcc_legs,
neck="Sanctity Necklace",
})
sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {
main=gear.Lathi_MAB,
sub="Niobid Strap",
head=empty,
body="Twilight Cloak",
ring2="Archon Ring",
})
-- Initializes trusts at iLvl 119
sets.midcast.Trust = sets.precast.FC
sets.resting = {
main="Chatoyant Staff",
waist="Shinjutsu-no-Obi +1",
}
-- Idle sets
sets.idle = {
main="Bolelabunga",
sub="Genmei Shield",
ammo="Pemphredo Tathlum",
head="Befouled Crown",
body="Witching Robe",
hands="Amalric Gages",
legs="Assid. Pants +1",
feet="Herald's Gaiters",
neck="Sanctity Necklace",
ear1="Genmei Earring",
ear2="Infused Earring",
ring1="Paguroidea Ring",
ring2="Sheltered Ring",
back="Solemnity Cape",
waist="Refoccilation Stone",
}
sets.idle.DT = set_combine(sets.idle, {
main="Mafic Cudgel", --10/0
sub="Genmei Shield", --10/0
ammo="Staunch Tathlum", --2/2
body="Hagondes Coat +1", --4/4
hands="Hagondes Cuffs +1", --3/3
neck="Loricate Torque +1", --6/6
ear1="Genmei Earring", --2/0
ear2="Etiolation Earring", --0/3
ring1="Gelatinous Ring +1", --7/(-1)
ring2="Defending Ring", --10/10
back="Solemnity Cape", --4/4
waist="Lieutenant's Sash", --0/2
})
sets.idle.ManaWall = {
feet="Wicce Sabots +1",
back=gear.BLM_Death_Cape,
}
sets.idle.DeathMode = {
main=gear.Grioavolr_MP,
sub="Elder's Grip +1",
ammo="Ghastly Tathlum +1",
head="Pixie Hairpin +1",
body="Amalric Doublet",
hands="Amalric Gages",
legs="Amalric Slops",
feet="Merlinic Crackows",
neck="Sanctity Necklace",
ear1="Barkaro. Earring",
ear2="Static Earring",
ring1="Mephitas's Ring +1",
ring2="Mephitas's Ring",
back=gear.BLM_Death_Cape,
waist="Shinjutsu-no-Obi +1",
}
sets.idle.Town = set_combine(sets.idle, {
main=gear.Lathi_MAB,
sub="Clerisy Strap +1",
head="Merlinic Hood",
body="Merlinic Jubbah",
legs=gear.Merlinic_MB_legs,
neck="Incanter's Torque",
ear1="Barkaro. Earring",
ear2="Friomisi Earring",
ring1="Shiva Ring +1",
ring2="Shiva Ring +1",
back=gear.BLM_MAB_Cape,
})
sets.idle.Weak = sets.idle.DT
-- Defense sets
sets.defense.PDT = sets.idle.DT
sets.defense.MDT = sets.idle.DT
sets.Kiting = {feet="Herald's Gaiters"}
sets.latent_refresh = {waist="Fucho-no-obi"}
sets.latent_dt = {ear2="Sorcerer's Earring"}
sets.magic_burst = {
body="Merlinic Jubbah", --10
hands="Amalric Gages", --(5)
legs=gear.Merlinic_MB_legs, --6
feet="Merlinic Crackows", --11
neck="Mizu. Kubikazari", --10
ring1="Mujin Band", --(5)
back=gear.BLM_MAB_Cape, --5
}
sets.magic_burst.Resistant = {
main=gear.Grioavolr_MB, --5
sub="Enki Strap",
body="Merlinic Jubbah", --10
hands="Amalric Gages", --(5)
legs=gear.Merlinic_MAcc_legs,
feet="Merlinic Crackows", --11
neck="Mizu. Kubikazari", --10
ring1="Mujin Band", --(5)
back=gear.BLM_MAB_Cape, --5
}
-- 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
-- Normal melee group
sets.engaged = {
sub="Bloodrain Strap",
head="Telchine Cap",
body="Onca Suit",
neck="Combatant's Torque",
ear1="Cessance Earring",
ear2="Telos Earring",
ring1="Chirich Ring",
ring2="Ramuh Ring +1",
waist="Grunfeld Rope",
back="Relucent Cape",
}
sets.buff.Doom = {ring1="Saida Ring", ring2="Saida Ring", waist="Gishdubar Sash"}
sets.DarkAffinity = {head="Pixie Hairpin +1",ring2="Archon Ring"}
sets.Obi = {waist="Hachirin-no-Obi"}
sets.CP = {back="Mecisto. Mantle"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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)
if spell.action_type == 'Magic' and state.DeathMode.value then
eventArgs.handled = true
equip(sets.precast.FC.DeathMode)
if spell.english == "Impact" then
equip(sets.precast.FC.Impact.DeathMode)
end
end
if buffactive['Mana Wall'] then
equip(sets.precast.JA['Mana Wall'])
end
end
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.name == 'Impact' then
equip(sets.precast.FC.Impact)
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)
if spell.action_type == 'Magic' and state.DeathMode.value then
eventArgs.handled = true
if spell.skill == 'Elemental Magic' then
equip(sets.midcast['Elemental Magic'].DeathMode)
else
equip(sets.midcast.Death)
end
end
if buffactive['Mana Wall'] then
equip(sets.precast.JA['Mana Wall'])
end
end
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enhancing Magic' and classes.NoSkillSpells:contains(spell.english) and not state.DeathMode.value then
equip(sets.midcast.EnhancingDuration)
end
if spell.skill == 'Elemental Magic' and spell.english == "Comet" then
equip(sets.DarkAffinity)
end
if spell.skill == 'Elemental Magic' then
if state.MagicBurst.value and spell.english ~= 'Death' then
if state.CastingMode.value == "Resistant" then
equip(sets.magic_burst.Resistant)
else
equip(sets.magic_burst)
end
if spell.english == "Impact" then
equip(sets.midcast.Impact)
end
end
if (spell.element == world.day_element or spell.element == world.weather_element) then
equip(sets.Obi)
end
end
if buffactive['Mana Wall'] then
equip(sets.precast.JA['Mana Wall'])
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
-- Unlock armor when Mana Wall buff is lost.
if buff== "Mana Wall" then
if gain then
--send_command('gs enable all')
equip(sets.precast.JA['Mana Wall'])
--send_command('gs disable all')
else
--send_command('gs enable all')
handle_equipping_gear(player.status)
end
end
if buff == "doom" then
if gain then
equip(sets.buff.Doom)
send_command('@input /p Doomed.')
disable('ring1','ring2','waist')
else
enable('ring1','ring2','waist')
handle_equipping_gear(player.status)
end
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if state.WeaponLock.value == true then
disable('main','sub')
else
enable('main','sub')
end
end
-- latent DT set auto equip on HP% change
windower.register_event('hpp change', function(new, old)
if new<=25 then
equip(sets.latent_dt)
end
end)
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if state.DeathMode.value then
idleSet = sets.idle.DeathMode
end
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if player.hpp <= 25 then
idleSet = set_combine(idleSet, sets.latent_dt)
end
if state.CP.current == 'on' then
equip(sets.CP)
disable('back')
else
enable('back')
end
if buffactive['Mana Wall'] then
idleSet = set_combine(idleSet, sets.precast.JA['Mana Wall'])
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if buffactive['Mana Wall'] then
meleeSet = set_combine(meleeSet, sets.precast.JA['Mana Wall'])
end
return meleeSet
end
function customize_defense_set(defenseSet)
if buffactive['Mana Wall'] then
defenseSet = set_combine(defenseSet, sets.precast.JA['Mana Wall'])
end
return defenseSet
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(1, 5)
end
function set_lockstyle()
send_command('wait 2; input /lockstyleset 10')
end
|
|