|
Gearswap Support Thread
Server: Asura
Game: FFXI
Posts: 127
By Asura.Brennski 2016-06-28 07:38:29
Tried that with Poison and a Poison Potion but it is not equipping my set: Code
--To toggle gearsets:
--Main command: //gs c toggle x set where x = set name variable. Variables are as follows: --
--Idle sets: Idle, TP sets: TP--
--Resolution sets: Res, Requiescat sets: Req--
function get_sets()
send_command('bind f9 gs c toggle TP set')
send_command('bind f10 gs c toggle Idle set')
send_command('bind f11 gs c toggle CDC set')
send_command('bind f12 gs c toggle Req set')
send_command('bind !f12 gs c toggle Rea set')
send_command('bind ^` gs c toggle MB set')
function file_unload()
send_command('unbind ^f9')
send_command('unbind ^f10')
send_command('unbind ^f11')
send_command('unbind ^f12')
send_command('unbind ^`')
send_command('unbind !f9')
send_command('unbind !f10')
send_command('unbind !f11')
send_command('unbind !f12')
send_command('unbind f9')
send_command('unbind f10')
send_command('unbind f11')
send_command('unbind f12')
end
--Idle Sets--
sets.Idle = {}
sets.Idle.index = {'Standard', 'Cleave'}
Idle_ind = 1
sets.Idle.Standard = {ammo="Homiliary",
head="Rawhide Mask",neck="Sanctity Necklace", ear1="Genmei earring",ear2="Infused Earring",
body="Runeist coat +1",hands="Herculean gloves",ring1="Warden's ring",ring2="Gelatinous Ring +1",
back="Evasionist's cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet="Erilaz Greaves +1"}
sets.Idle.Cleave = { ammo ="Brigantia Pebble",
head={ name="Herculean Helm", augments={'Accuracy+19 Attack+19','Damage taken-3%','AGI+3','Accuracy+2',}},neck="Loricate Torque +1", ear1="Ethereal earring",ear2="Infused Earring",
body="Emet harness +1",hands="Runeist Mitons",ring1="Warden's ring",ring2="Gelatinous Ring +1",
back="Evasionist's cape",waist="Flume Belt +1",legs="Erilaz Leg Guards +1",feet="Erilaz Greaves +1"}
--TP Sets--
sets.TP = {}
sets.TP.index = {'Standard', 'Tank', 'DT', 'DTAccuracy', 'DW'}
--1=Standard, 2 = Tank,3=DT, 4=DTAccuracy, 5=DW,--
TP_ind = 1
sets.TP.Standard = { sub ="Nepenthe Grip",ammo="Ginsen",
head="Adhemar Bonnet", neck="Lissome necklace", ear1="Brutal Earring", ear2="Cessance earring",
body="Herculean Vest",hands="Adhemar Wristbands",ring1="Cacoethic Ring",ring2="Epona's Ring",
back="Ogma's cape",waist="Kentarch Belt +1",legs="Samnuha Tights",feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+4',}} }
sets.TP.Tank = {sub="Refined Grip +1",ammo="Brigantia Pebble",
head={ name="Herculean Helm", augments={'Accuracy+19 Attack+19','Damage taken-3%','AGI+3','Accuracy+2',}},neck="Loricate Torque +1", ear1="Genmei Earring", ear2="Ethereal earring",
body="Erilaz Surcoat +1",hands="Kurys Gloves",ring1="Warden's ring",ring2="Gelatinous Ring +1",
back="Evasionist's Cape",waist="Flume Belt +1",legs="Erilaz Leg Guards +1",feet="Erilaz Greaves +1"}
sets.TP.DT = {ammo="Amar Cluster",
head={ name="Herculean Helm", augments={'Accuracy+19 Attack+19','Damage taken-3%','AGI+3','Accuracy+2',}},neck="Loricate Torque +1", ear1="Genmei Earring", ear2="Cessance earring",
body="Emet harness +1",hands="Kurys Gloves",ring1="Dark ring",ring2="Petrov Ring",
back="Solemnity Cape",waist="Flume belt +1",legs="Erilaz Leg Guards +1",feet="Erilaz Greaves +1"}
sets.TP.DTAccuracy = {ammo="Amar Cluster",
head={ name="Herculean Helm", augments={'Accuracy+19 Attack+19','Damage taken-3%','AGI+3','Accuracy+2',}},neck="Loricate Torque +1", ear1="Genmei Earring", ear2="Cessance earring",
body="Emet harness +1",hands="Kurys Gloves",ring1="Cacoethic ring",ring2="Gelatinous Ring +1",
back="Evasionist's Cape",waist="Flume belt +1",legs="Erilaz Leg Guards +1",feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+4',}} }
sets.TP.DW = {ammo="Honed tathlum",
head="Adhemar Bonnet", neck="Sanctity Necklace", ear1="Suppanomimi", ear2="Cessance earring",
body="Herculean Vest",hands="Adhemar Wristbands",ring1="Cacoethic Ring",ring2="Epona's Ring",
back="Omga Cape",waist="Kentarch Belt +1",legs="Samnuha Tights",feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+4',}} }
--Weaponskill Sets--
sets.WS = {}
sets.Resolution = {}
sets.Resolution.index = {'Attack'}
Resolution_ind = 1
sets.Resolution.Attack = {ammo="Seething Bomblet +1",
head="Adhemar Bonnet",neck="Fotia gorget",ear1="Brutal Earring",ear2="Cessance Earring",
body="Herculean Vest",hands="Adhemar Wristbands",ring1="Petrov Ring",ring2="Epona's ring",
back="Ogma's cape",waist="Fotia belt",legs="Samnuha Tights",feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+4',}} }
sets.Dimidiation = {}
sets.Dimidiation.index = {'Attack'}
Dimidiation_ind = 1
sets.Dimidiation.Attack = {ammo="Jukukik Feather",
head="Adhemar Bonnet",neck="Fotia gorget",ear1="Brutal Earring",ear2="Cessance Earring",
body="Herculean Vest",hands="Adhemar Wristbands",ring1="Petrov Ring",ring2="Epona's ring",
back="Ogma's cape",waist="Fotia belt",legs="Samnuha Tights",feet={ name="Herculean Boots", augments={'Accuracy+21','Crit.hit rate+1','DEX+14','Attack+14',}} }
sets.Requiescat = {}
sets.Requiescat.index = {'Attack'}
Requiescat_ind = 1
sets.Requiescat.Attack = {ammo="Seething Bomblet +1",
head="Adhemar Bonnet",neck="Fotia gorget",ear1="Brutal earring",ear2="Moonshade earring",
body="Wayfarer robe",hands="Wayfarer cuffs",ring1="Petrov Ring",ring2="Aquasoul ring",
back="Atheling mantle",waist="Fotia belt",legs="Quiahuiz leggings",feet={ name="Herculean Boots", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','VIT+10','"Mag.Atk.Bns."+12',}}}
sets.FellCleave = {}
sets.FellCleave.index = {'Attack'}
FellCleave_ind = 1
sets.FellCleave.Attack = {ammo="Seething Bomblet +1",
head="Adhemar Bonnet",neck="Fotia gorget",ear1="Brutal Earring",ear2="Cessance Earring",
body="Herculean Vest",hands="Adhemar Wristbands",ring1="Petrov Ring",ring2="Epona's ring",
back="Ogma's cape",waist="Fotia belt",legs="Samnuha Tights",feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+4',}} }
sets.SavageBlade = {}
sets.SavageBlade.index = {'Attack'}
SavageBlade_ind = 1
sets.SavageBlade.Attack = {ammo="Seething Bomblet +1",
head="Adhemar Bonnet",neck="Fotia gorget",ear1="Brutal Earring",ear2="Cessance Earring",
body="Herculean Vest",hands="Adhemar Wristbands",ring1="Petrov Ring",ring2="Epona's ring",
back="Ogma's cape",waist="Fotia belt",legs="Samnuha Tights",feet={ name="Herculean Boots", augments={'Accuracy+20 Attack+20','"Triple Atk."+4',}}}
--Utility Sets--
sets.Utility = {}
sets.Utility.Phalanx = {ammo ="Sapience Orb", head="Futhark bandeau +1",neck="Incanter's Torque",ear1 ="Lifestorm Earring", ear1="Genmei earring",
body="Emet harness +1",hands="Kurys Gloves", waist ="Olympus Sash", ring1='Begrudging Ring', ring2='Supershear Ring',
legs="Carmine Cuisses",feet="Erilaz Greaves +1", back="Evasionist's cape"}
sets.Utility.Regen = {head="Runeist Bandeau",neck="Incanter's Torque",ear1="Genmei earring",ear2="Augment. earring",
body="Futhark coat",hands="Runeist mitons",ring1="Prolix ring", ring2='Supershear Ring',
back="Swith cape",waist="Pythia sash +1",legs="Futhark trousers",feet="Runeist bottes"}
sets.Utility.SID = {ammo ="Brigantia Pebble", head="Herculean Helm",neck="Incanter's Torque",ear1="Genmei earring", ear2 = "Halasz Earring",
body="Emet Harness +1",hands="Herculean Gloves",ring1="Evanescence Ring", ring2='Supershear Ring',
back="Evasionist cape",waist="Flume Belt +1",legs="Carmine Cuisses",feet="Erilaz Greaves +1" }
sets.Utility.Enmity = {ammo="Sapience Orb",head="Rapid Visor",neck="Warder's Charm",ear2 ="Friomisi Earring", ear1="Genmei earring",
body="Emet harness +1",hands="Kurys Gloves", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2='Supershear Ring',
legs="Erilaz Leg Guards +1",feet="Erilaz Greaves +1", back="Evasionist's cape"}
sets.Utility.Enhancing = {ammo="Sapience Orb",head="Erilaz Galea",neck="Incanter's Torque",ear1 ="Lifestorm Earring", ear1="Genmei earring",
body="Emet harness +1",hands="Kurys Gloves", waist ="Olympus Sash", ring1='Begrudging Ring', ring2='Supershear Ring',
legs="Carmine Cuisses",feet="Erilaz Greaves +1", back="Evasionist's cape"}
sets.Utility.Doomed = {wait="Gishdubar Sash", ring1 ="Saida Ring"}
--Job Ability Sets--
sets.JA = {}
sets.JA = {}
sets.JA.Lunge = {ammo="Seething Bomblet +1",
head={ name="Herculean Helm", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Dbl.Atk."+2','Mag. Acc.+12','"Mag.Atk.Bns."+4',}},neck="Sanctity Necklace",ear2="Friomisi earring", ear1="Hecate's Earring",
body="Samnuha Coat",hands="Leyline Gloves", ring1="Acumen Ring", ring2 ='Arvina Ringlet +1', waist ="Eschan Stone",
back="Evasionist's cape",legs="Herculean Trousers",feet={ name="Herculean Boots", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','VIT+10','"Mag.Atk.Bns."+12',}}}
sets.JA.Vallation = {head = "Rapid Visor", body="Runeist coat +1",legs="Futhark trousers", ammo="Sapience Orb",neck="Warder's Charm",
ear2="Friomisi Earring", ear1="Genmei earring",hands="Futhark Mitons", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2='Petrov Ring',
feet="Erilaz Greaves +1", legs="Erilaz Leg Guards +1",back="Ogma's cape"}
sets.JA.Battuta = {head="Futhark bandeau +1", ammo="Sapience Orb",neck="Warder's Charm",ear2 ="Friomisi Earring", ear1="Genmei earring",
body="Emet harness +1",hands="Futhark Mitons", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2='Petrov Ring',
legs="Erilaz Leg Guards +1",feet="Erilaz Greaves +1", back="Evasionist's cape"}
sets.JA.Gambit = {hands="Runeist mitons", ammo="Sapience Orb",head="Rapid Visor",neck="Warder's Charm",ear2 ="Friomisi Earring", ear1="Genmei earring",
body="Emet harness +1",waist ="Kasiri Belt", ring1='Begrudging Ring', ring2='Petrov Ring',
legs="Erilaz Leg Guards +1",feet="Erilaz Greaves +1", back="Evasionist's cape"}
sets.JA.Pflug = {feet="Runeist bottes", ammo="Sapience Orb",head="Highwing Helm",neck="Warder's Charm",ear2 ="Friomisi Earring", ear1="Genmei earring",
body="Emet harness +1",hands="Futhark Mitons", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2='Petrov Ring',
legs="Erilaz Leg Guards +1", back="Evasionist's cape"}
sets.JA.Ryake = {feet = "Futhark Boots",ammo="Sapience Orb",head="Highwing Helm",neck="Warder's Charm",ear2 ="Friomisi Earring", ear1="Genmei earring",
body="Emet harness +1",hands="Futhark Mitons", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2='Petrov Ring',
legs="Erilaz Leg Guards +1", back="Evasionist's cape"}
--Precast Sets--
sets.precast = {}
sets.precast.FC = {}
sets.precast.FC.Standard = {ammo="Sapience Orb",head="Herculean Helm",neck="Warder's Charm", ear1="Loquac. Earring",ear2="Etiolation Earring",
body="Vrikodara Jupon",hands="Leyline Gloves", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2="Weatherspoon ring",
legs="Orvail pants +1",feet="Chelona Boots", back="Swith cape"}
sets.precast.FC.Enhancing = {ammo="Sapience Orb",head="Herculean Helm",neck="Jeweled Necklace", ear1="Loquac. Earring", ear2="Etiolation Earring",
body="Vrikodara Jupon",hands="Leyline Gloves", ring2="Weatherspoon ring",
legs="Futhark trousers",feet="Chelona Boots"}
sets.precast.FC.Enmity = {ammo="Sapience Orb",head="Herculean Helm",neck="Warder's Charm", ear1="Loquac. Earring", ear2="Etiolation Earring",
body="Vrikodara Jupon",hands="Leyline Gloves", waist ="Kasiri Belt", ring1='Begrudging Ring', ring2="Weatherspoon ring",
legs="Orvail pants +1",feet="Chelona Boots", back="Evasionist's cape"}
end
function precast(spell)
if spell.action_type == 'Magic' then
equip(sets.precast.FC.Standard)
end
if spell.skill == 'Enhancing Magic' then
equip(sets.precast.FC.Enhancing)
end
if spell.action_type == 'Ninjutsu' then
equip(sets.precast.FC.Standard)
end
if spell.english == 'Lunge' or spell.english == 'Swipe' then
equip(sets.JA.Lunge)
end
if spell.english == 'Vallation' or spell.english == 'Valiance' then
equip(sets.JA.Vallation)
end
if spell.english=='Flash' then
equip(sets.precast.FC.Enmity)
end
if spell.english == 'Battuta' then
equip(sets.JA.Battuta)
end
if spell.english == 'Pflug' then
equip(sets.JA.Pflug)
end
if spell.english == 'Gambit' then
equip(sets.JA.Gambit)
end
if spell.english == 'Resolution' or spell.english == 'Shockwave' then
equip(sets.Resolution[sets.Resolution.index[Resolution_ind]])
end
if spell.english == 'Dimidiation' then
equip(sets.Dimidiation[sets.Dimidiation.index[Dimidiation_ind]])
end
if spell.english == 'Requiescat' then
equip(sets.Requiescat[sets.Requiescat.index[Requiescat_ind]])
end
if spell.english == 'Fell Cleave' then
equip(sets.FellCleave[sets.FellCleave.index[FellCleave_ind]])
end
if spell.english == 'Savage Blade' then
equip(sets.SavageBlade[sets.SavageBlade.index[SavageBlade_ind]])
end
end
function midcast(spell,act)
if spell.english == 'Stoneskin' then
equip(sets.Utility.SID)
if buffactive['Stoneskin'] then
send_command('@wait 0.7; input //cancel Stoneskin; input /echo Refreshing Stoneskin.')
end
end
if spell.english =='Phalanx' then
equip(sets.Utility.Phalanx)
end
if spell.skill == 'Enhancing Magic' then
equip(sets.Utility.Enhancing)
end
if spell.english == 'Regen' then
equip(sets.Utility.Regen)
end
if spell.english == 'Utsusemi: Ichi' then
equip(sets.Utility.SID)
if buffactive['Copy Image (3)'] then
send_command('@wait 0.3; input //cancel Copy Image*')
end
if buffactive['Copy Image (2)'] then
send_command('@wait 0.3; input //cancel Copy Image*')
end
if buffactive['Copy Image (1)'] then
send_command('@wait 0.3; input //cancel Copy Image*')
end
if buffactive['Copy Image'] then
send_command('@wait 0.3; input //cancel Copy Image*')
end
end
if spell.english == 'Utsusemi: Ni' then
equip(sets.Utility.SID)
end
if spell.english =='Flash' or spell.english == 'Crusade' or spell.english == 'Foil' or spell.skill =='Blue Magic' then
equip(sets.Utility.Enmity)
end
end
function aftercast(spell)
if player.status == 'Engaged' then
equip(sets.TP[sets.TP.index[TP_ind]])
else
equip(sets.Idle[sets.Idle.index[Idle_ind]])
end
end
function status_change(new,old)
if new == 'Engaged' then
equip(sets.TP[sets.TP.index[TP_ind]])
else
equip(sets.Idle[sets.Idle.index[Idle_ind]])
end
end
function buff_change(buff,gain,bufftable)
if buff:lower()=="poison" and gain then
equip(sets.Utility.Doomed)
end
end
function self_command(command)
if command == 'toggle TP set' then
TP_ind = TP_ind +1
if TP_ind > #sets.TP.index then TP_ind = 1 end
send_command('@input /echo <----- TP Set changed to '..sets.TP.index[TP_ind]..' ----->')
equip(sets.TP[sets.TP.index[TP_ind]])
elseif command == 'toggle Idle set' then
Idle_ind = Idle_ind +1
if Idle_ind > #sets.Idle.index then Idle_ind = 1 end
send_command('@input /echo <----- Idle Set changed to '..sets.Idle.index[Idle_ind]..' ----->')
equip(sets.Idle[sets.Idle.index[Idle_ind]])
elseif command == 'toggle Res set' then
Resolution_ind = Resolution_ind +1
if Resolution_ind > #sets.Resolution.index then Resolution_ind = 1 end
send_command('@input /echo <----- Resolution set changed to '..sets.Resolution.index[Resolution_ind]..' ----->')
elseif command == 'toggle Req set' then
Requiescat_ind = Requiescat_ind +1
if Requiescat_ind > #sets.Requiescat.index then Requiescat_ind = 1 end
send_command('@input /echo <----- Requiescat Set changed to '..sets.Requiescat.index[Requiescat_ind]..' ----->')
elseif command == 'equip TP set' then
equip(sets.TP[sets.TP.index[TP_ind]])
elseif command == 'equip Idle set' then
equip(sets.Idle[sets.Idle.index[Idle_ind]])
end
end
Any ideas what I am doing wrong or missing?
Server: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-28 15:30:11
Your rule is wrote like this:
Code function buff_change(buff,gain,bufftable)
if buff:lower()=="poison" and gain then
equip(sets.Utility.Doomed)
end
end
Wrong set, perhaps?
If that's the intended set, like flippant said, the table might not be updated. SO maybe buffactive in status_change function is the way to go. If cursna is casted on you, it will still change equipment. So the action to trigger it doesn't need to be done by you.
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-06-28 15:34:58
buffactive is what might be delayed; buff_change will always be the immediate response since it is called once the buff is recognized. Are you sure it's not working? You have 'wait' instead of 'waist.'
Also, you'll still want the status_change part as Krystela mentioned, or it'll just change your gear if and when you take an action, including using any items, such as holy water.
Cursna being cast on you will not register a change in your status, only a change in your status will (going between resting, engaging, idling, being dead, fishing, sitting, crafting, etc). If it does, then that is something that needs to be fixed.
Server: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-28 15:39:50
Ragnarok.Flippant said: »
Cursna being cast on you will not register a change in your status, only a change in your status will (going between resting, engaging, idling, being dead, fishing, sitting, crafting, etc).
It does, by experience with warp ring and songs/anything going on me or wearing off.... Freaking changes my idle set every.damn.time xD lol
Scratch that only happens on my thief and I do use buff_changes for SA/TA, So that's probably it doing it.
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-06-28 15:43:32
My, and by consequence Bokura's, luas call status gear when a buff is lost/gained within the buff_change function, so it's likely residual code from that.
Using items will trigger aftercast when it's completed, which most people also tend to use to trigger status gear.
Server: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-06-28 15:46:51
Ragnarok.Flippant said: »My, and by consequence Bokura's, luas call status gear when a buff is lost/gained within the buff_change function, so it's likely residual code from that.
Using items will trigger aftercast when it's completed, which most people also tend to use to trigger status gear. Yeah, my bad.
Asura.Thorva
By Asura.Thorva 2016-06-28 18:50:10
I could really use some help with my rdm lua, I have been trying to get int and mnd enfeebles separated (stole the sets from my sch lua) going and can't seem to get it working right. (gave up and just added an enfeeble set)
I just got rdm up to 99 and finally got all reforge gear to 119 yesterday and started doing cp on it and testing everything out, some sets work, others don't, feel like giving the screen the bird and table flipping. (Not laughing at my gear, I am still missing a few things I already know)
Code -------------------------------------------------------------------------------------------------------------------
-- 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.Buff.Saboteur = buffactive.saboteur or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('Normal' , 'MidAcc', 'HiAcc')
state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT', 'MDT')
select_default_macro_book()
gear.CureStaff = {name=""}
gear.CureFeet = {name=""}
send_command('bind !` gs c toggle MagicBurst')
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['Chainspell'] = {body="Vitivation Tabard +1"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Befouled crown",ear1="Lifestorm earring",
body="Vanya Robe",hands="Vitivation gloves +1",ring1="Kunaji Ring",ring2="Asklepian Ring",
back="Vates Cape +1",waist="Porous rope",legs="Telchine braconi",feet="Medium's sabots"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {ammo="Impatiens",
head="Atrophy chapeau +1",neck="Orunmila's Torque",
body="Vitivation Tabard +1",hands="Leyline gloves",ring1="Weatherspoon Ring",
back="Ogapepo cape",waist="Witful belt",legs="Psycloth lappas",feet="Taeon boots"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Paeapua",
head="Taeon chapeau",neck="Fotia gorget",ear1="Bladeborn earring",right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
body="Taeon tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Bleating Mantle",waist="Fotia belt",legs="Taeon tights",feet="Thereoid greaves"}
sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS, {ammo="Dosis Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+20','Magic burst mdg.+11%','INT+1',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}},
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet={ name="Merlinic Crackows", augments={'Magic burst mdg.+9%','Mag. Acc.+13','"Mag.Atk.Bns."+5',}},
neck="Sanctity Necklace",
waist="Salire Belt",
left_ear="Friomisi Earring",
right_ear="Sortiarius Earring",
left_ring="Fenrir Ring +1",
right_ring="Fenrir Ring +1",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
})
sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ammo="Oreiad's tathlum",
head="Befouled crown",neck="Fotia gorget",ear1="Brutal Earring",right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
body="Vanya robe",hands="Lethargy gantherots +1",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Buquwik Cape",waist="Fotia belt",legs="Psycloth lappas",feet="Medium's sabots"})
sets.precast.WS['Aeolian Edge'] = set_combine(sets.precast.WS, {ammo="Memoria sachet",
head="Merlinic hood",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Witching Robe",hands="Amalric gages",ring1="Fenrir Ring +1",ring2="Acumen Ring",
back="Toro Cape",waist="Refoccilation stone",legs="Merlinic Shalwar",feet="Merlinic Crackows"})
sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS, {ammo="Oreiad's tathlum",
head="Befouled crown",neck="Fotia gorget",ear1="Brutal Earring",right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
body="Vanya robe",hands="Lethargy Gantherotes +1",ring1="Rajas ring",ring2="Karieyh Ring",
back="Buquwik cape",waist="Fotia belt",legs="Gyve trousers",feet="Medium's sabots"})
sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {ammo="Jukukik Feather",
head="Taeon chapeau",neck="Fotia gorget",ear1="Brutal Earring",right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
body="Taeon Tabard",hands="Taeon gloves",ring1="Ramuh ring",ring2="Ramuh Ring",
back="Kayapa cape",waist="Fotia belt",legs="Vitivation tights +1",feet="Thereoid greaves"})
sets.precast.WS['Evisceration'] = set_combine(sets.precast.WS, {ammo="Jukukik Feather",
head="Taeon chapeau",neck="Fotia gorget",ear1="Brutal Earring",right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
body="Taeon Tabard",hands="Taeon gloves",ring1="Ramuh ring",ring2="Ramuh Ring",
back="Kayapa cape",waist="Fotia belt",legs="Vitivation tights +1",feet="Theroid greaves"})
sets.precast.WS['Death Blossom'] = set_combine(sets.precast.WS, {ammo="Oreiad's tathlum",
head="Befouled crown",neck="Fotia gorget",ear1="Brutal Earring",right_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
body="Vanya robe",hands="Lethargy Gantherotes +1",ring1="Rajas ring",ring2="Karieyh Ring",
back="Buquwik cape",waist="Fotia belt",legs="Psycloth lappas",feet="Medium's sabots"})
-- Midcast Sets
sets.midcast.Cure = {ammo="Hydrocera",
head={ name="Despair Helm", augments={'HP+50','VIT+10','Potency of "Cure" effect received +5%',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +7',}},
legs="Atrophy Tights",
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Nodens Gorget",
waist="Hachirin-no-Obi",
left_ear="Beatific Earring",
right_ear="Healing Earring",
left_ring="Ephedra Ring",
right_ring="Ephedra Ring",
back="Oretan. Cape +1",
}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast.CureWeather = {ammo="Hydrocera",
head={ name="Despair Helm", augments={'HP+50','VIT+10','Potency of "Cure" effect received +5%',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +7',}},
legs="Atrophy Tights",
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Nodens Gorget",
waist="Hachirin-no-Obi",
left_ear="Beatific Earring",
right_ear="Healing Earring",
left_ring="Ephedra Ring",
right_ring="Ephedra Ring",
back="Oretan. Cape +1",
}
sets.midcast.CureSelf = {ammo="Hydrocera",
head={ name="Despair Helm", augments={'HP+50','VIT+10','Potency of "Cure" effect received +5%',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +7',}},
legs="Atrophy Tights",
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Nodens Gorget",
waist="Hachirin-no-Obi",
left_ear="Beatific Earring",
right_ear="Healing Earring",
left_ring="Ephedra Ring",
right_ring="Ephedra Ring",
back="Oretan. Cape +1",
}
sets.midcast.CureMelee = {ammo="Hydrocera",
head={ name="Despair Helm", augments={'HP+50','VIT+10','Potency of "Cure" effect received +5%',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +7',}},
legs="Atrophy Tights",
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Nodens Gorget",
waist="Hachirin-no-Obi",
left_ear="Beatific Earring",
right_ear="Healing Earring",
left_ring="Ephedra Ring",
right_ring="Ephedra Ring",
back="Oretan. Cape +1",
}
sets.midcast['Enhancing Magic'] = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head="Lethargy Chappel +1",
body="Lethargy Sayon +1",
hands="Atrophy gloves +1",
legs="Lethargy fuseau +1",
feet="Leth. Houseaux +1",
neck="Malison Medallion",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sirona's Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Enhancing Magic'].Temper = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head="Befouled crown",
body="Vitivation tabard +1",
hands="Atrophy gloves +1",
legs="Atrophy tights +1",
feet="Leth. Houseaux +1",
neck="Colossus's Torque",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Augmenting earring",
left_ring="Weather. Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Enhancing Magic'].RefreshSelf = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head={ name="Telchine Cap", augments={'"Regen" potency+2',}},
body={ name="Telchine Chas.", augments={'Mag. Acc.+25','Enh. Mag. eff. dur. +4',}},
hands="Atrophy gloves +1",
legs="Lethargy fuseau +1",
feet="Leth. Houseaux +1",
neck="Malison Medallion",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sirona's Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Enhancing Magic'].HasteSelf = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head={ name="Telchine Cap", augments={'"Regen" potency+2',}},
body={ name="Telchine Chas.", augments={'Mag. Acc.+25','Enh. Mag. eff. dur. +4',}},
hands="Atrophy gloves +1",
legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +4',}},
feet="Leth. Houseaux +1",
neck="Malison Medallion",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sirona's Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Enhancing Magic'].EnSpells = set_combine(sets.midcast['Enhancing Magic'],{
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head="Befouled crown",
body="Vitivation tabard +1",
hands="Atrophy gloves +1",
legs="Atrophy tights +1",
feet="Leth. Houseaux +1",
neck="Colossus's Torque",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Augmenting earring",
left_ring="Weather. Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
})
sets.midcast['Enhancing Magic'].GainSpells = set_combine(sets.midcast['Enhancing Magic'],{
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head="Befouled crown",
body="Vitivation tabard +1",
hands="Atrophy gloves +1",
legs="Atrophy tights +1",
feet="Leth. Houseaux +1",
neck="Colossus's Torque",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Augmenting earring",
left_ring="Weather. Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
})
sets.midcast['Enhancing Magic'].BarSpells = set_combine(sets.midcast['Enhancing Magic'],{
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head="Befouled crown",
body="Vitivation tabard +1",
hands="Atrophy gloves +1",
legs="Atrophy tights +1",
feet="Leth. Houseaux +1",
neck="Colossus's Torque",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Augmenting earring",
left_ring="Weather. Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
})
sets.buff.ComposureOther = {head="Lethargy Chappel +1",body="Lethargy Sayon +1",
legs="Lethargy Fuseau +1",feet="Lethargy Houseaux +1"}
sets.midcast.Protect = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head={ name="Telchine Cap", augments={'"Regen" potency+2',}},
body={ name="Telchine Chas.", augments={'Mag. Acc.+25','Enh. Mag. eff. dur. +4',}},
hands="Atrophy gloves +1",
legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +4',}},
feet="Leth. Houseaux +1",
neck="Colossus's Torque",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Augmenting earring",
left_ring="Weather. Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Shell = sets.midcast.Protect
sets.midcast['Enhancing Magic'].Phalanx = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head={ name="Telchine Cap", augments={'"Regen" potency+2',}},
body={ name="Telchine Chas.", augments={'Mag. Acc.+25','Enh. Mag. eff. dur. +4',}},
hands="Atrophy gloves +1",
legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +4',}},
feet="Leth. Houseaux +1",
neck="Malison Medallion",
waist="Salire Belt",
left_ear="Andoaa Earring",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sirona's Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Cursna = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Mephitis Grip",
ammo="Hydrocera",
head="Befouled Crown",
body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},
hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +7',}},
legs={ name="Vanya Slops", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
neck="Malison Medallion",
waist="Salire Belt",
left_ear="Loquac. Earring",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sirona's Ring",
back="Oretan. Cape +1",
}
sets.midcast.Stoneskin = {head="Umuthi hat",
neck="Nodens gorget",ear2="Earthcry earring",
body="Vitivation tabard +1",hands="Stone mufflers",
waist="Siegel Sash",legs="Shedir Seraweels"}
sets.midcast['Enfeebling Magic'] = {
main={ name="Lehbrailg +2", augments={'DMG:+17','Weapon Skill Acc.+6','Mag. Acc.+30',}},
sub="Clerisy Strap +1",
ammo="Pemphredo Tathlum",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Leth. Gantherots +1",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Sanctity Necklace",
waist="Rumination Sash",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sangoma Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.MndEnfeebles = {
main={ name="Lehbrailg +2", augments={'DMG:+17','Weapon Skill Acc.+6','Mag. Acc.+30',}},
sub="Clerisy Strap +1",
ammo="Pemphredo Tathlum",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Leth. Gantherots +1",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Sanctity Necklace",
waist="Rumination Sash",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sangoma Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.IntEnfeebles = {
main={ name="Lehbrailg +2", augments={'DMG:+17','Weapon Skill Acc.+6','Mag. Acc.+30',}},
sub="Clerisy Strap +1",
ammo="Pemphredo Tathlum",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Leth. Gantherots +1",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Sanctity Necklace",
waist="Rumination Sash",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sangoma Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles
sets.midcast.Distract = {
main={ name="Lehbrailg +2", augments={'DMG:+17','Weapon Skill Acc.+6','Mag. Acc.+30',}},
sub="Mephitis grip",
ammo="Pemphredo Tathlum",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Leth. Gantherots +1",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Weike torque",
waist="Rumination Sash",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sangoma Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Frazzle = {
main={ name="Lehbrailg +2", augments={'DMG:+17','Weapon Skill Acc.+6','Mag. Acc.+30',}},
sub="Mephitis grip",
ammo="Pemphredo Tathlum",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Leth. Gantherots +1",
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Weike torque",
waist="Rumination Sash",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sangoma Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau +1"})
sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau +1"})
sets.midcast['Elemental Magic'] = {
main={ name="Lehbrailg +2", augments={'DMG:+17','Weapon Skill Acc.+6','Mag. Acc.+30',}},
sub="Mephitis Grip",
ammo="Dosis Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+20','Magic burst mdg.+11%','INT+1',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Carmine Fin. Ga. +1", augments={'Rng.Atk.+20','"Mag.Atk.Bns."+12','"Store TP"+6',}},
legs={ name="Amalric Slops", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
feet={ name="Merlinic Crackows", augments={'Magic burst mdg.+9%','Mag. Acc.+13','"Mag.Atk.Bns."+5',}},
neck="Sanctity Necklace",
waist="Salire Belt",
left_ear="Friomisi Earring",
right_ear="Sortiarius Earring",
left_ring="Fenrir Ring +1",
right_ring="Fenrir Ring +1",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
sets.midcast['Stun'] = {
main={ name="Serenity", augments={'MP+30','Enha.mag. skill +5','"Cure" spellcasting time -7%',}},
sub="Clerisy Strap +1",
ammo="Impatiens",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},
hands={ name="Leyline Gloves", augments={'Accuracy+12','Mag. Acc.+14','"Mag.Atk.Bns."+15','"Fast Cast"+2',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Medium's Sabots", augments={'MP+50','MND+10','"Conserve MP"+7','"Cure" potency +5%',}},
neck="Sanctity Necklace",
waist="Witful Belt",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Weather. Ring",
right_ring="Sangoma Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Drain = {
main={ name="Rubicundity", augments={'Mag. Acc.+10','"Mag.Atk.Bns."+10','Dark magic skill +10','"Conserve MP"+7',}},
sub={ name="Rubicundity", augments={'Mag. Acc.+7','"Mag.Atk.Bns."+7','Dark magic skill +6','"Conserve MP"+4',}},
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Chironic Gloves", augments={'Mag. Acc.+26','"Drain" and "Aspir" potency +10','"Mag.Atk.Bns."+12',}},
legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="Merlinic Crackows", augments={'Magic burst mdg.+9%','Mag. Acc.+13','"Mag.Atk.Bns."+5',}},
neck="Sanctity Necklace",
waist="Austerity Belt +1",
left_ear="Enchntr. Earring +1",
right_ear="Digni. Earring",
left_ring="Archon Ring",
right_ring="Evanescence Ring",
back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Aspir = sets.midcast.Drain
sets.magic_burst = {
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+20','Magic burst mdg.+11%','INT+1',}},
body={ name="Chironic Doublet", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','"Resist Silence"+4','MND+9','Mag. Acc.+8','"Mag.Atk.Bns."+11',}},
hands={ name="Amalric Gages", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'Magic burst mdg.+9%','CHR+5','"Mag.Atk.Bns."+14',}},
feet={ name="Merlinic Crackows", augments={'Magic burst mdg.+9%','Mag. Acc.+13','"Mag.Atk.Bns."+5',}},
neck="Mizu. Kubikazari",
waist="Salire Belt",
left_ear="Sortiarius Earring",
right_ear="Friomisi Earring",
left_ring="Locus Ring",
right_ring="Mujin Band",
back="Seshaw Cape",
}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Bolelabunga",sub="Beatific shield",ammo="Impatiens",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",
body="Witching Robe",hands="Serpentes Cuffs",ring1="Paguroidea Ring",ring2="Sheltered Ring",
back="Kumbira cape",waist="Witful Belt",back="Shadow Mantle",legs="Nares trews",feet="Serpentes Sabots"}
-- Idle sets
sets.idle = {main="Bolelabunga",sub="Beatific shield",ammo="Homiliary",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Infused Earring",
body="Witching Robe",hands="Serpentes Cuffs",ring1="Paguroidea Ring",ring2="Sheltered Ring",
back="Kumbira cape",waist="Flume Belt",legs="Carmine Cuisses +1",feet="Serpentes Sabots"}
sets.idle.Town = {main="Bolelabunga",sub="Beatific shield",ammo="Homiliary",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Infused Earring",
body="Witching Robe",hands="Serpentes Cuffs",ring1="Paguroidea Ring",ring2="Sheltered Ring",
back="Kumbira cape",waist="Flume Belt",legs="Carmine Cuisses +1",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Beatific shield",ammo="Homiliary",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Infused Earring",
body="Witching Robe",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Sheltered Ring",
back="Kumbira cape",waist="Flume Belt",legs="Carmine Cuisses +1",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {ammo="Demonry stone",
head={ name="Despair Helm", augments={'HP+50','VIT+10','Potency of "Cure" effect received +5%',}},
neck="Veisa collar",
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Umuthi gloves",ring1="Defending Ring",ring2="Yacuruna Ring +1",
back="Iximulew cape",waist="Flume belt +1",legs="Vitivation tights +1",feet="Battlecast gaiters"}
sets.defense.MDT = {ammo="Demonry stone",
head={ name="Despair Helm", augments={'HP+50','VIT+10','Potency of "Cure" effect received +5%',}},
neck="Veisa collar",
body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
hands="Umuthi gloves",ring1="Defending Ring",ring2="Yacuruna Ring +1",
back="Iximulew cape",waist="Flume belt +1",legs="Vitivation tights +1",feet="Battlecast gaiters"}
sets.Kiting = {legs="Carmine Cuisses +1"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- 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 = {ammo="Yetshila",
head={ name="Taeon Chapeau", augments={'Accuracy+24','"Triple Atk."+2','Crit. hit damage +1%',}},
body={ name="Taeon Tabard", augments={'Accuracy+14','"Triple Atk."+2','Crit. hit damage +3%',}},
hands={ name="Taeon Gloves", augments={'Accuracy+19 Attack+19','"Dual Wield"+3','Crit. hit damage +2%',}},
legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
feet={ name="Taeon Boots", augments={'Accuracy+24','"Dual Wield"+4','Crit. hit damage +2%',}},
neck="Clotharius Torque",
waist="Windbuffet Belt +1",
left_ear="Eabani Earring",
right_ear="Suppanomimi",
left_ring="Petrov Ring",
right_ring="Rajas Ring",
back="Bleating Mantle",
}
sets.engaged.MidAcc = {
main={ name="Emissary", augments={'DMG:+15','Accuracy+15','Attack+15',}},
sub={ name="Emissary", augments={'DMG:+15','Accuracy+15','Attack+15',}},
ammo="Ginsen",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Despair Mail", augments={'Attack+25','Mag. Evasion+20','"Dbl.Atk."+3',}},
hands={ name="Chironic Gloves", augments={'Accuracy+20 Attack+20','CHR+3','Accuracy+15',}},
legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
feet={ name="Taeon Boots", augments={'Accuracy+24','"Dual Wield"+4','Crit. hit damage +2%',}},
neck="Clotharius Torque",
waist="Kentarch Belt +1",
left_ear="Cessance Earring",
right_ear="Digni. Earring",
left_ring="Petrov Ring",
right_ring="Rajas Ring",
back="Bleating Mantle",
}
sets.engaged.HiAcc = {
main={ name="Emissary", augments={'DMG:+15','Accuracy+15','Attack+15',}},
sub={ name="Emissary", augments={'DMG:+15','Accuracy+15','Attack+15',}},
ammo="Ginsen",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body={ name="Despair Mail", augments={'Attack+25','Mag. Evasion+20','"Dbl.Atk."+3',}},
hands={ name="Chironic Gloves", augments={'Accuracy+20 Attack+20','CHR+3','Accuracy+15',}},
legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
feet={ name="Taeon Boots", augments={'Accuracy+24','"Dual Wield"+4','Crit. hit damage +2%',}},
neck="Iqabi necklace",
waist="Kentarch Belt +1",
left_ear="Cessance Earring",
right_ear="Digni. Earring",
left_ring="Yacuruna Ring +1",
right_ring="Etana Ring",
back="Bleating Mantle",
}
-- Sets for special buff conditions on spells.
sets.buff.Saboteur = {hands="Lethargy Gantherots +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
function job_precast(spell, action, spellMap, eventArgs)
if spell.skill == 'Healing Magic' and spellMap ~= 'StatusRemoval' then
gear.CureFeet.name = "Vanya Clogs"
if player.status == 'Engaged' then
gear.default.obi_back = "Vates Cape +1"
if spell.target.type == 'SELF' then
gear.CureFeet.name = "Medium's Sabots"
else
gear.CureFeet.name = "Vanya Clogs"
end
else
gear.default.obi_back = "Oretania's cape +1"
end
if spell.target.type == 'SELF' then
gear.default.obi_waist = "Chuq'aba Belt"
else
gear.default.obi_waist = "Salire belt"
end
if world.weather_element == 'Light' then
gear.CureStaff.name = "Chatoyant Staff"
else
gear.CureStaff.name = "Serenity"
end
else
gear.default.obi_waist = "Eschan Stone"
gear.default.obi_back = "Toro Cape"
end
end
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
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
equip(sets.magic_burst)
end
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Elemental Magic' and spell.english:startswith('Aero') then
equip({main="Marin Staff +1"})
elseif spell.skill == 'Elemental Magic' and spell.english:startswith('Anemo') then
equip({main="Marin Staff +1"})
elseif spell.skill == 'Elemental Magic' and spell.english:startswith('Bliz') then
equip({main="Ngqoqwanb"})
elseif spell.skill == 'Elemental Magic' and spell.english:startswith('Cryo') then
equip({main="Ngqoqwanb"})
elseif spell.skill == 'Enhancing Magic' and not spell.english == 'Stoneskin' then
equip(sets.midcast.EnhancingDuration)
if buffactive.composure and spell.target.type == 'PLAYER' then
equip(sets.buff.ComposureOther)
end
elseif spellMap == 'Cure' then
if spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
end
if world.weather_element == 'Light' then
equip(sets.midcast.CureWeather)
end
end
end
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if spell.skill == 'Enhancing Magic' then
if spell.english:startswith('En') then
return 'EnSpells'
elseif spell.english:startswith('Gain') then
return 'GainSpells'
elseif spell.english:startswith('Phalanx') then
return 'Phalanx'
elseif spell.english:startswith('Bar') then
return 'Bar'
elseif spell.english:startswith('Temper') then
return 'Temper'
elseif spell.english:startswith('Haste') then
if spell.target.type == 'SELF' then
return 'HasteSelf'
end
elseif spell.english:startswith('Refresh') then
if spell.target.type == 'SELF' then
return 'RefreshSelf'
end
end
elseif default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
if player.status == 'Engaged' then
return "CureMelee"
end
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'None' then
enable('main','sub','range')
else
disable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
function customize_melee_set(meleeSet)
if player.sub_job == 'DNC' or player.sub_job == 'NIN' then
meleeSet = set_combine(meleeSet, sets.engaged.DW)
end
return meleeSet
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(2, 4)
elseif player.sub_job == 'NIN' then
set_macro_page(10, 4)
elseif player.sub_job == 'THF' then
set_macro_page(4, 4)
else
set_macro_page(1, 4)
end
end
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-06-28 19:20:37
You have two job_get_spell_map functions, need to consolidate them.
Asura.Thorva
By Asura.Thorva 2016-06-28 19:30:37
Ragnarok.Flippant said: »You have two job_get_spell_map functions, need to consolidate them.
Crap, missed that ty, will change and test later.
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 11:14:25
I'm trying to get my RDM to have a different TP set whilst at capped Haste. This is what I've been trying.
Code classes.CustomMeleeGroups:clear()
if buffactive.embrava then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive[604] then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march and buffactive[580] then
classes.CustomMeleeGroups:append('MaxHaste')
end
end
However, when I engage I'm always in my normal sets, not my .MaxHaste sets, regardless of buffs.
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-06-29 11:29:09
There is not enough information for me to help you. Please post your entire file.
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 11:34:58
Here it is. Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- 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.Buff.Saboteur = buffactive.saboteur or false
--event_list = L{}
--event_list:append()
windower.register_event('time change', time_change)
include('Mote-TreasureHunter.lua')
state.TreasureMode:set('Tag')
-- For th_action_check():
-- JA IDs for actions that always have TH: Provoke, Animated Flourish
info.default_ja_ids = S{35, 204}
-- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
info.default_u_ja_ids = S{201, 202, 203, 205, 207}
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal', 'Acc')
state.HybridMode:options('Normal', 'DT')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Acc', 'MB', 'MBAcc')
state.PhysicalDefenseMode:options('PDT', 'RefreshPDT')
MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'}
INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
EarthSpells = S{'Stone', 'Stone II', 'Stone III', 'Stone IV', 'Stone V', 'Stonega', 'Stonega II', 'Stonega III', 'Stoneja', 'Stonera', 'Stonera II', 'Geohelix'}
IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
Shields = S{"Genbu's Shield"}
update_combat_form()
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
--event_list:map(unregister_event)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Augmented Gear
--------------------------------------
gear.HagCuffs = {}
gear.HagCuffs.MAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26'}}
gear.RDMCape = {}
gear.RDMCape.MAcc = {name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}}
gear.RDMCape.TP = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
--------------------------------------
-- Idle
--------------------------------------
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Councilor's Garb",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
--------------------------------------
-- Defense
--------------------------------------
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="Shneddick Ring",
back="Shadow Mantle",waist="Fucho-no-Obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="Shneddick Ring",
back="Shadow Mantle",waist="Fucho-no-Obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
--------------------------------------
-- Resting
--------------------------------------
sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
--------------------------------------
-- Engaged
--------------------------------------
sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Wanion Belt",legs="Carmine Cuisses +1",feet="Battlecast Gaiters"}
sets.engaged.Acc = set_combine(sets.engaged, {ammo="Jukukik Feather",neck="Iqabi Necklace",back=gear.RDMCape.TP})
sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
sets.engaged.DW = set_combine(sets.engaged, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
-- Defensive melee group
sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
-- Sets for MaxHaste with less DW.
sets.engaged.MaxHaste = set_combine(sets.engaged, {})
sets.engaged.Acc.MaxHaste = set_combine(sets.engaged.Acc, {})
sets.engaged.Acc.Daytime.MaxHaste = set_combine(sets.engaged.Acc.Daytime, {})
sets.engaged.DW.MaxHaste = set_combine(sets.engaged.DW, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.MaxHaste = set_combine(sets.engaged.DW.Acc, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.Daytime.MaxHaste = set_combine(sets.engaged.DW.Acc.Daytime, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
sets.FrontlineWeapons.DW = {main="Excalibur", sub="Demersal Degen"}
--------------------------------------
-- Job Abilities
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
if player.sub_job == 'DNC' then
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Homiliary",
head="Lethargy Chappel +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.Waltz['Healing Waltz'] = {}
end
--------------------------------------
-- Weaponskills
--------------------------------------
sets.precast.WS = {ammo="Cheruski Needle",
head="Lithelimb Cap",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Carmine Cuisses +1",feet="Battlecast Gaiters"}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1"})
sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Savage Blade'] = {ammo="Cheruski Needle",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Savage Blade'].DaytimeAcc = set_combine(sets.precast.WS['Savage Blade'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS['Requiescat'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Knights of Round'].Acc = set_combine(sets.precast.WS['Knights of Round'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Death Blossom'].Acc = set_combine(sets.precast.WS['Death Blossom'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
head="Taeon Chapeau",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Carmine Cuisses +1",feet="Vanir Boots"}
sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
head="Lethargy Chappel +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Artsieq Jubbah",hands="Amalric Gages",ring1="Acumen Ring",ring2="Diamond Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
--------------------------------------
-- Fast Cast
--------------------------------------
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast. No other FC sets necessary.
sets.precast.FC = {ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shneddick Ring",
back="Ogapepo Cape +1",waist="Witful Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
--------------------------------------
-- Midcast
--------------------------------------
sets.midcast.FastRecast = {
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shneddick Ring",
back="Shadow Mantle",waist="Pya'ekue Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
sets.midcast.Flash = set_combine(sets.midcast.FastRecast, {ammo="Paeapua",
neck="Twilight Torque",ear1="Friomisi Earring",
ring1="Defending Ring",
back="Shadow Mantle"})
--------------------------------------
-- Dark magic
--------------------------------------
sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Lethargy Chappel +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=gear.HagCuffs.MAcc,ring1="Sangoma Ring",ring2="Archon Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Archon Ring",
back=gear.RDMCape.MAcc,waist="Witful Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
sets.midcast.Drain = set_combine(sets.midcast.INTAccuracy, {belt="Fucho-no-Obi"})
sets.midcast.Aspir = sets.midcast.Drain
--------------------------------------
-- Elemental magic
--------------------------------------
sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Lethargy Chappel +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands="Amalric Gages",ring1="Acumen Ring",ring2="Diamond Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast['Elemental Magic'].Acc = set_combine(sets.midcast['Elemental Magic'], {ammo="Kalboron Stone",
head="Lethargy Chappel +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Seidr Cotehardie",ring1="Sangoma Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",feet="Vitivation Boots +1"})
sets.midcast['Elemental Magic'].MB = set_combine(sets.midcast['Elemental Magic'], {
ring2="Mujin Band",back="Seshaw Cape"})
sets.midcast['Elemental Magic'].MBAcc = set_combine(sets.midcast['Elemental Magic'].Acc, {
ring2="Mujin Band",back="Seshaw Cape"})
sets.midcast.Stone = set_combine(sets.midcast['Elemental Magic'], {neck="Quanpur Necklace"})
sets.midcast.Stone.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {neck="Quanpur Necklace"})
sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
sets.midcast.ElementalEnfeeble = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Amalric Gages",ring1="Sangoma Ring",ring2="Perception Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
--------------------------------------
-- Enfeebling magic
--------------------------------------
sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Lethargy Gantherots +1",ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Porous Rope",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast['Break'] = sets.midcast['Enfeebling Magic']
sets.midcast['Dia III'] = set_combine(sets.midcast.FastRecast, {head="Viti. Chapeau +1", waist="Chaac Belt"})
sets.midcast['Diaga'] = set_combine(sets.midcast.FastRecast, {waist="Chaac Belt"})
sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Sangoma Ring",ring2="Perception Ring",
back=gear.RDMCape.MAcc,waist="Porous Rope",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Befouled Crown",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Porous Rope",legs="Psycloth Lappas",feet="Uk'uxkaj Boots"}
sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Lethargy Sayon +1",feet="Uk'uxkaj Boots"})
sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
body="Lethargy Sayon +1",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
back=gear.RDMCape.MAcc,waist="Witful Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Spiral Ring",ring2="Diamond Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Uk'uxkaj Boots"}
sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Lethargy Sayon +1",feet="Uk'uxkaj Boots"})
--------------------------------------
-- Enhancing magic
--------------------------------------
sets.midcast.EnhancingDuration = {ammo="Homiliary",
head="Lethargy Chappel",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Lethargy Sayon +1",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back=gear.RDMCape.MAcc,waist="Pya'ekue Belt",legs="Lethargy Fuseau",feet="Lethargy Houseaux +1"}
sets.midcast.EnhancingSkill = {ammo="Homiliary",
head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back=gear.RDMCape.MAcc,waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
-- Default set is duration, since most enhancing spells don't actually use skill.
sets.midcast['Enhancing Magic'] = sets.midcast.EnhancingDuration
sets.midcast.Aquaveil = set_combine(sets.midcast.EnhancingDuration, {waist="Emphatikos Rope",legs="Shedir Seraweels"})
sets.midcast.BarElement = sets.midcast.EnhancingSkill
sets.midcast.Enspell = sets.midcast.EnhancingSkill
sets.midcast.Gain = sets.midcast.EnhancingSkill
sets.midcast.Phalanx = sets.midcast.EnhancingSkill
sets.midcast.Refresh = set_combine(sets.midcast.EnhancingDuration, {legs="Lethargy Fuseau"})
sets.midcast.Regen = set_combine(sets.midcast.EnhancingDuration, {main="Bolelabunga",sub="Genbu's Shield",
body="Telchine Chasuble"})
sets.midcast.Stoneskin = set_combine(sets.midcast.EnhancingDuration, {
neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"})
sets.ComposureOther = {head="Lethargy Chappel",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",
back=gear.RDMCape.MAcc,legs="Lethargy Fuseau",feet="Lethargy Houseaux +1"}
--------------------------------------
-- Healing magic
--------------------------------------
sets.midcast.FrontlineCure = {ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
sets.midcast.StatusRemoval = sets.midcast.FastRecast
--------------------------------------
-- Active Buffs
--------------------------------------
sets.buff.Saboteur = {hands="Lethargy Gantherots +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
-- 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' then
-- Default base equipment layer of fast recast.
equip(sets.midcast.FastRecast)
end
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.element == world.weather_element or spell_element == world.day_element then
if spell.skill == 'Healing Magic' then
equip({main="Chatoyant Staff",back="Twilight Cape",waist="Hachirin-no-Obi"})
else
equip({back="Twilight Cape",waist="Hachirin-no-Obi"})
end
elseif spell.skill == 'Enhancing Magic' then
if buffactive.composure and spell.target.type ~= 'PLAYER' then
equip(sets.buff.ComposureOther)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
--RDM can cap delay reduction with nothing more than Haste II provided it has /NIN & +31% Dual Wield.
--With capped Magic Haste, meaning Haste II & 1 other form of Magic Haste, you need only +11%.
--Optimally, engaged should have +31 DW, MaxHaste should have +11.
classes.CustomMeleeGroups:clear()
if buffactive.embrava then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive[604] then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march and buffactive[580] then
classes.CustomMeleeGroups:append('MaxHaste')
end
end
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
if state.OffenseMode == 'None' then
return "BacklineCure"
else
return "FrontlineCure"
end
elseif MNDPotencySpells:contains(spell.english) then
return 'MNDPotency'
elseif spell.english == 'Silence' then
return 'MNDAccuracy'
elseif spell.english == 'Blind' then
return 'INTPotency'
elseif INTAccuracySpells:contains(spell.english) then
return 'INTAccuracy'
elseif spell.english:startswith('En') then
return 'Enspell'
elseif spell.english:startswith('Gain') then
return 'Gain'
elseif EarthSpells:contains(spell.english) then
return 'Stone'
elseif IceSpells:contains(spell.english) then
return 'Blizzard'
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other 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 state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
function get_custom_wsmode(spell, action, spellMap, default_wsmode)
if default_wsmode == 'Acc' and classes.Daytime then
return 'DaytimeAcc'
end
end
function job_time_change(new_time, old_time)
classes.CustomMeleeGroups:clear()
if classes.Daytime then
classes.CustomMeleeGroups:append('Daytime')
end
handle_equipping_gear(player.status)
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
update_combat_form()
th_update(cmdParams, eventArgs)
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'None' then
enable('main','sub','range')
else
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
equip(sets.FrontlineWeapons.DW)
else
equip(sets.FrontlineWeapons)
end
disable('main','sub','range')
end
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local msg = 'Melee'
if state.CombatForm.has_value then
msg = msg .. ' (' .. state.CombatForm.value .. ')'
end
msg = msg .. ': '
msg = msg .. state.OffenseMode.value
if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end
msg = msg .. ', WS: ' .. state.WeaponskillMode.value
if state.DefenseMode.value ~= 'None' then
msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
end
if state.Kiting.value == true then
msg = msg .. ', Kiting'
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
msg = msg .. ', TH: ' .. state.TreasureMode.value
add_to_chat(122, msg)
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select DW combat form as appropriate
function update_combat_form()
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub == 'empty' or Shields:contains(player.equipment.sub) then
state.CombatForm:reset()
else
state.CombatForm:set('DW')
end
else
state.CombatForm:reset()
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
if player.sub_job == 'BLM' then
set_macro_page(2, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(5, 5)
elseif player.sub_job == 'DRK' then
set_macro_page(7, 5)
elseif player.sub_job == 'PLD' then
set_macro_page(8, 5)
else
set_macro_page(1, 5)
end
end
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-06-29 12:04:00
The function determine_haste_group() is used to construct your custom melee group accordingly, but you don't actually "call" (use) that function anywhere, so it will never process the instructions.
In Mote's NIN file, he calls it from three functions: job_setup(), job_buff_change(), and job_update().
[+]
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 18:06:58
Ragnarok.Flippant said: »The function determine_haste_group() is used to construct your custom melee group accordingly, but you don't actually "call" (use) that function anywhere, so it will never process the instructions.
In Mote's NIN file, he calls it from three functions: job_setup(), job_buff_change(), and job_update(). I am not very well versed in how to do such things. Would you be able to explain what I need to do in order for it to use my "sets.engaged.MaxHaste" set for instance? ;x
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-06-29 18:15:21
Try this.
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- 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.Buff.Saboteur = buffactive.saboteur or false
--event_list = L{}
--event_list:append()
windower.register_event('time change', time_change)
include('Mote-TreasureHunter.lua')
state.TreasureMode:set('Tag')
-- For th_action_check():
-- JA IDs for actions that always have TH: Provoke, Animated Flourish
info.default_ja_ids = S{35, 204}
-- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
info.default_u_ja_ids = S{201, 202, 203, 205, 207}
determine_haste_group()
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal', 'Acc')
state.HybridMode:options('Normal', 'DT')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Acc', 'MB', 'MBAcc')
state.PhysicalDefenseMode:options('PDT', 'RefreshPDT')
MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'}
INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'}
EarthSpells = S{'Stone', 'Stone II', 'Stone III', 'Stone IV', 'Stone V', 'Stonega', 'Stonega II', 'Stonega III', 'Stoneja', 'Stonera', 'Stonera II', 'Geohelix'}
IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'}
Shields = S{"Genbu's Shield"}
update_combat_form()
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
--event_list:map(unregister_event)
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Augmented Gear
--------------------------------------
gear.HagCuffs = {}
gear.HagCuffs.MAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26'}}
gear.RDMCape = {}
gear.RDMCape.MAcc = {name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}}
gear.RDMCape.TP = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
--------------------------------------
-- Idle
--------------------------------------
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Councilor's Garb",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shneddick Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
--------------------------------------
-- Defense
--------------------------------------
sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="Shneddick Ring",
back="Shadow Mantle",waist="Fucho-no-Obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="Shneddick Ring",
back="Shadow Mantle",waist="Fucho-no-Obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"}
sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Homiliary",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"}
--------------------------------------
-- Resting
--------------------------------------
sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring",
back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"}
--------------------------------------
-- Engaged
--------------------------------------
sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua",
head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Wanion Belt",legs="Carmine Cuisses +1",feet="Battlecast Gaiters"}
sets.engaged.Acc = set_combine(sets.engaged, {ammo="Jukukik Feather",neck="Iqabi Necklace",back=gear.RDMCape.TP})
sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"})
sets.engaged.DW = set_combine(sets.engaged, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {ear1="Dudgeon Earring",ear2="Heartseeker Earring",waist="Shetal Stone",feet="Taeon Boots"})
-- Defensive melee group
sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque",
hands="Umuthi Gloves",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"})
-- Sets for MaxHaste with less DW.
sets.engaged.MaxHaste = set_combine(sets.engaged, {})
sets.engaged.Acc.MaxHaste = set_combine(sets.engaged.Acc, {})
sets.engaged.Acc.Daytime.MaxHaste = set_combine(sets.engaged.Acc.Daytime, {})
sets.engaged.DW.MaxHaste = set_combine(sets.engaged.DW, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.MaxHaste = set_combine(sets.engaged.DW.Acc, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
sets.engaged.DW.Acc.Daytime.MaxHaste = set_combine(sets.engaged.DW.Acc.Daytime, {ear1="Brutal Earring",ear2="Suppanomimi",waist="Wanion Belt",feet="Battlecast Gaiters"})
sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"}
sets.FrontlineWeapons.DW = {main="Excalibur", sub="Demersal Degen"}
--------------------------------------
-- Job Abilities
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
if player.sub_job == 'DNC' then
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Homiliary",
head="Lethargy Chappel +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring",
back="Kumbira Cape",waist="Fucho-no-Obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.Waltz['Healing Waltz'] = {}
end
--------------------------------------
-- Weaponskills
--------------------------------------
sets.precast.WS = {ammo="Cheruski Needle",
head="Lithelimb Cap",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Carmine Cuisses +1",feet="Battlecast Gaiters"}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1"})
sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Savage Blade'] = {ammo="Cheruski Needle",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Savage Blade'].DaytimeAcc = set_combine(sets.precast.WS['Savage Blade'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS['Requiescat'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Knights of Round'].Acc = set_combine(sets.precast.WS['Knights of Round'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle",
head="Befouled Crown",neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"}
sets.precast.WS['Death Blossom'].Acc = set_combine(sets.precast.WS['Death Blossom'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
head="Taeon Chapeau",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring",
back=gear.RDMCape.TP,waist="Fotia Belt",legs="Carmine Cuisses +1",feet="Vanir Boots"}
sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'], {ammo="Jukukik Feather",
head="Sukeroku Hachi.",neck="Fotia Gorget",
back=gear.RDMCape.TP,legs="Carmine Cuisses +1",feet="Battlecast Gaiters"})
sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"})
sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
head="Lethargy Chappel +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Artsieq Jubbah",hands="Amalric Gages",ring1="Acumen Ring",ring2="Diamond Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
--------------------------------------
-- Fast Cast
--------------------------------------
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast. No other FC sets necessary.
sets.precast.FC = {ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shneddick Ring",
back="Ogapepo Cape +1",waist="Witful Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
--------------------------------------
-- Midcast
--------------------------------------
sets.midcast.FastRecast = {
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shneddick Ring",
back="Shadow Mantle",waist="Pya'ekue Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
sets.midcast.Flash = set_combine(sets.midcast.FastRecast, {ammo="Paeapua",
neck="Twilight Torque",ear1="Friomisi Earring",
ring1="Defending Ring",
back="Shadow Mantle"})
--------------------------------------
-- Dark magic
--------------------------------------
sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Lethargy Chappel +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands=gear.HagCuffs.MAcc,ring1="Sangoma Ring",ring2="Archon Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens",
head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Archon Ring",
back=gear.RDMCape.MAcc,waist="Witful Belt",legs="Psycloth Lappas",feet="Battlecast Gaiters"}
sets.midcast.Drain = set_combine(sets.midcast.INTAccuracy, {belt="Fucho-no-Obi"})
sets.midcast.Aspir = sets.midcast.Drain
--------------------------------------
-- Elemental magic
--------------------------------------
sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone",
head="Lethargy Chappel +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Seidr Cotehardie",hands="Amalric Gages",ring1="Acumen Ring",ring2="Diamond Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Hagondes Pants +1",feet="Umbani Boots"}
sets.midcast['Elemental Magic'].Acc = set_combine(sets.midcast['Elemental Magic'], {ammo="Kalboron Stone",
head="Lethargy Chappel +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Seidr Cotehardie",ring1="Sangoma Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",feet="Vitivation Boots +1"})
sets.midcast['Elemental Magic'].MB = set_combine(sets.midcast['Elemental Magic'], {
ring2="Mujin Band",back="Seshaw Cape"})
sets.midcast['Elemental Magic'].MBAcc = set_combine(sets.midcast['Elemental Magic'].Acc, {
ring2="Mujin Band",back="Seshaw Cape"})
sets.midcast.Stone = set_combine(sets.midcast['Elemental Magic'], {neck="Quanpur Necklace"})
sets.midcast.Stone.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {neck="Quanpur Necklace"})
sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"})
sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"})
sets.midcast.ElementalEnfeeble = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Amalric Gages",ring1="Sangoma Ring",ring2="Perception Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"})
--------------------------------------
-- Enfeebling magic
--------------------------------------
sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard +1",hands="Lethargy Gantherots +1",ring1="Sangoma Ring",ring2="Perception Ring",
back="Refraction Cape",waist="Porous Rope",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast['Break'] = sets.midcast['Enfeebling Magic']
sets.midcast['Dia III'] = set_combine(sets.midcast.FastRecast, {head="Viti. Chapeau +1", waist="Chaac Belt"})
sets.midcast['Diaga'] = set_combine(sets.midcast.FastRecast, {waist="Chaac Belt"})
sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Sangoma Ring",ring2="Perception Ring",
back=gear.RDMCape.MAcc,waist="Porous Rope",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Befouled Crown",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Aqua Ring",ring2="Sirona's Ring",
back="Refraction Cape",waist="Porous Rope",legs="Psycloth Lappas",feet="Uk'uxkaj Boots"}
sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Lethargy Sayon +1",feet="Uk'uxkaj Boots"})
sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone",
head="Befouled Crown",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1",
body="Lethargy Sayon +1",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring",
back=gear.RDMCape.MAcc,waist="Witful Belt",legs="Psycloth Lappas",feet="Vitivation Boots +1"}
sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
head="Befouled Crown",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",ring1="Spiral Ring",ring2="Diamond Ring",
back=gear.RDMCape.MAcc,waist="Wanion Belt",legs="Psycloth Lappas",feet="Uk'uxkaj Boots"}
sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Lethargy Sayon +1",feet="Uk'uxkaj Boots"})
--------------------------------------
-- Enhancing magic
--------------------------------------
sets.midcast.EnhancingDuration = {ammo="Homiliary",
head="Lethargy Chappel",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Lethargy Sayon +1",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back=gear.RDMCape.MAcc,waist="Pya'ekue Belt",legs="Lethargy Fuseau",feet="Lethargy Houseaux +1"}
sets.midcast.EnhancingSkill = {ammo="Homiliary",
head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring",
body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring",
back=gear.RDMCape.MAcc,waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
-- Default set is duration, since most enhancing spells don't actually use skill.
sets.midcast['Enhancing Magic'] = sets.midcast.EnhancingDuration
sets.midcast.Aquaveil = set_combine(sets.midcast.EnhancingDuration, {waist="Emphatikos Rope",legs="Shedir Seraweels"})
sets.midcast.BarElement = sets.midcast.EnhancingSkill
sets.midcast.Enspell = sets.midcast.EnhancingSkill
sets.midcast.Gain = sets.midcast.EnhancingSkill
sets.midcast.Phalanx = sets.midcast.EnhancingSkill
sets.midcast.Refresh = set_combine(sets.midcast.EnhancingDuration, {legs="Lethargy Fuseau"})
sets.midcast.Regen = set_combine(sets.midcast.EnhancingDuration, {main="Bolelabunga",sub="Genbu's Shield",
body="Telchine Chasuble"})
sets.midcast.Stoneskin = set_combine(sets.midcast.EnhancingDuration, {
neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"})
sets.ComposureOther = {head="Lethargy Chappel",
body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",
back=gear.RDMCape.MAcc,legs="Lethargy Fuseau",feet="Lethargy Houseaux +1"}
--------------------------------------
-- Healing magic
--------------------------------------
sets.midcast.FrontlineCure = {ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum",
head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring",
body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
sets.midcast.StatusRemoval = sets.midcast.FastRecast
--------------------------------------
-- Active Buffs
--------------------------------------
sets.buff.Saboteur = {hands="Lethargy Gantherots +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
-- 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' then
-- Default base equipment layer of fast recast.
equip(sets.midcast.FastRecast)
end
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.element == world.weather_element or spell_element == world.day_element then
if spell.skill == 'Healing Magic' then
equip({main="Chatoyant Staff",back="Twilight Cape",waist="Hachirin-no-Obi"})
else
equip({back="Twilight Cape",waist="Hachirin-no-Obi"})
end
elseif spell.skill == 'Enhancing Magic' then
if buffactive.composure and spell.target.type ~= 'PLAYER' then
equip(sets.buff.ComposureOther)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
function determine_haste_group()
--RDM can cap delay reduction with nothing more than Haste II provided it has /NIN & +31% Dual Wield.
--With capped Magic Haste, meaning Haste II & 1 other form of Magic Haste, you need only +11%.
--Optimally, engaged should have +31 DW, MaxHaste should have +11.
classes.CustomMeleeGroups:clear()
if buffactive.embrava then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive[604] then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march and buffactive[580] then
classes.CustomMeleeGroups:append('MaxHaste')
end
end
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
if state.OffenseMode == 'None' then
return "BacklineCure"
else
return "FrontlineCure"
end
elseif MNDPotencySpells:contains(spell.english) then
return 'MNDPotency'
elseif spell.english == 'Silence' then
return 'MNDAccuracy'
elseif spell.english == 'Blind' then
return 'INTPotency'
elseif INTAccuracySpells:contains(spell.english) then
return 'INTAccuracy'
elseif spell.english:startswith('En') then
return 'Enspell'
elseif spell.english:startswith('Gain') then
return 'Gain'
elseif EarthSpells:contains(spell.english) then
return 'Stone'
elseif IceSpells:contains(spell.english) then
return 'Blizzard'
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other 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 S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then
determine_haste_group()
handle_equipping_gear(player.status)
elseif state.Buff[buff] ~= nil then
handle_equipping_gear(player.status)
end
end
function get_custom_wsmode(spell, action, spellMap, default_wsmode)
if default_wsmode == 'Acc' and classes.Daytime then
return 'DaytimeAcc'
end
end
function job_time_change(new_time, old_time)
classes.CustomMeleeGroups:clear()
if classes.Daytime then
classes.CustomMeleeGroups:append('Daytime')
end
handle_equipping_gear(player.status)
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
update_combat_form()
determine_haste_group()
th_update(cmdParams, eventArgs)
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'None' then
enable('main','sub','range')
else
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
equip(sets.FrontlineWeapons.DW)
else
equip(sets.FrontlineWeapons)
end
disable('main','sub','range')
end
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local msg = 'Melee'
if state.CombatForm.has_value then
msg = msg .. ' (' .. state.CombatForm.value .. ')'
end
msg = msg .. ': '
msg = msg .. state.OffenseMode.value
if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end
msg = msg .. ', WS: ' .. state.WeaponskillMode.value
if state.DefenseMode.value ~= 'None' then
msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
end
if state.Kiting.value == true then
msg = msg .. ', Kiting'
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
msg = msg .. ', TH: ' .. state.TreasureMode.value
add_to_chat(122, msg)
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select DW combat form as appropriate
function update_combat_form()
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub == 'empty' or Shields:contains(player.equipment.sub) then
state.CombatForm:reset()
else
state.CombatForm:set('DW')
end
else
state.CombatForm:reset()
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
if player.sub_job == 'BLM' then
set_macro_page(2, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(5, 5)
elseif player.sub_job == 'DRK' then
set_macro_page(7, 5)
elseif player.sub_job == 'PLD' then
set_macro_page(8, 5)
else
set_macro_page(1, 5)
end
end
[+]
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-06-29 18:26:55
Ragnarok.Flippant said: »Try this. Brilliant, it worked perfectly. Much appreciated.
[+]
Asura.Thorva
By Asura.Thorva 2016-06-30 16:35:22
nvm found my issue. ty anyway
By muzugu 2016-07-04 18:20:45
So, I am having an issue where all the midcast sets aren't equipping on my BST lua. I am using beaztmaster's simple script, which can be found here. It isn't working with both my gear, and with a fresh copy. I am using demomode to confirm the swaps.
I have so far tried:
-Unloading all other addons / plugins
-explicitly calling for the action in the midcast function with if / then
-re downloading mote-lib
-capping FPS at 30 ( This post suggested it might be a fix)
My google fu hasn't turned up anything, and I am stumped.
Odin.Lygre
Server: Odin
Game: FFXI
Posts: 89
By Odin.Lygre 2016-07-04 21:14:16
Which midcast sets? If you mean your pet midcast sets, looks like Beazt has the job_pet_midcast function present but blank, which prevents the default handler for pet_midcast from running. Instead it looks like he handles it in his aftercast function, where the block only runs if you executed a Ready move.
So, seems like it probably is equipping, but you may need to do //gs showswaps and //gs debugmode, and it would show the gear equip when your aftercast runs (debug mode alone would not show I think, because the include doesn't run the default handler, see: eventArgs.handled is set to true).
Valefor.Omnys
Server: Valefor
Game: FFXI
Posts: 1759
By Valefor.Omnys 2016-07-05 08:18:00
In spellcast, you could use "fake spells". IE, my PLD used "Fire IV" to switch to a fire resist set.
I know all about self_command, that's not my question, but when I started with Gearswap, I tried to use fake spells and found out that spells you can't use are stopped from ever passing. Is there a way to enable this?
I want to always use say, barfire in my sch macros, but if i'm /whm (even rdm/whm or run/whm), I want it to switch to barfira. These would work, but sch/whm doesn't even pass the attempt to GearSwap.
I mean, I know I could use macros like /console gs c barfire do something like Code function self_command(command)
bar_translate == {barfire = "barfira", barpetrify = "barpetra"}
if command:startswith("bar") then
if player.main_job == "WHM" or player.sub_job == "WHM" then
windower.send_command(bar_translate[command))
elseif player.main_job == "RDM" or player.sub_job = "RDM" or player.main_job = "RUN" or player.sub_job = "RUN" then
windower.send_command(command)
end
end
end
Or just stack macros in game like
Code /ma barfira <me>
/ma barfire <me>
But that doesn't work from spell menu.
By muzugu 2016-07-05 08:35:41
Which midcast sets? If you mean your pet midcast sets, looks like Beazt has the job_pet_midcast function present but blank, which prevents the default handler for pet_midcast from running. Instead it looks like he handles it in his aftercast function, where the block only runs if you executed a Ready move.
So, seems like it probably is equipping, but you may need to do //gs showswaps and //gs debugmode, and it would show the gear equip when your aftercast runs (debug mode alone would not show I think, because the include doesn't run the default handler, see: eventArgs.handled is set to true).
It's my midcast for Ready, both TP moves and Spells aren't equipping.
It was my understanding that I should be using midcast for the gear I want equipped while the pet is using their action, and then aftercast would revert me back to my idle / TPing set.
I'm at work right now, but I'll take a look at what showswaps and debug mode give me.
EDIT: The updated file here seems to have fixed the issue.
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-07-05 11:12:05
If you mean your pet midcast sets, looks like Beazt has the job_pet_midcast function present but blank, which prevents the default handler for pet_midcast from running. That should not and would not prevent Mote's functions from executing, no. You would need to set args variables to true.
It's my midcast for Ready, both TP moves and Spells aren't equipping.
It was my understanding that I should be using midcast for the gear I want equipped while the pet is using their action, and then aftercast would revert me back to my idle / TPing set.
I'm at work right now, but I'll take a look at what showswaps and debug mode give me. Pet jobs are a bit more complex, because there is a player action and the pet's corresponding action. During your midcast, you actually want Ready - gear on. During your pet's midcast, you want your pet's offensive gear on. Thus there are pet-specific functions. However, the order of events is not guaranteed. For example, the player's aftercast might sometimes come before the pet's midcast.
Beaztmaster is not using the pet events. He is using player's precast to equip Ready - gear, and player's aftercast to equip pet's offensive (midcast) gear. Without personal experience, I cannot tell you if that is a practical solution.
If I were to write a pet file, I would handle the recast- gear in the player's precast/midcast, override player aftercast entirely (do nothing), and equip their offense gear in the pet's precast/midcast, then use pet's aftercast to trigger the player's status gear.
But while I may have theories about how to improve the file, I can't understand what you're explaining your problem to be. Can you please be a bit more specific about what is occurring at every step, not just midcast. Please let me know what exactly is being equipped and when (showswaps will tell you the exact event).
In spellcast, you could use "fake spells". IE, my PLD used "Fire IV" to switch to a fire resist set.
I know all about self_command, that's not my question, but when I started with Gearswap, I tried to use fake spells and found out that spells you can't use are stopped from ever passing. Is there a way to enable this?
I want to always use say, barfire in my sch macros, but if i'm /whm (even rdm/whm or run/whm), I want it to switch to barfira. These would work, but sch/whm doesn't even pass the attempt to GearSwap.
I mean, I know I could use macros like /console gs c barfire do something like Code function self_command(command)
bar_translate == {barfire = "barfira", barpetrify = "barpetra"}
if command:startswith("bar") then
if player.main_job == "WHM" or player.sub_job == "WHM" then
windower.send_command(bar_translate[command))
elseif player.main_job == "RDM" or player.sub_job = "RDM" or player.main_job = "RUN" or player.sub_job = "RUN" then
windower.send_command(command)
end
end
end
Or just stack macros in game like
Code /ma barfira <me>
/ma barfire <me>
But that doesn't work from spell menu. filtered_action() catches spells that GS determines you cannot use. Code function filtered_action(spell,action)
if spell.english=="Barfira" then dosomething() end
end
[+]
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-07-06 21:01:16
Any chance someone could tell me what the ID is for Geo-Haste? ;x
Bismarck.Dunigs
Server: Bismarck
Game: FFXI
Posts: 83
By Bismarck.Dunigs 2016-07-06 21:11:13
I'm assuming 580. Not something I've looked into and too lazy to change to my GEO to confirm, but there's a handful of dupes for things like Haste/Regen/Refresh etc where I'm assuming the later one corresponds to its GEO equivalent.
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-07-06 21:36:41
Would you happen to have Mighty Guard as well? ;x
Bismarck.Dunigs
Server: Bismarck
Game: FFXI
Posts: 83
By Bismarck.Dunigs 2016-07-06 21:43:48
604. \Windower4\res\buffs.lua for future reference incase you want to poke around for other things.
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-07-07 03:37:38
Much appreciated.
Fenrir.Reoko
Server: Fenrir
Game: FFXI
Posts: 6
By Fenrir.Reoko 2016-07-07 22:04:30
Trying to get Falkirks Beast lua to work for a week now, ironing out problems. I am curious though, after using //gs showswaps, I noticed there was no midcast in the showswap text in game (referencing using Ready) . I dont know if its supposed to be like that, or perhaps I messed something up. Any assistance would be welcomed.
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-07-07 23:27:42
Most people handle JA/WS gear in precast. Some might even handle it in both precast and midcast, but it would still only show up in showswaps during precast. Check to see if the gear you expect is being equipped at that point.
[+]
Fenrir.Reoko
Server: Fenrir
Game: FFXI
Posts: 6
By Fenrir.Reoko 2016-07-08 01:21:35
Well that's the thing, I was expecting to see Aymur, Charmers merlin, and my TP axe (kumbhakarna), to all be seen during the sequence. If you clicked the broken link from original post, it seems that TP axe isnt getting equipped.
Just looking for someone to explain this addon a bit for me. It looks like it is an alternative to Spellcast.
Is it going to be replacing Spellcast? In which ways is it better or worse. I don't know any programming but I've slowly learned more and more about spellcast and the 'language' used in gearswap is confusing to me.
It says it uses packets so it potentially could be more detectable? but does that also eliminate any lag that spellcast may encounter?
I plan on redoing my PUP xml to include pet casting sets thanks to the new addon petschool. I'm just not sure if it's worth it to just wait until gearswap gets more popular or to go ahead and do it in spellcast.
If anyone could give me more info I'd greatly appreciate it.
|
|